www.pyramid.tech
FX4
Priročnik za programer FX4
ID dokumenta: 2711715845
Različica: v3
Programator FX4
ID dokumenta: 2711715845
Priročnik za programiranje FX4 – FX4
ID dokumenta: 2711650310
Avtor | Matthew Nichols |
Lastnik | Vodja projekta |
Namen | Pojasnite koncepte programiranja, potrebne za uporabo API-ja in razširitev izdelka prek zunanjih aplikacij. |
Področje uporabe | Koncepti programiranja, povezani z FX4. |
Predvideno občinstvo | Razvijalci programske opreme, ki jih zanima uporaba izdelka. |
Proces | https://pyramidtc.atlassian.net/wiki/pages/createpage.action? spaceKey=PQ&title=Standardni%20Manual%20Creation%20Process |
Usposabljanje | SE NE UPORABLJA |
Nadzor različic
Različica | Opis | Shranil | Shranjeno naprej | Stanje |
v3 | Dodan preprost overview in več examples. | Matthew Nichols | 6. marec 2025 ob 10 | ODOBRENA |
v2 | Dodani digitalni IO vmesniki in reference nazaj na IGX. | Matthew Nichols | 3. maj 2024 ob 7 | ODOBRENA |
v1 | Začetna izdaja, delo še poteka. | Matthew Nichols | 21. februar 2024 ob 11 | ODOBRENA |
Nadzor dokumentov Ne Reviewed
Trenutna različica dokumenta: v.1
Ne ponovnoviewdodeljeni.
1.1 Podpisi
za najnovejšo različico dokumenta
Petek, 7. marec 2025, 10:33 UTC
Matthew Nichols podpisan ; pomen: Review
Reference
Dokument | ID dokumenta | Avtor | Različica |
IGX – Priročnik za programerje | 2439249921 | Matthew Nichols | 1 |
Konec programiranja FX4view
Procesor FX4 deluje v okolju, imenovanem IGX, ki je zgrajeno na visoko zanesljivem operacijskem sistemu QNX v realnem času podjetja BlackBerry (QNX Webmesto¹). IGX ponuja prilagodljiv in celovit vmesnik za programiranje aplikacij (API) za uporabnike, ki želijo napisati lastno programsko opremo za gostiteljski računalnik.
Okolje IGX si delijo drugi izdelki Pyramid, kar omogoča, da se programske rešitve, razvite za en izdelek, enostavno prenesejo na druge.
Programerji se lahko sklicujejo na celotno dokumentacijo za IGX, ki je na voljo na Piramidi webspletno mesto na: IGX | Moderno modularno ogrodje nadzornega sistema za Web-omogočene aplikacije²
Ta razdelek ponuja uvod v testiranje dveh metod API-ja: HTTP z uporabo formata JSON in EPICS. Zaradi poenostavitve, Python (Python Webmesto³) se uporablja kot nprample gostiteljski računalniški jezik, ki je dostopen in enostaven za uporabo za neprofesionalne programerje.
3.1 Uporaba Pythona in HTTP
Kot bivšiample, predpostavimo, da želite prebrati vsoto izmerjenih tokov s Pythonom. Potrebujete URL za ta določen IO. FX4 web GUI omogoča preprost način, da to najdete: preprosto kliknite z desno tipko miške v polje in izberite »Kopiraj HTTP«. URL', da kopirate niz v odložišče.
Zdaj lahko uporabite Python za testiranje povezljivosti z uporabniško programsko opremo prek HTTP in JSON. Morda boste morali uvoziti zahteve in knjižnice json za obdelavo zahtev HTTP in razčlenjevanje podatkov.
1 Simple Python HTTP Example
3.2 Uporaba EPICS
Postopek za povezavo FX4 prek EPICS (Experimental Physics and Industrial Control System) je podoben. EPICS je nabor programskih orodij in aplikacij, ki se uporabljajo za razvoj in implementacijo porazdeljenih nadzornih sistemov, ki se pogosto uporabljajo v znanstvenih ustanovah.
- Pridobite ime spremenljivke procesa EPICS (PV) za želeni IO.
- Uvozite knjižnico EPICS in preberite vrednost.
2 Pridobite ime EPICS PV
3 Simple Python EPICS Example
Poleg tega je Pyramid ustvaril pripomoček (EPICS Connect⁴), ki vam omogoča spremljanje procesnih spremenljivk EPICS v realnem času. To orodje je v pomoč pri potrditvi, ali je ime EPICS PV pravilno in ali FX4 pravilno streže PV v vašem omrežju.
4 PTC EPICS Connect
API za programiranje FX4
Koncepti in metode, opisani v tem priročniku, temeljijo na konceptih, določenih v IGX – Priročniku za programiranje. Oglejte si ta dokument za razlago in nprampkako delujejo osnovno programiranje in vmesniki IGX. Ta priročnik bo pokrival samo IO in funkcije, specifične za napravo, ki so edinstvene za FX4.
4.1 Analogni vhod IO
Ti IO se nanašajo na konfiguracijo in zbiranje podatkov o analognih tokovnih vhodih FX4. Enote kanalskih vhodov temeljijo na uporabniško nastavljivi nastavitvi, imenovani »Sample enote« veljavne možnosti vključujejo pA, nA, uA, mA in A.
Vsi 4 kanali uporabljajo isti vmesnik IO in so neodvisno nadzorovani. Zamenjajte kanal_x s kanal_1, kanal_2, kanal_3 ali kanal_4.
IO pot | Opis |
/fx4/adc/kanal_x | READONLY NUMBER Izmerjeni trenutni vhod. |
/fx4/adc/kanal_x/skalar | ŠTEVILO Preprost skalar brez enote, uporabljen za kanal, privzeto 1. |
/fx4/adc/channel_x/zero_offset | NUMBER Trenutni odmik v nA za kanal. |
Naslednji IO niso neodvisni od kanala in se uporabljajo za vse kanale hkrati.
IO pot | Opis |
/fx4/channel_sum | READONLY NUMBER Vsota trenutnih vhodnih kanalov. |
/fx4/adc_unit | STRING Nastavi trenutne uporabniške enote za vsak kanal in vsoto. Možnosti: "pa", "na", "ua", "ma", "a" |
/fx4/razpon | STRING Nastavi trenutni obseg vnosa. Glejte GUI za informacije o tem, kako vsaka koda obsega ustreza največjim trenutnim vhodnim mejam in BW. Možnosti: “0”, “1”, “2”, “3”, “4”, “5”, “6”, “7” |
/fx4/adc/sample_frekvenca | ŠTEVILO Frekvenca v Hz, ki jo sample podatki bodo povprečeni na. To nadzira razmerje signal/šum in hitrost prenosa podatkov za vse kanale. |
/fx4/adc/conversion_frequency | ŠTEVILO Frekvenca v Hz, pri kateri bo ADC pretvoril analogne v digitalne vrednosti. Privzeto je to 100 kHz in to vrednost boste morali spremeniti le redko. |
/fx4/adc/offset_correction | READONLY NUMBER Vsota vseh trenutnih odmikov kanala. |
4.2 Analogni izhod IO
Ti IO se nanašajo na konfiguracijo splošnih analognih izhodov FX4 pod analognimi vhodi na sprednji plošči. Vsi 4 kanali uporabljajo isti vmesnik IO in so neodvisno nadzorovani. Zamenjajte kanal_x s kanal_1, kanal_2, kanal_3 ali kanal_4.
IO pot | Opis |
/fx4/dac /kanal_x | NUMBER Command voltage izhod. To vrednost je mogoče zapisati le, če je izhodni način nastavljen na ročno. |
/fx4/dac/channel_x/readback | ŠTEVILKA SAMO ZA BRANJE Izmerjena voltage izhod. To je najbolj koristno pri uporabi izraznega izhodnega načina. |
/fx4/dac/channel_x/output_mode | STRING Nastavi izhodni način za kanal. Možnosti: “manual”, “expression”, “process_control” |
/fx4/dac/channel _ x/slew_control_enable | BOOL Omogoči ali onemogoči omejevanje hitrosti naraščanja. |
/fx4/dac/channel_ x/slew_rate | ŠTEVILO Hitrost padanja v V/s za kanal. |
/fx4/dac/channel_x/upper_limit | ŠTEVILO Največji dovoljeni ukaz voltage za kanal. Velja za vse načine delovanja. |
/fx4/dac/kanal _ x/spodnja_meja | ŠTEVILO Najmanjši dovoljeni ukaz voltage za kanal. Velja za vse načine delovanja. |
/fx4/dac/kanal _ x/ izhodni _ izraz | STRING Nastavi izrazni niz, ki ga uporablja kanal, ko je v načinu izhoda izraza. |
/fx4/dac/channel _ x/reset_button | GUMB Ponastavi ukaz voltage do 0. |
4.3 Digitalni vhodi in izhodi
Ti IO se nanašajo na nadzor različnih splošnih digitalnih vhodov in izhodov, ki jih najdemo na FX4.
IO pot | Opis |
/fx4/fr1 | READONLY BOOL Optični sprejemnik 1. |
/fx4/ft1 | Optični oddajnik BOOL 1. |
/fx4/fr2 | READONLY BOOL Optični sprejemnik 2. |
/fx4/ft2 | Optični oddajnik BOOL 2. |
/fx4/fr3 | READONLY BOOL Optični sprejemnik 3. |
/fx4/ft3 | Optični oddajnik BOOL 3. |
/fx4/digitalna_razširitev/d1 | BOOL D1 dvosmerni digitalni razširitveni IO. |
/fx4/digitalna_razširitev/d2 | BOOL D2 dvosmerni digitalni razširitveni IO. |
/fx4/digitalna_razširitev/d3 | BOOL D3 dvosmerni digitalni razširitveni IO. |
/fx4/digitalna_razširitev/d4 | BOOL D4 dvosmerni digitalni razširitveni IO. |
4.3.1 Konfiguracija digitalnega IO
Vse digitalne naprave imajo podrejene IO za konfiguriranje njihovega vedenja, vključno z načinom delovanja, ki nadzoruje, kako bo ta digitalna naprava delovala. Vsak digitalni bo imel drugačen nabor razpoložljivih možnosti. Glejte GUI za podrobnosti o tem, katere možnosti so na voljo za kateri IO.
Podrejena pot IO | Opis |
…/način | STRING Način delovanja za digitalni. Možnosti: "input", "output", "pwm", "timer", "enkoder", "capture", "uart_rx", "uart_tx", "can_rx", "can_tx", "pru_input" ali "pru_output" |
…/signal_procesa | STRING Ime signala krmiljenja procesa, če obstaja. |
…/pull_mode | STRING Način vlečenja gor/dol za digitalni vhod. Možnosti: "gor", "dol" ali "onemogoči" |
4.4 Relejni nadzor
Oba releja sta neodvisno krmiljena in imata isti tip vmesnika. Zamenjajte relay_x z relay_a ali relay_b.
IO pot | Opis |
/fx4/relay _ x/permit / user _ ukaz | BOOL Ukaže, da se rele odpre ali zapre. Pravi ukaz bo poskušal zapreti rele, če so zapore odobrene, napačni ukaz pa bo vedno odprl rele. |
/fx4/rele _ x/stanje | READONLY STRING Trenutno stanje releja. Zaklenjeni releji so odprti, vendar jih ni mogoče zapreti zaradi zapore. Stanja: "odprto", "zaprto" ali "zaklenjeno" |
/fx4/relay _ x/automatically _ close | BOOL Ko je nastavljeno na true, se bo rele samodejno zaprl, ko so zapore odobrene. Privzeto je napačno. |
/fx4/rele _ x/ število ciklov _ | READONLY NUMBER Število ciklov releja od zadnje ponastavitve. Uporabno za sledenje življenjski dobi releja. |
4.5 Visoka glasnosttage Modul
Za podrobnosti o FX4 high voltage vmesnik. Nadrejena pot komponente je /fx4/high_votlage.
4.6 Krmilnik odmerka
Za podrobnosti o vmesniku krmilnika odmerka FX4 glejte priročnik za programerja IGX. Nadrejena pot komponente je /fx4/dose_controller.
FX4 Python Examples
5.1 Zapisovalnik podatkov, ki uporablja HTTP
Ta bivšiample prikazuje, kako zajeti številne odčitke in jih shraniti v CSV file. Z izbiro dolgega zamika med odčitki lahko izvajate dolgoročno beleženje podatkov, tudi če FX4 sampstopnja linga je nastavljena višje. To vam omogoča neprekinjeno zbiranje in shranjevanje meritev v daljših obdobjih, ne da bi preobremenili sistem, kar zagotavlja, da se podatki zajemajo v intervalih, primernih za vašo analizo. Zakasnitev med odčitki pomaga uravnavati hitrost beleženja podatkov, kar omogoča učinkovito shranjevanje in zmanjšuje tveganje manjkajočih podatkovnih točk, medtem ko še vedno izkorišča prednosti hitrih sampling za meritve v realnem času.
5.2 Preprost GUI Python
Drugi example uporablja orodje Tkinter GUI, ki je zgrajeno za Python, da ustvari prikaz izmerjenih tokov. Ta vmesnik vam omogoča vizualizacijo trenutnih odčitkov v uporabniku prijazni grafični obliki. Velikost zaslona je mogoče spremeniti tako, da je dovolj velik za branje iz drugega prostora, zaradi česar je idealen za scenarije, kjer je v večjih prostorih potreben nadzor v realnem času. Tkinter ponuja preprost način za ustvarjanje interaktivnih vmesnikov in z integracijo z FX4 lahko hitro sestavite vizualni prikaz izmerjenih tokov, ki ga je mogoče prilagoditi vašim posebnim potrebam.
5.3 Preprosto WebVtičnice Example
Ta bivšiample prikazuje WebVmesnik vtičnic, ki je prednostna metoda za branje podatkov iz FX4, ko je potrebna največja pasovna širina. WebVtičnice zagotavljajo komunikacijski kanal v realnem času s polnim dupleksom, kar omogoča hitrejši in učinkovitejši prenos podatkov v primerjavi z drugimi metodami.
Bivšiample bere vrsto samples, poroča o povprečnem času na sample in največjo zakasnitvijo ter shrani podatke v CSV file za poznejšo analizo. Ta nastavitev omogoča učinkovito spremljanje v realnem času in enostavno shranjevanje podatkov za naknadno obdelavo.
Posebna učinkovitost, ki jo je mogoče doseči z WebVtičnice so odvisne od zanesljivosti vašega vmesnika Ethernet in relativne prioritete vaše aplikacije. Za optimalne rezultate zagotovite, da je vaše omrežje stabilno in da ima prenos podatkov FX4 po potrebi prednost.
Različica: v3
FX4 Python Examples: 21
Dokumenti / Viri
![]() |
Programator PYRAMID FX4 [pdf] Navodila za uporabo FX4 programator, FX4, programator |