PYRAMID FX4 Programmeur Gebruiksaanwijzing

PYRAMID FX4 Programmer Instruction Manual

PIRAMIDE-logowww.piramide.tech
FX4
FX4 Programmeur Handleiding
Document-ID: 2711715845
Versie: v3PYRAMID FX4-programmeur

FX4-programmeur

Document-ID: 2711715845
FX4 – FX4 Programmeur Handleiding

PYRAMID FX4 Programmeur - icoon Document-ID: 2711650310

Auteur Mattheus Nichols
Eigenaar Projectleider
Doel Leg de programmeerconcepten uit die nodig zijn om de API te gebruiken en het product uit te breiden via externe applicaties.
Domein FX4-gerelateerde programmeerconcepten.
Beoogd publiek Softwareontwikkelaars die geïnteresseerd zijn in het gebruik van het product.
Proces https://pyramidtc.atlassian.net/wiki/pages/createpage.action?
spaceKey=PQ&title=Standaard%20Handmatig%20Creatie%20Proces
Opleiding NIET TOEPASBAAR

Versiebeheer

Versie Beschrijving  Gered door  Opgeslagen op  Staat
v3 Een eenvoudige over toegevoegdview en meer examples. Mattheus Nichols 6 mrt. 2025 10:29 uur GOEDGEKEURD
v2 Digitale IO-interfaces en verwijzingen terug naar IGX toegevoegd. Mattheus Nichols 3 mei 2024 7:39 uur GOEDGEKEURD
v1 Eerste release, nog in ontwikkeling. Mattheus Nichols 21 feb. 2024 11:25 uur GOEDGEKEURD

PYRAMID FX4 Programmeur - pictogram 1 Document controle Niet Reviewed
Huidige documentversie: versie 1
Nee reviewers toegewezen.

1.1 Handtekeningen
voor de meest recente documentversie
Vrijdag 7 mrt. 2025, 10:33 UTC
Matthew Nichols ondertekende; betekenis: Review

Referenties

Document Document-ID  Auteur  Versie
IGX – Programmeerhandleiding 2439249921 Mattheus Nichols 1

FX4-programmering voorbijview

De FX4-processor draait op een omgeving genaamd IGX, die is gebouwd op het QNX realtime besturingssysteem met hoge betrouwbaarheid van BlackBerry (QNX Webplaats¹). IGX biedt een flexibele en uitgebreide Application Programming Interface (API) voor gebruikers die hun eigen hostcomputersoftware willen schrijven.
De IGX-omgeving wordt gedeeld met andere Pyramid-producten, waardoor softwareoplossingen die voor het ene product zijn ontwikkeld, eenvoudig naar andere producten kunnen worden overgedragen.
Programmeurs kunnen de volledige documentatie voor IGX raadplegen die beschikbaar is op de Pyramid webwebsite op: IGX | Modern modulair controlesysteemframework voor Web-enabled toepassingen²

Deze sectie biedt een introductie tot het testen van twee API-methoden: HTTP met JSON-formaat en EPICS. Voor de eenvoud, Python (Python Webplaats³) wordt gebruikt als een example hostcomputertaal, die toegankelijk en eenvoudig te gebruiken is voor niet-professionele programmeurs.

3.1 Python en HTTP gebruiken
Als example, neem aan dat je de som van de gemeten stromen met Python wilt lezen. Je hebt de URL voor die specifieke IO. De FX4 web De GUI biedt een eenvoudige manier om dit te vinden: klik met de rechtermuisknop in het veld en selecteer 'HTTP kopiëren'. URL' om de tekenreeks naar het klembord te kopiëren.

PYRAMID FX4 Programmeur - Python en HTTP gebruiken

Nu kunt u Python gebruiken om de connectiviteit met gebruikerssoftware te testen via HTTP en JSON. Mogelijk moet u de verzoeken en json-bibliotheken importeren om de HTTP-verzoeken en dataparsing te verwerken.

PYRAMID FX4 Programmeur - HTTP-verzoeken en data-parsing1 Eenvoudige Python HTTP Example

3.2 EPICS gebruiken
Het proces voor het verbinden van de FX4 via EPICS (Experimental Physics and Industrial Control System) is vergelijkbaar. EPICS is een set softwaretools en applicaties die worden gebruikt om gedistribueerde controlesystemen te ontwikkelen en implementeren, die veel worden gebruikt in wetenschappelijke faciliteiten.

  1. https://blackberry.qnx.com/en
  2. https://pyramid.tech/products/igx
  3. https://www.python.org/
  1. Haal de naam van de EPICS-procesvariabele (PV) op voor de gewenste I/O.
  2. Importeer de EPICS-bibliotheek en lees de waarde.

PYRAMID FX4 Programmeur - EPICS-procesvariabele2 EPICS PV-naam ophalenPYRAMID FX4 Programmeur - Eenvoudige Python EPICS Example3 eenvoudige Python EPICS-voorbeeldenample

Bovendien heeft Pyramid een hulpprogramma ontwikkeld (EPICS verbinden⁴) waarmee u EPICS-procesvariabelen in realtime kunt bewaken. Deze tool is handig om te bevestigen of de EPICS PV-naam correct is en of de FX4 de PV correct op uw netwerk bedient.

PYRAMID FX4-programmeur - EPICS Connect4 PTC EPICS verbinden

FX4-programmeer-API

De concepten en methoden die in deze handleiding worden beschreven, bouwen voort op de concepten die zijn vastgelegd in de IGX – Programmer Manual. Zie dat document voor uitleg en bijvamples over hoe basis IGX-programmering en interfaces werken. Deze handleiding behandelt alleen de apparaatspecifieke IO en functionaliteit die uniek is voor de FX4.

4.1 Analoge ingang IO
Deze IO hebben betrekking op het configureren en verzamelen van gegevens op de analoge stroomingangen van de FX4. De eenheden van de kanaalingangen zijn gebaseerd op de door de gebruiker configureerbare instelling genaamd “Sample Units” zijn geldige opties pA, nA, uA, mA en A.
Alle 4 kanalen gebruiken dezelfde interface IO en worden onafhankelijk bestuurd. Vervang kanaal_x door respectievelijk kanaal_1, kanaal_2, kanaal_3 of kanaal_4.

IO-pad Beschrijving
/fx4/adc/kanaal_x ALLEEN-LEZEN NUMMER Gemeten stroomingang.
/fx4/adc/channel_x/scalair NUMMER Eenvoudige scalair zonder eenheid toegepast op het kanaal, standaard 1.
/fx4/adc/kanaal_x/nul_offset NUMMER Huidige offset in nA voor het kanaal.

De volgende IO zijn niet kanaalonafhankelijk en worden tegelijkertijd op alle kanalen toegepast.

IO-pad  Beschrijving
/fx4/kanaal_som ALLEEN-LEZEN NUMMER Som van de huidige invoerkanalen.
/fx4/adc_unit STRING Stelt de huidige gebruikerseenheden voor elk kanaal en de som in.
Opties: “pa”, “na”, “ua”, “ma”, “een”
/fx4/bereik STRING Stelt het huidige invoerbereik in. Zie GUI voor hoe elke bereikcode overeenkomt met de maximale stroominvoerlimieten en BW.
Opties: “0”, “1”, “2”, “3”, “4”, “5”, “6”, “7”
/fx4/adc/sample_frequentie NUMMER De frequentie in Hz die sampDe gegevens worden gemiddeld. Dit regelt de signaal-ruisverhouding en de datasnelheid voor alle kanalen.
/fx4/adc/conversie_frequentie NUMBER De frequentie in Hz waarmee de ADC analoge waarden naar digitale waarden converteert. Standaard is dit 100 kHz en u hoeft deze waarde slechts zelden te wijzigen.
/fx4/adc/offset_correctie ALLEEN-LEZEN NUMMER Som van alle huidige offsets van het kanaal.

4.2 Analoge uitgang IO
Deze IO hebben betrekking op de configuratie van de algemene analoge uitgangen van de FX4, te vinden onder de analoge ingangen op het voorpaneel. Alle 4 kanalen gebruiken dezelfde interface IO en worden onafhankelijk bestuurd. Vervang kanaal_x door respectievelijk kanaal_1, kanaal_2, kanaal_3 of kanaal_4.

IO-pad  Beschrijving
/fx4/dac /kanaal_x NUMMER Commando voltage-uitvoer. Er kan alleen naar deze waarde worden geschreven als de uitvoermodus is ingesteld op handmatig.
/fx4/dac/channel_x/readback ALLEEN-LEZEN NUMMER Gemeten volumetage uitgang.
Dit is vooral handig als u de expressie-uitvoermodus gebruikt.
/fx4/dac/channel_x/output_mode STRING Stelt de uitvoermodus voor het kanaal in.
Opties: “handmatig”, “expressie”, “process_control”
/fx4/dac/kanaal_x/slew_control_enable BOOL Hiermee schakelt u de slew rate-beperking in of uit.
/fx4/dac/kanaal_x/slew_rate NUMMER Slew rate in V/s voor het kanaal.
/fx4/dac/channel_x/upper_limit NUMMER Het maximaal toegestane commando voltage voor het kanaal. Geldt voor alle bedrijfsmodi.
/fx4/dac/kanaal _ x/ondergrens NUMMER Het minimaal toegestane commando voltage voor het kanaal. Geldt voor alle bedrijfsmodi.
/fx4/dac/kanaal _ x/ uitvoer _ expressie STRING Hiermee stelt u de expressiereeks in die door het kanaal wordt gebruikt wanneer het zich in de expressie-uitvoermodus bevindt.
/fx4/dac/kanaal _ x/reset_knop KNOP Reset de opdracht voltage naar 0.

4.3 Digitale in- en uitgangen
Deze IO hebben betrekking op het aansturen van de diverse algemene digitale ingangen en uitgangen op de FX4.

IO-pad  Beschrijving
/fx4/fr1 READONLY BOOL Glasvezelontvanger 1.
/fx4/ft1 BOOL Vezelzender 1.
/fx4/fr2 READONLY BOOL Glasvezelontvanger 2.
/fx4/ft2 BOOL Vezelzender 2.
/fx4/fr3 READONLY BOOL Glasvezelontvanger 3.
/fx4/ft3 BOOL Vezelzender 3.
/fx4/digitale_uitbreiding/d1 BOOL D1 bidirectionele digitale uitbreiding IO.
/fx4/digitale_uitbreiding/d2 BOOL D2 bidirectionele digitale uitbreiding IO.
/fx4/digitale_uitbreiding/d3 BOOL D3 bidirectionele digitale uitbreiding IO.
/fx4/digitale_uitbreiding/d4 BOOL D4 bidirectionele digitale uitbreiding IO.

4.3.1 Digitale I/O-configuratie
Alle digitals hebben child IO voor het configureren van hun gedrag, inclusief een werkingsmodus die bepaalt hoe die digital zal werken. Elke digital heeft een andere set beschikbare opties. Zie de GUI voor details over welke opties beschikbaar zijn voor welke IO.

Kind IO-pad Beschrijving
…/modus STRING Werkingsmodus voor de digitale.
Opties: “input”, “output”, “pwm”, “timer”, “encoder”, “capture”, “uart_rx”, “uart_tx”, “can_rx”, “can_tx”, “pru_input” of “pru_output”
…/proces_signaal STRING De naam van het procesbesturingssignaal, indien aanwezig.
…/trekmodus STRING Pull up/down-modus voor een digitale ingang.
Opties: “omhoog”, “omlaag” of “uitschakelen”

4.4 Relaisbesturing
Beide relais worden onafhankelijk aangestuurd en delen hetzelfde type interface. Vervang relay_x met relay_a of relay_b.

IO-pad  Beschrijving
/fx4/relay _ x/permit / gebruiker _ opdracht BOOL Geeft het relais commando open of dicht. Een true commando zal proberen het relais te sluiten als de interlocks zijn verleend, en false commando zal altijd het relais openen.
/fx4/relay_x/status READONLY STRING De huidige status van het relais.
Geblokkeerde relais zijn open, maar kunnen vanwege een vergrendeling niet worden gesloten.
Staten: “geopend”, “gesloten” of “vergrendeld”
/fx4/relay _ x/automatisch _ sluiten BOOL Wanneer ingesteld op true, zal het relais automatisch sluiten wanneer de interlocks worden verleend. Standaard False.
/fx4/relay _ x/ cyclus _ aantal READONLY NUMBER Het aantal relaiscycli sinds de laatste reset. Handig voor het bijhouden van de levensduur van het relais.

4.5 Hoog volumetage-module
Zie de IGX – Programmer Manual voor details over de FX4 high voltage-interface. Het ouderpad van de component is /fx4/high_votlage .

4.6 Dosisregelaar
Zie de IGX – Programmer Manual voor details over de FX4 dose controller interface. Het component parent path is /fx4/dose_controller .

FX4 Python-voorbeeldampde

5.1 Datalogger met behulp van HTTP
Deze example laat zien hoe je een aantal metingen kunt vastleggen en opslaan in een CSV-bestand fileDoor een lange vertraging tussen de metingen te kiezen, kunt u langdurige datalogging uitvoeren, zelfs als de FX4 sampling rate is hoger ingesteld. Hierdoor kunt u continu metingen verzamelen en opslaan gedurende langere perioden zonder het systeem te overbelasten, zodat gegevens worden vastgelegd met intervallen die geschikt zijn voor uw analyse. De vertraging tussen metingen helpt bij het reguleren van het tempo waarin gegevens worden geregistreerd, wat zorgt voor efficiënte opslag en het risico op ontbrekende datapunten vermindert, terwijl u nog steeds profiteert van hogesnelheids-sampvoor real-time metingen.

PYRAMID FX4 Programmeur - Datalogger met HTTPPYRAMID FX4 Programmeur - Datalogger met HTTP 2PYRAMID FX4 Programmeur - Datalogger met HTTP 3PYRAMID FX4 Programmeur - Datalogger met HTTP 4

5.2 Eenvoudige Python-GUI
de tweede example gebruikt de Tkinter GUI-tool, die is gebouwd voor Python, om een ​​weergave van de gemeten stromen te maken. Met deze interface kunt u de huidige metingen visualiseren in een gebruiksvriendelijk grafisch formaat. Het scherm kan worden aangepast om het groot genoeg te maken om vanuit de hele kamer te lezen, waardoor het ideaal is voor scenario's waarbij realtime monitoring nodig is in grotere ruimtes. Tkinter biedt een eenvoudige manier om interactieve interfaces te maken en door het te integreren met de FX4, kunt u snel een visuele weergave van de gemeten stromen maken die kan worden aangepast aan uw specifieke behoeften.

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

5.3 Eenvoudig WebStopcontacten Example
Deze example demonstreert de WebSockets-interface, de voorkeursmethode voor het lezen van gegevens van de FX4 wanneer maximale bandbreedte vereist is. WebSockets bieden een realtime, full-duplex communicatiekanaal, waardoor gegevensoverdracht sneller en efficiënter verloopt dan bij andere methoden.
De example leest een reeks samples, rapporteert de gemiddelde tijd per sample en maximale latentie, en slaat de gegevens op in een CSV file voor latere analyse. Deze opstelling zorgt voor efficiënte realtime monitoring en eenvoudige dataopslag voor nabewerking.
De specifieke prestatie die kan worden bereikt met WebSockets is afhankelijk van de betrouwbaarheid van uw Ethernet-interface en de relatieve prioriteit van uw applicatie. Voor optimale resultaten moet u ervoor zorgen dat uw netwerk stabiel is en dat de gegevensoverdracht van de FX4 indien nodig prioriteit krijgt.

PYRAMID FX4 Programmeur - Eenvoudig WebStopcontacten ExamplePYRAMID FX4 Programmeur - Eenvoudig WebStopcontacten Exampde 2PYRAMID FX4 Programmeur - Eenvoudig WebStopcontacten Exampde 3

Versie: v3
FX4 Python-voorbeeldamples: 21

Documenten / Bronnen

PDF thumbnailFX4-programmeur
Instruction Manual · FX4 Programmer, FX4, Programmer

Referenties

Stel een vraag

Use this section to ask about setup, compatibility, troubleshooting, or anything missing from this manual.

Stel een vraag

Ask about setup, compatibility, troubleshooting, or anything missing from this manual. Name and email are optional.