www.pyramid.tech
FX4
FX4 programmeerija käsiraamat
Dokumendi ID: 2711715845
Versioon: v3
FX4 programmeerija
Dokumendi ID: 2711715845
FX4 – FX4 programmeerija käsiraamat
Dokumendi ID: 2711650310
Autor | Matthew Nichols |
Omanik | Projekti juht |
Eesmärk | Selgitage API kasutamiseks vajalikke programmeerimiskontseptsioone ja laiendage toodet väliste rakenduste kaudu. |
Ulatus | FX4-ga seotud programmeerimiskontseptsioonid. |
Mõeldud publik | Toote kasutamisest huvitatud tarkvaraarendajad. |
Protsess | https://pyramidtc.atlassian.net/wiki/pages/createpage.action? spaceKey=PQ&title=Standardne%20Manual%20Creation%20Process |
Koolitus | EI KOHALDATA |
Versioonikontroll
Versioon | Kirjeldus | Salvestanud | Salvestatud | Olek |
v3 | Lisatud lihtne üleview ja veel eksampvähem. | Matthew Nichols | 6. märts 2025 10:29 | KINNITUD |
v2 | Lisatud digitaalsed IO liidesed ja viited tagasi IGX-ile. | Matthew Nichols | 3. mai 2024 kell 7:39 | KINNITUD |
v1 | Esialgne väljalase, veel pooleli. | Matthew Nichols | 21. veebruar 2024 kell 11:25 | KINNITUD |
Dokumendi kontroll Mitte Reviewed
Dokumendi praegune versioon: v.1
Ei mingit reviewmääratud.
1.1 Allkirjad
dokumendi uusima versiooni jaoks
Reede, 7. märts 2025, 10:33 UTC
Matthew Nichols allkirjastas ; tähendus: Review
Viited
Dokument | Dokumendi ID | Autor | Versioon |
IGX – programmeerija käsiraamat | 2439249921 | Matthew Nichols | 1 |
FX4 programmeerimine läbiview
FX4 protsessor töötab keskkonnas nimega IGX, mis on üles ehitatud BlackBerry kõrge töökindlusega reaalajas operatsioonisüsteemile QNX (QNX Websaidile¹). IGX pakub paindlikku ja kõikehõlmavat rakenduste programmeerimisliidest (API) kasutajatele, kes soovivad kirjutada oma hostarvutitarkvara.
IGX keskkond on jagatud teiste Pyramid toodete vahel, võimaldades ühe toote jaoks välja töötatud tarkvaralahendusi hõlpsasti teistele üle kanda.
Programmeerijad saavad vaadata püramiidis saadaolevat IGX-i täielikku dokumentatsiooni websait aadressil: IGX | Kaasaegne mooduljuhtimissüsteemi raamistik Web-lubatud rakendused²
See jaotis tutvustab kahe API-meetodi testimist: HTTP JSON-vormingus ja EPICS. Lihtsuse huvides on Python (Python Websaidile³) kasutatakse eksample hosti arvutikeel, mis on juurdepääsetav ja hõlpsasti kasutatav mitteprofessionaalsetele programmeerijatele.
3.1 Pythoni ja HTTP kasutamine
Nagu endineampoletame, et soovite Pythoni abil lugeda mõõdetud voolude summat. Teil on vaja URL selle konkreetse IO jaoks. FX4 web GUI pakub selle leidmiseks lihtsat viisi: lihtsalt paremklõpsake väljal ja valige „Kopeeri HTTP URLstringi lõikepuhvrisse kopeerimiseks.
Nüüd saate Pythoni abil testida ühenduvust kasutajatarkvaraga HTTP ja JSONi kaudu. HTTP-päringute käsitlemiseks ja andmete sõelumiseks peate võib-olla importima päringud ja jsoni teegid.
1 Lihtne Python HTTP Example
3.2 EPICSi kasutamine
FX4 ühendamise protsess EPICS-i (Experimental Physics and Industrial Control System) kaudu on sarnane. EPICS on tarkvaratööriistade ja rakenduste komplekt, mida kasutatakse hajutatud juhtimissüsteemide arendamiseks ja juurutamiseks ning mida kasutatakse laialdaselt teadusasutustes.
- Hankige soovitud IO jaoks EPICS-i protsessimuutuja (PV) nimi.
- Importige EPICS-i teek ja lugege väärtust.
2 Hankige EPICS PV nimi
3 Lihtne Python EPICS Example
Lisaks lõi Pyramid utiliidi (EPICS Connect⁴), mis võimaldab teil jälgida EPICS-i protsessimuutujaid reaalajas. See tööriist aitab kontrollida, kas EPICS PV nimi on õige ja FX4 teenindab PV-d teie võrgus õigesti.
4 PTC EPICS Connect
FX4 programmeerimise API
Selles juhendis kirjeldatud kontseptsioonid ja meetodid põhinevad IGX – programmeerija käsiraamatus kehtestatud kontseptsioonidel. Palun vaadake seda dokumenti selgituste saamiseks ja ntampIGX-i põhiprogrammeerimise ja liideste toimimise kohta. See juhend hõlmab ainult FX4 jaoks ainulaadset seadmepõhist IO-d ja funktsioone.
4.1 Analoogsisend IO
Need IO on seotud FX4 analoogvoolusisendite konfigureerimise ja andmete kogumisega. Kanalisisendite ühikud põhinevad kasutaja konfigureeritaval seadistusel nimega "Sample Units”, kehtivad valikud hõlmavad pA, nA, uA, mA ja A.
Kõik 4 kanalit kasutavad sama liidese IO-d ja on sõltumatult juhitavad. Asenda kanal_x vastavalt kanaliga_1 , kanal_2 , kanal_3 või kanal_4.
IO tee | Kirjeldus |
/fx4/adc/channel_x | READONLY NUMBER Mõõdetud voolu sisend. |
/fx4/adc/channel_x/scalar | NUMBER Kanalile rakendatud lihtne ühikuta skalaar, vaikimisi 1. |
/fx4/adc/channel_x/zero_offset | NUMBER Kanali voolunihe ühikutes nA. |
Järgmised IO ei ole kanalist sõltumatud ja neid rakendatakse kõikidele kanalitele samaaegselt.
IO tee | Kirjeldus |
/fx4/kanali_summa | READONLY NUMBER Praeguste sisendkanalite summa. |
/fx4/adc_unit | STRING Määrab iga kanali praegused kasutajaühikud ja summa. Valikud: "pa", "na", "ua", "ma", "a" |
/fx4/vahemik | STRING Määrab praeguse sisendvahemiku. Vaadake GUI-st, kuidas iga vahemiku kood vastab maksimaalsetele voolu sisendpiirangutele ja BW-le. Valikud: "0", "1", "2", "3", "4", "5", "6", "7" |
/fx4/adc/sample_sagedus | NUMBER Sagedus hertsides, mis sample andmed keskmistatakse. See juhib kõigi kanalite signaali-müra ja andmeedastuskiirust. |
/fx4/adc/conversion_frequency | NUMBER Sagedus hertsides, mille juures ADC teisendab analoogväärtused digitaalseks. Vaikimisi on see 100 kHz ja seda väärtust tuleb muuta vaid harva. |
/fx4/adc/offset_correction | READONLY NUMBER Kanali kõigi hetkenihete summa. |
4.2 Analoogväljund IO
Need IO on seotud FX4 üldotstarbeliste analoogväljundite konfiguratsiooniga, mis asuvad esipaneeli analoogsisendite all. Kõik 4 kanalit kasutavad sama liidese IO-d ja on sõltumatult juhitavad. Asenda kanal_x vastavalt kanaliga_1 , kanal_2 , kanal_3 või kanal_4.
IO tee | Kirjeldus |
/fx4/dac /kanal_x | NUMBER Käsk voltage väljund. Sellele väärtusele saab kirjutada ainult siis, kui väljundrežiim on seatud käsitsi. |
/fx4/dac/channel_x/readback | LUGEMISE ARV Mõõdetud voltage väljund. See on kõige kasulikum avaldise väljundrežiimi kasutamisel. |
/fx4/dac/channel_x/output_mode | STRING Määrab kanali väljundrežiimi. Valikud: "käsitsi", "avaldis", "protsessi juhtimine" |
/fx4/dac/channel _ x/slew_control_enable | BOOL Lubab või keelab pöördekiiruse piiramise. |
/fx4/dac/channel_ x/slew_rate | NUMBER Kanali pöördekiirus V/s. |
/fx4/dac/channel_x/upper_limit | NUMBER Maksimaalne lubatud käsu voltage kanali jaoks. Kehtib kõikidele töörežiimidele. |
/fx4/dac/channel _ x/lower_limit | NUMBER Minimaalne lubatud käsk voltage kanali jaoks. Kehtib kõikidele töörežiimidele. |
/fx4/dac/channel _ x/ väljund _ avaldis | STRING Määrab avaldise stringi, mida kanal kasutab avaldise väljundrežiimis. |
/fx4/dac/channel _ x/reset_button | BUTTON Lähtestab käsu voltage kuni 0. |
4.3 Digitaalne sisend ja väljundid
Need IO on seotud FX4 erinevate üldotstarbeliste digitaalsete sisendite ja väljundite juhtimisega.
IO tee | Kirjeldus |
/fx4/fr1 | READONLY BOOL Fiber vastuvõtja 1. |
/fx4/ft1 | BOOL Fiber saatja 1. |
/fx4/fr2 | READONLY BOOL Fiber vastuvõtja 2. |
/fx4/ft2 | BOOL Fiber saatja 2. |
/fx4/fr3 | READONLY BOOL Fiber vastuvõtja 3. |
/fx4/ft3 | BOOL Fiber saatja 3. |
/fx4/digital_expansion/d1 | BOOL D1 kahesuunaline digitaalne laiendus IO. |
/fx4/digital_expansion/d2 | BOOL D2 kahesuunaline digitaalne laiendus IO. |
/fx4/digital_expansion/d3 | BOOL D3 kahesuunaline digitaalne laiendus IO. |
/fx4/digital_expansion/d4 | BOOL D4 kahesuunaline digitaalne laiendus IO. |
4.3.1 Digitaalse IO konfiguratsioon
Kõigil digiseadmetel on alam-IO nende käitumise konfigureerimiseks, sealhulgas töörežiim, mis juhib selle digitaalse toimimist. Igal digitaalsel kujul on saadaval erinevad valikud. Vaadake GUI-st üksikasjalikku teavet selle kohta, millised valikud on konkreetse IO jaoks saadaval.
Lapse IO tee | Kirjeldus |
…/režiim | STRING Töörežiim digitaalse jaoks. Valikud: "input", "output", "pwm", "taimer", "encoder", "capture", "uart_rx", "uart_tx", "can_rx", "can_tx", "pru_input" või "pru_output" |
…/process_signal | STRING Protsessi juhtimissignaali nimi, kui see on olemas. |
…/pull_mode | STRING Digitaalse sisendi jaoks üles/alla tõmbamise režiim. Valikud: "üles", "alla" või "keela" |
4.4 Relee juhtimine
Mõlemad releed on sõltumatult juhitavad ja jagavad sama tüüpi liidest. Asendage relee_x vastavalt relee_a või relee_b-ga.
IO tee | Kirjeldus |
/fx4/relay _ x/permit / user _ käsk | BOOL Käsutab relee avamist või sulgemist. Tõeline käsk püüab relee sulgeda, kui blokeeringud on lubatud, ja vale käsk avab alati relee. |
/fx4/relee _ x/olek | READONLY STRING Relee praegune olek. Lukustatud releed on avatud, kuid ei saa blokeeringu tõttu sulgeda. Olekud: "avatud", "suletud" või "lukustatud" |
/fx4/relay _ x/automaatselt _ sulgeb | BOOL Kui see on seatud tõeseks, sulgub relee automaatselt, kui blokeeringud on lubatud. Vaikimisi vale. |
/fx4/relee _ x/ tsükli _ loendus | READONLY NUMBER Relee tsüklite arv alates viimasest lähtestamisest. Kasulik relee eluea jälgimiseks. |
4.5 Kõrge kdtage moodul
Täpsemat teavet FX4 kõrge helitugevuse kohta vaadake IGX – Programmeerija käsiraamatusttage liides. Komponendi vanemtee on /fx4/high_votlage.
4.6 Annusekontroller
FX4 annusekontrolleri liidese üksikasju leiate IGX – Programmeerija käsiraamatust. Komponendi vanemtee on /fx4/dose_controller .
FX4 Python Examples
5.1 HTTP-ga andmete logija
See eksample demonstreerib, kuidas jäädvustada hulk näitu ja salvestada need CSV-vormingusse file. Valides näitude vahel pika viivituse, saate teostada pikaajalist andmete logimist isegi siis, kui FX4 samplingumäär on seatud kõrgemaks. See võimaldab teil mõõtmisi pidevalt koguda ja salvestada pikema aja jooksul ilma süsteemi üle koormamata, tagades andmete kogumise teie analüüsi jaoks sobivate intervallidega. Näiduste vaheline viivitus aitab reguleerida andmete logimise tempot, võimaldades tõhusat salvestamist ja vähendades andmepunktide kadumise ohtu, saades samas kasu kiirest sampling reaalajas mõõtmiseks.
5.2 Lihtne Pythoni GUI
Teine eksample kasutab Pythoni jaoks loodud Tkinteri GUI tööriista, et luua mõõdetud voolude kuva. See liides võimaldab visualiseerida praeguseid näitu kasutajasõbralikus graafilises vormingus. Ekraani suurust saab muuta nii, et see oleks piisavalt suur, et lugeda kogu ruumist, mistõttu on see ideaalne stsenaariumide jaoks, kus suuremates ruumides on vaja reaalajas jälgimist. Tkinter pakub lihtsat viisi interaktiivsete liideste loomiseks ja selle FX4-ga integreerides saate kiiresti luua mõõdetud voolude visuaalse kuva, mida saab kohandada vastavalt teie konkreetsetele vajadustele.
5.3 Lihtne WebPistikupesad Example
See eksample demonstreerib WebSockets-liides, mis on eelistatud meetod FX4-st andmete lugemiseks, kui on vaja maksimaalset ribalaiust. WebPistikupesad pakuvad reaalajas täisdupleksset sidekanalit, võimaldades teiste meetoditega võrreldes kiiremat ja tõhusamat andmeedastust.
Endineample loeb rida samples, teatab keskmise aja sekundisample ja maksimaalne latentsusaeg ning salvestab andmed CSV-sse file hilisemaks analüüsiks. See seadistus võimaldab tõhusat reaalajas jälgimist ja hõlpsat andmete salvestamist järeltöötluseks.
Konkreetne jõudlus, mille abil on võimalik saavutada WebPistikupesad sõltuvad teie Etherneti liidese töökindlusest ja teie rakenduse suhtelisest prioriteedist. Optimaalsete tulemuste saavutamiseks veenduge, et teie võrk on stabiilne ja et FX4 andmeedastus oleks vajadusel prioriteediks.
Versioon: v3
FX4 Python Examphind: 21
Dokumendid / Ressursid
![]() |
PYRAMID FX4 programmeerija [pdfKasutusjuhend FX4 programmeerija, FX4, programmeerija |