Salvar Dados Comunicação MODBUS

Bom dia, gostaria de saber se existe um função pronta no Elipse E3 ou uma sugestão para a seguinte situação: tenho um projeto que faz comunicação com o Modbus ethernet e outra com Modbus TCP, preciso salvar no banco de dados do SQL SERVER cada vez que a conexão do supervisório com o clp for perdida e também quando a mesma for reestabelecida. Procurei no manual e no Elipse Knowledgebase, mas não encontrei o que preciso.

@patricia, bom dia.

Pode criar um Histórico para gravar manual (mais detalhes aqui) e utilizar uma ou ambas das opções a seguir:

I. O tag IO.PhysicalLayerStatus:
Este tag indica o estado da camada física e, conforme informações do manual do IOKit, os valores disponíveis são:

  • 0: Camada Física parada (o driver está offline, a camada física falhou ao inicializar ou excedeu o número máximo de tentativas de reconexão).

  • 1: Camada Física iniciada mas não conectada (o driver está online, mas a camada física não está conectada. Se o gerenciamento de conexão automática estiver habilitado, a camada física pode estar conectando, desconectando ou esperando por uma tentativa de reconexão. Se o gerenciamento de conexão manual estiver selecionado, a camada física permanecerá neste estado até ser forçada a conectar).

  • 2: Camada Física conectada (a camada física está pronta para ser usada). Isto NÃO signfica que o equipamento esteja conectado, apenas que o meio de acesso está funcionando.

II. Propriedade Quality:
Esta propriedade informa se a conexão com o equipamento está boa (192) ou não (< 192). Aqui é importante escolher uma tag que saiba que funciona perfeitamente.

Dessa forma, poderia criar um evento que monitore esses status e escreva uma linha no BD (exemplo).

Sds.

Boa tarde, estou tentando a opção: O tag IO.PhysicalLayerStatus :, seguindo os passos da explicação. Quando chega na parte de configurar o display eu não consigo encontrar o caminho do tag como mostra o exemplo, inclusive segue o print do que eu preciso no caso, mas não encontro. Inclusive baixei a última versão do driver do MODBUS para ter certeza que o problema não fosse por versão mais antiga.

@patricia,

Clica no botão Tag Browser… > Pasta IOKit > Pasta General > Tag IO.PhysicalLayerStatus (ver imagem abaixo):

Depois clica na tag e arrasta para o campo esquerdo (Tags do projeto corrente).

Sds.

Bom dia, consegui fazer o que precisava, obrigado.