sigla PYRAMIDwww.pyramid.tech
FX4
Manual de programare FX4
ID document: 2711715845
Versiune: v3Programator PYRAMID FX4

Programator FX4

ID document: 2711715845
Manual de programare FX4 – FX4

Programator PYRAMID FX4 - pictogramă ID document: 2711650310

Autor Matthew Nichols
Proprietar Sef de proiect
Scop Explicați conceptele de programare necesare pentru a utiliza API-ul și pentru a extinde produsul prin aplicații externe.
Domeniul de aplicare Concepte de programare legate de FX4.
Publicul vizat Dezvoltatori de software interesați să utilizeze produsul.
Proces https://pyramidtc.atlassian.net/wiki/pages/createpage.action?
spaceKey=PQ&title=Standard%20Manual%20Creation%20Proces
Antrenamentul NU SE APLICĂ

Controlul versiunilor

Versiune Descriere  Salvat de  Salvat pe  Stare
v3 A adăugat un simplu overview si mai mult examples. Matthew Nichols 6 martie 2025 10:29 APROBAT
v2 S-au adăugat interfețe digitale IO și referințe înapoi la IGX. Matthew Nichols 3 mai 2024 7:39 APROBAT
v1 Lansare inițială, încă o lucrare în curs. Matthew Nichols 21 februarie 2024 11:25 APROBAT

Programator PYRAMID FX4 - pictograma 1 Controlul documentelor Nu Reviewed
Versiunea curentă a documentului: v.1
Nu reviewei alocați.

1.1 Semnături
pentru cea mai recentă versiune a documentului
Vineri, 7 martie 2025, 10:33 UTC
Matthew Nichols a semnat; sens: Review

Referințe

Document ID document  Autor  Versiune
IGX – Manual de programare 2439249921 Matthew Nichols 1

S-a terminat programarea FX4view

Procesorul FX4 rulează într-un mediu numit IGX, care este construit pe sistemul de operare QNX de înaltă fiabilitate în timp real de la BlackBerry (QNX Website-ul¹). IGX oferă o interfață de programare a aplicațiilor (API) flexibilă și cuprinzătoare pentru utilizatorii care doresc să scrie propriul software pentru computerul gazdă.
Mediul IGX este partajat peste alte produse Pyramid, permițând ca soluțiile software dezvoltate pentru un produs să fie ușor transferate altora.
Programatorii se pot referi la documentația completă pentru IGX disponibilă pe Pyramid website la: IGX | Cadrul modern al sistemului de control modular pentru Web-Aplicații activate²

Această secțiune oferă o introducere în testarea a două dintre metodele API: HTTP folosind formatul JSON și EPICS. Pentru simplitate, Python (Piton Website-ul³) este folosit ca examplimbajul computerului gazdă, care este accesibil și ușor de utilizat pentru programatorii neprofesioniști.

3.1 Utilizarea Python și HTTP
Ca un exampsă presupunem că doriți să citiți suma curenților măsurați cu Python. Ai nevoie de URL pentru acel IO anume. FX4 web GUI oferă o modalitate ușoară de a găsi acest lucru: pur și simplu faceți clic dreapta în câmp și selectați „Copiați HTTP URL' pentru a copia șirul în clipboard.

Programator PYRAMID FX4 - Folosind Python și HTTP

Acum puteți utiliza Python pentru a testa conectivitatea la software-ul utilizatorului prin HTTP și JSON. Poate fi necesar să importați cererile și bibliotecile json pentru a gestiona solicitările HTTP și analiza datelor.

Programator PYRAMID FX4 - solicitări HTTP și analiza datelor1 Ex. HTTP simplu Pythonample

3.2 Utilizarea EPICS
Procesul de conectare a FX4 prin EPICS (Experimental Physics and Industrial Control System) este similar. EPICS este un set de instrumente software și aplicații utilizate pentru dezvoltarea și implementarea sistemelor de control distribuit, utilizate pe scară largă în facilitățile științifice.

  1. https://blackberry.qnx.com/en
  2. https://pyramid.tech/products/igx
  3. https://www.python.org/
  1. Obțineți numele variabilei de proces (PV) EPICS pentru IO-ul dorit.
  2. Importați biblioteca EPICS și citiți valoarea.

Programator PYRAMID FX4 - variabilă de proces EPICS2 Obțineți numele EPICS PVProgramator PYRAMID FX4 - Simplu Python EPICS Example3 EPICS simple Python Example

În plus, Pyramid a creat un utilitar (EPICS Connect⁴) care vă permite să monitorizați variabilele procesului EPICS în timp real. Acest instrument este util pentru a confirma dacă numele EPICS PV este corect și dacă FX4 deservește corect PV în rețeaua dvs.

Programator PYRAMID FX4 - EPICS Connect4 PTC EPICS Connect

API de programare FX4

Conceptele și metodele descrise în acest manual se bazează pe conceptele stabilite în Manualul IGX – Programator. Vă rugăm să consultați acel document pentru explicații și exampfișiere despre cum funcționează programarea de bază și interfețele IGX. Acest manual va acoperi doar IO-urile și funcționalitățile specifice dispozitivului, care sunt unice pentru FX4.

4.1 Intrare analogică IO
Aceste IO se referă la configurarea și colectarea datelor pe intrările de curent analogice ale FX4. Unitățile de intrare ale canalului se bazează pe setarea configurabilă de utilizator numită „Sample Units”, opțiunile valide includ pA, nA, uA, mA și A.
Toate cele 4 canale folosesc aceeași interfață IO și sunt controlate independent. Înlocuiți channel_x cu channel_1 , channel_2 , channel_3 , sau, respectiv, channel_4.

Calea IO Descriere
/fx4/adc/channel_x NUMĂR DE CITIRE Intrarea curentă măsurată.
/fx4/adc/channel_x/scalar NUMĂR Scalar simplu fără unitate aplicat canalului, 1 implicit.
/fx4/adc/channel_x/zero_offset NUMBER Offset curent în nA pentru canal.

Următoarele IO nu sunt independente de canal și sunt aplicate la toate canalele simultan.

Calea IO  Descriere
/fx4/canal_sum READONLY NUMBER Suma canalelor de intrare curente.
/fx4/adc_unit STRING Setează unitățile utilizator curente pentru fiecare canal și sumă.
Opțiuni: „pa”, „na”, „ua”, „ma”, „a”
/fx4/range STRING Setează intervalul de intrare curent. Consultați GUI pentru modul în care fiecare cod de interval corespunde limitelor maxime de intrare curente și BW.
Opțiuni: „0”, „1”, „2”, „3”, „4”, „5”, „6”, „7”
/fx4/adc/sample_frequency NUMĂR Frecvența în Hz care sampdatele vor fi mediate la. Aceasta controlează raportul semnal-zgomot și rata de date pentru toate canalele.
/fx4/adc/conversion_frequency NUMĂR Frecvența în Hz la care ADC-ul va converti valorile analogice în digitale. În mod implicit, aceasta este de 100 kHz și va trebui să modificați această valoare doar rar.
/fx4/adc/offset_correction NUMĂR DE CITIRE Suma decalajelor curente ale tuturor canalului.

4.2 Ieșire analogică IO
Aceste IO se referă la configurația ieșirilor analogice de uz general ale FX4 aflate sub intrările analogice de pe panoul frontal. Toate cele 4 canale folosesc aceeași interfață IO și sunt controlate independent. Înlocuiți channel_x cu channel_1 , channel_2 , channel_3 , sau, respectiv, channel_4.

Calea IO  Descriere
/fx4/dac /channel_x Comanda NUMĂR voltagieșire. Această valoare poate fi scrisă numai atunci când modul de ieșire este setat pe manual.
/fx4/dac/channel_x/readback NUMĂR DE CITIRE Vol. măsurattagieșire.
Acest lucru este cel mai util atunci când utilizați modul de ieșire a expresiei.
/fx4/dac/channel_x/output_mode STRING Setează modul de ieșire pentru canal.
Opțiuni: „manual”, „expresie”, „control_proces”
/fx4/dac/channel _ x/slew_control_enable BOOL Activează sau dezactivează limitarea ratei de înclinare.
/fx4/dac/channel_x/slew_rate NUMĂR Rată de slew în V/s pentru canal.
/fx4/dac/channel_x/upper_limit NUMĂR Comanda maximă permisă voltage pentru canal. Se aplică tuturor modurilor de operare.
/fx4/dac/channel _ x/lower_limit NUMĂR Comanda minimă permisă voltage pentru canal. Se aplică tuturor modurilor de operare.
/fx4/dac/channel _ x/ ieșire _ expresie STRING Setează șirul de expresie utilizat de canal atunci când este în modul de ieșire a expresiei.
/fx4/dac/channel _ x/buton_resetare BUTON Resetează comanda voltage la 0.

4.3 Intrări și ieșiri digitale
Aceste IO se referă la controlul diferitelor intrări și ieșiri digitale de uz general găsite pe FX4.

Calea IO  Descriere
/fx4/fr1 READONLY BOOL Fibră receptor 1.
/fx4/ft1 BOOL Transmițător cu fibră 1.
/fx4/fr2 READONLY BOOL Fibră receptor 2.
/fx4/ft2 BOOL Transmițător cu fibră 2.
/fx4/fr3 READONLY BOOL Fibră receptor 3.
/fx4/ft3 BOOL Transmițător cu fibră 3.
/fx4/digital_expansion/d1 BOOL D1 extindere digitală bidirecțională IO.
/fx4/digital_expansion/d2 BOOL D2 extindere digitală bidirecțională IO.
/fx4/digital_expansion/d3 BOOL D3 extindere digitală bidirecțională IO.
/fx4/digital_expansion/d4 BOOL D4 extindere digitală bidirecțională IO.

4.3.1 Configurare digitală IO
Toate digitalele au IO copil pentru configurarea comportamentului lor, inclusiv un mod de operare care controlează modul în care va funcționa acel digital. Fiecare digital va avea un set diferit de opțiuni disponibile. Consultați GUI pentru detalii despre opțiunile disponibile pentru ce IO.

Cale IO copil Descriere
…/modul STRING Mod de operare pentru digital.
Opțiuni: „input“, „output”, „pwm”, „timer”, „encoder”, „capture”, „uart_rx”, „uart_tx”, „can_rx”, „can_tx”, „pru_input” sau „pru_output”
…/semnal_proces ȘIR Numele semnalului de control al procesului, dacă există.
…/pull_mode STRING Mod trage sus/jos pentru o intrare digitală.
Opțiuni: „sus”, „jos” sau „dezactivare”

4.4 Control releu
Ambele relee sunt controlate independent și au același tip de interfață. Înlocuiți relay_x cu relay_a sau, respectiv, relay_b.

Calea IO  Descriere
/fx4/relay _ x/permit / user _ comanda BOOL Comandă deschiderea sau închiderea releului. O comandă adevărată va încerca să închidă releul dacă interblocările sunt acordate, iar o comandă falsă va deschide întotdeauna releul.
/fx4/releu _ x/stare READONLY STRING Starea curentă a releului.
Releele blocate sunt deschise, dar nu pot fi închise din cauza unei interblocări.
State: „deschis”, „închis” sau „blocat”
/fx4/releu _ x/închidere automată BOOL Când este setat la adevărat, releul se va închide automat când interblocarea este acordată. Fals în mod implicit.
/fx4/releu _ x/ ciclu _ număr READONLY NUMBER Numărul de cicluri de releu de la ultima resetare. Util pentru urmărirea duratei de viață a releului.

4.5 Vol. Ridicattage Modulul
Consultați manualul IGX – Programator pentru detalii despre FX4 high voltage interfață. Calea părinte a componentei este /fx4/high_votlage .

4.6 Controler de doză
Consultați Manualul IGX – Programator pentru detalii despre interfața controlerului de doză FX4. Calea părinte a componentei este /fx4/dose_controller .

FX4 Python Examples

5.1 Înregistrare de date folosind HTTP
Acest example demonstrează cum să captați un număr de citiri și să le salvați într-un CSV file. Alegând o întârziere mare între citiri, puteți efectua înregistrarea de date pe termen lung chiar dacă FX4 samprata de ling este stabilită mai mare. Acest lucru vă permite să colectați și să stocați în mod continuu măsurători pe perioade lungi, fără a copleși sistemul, asigurându-vă că datele sunt capturate la intervale potrivite pentru analiza dumneavoastră. Întârzierea dintre citiri ajută la reglarea ritmului în care sunt înregistrate datele, permițând stocarea eficientă și reducând riscul de lipsă a punctelor de date, beneficiind în același timp de viteze mari.ampling pentru măsurători în timp real.

Programator PYRAMID FX4 - Înregistrare de date folosind HTTPProgramator PYRAMID FX4 - Înregistrare de date folosind HTTP 2Programator PYRAMID FX4 - Înregistrare de date folosind HTTP 3Programator PYRAMID FX4 - Înregistrare de date folosind HTTP 4

5.2 GUI Python simplu
Al doilea example folosește instrumentul Tkinter GUI, care este construit pentru Python, pentru a crea o afișare a curenților măsurați. Această interfață vă permite să vizualizați citirile curente într-un format grafic ușor de utilizat. Ecranul poate fi redimensionat pentru a-l face suficient de mare pentru a putea citi dintr-o cameră, ceea ce îl face ideal pentru scenariile în care este necesară monitorizarea în timp real în spații mai mari. Tkinter oferă o modalitate ușoară de a crea interfețe interactive și, integrându-l cu FX4, puteți construi rapid un afișaj vizual al curenților măsurați, care poate fi personalizat pentru a se potrivi nevoilor dumneavoastră specifice.

Programator PYRAMID FX4 - GUI Python simpluProgramator PYRAMID FX4 - GUI Python simplu 2Programator PYRAMID FX4 - GUI Python simplu 3Programator PYRAMID FX4 - GUI Python simplu 4Programator PYRAMID FX4 - GUI Python simplu 5Programator PYRAMID FX4 - GUI Python simplu 6Programator PYRAMID FX4 - GUI Python simplu 7

5.3 Simplu WebPrize Example
Acest example demonstrează WebInterfață socket, care este metoda preferată pentru citirea datelor de la FX4 atunci când este necesară o lățime de bandă maximă. WebPrizele oferă un canal de comunicație full-duplex în timp real, permițând un transfer de date mai rapid și mai eficient în comparație cu alte metode.
Example citește o serie de samples, raportează timpul mediu pe sample și latența maximă și salvează datele într-un CSV file pentru analiza ulterioară. Această configurație permite monitorizarea eficientă în timp real și stocarea ușoară a datelor pentru post-procesare.
Performanța specifică cu care se poate obține WebPrizele depinde de fiabilitatea interfeței dumneavoastră Ethernet și de prioritatea relativă a aplicației dumneavoastră. Pentru rezultate optime, asigurați-vă că rețeaua dvs. este stabilă și că transmisia de date a FX4 are prioritate, dacă este necesar.

Programator PYRAMID FX4 - Simplu WebPrize ExampleProgramator PYRAMID FX4 - Simplu WebPrize Example 2Programator PYRAMID FX4 - Simplu WebPrize Example 3

Versiune: v3
FX4 Python Exampcoduri: 21

Documente/Resurse

Programator PYRAMID FX4 [pdfManual de instrucțiuni
Programator FX4, FX4, Programator

Referințe

Lasă un comentariu

Adresa ta de e-mail nu va fi publicată. Câmpurile obligatorii sunt marcate *