www.piramide.tech
Modello FX4
Manuale del programmatore FX4
ID documento: 2711715845
Versione: v3
Programmatore FX4
ID documento: 2711715845
FX4 – Manuale del programmatore FX4
ID documento: 2711650310
Autore | Matteo Nichols |
Proprietario | Responsabile del progetto |
Scopo | Spiegare i concetti di programmazione necessari per utilizzare l'API ed estendere il prodotto attraverso applicazioni esterne. |
Ambito | Concetti di programmazione relativi a FX4. |
Pubblico di destinazione | Sviluppatori di software interessati a utilizzare il prodotto. |
Processo | https://pyramidtc.atlassian.net/wiki/pages/createpage.action? spaceKey=PQ&title=Processo%20di%20creazione%20manuale%XNUMXstandard |
Formazione | NON APPLICABILE |
Controllo della versione
Versione | Descrizione | Salvato da | Salvato su | Stato |
v3 | Aggiunto un semplice overview e più exampmeno. | Matteo Nichols | 6 marzo 2025 10:29 | APPROVATO |
v2 | Aggiunte interfacce IO digitali e riferimenti a IGX. | Matteo Nichols | 3 maggio 2024 7:39 | APPROVATO |
v1 | Versione iniziale, ancora in fase di sviluppo. | Matteo Nichols | 21 febbraio 2024 11:25 | APPROVATO |
Controllo documenti Non Riviewed
Versione corrente del documento: versione 1
Nessun riviewassegnati.
1.1 Firme
per la versione del documento più recente
Venerdì 7 marzo 2025, 10:33 UTC
Matthew Nichols ha firmato; significato: Review
Riferimenti
Documento | ID documento | Autore | Versione |
IGX – Manuale del programmatore | 2439249921 | Matteo Nichols | 1 |
Programmazione FX4 finitaview
Il processore FX4 funziona su un ambiente chiamato IGX, che è basato sul sistema operativo in tempo reale ad alta affidabilità QNX di BlackBerry (QNX Websito¹). IGX fornisce un'interfaccia di programmazione delle applicazioni (API) flessibile e completa per gli utenti che desiderano scrivere il proprio software per computer host.
L'ambiente IGX è condiviso tra gli altri prodotti Pyramid, consentendo di trasferire facilmente le soluzioni software sviluppate per un prodotto ad altri.
I programmatori possono fare riferimento alla documentazione completa per IGX disponibile su Pyramid websito a: IGX | Framework moderno del sistema di controllo modulare per Web-Applicazioni abilitate²
Questa sezione fornisce un'introduzione al test di due dei metodi API: HTTP usando il formato JSON ed EPICS. Per semplicità, Python (Pitone Websito³) è usato come esamplinguaggio di programmazione host, accessibile e facile da usare anche per i programmatori non professionisti.
3.1 Utilizzo di Python e HTTP
Come un example, supponiamo che tu voglia leggere la somma delle correnti misurate con Python. Hai bisogno di URL per quel particolare IO. L'FX4 web L'interfaccia utente grafica fornisce un modo semplice per trovarlo: basta fare clic con il pulsante destro del mouse nel campo e selezionare "Copia HTTP" URL' per copiare la stringa negli appunti.
Ora puoi usare Python per testare la connettività al software utente tramite HTTP e JSON. Potresti dover importare le richieste e le librerie json per gestire le richieste HTTP e l'analisi dei dati.
1 semplice Python HTTP Example
3.2 Utilizzo di EPICS
Il processo per collegare FX4 tramite EPICS (Experimental Physics and Industrial Control System) è simile. EPICS è un set di strumenti software e applicazioni utilizzati per sviluppare e implementare sistemi di controllo distribuiti, ampiamente utilizzati nelle strutture scientifiche.
- Ottenere il nome della variabile di processo EPICS (PV) per l'IO desiderato.
- Importare la libreria EPICS e leggere il valore.
2 Ottieni il nome EPICS PV
3 semplici Python EPICS Example
Inoltre, Pyramid ha creato un'utilità (Connessione EPICS⁴) che consente di monitorare le variabili di processo EPICS in tempo reale. Questo strumento è utile per confermare se il nome EPICS PV è corretto e se FX4 sta servendo correttamente il PV sulla rete.
4 PTC EPICS Connetti
API di programmazione FX4
I concetti e i metodi descritti in questo manuale si basano sui concetti stabiliti nell'IGX – Manuale del programmatore. Si prega di consultare quel documento per spiegazioni ed esample di come funzionano la programmazione e le interfacce IGX di base. Questo manuale coprirà solo gli I/O specifici del dispositivo e le funzionalità esclusive dell'FX4.
4.1 Ingresso analogico IO
Questi IO si riferiscono alla configurazione e alla raccolta dei dati sugli ingressi di corrente analogici dell'FX4. Le unità degli ingressi dei canali si basano sull'impostazione configurabile dall'utente denominata “Sample Units”, le opzioni valide includono pA, nA, uA, mA e A.
Tutti e 4 i canali utilizzano la stessa interfaccia IO e sono controllati in modo indipendente. Sostituisci channel_x rispettivamente con channel_1 , channel_2 , channel_3 o channel_4.
Percorso IO | Descrizione |
/fx4/adc/canale_x | NUMERO DI SOLA LETTURA Ingresso corrente misurata. |
/fx4/adc/channel_x/scalar | NUMERO Semplice scalare senza unità applicato al canale, 1 per impostazione predefinita. |
/fx4/adc/canale_x/offset_zero | NUMERO Offset corrente in nA per il canale. |
I seguenti IO non sono indipendenti dal canale e vengono applicati a tutti i canali contemporaneamente.
Percorso IO | Descrizione |
/fx4/somma_canale | NUMERO DI SOLA LETTURA Somma dei canali di ingresso correnti. |
/fx4/adc_unità | STRINGA Imposta le unità utente correnti per ciascun canale e la somma. Opzioni: “pa”, “na”, “ua”, “ma”, “a” |
/fx4/intervallo | STRING Imposta l'intervallo di input corrente. Vedere GUI per sapere come ogni codice di intervallo corrisponde ai limiti massimi di input corrente e BW. Opzioni: “0”, “1”, “2”, “3”, “4”, “5”, “6”, “7” |
/fx4/adc/sample_frequenza | NUMERO La frequenza in Hz che sampverrà calcolata la media dei dati. Controlla il rapporto segnale-rumore e la velocità dei dati per tutti i canali. |
/fx4/adc/frequenza_di_conversione | NUMERO La frequenza in Hz a cui l'ADC convertirà i valori analogici in digitali. Per impostazione predefinita, è 100 kHz e raramente sarà necessario modificare questo valore. |
/fx4/adc/offset_correction | NUMERO DI SOLA LETTURA Somma di tutti gli offset correnti del canale. |
4.2 Uscita analogica IO
Questi IO si riferiscono alla configurazione delle uscite analogiche generiche dell'FX4 che si trovano sotto gli ingressi analogici sul pannello frontale. Tutti e 4 i canali utilizzano la stessa interfaccia IO e sono controllati in modo indipendente. Sostituisci channel_x rispettivamente con channel_1 , channel_2 , channel_3 o channel_4.
Percorso IO | Descrizione |
/fx4/dac /canale_x | NUMERO Comando voltage uscita. Questo valore può essere scritto solo quando la modalità di uscita è impostata su manuale. |
/fx4/dac/channel_x/readback | NUMERO DI SOLA LETTURA Volume misuratotage uscita. Questa funzionalità è particolarmente utile quando si utilizza la modalità di output dell'espressione. |
/fx4/dac/channel_x/output_mode | STRING Imposta la modalità di uscita per il canale. Opzioni: “manuale”, “espressione”, “process_control” |
/fx4/dac/canale _ x/abilita_controllo_slew | BOOL Abilita o disabilita la limitazione della velocità di variazione. |
/fx4/dac/canale_x/velocità_di_slew | NUMERO Velocità di variazione in V/s per il canale. |
/fx4/dac/channel_x/upper_limit | NUMERO Il volume massimo consentito per i comanditage per il canale. Si applica a tutte le modalità operative. |
/fx4/dac/canale _ x/limite_inferiore | NUMERO Il volume minimo consentito per i comanditage per il canale. Si applica a tutte le modalità operative. |
/fx4/dac/canale _ x/ espressione di output _ | STRING Imposta la stringa di espressione utilizzata dal canale quando è in modalità di output dell'espressione. |
/fx4/dac/canale _ x/pulsante_reset | PULSANTE Reimposta il volume del comandotage a 0. |
4.3 Ingressi e uscite digitali
Questi IO sono correlati al controllo dei vari ingressi e uscite digitali di uso generale presenti sull'FX4.
Percorso IO | Descrizione |
/fx4/fr1 | READONLY BOOL Ricevitore in fibra 1. |
/fx4/ft1 | BOOL Trasmettitore in fibra 1. |
/fx4/fr2 | READONLY BOOL Ricevitore in fibra 2. |
/fx4/ft2 | BOOL Trasmettitore in fibra 2. |
/fx4/fr3 | READONLY BOOL Ricevitore in fibra 3. |
/fx4/ft3 | BOOL Trasmettitore in fibra 3. |
/fx4/espansione_digitale/d1 | BOOL D1 espansione digitale bidirezionale IO. |
/fx4/espansione_digitale/d2 | BOOL D2 espansione digitale bidirezionale IO. |
/fx4/espansione_digitale/d3 | BOOL D3 espansione digitale bidirezionale IO. |
/fx4/espansione_digitale/d4 | BOOL D4 espansione digitale bidirezionale IO. |
4.3.1 Configurazione IO digitale
Tutti i digitali hanno un IO figlio per configurare il loro comportamento, inclusa una modalità operativa che controlla come funzionerà quel digitale. Ogni digitale avrà un diverso set di opzioni disponibili. Consultare la GUI per i dettagli su quali opzioni sono disponibili per quale IO.
Percorso IO figlio | Descrizione |
…/modalità | STRING Modalità di funzionamento per il digitale. Opzioni: “input”, “output”, “pwm”, “timer”, “encoder”, “capture”, “uart_rx”, “uart_tx”, “can_rx”, “can_tx”, “pru_input” o “pru_output” |
…/process_signal | STRINGA Nome del segnale di controllo del processo, se presente. |
…/modalità_pull | STRING Modalità pull up/down per un ingresso digitale. Opzioni: “su”, “giù” o “disabilita” |
4.4 Controllo relè
Entrambi i relè sono controllati indipendentemente e condividono lo stesso tipo di interfaccia. Sostituisci relay_x con relay_a o relay_b rispettivamente.
Percorso IO | Descrizione |
/fx4/relay _ x/permit / user _ comando | BOOL Comanda l'apertura o la chiusura del relè. Un comando true tenterà di chiudere il relè se gli interblocchi sono concessi, mentre un comando false aprirà sempre il relè. |
/fx4/relè _ x/stato | STRINGA DI SOLA LETTURA Stato corrente del relè. I relè bloccati sono aperti ma non possono essere chiusi a causa di un interblocco. Stati: “aperto”, “chiuso” o “bloccato” |
/fx4/relay _ x/chiudi automaticamente | BOOL Se impostato su true, il relè si chiuderà automaticamente quando vengono concessi gli interblocchi. Falso per impostazione predefinita. |
/fx4/relay _ x/ ciclo _ conteggio | READONLY NUMBER Il numero di cicli del relè dall'ultimo reset. Utile per tracciare la durata del relè. |
4.5 Alto volumetage Modulo
Consulta l'IGX – Manuale del programmatore per i dettagli sull'FX4 ad alto volumetage interfaccia. Il percorso principale del componente è /fx4/high_votlage .
4.6 Controllore della dose
Consultare IGX – Manuale del programmatore per dettagli sull'interfaccia del controller della dose FX4. Il percorso principale del componente è /fx4/dose_controller .
FX4 Python Examples
5.1 Data Logger tramite HTTP
Questo example dimostra come catturare un certo numero di letture e salvarle in un file CSV fileScegliendo un ritardo lungo tra le letture, è possibile eseguire la registrazione dei dati a lungo termine anche se l'FX4 sampla velocità di ling è impostata più alta. Ciò consente di raccogliere e archiviare continuamente le misurazioni per periodi prolungati senza sovraccaricare il sistema, assicurando che i dati vengano acquisiti a intervalli adatti alla tua analisi. Il ritardo tra le letture aiuta a regolare il ritmo con cui i dati vengono registrati, consentendo un'archiviazione efficiente e riducendo il rischio di perdere punti dati, beneficiando comunque di s ad alta velocitàampper misurazioni in tempo reale.
5.2 Semplice interfaccia grafica Python
Il secondo esample utilizza lo strumento GUI Tkinter, creato per Python, per creare una visualizzazione delle correnti misurate. Questa interfaccia consente di visualizzare le letture di corrente in un formato grafico intuitivo. Il display può essere ridimensionato per renderlo abbastanza grande da poter essere letto da una stanza all'altra, rendendolo ideale per scenari in cui è necessario un monitoraggio in tempo reale in spazi più ampi. Tkinter fornisce un modo semplice per creare interfacce interattive e, integrandolo con FX4, è possibile creare rapidamente una visualizzazione delle correnti misurate che può essere personalizzata per soddisfare le proprie esigenze specifiche.
5.3 Semplice WebPrese Example
Questo example dimostra il WebInterfaccia socket, che rappresenta il metodo preferito per la lettura dei dati dall'FX4 quando è richiesta la massima larghezza di banda. WebI socket forniscono un canale di comunicazione full-duplex in tempo reale, consentendo un trasferimento dati più rapido ed efficiente rispetto ad altri metodi.
L'example legge una serie di samples, riporta il tempo medio al sample e la latenza massima e salva i dati in un file CSV file per analisi successive. Questa configurazione consente un monitoraggio efficiente in tempo reale e una facile archiviazione dei dati per la post-elaborazione.
Le prestazioni specifiche che possono essere raggiunte con WebSockets dipende dall'affidabilità della tua interfaccia Ethernet e dalla priorità relativa della tua applicazione. Per risultati ottimali, assicurati che la tua rete sia stabile e che la trasmissione dati di FX4 sia prioritaria, se necessario.
Versione: v3
FX4 Python Example: 21
Documenti / Risorse
![]() |
Programmatore PYRAMID FX4 [pdf] Manuale di istruzioni Programmatore FX4, FX4, Programmatore |