logo ng PYRAMIDwww.pyramid.tech
FX4
FX4 Programmer Manual
ID ng Dokumento: 2711715845
Bersyon: v3PYRAMID FX4 Programmer

FX4 Programmer

ID ng Dokumento: 2711715845
FX4 – FX4 Programmer Manual

PYRAMID FX4 Programmer - icon ID ng Dokumento: 2711650310

May-akda Matthew Nichols
May-ari Pinuno ng Proyekto
Layunin Ipaliwanag ang mga konsepto ng programming na kinakailangan upang magamit ang API at mapalawak ang produkto sa pamamagitan ng mga panlabas na application.
Saklaw Mga konsepto ng programming na nauugnay sa FX4.
Sinasadyang Madla Mga developer ng software na interesado sa paggamit ng produkto.
Proseso https://pyramidtc.atlassian.net/wiki/pages/createpage.action?
spaceKey=PQ&title=Standard%20Manual%20Creation%20Process
Pagsasanay HINDI MAAARI

Kontrol sa Bersyon

Bersyon Paglalarawan  Nai-save ni  Naka-save sa  Katayuan
v3 Nagdagdag ng simpleng overview at marami pang examples. Matthew Nichols Mar 6, 2025 10:29 PM APPROVED
v2 Nagdagdag ng mga digital na interface ng IO at mga sanggunian pabalik sa IGX. Matthew Nichols Mayo 3, 2024 7:39 PM APPROVED
v1 Paunang paglabas, ginagawa pa rin. Matthew Nichols Peb 21, 2024 11:25 PM APPROVED

PYRAMID FX4 Programmer - icon 1 Control ng Dokumento Hindi Reviewed
Kasalukuyang bersyon ng dokumento: v.1
Walang reviewitinalaga.

1.1 Mga lagda
para sa pinakabagong bersyon ng dokumento
Biyernes, Mar 7, 2025, 10:33 PM UTC
Pumirma si Matthew Nichols ; ibig sabihin: Review

Mga sanggunian

Dokumento ID ng Dokumento  May-akda  Bersyon
IGX – Manwal ng Programmer 2439249921 Matthew Nichols 1

Tapos na ang FX4 Programmingview

Ang FX4 processor ay tumatakbo sa isang kapaligiran na tinatawag na IGX, na binuo sa QNX high-reliability realtime operating system mula sa BlackBerry (QNX Website¹). Nagbibigay ang IGX ng nababaluktot at komprehensibong application programming interface (API) para sa mga user na gustong magsulat ng sarili nilang host computer software.
Ang kapaligiran ng IGX ay ibinabahagi sa iba pang mga produkto ng Pyramid, na nagpapahintulot sa mga solusyon sa software na binuo para sa isang produkto na madaling mailipat sa iba.
Maaaring sumangguni ang mga programmer sa kumpletong dokumentasyon para sa IGX na makukuha sa Pyramid website sa: IGX | Modern Modular Control System Framework para sa Web-pinagana ang mga Application²

Nagbibigay ang seksyong ito ng panimula sa pagsubok ng dalawa sa mga pamamaraan ng API: HTTP gamit ang JSON format at EPICS. Para sa pagiging simple, Python (sawa Website³) ay ginagamit bilang example host computer language, na naa-access at madaling gamitin para sa mga di-propesyonal na programmer.

3.1 Paggamit ng Python at HTTP
Bilang isang example, ipagpalagay na gusto mong basahin ang kabuuan ng mga sinusukat na alon gamit ang Python. Kailangan mo ang URL para sa partikular na IO. Ang FX4 web Nagbibigay ang GUI ng madaling paraan upang mahanap ito: i-right click lang sa field at piliin ang 'Kopyahin ang HTTP URL' para kopyahin ang string sa clipboard.

PYRAMID FX4 Programmer - Paggamit ng Python at HTTP

Ngayon ay maaari mong gamitin ang Python upang subukan ang pagkakakonekta sa software ng user sa pamamagitan ng HTTP at JSON. Maaaring kailanganin mong i-import ang mga kahilingan at json library upang mahawakan ang mga kahilingan sa HTTP at pag-parse ng data.

PYRAMID FX4 Programmer - Mga kahilingan sa HTTP at pag-parse ng data1 Simpleng Python HTTP Halample

3.2 Paggamit ng EPICS
Ang proseso para sa pagkonekta sa FX4 sa pamamagitan ng EPICS (Experimental Physics at Industrial Control System) ay magkatulad. Ang EPICS ay isang hanay ng mga software tool at application na ginagamit upang bumuo at magpatupad ng mga distributed control system, na malawakang ginagamit sa mga pasilidad na pang-agham.

  1. https://blackberry.qnx.com/en
  2. https://pyramid.tech/products/igx
  3. https://www.python.org/
  1. Kunin ang EPICS process variable (PV) na pangalan para sa gustong IO.
  2. I-import ang EPICS library at basahin ang halaga.

PYRAMID FX4 Programmer - variable ng proseso ng EPICS2 Kumuha ng EPICS PV NamePYRAMID FX4 Programmer - Simple Python EPICS Halample3 Simple Python EPICS Halample

Bilang karagdagan, ang Pyramid ay lumikha ng isang utility (EPICS Connect⁴) na nagbibigay-daan sa iyong subaybayan ang mga variable ng proseso ng EPICS sa real-time. Nakakatulong ang tool na ito upang kumpirmahin kung tama ang pangalan ng EPICS PV at inihahatid ng FX4 ang PV nang tama sa iyong network.

PYRAMID FX4 Programmer - EPICS Connect4 PTC EPICS Connect

FX4 Programming API

Ang mga konsepto at pamamaraan na inilarawan sa manwal na ito ay batay sa mga konseptong itinatag sa IGX – Programmer Manual. Pakitingnan ang dokumentong iyon para sa paliwanag at halamples ng kung paano gumagana ang pangunahing IGX programming at mga interface. Saklaw lang ng manual na ito ang IO na partikular sa device at functionality na natatangi sa FX4.

4.1 Analog Input IO
Ang mga IO na ito ay nauugnay sa pag-configure at pagkolekta ng data sa mga analog na kasalukuyang input ng FX4. Ang mga unit ng mga input ng channel ay batay sa setting na na-configure ng user na tinatawag na “Sample Units", ang mga wastong opsyon ay kinabibilangan ng pA, nA, uA, mA, at A.
Ang lahat ng 4 na channel ay gumagamit ng parehong interface IO at independiyenteng kinokontrol. Palitan ang channel_x ng channel_1 , channel_2 , channel_3 , o channel_4 ayon sa pagkakabanggit.

IO Path Paglalarawan
/fx4/adc/channel_x READONLY NUMBER Sinukat ang kasalukuyang input.
/fx4/adc/channel_x/scalar NUMBER Simpleng unitless scalar na inilapat sa channel, 1 bilang default.
/fx4/adc/channel_x/zero_offset NUMBER Kasalukuyang offset sa nA para sa channel.

Ang mga sumusunod na IO ay hindi independiyenteng channel at inilalapat sa lahat ng mga channel nang sabay-sabay.

IO Path  Paglalarawan
/fx4/channel_sum READONLY NUMBER Kabuuan ng kasalukuyang mga input channel.
/fx4/adc_unit Itinakda ng STRING ang kasalukuyang mga unit ng user para sa bawat channel at kabuuan.
Mga Pagpipilian: “pa”, “na”, “ua”, “ma”, “a”
/fx4/range Itinakda ng STRING ang kasalukuyang saklaw ng input. Tingnan ang GUI para sa kung paano tumutugma ang bawat code ng hanay sa maximum na kasalukuyang mga limitasyon ng input at BW.
Mga Pagpipilian: “0”, “1”, “2”, “3”, “4”, “5”, “6”, “7”
/fx4/adc/sample_frequency NUMBER Ang dalas sa Hz na sampang data ay ia-average sa. Kinokontrol nito ang signal-to-noise at data rate para sa lahat ng channel.
/fx4/adc/conversion_frequency NUMBER Ang dalas sa Hz kung saan ang ADC ay magko-convert ng analog sa mga digital na halaga sa. Bilang default, ito ay 100kHz, at bihira mo lang kailangang baguhin ang halagang ito.
/fx4/adc/offset_correction READONLY NUMBER Kabuuan ng lahat ng kasalukuyang offset ng channel.

4.2 Analog Output IO
Ang mga IO na ito ay nauugnay sa pagsasaayos ng mga pangkalahatang layunin na analog output ng FX4 na matatagpuan sa ilalim ng mga analog input sa front panel. Ang lahat ng 4 na channel ay gumagamit ng parehong interface IO at independiyenteng kinokontrol. Palitan ang channel_x ng channel_1 , channel_2 , channel_3 , o channel_4 ayon sa pagkakabanggit.

IO Path  Paglalarawan
/fx4/dac /channel_x NUMBER Command voltage output. Ang halagang ito ay maaari lamang isulat kapag ang output mode ay nakatakda sa manual.
/fx4/dac/channel_x/readback READONLY NUMBER Sinukat voltage output.
Ito ay pinaka-kapaki-pakinabang kapag gumagamit ng expression output mode.
/fx4/dac/channel_x/output_mode Itinakda ng STRING ang output mode para sa channel.
Mga Pagpipilian: “manual”, “expression”, “process_control”
/fx4/dac/channel _ x/slew_control_enable BOOL Pinapagana o hindi pinapagana ang paglilimita sa slew rate.
/fx4/dac/channel_ x/slew_rate NUMBER Slew rate sa V/s para sa channel.
/fx4/dac/channel_x/upper_limit NUMBER Ang maximum na pinapayagang command voltage para sa channel. Nalalapat sa lahat ng mga mode ng operasyon.
/fx4/dac/channel _ x/lower_limit NUMBER Ang minimum na pinapayagang command voltage para sa channel. Nalalapat sa lahat ng mga mode ng operasyon.
/fx4/dac/channel _ x/ output _ expression STRING Itinatakda ang expression string na ginagamit ng channel kapag ito ay nasa expression output mode.
/fx4/dac/channel _ x/reset_button BUTTON Nire-reset ang command voltage hanggang 0.

4.3 Digital Input at Output
Ang mga IO na ito ay nauugnay sa pagkontrol sa iba't ibang pangkalahatang layunin na digital input at output na makikita sa FX4.

IO Path  Paglalarawan
/fx4/fr1 READONLY BOOL Fiber receiver 1.
/fx4/ft1 BOOL Fiber transmitter 1.
/fx4/fr2 READONLY BOOL Fiber receiver 2.
/fx4/ft2 BOOL Fiber transmitter 2.
/fx4/fr3 READONLY BOOL Fiber receiver 3.
/fx4/ft3 BOOL Fiber transmitter 3.
/fx4/digital_expansion/d1 BOOL D1 bidirectional digital expansion IO.
/fx4/digital_expansion/d2 BOOL D2 bidirectional digital expansion IO.
/fx4/digital_expansion/d3 BOOL D3 bidirectional digital expansion IO.
/fx4/digital_expansion/d4 BOOL D4 bidirectional digital expansion IO.

4.3.1 Digital IO Configuration
Ang lahat ng digital ay may child IO para sa pag-configure ng kanilang gawi kasama ang operating mode na kumokontrol kung paano gagana ang digital na iyon. Ang bawat digital ay magkakaroon ng iba't ibang hanay ng mga available na opsyon. Tingnan ang GUI para sa mga detalye sa kung anong mga opsyon ang available para sa kung anong IO.

Bata IO Landas Paglalarawan
…/mode STRING Operation mode para sa digital.
Mga Opsyon: “input”, “output”, “pwm”, “timer”, “encoder”, “capture”, “uart_rx”, “uart_tx”, “can_rx”, “can_tx”, “pru_input”, o “pru_output”
…/process_signal STRING Ang pangalan ng signal ng control ng proseso, kung mayroon man.
…/pull_mode STRING Pull up/down mode para sa digital input.
Mga Pagpipilian: "pataas", "pababa", o "huwag paganahin"

4.4 Kontrol ng Relay
Ang parehong mga relay ay independiyenteng kinokontrol at nagbabahagi ng parehong uri ng interface. Palitan ang relay_x ng relay_a o relay_b ayon sa pagkakabanggit.

IO Path  Paglalarawan
/fx4/relay _ x/permit / user _ command BOOL Nag-uutos sa relay na bukas o sarado. Ang isang tunay na utos ay susubukan na isara ang relay kung ang mga interlock ay ipinagkaloob, at ang maling utos ay palaging magbubukas ng relay.
/fx4/relay _ x/estado READONLY STRING Ang kasalukuyang estado ng relay.
Ang mga naka-lock na relay ay bukas ngunit hindi maaaring isara dahil sa isang interlock.
Estado: “binuksan”, “sarado”, o “naka-lock”
/fx4/relay _ x/awtomatikong _ malapit BOOL Kapag nakatakda sa true, awtomatikong magsasara ang relay kapag naibigay ang mga interlock. Mali bilang default.
/fx4/relay _ x/ cycle _ count READONLY NUMBER Ang bilang ng mga relay cycle mula noong huling pag-reset. Kapaki-pakinabang para sa pagsubaybay sa buhay ng relay.

4.5 Mataas na Voltage Modyul
Tingnan ang IGX – Programmer Manual para sa mga detalye sa FX4 high voltage interface. Ang component parent path ay /fx4/high_votlage .

4.6 Dose Controller
Tingnan ang IGX – Programmer Manual para sa mga detalye sa FX4 dose controller interface. Ang path ng magulang ng bahagi ay /fx4/dose_controller .

FX4 Python Halamples

5.1 Data Logger gamit ang HTTP
Itong example ay nagpapakita kung paano kumuha ng isang bilang ng mga pagbabasa at i-save ang mga ito sa isang CSV file. Sa pamamagitan ng pagpili ng mahabang pagkaantala sa pagitan ng mga pagbabasa, maaari kang magsagawa ng pangmatagalang pag-log ng data kahit na ang FX4 sampling rate ay nakatakdang mas mataas. Nagbibigay-daan ito sa iyo na patuloy na mangolekta at mag-imbak ng mga sukat sa mga pinalawig na panahon nang hindi nababalot ang system, na tinitiyak na ang data ay nakukuha sa mga pagitan na angkop para sa iyong pagsusuri. Ang pagkaantala sa pagitan ng mga pagbabasa ay nakakatulong na ayusin ang bilis ng pag-log ng data, na nagbibigay-daan para sa mahusay na pag-iimbak at pagbabawas ng panganib ng mga nawawalang mga punto ng data habang nakikinabang pa rin mula sa mga high-speed na s.ampling para sa real-time na mga sukat.

PYRAMID FX4 Programmer - Data Logger gamit ang HTTPPYRAMID FX4 Programmer - Data Logger gamit ang HTTP 2PYRAMID FX4 Programmer - Data Logger gamit ang HTTP 3PYRAMID FX4 Programmer - Data Logger gamit ang HTTP 4

5.2 Simpleng Python GUI
Ang pangalawang exampGinagamit ni le ang tool na Tkinter GUI, na binuo para sa Python, upang lumikha ng isang pagpapakita ng mga sinusukat na alon. Binibigyang-daan ka ng interface na ito na mailarawan ang kasalukuyang mga pagbabasa sa isang madaling gamitin na graphical na format. Maaaring i-resize ang display upang gawin itong sapat na malaki upang mabasa mula sa kabuuan ng isang silid, na ginagawa itong perpekto para sa mga sitwasyon kung saan kailangan ang real-time na pagsubaybay sa mas malalaking espasyo. Nagbibigay ang Tkinter ng madaling paraan upang lumikha ng mga interactive na interface, at sa pamamagitan ng pagsasama nito sa FX4, mabilis kang makakagawa ng visual na display ng mga sinusukat na alon na maaaring i-customize upang umangkop sa iyong mga partikular na pangangailangan.

PYRAMID FX4 Programmer - Simple Python GUIPYRAMID FX4 Programmer - Simple Python GUI 2PYRAMID FX4 Programmer - Simple Python GUI 3PYRAMID FX4 Programmer - Simple Python GUI 4PYRAMID FX4 Programmer - Simple Python GUI 5PYRAMID FX4 Programmer - Simple Python GUI 6PYRAMID FX4 Programmer - Simple Python GUI 7

5.3 Simple WebSocket Halample
Itong example ay nagpapakita ng WebSockets interface, na siyang gustong paraan para sa pagbabasa ng data mula sa FX4 kapag kinakailangan ang maximum bandwidth. WebNagbibigay ang mga socket ng real-time, full-duplex na channel ng komunikasyon, na nagbibigay-daan para sa mas mabilis at mas mahusay na paglipat ng data kumpara sa iba pang mga pamamaraan.
Ang example reads a series of samples, nag-uulat ng average na oras bawat sample at maximum latency, at sine-save ang data sa isang CSV file para sa pagsusuri sa ibang pagkakataon. Nagbibigay-daan ang setup na ito para sa mahusay na real-time na pagsubaybay at madaling pag-imbak ng data para sa post-processing.
Ang partikular na pagganap na maaaring makamit sa WebAng mga socket ay nakasalalay sa pagiging maaasahan ng iyong Ethernet interface at ang relatibong priyoridad ng iyong aplikasyon. Para sa pinakamainam na resulta, tiyaking matatag ang iyong network at ang pagpapadala ng data ng FX4 ay priyoridad kung kinakailangan.

PYRAMID FX4 Programmer - Simple WebSocket HalamplePYRAMID FX4 Programmer - Simple WebSocket Halample 2PYRAMID FX4 Programmer - Simple WebSocket Halample 3

Bersyon: v3
FX4 Python Halamples: 21

Mga Dokumento / Mga Mapagkukunan

PYRAMID FX4 Programmer [pdf] Manwal ng Pagtuturo
FX4 Programmer, FX4, Programmer

Mga sanggunian

Mag-iwan ng komento

Ang iyong email address ay hindi maipa-publish. Ang mga kinakailangang field ay minarkahan *