www.pyramid.tech
FX4
FX4 ohjelmointiohje
Asiakirjan tunnus: 2711715845
Versio: v3
FX4 ohjelmoija
Asiakirjan tunnus: 2711715845
FX4 – FX4 ohjelmointiopas
Asiakirjan tunnus: 2711650310
| Tekijä | Matthew Nichols |
| Omistaja | Projektin johtaja |
| Tarkoitus | Selitä API:n käyttöön tarvittavat ohjelmointikonseptit ja laajenna tuotetta ulkoisten sovellusten kautta. |
| Laajuus | FX4:ään liittyvät ohjelmointikonseptit. |
| Tarkoitettu yleisö | Tuotteen käytöstä kiinnostuneet ohjelmistokehittäjät. |
| Käsitellä | https://pyramidtc.atlassian.net/wiki/pages/createpage.action? spaceKey=PQ&title=Standard%20Manual%20Creation%20Process |
| Koulutus | EI SOVELLETTAVISSA |
Versionhallinta
| Versio | Kuvaus | Tallentanut | Tallennettu | Status |
| v3 | Lisätty yksinkertainen ylitysview ja lisää examples. | Matthew Nichols | 6. maaliskuuta 2025 klo 10 | HYVÄKSYTTY |
| v2 | Lisätty digitaaliset IO-liitännät ja viittaukset takaisin IGX:ään. | Matthew Nichols | 3. toukokuuta 2024 klo 7 | HYVÄKSYTTY |
| v1 | Ensimmäinen julkaisu, vielä keskeneräinen. | Matthew Nichols | 21. helmikuuta 2024 klo 11 | HYVÄKSYTTY |
Asiakirjojen valvonta Ei Reviewed
Nykyinen asiakirjaversio: v.1
Ei reviewmäärätyt.
1.1 Allekirjoitukset
uusin asiakirjaversio
Perjantai 7. maaliskuuta 2025, 10 UTC
Matthew Nichols allekirjoitti ; merkitys: Review
Viitteet
| Asiakirja | Asiakirjan tunnus | Tekijä | Versio |
| IGX - Ohjelmointiopas | 2439249921 | Matthew Nichols | 1 |
FX4 ohjelmointi ohiview
FX4-prosessori toimii IGX-nimisessä ympäristössä, joka on rakennettu BlackBerryn erittäin luotettavaan reaaliaikaiseen QNX-käyttöjärjestelmään (QNX Websivusto¹). IGX tarjoaa joustavan ja kattavan sovellusohjelmointirajapinnan (API) käyttäjille, jotka haluavat kirjoittaa oman isäntätietokoneohjelmistonsa.
IGX-ympäristö on jaettu muiden Pyramid-tuotteiden kesken, jolloin yhdelle tuotteelle kehitetyt ohjelmistoratkaisut voidaan helposti siirtää muille.
Ohjelmoijat voivat tutustua Pyramidissa saatavilla olevaan IGX:n täydelliseen dokumentaatioon websivusto osoitteessa: IGX | Moderni modulaarinen ohjausjärjestelmäkehys Web- käytössä olevat sovellukset²
Tämä osa sisältää johdannon kahden API-menetelmän testaamiseen: HTTP JSON-muotoa ja EPICS. Yksinkertaisuuden vuoksi Python (Python Websivusto³) käytetään example host-tietokonekieli, joka on helppokäyttöinen ja helppokäyttöinen ei-ammattimaisille ohjelmoijille.
3.1 Pythonin ja HTTP:n käyttö
ExänäampOletetaan, että haluat lukea mitattujen virtojen summan Pythonilla. Tarvitset URL kyseiselle IO:lle. FX4 web GUI tarjoaa helpon tavan löytää tämä: napsauta hiiren kakkospainikkeella kenttää ja valitse Kopioi HTTP URL' kopioidaksesi merkkijonon leikepöydälle.

Nyt voit käyttää Pythonia testaamaan yhteyttä käyttäjäohjelmistoihin HTTP:n ja JSONin kautta. Saatat joutua tuomaan pyynnöt ja json-kirjastot HTTP-pyyntöjen ja tietojen jäsentämisen käsittelemiseksi.
1 Yksinkertainen Python HTTP Example
3.2 EPICSin käyttö
FX4:n liittäminen EPICS:n (Experimental Physics and Industrial Control System) kautta on samanlainen. EPICS on joukko ohjelmistotyökaluja ja sovelluksia, joita käytetään hajautettujen ohjausjärjestelmien kehittämiseen ja toteuttamiseen ja jota käytetään laajalti tieteellisissä tiloissa.
- Hanki EPICS-prosessimuuttujan (PV) nimi halutulle IO:lle.
- Tuo EPICS-kirjasto ja lue arvo.
2 Hanki EPICS PV -nimi
3 Yksinkertainen Python EPICS Example
Lisäksi Pyramid loi apuohjelman (EPICS Connect⁴), jonka avulla voit seurata EPICS-prosessimuuttujia reaaliajassa. Tämä työkalu auttaa varmistamaan, onko EPICS PV -nimi oikea ja että FX4 palvelee aurinkosähköä oikein verkossasi.
4 PTC EPICS Connect
FX4 ohjelmointisovellusliittymä
Tässä käsikirjassa kuvatut käsitteet ja menetelmät perustuvat IGX – ohjelmoijan käsikirjassa esitettyihin käsitteisiin. Katso tästä asiakirjasta selitys ja esimampmiten IGX:n perusohjelmointi ja rajapinnat toimivat. Tämä opas kattaa vain laitekohtaisen IO:n ja toiminnot, jotka ovat ainutlaatuisia FX4:lle.
4.1 Analoginen tulo IO
Nämä IO liittyvät FX4:n analogisten virtatulojen konfigurointiin ja tietojen keräämiseen. Kanavatulojen yksiköt perustuvat käyttäjän määritettävään asetukseen nimeltä "Sample Units”, kelvollisia vaihtoehtoja ovat pA, nA, uA, mA ja A.
Kaikki 4 kanavaa käyttävät samaa IO-liitäntää ja niitä ohjataan itsenäisesti. Korvaa kanava_x kanavalla kanava_1, kanava_2, kanava_3 tai kanava_4.
| IO-polku | Kuvaus |
| /fx4/adc/channel_x | READONLY NUMBER Mitattu virtatulo. |
| /fx4/adc/channel_x/scalar | NUMBER Yksinkertainen yksikkötön skalaari käytetty kanavassa, oletuksena 1. |
| /fx4/adc/channel_x/zero_offset | NUMBER Kanavan virtasiirtymä nA:na. |
Seuraavat IO:t eivät ole kanavariippumattomia, ja niitä sovelletaan kaikkiin kanaviin samanaikaisesti.
| IO-polku | Kuvaus |
| /fx4/kanavan_summa | READONLY NUMBER Nykyisten tulokanavien summa. |
| /fx4/adc_unit | STRING Asettaa kullekin kanavalle nykyiset käyttäjäyksiköt ja summan. Vaihtoehdot: "pa", "na", "ua", "ma", "a" |
| /fx4/alue | STRING Asettaa nykyisen syöttöalueen. Katso GUI:sta, kuinka kukin aluekoodi vastaa virran maksimitulorajoja ja BW:tä. Vaihtoehdot: "0", "1", "2", "3", "4", "5", "6", "7" |
| /fx4/adc/sample_frekvenssi | NUMERO Taajuus hertseinä, joka samptiedoista lasketaan keskiarvo. Tämä ohjaa kaikkien kanavien signaali-kohina- ja tiedonsiirtonopeutta. |
| /fx4/adc/conversion_frequency | NUMERO Taajuus hertseinä, jolla ADC muuntaa analogiset arvot digitaalisiksi. Oletuksena tämä on 100 kHz, ja sinun on vain harvoin muutettava tätä arvoa. |
| /fx4/adc/offset_correction | READONLY NUMBER Kaikkien kanavan nykyisten siirtymien summa. |
4.2 Analoginen lähtö IO
Nämä IO liittyvät etupaneelin analogisten tulojen alla olevien FX4:n yleiskäyttöisten analogisten lähtöjen konfiguraatioon. Kaikki 4 kanavaa käyttävät samaa IO-liitäntää ja niitä ohjataan itsenäisesti. Korvaa kanava_x kanavalla kanava_1, kanava_2, kanava_3 tai kanava_4.
| IO-polku | Kuvaus |
| /fx4/dac /kanava_x | NUMBER Komento voltage ulostulo. Tämä arvo voidaan kirjoittaa vain, kun lähtötilaksi on asetettu manuaalinen. |
| /fx4/dac/channel_x/readback | LUE VAIN NUMERO Mitattu voltage lähtö. Tästä on eniten hyötyä käytettäessä lausekkeen tulostustilaa. |
| /fx4/dac/channel_x/output_mode | STRING Asettaa kanavan lähtötilan. Vaihtoehdot: "manuaalinen", "lauseke", "prosessin_hallinta" |
| /fx4/dac/channel _ x/slew_control_enable | BOOL Ottaa käyttöön tai poistaa käytöstä muutosnopeuden rajoituksen. |
| /fx4/dac/channel_ x/slew_rate | NUMBER Kanavan muutosnopeus V/s. |
| /fx4/dac/channel_x/upper_limit | NUMBER Suurin sallittu komento voltage kanavalle. Koskee kaikkia toimintatiloja. |
| /fx4/dac/channel _ x/alempi_raja | NUMBER Pienin sallittu komento voltage kanavalle. Koskee kaikkia toimintatiloja. |
| /fx4/dac/channel _ x/ output _ lauseke | STRING Asettaa lausekemerkkijonon, jota kanava käyttää, kun se on lausekkeen tulostustilassa. |
| /fx4/dac/channel _ x/reset_button | BUTTON Nollaa komennon voltage - 0. |
4.3 Digitaalitulot ja -lähdöt
Nämä IO liittyvät FX4:n erilaisten yleiskäyttöisten digitaalisten tulojen ja lähtöjen ohjaamiseen.
| IO-polku | Kuvaus |
| /fx4/fr1 | READONLY BOOL kuituvastaanotin 1. |
| /fx4/ft1 | BOOL-kuitulähetin 1. |
| /fx4/fr2 | READONLY BOOL kuituvastaanotin 2. |
| /fx4/ft2 | BOOL-kuitulähetin 2. |
| /fx4/fr3 | READONLY BOOL kuituvastaanotin 3. |
| /fx4/ft3 | BOOL-kuitulähetin 3. |
| /fx4/digital_expansion/d1 | BOOL D1 kaksisuuntainen digitaalinen laajennus IO. |
| /fx4/digital_expansion/d2 | BOOL D2 kaksisuuntainen digitaalinen laajennus IO. |
| /fx4/digital_expansion/d3 | BOOL D3 kaksisuuntainen digitaalinen laajennus IO. |
| /fx4/digital_expansion/d4 | BOOL D4 kaksisuuntainen digitaalinen laajennus IO. |
4.3.1 Digitaalinen IO-määritys
Kaikilla digitaalisilla laitteilla on lapsi-IO toimintansa konfigurointia varten, mukaan lukien toimintatila, joka ohjaa digitaalisen toimintaa. Jokaisella digitaalisella on erilainen valikoima vaihtoehtoja. Katso GUI:sta lisätietoja siitä, mitä vaihtoehtoja millekin IO:lle on saatavilla.
| Lapsi IO-polku | Kuvaus |
| …/tila | STRING Toimintatila digitaaliselle. Vaihtoehdot: "input", "output", "pwm", "ajastin", "encoder", "capture", "uart_rx", "uart_tx", "can_rx", "can_tx", "pru_input" tai "pru_output" |
| …/process_signal | STRING Prosessin ohjaussignaalin nimi, jos sellainen on. |
| …/pull_mode | STRING Digitaalitulon ylös-/alasvetotila. Vaihtoehdot: "ylös", "alas" tai "poista käytöstä" |
4.4 Releohjaus
Molempia releitä ohjataan itsenäisesti ja niillä on samantyyppinen liitäntä. Korvaa rele_x releellä_a tai rele_b, vastaavasti.
| IO-polku | Kuvaus |
| /fx4/relay _ x/permit / user _ -komento | BOOL Komentaa releen avaamista tai kiinni. Oikea komento yrittää sulkea releen, jos lukitukset myönnetään, ja väärä komento avaa aina releen. |
| /fx4/rele _ x/tila | READONLY STRING Releen nykyinen tila. Lukitut releet ovat auki, mutta niitä ei voida sulkea lukituksen vuoksi. Tilat: "avoin", "suljettu" tai "lukittu" |
| /fx4/relay _ x/automaattisesti _ sulje | BOOL Kun asetus on tosi, rele sulkeutuu automaattisesti, kun lukitukset myönnetään. Oletuksena epätosi. |
| /fx4/rele _ x/ syklin _ määrä | READONLY NUMBER Relejaksojen määrä viimeisen nollauksen jälkeen. Hyödyllinen releen käyttöiän seurantaan. |
4.5 Suuri voltage Moduuli
Katso IGX – ohjelmointioppaasta lisätietoja FX4 high voltage käyttöliittymä. Komponentin pääpolku on /fx4/high_votlage .
4.6 Annossäädin
Katso IGX – ohjelmointioppaasta lisätietoja FX4-annoksen säätimen käyttöliittymästä. Komponentin pääpolku on /fx4/dose_controller .
FX4 Python Examples
5.1 Data Logger HTTP:tä käyttäen
Tämä example osoittaa, kuinka voit tallentaa useita lukemia ja tallentaa ne CSV-tiedostoon file. Valitsemalla pitkän viiveen lukemien välillä voit suorittaa pitkän aikavälin tiedonkeruun, vaikka FX4 sampling-nopeus on asetettu korkeammaksi. Tämän avulla voit jatkuvasti kerätä ja tallentaa mittauksia pitkiä aikoja kuormittamatta järjestelmää ja varmistaa, että tiedot kerätään analyysillesi sopivin väliajoin. Lukemien välinen viive auttaa säätelemään tietojen kirjaamistahtia, mikä mahdollistaa tehokkaan tallennuksen ja vähentää tietopisteiden puuttumisen riskiä samalla kun hyötyy nopeasta sampling reaaliaikaisia mittauksia varten.




5.2 Yksinkertainen Python GUI
Toinen example käyttää Pythonille rakennettua Tkinter GUI -työkalua luomaan näyttöä mitatuista virroista. Tämän käyttöliittymän avulla voit visualisoida nykyiset lukemat käyttäjäystävällisessä graafisessa muodossa. Näytön kokoa voidaan muuttaa niin, että se on riittävän suuri luettavaksi huoneen toiselta puolelta, mikä tekee siitä ihanteellisen tilanteisiin, joissa tarvitaan reaaliaikaista valvontaa suuremmissa tiloissa. Tkinter tarjoaa helpon tavan luoda interaktiivisia käyttöliittymiä, ja integroimalla sen FX4:ään voit nopeasti rakentaa visuaalisen näytön mitatuista virroista, jotka voidaan mukauttaa vastaamaan erityistarpeitasi.







5.3 Yksinkertainen WebPistorasiat esimample
Tämä example osoittaa WebSockets-liitäntä, joka on suositeltu tapa lukea tietoja FX4:stä, kun vaaditaan suurinta kaistanleveyttä. WebSocketit tarjoavat reaaliaikaisen, kaksisuuntaisen tiedonsiirtokanavan, mikä mahdollistaa nopeamman ja tehokkaamman tiedonsiirron muihin menetelmiin verrattuna.
Example lukee sarjan samples, raportoi keskimääräisen ajan sekunnissaample ja enimmäisviive, ja tallentaa tiedot CSV-tiedostoon file myöhempää analyysiä varten. Tämä asetus mahdollistaa tehokkaan reaaliaikaisen seurannan ja helpon tietojen tallennuksen jälkikäsittelyä varten.
Erityinen suorituskyky, jolla voidaan saavuttaa WebPistorasiat riippuvat Ethernet-liitännän luotettavuudesta ja sovelluksesi suhteellisesta tärkeydestä. Parhaan tuloksen saavuttamiseksi varmista, että verkkosi on vakaa ja että FX4:n tiedonsiirto priorisoidaan tarvittaessa.



Versio: v3
FX4 Python ExampHinta: 21
Asiakirjat / Resurssit
![]() |
PYRAMID FX4 ohjelmoija [pdfKäyttöohje FX4 ohjelmoija, FX4, ohjelmoija |
