www.pyramid.tech
FX4
Manuál programátoru FX4
ID dokumentu: 2711715845
Verze: v3
Programátor FX4
ID dokumentu: 2711715845
FX4 – FX4 Programátorská příručka
ID dokumentu: 2711650310
Autor | Matěj Nichols |
Majitel | Vedoucí projektu |
Účel | Vysvětlete programovací koncepty nezbytné pro použití API a rozšíření produktu prostřednictvím externích aplikací. |
Rozsah | Koncepce programování související s FX4. |
Zamýšlené publikum | Vývojáři softwaru se zájmem o používání produktu. |
Proces | https://pyramidtc.atlassian.net/wiki/pages/createpage.action? spaceKey=PQ&title=Standardní%20Manuální%20Creation%20Proces |
Výcvik | NEUPLATŇUJE se |
Kontrola verzí
Verze | Popis | Uloženo uživatelem | Uloženo dne | Postavení |
v3 | Přidán jednoduchý overview a další examples. | Matěj Nichols | 6. března 2025 10:29 | SCHVÁLENÝ |
v2 | Přidána digitální IO rozhraní a odkazy zpět na IGX. | Matěj Nichols | 3. května 2024 7:39 | SCHVÁLENÝ |
v1 | První vydání, stále se pracuje. | Matěj Nichols | 21. února 2024 11:25 | SCHVÁLENÝ |
Kontrola dokumentů Ne Reviewed
Aktuální verze dokumentu: v.1
Žádné reviewje přidělen.
1.1 Podpisy
pro nejnovější verzi dokumentu
Pátek, 7. března 2025, 10:33 UTC
Matthew Nichols podepsal; význam: Review
Reference
Dokument | ID dokumentu | Autor | Verze |
IGX – Manuál programátora | 2439249921 | Matěj Nichols | 1 |
Konec programování FX4view
Procesor FX4 běží na prostředí zvaném IGX, které je postaveno na vysoce spolehlivém operačním systému v reálném čase QNX od BlackBerry (QNX Webmísto¹). IGX poskytuje flexibilní a komplexní aplikační programovací rozhraní (API) pro uživatele, kteří chtějí napsat svůj vlastní hostitelský počítačový software.
Prostředí IGX je sdíleno mezi ostatními produkty Pyramid, což umožňuje, aby softwarová řešení vyvinutá pro jeden produkt byla snadno převedena na další.
Programátoři se mohou podívat na kompletní dokumentaci pro IGX dostupnou na Pyramidě webmísto na: IGX | Moderní modulární řídicí systém Framework pro Web-povolené aplikace²
Tato část poskytuje úvod do testování dvou metod API: HTTP pomocí formátu JSON a EPICS. Pro zjednodušení Python (Krajta Webmísto³) se používá jako exampjazyk hostitelského počítače, který je přístupný a snadno použitelný pro neprofesionální programátory.
3.1 Používání Pythonu a HTTP
Jako example, předpokládejme, že chcete číst součet naměřených proudů pomocí Pythonu. Potřebujete URL pro tento konkrétní IO. FX4 web GUI poskytuje snadný způsob, jak to najít: jednoduše klikněte pravým tlačítkem do pole a vyberte 'Kopírovat HTTP URL' pro zkopírování řetězce do schránky.
Nyní můžete použít Python k testování připojení k uživatelskému softwaru přes HTTP a JSON. Možná budete muset importovat požadavky a knihovny json pro zpracování požadavků HTTP a analýzy dat.
1 Jednoduchý Python HTTP Example
3.2 Použití EPICS
Proces připojení FX4 přes EPICS (Experimental Physics and Industrial Control System) je podobný. EPICS je sada softwarových nástrojů a aplikací používaných k vývoji a implementaci distribuovaných řídicích systémů, široce používaných ve vědeckých zařízeních.
- Získejte název procesní proměnné (PV) EPICS pro požadovanou IO.
- Importujte knihovnu EPICS a načtěte hodnotu.
2 Získejte název EPICS PV
3 Jednoduchý Python EPICS Přample
Pyramid navíc vytvořil nástroj (EPICS Connect⁴), který vám umožňuje monitorovat procesní proměnné EPICS v reálném čase. Tento nástroj je užitečný pro potvrzení, zda je název EPICS PV správný a FX4 správně obsluhuje PV ve vaší síti.
4 PTC EPICS Connect
FX4 Programovací API
Koncepce a metody popsané v této příručce vycházejí z pojmů stanovených v IGX – Programmer Manual. Vysvětlení naleznete v tomto dokumentu a napřampinformace o tom, jak základní programování IGX a rozhraní fungují. Tato příručka pokrývá pouze IO a funkce specifické pro zařízení, které jsou jedinečné pro FX4.
4.1 Analogový vstup IO
Tyto IO se týkají konfigurace a sběru dat na analogových proudových vstupech FX4. Jednotky kanálových vstupů jsou založeny na uživatelsky konfigurovatelném nastavení zvaném „Sample Units“, platné možnosti zahrnují pA, nA, uA, mA a A.
Všechny 4 kanály používají stejné rozhraní IO a jsou nezávisle řízeny. Nahraďte channel_x za channel_1 , channel_2 , channel_3 nebo channel_4 v daném pořadí.
IO cesta | Popis |
/fx4/adc/channel_x | ČÍSLO POUZE PRO ČÍSLO Měřený proudový vstup. |
/fx4/adc/channel_x/scalar | NUMBER Jednoduchý skalár bez jednotek aplikovaný na kanál, ve výchozím nastavení 1. |
/fx4/adc/channel_x/zero_offset | NUMBER Aktuální offset v nA pro kanál. |
Následující IO nejsou nezávislé na kanálu a jsou aplikovány na všechny kanály současně.
IO cesta | Popis |
/fx4/channel_sum | ČÍSLO READONLY Součet aktuálních vstupních kanálů. |
/fx4/adc_unit | STRING Nastaví aktuální uživatelské jednotky pro každý kanál a součet. Možnosti: „pa“, „na“, „ua“, „ma“, „a“ |
/fx4/rozsah | STRING Nastavuje aktuální vstupní rozsah. Jak každý kód rozsahu odpovídá limitům maximálního proudu a BW, viz GUI. Možnosti: „0“, „1“, „2“, „3“, „4“, „5“, „6“, „7“ |
/fx4/adc/sample_frequency | ČÍSLO Frekvence v Hz, která sample data budou zprůměrována na. To řídí poměr signál/šum a rychlost přenosu dat pro všechny kanály. |
/fx4/adc/conversion_frequency | NUMBER Frekvence v Hz, na které ADC převede analogové na digitální hodnoty. Ve výchozím nastavení je to 100 kHz a tuto hodnotu budete muset měnit jen zřídka. |
/fx4/adc/offset_correction | ČÍSLO JEN PRO ČTENÍ Součet všech aktuálních posunů kanálu. |
4.2 Analogový výstup IO
Tyto IO se týkají konfigurace univerzálních analogových výstupů FX4, které se nacházejí pod analogovými vstupy na předním panelu. Všechny 4 kanály používají stejné rozhraní IO a jsou nezávisle řízeny. Nahraďte channel_x za channel_1 , channel_2 , channel_3 nebo channel_4 v daném pořadí.
IO cesta | Popis |
/fx4/dac /channel_x | ČÍSLO Příkaz svtage výstup. Tuto hodnotu lze zapsat pouze v případě, že je výstupní režim nastaven na ruční. |
/fx4/dac/channel_x/readback | ČÍSLO POUZE PRO ČTENÍ Měřený objemtage výstup. To je nejužitečnější při použití režimu výstupu výrazu. |
/fx4/dac/channel_x/output_mode | STRING Nastavuje výstupní režim pro kanál. Možnosti: „manual“, „expression“, „process_control“ |
/fx4/dac/channel _ x/slew_control_enable | BOOL Povolí nebo zakáže omezení rychlosti přeběhu. |
/fx4/dac/channel_ x/slew_rate | NUMBER Rychlost přeběhu ve V/s pro kanál. |
/fx4/dac/channel_x/upper_limit | ČÍSLO Maximální povolený objem příkazutage pro kanál. Platí pro všechny provozní režimy. |
/fx4/dac/channel _ x/lower_limit | ČÍSLO Minimální povolený objem příkazutage pro kanál. Platí pro všechny provozní režimy. |
/fx4/dac/channel _ x/ output _ expression | STRING Nastavuje výrazový řetězec používaný kanálem, když je v režimu výrazového výstupu. |
/fx4/dac/channel _ x/tlačítko_reset | TLAČÍTKO Resetuje příkaz voltage na 0. |
4.3 Digitální vstupy a výstupy
Tyto IO se týkají ovládání různých univerzálních digitálních vstupů a výstupů na FX4.
IO cesta | Popis |
/fx4/fr1 | Přijímač vláken BOOL pouze pro čtení 1. |
/fx4/ft1 | BOOL Fiber vysílač 1. |
/fx4/fr2 | Přijímač vláken BOOL pouze pro čtení 2. |
/fx4/ft2 | BOOL Fiber vysílač 2. |
/fx4/fr3 | Přijímač vláken BOOL pouze pro čtení 3. |
/fx4/ft3 | BOOL Fiber vysílač 3. |
/fx4/digital_expansion/d1 | BOOL D1 obousměrné digitální rozšíření IO. |
/fx4/digital_expansion/d2 | BOOL D2 obousměrné digitální rozšíření IO. |
/fx4/digital_expansion/d3 | BOOL D3 obousměrné digitální rozšíření IO. |
/fx4/digital_expansion/d4 | BOOL D4 obousměrné digitální rozšíření IO. |
4.3.1 Konfigurace digitálního IO
Všechny digitální jednotky mají podřízený IO pro konfiguraci jejich chování, včetně provozního režimu, který řídí, jak bude digitální zařízení fungovat. Každý digitální bude mít jinou sadu dostupných možností. Podrobnosti o dostupných možnostech pro kterou IO najdete v GUI.
Cesta IO dítěte | Popis |
…/režim | STRING Provozní režim pro digitální. Možnosti: „input“, „output“, „pwm“, „timer“, „kodér“, „capture“, „uart_rx“, „uart_tx“, „can_rx“, „can_tx“, „pru_input“ nebo „pru_output“ |
…/process_signal | STRING Název řídicího signálu procesu, pokud existuje. |
…/pull_mode | STRING Režim tažení nahoru/dolů pro digitální vstup. Možnosti: „nahoru“, „dolů“ nebo „vypnout“ |
4.4 Ovládání relé
Obě relé jsou nezávisle řízena a sdílejí stejný typ rozhraní. Nahraďte relay_x za relay_a nebo relay_b.
IO cesta | Popis |
/fx4/relay _ x/permit / user _ příkaz | BOOL Přikazuje relé otevřít nebo sepnout. Skutečný příkaz se pokusí sepnout relé, pokud jsou blokování povolena, a falešný příkaz vždy relé rozepne. |
/fx4/relay _ x/stav | READONLY STRING Aktuální stav relé. Uzamčená relé jsou otevřená, ale nelze je sepnout kvůli blokování. Stavy: „otevřeno“, „zavřeno“ nebo „zamčeno“ |
/fx4/relay _ x/automaticky _ zavřít | BOOL Je-li nastaveno na hodnotu true, relé se automaticky sepne, když jsou povolena blokování. Ve výchozím nastavení False. |
/fx4/relé _ x/ cyklus _ počet | ČÍSLO READONLY Počet cyklů relé od posledního resetu. Užitečné pro sledování životnosti relé. |
4.5 Vysoký objemtage Modul
Podrobnosti o FX4 high vol. viz IGX – Programmer Manualtage rozhraní. Nadřazená cesta komponenty je /fx4/high_votlage .
4.6 Ovladač dávky
Podrobnosti o rozhraní regulátoru dávky FX4 naleznete v příručce IGX – Programmer Manual. Nadřazená cesta komponenty je /fx4/dose_controller .
FX4 Python Examples
5.1 Datalogger využívající HTTP
Tento example ukazuje, jak zachytit řadu naměřených hodnot a uložit je do CSV file. Volbou dlouhé prodlevy mezi odečty můžete provádět dlouhodobý záznam dat, i když FX4 sampling rate je nastavena vyšší. To vám umožňuje nepřetržitě shromažďovat a ukládat měření po delší dobu, aniž by došlo k přetížení systému, což zajišťuje, že data jsou zachycována v intervalech vhodných pro vaši analýzu. Prodleva mezi odečty pomáhá regulovat tempo, jakým jsou data zaznamenávána, což umožňuje efektivní ukládání a snižuje riziko chybějících datových bodů a zároveň těží z vysokorychlostních sampling pro měření v reálném čase.
5.2 Jednoduché GUI Pythonu
Druhý example používá nástroj Tkinter GUI, který je vytvořen pro Python, k vytvoření zobrazení naměřených proudů. Toto rozhraní vám umožňuje vizualizovat aktuální odečty v uživatelsky přívětivém grafickém formátu. Velikost displeje lze změnit tak, aby byl dostatečně velký, aby se dal číst z celé místnosti, takže je ideální pro scénáře, kde je potřeba monitorování v reálném čase ve větších prostorách. Tkinter poskytuje snadný způsob, jak vytvářet interaktivní rozhraní, a jeho integrací s FX4 můžete rychle vytvořit vizuální zobrazení naměřených proudů, které lze upravit tak, aby vyhovovalo vašim specifickým potřebám.
5.3 Jednoduché WebZásuvky Přample
Tento example demonstruje WebRozhraní Sockets, což je preferovaná metoda pro čtení dat z FX4, když je vyžadována maximální šířka pásma. WebSokety poskytují plně duplexní komunikační kanál v reálném čase, což umožňuje rychlejší a efektivnější přenos dat ve srovnání s jinými metodami.
Bývalýample čte řadu samples, uvádí průměrný čas za sample a maximální latenci a uloží data do CSV file pro pozdější analýzu. Toto nastavení umožňuje efektivní monitorování v reálném čase a snadné ukládání dat pro následné zpracování.
Konkrétní výkon, kterého lze dosáhnout WebZásuvky závisí na spolehlivosti vašeho ethernetového rozhraní a relativní prioritě vaší aplikace. Pro optimální výsledky zajistěte, aby byla vaše síť stabilní a aby byl v případě potřeby upřednostněn přenos dat FX4.
Verze: v3
FX4 Python Examples: 21
Dokumenty / zdroje
![]() |
Programátor PYRAMID FX4 [pdfNávod k obsluze FX4 Programátor, FX4, Programátor |