PYRAMID logowww.pyramid.tech
FX4
FX4 ohjelmointiohje
Asiakirjan tunnus: 2711715845
Versio: v3PYRAMID FX4 ohjelmoija

FX4 ohjelmoija

Asiakirjan tunnus: 2711715845
FX4 – FX4 ohjelmointiopas

PYRAMID FX4 ohjelmoija - kuvake 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

PYRAMID FX4 ohjelmoija - kuvake 1 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.

PYRAMID FX4 Programmer - Pythonin ja HTTP:n käyttäminen

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.

PYRAMID FX4 Programmer - HTTP-pyynnöt ja tietojen jäsentäminen1 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.

  1. https://blackberry.qnx.com/en
  2. https://pyramid.tech/products/igx
  3. https://www.python.org/
  1. Hanki EPICS-prosessimuuttujan (PV) nimi halutulle IO:lle.
  2. Tuo EPICS-kirjasto ja lue arvo.

PYRAMID FX4 Programmer - EPICS-prosessimuuttuja2 Hanki EPICS PV -nimiPYRAMID FX4 -ohjelmoija - yksinkertainen Python EPICS Example3 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.

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

PYRAMID FX4 Ohjelmoija - Data Loggeri HTTP:lläPYRAMID FX4 Programmer - Data Logger HTTP 2:ta käyttäenPYRAMID FX4 Programmer - Data Logger HTTP 3:ta käyttäenPYRAMID FX4 Programmer - Data Logger HTTP 4:ta käyttäen

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.

PYRAMID FX4 -ohjelmoija - yksinkertainen Python GUIPYRAMID FX4 -ohjelmoija - yksinkertainen Python GUI 2PYRAMID FX4 -ohjelmoija - yksinkertainen Python GUI 3PYRAMID FX4 -ohjelmoija - yksinkertainen Python GUI 4PYRAMID FX4 -ohjelmoija - yksinkertainen Python GUI 5PYRAMID FX4 -ohjelmoija - yksinkertainen Python GUI 6PYRAMID FX4 -ohjelmoija - yksinkertainen Python GUI 7

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.

PYRAMID FX4 -ohjelmoija - yksinkertainen WebPistorasiat esimamplePYRAMID FX4 -ohjelmoija - yksinkertainen WebPistorasiat esimample 2PYRAMID FX4 -ohjelmoija - yksinkertainen WebPistorasiat esimample 3

Versio: v3
FX4 Python ExampHinta: 21

Asiakirjat / Resurssit

PYRAMID FX4 ohjelmoija [pdfKäyttöohje
FX4 ohjelmoija, FX4, ohjelmoija

Viitteet

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *