www.pyramída.tech
FX4
Príručka programátora FX4
ID dokumentu: 2711715845
Verzia: v3
Programátor FX4
ID dokumentu: 2711715845
Príručka programátora FX4 – FX4
ID dokumentu: 2711650310
Autor | Matúš Nichols |
Vlastník | Vedúci projektu |
Účel | Vysvetlite programovacie koncepty potrebné na používanie API a rozšírenie produktu prostredníctvom externých aplikácií. |
Rozsah | Koncepty programovania súvisiace s FX4. |
Určené publikum | Vývojári softvéru, ktorí majú záujem o používanie produktu. |
Proces | https://pyramidtc.atlassian.net/wiki/pages/createpage.action? spaceKey=PQ&title=Štandardný%20Manuálny%20Creation%20Proces |
Školenie | NEPOUŽITEĽNÉ |
Kontrola verzií
Verzia | Popis | Uložené používateľom | Uložené dňa | Stav |
v3 | Pridaný jednoduchý overview a ďalšie napramples. | Matúš Nichols | 6. marec 2025 10:29 | SCHVÁLENÉ |
v2 | Pridané digitálne IO rozhrania a odkazy späť na IGX. | Matúš Nichols | 3. mája 2024 o 7:39 | SCHVÁLENÉ |
v1 | Prvé vydanie, stále sa pracuje. | Matúš Nichols | 21. februára 2024 11:25 | SCHVÁLENÉ |
Kontrola dokumentov Nie Reviewed
Aktuálna verzia dokumentu: v.1
Žiadna reviewsú pridelené.
1.1 Podpisy
pre najnovšiu verziu dokumentu
Piatok, 7. marec 2025, 10:33 UTC
Matthew Nichols podpísal; význam: Review
Referencie
Dokument | ID dokumentu | Autor | Verzia |
IGX – Príručka programátora | 2439249921 | Matúš Nichols | 1 |
Koniec programovania FX4view
Procesor FX4 beží na prostredí s názvom IGX, ktoré je postavené na vysoko spoľahlivom operačnom systéme v reálnom čase QNX od BlackBerry (QNX Webstránky¹). IGX poskytuje flexibilné a komplexné aplikačné programovacie rozhranie (API) pre používateľov, ktorí chcú napísať svoj vlastný hostiteľský počítačový softvér.
Prostredie IGX je zdieľané medzi ostatnými produktmi Pyramid, čo umožňuje, aby sa softvérové riešenia vyvinuté pre jeden produkt ľahko preniesli na iné.
Programátori si môžu pozrieť kompletnú dokumentáciu pre IGX dostupnú na Pyramíde webmiesto na adrese: IGX | Rámec moderného modulárneho riadiaceho systému pre Web-povolené aplikácie²
Táto časť poskytuje úvod do testovania dvoch metód API: HTTP s použitím formátu JSON a EPICS. Pre jednoduchosť Python (Python Webstránky³) sa používa ako exampjazyk hostiteľského počítača, ktorý je prístupný a ľahko použiteľný aj pre neprofesionálnych programátorov.
3.1 Používanie Pythonu a HTTP
Ako example, predpokladajme, že chcete čítať súčet nameraných prúdov pomocou Pythonu. Potrebujete URL pre tento konkrétny IO. FX4 web GUI poskytuje jednoduchý spôsob, ako to nájsť: jednoducho kliknite pravým tlačidlom myši do poľa a vyberte 'Kopírovať HTTP URL' skopírovať reťazec do schránky.
Teraz môžete použiť Python na testovanie pripojenia k používateľskému softvéru cez HTTP a JSON. Možno budete musieť importovať požiadavky a knižnice json na spracovanie požiadaviek HTTP a analýzy údajov.
1 jednoduchý Python HTTP Example
3.2 Používanie EPICS
Proces pripojenia FX4 cez EPICS (Experimental Physics and Industrial Control System) je podobný. EPICS je súbor softvérových nástrojov a aplikácií používaných na vývoj a implementáciu distribuovaných riadiacich systémov, široko používaných vo vedeckých zariadeniach.
- Získajte názov procesnej premennej (PV) EPICS pre požadovanú IO.
- Importujte knižnicu EPICS a prečítajte si hodnotu.
2 Získajte názov EPICS PV
3 Jednoduchý Python EPICS Príklample
Okrem toho Pyramid vytvoril nástroj (EPICS Connect⁴), ktorý vám umožňuje monitorovať procesné premenné EPICS v reálnom čase. Tento nástroj je užitočný na potvrdenie, či je názov EPICS PV správny a FX4 správne obsluhuje PV vo vašej sieti.
4 PTC EPICS Connect
FX4 Programovacie API
Koncepcie a metódy opísané v tejto príručke vychádzajú z koncepcií stanovených v príručke IGX – Programmer Manual. Vysvetlenie nájdete v tomto dokumente a naprampinformácie o tom, ako funguje základné programovanie a rozhrania IGX. Táto príručka sa bude týkať iba špecifických IO a funkcií zariadenia, ktoré sú jedinečné pre FX4.
4.1 Analógový vstup IO
Tieto IO sa týkajú konfigurácie a zberu údajov na analógových prúdových vstupoch FX4. Jednotky kanálových vstupov sú založené na užívateľsky konfigurovateľnom nastavení s názvom „Sample Units“, platné možnosti zahŕňajú pA, nA, uA, mA a A.
Všetky 4 kanály používajú rovnaké rozhranie IO a sú nezávisle riadené. Nahraďte channel_x za channel_1 , channel_2 , channel_3 alebo channel_4 v tomto poradí.
IO cesta | Popis |
/fx4/adc/channel_x | ČÍSLO LEN NA ČÍTANIE Meraný prúdový vstup. |
/fx4/adc/channel_x/scalar | NUMBER Jednoduchý skalár bez jednotiek použitý na kanál, predvolene 1. |
/fx4/adc/channel_x/zero_offset | NUMBER Aktuálny posun v nA pre kanál. |
Nasledujúce IO nie sú nezávislé na kanáloch a sú aplikované na všetky kanály súčasne.
IO cesta | Popis |
/fx4/channel_sum | READONLY NUMBER Súčet aktuálnych vstupných kanálov. |
/fx4/adc_unit | STRING Nastaví aktuálne jednotky používateľa pre každý kanál a súčet. Možnosti: „pa“, „na“, „ua“, „ma“, „a“ |
/fx4/rozsah | STRING Nastavuje aktuálny vstupný rozsah. Pozrite si GUI, kde nájdete informácie o tom, ako každý kód rozsahu zodpovedá limitom maximálneho prúdu a BW. Možnosti: „0“, „1“, „2“, „3“, „4“, „5“, „6“, „7“ |
/fx4/adc/sample_frequency | ČÍSLO Frekvencia v Hz, ktorá sample údaje budú spriemerované na. Toto riadi pomer signálu k šumu a rýchlosť prenosu dát pre všetky kanály. |
/fx4/adc/conversion_frequency | NUMBER Frekvencia v Hz, pri ktorej ADC prevedie analógové na digitálne hodnoty. Štandardne je to 100 kHz a túto hodnotu budete musieť meniť len zriedka. |
/fx4/adc/offset_correction | ČÍSLO LEN NA ČÍTANIE Súčet všetkých aktuálnych posunov kanála. |
4.2 Analógový výstup IO
Tieto IO sa týkajú konfigurácie analógových výstupov na všeobecné použitie FX4, ktoré sa nachádzajú pod analógovými vstupmi na prednom paneli. Všetky 4 kanály používajú rovnaké rozhranie IO a sú nezávisle riadené. Nahraďte channel_x za channel_1 , channel_2 , channel_3 alebo channel_4 v tomto poradí.
IO cesta | Popis |
/fx4/dac /channel_x | ČÍSLO Príkaz objtage výstup. Túto hodnotu je možné zapísať iba vtedy, keď je výstupný režim nastavený na manuálny. |
/fx4/dac/channel_x/readback | ČÍSLO LEN NA ČÍSLO Merané objtage výstup. Toto je najužitočnejšie pri použití režimu výstupu výrazu. |
/fx4/dac/channel_x/output_mode | STRING Nastavuje výstupný režim pre kanál. Možnosti: „manual“, „expression“, „process_control“ |
/fx4/dac/channel _ x/slew_control_enable | BOOL Povolí alebo zakáže obmedzenie rýchlosti prebehu. |
/fx4/dac/channel_ x/slew_rate | NUMBER Rýchlosť prebehnutia v V/s pre kanál. |
/fx4/dac/channel_x/upper_limit | ČÍSLO Maximálny povolený príkaz objtage pre kanál. Platí pre všetky prevádzkové režimy. |
/fx4/dac/channel _ x/dolný_limit | ČÍSLO Minimálny povolený príkaz objtage pre kanál. Platí pre všetky prevádzkové režimy. |
/fx4/dac/channel _ x/ výstup _ výraz | STRING Nastavuje reťazec výrazu, ktorý používa kanál, keď je v režime výstupu výrazu. |
/fx4/dac/channel _ x/tlačidlo_resetovať | TLAČIDLO Resetuje príkaz voltage na 0. |
4.3 Digitálne vstupy a výstupy
Tieto IO sa týkajú ovládania rôznych všeobecných digitálnych vstupov a výstupov, ktoré sa nachádzajú na FX4.
IO cesta | Popis |
/fx4/fr1 | Prijímač vlákien BOOL LEN NA ČÍTANIE 1. |
/fx4/ft1 | BOOL Vláknový vysielač 1. |
/fx4/fr2 | Prijímač vlákien BOOL LEN NA ČÍTANIE 2. |
/fx4/ft2 | BOOL Vláknový vysielač 2. |
/fx4/fr3 | Prijímač vlákien BOOL LEN NA ČÍTANIE 3. |
/fx4/ft3 | BOOL Vláknový vysielač 3. |
/fx4/digital_expansion/d1 | BOOL D1 obojsmerné digitálne rozšírenie IO. |
/fx4/digital_expansion/d2 | BOOL D2 obojsmerné digitálne rozšírenie IO. |
/fx4/digital_expansion/d3 | BOOL D3 obojsmerné digitálne rozšírenie IO. |
/fx4/digital_expansion/d4 | BOOL D4 obojsmerné digitálne rozšírenie IO. |
4.3.1 Digitálna IO konfigurácia
Všetky digitálne zariadenia majú dieťa IO na konfiguráciu ich správania vrátane prevádzkového režimu, ktorý riadi, ako bude tento digitálny systém fungovať. Každý digitálny bude mať inú sadu dostupných možností. Podrobnosti o tom, aké možnosti sú dostupné pre ktorú IO, nájdete v GUI.
Cesta IO dieťaťa | Popis |
…/režim | STRING Prevádzkový režim pre digitál. Možnosti: „input“, „output“, „pwm“, „timer“, „encoder“, „capture“, „uart_rx“, „uart_tx“, „can_rx“, „can_tx“, „pru_input“ alebo „pru_output“ |
…/process_signal | STRING Názov riadiaceho signálu procesu, ak nejaký existuje. |
…/pull_mode | STRING Režim potiahnutia nahor/nadol pre digitálny vstup. Možnosti: „hore“, „dole“ alebo „vypnúť“ |
4.4 Ovládanie relé
Obe relé sú nezávisle riadené a zdieľajú rovnaký typ rozhrania. Nahraďte relay_x za relay_a alebo relay_b.
IO cesta | Popis |
/fx4/relay _ x/permit / user _ príkaz | BOOL Prikazuje relé otvoriť alebo zatvoriť. Skutočný príkaz sa pokúsi zopnúť relé, ak sú udelené blokovania, a falošný príkaz vždy relé otvorí. |
/fx4/relé _ x/stav | READONLY STRING Aktuálny stav relé. Uzamknuté relé sú otvorené, ale nemôžu byť zatvorené kvôli blokovaniu. Stavy: „otvorené“, „zatvorené“ alebo „uzamknuté“ |
/fx4/relé _ x/automaticky _ zavrieť | BOOL Keď je nastavené na hodnotu true, relé sa automaticky zopne, keď sú povolené blokovania. Predvolene nepravda. |
/fx4/relé _ x/ cyklus _ počet | READONLY NUMBER Počet cyklov relé od posledného resetu. Užitočné na sledovanie životnosti relé. |
4.5 Vysoký objemtage Modul
Podrobnosti o FX4 high voltage rozhranie. Cesta rodiča komponentu je /fx4/high_votlage .
4.6 Ovládač dávky
Podrobnosti o rozhraní regulátora dávky FX4 nájdete v príručke IGX – Programmer Manual. Nadradená cesta komponentu je /fx4/dose_controller .
FX4 Python Examples
5.1 Datalogger využívajúci HTTP
Tento example demonštruje, ako zachytiť množstvo nameraných hodnôt a uložiť ich do CSV file. Výberom dlhého oneskorenia medzi odčítaniami môžete vykonávať dlhodobé zaznamenávanie údajov, aj keď FX4 samprýchlosť je nastavená vyššie. To vám umožňuje nepretržite zhromažďovať a ukladať merania počas dlhších období bez preťaženia systému, čím sa zaisťuje, že údaje sa zaznamenávajú v intervaloch vhodných pre vašu analýzu. Oneskorenie medzi odčítaniami pomáha regulovať tempo, akým sa údaje zaznamenávajú, čo umožňuje efektívne ukladanie a znižuje riziko chýbajúcich údajových bodov a zároveň využíva výhody vysokorýchlostných sampling pre merania v reálnom čase.
5.2 Jednoduché GUI Pythonu
Druhý example používa nástroj Tkinter GUI, ktorý je vytvorený pre Python, na vytvorenie zobrazenia nameraných prúdov. Toto rozhranie vám umožňuje vizualizovať aktuálne namerané hodnoty v užívateľsky príjemnom grafickom formáte. Veľkosť displeja je možné zmeniť tak, aby bol dostatočne veľký na čítanie z celej miestnosti, vďaka čomu je ideálny pre scenáre, kde je potrebné monitorovanie v reálnom čase vo väčších priestoroch. Tkinter poskytuje jednoduchý spôsob vytvárania interaktívnych rozhraní a jeho integráciou s FX4 môžete rýchlo vytvoriť vizuálne zobrazenie nameraných prúdov, ktoré možno prispôsobiť vašim špecifickým potrebám.
5.3 Jednoduché WebZásuvky Prample
Tento example demonštruje WebRozhranie soketov, čo je preferovaná metóda na čítanie údajov z FX4, keď sa vyžaduje maximálna šírka pásma. WebZásuvky poskytujú plne duplexný komunikačný kanál v reálnom čase, čo umožňuje rýchlejší a efektívnejší prenos dát v porovnaní s inými metódami.
Bývalýample číta sériu samples, uvádza priemerný čas za sample a maximálnu latenciu a uloží údaje do CSV file pre neskoršiu analýzu. Toto nastavenie umožňuje efektívne monitorovanie v reálnom čase a jednoduché ukladanie údajov na následné spracovanie.
Špecifický výkon, ktorý je možné dosiahnuť WebZásuvky závisia od spoľahlivosti vášho ethernetového rozhrania a relatívnej priority vašej aplikácie. Pre optimálne výsledky sa uistite, že vaša sieť je stabilná a že prenos dát FX4 má v prípade potreby prioritu.
Verzia: v3
FX4 Python Examples: 21
Dokumenty / zdroje
![]() |
Programátor PYRAMID FX4 [pdfNávod na obsluhu FX4 Programátor, FX4, Programátor |