Bloque que permite monitorear el estado de 4 esclavos de la red Modbus RTU.
Representación Ladder

Estructura del Bloque
Tipo de Variable |
Nombre |
Tipo de Dato |
Descripción |
VAR_INPUT |
Execute |
BOOL |
Habilitación del bloque |
ErrorsToSetOffline# |
BYTE |
Cantidad de errores que el maestro debe identificar hasta considerar la comunicación con un esclavo off-line |
|
AddressSlave1# |
BYTE |
Dirección del esclavo 1 a ser monitoreado |
|
AddressSlave2# |
BYTE |
Dirección del esclavo 2 a ser monitoreado |
|
AddressSlave3# |
BYTE |
Dirección del esclavo 3 a ser monitoreado |
|
AddressSlave4# |
BYTE |
Dirección del esclavo 4 a ser monitoreado |
|
VAR_OUTPUT |
Done |
BOOL |
Habilitación de salida |
GeneralOffline |
BOOL |
Señalizador de que cualquiera de las comunicaciones monitoreadas está off-line |
|
Slave1Offline |
BOOL |
Señalizador de estado off-line del esclavo 1 |
|
Slave2Offline |
BOOL |
Señalizador de estado off-line del esclavo 2 |
|
Slave3Offline |
BOOL |
Señalizador de estado off-line del esclavo 3 |
|
Slave4Offline |
BOOL |
Señalizador de estado off-line del esclavo 4 |
Operación
Este bloque permanece activo mientras Execute está en nivel TRUE, actualizando sus salidas de acuerdo con el monitoreo del número de errores registrado para cada esclavo. Cuando Execute recibe nivel FALSE, las entradas son ignoradas y las salidas son reseteadas. La salida Done recibe nivel TRUE cuando Execute tiene nivel TRUE y el bloque ya haya finalizado su ejecución.
La entrada ErrorsToSetOffline# permite registrar el número de errores identificados en un esclavo que caracterizará una comunicación off-line. Las entradas AddressSlave permiten Insertar cuatro direcciones de esclavos a ser monitoreados. Cuando ese esclavo monitoreado relate el número de errores programado, su salida SlaveOffline correspondiente será puesta en nivel TRUE. Si cualquiera de las salidas SlaveOffline está en nivel TRUE, GeneralOffline también recibe nivel TRUE.
Diagrama de Flujo del Bloque

Ejemplo en Ladder

El ejemplo de arriba verifica el número de respuestas de error enviado por los esclavos 2, 4, 6 y 8 de la red Modbus RTU. En caso de que alguno de ellos sea superior a 5, su status SX_OFF será llevado a nivel TRUE. Finalizado exitosamente el bloque, será activada la salida Done.
Ejemplo en ST
El siguiente ejemplo muestra las instrucciones para aplicar el ejemplo anterior en el lenguaje ST.
VAR ANY_OFFLINE, S1_OFF, S2_OFF, S3_OFF, S4_OFF : BOOL; END_VAR
DO1 := FB_MB_SlaveStatus( Execute:=DI1, ErrorsToSetOffline:=5, AddressSlave1:=2, AddressSlave2:=4, AddressSlave3:=6, AddressSlave4:=8, GeneralOffline=>ANY_OFFLINE, Slave1Offline=>S1_OFF, Slave2Offline=>S2_OFF, Slave3Offline=>S3_OFF, Slave4Offline=>S4_OFF);
|
|---|