Bloco que permite monitorar o estado de 4 servidores da rede Modbus TCP.
Representação Ladder

Estrutura do Bloco
Tipo de Variável |
Nome |
Tipo de Dado |
Descrição |
VAR_INPUT |
Execute |
BOOL |
Habilitação do bloco |
ErrorsToSetOffline# |
BYTE |
Quantidade de erros que se deve identificar até considerar a comunicação com um servidor off-line |
|
ServerAddress1# |
DWORD |
Endereço do servidor 1 a ser monitorado (Ex: 192.168.0.1) |
|
PortAddress1# |
WORD |
Porta do servidor 1 a ser monitorado (Padrão: 502) |
|
UnitID1# |
BYTE |
UnitID do servidor 1 a ser monitorado (Padrão: 255) |
|
ServerAddress2# |
DWORD |
Endereço do servidor 2 a ser monitorado (Ex: 192.168.0.1) |
|
PortAddress2# |
WORD |
Porta do servidor 2 a ser monitorado (Padrão: 502) |
|
UnitID2# |
BYTE |
UnitID do servidor 2 a ser monitorado (Padrão: 255) |
|
ServerAddress3# |
DWORD |
Endereço do servidor 3 a ser monitorado (Ex: 192.168.0.1) |
|
PortAddress3# |
WORD |
Porta do servidor 3 a ser monitorado (Padrão: 502) |
|
UnitID3# |
BYTE |
UnitID do servidor 3 a ser monitorado (Padrão: 255) |
|
ServerAddress4# |
DWORD |
Endereço do servidor 4 a ser monitorado (Ex: 192.168.0.1) |
|
PortAddress4# |
WORD |
Porta do servidor 4 a ser monitorado (Padrão: 502) |
|
UnitID4# |
BYTE |
UnitID do servidor 4 a ser monitorado (Padrão: 255) |
|
VAR_OUTPUT |
Done |
BOOL |
Habilitação de saída |
GeneralOffline |
BOOL |
Sinalizador de que qualquer uma das comunicações monitoradas está off-line |
|
Server1Offline |
BOOL |
Sinalizador de estado off-line do servidor 1 |
|
Server2Offline |
BOOL |
Sinalizador de estado off-line do servidor 2 |
|
Server3Offline |
BOOL |
Sinalizador de estado off-line do servidor 3 |
|
Server4Offline |
BOOL |
Sinalizador de estado off-line do servidor 4 |
Funcionamento
Este bloco permanece ativo enquanto Execute está em nível TRUE, atualizando suas saídas de acordo com a monitoração do número de erros registrado para cada servidor. Quando Execute recebe nível FALSE, as entradas são ignoradas e as saídas são zeradas. A saída Done recebe nível TRUE quando Execute possui nível TRUE e o bloco finalizou sua execução.
A entrada ErrorsToSetOffline# permite cadastrar o número de erros identificados em um servidor que caracterizará uma comunicação off-line. As entradas AddressServer permitem inserir quatro endereços de servidores a serem monitorados. Caso queira deixar um canal ignorado, insira o valor 0 no endereço do servidor. Quando esse servidor monitorado relatar o número de erros programado, a sua saída ServerOffline correspondente é colocada em nível TRUE. Se qualquer uma das saídas ServerOffline estive em nível TRUE, GeneralOffline também recebe nível TRUE.
Compatibilidade
Equipamento |
Versão |
PLC300 |
1.30 ou superior |
Fluxograma do Bloco

Exemplo em Ladder

O exemplo acima verifica o número de respostas de erro enviado pelos servidores 192.168.10.100:502 e 192.168.10.102:502 da rede Modbus TCP. Caso algum deles seja superior a 40, seu status SX_OFF é levado a nível TRUE. Finalizado o bloco com sucesso, a saída Done é ativada.
Exemplo em ST
O exemplo abaixo, exibe as instruções para aplicação do exemplo acima na linguagem 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);
|
|---|