PIRAMID logowww.piramide.tegnologie
FX4
FX4 programmeerder handleiding
Dokument ID: 2711715845
Weergawe: v3PIRAMID FX4 Programmeerder

FX4 programmeerder

Dokument ID: 2711715845
FX4 – FX4 Programmeerder Handleiding

PYRAMID FX4 Programmeerder - ikoon Dokument ID: 2711650310

Skrywer Matthew Nichols
Eienaar Projekleier
Doel Verduidelik die programmeringskonsepte wat nodig is om die API te gebruik en die produk uit te brei deur eksterne toepassings.
Omvang FX4-verwante programmeringskonsepte.
Beoogde gehoor Sagteware-ontwikkelaars wat belangstel om die produk te gebruik.
Proses https://pyramidtc.atlassian.net/wiki/pages/createpage.action?
spaceKey=PQ&title=Standard%20Manual%20Creation%20Proses
Opleiding NIE VAN TOEPASSING NIE

Weergawebeheer

Weergawe Beskrywing  Gered deur  Gestoor op  Status
v3 Het 'n eenvoudige oor bygevoegview en meer examples. Matthew Nichols 6 Maart 2025 10:29 GOEDGEKEUR
v2 Bygevoeg digitale IO-koppelvlakke en verwysings terug na IGX. Matthew Nichols 3 Mei 2024 7:39 GOEDGEKEUR
v1 Aanvanklike vrystelling, nog besig om te werk. Matthew Nichols 21 Februarie 2024 11:25 GOEDGEKEUR

PYRAMID FX4 Programmeerder - ikoon 1 Dokument beheer Nie Reviewed
Huidige dokument weergawe: v.1
Nee reviewers toegewys.

1.1 Handtekeninge
vir die mees onlangse dokumentweergawe
Vrydag 7 Maart 2025, 10:33 UTC
Matthew Nichols het geteken; betekenis: Review

Verwysings

Dokument Dokument ID  Skrywer  Weergawe
IGX – Programmeerderhandleiding 2439249921 Matthew Nichols 1

FX4-programmering verbyview

Die FX4 verwerker loop op 'n omgewing genaamd IGX, wat gebou is op die QNX hoëbetroubaarheid intydse bedryfstelsel van BlackBerry (QNX Webwebwerf¹). IGX bied 'n buigsame en omvattende toepassingsprogrammeringskoppelvlak (API) vir gebruikers wat hul eie gasheerrekenaarsagteware wil skryf.
Die IGX-omgewing word oor ander Pyramid-produkte gedeel, wat toelaat dat sagteware-oplossings wat vir een produk ontwikkel is, maklik na ander oorgedra kan word.
Programmeerders kan verwys na die volledige dokumentasie vir IGX wat op die Piramide beskikbaar is webwebwerf by: IGX | Moderne modulêre beheerstelselraamwerk vir Web-geaktiveerde toepassings²

Hierdie afdeling bied 'n inleiding tot die toets van twee van die API-metodes: HTTP met behulp van JSON-formaat en EPICS. Vir eenvoud, Python (Python Webwebwerf³) word gebruik as 'n example gasheer rekenaartaal, wat toeganklik en maklik is om te gebruik vir nie-professionele programmeerders.

3.1 Gebruik Python en HTTP
As eksample, neem aan jy wil die som van die gemete strome met Python lees. Jy benodig die URL vir daardie spesifieke IO. Die FX4 web GUI bied 'n maklike manier om dit te vind: regskliek eenvoudig in die veld en kies 'Kopieer HTTP URL' om die string na die knipbord te kopieer.

PYRAMID FX4 Programmeerder - Gebruik Python en HTTP

Nou kan jy Python gebruik om verbinding met gebruikerssagteware via HTTP en JSON te toets. Jy sal dalk die versoeke en json-biblioteke moet invoer om die HTTP-versoeke en data-ontleding te hanteer.

PYRAMID FX4 Programmeerder - HTTP-versoeke en data-ontleding1 Eenvoudige Python HTTP Example

3.2 Gebruik EPICS
Die proses vir die koppeling van die FX4 deur EPICS (Eksperimentele Fisika en Industriële Beheerstelsel) is soortgelyk. EPICS is 'n stel sagteware-instrumente en toepassings wat gebruik word om verspreide beheerstelsels te ontwikkel en te implementeer, wat wyd in wetenskaplike fasiliteite gebruik word.

  1. https://blackberry.qnx.com/en
  2. https://pyramid.tech/products/igx
  3. https://www.python.org/
  1. Kry die EPICS proses veranderlike (PV) naam vir die verlangde IO.
  2. Voer die EPICS-biblioteek in en lees die waarde.

PYRAMID FX4 Programmeerder - EPICS proses veranderlike2 Kry EPICS PV NaamPYRAMID FX4 Programmeerder - Eenvoudige Python EPICS Example3 Eenvoudige Python EPICS Example

Boonop het Pyramid 'n nut geskep (EPICS Connect⁴) waarmee u EPICS-prosesveranderlikes intyds kan monitor. Hierdie instrument is nuttig om te bevestig of die EPICS PV-naam korrek is en die FX4 die PV korrek op jou netwerk bedien.

PYRAMID FX4 Programmeerder - EPICS Connect4 PTC EPICS Connect

FX4 Programmering API

Die konsepte en metodes wat in hierdie handleiding beskryf word, bou voort op die konsepte wat in die IGX – Programmeerderhandleiding vasgestel is. Sien asseblief daardie dokument vir verduideliking en bvamples van hoe basiese IGX-programmering en koppelvlakke werk. Hierdie handleiding sal slegs die toestelspesifieke IO en funksionaliteit dek wat uniek is aan die FX4.

4.1 Analoog Invoer IO
Hierdie IO hou verband met die konfigurasie en versameling van data op die analoog stroominsette van die FX4. Die eenhede van die kanaalinsette is gebaseer op die gebruikerkonfigureerbare instelling genaamd "Sample Eenhede", sluit geldige opsies pA, nA, uA, mA en A in.
Al 4 kanale gebruik dieselfde koppelvlak IO en word onafhanklik beheer. Vervang kanaal_x met kanaal_1 , kanaal_2 , kanaal_3 of kanaal_4 onderskeidelik.

IO pad Beskrywing
/fx4/adc/kanaal_x LEESSLEGS NOMMER Gemeet stroomtoevoer.
/fx4/adc/kanaal_x/scalar NOMMER Eenvoudige eenheidlose skalaar toegepas op die kanaal, 1 by verstek.
/fx4/adc/kanaal_x/zero_offset AANTAL Huidige afwyking in nA vir die kanaal.

Die volgende IO is nie kanaalonafhanklik nie en word gelyktydig op alle kanale toegepas.

IO pad  Beskrywing
/fx4/kanaalsom LEESALLEEN NOMMER Som van die huidige insetkanale.
/fx4/adc_unit STRING Stel die huidige gebruikereenhede vir elke kanaal en som.
Opsies: "pa", "na", "ua", "ma", "a"
/fx4/reeks STRING Stel die huidige invoerreeks. Sien GUI vir hoe elke reekskode ooreenstem met die maksimum huidige insetlimiete en BW.
Opsies: "0", "1", "2", "3", "4", "5", "6", "7"
/fx4/adc/sample_frekwensie GETAL Die frekwensie in Hz wat sample data sal gemiddeld word na. Dit beheer die sein-tot-geraas en datatempo vir alle kanale.
/fx4/adc/omskakelingsfrekwensie GETAL Die frekwensie in Hz waarby die ADC analoog na digitale waardes sal omskakel. By verstek is dit 100kHz, en jy sal hierdie waarde net selde hoef te verander.
/fx4/adc/offset_correction LEES SLEGS NOMMER Som van alle kanaal se huidige afwykings.

4.2 Analoog Uitset IO
Hierdie IO hou verband met die konfigurasie van die algemene-doel analoog uitsette van die FX4 gevind onder die analoog insette op die voorpaneel. Al 4 kanale gebruik dieselfde koppelvlak IO en word onafhanklik beheer. Vervang kanaal_x met kanaal_1 , kanaal_2 , kanaal_3 of kanaal_4 onderskeidelik.

IO pad  Beskrywing
/fx4/dac /kanaal_x NUMBER Command voltage uitset. Daar kan slegs na hierdie waarde geskryf word wanneer uitvoermodus op handmatig gestel is.
/fx4/dac/kanaal_x/lees terug LEES SLEGS GETAL Gemeet voltage uitset.
Dit is baie nuttig wanneer uitdrukking-uitvoermodus gebruik word.
/fx4/dac/kanaal_x/uitvoer_modus STRING Stel die uitsetmodus vir die kanaal.
Opsies: "handleiding", "uitdrukking", "proses_beheer"
/fx4/dac/kanaal _ x/slew_control_enable BOOL Aktiveer of deaktiveer slew rate beperking.
/fx4/dac/kanaal_ x/slew_rate AANTAL Swaaitempo in V/s vir die kanaal.
/fx4/dac/kanaal_x/upper_limit NOMMER Die maksimum toegelate opdrag voltage vir die kanaal. Van toepassing op alle werkingsmodusse.
/fx4/dac/kanaal _ x/ondergrens NOMMER Die minimum toegelate opdrag voltage vir die kanaal. Van toepassing op alle werkingsmodusse.
/fx4/dac/kanaal _ x/ uitvoer _ uitdrukking STRING Stel die uitdrukkingstring wat deur die kanaal gebruik word wanneer dit in die uitdrukking-uitvoermodus is.
/fx4/dac/kanaal _ x/reset_button BUTTON Stel die opdrag terug voltage tot 0.

4.3 Digitale insette en uitsette
Hierdie IO hou verband met die beheer van die verskillende algemene doel digitale insette en uitsette wat op die FX4 gevind word.

IO pad  Beskrywing
/fx4/fr1 LEESALLEEN BOOL Veselontvanger 1.
/fx4/ft1 BOOL Vesel sender 1.
/fx4/fr2 LEESALLEEN BOOL Veselontvanger 2.
/fx4/ft2 BOOL Vesel sender 2.
/fx4/fr3 LEESALLEEN BOOL Veselontvanger 3.
/fx4/ft3 BOOL Vesel sender 3.
/fx4/digitale_uitbreiding/d1 BOOL D1 tweerigting digitale uitbreiding IO.
/fx4/digitale_uitbreiding/d2 BOOL D2 tweerigting digitale uitbreiding IO.
/fx4/digitale_uitbreiding/d3 BOOL D3 tweerigting digitale uitbreiding IO.
/fx4/digitale_uitbreiding/d4 BOOL D4 tweerigting digitale uitbreiding IO.

4.3.1 Digitale IO-konfigurasie
Alle digitale toestelle het kinder-IO om hul gedrag te konfigureer, insluitend 'n bedryfsmodus wat beheer hoe daardie digitale sal werk. Elke digitale sal 'n ander stel beskikbare opsies hê. Sien die GUI vir besonderhede oor watter opsies beskikbaar is vir watter IO.

Kind IO Pad Beskrywing
…/modus STRING Bedryfsmodus vir die digitale.
Opsies: "invoer", "uitset", "pwm", "timer", "encoder", "capture", "uart_rx", "uart_tx", "can_rx", "can_tx", "pru_input" of "pru_output"
…/proses_sein STRING Die naam van die prosesbeheersein, as daar een is.
…/trekmodus STRING Trek op/af-modus vir 'n digitale invoer.
Opsies: "op", "af" of "deaktiveer"

4.4 Aflosbeheer
Beide relais word onafhanklik beheer en deel dieselfde tipe koppelvlak. Vervang relay_x met relay_a of relay_b onderskeidelik.

IO pad  Beskrywing
/fx4/relay _ x/permit / user _ opdrag BOOL Beveel die aflos oop of toe. 'n Ware opdrag sal probeer om die aflos te sluit as die grendels toegestaan ​​word, en vals opdrag sal altyd die aflos oopmaak.
/fx4/relay _ x/toestand LEESALLEEN STRING Die huidige toestand van die aflos.
Geslote aflosse is oop, maar kan nie gesluit word nie as gevolg van 'n grendel.
State: "oopgemaak", "geslote" of "gesluit"
/fx4/relay _ x/outomaties _ sluit BOOL Wanneer dit op waar gestel is, sal die aflos outomaties sluit wanneer die grendels toegestaan ​​word. Onwaar by verstek.
/fx4/aflos _ x/ siklus _ tel LEESALLEENNUMMER Die aantal herleisiklusse sedert die laaste terugstelling. Nuttig om die leeftyd van die aflos op te spoor.

4.5 Hoë Voltage Module
Sien die IGX – Programmeerderhandleiding vir besonderhede oor die FX4 hoë voltage koppelvlak. Die komponent ouerpad is /fx4/high_votlage .

4.6 Dosisbeheerder
Sien die IGX – Programmeerder Handleiding vir besonderhede oor die FX4 dosis kontroleerder koppelvlak. Die komponent ouer pad is /fx4/dose_controller .

FX4 Python Examples

5.1 Datalogger wat HTTP gebruik
Hierdie example demonstreer hoe om 'n aantal lesings vas te vang en in 'n CSV te stoor file. Deur 'n lang vertraging tussen lesings te kies, kan u langtermyn-dataregistrasie uitvoer, selfs al is die FX4 samplingkoers hoër gestel word. Dit laat jou toe om voortdurend metings oor lang tydperke te versamel en te stoor sonder om die stelsel te oorweldig, om te verseker dat data vasgelê word met intervalle wat geskik is vir jou analise. Die vertraging tussen lesings help om die tempo waarteen data aangeteken word te reguleer, wat doeltreffende berging moontlik maak en die risiko van vermiste datapunte verminder terwyl u steeds voordeel trek uit hoëspoed sampling vir intydse metings.

PYRAMID FX4 Programmeerder - Data Logger met behulp van HTTPPYRAMID FX4 Programmeerder - Datalogger met HTTP 2PYRAMID FX4 Programmeerder - Datalogger met HTTP 3PYRAMID FX4 Programmeerder - Datalogger met HTTP 4

5.2 Eenvoudige Python GUI
Die tweede eksample gebruik die Tkinter GUI-instrument, wat vir Python gebou is, om 'n vertoning van die gemete strome te skep. Hierdie koppelvlak laat jou toe om die huidige lesings in 'n gebruikersvriendelike grafiese formaat te visualiseer. Die grootte van die skerm kan verander word om dit groot genoeg te maak om van regoor 'n kamer te lees, wat dit ideaal maak vir scenario's waar intydse monitering in groter ruimtes nodig is. Tkinter bied 'n maklike manier om interaktiewe koppelvlakke te skep, en deur dit met die FX4 te integreer, kan jy vinnig 'n visuele vertoning van die gemete strome bou wat aangepas kan word om by jou spesifieke behoeftes te pas.

PYRAMID FX4 Programmeerder - Eenvoudige Python GUIPYRAMID FX4 Programmeerder - Eenvoudige Python GUI 2PYRAMID FX4 Programmeerder - Eenvoudige Python GUI 3PYRAMID FX4 Programmeerder - Eenvoudige Python GUI 4PYRAMID FX4 Programmeerder - Eenvoudige Python GUI 5PYRAMID FX4 Programmeerder - Eenvoudige Python GUI 6PYRAMID FX4 Programmeerder - Eenvoudige Python GUI 7

5.3 Eenvoudig WebSokke Bvample
Hierdie example demonstreer die WebSockets-koppelvlak, wat die voorkeurmetode is om data vanaf die FX4 te lees wanneer maksimum bandwydte vereis word. WebSokke bied 'n intydse, voldupleks kommunikasiekanaal, wat vinniger en doeltreffender data-oordrag moontlik maak in vergelyking met ander metodes.
Die eksample lees 'n reeks samples, rapporteer die gemiddelde tyd per sample en maksimum latency, en stoor die data in 'n CSV file vir latere ontleding. Hierdie opstelling maak voorsiening vir doeltreffende intydse monitering en maklike databerging vir naverwerking.
Die spesifieke prestasie waarmee behaal kan word WebSokke hang af van die betroubaarheid van jou Ethernet-koppelvlak en die relatiewe prioriteit van jou toepassing. Vir optimale resultate, maak seker dat jou netwerk stabiel is en dat die FX4 se data-oordrag geprioritiseer word indien nodig.

PYRAMID FX4 Programmeerder - Eenvoudig WebSokke BvamplePYRAMID FX4 Programmeerder - Eenvoudig WebSokke Bvample 2PYRAMID FX4 Programmeerder - Eenvoudig WebSokke Bvample 3

Weergawe: v3
FX4 Python Examples: 21

Dokumente / Hulpbronne

PIRAMID FX4 Programmeerder [pdf] Instruksiehandleiding
FX4 Programmeerder, FX4, Programmeerder

Verwysings

Los 'n opmerking

Jou e-posadres sal nie gepubliseer word nie. Vereiste velde is gemerk *