Bruksanvisning for PYRAMID FX4 programmerer

PYRAMID FX4 Programmer Instruction Manual

PYRAMID logowww.pyramid.tech
FX4
FX4 programmeringshåndbok
Dokument-ID: 2711715845
Versjon: v3PYRAMID FX4 programmerer

FX4 programmerer

Dokument-ID: 2711715845
FX4 – FX4 programmeringshåndbok

PYRAMID FX4 programmerer - ikon Dokument-ID: 2711650310

Forfatter Matthew Nichols
Eier Prosjektleder
Hensikt Forklar programmeringskonseptene som er nødvendige for å bruke API og utvide produktet gjennom eksterne applikasjoner.
Omfang FX4 relaterte programmeringskonsepter.
Tiltenkt publikum Programvareutviklere som er interessert i å bruke produktet.
Behandle https://pyramidtc.atlassian.net/wiki/pages/createpage.action?
spaceKey=PQ&title=Standard%20Manual%20Creation%20Process
Opplæring IKKE GJELDER

Versjonskontroll

Versjon Beskrivelse  Lagret av  Lagret på  Status
v3 Lagt til en enkel overview og flere eksamples. Matthew Nichols 6. mars 2025 10:29 GODKJENT
v2 Lagt til digitale IO-grensesnitt og referanser tilbake til IGX. Matthew Nichols 3. mai 2024 7:39 GODKJENT
v1 Første utgivelse, fortsatt et arbeid pågår. Matthew Nichols 21. februar 2024 11:25 GODKJENT

PYRAMID FX4-programmerer - ikon 1 Dokument kontroll Ikke Reviewed
Gjeldende dokumentversjon: v.1
Ingen reviewere tildelt.

1.1 Signaturer
for siste dokumentversjon
Fredag ​​7. mars 2025, 10:33 UTC
Matthew Nichols signerte ; betydning: Review

Referanser

Dokument Dokument-ID  Forfatter  Versjon
IGX – Programmeringshåndbok 2439249921 Matthew Nichols 1

FX4-programmering overview

FX4-prosessoren kjører på et miljø kalt IGX, som er bygget på QNX høypålitelige sanntidsoperativsystem fra BlackBerry (QNX WebnettstedetIGX tilbyr et fleksibelt og omfattende applikasjonsprogrammeringsgrensesnitt (API) for brukere som ønsker å skrive sin egen vertsdatamaskinprogramvare.
IGX-miljøet deles på tvers av andre Pyramid-produkter, slik at programvareløsninger utviklet for ett produkt enkelt kan overføres til andre.
Programmerere kan referere til den fullstendige dokumentasjonen for IGX som er tilgjengelig på pyramiden webnettsted på: IGX | Moderne Modular Control System Framework for Web-aktiverte applikasjoner²

Denne delen gir en introduksjon til å teste to av API-metodene: HTTP ved bruk av JSON-format og EPICS. For enkelhets skyld, Python (Python Webnettstedet³) brukes som eksample vertsdatamaskinspråk, som er tilgjengelig og enkelt å bruke for ikke-profesjonelle programmerere.

3.1 Bruke Python og HTTP
Som eksample, anta at du vil lese summen av de målte strømmene med Python. Du trenger URL for den spesielle IO. FX4 web GUI gir en enkel måte å finne dette på: ganske enkelt høyreklikk i feltet og velg 'Kopier HTTP URL' for å kopiere strengen til utklippstavlen.

PYRAMID FX4-programmerer - Bruker Python og HTTP

Nå kan du bruke Python til å teste tilkobling til brukerprogramvare via HTTP og JSON. Det kan hende du må importere forespørslene og json-bibliotekene for å håndtere HTTP-forespørslene og dataparsingen.

PYRAMID FX4 Programmerer - HTTP-forespørsler og dataparsing1 Enkel Python HTTP Eksample

3.2 Bruke EPICS
Prosessen for å koble FX4 gjennom EPICS (Experimental Physics and Industrial Control System) er lik. EPICS er et sett med programvareverktøy og applikasjoner som brukes til å utvikle og implementere distribuerte kontrollsystemer, mye brukt i vitenskapelige anlegg.

  1. https://blackberry.qnx.com/en
  2. https://pyramid.tech/products/igx
  3. https://www.python.org/
  1. Få EPICS-prosessvariabelnavnet (PV) for ønsket IO.
  2. Importer EPICS-biblioteket og les verdien.

PYRAMID FX4 Programmerer - EPICS prosessvariabel2 Få EPICS PV-navnPYRAMID FX4-programmerer - Simple Python EPICS Eksample3 enkle Python EPICS Eksample

I tillegg opprettet Pyramid et verktøy (EPICS Connect⁴) som lar deg overvåke EPICS-prosessvariabler i sanntid. Dette verktøyet er nyttig for å bekrefte om EPICS PV-navnet er riktig og FX4 betjener PV-en riktig på nettverket ditt.

PYRAMID FX4-programmerer - EPICS Connect4 PTC EPICS Connect

FX4 programmerings-API

Konseptene og metodene beskrevet i denne håndboken bygger på konseptene som er etablert i IGX – Programmerermanualen. Vennligst se det dokumentet for forklaring og eksamples om hvordan grunnleggende IGX-programmering og grensesnitt fungerer. Denne håndboken vil kun dekke den enhetsspesifikke IO og funksjonaliteten som er unik for FX4.

4.1 Analog inngang IO
Disse IO er relatert til konfigurering og innsamling av data på de analoge strøminngangene til FX4. Enhetene til kanalinngangene er basert på den brukerkonfigurerbare innstillingen kalt "Sample Units", inkluderer gyldige alternativer pA, nA, uA, mA og A.
Alle 4 kanalene bruker samme grensesnitt IO og styres uavhengig. Erstatt kanal_x med henholdsvis kanal_1 , kanal_2 , kanal_3 eller kanal_4.

IO-bane Beskrivelse
/fx4/adc/kanal_x SKRIVEBARE NUMMER Målt strøminngang.
/fx4/adc/channel_x/scalar NUMBER Enkel enhetsløs skalar brukt på kanalen, 1 som standard.
/fx4/adc/channel_x/zero_offset NUMBER Gjeldende offset i nA for kanalen.

Følgende IO er ikke kanaluavhengig og brukes på alle kanaler samtidig.

IO-bane  Beskrivelse
/fx4/kanalsum SKRIVEBARE NUMMER Summen av gjeldende inngangskanaler.
/fx4/adc_unit STRING Angir gjeldende brukerenheter for hver kanal og sum.
Alternativer: "pa", "na", "ua", "ma", "a"
/fx4/område STRING Angir gjeldende inndataområde. Se GUI for hvordan hver områdekode tilsvarer de maksimale gjeldende inngangsgrensene og BW.
Alternativer: “0”, “1”, “2”, “3”, “4”, “5”, “6”, “7”
/fx4/adc/sample_frekvens NUMBER Frekvensen i Hz som sample data vil bli gjennomsnittet til. Dette kontrollerer signal-til-støy og datahastighet for alle kanaler.
/fx4/adc/conversion_frequency NUMBER Frekvensen i Hz som ADC vil konvertere analoge til digitale verdier ved. Som standard er dette 100kHz, og du trenger bare sjelden å endre denne verdien.
/fx4/adc/offset_correction SKRIVEBARE NUMMER Summen av alle kanalens gjeldende forskyvninger.

4.2 Analog utgang IO
Disse IO er relatert til konfigurasjonen av de generelle analoge utgangene til FX4 som finnes under de analoge inngangene på frontpanelet. Alle 4 kanalene bruker samme grensesnitt IO og styres uavhengig. Erstatt kanal_x med henholdsvis kanal_1 , kanal_2 , kanal_3 eller kanal_4.

IO-bane  Beskrivelse
/fx4/dac /kanal_x NUMBER Kommando voltage utgang. Denne verdien kan bare skrives til når utgangsmodus er satt til manuell.
/fx4/dac/channel_x/readback LESBARE ANTALL Målt voltage utgang.
Dette er mest nyttig når du bruker uttrykksutdatamodus.
/fx4/dac/kanal_x/utgangsmodus STRING Angir utgangsmodus for kanalen.
Alternativer: "manuell", "uttrykk", "prosesskontroll"
/fx4/dac/channel _ x/slew_control_enable BOOL Aktiverer eller deaktiverer begrensning av slew rate.
/fx4/dac/channel_ x/slew_rate NUMBER Slew rate i V/s for kanalen.
/fx4/dac/channel_x/upper_limit NUMBER Maksimalt tillatt kommando voltage for kanalen. Gjelder alle driftsmoduser.
/fx4/dac/kanal _ x/lower_limit NUMBER Minimum tillatt kommando voltage for kanalen. Gjelder alle driftsmoduser.
/fx4/dac/kanal _ x/ output _ uttrykk STRING Angir uttrykksstrengen som brukes av kanalen når den er i uttrykksutgangsmodus.
/fx4/dac/kanal _ x/reset_button BUTTON Tilbakestiller kommandoen voltage til 0.

4.3 Digitale innganger og utganger
Disse IO er relatert til å kontrollere de forskjellige digitale inngangene og utgangene for generell bruk som finnes på FX4.

IO-bane  Beskrivelse
/fx4/fr1 READONLY BOOL Fibermottaker 1.
/fx4/ft1 BOOL Fibersender 1.
/fx4/fr2 READONLY BOOL Fibermottaker 2.
/fx4/ft2 BOOL Fibersender 2.
/fx4/fr3 READONLY BOOL Fibermottaker 3.
/fx4/ft3 BOOL Fibersender 3.
/fx4/digital_expansion/d1 BOOL D1 toveis digital utvidelse IO.
/fx4/digital_expansion/d2 BOOL D2 toveis digital utvidelse IO.
/fx4/digital_expansion/d3 BOOL D3 toveis digital utvidelse IO.
/fx4/digital_expansion/d4 BOOL D4 toveis digital utvidelse IO.

4.3.1 Digital IO-konfigurasjon
Alle digitale enheter har barne-IO for å konfigurere atferden, inkludert en driftsmodus som kontrollerer hvordan den digitale vil fungere. Hver digital vil ha et annet sett med tilgjengelige alternativer. Se GUI for detaljer om hvilke alternativer som er tilgjengelige for hvilken IO.

Barn IO-bane Beskrivelse
…/modus STRING Driftsmodus for den digitale.
Alternativer: "input", "output", "pwm", "timer", "encoder", "capture", "uart_rx", "uart_tx", "can_rx", "can_tx", "pru_input" eller "pru_output"
…/prosess_signal STRING Navnet på prosesskontrollsignalet, hvis det finnes.
…/pull_mode STRING Trekk opp/ned-modus for en digital inngang.
Alternativer: "opp", "ned" eller "deaktiver"

4.4 Relékontroll
Begge reléene styres uavhengig og deler samme type grensesnitt. Erstatt relay_x med henholdsvis relay_a eller relay_b.

IO-bane  Beskrivelse
/fx4/relay _ x/permit / user _ kommando BOOL Kommandoer reléet åpent eller lukket. En sann kommando vil prøve å lukke reléet hvis sperrene er gitt, og falsk kommando vil alltid åpne releet.
/fx4/relé _ x/tilstand READONLY STRING Den nåværende tilstanden til reléet.
Låste releer er åpne, men kan ikke lukkes på grunn av en forrigling.
Statuser: «åpnet», «lukket» eller «låst»
/fx4/relay _ x/automatisk _ lukke BOOL Når satt til true, vil releet automatisk lukkes når forriglingene er gitt. False som standard.
/fx4/relé _ x/ syklus _ telling READONLY NUMBER Antall relésykluser siden siste tilbakestilling. Nyttig for å spore reléets levetid.

4.5 Høy voltage Modul
Se IGX – Programmer Manual for detaljer om FX4 high voltage grensesnitt. Komponentens overordnede bane er /fx4/high_votlage .

4.6 Dosekontroller
Se IGX – Programmeringsmanual for detaljer om FX4-dosekontrollergrensesnittet. Komponentens overordnede bane er /fx4/dose_controller .

FX4 Python Examples

5.1 Datalogger som bruker HTTP
Denne eksample demonstrerer hvordan du fanger opp et antall avlesninger og lagrer dem i en CSV file. Ved å velge en lang forsinkelse mellom avlesningene, kan du utføre langsiktig datalogging selv om FX4 sampling rate er satt høyere. Dette lar deg kontinuerlig samle inn og lagre målinger over lengre perioder uten å overvelde systemet, og sikre at data fanges opp med intervaller som passer for analysen din. Forsinkelsen mellom avlesningene hjelper til med å regulere tempoet som data logges med, noe som muliggjør effektiv lagring og reduserer risikoen for manglende datapunkter samtidig som du drar nytte av høyhastighets sampling for sanntidsmålinger.

PYRAMID FX4 Programmerer - Datalogger som bruker HTTPPYRAMID FX4 Programmerer - Datalogger som bruker HTTP 2PYRAMID FX4 Programmerer - Datalogger som bruker HTTP 3PYRAMID FX4 Programmerer - Datalogger som bruker HTTP 4

5.2 Enkelt Python GUI
Den andre eksample bruker Tkinter GUI-verktøyet, som er bygget for Python, for å lage en visning av de målte strømmene. Dette grensesnittet lar deg visualisere gjeldende avlesninger i et brukervennlig grafisk format. Skjermen kan endres for å gjøre den stor nok til å lese fra et rom, noe som gjør den ideell for scenarier der sanntidsovervåking er nødvendig i større rom. Tkinter gir en enkel måte å lage interaktive grensesnitt på, og ved å integrere den med FX4 kan du raskt bygge en visuell visning av de målte strømmene som kan tilpasses for å passe dine spesifikke behov.

PYRAMID FX4 programmerer - Enkelt Python GUIPYRAMID FX4-programmerer - Enkel Python GUI 2PYRAMID FX4-programmerer - Enkel Python GUI 3PYRAMID FX4-programmerer - Enkel Python GUI 4PYRAMID FX4-programmerer - Enkel Python GUI 5PYRAMID FX4-programmerer - Enkel Python GUI 6PYRAMID FX4-programmerer - Enkel Python GUI 7

5.3 Enkelt WebStikkontakter Eksample
Denne eksample demonstrerer WebSockets-grensesnitt, som er den foretrukne metoden for å lese data fra FX4 når maksimal båndbredde er nødvendig. WebSockets gir en sanntids, full-dupleks kommunikasjonskanal, som muliggjør raskere og mer effektiv dataoverføring sammenlignet med andre metoder.
Eksample leser en serie samples, rapporterer gjennomsnittlig tid pr. sample og maksimal ventetid, og lagrer dataene til en CSV file for senere analyse. Dette oppsettet muliggjør effektiv sanntidsovervåking og enkel datalagring for etterbehandling.
Den spesifikke ytelsen som kan oppnås med WebSockets avhenger av påliteligheten til Ethernet-grensesnittet og den relative prioriteringen av applikasjonen. For optimale resultater, sørg for at nettverket ditt er stabilt og at FX4s dataoverføring blir prioritert om nødvendig.

PYRAMID FX4-programmerer - Enkel WebStikkontakter EksamplePYRAMID FX4-programmerer - Enkel WebStikkontakter Eksample 2PYRAMID FX4-programmerer - Enkel WebStikkontakter Eksample 3

Versjon: v3
FX4 Python Examples: 21

Dokumenter / Ressurser

PDF thumbnailFX4 programmerer
Instruction Manual · FX4 Programmer, FX4, Programmer

Referanser

Still et spørsmål

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

Still et spørsmål

Ask a question about setup, compatibility, troubleshooting, or anything missing from this manual.