6.
PROTOCOLO MODBUS
DigiRail NXprog es compatible con el protocolo Modbus, un protocolo de comunicación de datos utilizado para conectar el dispositivo a sistemas
de adquisición, supervisión y control de datos (SCADA).
Funcionando en modo esclavo, DigiRail NXprog puede responder en dos direcciones Modbus: una con acceso directo al módulo de entradas y
salidas y otra utilizada por el IDE Arduino que se ejecuta en el módulo programable. Se debe realizar la configuración de la dirección Modbus del
módulo de entradas y salidas a través de NXperience (véase capítulo
ción Modbus del IDE Arduino debe ser definida en la propia aplicación del usuario (véase capítulo
bién es posible implementar un Modbus Master en la aplicación de usuario, que permite la lectura de cualquier dispositivo a través de la interfaz
RS485.
Al diseñar un Maestro o Esclavo Modbus en el IDE Arduino y cargar el programa en el módulo programable, se puede desarrollar cualquier aplica-
ción. Sin embargo, de manera más simples, NOVUS creó un conjunto de registros que debe facilitar el desarrollo de la aplicación. Para ello, la
memoria de los registros ha sido segmentada en dos partes: (i) Registros del módulo de entradas y salidas, que permiten el acceso directo a
todas funcionalidades disponibles en el módulo de entradas y salidas de DigiRail NXprog, como valores de entradas analógicas, entradas digita-
les, salidas digitales, etc; (ii) Registros compartidos, que permiten que el programa Arduino comparta información del módulo programable con el
mundo Modbus sin necesidad de implementar el protocolo Modbus en Arduino. Así, el programa Arduino escribe en el área compartido del módulo
de entradas y salidas para que la información esté disponible a través de Modbus RTU o Modbus TCP. Véase las funcionalidades de lenguaje
disponibles y algunos ejemplos de uso en GitHub.
A continuación se describen los comandos y registros Modbus soportados por el módulo de entradas y salidas de DigiRail NXprog. Los coman-
dos y registrado Modbus soportados por el módulo programable dependen de la aplicación desarrollada por el usuario.
La interfaz USB sólo está disponible para la configuración a través de NXperience y la programación a través de IDE
Arduino. Por lo tanto, los registros Modbus sólo estarán disponibles a través de RS485 y Ethernet.
6.1
COMANDOS
6.1.1
READ HOLDING REGISTERS – 0x03
Este comando puede utilizarse para leer el valor de un o de hasta el máximo de registros consecutivos.
6.1.2
WRITE HOLDING REGISTERS – 0x06
Este comando puede utilizarse para escribir en un registro.
6.1.3
WRITE MULTIPLE HOLDING REGISTERS – 0x16
Este comando puede utilizarse para escribir en múltiplos registros.
6.2
TABLA DE REGISTROS DEL MÓDULO DE ENTRADAS Y SALIDAS
Sigue a continuación la tabla de registros soportados por el módulo de entradas y salidas de DigiRail NXprog:
DIRECCIÓN
MODBUS
0
1
2
3
NOVUS AUTOMATION
REGISTRO
HR_NUM_SERIE_LO
HR_NUM_SERIE_HI
HR_HW_SET_LO
HR_HW_SET_HI
SOFTWARE DE CONFIGURACIÓN
IDE
DESCRIPCIÓN
Número de serie del dispositivo (2 registradores).
Configuración del hardware presente.
Son dos registradores de 16 bits. Cada bit representa la presencia de
un periférico o de un canal:
2 HR_HW_SET_LO
3 HR_HW_SET_HI
La parte baja (HR_HW_SET_LO) se compone por bits de 0 a 15; la
parte alta (HR_HW_SET_HI), por bits de 16 a 31.
BIT 0: DI0: Entrada digital 1;
BIT 1: DI1: Entrada digital 2;
BIT 2: DI2: Entrada digital 3;
BIT 3: DI3: Entrada digital 4;
BIT 4: Reservado;
BIT 5: Reservado;
BIT 6: Reservado;
BIT 7: Reservado.
BIT 8: DO0: Salida digital 1;
NXPERIENCE), mientras que la direc-
ARDUINO). A través del IDE Arduino tam-
16/35