Bloque que permite monitorear el estado de 4 servidores de la red Modbus TCP.
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 se debe identificar hasta considerar la comunicación con un servidor off-line |
|
ServerAddress1# |
DWORD |
Dirección del servidor 1 a ser monitoreado (Ej: 192.168.0.1) |
|
PortAddress1# |
WORD |
Puerta del servidor 1 a ser monitoreado (Estándar: 502) |
|
UnitID1# |
BYTE |
UnitID del servidor 1 a ser monitoreado (Estándar: 255) |
|
ServerAddress2# |
DWORD |
Dirección del servidor 2 a ser monitoreado (Ej: 192.168.0.1) |
|
PortAddress2# |
WORD |
Puerta del servidor 2 a ser monitoreado (Estándar: 502) |
|
UnitID2# |
BYTE |
UnitID del servidor 2 a ser monitoreado (Estándar: 255) |
|
ServerAddress3# |
DWORD |
Dirección del servidor 3 a ser monitoreado (Ej: 192.168.0.1) |
|
PortAddress3# |
WORD |
Puerta del servidor 3 a ser monitoreado (Estándar: 502) |
|
UnitID3# |
BYTE |
UnitID del servidor 3 a ser monitoreado (Estándar: 255) |
|
ServerAddress4# |
DWORD |
Dirección del servidor 4 a ser monitoreado (Ej: 192.168.0.1) |
|
PortAddress4# |
WORD |
Puerta del servidor 4 a ser monitoreado (Estándar: 502) |
|
UnitID4# |
BYTE |
UnitID del servidor 4 a ser monitoreado (Estándar: 255) |
|
VAR_OUTPUT |
Done |
BOOL |
Habilitación de salida |
GeneralOffline |
BOOL |
Señalizador de que cualquiera de las comunicaciones monitoreadas está off-line |
|
Server1Offline |
BOOL |
Señalizador de estado off-line del servidor 1 |
|
Server2Offline |
BOOL |
Señalizador de estado off-line del servidor 2 |
|
Server3Offline |
BOOL |
Señalizador de estado off-line del servidor 3 |
|
Server4Offline |
BOOL |
Señalizador de estado off-line del servidor 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 servidor. 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 servidor que caracterizará una comunicación off-line. Las entradas AddressServer permiten Insertar cuatro direcciones de servidores a ser monitoreados. En caso de que quiera dejar un canal ignorado, inserte el valor 0 en la dirección del servidor. Cuando ese servidor monitoreado relate el número de errores programado, su salida ServerOffline correspondiente será puesta en nivel TRUE. Si cualquiera de las salidas ServerOffline está en nivel TRUE, GeneralOffline también recibirá nivel TRUE.
Compatibilidad
Equipo |
Versión |
PLC300 |
1.30 o superior |
Diagrama de Flujo del Bloque

Ejemplo en Ladder

El ejemplo de arriba verifica el número de respuestas de error enviado por los servidores 192.168.10.100:502 y 192.168.10.102:502 de la red Modbus TCP. En caso de que alguno de ellos sea superior a 40, su status SX_OFF será pasado 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_MBTCP_ServerStatus( Execute:=DI1, ErrorsToSetOffline:=40, ServerAddress1:=16#C0A80A64, ServerPort1:=502, UnitID1:=255, ServerAddress2:=16#C0A80A66, ServerPort2:=502, UnitID2:=255, ServerAddress3:=0, ServerPort3:=0, UnitID3:=0, ServerAddress4:=0, ServerPort4:=0, UnitID4:=0, GeneralOffline=>ANY_OFFLINE, Server1Offline=>S1_OFF, Server2Offline=>S2_OFF, Server3Offline=>S3_OFF, Server4Offline=>S4_OFF);
|
|---|