Logotip de la PIRÀMIDEwww.pyramid.tech
FX4
Manual del programador FX4
Identificador del document: 2711715845
Versió: v3Programador PYRAMID FX4

Programador FX4

Identificador del document: 2711715845
Manual del programador FX4 - FX4

Programador PYRAMID FX4 - icona 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

Programador PYRAMID FX4 - icona 1 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.

Programador PYRAMID FX4: utilitzant Python i HTTP

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.

Programador PYRAMID FX4: sol·licituds HTTP i anàlisi de dades1 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.

  1. https://blackberry.qnx.com/en
  2. https://pyramid.tech/products/igx
  3. https://www.python.org/
  1. Obteniu el nom de la variable de procés EPICS (PV) per a l'IO desitjat.
  2. Importeu la biblioteca EPICS i llegiu el valor.

Programador PYRAMID FX4 - variable de procés EPICS2 Obteniu el nom EPICS PVProgramador PYRAMID FX4 - Simple Python EPICS Example3 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.

Programador PYRAMID FX4 - EPICS Connect4 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.

Programador PYRAMID FX4 - Registrador de dades mitjançant HTTPProgramador PYRAMID FX4 - Registrador de dades amb HTTP 2Programador PYRAMID FX4 - Registrador de dades amb HTTP 3Programador PYRAMID FX4 - Registrador de dades amb HTTP 4

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.

Programador PYRAMID FX4 - GUI de Python simpleProgramador PYRAMID FX4 - GUI simple de Python 2Programador PYRAMID FX4 - GUI simple de Python 3Programador PYRAMID FX4 - GUI simple de Python 4Programador PYRAMID FX4 - GUI simple de Python 5Programador PYRAMID FX4 - GUI simple de Python 6Programador PYRAMID FX4 - GUI simple de Python 7

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.

Programador PYRAMID FX4 - Simple WebEndolls ExampleProgramador PYRAMID FX4 - Simple WebEndolls Exampel 2Programador PYRAMID FX4 - Simple WebEndolls Exampel 3

Versió: v3
FX4 Python Examples: 21

Documents/Recursos

Programador PYRAMID FX4 [pdfManual d'instruccions
Programador FX4, FX4, Programador

Referències

Deixa un comentari

La teva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats *