www.pyramid.tech
FX4
Manual del programador FX4
ID de documento: 2711715845
Versión: v3
Programador FX4
ID de documento: 2711715845
FX4 – Manual del programador FX4
Identificación del documento: 2711650310
Autor | Mateo Nichols |
Dueño | Líder del proyecto |
Objetivo | Explicar los conceptos de programación necesarios para utilizar la API y extender el producto a través de aplicaciones externas. |
Alcance | Conceptos de programación relacionados con FX4. |
Público al que va dirigido | Desarrolladores de software interesados en utilizar el producto. |
Proceso | https://pyramidtc.atlassian.net/wiki/pages/createpage.action? spaceKey=PQ&title=Proceso%20de%20Creación%20Manual%XNUMXEstándar |
Capacitación | NO APLICA |
Control de versiones
Versión | Descripción | Guardado por | Guardado en | Estado |
v3 | Se agregó un simple overview y más exampLes. | Mateo Nichols | 6 de marzo de 2025, 10:29 | APROBADO |
v2 | Se agregaron interfaces IO digitales y referencias a IGX. | Mateo Nichols | 3 de mayo de 2024 7:39 | APROBADO |
v1 | Versión inicial, todavía un trabajo en progreso. | Mateo Nichols | 21 de febrero de 2024, 11:25 | APROBADO |
Control de documentos No Reviewed
Versión actual del documento: versión 1
No hay respuestaviewers asignados.
1.1 Firmas
para la versión más reciente del documento
Viernes, 7 de marzo de 2025, 10:33 UTC
Matthew Nichols firmó; significado: Review
Referencias
Documento | Identificación del documento | Autor | Versión |
IGX – Manual del programador | 2439249921 | Mateo Nichols | 1 |
Programación FX4 terminadaview
El procesador FX4 se ejecuta en un entorno llamado IGX, que está basado en el sistema operativo en tiempo real de alta confiabilidad QNX de BlackBerry (QNX Websitio¹) IGX proporciona una interfaz de programación de aplicaciones (API) flexible y completa para los usuarios que quieran escribir su propio software de computadora host.
El entorno IGX se comparte entre otros productos de Pyramid, lo que permite que las soluciones de software desarrolladas para un producto se transfieran fácilmente a otros.
Los programadores pueden consultar la documentación completa de IGX disponible en Pyramid websitio en: IGX | Marco de sistema de control modular moderno para WebAplicaciones habilitadas²
Esta sección proporciona una introducción a la prueba de dos métodos de la API: HTTP con formato JSON y EPICS. Para simplificar, Python (Pitón Websitio³) se utiliza como exampEl lenguaje del ordenador anfitrión, que es accesible y fácil de usar para programadores no profesionales.
3.1 Uso de Python y HTTP
Como exampSupongamos que desea leer la suma de las corrientes medidas con Python. Necesita... URL para esa E/S en particular. El FX4 web La GUI proporciona una manera fácil de encontrarlo: simplemente haga clic derecho en el campo y seleccione 'Copiar HTTP'. URL' para copiar la cadena al portapapeles.
Ahora puede usar Python para probar la conectividad con el software del usuario mediante HTTP y JSON. Es posible que necesite importar las solicitudes y las bibliotecas JSON para gestionar las solicitudes HTTP y el análisis de datos.
1 ejemplo HTTP de Python simpleample
3.2 Uso de EPICS
El proceso para conectar el FX4 a través de EPICS (Sistema de Control Industrial y de Física Experimental) es similar. EPICS es un conjunto de herramientas y aplicaciones de software que se utilizan para desarrollar e implementar sistemas de control distribuido, ampliamente utilizados en instalaciones científicas.
- Obtenga el nombre de la variable de proceso (PV) EPICS para la IO deseada.
- Importe la biblioteca EPICS y lea el valor.
2 Obtener el nombre de EPICS PV
3 ejemplos sencillos de EPICS en Pythonample
Además, Pyramid creó una utilidad (Conexión EPICS⁴) que permite monitorear las variables de proceso de EPICS en tiempo real. Esta herramienta es útil para confirmar si el nombre del PV de EPICS es correcto y si el FX4 lo está administrando correctamente en su red.
4 PTC EPICS Conectar
API de programación FX4
Los conceptos y métodos descritos en este manual se basan en los conceptos establecidos en el IGX – Manual del Programador. Consulte ese documento para obtener una explicación y ex.amparchivos de cómo funcionan la programación y las interfaces básicas de IGX. Este manual solo cubrirá las E/S específicas del dispositivo y la funcionalidad exclusiva del FX4.
4.1 Entrada analógica E/S
Estas IO se relacionan con la configuración y recopilación de datos en las entradas de corriente analógicas del FX4. Las unidades de las entradas del canal se basan en la configuración configurable por el usuario llamada “Sample Units”, las opciones válidas incluyen pA, nA, uA, mA y A.
Los 4 canales utilizan la misma interfaz IO y se controlan de forma independiente. Reemplace canal_x con canal_1, canal_2, canal_3 o canal_4 respectivamente.
Ruta de E/S | Descripción |
/fx4/adc/canal_x | NÚMERO DE SOLO LECTURA Entrada de corriente medida. |
/fx4/adc/channel_x/escalar | NÚMERO Escalar simple sin unidades aplicado al canal, 1 por defecto. |
/fx4/adc/canal_x/desplazamiento_cero | NÚMERO Desplazamiento actual en nA para el canal. |
Las siguientes IO no son independientes del canal y se aplican a todos los canales simultáneamente.
Ruta de E/S | Descripción |
/fx4/sum_canal | NÚMERO DE SOLO LECTURA Suma de los canales de entrada actuales. |
/fx4/adc_unit | CADENA Establece las unidades de usuario actuales para cada canal y suma. Opciones: “pa”, “na”, “ua”, “ma”, “a” |
/fx4/rango | STRING Establece el rango de entrada actual. Consulte la interfaz gráfica para ver cómo cada código de rango se corresponde con los límites máximos de entrada de corriente y el ancho de banda. Opciones: “0”, “1”, “2”, “3”, “4”, “5”, “6”, “7” |
/fx4/adc/sample_frecuencia | NÚMERO La frecuencia en Hz que sampse promediarán los datos. Esto controla la relación señal-ruido y la velocidad de datos para todos los canales. |
/fx4/adc/frecuencia_de_conversión | NÚMERO La frecuencia en Hz a la que el ADC convertirá valores analógicos a digitales. Por defecto, es de 100 kHz y rara vez necesitará cambiar este valor. |
/fx4/adc/corrección_de_desplazamiento | NÚMERO DE SOLO LECTURA Suma de los desplazamientos actuales de todos los canales. |
4.2 E/S de salida analógica
Estas E/S se relacionan con la configuración de las salidas analógicas de uso general del FX4 que se encuentran debajo de las entradas analógicas en el panel frontal. Los 4 canales utilizan la misma interfaz IO y se controlan de forma independiente. Reemplace canal_x con canal_1, canal_2, canal_3 o canal_4 respectivamente.
Ruta de E/S | Descripción |
/fx4/dac /canal_x | NÚMERO Comando voltage salida. Este valor solo se puede escribir cuando el modo de salida está configurado en manual. |
/fx4/dac/channel_x/readback | NÚMERO DE SOLO LECTURA Volumen medidotage salida. Esto es muy útil cuando se utiliza el modo de salida de expresión. |
/fx4/dac/canal_x/modo_salida | CADENA Establece el modo de salida para el canal. Opciones: “manual”, “expresión”, “control_proceso” |
/fx4/dac/canal_x/habilitar_control_de_giro | BOOL Habilita o deshabilita la limitación de la velocidad de respuesta. |
/fx4/dac/canal_x/velocidad_de_giro | NÚMERO Velocidad de respuesta en V/s para el canal. |
/fx4/dac/channel_x/upper_limit | NÚMERO El volumen máximo de comando permitidotage para el canal. Se aplica a todos los modos de operación. |
/fx4/dac/canal_x/límite_inferior | NÚMERO El volumen mínimo de comando permitidotage para el canal. Se aplica a todos los modos de operación. |
/fx4/dac/canal_x/ salida_expresión | CADENA Establece la cadena de expresión utilizada por el canal cuando está en el modo de salida de expresión. |
/fx4/dac/canal_x/botón_de_reinicio | BOTÓN Restablece el volumen del comandotage a 0. |
4.3 Entradas y salidas digitales
Estas IO se relacionan con el control de las distintas entradas y salidas digitales de propósito general que se encuentran en el FX4.
Ruta de E/S | Descripción |
/fx4/fr1 | READONLY BOOL Receptor de fibra 1. |
/fx4/ft1 | BOOL Transmisor de fibra 1. |
/fx4/fr2 | READONLY BOOL Receptor de fibra 2. |
/fx4/ft2 | BOOL Transmisor de fibra 2. |
/fx4/fr3 | READONLY BOOL Receptor de fibra 3. |
/fx4/ft3 | BOOL Transmisor de fibra 3. |
/fx4/expansión_digital/d1 | BOOL D1 E/S de expansión digital bidireccional. |
/fx4/expansión_digital/d2 | BOOL D2 E/S de expansión digital bidireccional. |
/fx4/expansión_digital/d3 | BOOL D3 E/S de expansión digital bidireccional. |
/fx4/expansión_digital/d4 | BOOL D4 E/S de expansión digital bidireccional. |
4.3.1 Configuración de E/S digital
Todos los dispositivos digitales tienen una E/S secundaria para configurar su comportamiento, incluyendo un modo de funcionamiento que controla su funcionamiento. Cada dispositivo digital tendrá un conjunto diferente de opciones disponibles. Consulte la interfaz gráfica de usuario para obtener más información sobre las opciones disponibles para cada E/S.
Ruta de E/S secundaria | Descripción |
…/modo | STRING Modo de operación para lo digital. Opciones: “entrada”, “salida”, “pwm”, “temporizador”, “codificador”, “captura”, “uart_rx”, “uart_tx”, “can_rx”, “can_tx”, “pru_input” o “pru_output” |
…/señal_de_proceso | CADENA El nombre de la señal de control del proceso, si hay uno. |
…/modo_de_extracción | STRING Modo de subida/bajada para una entrada digital. Opciones: “arriba”, “abajo” o “desactivar” |
4.4 Control de relé
Ambos relés se controlan independientemente y comparten el mismo tipo de interfaz. Reemplace relay_x por relay_a o relay_b, respectivamente.
Ruta de E/S | Descripción |
/fx4/relay_x/permit/usuario_comando | BOOL Ordena la apertura o el cierre del relé. Un comando verdadero intentará cerrar el relé si se conceden los enclavamientos, y un comando falso siempre lo abrirá. |
/fx4/relay_x/estado | CADENA DE SOLO LECTURA El estado actual del relé. Los relés bloqueados están abiertos pero no se pueden cerrar debido a un enclavamiento. Estados: “abierto”, “cerrado” o “bloqueado” |
/fx4/relay_x/automáticamente_cerrar | BOOL: Si se establece en verdadero, el relé se cerrará automáticamente al concederse los enclavamientos. Falso por defecto. |
/fx4/relay_x/ ciclo_conteo | NÚMERO DE SOLO LECTURA. Número de ciclos del relé desde el último reinicio. Útil para el seguimiento de la vida útil del relé. |
4.5 Vol. Altotage Módulo
Consulte el IGX – Manual del programador para obtener detalles sobre el alto volumen del FX4.tage interfaz. La ruta principal del componente es /fx4/high_votlage.
4.6 Controlador de dosis
Consulte el Manual del programador IGX para obtener detalles sobre la interfaz del controlador de dosis FX4. La ruta principal del componente es /fx4/dose_controller .
Examen FX4 PythonampLos
5.1 Registrador de datos mediante HTTP
Este exampLe demuestra cómo capturar una serie de lecturas y guardarlas en un CSV. fileAl elegir un retraso largo entre lecturas, puede realizar un registro de datos a largo plazo incluso si el FX4 sampLa velocidad de lectura se establece más alta. Esto permite recopilar y almacenar mediciones de forma continua durante períodos prolongados sin sobrecargar el sistema, lo que garantiza que los datos se capturen a intervalos adecuados para el análisis. El retraso entre lecturas ayuda a regular el ritmo de registro de los datos, lo que permite un almacenamiento eficiente y reduce el riesgo de perder puntos de datos, a la vez que se beneficia de la alta velocidad.ampling para mediciones en tiempo real.
5.2 Interfaz gráfica de usuario de Python simple
El segundo exampUtiliza la herramienta GUI Tkinter, diseñada para Python, para crear una visualización de las corrientes medidas. Esta interfaz permite visualizar las lecturas de corriente en un formato gráfico intuitivo. La pantalla se puede ajustar para que sea lo suficientemente grande como para leerse desde el otro lado de la habitación, lo que la hace ideal para escenarios donde se requiere monitoreo en tiempo real en espacios grandes. Tkinter ofrece una forma sencilla de crear interfaces interactivas y, al integrarla con el FX4, puede crear rápidamente una visualización de las corrientes medidas que se puede personalizar para adaptarla a sus necesidades específicas.
5.3 Sencillo WebZócalos Example
Este example demuestra el WebInterfaz de sockets, que es el método preferido para leer datos del FX4 cuando se requiere el máximo ancho de banda. WebLos sockets proporcionan un canal de comunicación dúplex completo en tiempo real, lo que permite una transferencia de datos más rápida y eficiente en comparación con otros métodos.
El example lee una serie de samples, informa el tiempo promedio por sample y latencia máxima, y guarda los datos en un CSV file Para su posterior análisis. Esta configuración permite un monitoreo eficiente en tiempo real y un fácil almacenamiento de datos para su posprocesamiento.
El rendimiento específico que se puede lograr con WebLa disponibilidad de los sockets depende de la fiabilidad de su interfaz Ethernet y de la prioridad relativa de su aplicación. Para obtener resultados óptimos, asegúrese de que su red sea estable y de que la transmisión de datos del FX4 tenga prioridad si es necesario.
Versión: v3
Examen FX4 Pythonamparchivo: 21
Documentos / Recursos
![]() |
Programador PYRAMID FX4 [pdf] Manual de instrucciones Programador FX4, FX4, Programador |