www.pyramid.tech
FX4
FX4 programuotojo vadovas
Dokumento ID: 2711715845
Versija: v3
FX4 programuotojas
Dokumento ID: 2711715845
FX4 – FX4 programuotojo vadovas
Dokumento ID: 2711650310
Autorius | Matthew Nichols |
Savininkas | Projekto vadovas |
Tikslas | Paaiškinkite programavimo koncepcijas, būtinas norint naudoti API ir išplėsti produktą per išorines programas. |
Taikymo sritis | Su FX4 susijusios programavimo koncepcijos. |
Numatyta auditorija | Programinės įrangos kūrėjai, norintys naudoti produktą. |
Procesas | https://pyramidtc.atlassian.net/wiki/pages/createpage.action? spaceKey=PQ&title=Standartinis%20Rankinis%20Kūrimo%20Procesas |
Treniruotės | NETAIKOMA |
Versijos valdymas
Versija | Aprašymas | Išsaugota | Išsaugota | Būsena |
v3 | Pridėtas paprastas viršelisview ir daugiau examples. | Matthew Nichols | 6 m. kovo 2025 d. 10:29 | PATVIRTINTA |
v2 | Pridėtos skaitmeninės IO sąsajos ir nuorodos atgal į IGX. | Matthew Nichols | 3 m. gegužės 2024 d. 7 val | PATVIRTINTA |
v1 | Pradinis leidimas, vis dar vyksta darbas. | Matthew Nichols | 21 m. vasario 2024 d. 11 val | PATVIRTINTA |
Dokumentų patikrinimas Ne Reviewed
Dabartinė dokumento versija: v.1
Nėra reviewpaskirti.
1.1 Parašai
naujausiai dokumento versijai
7 m. kovo 2025 d., penktadienis, 10:33 UTC
Matthew Nichols pasirašė; reikšmė: Review
Nuorodos
dokumentas | Dokumento ID | Autorius | Versija |
IGX – programuotojo vadovas | 2439249921 | Matthew Nichols | 1 |
FX4 programavimas baigtasview
FX4 procesorius veikia aplinkoje, vadinamoje IGX, kuri sukurta naudojant „BlackBerry“ QNX didelio patikimumo realaus laiko operacinę sistemą (QNX Websvetainę¹). IGX teikia lanksčią ir išsamią taikomųjų programų programavimo sąsają (API) vartotojams, norintiems kurti savo pagrindinio kompiuterio programinę įrangą.
IGX aplinka yra bendrai naudojama kitiems Pyramid gaminiams, todėl vienam produktui sukurtus programinės įrangos sprendimus galima lengvai perkelti į kitus.
Programuotojai gali peržiūrėti visą IGX dokumentaciją, kurią galima rasti piramidėje websvetainė adresu: IGX | Moderni modulinė valdymo sistemos sistema, skirta Webpalaikomos programos²
Šiame skyriuje pateikiama įžanga į dviejų API metodų testavimą: HTTP naudojant JSON formatą ir EPICS. Paprastumo dėlei Python (Python Websvetainę³) naudojamas kaip pavyzdysample host kompiuterio kalba, kuri yra prieinama ir paprasta naudoti neprofesionaliems programuotojams.
3.1 Python ir HTTP naudojimas
Kaip buvęsample, tarkime, kad norite perskaityti išmatuotų srovių sumą naudodami Python. Jums reikia URL tam konkrečiam IO. FX4 web GUI yra paprastas būdas tai rasti: tiesiog dešiniuoju pelės mygtuku spustelėkite lauką ir pasirinkite „Kopijuoti HTTP“. URL“, kad nukopijuotumėte eilutę į mainų sritį.
Dabar galite naudoti Python, kad patikrintumėte ryšį su vartotojo programine įranga per HTTP ir JSON. Gali reikėti importuoti užklausas ir json bibliotekas, kad galėtumėte apdoroti HTTP užklausas ir analizuoti duomenis.
1 Paprastas Python HTTP Example
3.2 EPICS naudojimas
FX4 prijungimo per EPICS (eksperimentinės fizikos ir pramoninės valdymo sistemos) procesas yra panašus. EPICS yra programinės įrangos įrankių ir taikomųjų programų rinkinys, naudojamas paskirstytoms valdymo sistemoms kurti ir įdiegti, plačiai naudojamas mokslo įstaigose.
- Gaukite norimo IO EPICS proceso kintamojo (PV) pavadinimą.
- Importuokite EPICS biblioteką ir nuskaitykite reikšmę.
2 Gaukite EPICS PV pavadinimą
3 Paprastas Python EPICS Example
Be to, „Pyramid“ sukūrė įrankį (EPICS Connect⁴), leidžianti stebėti EPICS proceso kintamuosius realiuoju laiku. Šis įrankis padeda patvirtinti, ar EPICS FV pavadinimas yra teisingas ir ar FX4 teisingai tiekia FV jūsų tinkle.
4 PTC EPICS Connect
FX4 programavimo API
Šiame vadove aprašytos sąvokos ir metodai remiasi sąvokomis, nustatytomis IGX – programuotojo vadove. Norėdami paaiškinti, žr. tą dokumentą ir pvzampkaip veikia pagrindinis IGX programavimas ir sąsajos. Šis vadovas apims tik konkrečiam įrenginiui būdingas IO ir funkcijas, kurios yra unikalios FX4.
4.1 Analoginė įvestis IO
Šie IO yra susiję su FX4 analoginių srovės įėjimų konfigūravimu ir duomenų rinkimu. Kanalo įėjimų vienetai yra pagrįsti vartotojo konfigūruojamu nustatymu, vadinamu „Sample Units“, galiojančios parinktys apima pA, nA, uA, mA ir A.
Visi 4 kanalai naudoja tą pačią sąsają IO ir yra valdomi nepriklausomai. Kanalą_x pakeiskite atitinkamai kanalu_1 , kanalu_2 , kanalu_3 arba kanalu_4.
IO kelias | Aprašymas |
/fx4/adc/channel_x | TIK SKAITYMO SKAIČIUS Išmatuotos srovės įvestis. |
/fx4/adc/channel_x/scalar | NUMBER Paprastas bevientisis skaliaras, pritaikytas kanalui, pagal numatytuosius nustatymus 1. |
/fx4/adc/channel_x/zero_offset | NUMBER Kanalo srovės poslinkis nA. |
Šie IO nėra nepriklausomi nuo kanalo ir yra taikomi visiems kanalams vienu metu.
IO kelias | Aprašymas |
/fx4/channel_sum | TIK SKAITYMO SKAIČIUS Dabartinių įvesties kanalų suma. |
/fx4/adc_unit | STRING Nustato dabartinius vartotojo vienetus kiekvienam kanalui ir sumą. Parinktys: „pa“, „na“, „ua“, „ma“, „a“ |
/fx4/range | EILĖ Nustato srovės įvesties diapazoną. Žr. grafinę vartotojo sąsają, kad sužinotumėte, kaip kiekvienas diapazono kodas atitinka didžiausias srovės įvesties ribas ir BW. Parinktys: „0“, „1“, „2“, „3“, „4“, „5“, „6“, „7“ |
/fx4/adc/sample_dažnis | NUMERIS Dažnis Hz, kuris sample duomenų vidurkis bus į. Tai valdo visų kanalų signalo-triukšmą ir duomenų perdavimo spartą. |
/fx4/adc/conversion_frequency | NUMERIS Dažnis Hz, kuriuo ADC konvertuos analogines vertes į skaitmenines. Pagal numatytuosius nustatymus tai yra 100 kHz, ir šią vertę reikės keisti retai. |
/fx4/adc/offset_correction | TIK SKAITYMO SKAIČIUS Visų kanalų dabartinių poslinkių suma. |
4.2 Analoginis išėjimas IO
Šie IO yra susiję su FX4 bendrosios paskirties analoginių išėjimų konfigūracija, esančia po analoginiais įėjimais priekiniame skydelyje. Visi 4 kanalai naudoja tą pačią sąsają IO ir yra valdomi nepriklausomai. Kanalą_x pakeiskite atitinkamai kanalu_1 , kanalu_2 , kanalu_3 arba kanalu_4.
IO kelias | Aprašymas |
/fx4/dac /kanalas_x | NUMBER komanda voltage išvestis. Šią reikšmę galima įrašyti tik tada, kai išvesties režimas nustatytas kaip rankinis. |
/fx4/dac/channel_x/readback | TIK SKAITYTINAS SKAIČIUS Išmatuotas tūristage išvestis. Tai naudingiausia naudojant išraiškos išvesties režimą. |
/fx4/dac/channel_x/output_mode | STRING Nustato kanalo išvesties režimą. Parinktys: „rankinis“, „išraiška“, „proceso_kontrolė“ |
/fx4/dac/kanalas _ x/slew_control_enable | BOOL Įjungia arba išjungia posūkio dažnio ribojimą. |
/fx4/dac/channel_x/slew_rate | NUMBER Kanalo posūkio greitis V/s. |
/fx4/dac/channel_x/upper_limit | NUMBER Didžiausias leidžiamas komandos garsumastage kanalui. Taikoma visiems darbo režimams. |
/fx4/dac/kanalas _ x/apatinė_riba | NUMERIS Mažiausias leidžiamas komandos garsumastage kanalui. Taikoma visiems darbo režimams. |
/fx4/dac/kanalas _ x/ išvestis _ išraiška | STRING Nustato išraiškos eilutę, kurią kanalas naudoja, kai yra išraiškos išvesties režime. |
/fx4/dac/kanalas _ x/atstatymo_mygtukas | MYGTUKAS Atstato komandą „Vol“tagnuo e iki 0. |
4.3 Skaitmeninis įėjimas ir išėjimai
Šie IO yra susiję su įvairių bendrosios paskirties skaitmeninių įėjimų ir išėjimų, esančių FX4, valdymu.
IO kelias | Aprašymas |
/fx4/fr1 | TIK SKAITYTI BOOL Šviesolaidinis imtuvas 1. |
/fx4/ft1 | BOOL šviesolaidinis siųstuvas 1. |
/fx4/fr2 | TIK SKAITYTI BOOL Šviesolaidinis imtuvas 2. |
/fx4/ft2 | BOOL šviesolaidinis siųstuvas 2. |
/fx4/fr3 | TIK SKAITYTI BOOL Šviesolaidinis imtuvas 3. |
/fx4/ft3 | BOOL šviesolaidinis siųstuvas 3. |
/fx4/digital_expansion/d1 | BOOL D1 dvikryptis skaitmeninis išplėtimo įvestis / išvestis. |
/fx4/digital_expansion/d2 | BOOL D2 dvikryptis skaitmeninis išplėtimo įvestis / išvestis. |
/fx4/digital_expansion/d3 | BOOL D3 dvikryptis skaitmeninis išplėtimo įvestis / išvestis. |
/fx4/digital_expansion/d4 | BOOL D4 dvikryptis skaitmeninis išplėtimo įvestis / išvestis. |
4.3.1 Skaitmeninio IO konfigūracija
Visi skaitmeniniai įrenginiai turi antrinį IO, kad būtų galima konfigūruoti savo elgesį, įskaitant veikimo režimą, kuris valdo, kaip tas skaitmeninis veiksmas. Kiekvienas skaitmeninis turi skirtingą galimų parinkčių rinkinį. Žr. GUI, kad sužinotumėte, kokios parinktys galimos tam IO.
Vaiko IO kelias | Aprašymas |
…/režimas | STRING Skaitmeninio įrenginio veikimo režimas. Parinktys: „input“, „output“, „pwm“, „timer“, „encoder“, „capture“, „uart_rx“, „uart_tx“, „can_rx“, „can_tx“, „pru_input“ arba „pru_output“ |
…/process_signal | STRING Proceso valdymo signalo pavadinimas, jei toks yra. |
…/pull_mode | STYLĖ Skaitmeninės įvesties traukimo aukštyn/žemyn režimas. Parinktys: „aukštyn“, „žemyn“ arba „išjungti“ |
4.4 Relės valdymas
Abi relės yra valdomos nepriklausomai ir turi to paties tipo sąsają. Relay_x pakeiskite atitinkamai relay_a arba relay_b.
IO kelias | Aprašymas |
/fx4/relay _ x/permit /user _ komanda | BOOL duoda komandą relei atidaryti arba uždaryti. „true“ komanda bandys uždaryti relę, jei bus suteikti blokavimai, o „false“ komanda visada atidarys relę. |
/fx4/relė _ x/būsena | TIK SKAITYTINA EILĖ Dabartinė relės būsena. Užrakintos relės yra atviros, bet negali būti uždarytos dėl blokavimo. Būsenos: „atidaryta“, „uždaryta“ arba „užrakinta“ |
/fx4/relė _ x/automatiškai _ uždaroma | BOOL Kai nustatyta reikšmė „true“, relė automatiškai užsidarys, kai bus suteikti blokavimai. Pagal numatytuosius nustatymus – „false“. |
/fx4/relė _ x/ ciklas _ skaičius | TIK SKAITYMO NUMERIS Relės ciklų skaičius nuo paskutinio nustatymo iš naujo. Naudinga norint sekti relės gyvavimo trukmę. |
4.5 Didelė apimtistage modulis
Daugiau informacijos apie FX4 aukšto tūrio rasite IGX – programuotojo vadovetage sąsaja. Pirminio komponento kelias yra /fx4/high_votlage.
4.6 Dozės reguliatorius
Daugiau informacijos apie FX4 dozės valdiklio sąsają rasite IGX – programuotojo vadove. Pirminio komponento kelias yra /fx4/dose_controller .
FX4 Python Examples
5.1 Duomenų registratorius naudojant HTTP
Šis buvęsample parodo, kaip užfiksuoti daugybę rodmenų ir įrašyti juos į CSV file. Pasirinkę ilgą delsą tarp rodmenų, galite atlikti ilgalaikį duomenų registravimą, net jei FX4 samplingavimo norma nustatyta didesnė. Tai leidžia jums nuolat rinkti ir saugoti matavimus ilgą laiką neapkraunant sistemos, užtikrinant, kad duomenys būtų fiksuojami tokiais intervalais, kurie tinka jūsų analizei. Uždelsimas tarp rodmenų padeda reguliuoti duomenų registravimo tempą, leidžia efektyviai saugoti ir sumažinti duomenų taškų praradimo riziką, o didelės spartosamplingas realaus laiko matavimams.
5.2 Paprasta Python GUI
Antrasis buvęsample naudoja Tkinter GUI įrankį, kuris sukurtas Python, kad sukurtų išmatuotų srovių vaizdą. Ši sąsaja leidžia vizualizuoti esamus rodmenis patogiu grafiniu formatu. Ekrano dydį galima pakeisti taip, kad jis būtų pakankamai didelis, kad būtų galima skaityti iš viso kambario, todėl jis idealiai tinka scenarijuose, kai reikia stebėti realiuoju laiku didesnėse erdvėse. „Tkinter“ yra paprastas būdas sukurti interaktyvias sąsajas, o integravę ją su FX4, galite greitai sukurti vaizdinį išmatuotų srovių ekraną, kurį galima pritaikyti pagal jūsų konkrečius poreikius.
5.3 Paprasta WebLizdai Pvzample
Šis buvęsample demonstruoja WebSockets sąsaja, kuri yra tinkamiausias būdas nuskaityti duomenis iš FX4, kai reikalingas didžiausias pralaidumas. WebLizdai suteikia realaus laiko dvipusio ryšio kanalą, leidžiantį greičiau ir efektyviau perduoti duomenis, palyginti su kitais metodais.
Buvęsample skaito seriją samples, nurodo vidutinį laiką per sample ir didžiausią delsą, ir išsaugo duomenis į CSV file vėlesnei analizei. Ši sąranka leidžia efektyviai stebėti realiuoju laiku ir lengvai saugoti duomenis tolesniam apdorojimui.
Konkretus našumas, kurį galima pasiekti naudojant WebLizdai priklauso nuo jūsų Ethernet sąsajos patikimumo ir santykinio jūsų programos prioriteto. Norėdami gauti optimalius rezultatus, įsitikinkite, kad jūsų tinklas yra stabilus ir, jei reikia, FX4 duomenų perdavimui teikiama pirmenybė.
Versija: v3
FX4 Python Exampnuoma: 21
Dokumentai / Ištekliai
![]() |
PYRAMID FX4 programuotojas [pdfNaudojimo instrukcija FX4 programuotojas, FX4, programuotojas |