Logotipo PYRAMIDwww.pyramid.tech
FX4
Manual do programador FX4
Código do documento: 2711715845
Versión: v3Programador PYRAMID FX4

Programador FX4

Código do documento: 2711715845
FX4 – Manual do programador de FX4

Programador PYRAMID FX4 - icona ID do documento: 2711650310

Autor Matthew Nichols
Propietario Xefe de Proxecto
Finalidade Explicar os conceptos de programación necesarios para utilizar a API e estender o produto a través de aplicacións externas.
Ámbito Conceptos de programación relacionados con FX4.
Público destinado Desenvolvedores de software interesados ​​en utilizar o produto.
Proceso https://pyramidtc.atlassian.net/wiki/pages/createpage.action?
spaceKey=PQ&title=Proceso de creación manual estándar
Formación NON APLICABLE

Control de versións

Versión Descrición  Gardado por  Gardado en  Estado
v3 Engadiu un simple sobreview e máis examples. Matthew Nichols 6 de marzo de 2025 ás 10:29 APROBADO
v2 Engadíronse interfaces de E/S dixitais e referencias a IGX. Matthew Nichols 3 de maio de 2024 ás 7:39 APROBADO
v1 Lanzamento inicial, aínda un traballo en progreso. Matthew Nichols 21 de febreiro de 2024 ás 11:25 APROBADO

Programador PYRAMID FX4 - icona 1 Control de documentos Non Reviewed
Versión actual do documento: v.1
Non reviewers asignados.

1.1 Sinaturas
para a versión máis recente do documento
Venres, 7 de marzo de 2025, 10:33 UTC
Matthew Nichols asinou ; significado: Review

Referencias

Documento ID do documento  Autor  Versión
IGX - Manual do programador 2439249921 Matthew Nichols 1

Programación FX4 terminadaview

O procesador FX4 execútase nun entorno chamado IGX, que está construído sobre o sistema operativo en tempo real de alta fiabilidade QNX de BlackBerry (QNX Websitio¹). IGX proporciona unha interface de programación de aplicacións (API) flexible e completa para usuarios que desexen escribir o seu propio software para o ordenador anfitrión.
O ambiente IGX compártese con outros produtos Pyramid, o que permite que as solucións de software desenvolvidas para un produto se poidan transferir facilmente a outros.
Os programadores poden consultar a documentación completa para IGX dispoñible na Pyramid websitio en: IGX | Marco de sistemas de control modular moderno para Webaplicacións habilitadas²

Esta sección ofrece unha introdución á proba de dous dos métodos da API: HTTP con formato JSON e EPICS. Para simplificar, Python (Python Websitio³) úsase como exemploampa linguaxe do ordenador host, que é accesible e fácil de usar para programadores non profesionais.

3.1 Usando Python e HTTP
Como example, supoña que quere ler a suma das correntes medidas con Python. Necesitas o URL para ese IO en particular. O FX4 web GUI ofrece un xeito sinxelo de atopalo: simplemente prema co botón dereito do rato no campo e seleccione "Copiar HTTP URL' para copiar a cadea no portapapeis.

Programador de PYRAMID FX4: uso de Python e HTTP

Agora podes usar Python para probar a conectividade co software do usuario a través de HTTP e JSON. É posible que teñas que importar as solicitudes e as bibliotecas json para xestionar as solicitudes HTTP e a análise de datos.

Programador PYRAMID FX4: solicitudes HTTP e análise de datos1 HTTP simple de Python Example

3.2 Usando EPICS
O proceso para conectar o FX4 a través de EPICS (Experimental Physics and Industrial Control System) é similar. EPICS é un conxunto de ferramentas e aplicacións de software utilizadas para desenvolver e implementar sistemas de control distribuídos, moi utilizados en instalacións científicas.

  1. https://blackberry.qnx.com/en
  2. https://pyramid.tech/products/igx
  3. https://www.python.org/
  1. Obtén o nome da variable de proceso (PV) EPICS para a E/S desexada.
  2. Importa a biblioteca EPICS e le o valor.

Programador PYRAMID FX4 - Variable de proceso EPICS2 Obter o nome EPICS PVProgramador PYRAMID FX4 - Experiencia sinxela en EPICS en Pythonample3 Simple Python EPICS Example

Ademais, Pyramid creou unha utilidade (Conexión EPICS⁴) que che permite monitorizar as variables do proceso EPICS en tempo real. Esta ferramenta é útil para confirmar se o nome do fotovoltaico EPICS é correcto e se o FX4 serve o fotovoltaico correctamente na túa rede.

Programador PYRAMID FX4 - EPICS Connect4 PTC EPICS Connect

API de programación FX4

Os conceptos e métodos descritos neste manual baséanse nos conceptos establecidos no Manual do Programador IGX. Consulte ese documento para obter explicacións e examparquivos de como funcionan as interfaces e a programación básica de IGX. Este manual só cubrirá o IO específico do dispositivo e a funcionalidade que é exclusiva do FX4.

4.1 Entrada analóxica IO
Estes IO están relacionados coa configuración e recollida de datos nas entradas de corrente analóxica do FX4. As unidades das entradas da canle baséanse na configuración configurable polo usuario chamada "Sample Units”, as opcións válidas inclúen pA, nA, uA, mA e A.
As 4 canles usan a mesma interface IO e son controladas de forma independente. Substitúe channel_x por channel_1 , channel_2 , channel_3 ou channel_4 respectivamente.

Camiño IO Descrición
/fx4/adc/channel_x NÚMERO DE SÓ LECTURA Entrada de corrente medida.
/fx4/adc/channel_x/scalar NÚMERO Escalar simple sen unidades aplicado á canle, 1 por defecto.
/fx4/adc/channel_x/zero_offset NUMBER Desprazamento de corrente en nA para o canal.

As seguintes IO non son independentes da canle e aplícanse a todas as canles simultaneamente.

Camiño IO  Descrición
/fx4/canal_sum READONLY NUMBER Suma dos canais de entrada actuais.
/fx4/adc_unit STRING Define as unidades do usuario actual para cada canal e suma.
Opcións: "pa", "na", "ua", "ma", "a"
/fx4/rango STRING Define o rango de entrada actual. Consulta a GUI para ver como cada código de rango corresponde aos límites máximos de entrada actual e ao ancho de banda.
Opcións: "0", "1", "2", "3", "4", "5", "6", "7"
/fx4/adc/sample_frecuencia NÚMERO A frecuencia en Hz que samppromediarase os datos a. Isto controla o sinal a ruído e a taxa de datos para todas as canles.
/fx4/adc/conversion_frequency NÚMERO A frecuencia en Hz á que o ADC converterá os valores analóxicos en dixitais. Por defecto, é de 100 kHz e só raramente precisará cambiar este valor.
/fx4/adc/offset_correction READONLY NUMBER Suma dos desprazamentos actuais de todos os canais.

4.2 IO de saída analóxica
Estes IO están relacionados coa configuración das saídas analóxicas de propósito xeral do FX4 que se atopan baixo as entradas analóxicas do panel frontal. As 4 canles usan a mesma interface IO e son controladas de forma independente. Substitúe channel_x por channel_1 , channel_2 , channel_3 ou channel_4 respectivamente.

Camiño IO  Descrición
/fx4/dac /canle_x Vol. do comando NUMÉRICOtage saída. Este valor só se pode escribir cando o modo de saída está configurado como manual.
/fx4/dac/channel_x/readback NÚMERO DE SÓ LECTURA Vol. medidotagsaída.
Isto é máis útil cando se usa o modo de saída de expresión.
/fx4/dac/channel_x/output_mode STRING Define o modo de saída para o canal.
Opcións: “manual”, “expresión”, “control_de_procesos”
/fx4/dac/channel _ x/slew_control_enable BOOL Activa ou desactiva a limitación da velocidade de cambio.
/fx4/dac/channel_x/velocidade_de_variación NÚMERO Taxa de variación en V/s para o canal.
/fx4/dac/channel_x/upper_limit NÚMERO O volume máximo de comandos permitidotage para a canle. Aplícase a todos os modos de operación.
/fx4/dac/canle _ x/límite_inferior NÚMERO O volume mínimo de comandos permitidotage para a canle. Aplícase a todos os modos de operación.
/fx4/dac/channel _ x/ saída _ expresión STRING Define a cadea de expresión empregada polo canal cando está no modo de saída de expresión.
/fx4/dac/canle _ x/botón_de_reinicio BOTÓN Reinicia o volume do comandotage a 0.

4.3 Entradas e saídas dixitais
Estes IO están relacionados co control das diversas entradas e saídas dixitais de propósito xeral que se atopan no FX4.

Camiño IO  Descrición
/fx4/fr1 READONLY BOOL Receptor de fibra 1.
/fx4/ft1 Transmisor de fibra BOOL 1.
/fx4/fr2 READONLY BOOL Receptor de fibra 2.
/fx4/ft2 Transmisor de fibra BOOL 2.
/fx4/fr3 READONLY BOOL Receptor de fibra 3.
/fx4/ft3 Transmisor de fibra BOOL 3.
/fx4/digital_expansion/d1 BOOL D1 E/S de expansión dixital bidireccional.
/fx4/digital_expansion/d2 BOOL D2 E/S de expansión dixital bidireccional.
/fx4/digital_expansion/d3 BOOL D3 E/S de expansión dixital bidireccional.
/fx4/digital_expansion/d4 BOOL D4 E/S de expansión dixital bidireccional.

4.3.1 Configuración de E/S dixital
Todos os dixitais teñen IO fillo para configurar o seu comportamento, incluíndo un modo de funcionamento que controla como funcionará ese dixital. Cada dixital terá un conxunto diferente de opcións dispoñibles. Consulte a GUI para obter detalles sobre as opcións dispoñibles para o que IO.

Ruta IO infantil Descrición
…/modo Modo de funcionamento de STRING para o dixital.
Opcións: "entrada", "saída", "pwm", "temporizador", "codificador", "captura", "uart_rx", "uart_tx", "can_rx", "can_tx", "pru_input" ou "pru_output"
…/sinal_proceso STRING O nome do sinal de control do proceso, se existe algún.
…/pull_mode Modo STRING Pull up/down para unha entrada dixital.
Opcións: "arriba", "abaixo" ou "desactivar"

4.4 Control de relés
Ambos relés son controlados de forma independente e comparten o mesmo tipo de interface. Substitúe relay_x por relay_a ou relay_b respectivamente.

Camiño IO  Descrición
/fx4/relay _ x/permit /comando_de_usuario BOOL Ordena que o relé se abra ou peche. Un comando verdadeiro tentará pechar o relé se se conceden os bloqueos e un comando falso sempre abrirá o relé.
/fx4/relé _ x/estado READONLY STRING O estado actual do relé.
Os relés bloqueados están abertos pero non se poden pechar debido a un bloqueo.
Estados: "aberto", "pechado" ou "bloqueado"
/fx4/relé _ x/pechar _ automaticamente BOOL Cando se define como verdadeiro, o relé pecharase automaticamente cando se concedan os bloqueos. Falso por defecto.
/fx4/relé _ x/ contador _ de ciclos READONLY NUMBER O número de ciclos do relé desde o último reinicio. Útil para rastrexar a vida útil do relé.

4.5 Alto Voltage Módulo
Consulte o manual do programador IGX para obter detalles sobre o FX4 high voltage interface. A ruta principal do compoñente é /fx4/high_votlage .

4.6 Controlador de dose
Consulte o manual do programador IGX para obter detalles sobre a interface do controlador de dose FX4. A ruta principal do compoñente é /fx4/dose_controller .

FX4 Python Examples

5.1 Registrador de datos usando HTTP
Este example mostra como capturar unha serie de lecturas e gardalas nun CSV file. Ao escoller un longo atraso entre lecturas, pode realizar un rexistro de datos a longo prazo aínda que o FX4 sampa taxa de ling é máis alta. Isto permítelle recoller e almacenar medicións continuamente durante períodos prolongados sen sobrecargar o sistema, garantindo que os datos se capten a intervalos axeitados para a súa análise. O atraso entre lecturas axuda a regular o ritmo ao que se rexistran os datos, permitindo un almacenamento eficiente e reducindo o risco de perder puntos de datos ao mesmo tempo que se benefician de s de alta velocidade.ampling para medicións en tempo real.

Programador PYRAMID FX4 - Rexistrador de datos mediante HTTPProgramador PYRAMID FX4 - Rexistrador de datos mediante HTTP 2Programador PYRAMID FX4 - Rexistrador de datos mediante HTTP 3Programador PYRAMID FX4 - Rexistrador de datos mediante HTTP 4

5.2 GUI simple de Python
O segundo example usa a ferramenta GUI de Tkinter, que está construída para Python, para crear unha visualización das correntes medidas. Esta interface permítelle visualizar as lecturas actuais nun formato gráfico amigable. Pódese cambiar o tamaño da pantalla para que sexa o suficientemente grande como para ler desde toda unha sala, o que a fai ideal para escenarios nos que se necesita un seguimento en tempo real en espazos máis grandes. Tkinter ofrece un xeito sinxelo de crear interfaces interactivas e, integrándoo co FX4, pode crear rapidamente unha visualización visual das correntes medidas que se poden personalizar para adaptarse ás súas necesidades específicas.

Programador de PYRAMID FX4: GUI sinxela de PythonProgramador de PYRAMID FX4 - GUI sinxela de Python 2Programador de PYRAMID FX4 - GUI sinxela de Python 3Programador de PYRAMID FX4 - GUI sinxela de Python 4Programador de PYRAMID FX4 - GUI sinxela de Python 5Programador de PYRAMID FX4 - GUI sinxela de Python 6Programador de PYRAMID FX4 - GUI sinxela de Python 7

5.3 Simple WebEnchufes Example
Este example demostra o WebInterface de sockets, que é o método preferido para ler datos do FX4 cando se require o ancho de banda máximo. WebOs sockets proporcionan unha canle de comunicación full-duplex en tempo real, o que permite unha transferencia de datos máis rápida e eficiente en comparación con outros métodos.
O example le unha serie de samples, informa o tempo medio por sample e máxima latencia, e garda os datos nun CSV file para a súa posterior análise. Esta configuración permite un seguimento eficiente en tempo real e un fácil almacenamento de datos para o procesamento posterior.
O rendemento específico que se pode conseguir WebOs sockets dependen da fiabilidade da súa interface Ethernet e da prioridade relativa da súa aplicación. Para obter resultados óptimos, asegúrese de que a súa rede é estable e de que se prioriza a transmisión de datos do FX4 se é necesario.

Programador PYRAMID FX4 - Sinxelo WebEnchufes ExampleProgramador PYRAMID FX4 - Sinxelo WebEnchufes Example 2Programador PYRAMID FX4 - Sinxelo WebEnchufes Example 3

Versión: v3
FX4 Python Exampnúmero: 21

Documentos/Recursos

Programador PYRAMID FX4 [pdfManual de instrucións
Programador FX4, FX4, Programador

Referencias

Deixa un comentario

O teu enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados *