www.pyramid.tech
FX4
FX4 Programmer Manual
ID dokumenta: 2711715845
Verzija: v3
FX4 programer
ID dokumenta: 2711715845
FX4 – Priručnik za FX4 programera
ID dokumenta: 2711650310
Autor | Matthew Nichols |
Vlasnik | Voditelj projekta |
Svrha | Objasnite koncepte programiranja koji su potrebni za korištenje API-ja i proširite proizvod kroz vanjske aplikacije. |
Obim | FX4 koncepti programiranja. |
Predviđena publika | Programeri softvera zainteresirani za korištenje proizvoda. |
Proces | https://pyramidtc.atlassian.net/wiki/pages/createpage.action? spaceKey=PQ&title=Standard%20Manual%20Creation%20Process |
Trening | NIJE PRIMJENJIVO |
Kontrola verzija
Verzija | Opis | Sačuvao | Sačuvano | Status |
v3 | Dodano jednostavno prekoview i više examples. | Matthew Nichols | 6. mart 2025. 10:29 | ODOBRENO |
v2 | Dodata digitalna IO sučelja i reference natrag na IGX. | Matthew Nichols | 3. maj 2024. 7:39 | ODOBRENO |
v1 | Prvo izdanje, još uvijek rad u toku. | Matthew Nichols | 21. februar 2024. 11:25 | ODOBRENO |
Kontrola dokumenata Ne Reviewed
Trenutna verzija dokumenta: v.1
No reviewers assigned.
1.1 Potpisi
za najnoviju verziju dokumenta
Petak, 7. mart 2025., 10:33 UTC
Matthew Nichols potpisao ; značenje: Review
Reference
Dokument | ID dokumenta | Autor | Verzija |
IGX – Priručnik za programera | 2439249921 | Matthew Nichols | 1 |
Programiranje FX4 završenoview
FX4 procesor radi na okruženju zvanom IGX, koje je izgrađeno na QNX visokopouzdanom operativnom sistemu u realnom vremenu kompanije BlackBerry (QNX Website¹). IGX pruža fleksibilan i sveobuhvatan interfejs za programiranje aplikacija (API) za korisnike koji žele da napišu sopstveni softver za računar.
IGX okruženje se dijeli sa drugim Pyramid proizvodima, što omogućava da se softverska rješenja razvijena za jedan proizvod lako prenesu na druge.
Programeri mogu pogledati kompletnu dokumentaciju za IGX dostupnu na Pyramidu webstranica na: IGX | Okvir modernog modularnog upravljačkog sistema za Web-omogućene aplikacije²
Ovaj odjeljak pruža uvod u testiranje dvije metode API-ja: HTTP koristeći JSON format i EPICS. Radi jednostavnosti, Python (Python Website³) se koristi kao example host računarski jezik, koji je dostupan i lak za upotrebu za neprofesionalne programere.
3.1 Korištenje Pythona i HTTP-a
Kao bivšiampPretpostavimo da želite da pročitate zbir izmerenih struja pomoću Pythona. Treba ti URL za taj određeni IO. FX4 web GUI pruža jednostavan način da ovo pronađete: jednostavno kliknite desnim tasterom miša na polje i izaberite 'Kopiraj HTTP URL' za kopiranje niza u međuspremnik.
Sada možete koristiti Python za testiranje povezanosti s korisničkim softverom putem HTTP-a i JSON-a. Možda ćete morati uvesti zahtjeve i json biblioteke za rukovanje HTTP zahtjevima i raščlanjivanjem podataka.
1 Jednostavan Python HTTP Example
3.2 Korištenje EPICS-a
Proces povezivanja FX4 preko EPICS (Experimental Physics and Industrial Control System) je sličan. EPICS je skup softverskih alata i aplikacija koji se koriste za razvoj i implementaciju distribuiranih kontrolnih sistema, koji se široko koriste u naučnim ustanovama.
- Dobijte naziv varijable procesa EPICS (PV) za željeni IO.
- Uvezite EPICS biblioteku i pročitajte vrijednost.
2 Dobijte EPICS PV ime
3 Simple Python EPICS Example
Osim toga, Pyramid je kreirao uslužni program (EPICS Connect⁴) koji vam omogućava da pratite varijable EPICS procesa u realnom vremenu. Ovaj alat je od pomoći da potvrdite da li je EPICS PV naziv ispravan i da li FX4 ispravno opslužuje PV na vašoj mreži.
4 PTC EPICS Connect
FX4 programski API
Koncepti i metode opisani u ovom priručniku nadovezuju se na koncepte uspostavljene u IGX – Programmerskom priručniku. Molimo pogledajte taj dokument za objašnjenje i nprampinformacije o tome kako funkcionišu osnovno IGX programiranje i interfejsi. Ovaj priručnik će pokriti samo IO specifičan za uređaj i funkcionalnost koja je jedinstvena za FX4.
4.1 Analogni ulaz IO
Ovi IO se odnose na konfigurisanje i prikupljanje podataka na analognim strujnim ulazima FX4. Jedinice ulaza kanala su bazirane na postavci koju može podesiti korisnik pod nazivom „Sample Units”, važeće opcije uključuju pA, nA, uA, mA i A.
Sva 4 kanala koriste isti interfejs IO i nezavisno se kontrolišu. Zamijenite kanal_x sa kanal_1, kanal_2, kanal_3, odnosno kanal_4.
IO Path | Opis |
/fx4/adc/channel_x | BROJ SAMO ZA ČITANJE Izmjereni strujni ulaz. |
/fx4/adc/channel_x/skalar | BROJ Jednostavan skalar bez jedinica primijenjen na kanal, 1 po defaultu. |
/fx4/adc/channel_x/zero_offset | BROJ Trenutni pomak u nA za kanal. |
Sljedeći IO nisu nezavisni od kanala i primjenjuju se na sve kanale istovremeno.
IO Path | Opis |
/fx4/channel_sum | BROJ SAMO ZA ČITANJE Zbir trenutnih ulaznih kanala. |
/fx4/adc_unit | STRING Postavlja trenutne korisničke jedinice za svaki kanal i zbroj. Opcije: “pa”, “na”, “ua”, “ma”, “a” |
/fx4/range | STRING Postavlja trenutni opseg unosa. Pogledajte GUI kako svaki kod opsega odgovara maksimalnim ulaznim granicama struje i BW. Opcije: “0”, “1”, “2”, “3”, “4”, “5”, “6”, “7” |
/fx4/adc/sample_frequency | BROJ Frekvencija u Hz koja samppodaci će biti prosječni na. Ovo kontrolira odnos signal-šum i brzinu prijenosa podataka za sve kanale. |
/fx4/adc/conversion_frequency | BROJ Frekvencija u Hz na kojoj će ADC pretvoriti analogne u digitalne vrijednosti. Podrazumevano, ovo je 100 kHz i samo ćete retko morati da promenite ovu vrednost. |
/fx4/adc/offset_correction | BROJ SAMO ZA ČITANJE Zbir trenutnih pomaka svih kanala. |
4.2 Analogni izlaz IO
Ovi IO se odnose na konfiguraciju analognih izlaza opšte namene FX4 koji se nalaze ispod analognih ulaza na prednjoj ploči. Sva 4 kanala koriste isti interfejs IO i nezavisno se kontrolišu. Zamijenite kanal_x sa kanal_1, kanal_2, kanal_3, odnosno kanal_4.
IO Path | Opis |
/fx4/dac /channel_x | NUMBER Command voltage output. Ova vrijednost se može upisati samo kada je izlazni način podešen na ručni. |
/fx4/dac/channel_x/readback | BROJ SAMO ZA ČITANJE Izmjerena voltage izlaz. Ovo je najkorisnije kada koristite način izlaza izraza. |
/fx4/dac/channel_x/output_mode | STRING Postavlja izlazni mod za kanal. Opcije: "ručno", "izraz", "kontrola_procesa" |
/fx4/dac/channel _ x/slew_control_enable | BOOL Omogućuje ili onemogućuje ograničavanje brzine kretanja. |
/fx4/dac/channel_ x/slew_rate | NUMBER Brzina kretanja u V/s za kanal. |
/fx4/dac/channel_x/upper_limit | BROJ Maksimalno dozvoljena naredba voltage za kanal. Primjenjuje se na sve načine rada. |
/fx4/dac/channel _ x/lower_limit | BROJ Minimalna dozvoljena komanda voltage za kanal. Primjenjuje se na sve načine rada. |
/fx4/dac/channel _ x/ izlaz _ izraz | STRING Postavlja niz izraza koji koristi kanal kada je u načinu izlaza izraza. |
/fx4/dac/channel _ x/reset_button | BUTTON Resetuje naredbu voltage do 0. |
4.3 Digitalni ulazi i izlazi
Ovi IO se odnose na kontrolu različitih digitalnih ulaza i izlaza opšte namene koji se nalaze na FX4.
IO Path | Opis |
/fx4/fr1 | BOOL Fiber prijemnik SAMO ZA ČITANJE 1. |
/fx4/ft1 | BOOL Fiber predajnik 1. |
/fx4/fr2 | BOOL Fiber prijemnik SAMO ZA ČITANJE 2. |
/fx4/ft2 | BOOL Fiber predajnik 2. |
/fx4/fr3 | BOOL Fiber prijemnik SAMO ZA ČITANJE 3. |
/fx4/ft3 | BOOL Fiber predajnik 3. |
/fx4/digital_expansion/d1 | BOOL D1 dvosmjerno digitalno proširenje IO. |
/fx4/digital_expansion/d2 | BOOL D2 dvosmjerno digitalno proširenje IO. |
/fx4/digital_expansion/d3 | BOOL D3 dvosmjerno digitalno proširenje IO. |
/fx4/digital_expansion/d4 | BOOL D4 dvosmjerno digitalno proširenje IO. |
4.3.1 Digitalna IO konfiguracija
Svi digitalni uređaji imaju podređeni IO za konfigurisanje njihovog ponašanja, uključujući način rada koji kontrolira kako će taj digitalni raditi. Svaki digitalni će imati drugačiji skup dostupnih opcija. Pogledajte GUI za detalje o tome koje su opcije dostupne za koji IO.
Child IO Path | Opis |
…/režim | STRING Način rada za digitalno. Opcije: “ulaz”, “izlaz”, “pwm”, “tajmer”, “koder”, “hvatanje”, “uart_rx”, “uart_tx”, “can_rx”, “can_tx”, “pru_input” ili “pru_output” |
…/proces_signal | STRING Naziv kontrolnog signala procesa, ako postoji. |
…/pull_mode | STRING Način povlačenja gore/dolje za digitalni ulaz. Opcije: “gore”, “dolje” ili “onemogući” |
4.4 Kontrola releja
Oba releja se nezavisno kontrolišu i dele isti tip interfejsa. Zamijenite relay_x sa relay_a ili relay_b respektivno.
IO Path | Opis |
/fx4/relay _ x/permit / user _ komanda | BOOL Naređuje releju za otvaranje ili zatvaranje. Tačna komanda će pokušati da zatvori relej ako su blokade odobrene, a lažna komanda će uvek otvoriti relej. |
/fx4/relej _ x/stanje | NIZ SAMO ČITANJE Trenutno stanje releja. Zaključani releji su otvoreni, ali se ne mogu zatvoriti zbog blokade. Stanje: “otvoreno”, “zatvoreno” ili “zaključano” |
/fx4/relej _ x/automatski _ zatvori | BOOL Kada je postavljeno na true, relej će se automatski zatvoriti kada se blokade odobri. Podrazumevano netačno. |
/fx4/relej _ x/ ciklus _ broj | BROJ SAMO ČITANJE Broj relejnih ciklusa od posljednjeg resetiranja. Korisno za praćenje životnog vijeka releja. |
4.5 Visoka voltage Modul
Pogledajte IGX – Priručnik za programere za detalje o FX4 high voltage interfejs. Roditeljska staza komponente je /fx4/high_votlage.
4.6 Kontrolor doze
Pogledajte IGX – Priručnik za programere za detalje o interfejsu kontrolera doze FX4. Roditeljska staza komponente je /fx4/dose_controller.
FX4 Python Examples
5.1 Data Logger koristeći HTTP
Ovaj example pokazuje kako uhvatiti određeni broj očitavanja i sačuvati ih u CSV-u file. Odabirom dugog kašnjenja između očitavanja, možete izvršiti dugotrajno evidentiranje podataka čak i ako FX4 sampling stopa je postavljena na više. Ovo vam omogućava da kontinuirano prikupljate i pohranjujete mjerenja tokom dužih perioda bez preopterećenja sistema, osiguravajući da se podaci hvataju u intervalima pogodnim za vašu analizu. Kašnjenje između očitavanja pomaže u regulaciji tempa kojim se podaci evidentiraju, omogućavajući efikasno pohranjivanje i smanjenje rizika od propuštanja tačaka podataka, a i dalje koristi od brzih sampling za mjerenja u realnom vremenu.
5.2 Jednostavan Python GUI
Drugi example koristi Tkinter GUI alat, koji je napravljen za Python, za kreiranje prikaza izmjerenih struja. Ovo sučelje vam omogućava da vizualizirate trenutna očitanja u grafičkom formatu prilagođenom korisniku. Veličina ekrana se može promijeniti kako bi bio dovoljno velik za čitanje iz cijele sobe, što ga čini idealnim za scenarije gdje je nadzor u realnom vremenu potreban u većim prostorima. Tkinter pruža jednostavan način za kreiranje interaktivnih interfejsa, a integracijom sa FX4, možete brzo izgraditi vizuelni prikaz izmerenih struja koji se može prilagoditi vašim specifičnim potrebama.
5.3 Jednostavno WebSockets Example
Ovaj example demonstrira WebInterfejs soketa, koji je poželjna metoda za čitanje podataka sa FX4 kada je potrebna maksimalna propusnost. WebUtičnice pružaju komunikacijski kanal punog dupleksa u realnom vremenu, omogućavajući brži i efikasniji prijenos podataka u odnosu na druge metode.
Bivšiample čita seriju samples, izvještava o prosječnom vremenu po sample i maksimalne latencije, i sprema podatke u CSV file za kasniju analizu. Ovo podešavanje omogućava efikasno praćenje u realnom vremenu i lako skladištenje podataka za naknadnu obradu.
Specifične performanse koje se mogu postići sa WebUtičnice zavise od pouzdanosti vašeg Ethernet sučelja i relativnog prioriteta vaše aplikacije. Za optimalne rezultate, osigurajte da je vaša mreža stabilna i da je prijenos podataka FX4 prioritet ako je potrebno.
Verzija: v3
FX4 Python Examples: 21
Dokumenti / Resursi
![]() |
PYRAMID FX4 programator [pdfUputstvo za upotrebu FX4 programer, FX4, programer |