www.pyramid.tech
FX4
FX4 programmētāja rokasgrāmata
Dokumenta ID: 2711715845
Versija: v3
FX4 programmētājs
Dokumenta ID: 2711715845
FX4 – FX4 programmētāja rokasgrāmata
Dokumenta ID: 2711650310
Autors | Metjū Nikols |
Īpašnieks | Projekta vadītājs |
Mērķis | Izskaidrojiet programmēšanas koncepcijas, kas nepieciešamas, lai izmantotu API un paplašinātu produktu, izmantojot ārējās lietojumprogrammas. |
Darbības joma | Ar FX4 saistītās programmēšanas koncepcijas. |
Paredzētā auditorija | Programmatūras izstrādātāji, kurus interesē produkta lietošana. |
Process | https://pyramidtc.atlassian.net/wiki/pages/createpage.action? spaceKey=PQ&title=Standarta%20Manual%20Creation%20Process |
Apmācība | NAV PIEMĒROJAMS |
Versiju kontrole
Versija | Apraksts | Saglabāja | Saglabāts | Statuss |
v3 | Pievienots vienkāršs pāriview un vairāk examples. | Metjū Nikols | 6. gada 2025. marts, 10:29 | APSTIPRINĀTS |
v2 | Pievienotas digitālās IO saskarnes un atsauces atpakaļ uz IGX. | Metjū Nikols | 3. gada 2024. maijs, 7:39 | APSTIPRINĀTS |
v1 | Sākotnējā izlaišana, joprojām notiek darbs. | Metjū Nikols | 21. gada 2024. februāris, 11:25 | APSTIPRINĀTS |
Dokumentu kontrole Nevis Reviewed
Pašreizējā dokumenta versija: v.1
Nē reviewers piešķirts.
1.1. Paraksti
jaunākajai dokumenta versijai
Piektdiena, 7. gada 2025. marts, 10:33 UTC
Metjū Nikols parakstīja ; nozīme: Review
Atsauces
Dokuments | Dokumenta ID | Autors | Versija |
IGX – programmētāja rokasgrāmata | 2439249921 | Metjū Nikols | 1 |
FX4 programmēšana beigusiesview
FX4 procesors darbojas vidē ar nosaukumu IGX, kas ir veidota uz QNX augstas uzticamības reāllaika operētājsistēmu no BlackBerry (QNX Webvietne¹). IGX nodrošina elastīgu un visaptverošu lietojumprogrammu saskarni (API) lietotājiem, kuri vēlas rakstīt savu resursdatora programmatūru.
IGX vide tiek koplietota citiem Pyramid produktiem, ļaujot vienam produktam izstrādātos programmatūras risinājumus viegli pārnest uz citiem.
Programmētāji var skatīt visu piramīdā pieejamo IGX dokumentāciju webvietne: IGX | Mūsdienu moduļu vadības sistēmas ietvars Web- iespējotas lietojumprogrammas²
Šajā sadaļā ir sniegts ievads divu API metožu testēšanai: HTTP, izmantojot JSON formātu, un EPICS. Vienkāršības labad Python (Python Webvietne³) tiek izmantots kā example host datora valoda, kas ir pieejama un viegli lietojama neprofesionāliem programmētājiem.
3.1 Python un HTTP izmantošana
Kā bijušaisample, pieņemsim, ka vēlaties nolasīt izmērīto strāvu summu, izmantojot Python. Jums ir nepieciešams URL konkrētajam IO. FX4 web GUI nodrošina vienkāršu veidu, kā to atrast: vienkārši ar peles labo pogu noklikšķiniet laukā un atlasiet Kopēt HTTP URL, lai kopētu virkni starpliktuvē.
Tagad varat izmantot Python, lai pārbaudītu savienojumu ar lietotāja programmatūru, izmantojot HTTP un JSON. Lai apstrādātu HTTP pieprasījumus un datu parsēšanu, iespējams, būs jāimportē pieprasījumi un JSON bibliotēkas.
1 Vienkāršs Python HTTP Example
3.2. EPICS izmantošana
FX4 pievienošanas process, izmantojot EPICS (eksperimentālās fizikas un rūpnieciskās vadības sistēmu), ir līdzīgs. EPICS ir programmatūras rīku un lietojumprogrammu kopums, ko izmanto, lai izstrādātu un ieviestu sadalītās vadības sistēmas, ko plaši izmanto zinātniskajās iekārtās.
- Iegūstiet EPICS procesa mainīgā (PV) nosaukumu vēlamajam IO.
- Importējiet EPICS bibliotēku un nolasiet vērtību.
2. Iegūstiet EPICS PV nosaukumu
3 Simple Python EPICS Example
Turklāt Pyramid izveidoja utilītu (EPICS Connect⁴), kas ļauj pārraudzīt EPICS procesa mainīgos reāllaikā. Šis rīks ir noderīgs, lai pārbaudītu, vai EPICS PV nosaukums ir pareizs un FX4 pareizi apkalpo PV jūsu tīklā.
4 PTC EPICS Connect
FX4 programmēšanas API
Šajā rokasgrāmatā aprakstītie jēdzieni un metodes balstās uz jēdzieniem, kas noteikti IGX – Programmētāja rokasgrāmatā. Lūdzu, skatiet šo dokumentu, lai iegūtu paskaidrojumus un piemamppar to, kā darbojas pamata IGX programmēšana un saskarnes. Šī rokasgrāmata aptvers tikai ierīcei specifisko IO un funkcionalitāti, kas ir unikāla FX4.
4.1 Analogā ieeja IO
Šie IO ir saistīti ar FX4 analogās strāvas ievades datu konfigurēšanu un vākšanu. Kanāla ieeju mērvienības ir balstītas uz lietotāja konfigurējamu iestatījumu, ko sauc par “Sample Units”, derīgās opcijas ietver pA, nA, uA, mA un A.
Visi 4 kanāli izmanto vienu un to pašu interfeisu IO un tiek neatkarīgi kontrolēti. Aizstājiet kanālu_x ar attiecīgi kanālu_1, kanālu_2, kanālu_3 vai kanālu_4.
IO ceļš | Apraksts |
/fx4/adc/channel_x | READONLY NUMBER Izmērītā strāvas ievade. |
/fx4/adc/channel_x/scalar | NUMBER Vienkāršs bezvienību skalārs, kas tiek lietots kanālam, 1 pēc noklusējuma. |
/fx4/adc/channel_x/zero_offset | NUMBER Kanāla strāvas nobīde nA. |
Tālāk norādītie IO nav no kanāla neatkarīgi un tiek lietoti visiem kanāliem vienlaikus.
IO ceļš | Apraksts |
/fx4/channel_sum | READONLY NUMBER Pašreizējo ievades kanālu summa. |
/fx4/adc_unit | STRING Iestata pašreizējās lietotāja vienības katram kanālam un summu. Iespējas: “pa”, “na”, “ua”, “ma”, “a” |
/fx4/diapazons | STRING Iestata pašreizējo ievades diapazonu. Skatiet GUI, lai uzzinātu, kā katrs diapazona kods atbilst maksimālajiem strāvas ievades ierobežojumiem un BW. Iespējas: "0", "1", "2", "3", "4", "5", "6", "7" |
/fx4/adc/sample_frekvence | SKAITS Frekvence Hz, kas sample datiem tiks aprēķināts vidējais rādītājs. Tas kontrolē signāla-trokšņu un datu pārraides ātrumu visiem kanāliem. |
/fx4/adc/conversion_frequency | SKAITS Frekvence Hz, kurā ADC pārveidos analogās vērtības ciparu vērtībās. Pēc noklusējuma tas ir 100 kHz, un šī vērtība jums būs jāmaina tikai retos gadījumos. |
/fx4/adc/offset_correction | READONLY NUMBER Visu kanāla pašreizējo nobīdi summa. |
4.2 Analogā izeja IO
Šie IO attiecas uz FX4 vispārējas nozīmes analogo izeju konfigurāciju, kas atrodas zem analogajām ieejām priekšējā panelī. Visi 4 kanāli izmanto vienu un to pašu interfeisu IO un tiek neatkarīgi kontrolēti. Aizstājiet kanālu_x ar attiecīgi kanālu_1, kanālu_2, kanālu_3 vai kanālu_4.
IO ceļš | Apraksts |
/fx4/dac /kanāls_x | NUMBER Command voltage izvade. Šo vērtību var ierakstīt tikai tad, ja izvades režīms ir iestatīts uz manuālu. |
/fx4/dac/channel_x/readback | LASĪTIKAI SKAITS Izmērīts tilptage izvade. Tas ir visnoderīgākais, ja tiek izmantots izteiksmes izvades režīms. |
/fx4/dac/channel_x/output_mode | STRING Iestata kanāla izvades režīmu. Iespējas: “manuāli”, “izteiksme”, “procesa_vadība” |
/fx4/dac/channel _ x/slew_control_enable | BOOL Iespējo vai atspējo pagrieziena ātruma ierobežošanu. |
/fx4/dac/channel_ x/slew_rate | NUMBER Kanāla apgriezienu ātrums V/s. |
/fx4/dac/channel_x/upper_limit | NUMBER Maksimāli atļautā komanda voltage kanālam. Attiecas uz visiem darbības režīmiem. |
/fx4/dac/channel _ x/lower_limit | NUMBER Minimālā atļautā komanda voltage kanālam. Attiecas uz visiem darbības režīmiem. |
/fx4/dac/channel _ x/ izvades _ izteiksme | STRING Iestata izteiksmes virkni, ko kanāls izmanto izteiksmes izvades režīmā. |
/fx4/dac/channel_ x/reset_button | BUTTON Atiestata komandu voltage līdz 0. |
4.3 Digitālā ieeja un izejas
Šie IO ir saistīti ar dažādu vispārējas nozīmes digitālo ieeju un izeju vadību, kas atrodas FX4.
IO ceļš | Apraksts |
/fx4/fr1 | READONLY BOOL Fiber uztvērējs 1. |
/fx4/ft1 | BOOL šķiedru raidītājs 1. |
/fx4/fr2 | READONLY BOOL Fiber uztvērējs 2. |
/fx4/ft2 | BOOL šķiedru raidītājs 2. |
/fx4/fr3 | READONLY BOOL Fiber uztvērējs 3. |
/fx4/ft3 | BOOL šķiedru raidītājs 3. |
/fx4/digital_expansion/d1 | BOOL D1 divvirzienu digitālā paplašināšana IO. |
/fx4/digital_expansion/d2 | BOOL D2 divvirzienu digitālā paplašināšana IO. |
/fx4/digital_expansion/d3 | BOOL D3 divvirzienu digitālā paplašināšana IO. |
/fx4/digital_expansion/d4 | BOOL D4 divvirzienu digitālā paplašināšana IO. |
4.3.1 Digitālā IO konfigurācija
Visām digitālajām ierīcēm ir bērnu IO, lai konfigurētu savu darbību, tostarp darbības režīmu, kas kontrolē, kā šis digitālais darbosies. Katram digitālajam būs atšķirīgs pieejamo opciju kopums. Skatiet GUI, lai uzzinātu vairāk par to, kādas opcijas ir pieejamas kādam IO.
Bērna IO ceļš | Apraksts |
…/režīms | STRING Darbības režīms digitālajam. Opcijas: “input”, “output”, “pwm”, “taimer”, “encoder”, “capture”, “uart_rx”, “uart_tx”, “can_rx”, “can_tx”, “pru_input” vai “pru_output”. |
…/process_signal | STRING Procesa vadības signāla nosaukums, ja tāds ir. |
…/pull_mode | STRING Pavilkšanas uz augšu/uz leju režīms digitālajai ievadei. Iespējas: “uz augšu”, “uz leju” vai “atspējot” |
4.4 Releja vadība
Abi releji tiek kontrolēti neatkarīgi, un tiem ir viena veida saskarne. Aizstāt relay_x ar relay_a vai relay_b attiecīgi.
IO ceļš | Apraksts |
/fx4/relay _ x/permit / user _ | BOOL Pavēl atvērt vai aizvērt releju. Patiesa komanda mēģinās aizvērt releju, ja tiek piešķirti bloķējumi, un viltus komanda vienmēr atvērs releju. |
/fx4/relay _ x/state | READONLY STRING Pašreizējais releja stāvoklis. Bloķētie releji ir atvērti, bet tos nevar aizvērt bloķēšanas dēļ. Stāvokļi: “atvērts”, “aizvērts” vai “bloķēts” |
/fx4/relay _ x/automātiski _ aizvērt | BOOL Ja iestatīts uz True, relejs automātiski aizveras, kad tiek piešķirti bloķēšanas gadījumi. Nepatiesi pēc noklusējuma. |
/fx4/relay _ x/ ciklu _ skaits | READONLY NUMBER Releja ciklu skaits kopš pēdējās atiestatīšanas. Noder, lai izsekotu releja kalpošanas laiku. |
4.5 Lielais sējumstage modulis
Skatiet IGX – programmētāja rokasgrāmatu, lai iegūtu sīkāku informāciju par FX4 high voltage interfeiss. Komponenta vecāku ceļš ir /fx4/high_votlage.
4.6 Devas regulators
Sīkāku informāciju par FX4 devas regulatora interfeisu skatiet IGX – Programmētāja rokasgrāmatā. Komponenta vecākais ceļš ir /fx4/dose_controller .
FX4 Python Examples
5.1. Datu reģistrētājs, izmantojot HTTP
Šis bijušaisample parāda, kā uzņemt vairākus rādījumus un saglabāt tos CSV failā file. Izvēloties ilgu aizkavi starp rādījumiem, varat veikt ilgtermiņa datu reģistrēšanu pat tad, ja FX4 samplinga likme ir iestatīta augstāka. Tas ļauj nepārtraukti vākt un saglabāt mērījumus ilgstoši, nepārslogojot sistēmu, nodrošinot datu tveršanu ar jūsu analīzei piemērotiem intervāliem. Aizkave starp nolasījumiem palīdz regulēt datu reģistrēšanas tempu, ļaujot efektīvi uzglabāt un samazināt datu trūkumu risku, vienlaikus gūstot labumu no liela ātrumaampling reāllaika mērījumiem.
5.2 Vienkārša Python GUI
Otrā bijample izmanto Tkinter GUI rīku, kas ir paredzēts Python, lai izveidotu izmērīto strāvu displeju. Šis interfeiss ļauj vizualizēt pašreizējos rādījumus lietotājam draudzīgā grafiskā formātā. Displeja izmēru var mainīt, lai tas būtu pietiekami liels, lai to varētu lasīt no visas telpas, padarot to ideāli piemērotu scenārijiem, kad ir nepieciešama reāllaika uzraudzība lielākās telpās. Tkinter nodrošina vienkāršu veidu, kā izveidot interaktīvas saskarnes, un, integrējot to ar FX4, varat ātri izveidot izmērīto strāvu vizuālu displeju, ko var pielāgot atbilstoši jūsu īpašajām vajadzībām.
5.3. Vienkāršs WebKontaktligzdas Piemample
Šis bijušaisample demonstrē WebSockets interfeiss, kas ir vēlamā metode datu nolasīšanai no FX4, ja nepieciešams maksimālais joslas platums. WebSockets nodrošina reāllaika pilna dupleksa sakaru kanālu, kas ļauj ātrāk un efektīvāk pārsūtīt datus salīdzinājumā ar citām metodēm.
Bijušaisample lasa virkni samples, uzrāda vidējo laiku sekundēample un maksimālo latentumu, un saglabā datus CSV failā file vēlākai analīzei. Šī iestatīšana nodrošina efektīvu reāllaika uzraudzību un ērtu datu glabāšanu pēcapstrādei.
Konkrēts sniegums, ko var sasniegt ar WebSockets ir atkarīgas no jūsu Ethernet interfeisa uzticamības un jūsu lietojumprogrammas relatīvās prioritātes. Lai iegūtu optimālus rezultātus, pārliecinieties, ka jūsu tīkls ir stabils un, ja nepieciešams, FX4 datu pārraidei tiek piešķirta prioritāte.
Versija: v3
FX4 Python Examppa tālruni: 21
Dokumenti / Resursi
![]() |
PYRAMID FX4 programmētājs [pdfLietošanas instrukcija FX4 programmētājs, FX4, programmētājs |