www.pyramid.tech
FX4
FX4 Programmer Manual
Chinyorwa ID: 2711715845
Shanduro: v3
FX4 Chirongwa
Chinyorwa ID: 2711715845
FX4 - FX4 Programmer Manual
Gwaro ID: 2711650310
Munyori | Matthew Nichols |
Muridzi | Project Lead |
Chinangwa | Tsanangura mazano ehurongwa anodiwa kushandisa API uye kuwedzera chigadzirwa kuburikidza nekunze kwekushandisa. |
Scope | FX4 ine chekuita nemapurogiramu epfungwa. |
Vateereri Vanotarisirwa | Vagadziri veSoftware vanofarira kushandisa chigadzirwa. |
Process | https://pyramidtc.atlassian.net/wiki/pages/createpage.action? spaceKey=PQ&title=Standard%20Manual%20Creation%20Process |
Kudzidzisa | HAZVIGONEKE |
Version Control
Version | Tsanangudzo | Saved by | Saved on | Status |
v3 | Akawedzera nyore pamusoroview nezvimwe examples. | Matthew Nichols | Kurume 6, 2025 10:29 PM | AKABVUMA |
v2 | Yakawedzera digital IO interfaces uye mareferensi kumashure kuIGX. | Matthew Nichols | Chivabvu 3, 2024 7:39 PM | AKABVUMA |
v1 | Kuburitswa kwekutanga, basa richiri kuenderera mberi. | Matthew Nichols | Kukadzi 21, 2024 11:25 PM | AKABVUMA |
Document Control Kwete Reviewed
Gwaro razvino v.1
Kwete reviewvakapihwa.
1.1 Masiginecha
kune yazvino gwaro vhezheni
Chishanu, Kurume 7, 2025, 10:33 PM UTC
Matthew Nichols akasaina; zvinoreva: Review
References
Gwaro | Gwaro ID | Munyori | Version |
IGX - Programmer Manual | 2439249921 | Matthew Nichols | 1 |
FX4 Kuronga Kupfuuraview
Iyo FX4 processor inomhanya pane nharaunda inonzi IGX, iyo yakavakirwa paQNX yakakwirira-yakavimbika realtime yekushandisa system kubva kuBlackBerry (QNX Website¹). IGX inopa inoshanduka uye yakazara application programming interface (API) yevashandisi vanoda kunyora yavo yega komputa software.
Iyo IGX nharaunda inogovaniswa kune zvimwe zvigadzirwa zvePiramidhi, zvichibvumira zvigadziriso zvesoftware kuti chimwe chigadzirwa chiendeswe kune vamwe nyore.
Vagadziri vezvirongwa vanogona kutarisa kune yakazara zvinyorwa zveIGX zviripo paPiramidhi websaiti pa: IGX | Yemazuva ano Modular Control System Framework ye Web-enabled Applications²
Ichi chikamu chinopa sumo yekuyedza mbiri dzeAPI nzira: HTTP uchishandisa JSON fomati uye EPICS. Kuti zvive nyore, Python (Python Website³) inoshandiswa se example host mutauro wekombuta, inosvikika uye iri nyore kushandisa kune vasiri nyanzvi mapurogiramu.
3.1 Kushandisa Python uye HTTP
Sezvo example, fungidzira kuti unoda kuverenga huwandu hweakayerwa mafungu nePython. Unoda iyo URL kune iyo chaiyo IO. Iye FX4 web GUI inopa nzira iri nyore yekuwana izvi: ingobaya-kurudyi mumunda uye sarudza 'Copy HTTP URL' kukopa tambo kune clipboard.
Iye zvino unogona kushandisa Python kuyedza kubatana kune mushandisi software kuburikidza neHTTP neJSON. Ungangoda kuunza zvikumbiro uye json maraibhurari kuti ubate zvikumbiro zveHTTP uye data parsing.
1 Nyore Python HTTP Example
3.2 Kushandisa EPICS
Maitiro ekubatanidza iyo FX4 kuburikidza neEPICS (Experimental Physics uye Industrial Control System) yakafanana. EPICS seti yezvishandiso zvesoftware uye mashandisirwo anoshandiswa kugadzira nekushandisa akagoverwa ekudzora masisitimu, anoshandiswa zvakanyanya muzvivakwa zvesainzi.
- Tora iyo EPICS maitiro akasiyana (PV) zita reinodiwa IO.
- Ngenisa raibhurari yeEPICS uye uverenge kukosha.
2 Tora EPICS PV Zita
3 Nyore Python EPICS Example
Pamusoro pezvo, Piramidhi yakagadzira chishandiso (EPICS Batanidza⁴) iyo inokutendera kuti utarise EPICS maitiro akasiyana-siyana munguva chaiyo. Ichi chishandiso chinobatsira kusimbisa kana zita reEPICS PV rakarurama uye FX4 iri kushandira PV nemazvo panetiweki yako.
4 PTC EPICS Batanidza
Purogiramu inonzi FX4 Programming
Mazano uye nzira dzinotsanangurwa mubhuku rino dzinovaka pamusoro pemafungiro akaiswa muIGX - Programmer Manual. Ndokumbira utarise gwaro iro kuti uwane tsananguro uye exampmashoma ekuti zvakakosha sei IGX hurongwa uye mainterface anoshanda. Iri bhuku rinongovhara mudziyo-chaiwo IO uye mashandiro ayo akasiyana neFX4.
4.1 Analog Input IO
Iyi IO ine chekuita nekugadzirisa uye kuunganidza data pane analog yazvino mapimendi eFX4. Iwo mayunitsi ezvekupinza chiteshi akavakirwa pamushandisi anogadziriswa marongero anonzi "Sample Units”, sarudzo dzinoshanda dzinosanganisira pA, nA, uA, mA, uye A.
Yese 4 chiteshi inoshandisa yakafanana interface IO uye inodzorwa yakazvimirira. Tsiva channel_x nechannel_1 , channel_2 , channel_3 , kana channel_4 zvichiteerana.
IO Path | Tsanangudzo |
/fx4/adc/channel_x | VERENGA NUMBER Muyero wazvino uno. |
/fx4/adc/channel_x/scalar | NUMBER Rakareruka unitless scalar yakashandiswa kuchiteshi, 1 nekusingaperi. |
/fx4/adc/channel_x/zero_offset | NUMBER Yazvino inogadziriswa munA yechiteshi. |
Iyo inotevera IO haisi nzira yakazvimirira uye inoshandiswa kune ese machani panguva imwe chete.
IO Path | Tsanangudzo |
/fx4/channel_sum | VERENGA NUMBER Huwandu hwemachanera ekuisa izvozvi. |
/fx4/adc_unit | STRING Inoseta mayunitsi emushandisi aripo pachiteshi chega chega uye huwandu. Sarudzo: "pa", "na", "ua", "ma", "a" |
/fx4/range | STRING Inoseta huwandu hwazvino. Ona GUI yekuti kodhi yega yega yemhando inoenderana sei neyakakura yazvino miganho yekupinza uye BW. Sarudzo: "0", "1", "2", "3", "4", "5", "6", "7" |
/fx4/adc/sample_frequency | NUMBER Mafambiro emuHz anoti sample data ichaverengerwa kusvika. Izvi zvinotonga chiratidzo-ku-ruzha uye chiyero che data kune ese machaneli. |
/fx4/adc/conversion_frequency | NUMBER Mafambiro eHz ayo ADC inoshandura analogi kuita madijitari. Nekumisikidza, iyi ndeye 100kHz, uye iwe haungazongoda kuchinja kukosha uku. |
/fx4/adc/offset_correction | VERENGA NUMBER Hwerengedzo yezvese zvinogadziriswa chiteshi. |
4.2 Analog Output IO
Aya maIO anechekuita nekugadziriswa kwezvakajairwa-chinangwa analog zvabuda zveFX4 inowanikwa pasi peanalogi yekupinda pane yekumberi. Yese 4 chiteshi inoshandisa yakafanana interface IO uye inodzorwa yakazvimirira. Tsiva channel_x nechannel_1 , channel_2 , channel_3 , kana channel_4 zvichiteerana.
IO Path | Tsanangudzo |
/fx4/dac /channel_x | NUMBER Command voltage output. Ukoshi uhwu hunogona kunyorerwa chete kana modhi yekubuda yaiswa kune manual. |
/fx4/dac/channel_x/readback | READONLY NUMBER Measured voltage kubuda. Izvi zvinonyanya kubatsira kana uchishandisa expression yekubuda mode. |
/fx4/dac/channel_x/output_mode | STRING Inoseta maitiro ekubuda kwechiteshi. Sarudzo: "manual", "kutaura", "process_control" |
/fx4/dac/channel _ x/slew_control_enable | BOOL Inogonesa kana kudzima kumisa mwero wekuuraya. |
/fx4/dac/channel_ x/slew_rate | NUMBER Mwero wakaderera muV/s pachiteshi. |
/fx4/dac/channel_x/upper_limit | NUMBER Murairo mukuru unotenderwa voltage yechiteshi. Inoshanda kune ese mashandisirwo modes. |
/fx4/dac/channel _ x/low_limit | NUMBER Murairo wepasi unobvumidzwa voltage yechiteshi. Inoshanda kune ese mashandisirwo modes. |
/fx4/dac/channel _ x/ zvabuda _ kutaura | STRING Inoseta tambo yekutaura inoshandiswa nechaneli kana iri muchimiro chekutaura chinobuda. |
/fx4/dac/channel _ x/reset_button | BUTTON Inogadzirisa zvakare murairo voltage kuti 0. |
4.3 Digital Input uye Zvinobuda
Aya maIO anechekuita nekudzora akasiyana siyana chinangwa madhijitari ekuisa uye zvinobuda zvinowanikwa paFX4.
IO Path | Tsanangudzo |
/fx4/fr1 | VERENGA BOOL Fiber inogamuchira 1. |
/fx4/ft1 | BOOL Fiber transmitter 1. |
/fx4/fr2 | VERENGA BOOL Fiber inogamuchira 2. |
/fx4/ft2 | BOOL Fiber transmitter 2. |
/fx4/fr3 | VERENGA BOOL Fiber inogamuchira 3. |
/fx4/ft3 | BOOL Fiber transmitter 3. |
/fx4/digital_expansion/d1 | BOOL D1 bidirectional digital kuwedzera IO. |
/fx4/digital_expansion/d2 | BOOL D2 bidirectional digital kuwedzera IO. |
/fx4/digital_expansion/d3 | BOOL D3 bidirectional digital kuwedzera IO. |
/fx4/digital_expansion/d4 | BOOL D4 bidirectional digital kuwedzera IO. |
4.3.1 Digital IO Configuration
Ese madhijitari ane mwana IO yekugadzirisa maitiro avo kusanganisira inoshanda modhi inodzora mashandisiro anoita iyo dhijitari. Imwe neimwe yedhijitari ichave neyakasiyana seti yezvisarudzo zviripo. Ona iyo GUI yeruzivo rwekuti ndedzipi sarudzo dziripo kune izvo IO.
Mwana IO Path | Tsanangudzo |
…/modhi | STRING Mashandisirwo edhijitari. Sarudzo: “zvekuisa”, “zvinobuda”, “pwm”, “timer”, “encoder”, “capture”, “uart_rx”, “uart_tx”, “can_rx”, “can_tx”, “pru_input”, kana “pru_output” |
…/process_signal | STRING Zita rechiratidzo chemaitiro, kana riripo. |
…/pull_mode | STRING Dhonza kumusoro/pasi modhi yekuisa yedhijitari. Sarudzo: "kumusoro", "pasi", kana "dzima" |
4.4 Relay Control
Ese marelays anodzorwa akazvimirira uye anogovera mhando imwechete yeinterface. Tsiva relay_x nerelay_a kana relay_b zvichiteerana.
IO Path | Tsanangudzo |
/fx4/relay _ x/mvumo / mushandisi _ kuraira | BOOL Inoraira relay kuvhurika kana kuvharwa. Murairo wechokwadi unoedza kuvhara relay kana ma interlocks apihwa, uye murairo wenhema unogara uchivhura relay. |
/fx4/relay _ x/state | READONLY STRING Mamiriro azvino erelay. Yakakiiwa relay yakavhurika asi haigone kuvharwa nekuda kwekuvharika. States: "yakavhurwa", "yakavharwa", kana "yakakiyiwa" |
/fx4/relay _ x/otomatiki _ kuvhara | BOOL Kana yaiswa kuchokwadi, iyo relay inozovhara otomatiki kana ma interlock apihwa. Nhema nekusingaperi. |
/fx4/relay _ x/ kutenderera _ kuverenga | READONLY NUMBER Huwandu hwema relay cycles kubva pakupedzisira kuseta. Inobatsira pakutevera relay hupenyu hwese. |
4.5 Yakakwira Voltage Module
Ona iyo IGX - Programmer Manual yeruzivo pane iyo FX4 yakakwira voltaguye interface. Nzira yemubereki ndeye /fx4/high_votlage .
4.6 Dose Controller
Ona iyo IGX - Programmer Manual yeruzivo pane FX4 dose controller interface. Nzira yemubereki ndeye /fx4/dose_controller.
FX4 Python Examples
5.1 Data Logger uchishandisa HTTP
Ex uyuample inoratidza maitiro ekutora akati wandei ekuverenga uye nekuachengeta kune CSV file. Nekusarudza kunonoka pakati pekuverenga, unogona kuita kwenguva yakareba data kutema kunyangwe iyo FX4 sampling rate inoiswa kumusoro. Izvi zvinokutendera kuti urambe uchiunganidza uye kuchengeta zviyero kwenguva yakawedzerwa pasina kuremedza sisitimu, kuve nechokwadi chekuti data rinotorwa panguva dzakakodzera kuongororwa kwako. Iko kunonoka pakati pekuverenga kunobatsira kudzora nhanho iyo data inodhindwa, ichibvumira kuchengetedza kwakaringana uye kuderedza njodzi yekushayikwa kwedata mapoinzi uchiri kubatsirwa kubva-kumhanya-mhanya s.ampling yezviyero zvenguva chaiyo.
5.2 Nyore Python GUI
Wechipiri example inoshandisa iyo Tkinter GUI chishandiso, iyo yakavakirwa Python, kugadzira kuratidzwa kwemafungu akayerwa. Iyi interface inokutendera iwe kuti utarise kuverenga kwazvino mune mushandisi-ane hushamwari graphical fomati. Chiratidziro chinogona kugadziridzwa kuti ive yakakura zvakakwana kuverenga kubva mhiri kwekamuri, ichiita kuti ive yakanakira mamiriro ekuti chaiyo-nguva yekutarisa inodiwa munzvimbo dzakakura. Tkinter inopa nzira iri nyore yekugadzira inodyidzana, uye nekuisanganisa neFX4, unogona kukurumidza kuvaka chiratidziro chinotaridzika cheyero yakayerwa iyo inogona kugadzirwa kuti ikwane zvaunoda chaizvo.
5.3 Nyore WebSockets Example
Ex uyuample anoratidza WebSockets interface, inova nzira inosarudzika yekuverenga data kubva kuFX4 kana yakakura bandwidth inodiwa. WebZvigadziko zvinopa chaiyo-nguva, yakazara-duplex yekutaurirana chiteshi, ichibvumira kukurumidza uye kwakanyatso kufambisa data kutamiswa kana ichienzaniswa nedzimwe nzira.
The example anoverenga nhevedzano yesampzvishoma, inoshuma avhareji yenguva pa sample uye yakanyanya latency, uye inochengetedza iyo data kuCSV file kuitira kuongororwa gare gare. Iyi setup inobvumira kunyatsoita-chaiyo-nguva yekutarisa uye nyore kuchengetedza data kune post-kugadzirisa.
Iyo chaiyo yekuita iyo inogona kuwanikwa nayo WebSockets zvinoenderana nekuvimbika kweEthernet interface yako uye kukosha kwechishandiso chako. Kuti uwane mhedzisiro yakakwana, ita shuwa kuti network yako yakagadzikana uye kuti iyo FX4's data transmission inoiswa pamberi kana zvichidikanwa.
Shanduro: v3
FX4 Python Exampzvishoma: 21
Zvinyorwa / Zvishandiso
![]() |
PYRAMID FX4 Chirongwa [pdf] Bhuku reMirayiridzo FX4 Chirongwa, FX4, Chirongwa |