PIRAMIDA emblemowww.pyramid.tech
FX4
FX4 Programisto Manlibro
Dokumenta ID: 2711715845
Versio: v3Programisto PYRAMID FX4

FX4 Programisto

Dokumenta ID: 2711715845
FX4 – Manlibro por FX4-Programisto

Programisto PYRAMID FX4 - ikono Dokumenta ID: 2711650310

Aŭtoro Matthew Nichols
Posedanto Projekta Ĉefo
Celo Klarigu la programajn konceptojn necesajn por uzi la API kaj etendi la produkton per eksteraj aplikoj.
Amplekso FX4 rilataj programaj konceptoj.
Intencita Publiko Programistoj interesataj pri uzado de la produkto.
Procezo https://pyramidtc.atlassian.net/wiki/pages/createpage.action?
spaceKey=PQ&title=Norma%20Mana%20Kreado%20Proceso
Trejnado NE APLIKEBLA

Versia Kontrolo

Versio Priskribo  Savita de  Savita je  Statuso
v3 Aldonita simpla superview kaj pli eksamples. Matthew Nichols 6. mar 2025 10:29 APROBITA
v2 Aldonitaj ciferecaj IO-interfacoj kaj referencoj reen al IGX. Matthew Nichols la 3-an de majo 2024 7:39 APROBITA
v1 Komenca eldono, ankoraŭ laboro en progreso. Matthew Nichols 21. Feb 2024 11:25 APROBITA

Programilo PYRAMID FX4 - ikono 1 Dokumenta Kontrolo Ne Reviewed
Aktuala dokumentversio: v.1
Ne reviewers asignitaj.

1.1 Subskriboj
por plej lasta dokumentversio
Vendredo, la 7-an de marto 2025, 10:33 UTC
Matthew Nichols subskribis; signifo: Review

Referencoj

Dokumento Dokumenta ID  Aŭtoro  Versio
IGX - Manlibro pri Programisto 2439249921 Matthew Nichols 1

FX4 Programado Finisview

La procesoro FX4 funkcias en medio nomata IGX, kiu estas konstruita sur la alt-fidinda realtempa operaciumo QNX de BlackBerry (QNX Webretejo¹). IGX provizas flekseblan kaj ampleksan aplikaĵan programan interfacon (API) por uzantoj, kiuj volas verki sian propran komputilan programaron.
La IGX-medio estas dividita inter aliaj Pyramid-produktoj, permesante programajn solvojn evoluigitajn por unu produkto facile translokiĝi al aliaj.
Programistoj povas raporti al la kompleta dokumentaro por IGX havebla sur la Piramido webretejo ĉe: IGX | Moderna Modula Kontrola Sistemo-Kadro por Web-ebligitaj Aplikaĵoj²

Ĉi tiu sekcio provizas enkondukon al testado de du el la API-metodoj: HTTP uzante JSON-formaton kaj EPICS. Por simpleco, Python (Python Webretejo³) estas uzata kiel ekzempleample gastiga komputila lingvo, kiu estas alirebla kaj facile uzebla por neprofesiaj programistoj.

3.1 Uzante Python kaj HTTP
Kiel eksample, supozu, ke vi volas legi la sumon de la mezuritaj fluoj per Python. Vi bezonas la URL por tiu aparta IO. La FX4 web GUI provizas facilan manieron trovi ĉi tion: simple dekstre alklaku en la kampo kaj elektu 'Kopii HTTP URL' por kopii la ŝnuron al la tondujo.

Programisto PYRAMID FX4 - Uzante Python kaj HTTP

Nun vi povas uzi Python por testi konekteblecon al uzantprogramaro per HTTP kaj JSON. Vi eble bezonos importi la petojn kaj json-bibliotekojn por trakti la HTTP-petojn kaj datuman analizon.

PYRAMID FX4 Programisto - HTTP-petoj kaj datumanalizo1 Simpla Python HTTP Ekzample

3.2 Uzante EPICS
La procezo por konekti la FX4 tra EPICS (Eksperimenta Fiziko kaj Industria Kontrolo-Sistemo) estas simila. EPICS estas aro de programaraj iloj kaj aplikaĵoj uzataj por disvolvi kaj efektivigi distribuitajn kontrolsistemojn, vaste uzatajn en sciencaj instalaĵoj.

  1. https://blackberry.qnx.com/en
  2. https://pyramid.tech/products/igx
  3. https://www.python.org/
  1. Akiru la nomon de la EPICS-proceza variablo (PV) por la dezirata IO.
  2. Importu la bibliotekon EPICS kaj legu la valoron.

PYRAMID FX4 Programilo - EPICS-proceza variablo2 Akiru EPICS PV-NomonPYRAMID FX4 Programisto - Simpla Python EPICS Ekzamenoample3 Simpla Python EPICS Ekzample

Plie, Pyramid kreis ilon (EPICS Connect⁴) kiu permesas al vi monitori EPICS-procezajn variablojn en reala tempo. Ĉi tiu ilo estas helpema por konfirmi ĉu la nomo de EPICS PV estas ĝusta kaj la FX4 servas la PV ĝuste en via reto.

Programisto PYRAMID FX4 - EPICS Connect4 PTC EPICS Konekti

FX4 Programada API

La konceptoj kaj metodoj priskribitaj en ĉi tiu manlibro baziĝas sur la konceptoj establitaj en la IGX - Programer Manual. Bonvolu vidi tiun dokumenton por klarigo kaj ekzamploj pri kiel bazaj IGX-programado kaj interfacoj funkcias. Ĉi tiu manlibro nur kovros la aparato-specifan IO kaj funkciojn, kiuj estas unikaj al la FX4.

4.1 Analoga Enigo IO
Ĉi tiuj IO rilatas al agordo kaj kolektado de datumoj pri la analogaj nunaj enigaĵoj de la FX4. La unuoj de la kanalaj enigaĵoj baziĝas sur la agordebla de la uzanto nomata "Sample Units", validaj opcioj inkluzivas pA, nA, uA, mA kaj A.
Ĉiuj 4 kanaloj uzas la saman interfacon IO kaj estas sendepende kontrolitaj. Anstataŭigu channel_x per channel_1 , channel_2 , channel_3 , aŭ channel_4 respektive.

IO Vojo Priskribo
/fx4/adc/channel_x NURLEGEBLA NOMBRO Mezurita kurenta enigo.
/fx4/adc/channel_x/scalar NUMERO Simpla senunua skalaro aplikita al la kanalo, 1 defaŭlte.
/fx4/adc/channel_x/zero_offset NUMERO Aktuala deŝovo en nA por la kanalo.

La sekvaj IO ne estas kanal-sendependaj kaj estas aplikataj al ĉiuj kanaloj samtempe.

IO Vojo  Priskribo
/fx4/kanalo_sumo NURLEGEBLA NOMBRO Sumo de la nunaj enigaj kanaloj.
/fx4/adc_unit STRING Agordas la nunajn uzantajn unuojn por ĉiu kanalo kaj sumo.
Opcioj: "pa", "na", "ua", "ma", "a"
/fx4/gamo STRING Agordas la nunan enigan intervalon. Vidu la grafikan interfacon por kiel ĉiu intervala kodo respondas al la maksimumaj nunaj enigaj limoj kaj larĝlarĝo.
Opcioj: "0", "1", "2", "3", "4", "5", "6", "7"
/fx4/adc/sample_frequency NOMBRO La frekvenco en Hz kiu sampla datumoj estos averaĝe al. Ĉi tio kontrolas la signal-al-bruon kaj datumrapidecon por ĉiuj kanaloj.
/fx4/adc/conversion_frequency NUMERO La frekvenco en Hz, je kiu la ADC konvertos analogajn al ciferecaj valoroj. Defaŭlte, ĉi tio estas 100 kHz, kaj vi nur malofte bezonos ŝanĝi ĉi tiun valoron.
/fx4/adc/offset_correction NURLEGEBLA NOMBRO Sumo de ĉiuj nunaj deŝovoj de la kanalo.

4.2 Analoga Eligo IO
Ĉi tiuj IO rilatas al la agordo de la ĝeneraluzeblaj analogaj eliroj de la FX4 trovitaj sub la analogaj enigaĵoj sur la antaŭa panelo. Ĉiuj 4 kanaloj uzas la saman interfacon IO kaj estas sendepende kontrolitaj. Anstataŭigu channel_x per channel_1 , channel_2 , channel_3 , aŭ channel_4 respektive.

IO Vojo  Priskribo
/fx4/dac /kanalo_x NUMERO Komando volumotage eligo. Ĉi tiu valoro povas esti skribita nur kiam eligo-reĝimo estas agordita al manlibro.
/fx4/dac/channel_x/readback NURLEGEBLA NOMBRO Mezurita volumotage eligo.
Ĉi tio estas plej helpema kiam oni uzas espriman eligan reĝimon.
/fx4/dac/channel_x/output_mode STRING Agordas la eligan reĝimon por la kanalo.
Opcioj: "manuo", "esprimo", "procezkontrolo"
/fx4/dac/channel _ x/slew_control_enable BOOL Ebligas aŭ malebligas la limigon de ŝanĝiĝema rapideco.
/fx4/dac/kanalo_x/ŝanĝrapideco NUMERO Ŝovrapideco en V/s por la kanalo.
/fx4/dac/channel_x/upper_limit NUMERO La maksimuma permesita komanda volumotage por la kanalo. Validas por ĉiuj operaciaj reĝimoj.
/fx4/dac/kanalo _ x/malsupra_limo NUMERO La minimuma permesita komanda volumotage por la kanalo. Validas por ĉiuj operaciaj reĝimoj.
/fx4/dac/kanalo _ x/ eligo _ esprimo STRING Agordas la esprimĉenon uzatan de la kanalo kiam ĝi estas en la esprima eligreĝimo.
/fx4/dac/kanalo _ x/restarigi_butonon BUTONO Rekomencigas la komandon voltage ĝis 0.

4.3 Cifereca Enigo kaj Eligoj
Ĉi tiuj IO rilatas al kontrolado de la diversaj ĝeneraluzeblaj ciferecaj enigaĵoj kaj eliroj trovitaj sur la FX4.

IO Vojo  Priskribo
/fx4/fr1 READONLY BOOL Fibra ricevilo 1.
/fx4/ft1 BOOL Fibra dissendilo 1.
/fx4/fr2 READONLY BOOL Fibra ricevilo 2.
/fx4/ft2 BOOL Fibra dissendilo 2.
/fx4/fr3 READONLY BOOL Fibra ricevilo 3.
/fx4/ft3 BOOL Fibra dissendilo 3.
/fx4/digital_expansion/d1 BOOL D1 dudirekta cifereca vastiĝa IO.
/fx4/digital_expansion/d2 BOOL D2 dudirekta cifereca vastiĝa IO.
/fx4/digital_expansion/d3 BOOL D3 dudirekta cifereca vastiĝa IO.
/fx4/digital_expansion/d4 BOOL D4 dudirekta cifereca vastiĝa IO.

4.3.1 Cifereca IO-Agordo
Ĉiuj ciferecaj havas infanon IO por agordi sian konduton inkluzive de operaciumo kiu kontrolas kiel tiu cifereca funkcios. Ĉiu cifereca havos malsaman aron de disponeblaj opcioj. Vidu la GUI por detaloj pri kiaj opcioj disponeblas por kio IO.

Infana IO Vojo Priskribo
…/reĝimo STRING Funkciada reĝimo por la cifereca.
Opcioj: “enigo“, “eligo“, “pwm“, “tempigilo“, “kodigilo“, “kapto“, “uart_rx“, “uart_tx“, “povas_rx“, “povas_tx“, “pru_enigo“, aŭ “pru_eligo“
…/proceza_signalo ĈENO La nomo de la procesrega signalo, se tia ekzistas.
…/tiri_reĝimon STRING Tir supren/malsupren reĝimo por cifereca enigo.
Opcioj: "supren", "malsupren", aŭ "malŝalti"

4.4 Relajsa Kontrolo
Ambaŭ relajsoj estas sendepende kontrolitaj kaj dividas la saman specon de interfaco. Anstataŭigu relay_x per relay_a aŭ relay_b respektive.

IO Vojo  Priskribo
/fx4/relajso _ x/permeso / uzanto _ komando BOOL Komando malfermas aŭ fermas la relajson. Vera komando provos fermi la relajson se la interŝlosoj estas donitaj, kaj malvera komando ĉiam malfermos la relajson.
/fx4/relajso _ x/stato NURLEGEBLA ĈENO La nuna stato de la relajso.
Ŝlositaj relajsoj estas malfermitaj sed ne povas esti fermitaj pro interŝloso.
Ŝtatoj: "malfermita", "fermita", aŭ "ŝlosita"
/fx4/relajso _ x/aŭtomate _ fermi BOOL Kiam agordita al vera, la relajso aŭtomate fermiĝos kiam la interŝlosoj estas permesitaj. Falsa defaŭlte.
/fx4/relajso _ x/ ciklo _ kalkulo NURLEGEBLA NOMBRO La nombro da relajsocikloj ekde la lasta restarigo. Utila por spuri la vivdaŭron de la relajso.

4.5 Alta Voltage Modulo
Vidu la IGX - Programman Manual por detaloj pri la FX4 alta voltage interfaco. La komponanta gepatra vojo estas /fx4/high_votlage .

4.6 Dozo-Regilo
Vidu la Manlibron pri Programisto IGX por detaloj pri la interfaco de la dozoregilo FX4. La komponanta gepatra vojo estas /fx4/dose_controller .

FX4 Python Eksamples

5.1 Datumregistrilo uzante HTTP
Ĉi tiu ekzample montras kiel kapti kelkajn legaĵojn kaj konservi ilin al CSV file. Elektante longan prokraston inter legaĵoj, vi povas fari longdaŭran datumregistradon eĉ se la FX4 s.ampling-indico estas starigita pli alta. Ĉi tio permesas vin kontinue kolekti kaj stoki mezuradojn dum plilongigitaj periodoj sen superforti la sistemon, certigante ke datumoj estas kaptitaj je intervaloj taŭgaj por via analizo. La prokrasto inter legaĵoj helpas reguligi la rapidecon, je kiu datumoj estas registritaj, permesante efikan stokadon kaj reduktante la riskon manki datumpunktojn dum daŭre profitas de altrapidaj s.ampling por realtempaj mezuradoj.

Programilo PYRAMID FX4 - Datenregistrilo uzante HTTPProgramilo PYRAMID FX4 - Datenregistrilo uzante HTTP 2Programilo PYRAMID FX4 - Datenregistrilo uzante HTTP 3Programilo PYRAMID FX4 - Datenregistrilo uzante HTTP 4

5.2 Simpla Python GUI
La dua eksample uzas la Tkinter GUI-ilon, kiu estas konstruita por Python, por krei ekranon de la mezuritaj fluoj. Ĉi tiu interfaco ebligas al vi bildigi la aktualajn legaĵojn en afabla grafika formato. La ekrano povas esti regrandigita por fari ĝin sufiĉe granda por legi de trans ĉambro, igante ĝin ideala por scenaroj kie realtempa monitorado estas necesa en pli grandaj spacoj. Tkinter provizas facilan manieron krei interagajn interfacojn, kaj integrigante ĝin kun la FX4, vi povas rapide konstrui vidan ekranon de la mezuritaj fluoj, kiuj povas esti personecigitaj por konveni viajn specifajn bezonojn.

PYRAMID FX4 Programisto - Simpla Python GUIProgramisto PYRAMID FX4 - Simpla Python GUI 2Programisto PYRAMID FX4 - Simpla Python GUI 3Programisto PYRAMID FX4 - Simpla Python GUI 4Programisto PYRAMID FX4 - Simpla Python GUI 5Programisto PYRAMID FX4 - Simpla Python GUI 6Programisto PYRAMID FX4 - Simpla Python GUI 7

5.3 Simpla WebSockets Example
Ĉi tiu ekzample pruvas la WebSockets-interfaco, kiu estas la preferata metodo por legi datumojn de la FX4 kiam maksimuma bendolarĝo estas postulata. WebIngoj disponigas realtempan, plen-dupleksan komunikadkanalon, ebligante pli rapidan kaj pli efikan datumtransigo kompare kun aliaj metodoj.
La eksample legas serion de samples, raportas la averaĝan tempon por sample kaj maksimuma latenteco, kaj konservas la datumojn al CSV file por posta analizo. Ĉi tiu aranĝo permesas efikan realtempan monitoradon kaj facilan datumstokadon por post-prilaborado.
La specifa agado, per kiu oni povas atingi WebSockets dependas de la fidindeco de via Ethernet-interfaco kaj la relativa prioritato de via aplikaĵo. Por optimumaj rezultoj, certigu, ke via reto estas stabila kaj ke la transdono de datumoj de la FX4 estas prioritatita se necese.

Programilo PYRAMID FX4 - Simpla WebSockets ExampleProgramilo PYRAMID FX4 - Simpla WebSockets Example 2Programilo PYRAMID FX4 - Simpla WebSockets Example 3

Versio: v3
FX4 Python Eksamples: 21

Dokumentoj/Rimedoj

Programisto PYRAMID FX4 [pdf] Instrukcia Manlibro
FX4 Programisto, FX4, Programisto

Referencoj

Lasu komenton

Via retadreso ne estos publikigita. Bezonataj kampoj estas markitaj *