PYRAMID logowww.pyramid.tech
FX4
FX4 Programmer Manual
ID dokumenta: 2711715845
Verzija: v3PYRAMID FX4 programator

FX4 programer

ID dokumenta: 2711715845
FX4 – Priručnik za FX4 programera

PYRAMID FX4 programator - ikona 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

PYRAMID FX4 programator - ikona 1 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.

PYRAMID FX4 programer - Koristeći Python i HTTP

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.

PYRAMID FX4 programer - HTTP zahtjevi i raščlanjivanje podataka1 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.

  1. https://blackberry.qnx.com/en
  2. https://pyramid.tech/products/igx
  3. https://www.python.org/
  1. Dobijte naziv varijable procesa EPICS (PV) za željeni IO.
  2. Uvezite EPICS biblioteku i pročitajte vrijednost.

PYRAMID FX4 programator - EPICS procesna varijabla2 Dobijte EPICS PV imePYRAMID FX4 programer - Simple Python EPICS Example3 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.

PYRAMID FX4 programator - EPICS Connect4 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.

PYRAMID FX4 Programer - Data Logger koristeći HTTPPYRAMID FX4 Programer - Data Logger koristeći HTTP 2PYRAMID FX4 Programer - Data Logger koristeći HTTP 3PYRAMID FX4 Programer - Data Logger koristeći HTTP 4

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.

PYRAMID FX4 Programer - Jednostavan Python GUIPYRAMID FX4 programator - Jednostavan Python GUI 2PYRAMID FX4 programator - Jednostavan Python GUI 3PYRAMID FX4 programator - Jednostavan Python GUI 4PYRAMID FX4 programator - Jednostavan Python GUI 5PYRAMID FX4 programator - Jednostavan Python GUI 6PYRAMID FX4 programator - Jednostavan Python GUI 7

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.

PYRAMID FX4 programator - jednostavan WebSockets ExamplePYRAMID FX4 programator - jednostavan WebSockets Example 2PYRAMID FX4 programator - jednostavan WebSockets Example 3

Verzija: v3
FX4 Python Examples: 21

Dokumenti / Resursi

PYRAMID FX4 programator [pdfUputstvo za upotrebu
FX4 programer, FX4, programer

Reference

Ostavite komentar

Vaša email adresa neće biti objavljena. Obavezna polja su označena *