Logo PYRAMIDwww.pyramid.tech
FX4
Manuál programátoru FX4
ID dokumentu: 2711715845
Verze: v3Programátor PYRAMID FX4

Programátor FX4

ID dokumentu: 2711715845
FX4 – FX4 Programátorská příručka

Programátor PYRAMID FX4 - ikona 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Ý

Programátor PYRAMID FX4 - ikona 1 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.

Programátor PYRAMID FX4 - Používání Pythonu a HTTP

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.

Programátor PYRAMID FX4 - HTTP požadavky a analýza dat1 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.

  1. https://blackberry.qnx.com/en
  2. https://pyramid.tech/products/igx
  3. https://www.python.org/
  1. Získejte název procesní proměnné (PV) EPICS pro požadovanou IO.
  2. Importujte knihovnu EPICS a načtěte hodnotu.

Programátor PYRAMID FX4 - procesní proměnná EPICS2 Získejte název EPICS PVProgramátor PYRAMID FX4 - Jednoduchý Python EPICS Example3 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.

Programátor PYRAMID FX4 - EPICS Connect4 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.

Programátor PYRAMID FX4 - Datalogger využívající HTTPProgramátor PYRAMID FX4 – Datalogger využívající HTTP 2Programátor PYRAMID FX4 – Datalogger využívající HTTP 3Programátor PYRAMID FX4 – Datalogger využívající HTTP 4

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.

Programátor PYRAMID FX4 - Jednoduché GUI pro PythonProgramátor PYRAMID FX4 - Jednoduché GUI Pythonu 2Programátor PYRAMID FX4 - Jednoduché GUI Pythonu 3Programátor PYRAMID FX4 - Jednoduché GUI Pythonu 4Programátor PYRAMID FX4 - Jednoduché GUI Pythonu 5Programátor PYRAMID FX4 - Jednoduché GUI Pythonu 6Programátor PYRAMID FX4 - Jednoduché GUI Pythonu 7

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.

Programátor PYRAMID FX4 – jednoduchý WebZásuvky PřampleProgramátor PYRAMID FX4 – jednoduchý WebZásuvky Přample 2Programátor PYRAMID FX4 – jednoduchý WebZásuvky Přample 3

Verze: v3
FX4 Python Examples: 21

Dokumenty / zdroje

Programátor PYRAMID FX4 [pdfNávod k obsluze
FX4 Programátor, FX4, Programátor

Reference

Zanechte komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *