Ejemplo: Cómo configurar una comunicación de Modbus para leer una unidad y escribir en ella
En estos ejemplos se describe cómo configurar una comunicación Modbus para leer datos de estado de una unidad
PowerFlex
4 y escribir datos de control en ella con la instrucción MSG_MODBUS.Cableado L50E
Este ejemplo usa un controlador L50E con un módulo SERIALISOL enchufado en la primera ranura (canal 5). Hay un único driver
PowerFlex
40 conectado, pero el diagrama siguiente muestra cómo realizar una conexión múltiple. Consulte el manual del usuario para obtener información adicional sobre conexiones.Cableado L50E

Ejemplo de lectura de Modbus
La siguiente instrucción MSG_MODBUS se puede utilizar para leer los datos de estado de la unidad
PowerFlex
40.Ejemplo de lectura de instrucción MSG_MODBUS

Estado de la unidad
Un valor de "1807" indica que la unidad tiene uno de los siguientes estados:
- Lista (bit 0 activado)
- Activa (bit 1 activado)
- Avance por comando (bit 2 activado)
- Giro adelante (bit 3 activado)
- Estado de algunas entradas digitales de la unidad
Un valor de 278 indica 27,8 Hz.
Consulte el manual de usuario de
PowerFlex
para obtener información adicional sobre bits de palabra de estado lógico, descripciones de código de error, velocidades solicitadas y reales, y otros códigos de estado.Configuración de lectura de MSG_MODBUS
En la siguiente imagen se muestran las opciones de variable del bloque de instrucciones MSG_MODBUS utilizado para leer datos de estado de una unidad
PowerFlex
40.Opciones de variables para MSG_MODBUS para leer datos de estado de una unidad PowerFlex 40

Lectura de variables de MSG_MODBUS
En la siguiente tabla se identifican las variables y los valores que se utilizan para configurar la instrucción MSG_MODBUS de modo que lea datos de estado de una unidad
PowerFlex
4.Variable | Valor | Descripción |
|---|---|---|
*.Channel | 5 | Canal 5: ubicación del módulo SERIALISOL |
*.TriggerType | 0 | Activador en transición Falso - Cierto |
*.Cmd | 3 | Código de función de Modbus “03”: Lectura de Holding Registers |
*.ElementCnt | 4 | Longitud |
*.Addr | 8449 | Dirección de palabra de estado lógico de PowerFlex +1 |
*.Node | 2 | Dirección de nodo de PowerFlex |
*_laddr[1] | data | Palabra de estado lógico PowerFlex |
*_laddr[2] | data | Código de error PowerFlex |
*_laddr[3] | data | Velocidad solicitada de PowerFlex (referencia de velocidad) |
*_laddr[4] | data | Retroalimentación de velocidad de PowerFlex (velocidad real) |
Ejemplo de instrucción MOVE
En la siguiente imagen se muestra un ejemplo de cómo utilizar la instrucción MOVE para mover el valor de matriz *_l[1] a una palabra, lo que permite acceder a los bits individuales directamente.
Ejemplo de instrucción MOVE

Ejemplo de escritura de Modbus
La siguiente instrucción MSG_MODBUS se utiliza para escribir datos de control en una unidad
PowerFlex
40.Ejemplo de escritura de Modbus

Configuración de escritura MSG_MODBUS
En la siguiente imagen se muestran las variables y los valores que se utilizan para configurar la instrucción MSG_MODBUS de modo que escriba datos de control en una unidad
PowerFlex
4.Configuración de escritura MSG_MODBUS

Variables de escritura de MSG_MODBUS
La siguiente tabla muestra las variables y valores, y describe el propósito de cada variable.
Variable | Valor | Descripción |
|---|---|---|
*.Channel | 5 | Canal 5: ubicación del módulo SERIALISOL |
*.TriggerType | 0 | Activador en transición Falso - Cierto |
*.Cmd | 16 | Código de función de Modbus "16": Escritura de Holding Registers |
*.ElementCnt | 2 | Longitud |
*.Addr | 8193 | Dirección de palabra de estado lógico de PowerFlex +1 |
*.Node | 2 | Dirección de nodo de PowerFlex |
*_laddr[1] | data | Palabra de comando lógico de PowerFlex |
*_laddr[2] | data | Palabra de referencia de velocidad de PowerFlex |
Entregue su opinión