www.pyramid.tech
FX4
Manual del programador FX4
Identificador del document: 2711715845
Versió: v3
Programador FX4
Identificador del document: 2711715845
Manual del programador FX4 - FX4
ID del document: 2711650310
Autor | Matthew Nichols |
Propietari | Cap de projecte |
Propòsit | Explicar els conceptes de programació necessaris per utilitzar l'API i ampliar el producte mitjançant aplicacions externes. |
Àmbit | Conceptes de programació relacionats amb FX4. |
Públic destinat | Desenvolupadors de programari interessats a utilitzar el producte. |
Procés | https://pyramidtc.atlassian.net/wiki/pages/createpage.action? spaceKey=PQ&title=Estàndard%20Manual%20Creació%20Procés |
Formació | NO APLICABLE |
Control de versions
Versió | Descripció | Salvat per | Desat el | Estat |
v3 | S'ha afegit un simple sobreview i més examples. | Matthew Nichols | 6 de març de 2025 10:29 | APROVAT |
v2 | S'han afegit interfícies d'E/S digitals i referències a IGX. | Matthew Nichols | 3 de maig de 2024 7:39 | APROVAT |
v1 | Llançament inicial, encara un treball en curs. | Matthew Nichols | 21 de febrer de 2024 11:25 | APROVAT |
Control de documents No Reviewed
Versió actual del document: v.1
No reviewers assignats.
1.1 Signatures
per a la versió més recent del document
Divendres, 7 de març de 2025 a les 10:33 UTC
Matthew Nichols va signar; significat: Review
Referències
Document | ID del document | Autor | Versió |
IGX - Manual del programador | 2439249921 | Matthew Nichols | 1 |
Programació FX4 acabadaview
El processador FX4 s'executa en un entorn anomenat IGX, que es basa en el sistema operatiu QNX d'alta fiabilitat en temps real de BlackBerry (QNX Weblloc¹). IGX ofereix una interfície de programació d'aplicacions (API) flexible i completa per als usuaris que volen escriure el seu propi programari d'ordinador amfitrió.
L'entorn IGX es comparteix amb altres productes Pyramid, la qual cosa permet que les solucions de programari desenvolupades per a un producte es transfereixin fàcilment a altres.
Els programadors poden consultar la documentació completa d'IGX disponible a la piràmide weblloc a: IGX | Marc de sistema de control modular modern per a Web-Aplicacions habilitades²
Aquesta secció ofereix una introducció a la prova de dos dels mètodes de l'API: HTTP amb format JSON i EPICS. Per simplificar, Python (Python Weblloc³) s'utilitza com a exampel llenguatge de l'ordinador amfitrió, que és accessible i fàcil d'utilitzar per a programadors no professionals.
3.1 Ús de Python i HTTP
Com a exampSuposem que voleu llegir la suma dels corrents mesurats amb Python. Necessites el URL per a aquest IO en concret. El FX4 web La GUI ofereix una manera fàcil de trobar-ho: simplement feu clic amb el botó dret al camp i seleccioneu "Copia HTTP URL' per copiar la cadena al porta-retalls.
Ara podeu utilitzar Python per provar la connectivitat amb el programari d'usuari mitjançant HTTP i JSON. És possible que hàgiu d'importar les sol·licituds i les biblioteques json per gestionar les sol·licituds HTTP i l'anàlisi de dades.
1 HTTP simple de Python Example
3.2 Ús d'EPICS
El procés per connectar l'FX4 mitjançant EPICS (Sistema de Control de Física Experimental i Industrial) és similar. EPICS és un conjunt d'eines i aplicacions de programari utilitzats per desenvolupar i implementar sistemes de control distribuïts, molt utilitzats en instal·lacions científiques.
- Obteniu el nom de la variable de procés EPICS (PV) per a l'IO desitjat.
- Importeu la biblioteca EPICS i llegiu el valor.
2 Obteniu el nom EPICS PV
3 EPICS simples de Python Example
A més, Pyramid va crear una utilitat (EPICS Connect⁴) que permet supervisar les variables del procés EPICS en temps real. Aquesta eina és útil per confirmar si el nom EPICS PV és correcte i l'FX4 està donant servei correctament al PV a la vostra xarxa.
4 PTC EPICS Connect
API de programació FX4
Els conceptes i mètodes descrits en aquest manual es basen en els conceptes establerts a l'IGX – Manual del programador. Si us plau, vegeu aquest document per a una explicació i exampde com funcionen la programació i les interfícies bàsiques d'IGX. Aquest manual només tractarà les E/S i la funcionalitat específiques del dispositiu que són exclusives de l'FX4.
4.1 Entrada analògica IO
Aquests IO es relacionen amb la configuració i la recollida de dades a les entrades de corrent analògic de l'FX4. Les unitats de les entrades del canal es basen en la configuració configurable per l'usuari anomenada "Samples unitats”, les opcions vàlides inclouen pA, nA, uA, mA i A.
Els 4 canals utilitzen la mateixa interfície IO i es controlen de manera independent. Substituïu channel_x per channel_1 , channel_2 , channel_3 o channel_4 respectivament.
Ruta IO | Descripció |
/fx4/adc/channel_x | READONLY NUMBER Entrada de corrent mesurada. |
/fx4/adc/channel_x/scalar | NUMBER Escalar simple sense unitat aplicat al canal, 1 per defecte. |
/fx4/adc/channel_x/zero_offset | NUMBER Desplaçament actual en nA per al canal. |
Les següents IO no són independents del canal i s'apliquen a tots els canals simultàniament.
Ruta IO | Descripció |
/fx4/canal_sum | READONLY NUMBER Suma dels canals d'entrada actuals. |
/fx4/adc_unit | STRING Defineix les unitats d'usuari actuals per a cada canal i suma. Opcions: “pa”, “na”, “ua”, “ma”, “a” |
/fx4/range | STRING Defineix l'interval d'entrada actual. Vegeu la GUI per saber com cada codi d'interval correspon als límits màxims d'entrada actuals i BW. Opcions: “0”, “1”, “2”, “3”, “4”, “5”, “6”, “7” |
/fx4/adc/sample_freqüència | NÚMERO La freqüència en Hz que samples dades es promediaran a. Això controla la relació senyal-soroll i la velocitat de dades per a tots els canals. |
/fx4/adc/conversion_frequency | NÚMERO La freqüència en Hz a la qual l'ADC convertirà els valors analògics a digitals. De manera predeterminada, és de 100 kHz i rarament hauràs de canviar aquest valor. |
/fx4/adc/offset_correction | READONLY NUMBER Suma de tots els desplaçaments actuals del canal. |
4.2 Sortida analògica IO
Aquestes IO es relacionen amb la configuració de les sortides analògiques de propòsit general de l'FX4 que es troben sota les entrades analògiques del panell frontal. Els 4 canals utilitzen la mateixa interfície IO i es controlen de manera independent. Substituïu channel_x per channel_1 , channel_2 , channel_3 o channel_4 respectivament.
Ruta IO | Descripció |
/fx4/dac /channel_x | NUMBER Command voltage sortida. Aquest valor només es pot escriure quan el mode de sortida està configurat en manual. |
/fx4/dac/channel_x/readback | NÚMERO DE LECTURA Volum mesurattage sortida. Això és molt útil quan s'utilitza el mode de sortida d'expressió. |
/fx4/dac/channel_x/output_mode | STRING Defineix el mode de sortida del canal. Opcions: "manual", "expressió", "control_procés" |
/fx4/dac/channel _ x/slew_control_enable | BOOL Activa o desactiva la limitació de la velocitat de variació. |
/fx4/dac/channel_x/slew_rate | NUMBER Velocitat de variació en V/s per al canal. |
/fx4/dac/channel_x/upper_limit | NUMBER La comanda màxima permesa voltage per al canal. S'aplica a tots els modes de funcionament. |
/fx4/dac/channel _ x/lower_limit | NÚMERO L'ordre mínim permès voltage per al canal. S'aplica a tots els modes de funcionament. |
/fx4/dac/channel _ x/ sortida _ expressió | STRING Defineix la cadena d'expressió utilitzada pel canal quan es troba en el mode de sortida d'expressió. |
/fx4/dac/channel _x/botó_restabliment | BOTÓ Reinicia l'ordre voltage a 0. |
4.3 Entrades i sortides digitals
Aquestes IO es relacionen amb el control de les diferents entrades i sortides digitals de propòsit general que es troben a l'FX4.
Ruta IO | Descripció |
/fx4/fr1 | READONLY BOOL Receptor de fibra 1. |
/fx4/ft1 | BOOL Transmissor de fibra 1. |
/fx4/fr2 | READONLY BOOL Receptor de fibra 2. |
/fx4/ft2 | BOOL Transmissor de fibra 2. |
/fx4/fr3 | READONLY BOOL Receptor de fibra 3. |
/fx4/ft3 | BOOL Transmissor de fibra 3. |
/fx4/digital_expansion/d1 | E/S d'expansió digital bidireccional BOOL D1. |
/fx4/digital_expansion/d2 | E/S d'expansió digital bidireccional BOOL D2. |
/fx4/digital_expansion/d3 | E/S d'expansió digital bidireccional BOOL D3. |
/fx4/digital_expansion/d4 | E/S d'expansió digital bidireccional BOOL D4. |
4.3.1 Configuració d'E/S digitals
Tots els digitals tenen IO fill per configurar el seu comportament, inclòs un mode de funcionament que controla com funcionarà aquest digital. Cada digital tindrà un conjunt diferent d'opcions disponibles. Consulteu la GUI per obtenir detalls sobre quines opcions hi ha disponibles per a quin IO.
Ruta IO infantil | Descripció |
…/mode | STRING Mode de funcionament per al digital. Opcions: “entrada”, “sortida”, “pwm”, “temporitzador”, “encoder”, “captura”, “uart_rx”, “uart_tx”, “can_rx”, “can_tx”, “pru_input” o “pru_output” |
…/senyal_procés | STRING El nom del senyal de control del procés, si n'hi ha. |
…/pull_mode | STRING Mode amunt/avall per a una entrada digital. Opcions: "amunt", "avall" o "desactivar" |
4.4 Control de relés
Tots dos relés es controlen de manera independent i comparteixen el mateix tipus d'interfície. Substituïu relay_x per relay_a o relay_b respectivament.
Ruta IO | Descripció |
ordre /fx4/relay _ x/permit / user _ | BOOL Ordena que el relé s'obre o es tanqui. Una ordre veritable intentarà tancar el relé si s'atorguen els enclavaments, i una ordre falsa sempre obrirà el relé. |
/fx4/relé _ x/estat | READONLY STRING L'estat actual del relé. Els relés bloquejats estan oberts però no es poden tancar a causa d'un enclavament. Estats: "obert", "tancat" o "tancat" |
/fx4/relé _ x/tancar automàticament | BOOL Quan s'estableix en true, el relé es tancarà automàticament quan es concedeixin els enclavaments. Fals per defecte. |
/fx4/relé _ x/ cicle _ recompte | READONLY NUMBER El nombre de cicles de relé des de l'últim reinici. Útil per fer el seguiment de la vida útil del relé. |
4.5 Vol alttage Mòdul
Consulteu el manual del programador IGX per obtenir més informació sobre el FX4 high voltage interfície. La ruta principal del component és /fx4/high_votlage .
4.6 Controlador de dosis
Consulteu el Manual del programador IGX per obtenir més informació sobre la interfície del controlador de dosi FX4. La ruta principal del component és /fx4/dose_controller .
FX4 Python Examples
5.1 Registrador de dades mitjançant HTTP
Aquest example mostra com capturar una sèrie de lectures i desar-les en un CSV file. Si escolliu un retard llarg entre lectures, podeu realitzar un registre de dades a llarg termini fins i tot si el FX4 sampla taxa de ling es fixa més alta. Això us permet recollir i emmagatzemar mesures contínuament durant períodes prolongats sense aclaparar el sistema, assegurant-vos que les dades es capturen a intervals adequats per a la vostra anàlisi. El retard entre lectures ajuda a regular el ritme al qual s'enregistren les dades, permetent un emmagatzematge eficient i reduint el risc de perdre punts de dades alhora que es beneficien de l'alta velocitat.ampling per a mesures en temps real.
5.2 GUI de Python simple
El segon exampEl fitxer utilitza l'eina Tkinter GUI, que està creada per a Python, per crear una visualització dels corrents mesurats. Aquesta interfície us permet visualitzar les lectures actuals en un format gràfic fàcil d'utilitzar. La pantalla es pot canviar de mida perquè sigui prou gran com per llegir-la des de l'altra habitació, la qual cosa la fa ideal per a escenaris on es necessita un seguiment en temps real en espais més grans. Tkinter ofereix una manera senzilla de crear interfícies interactives i, en integrar-la amb l'FX4, podeu crear ràpidament una visualització visual dels corrents mesurats que es poden personalitzar per adaptar-se a les vostres necessitats específiques.
5.3 Simple WebEndolls Example
Aquest example demostra el WebInterfície de sòcols, que és el mètode preferit per llegir dades de l'FX4 quan es requereix una amplada de banda màxima. WebEls endolls proporcionen un canal de comunicació dúplex complet en temps real, que permet una transferència de dades més ràpida i eficient en comparació amb altres mètodes.
L'example llegeix una sèrie de samples, informa del temps mitjà per sample i latència màxima, i desa les dades en un CSV file per a una anàlisi posterior. Aquesta configuració permet un seguiment eficient en temps real i un fàcil emmagatzematge de dades per al postprocessament.
El rendiment específic que es pot aconseguir amb WebSockets depèn de la fiabilitat de la vostra interfície Ethernet i de la prioritat relativa de la vostra aplicació. Per obtenir resultats òptims, assegureu-vos que la vostra xarxa sigui estable i que la transmissió de dades de l'FX4 tingui prioritat si cal.
Versió: v3
FX4 Python Examples: 21
Documents/Recursos
![]() |
Programador PYRAMID FX4 [pdfManual d'instruccions Programador FX4, FX4, Programador |