Descrição:
Como faço para que uma série de I/O tags exibam valor 0 quando retornarem com valor negativo (abaixo de 0), a fim de tornar possível sua gravação no Banco de Dados?
Solução:
Para isto, existem duas soluções possíveis:
1. Para gravar o valor diretamente no Banco de Dados, vá a este objeto, selecione o Histórico onde o valor deve ser guardado e, na coluna Fonte, coloque a seguinte linha de comando: (sgn(IOTag)+1)/2*IOTag, (Tag = I/O tag desejado).
2. Para somente mostrar o valor em um display, use uma conexão múltipla, busque o tag desejado, e selecione o tipo Conexão Múltipla, onde:
Min = -ValorMinimo ; Max = 0 ; fonte = 0
Min = 1 ; Max = ValorMaximo ; fonte = Tag.Value (Valor do Tag desejado)
Min = 1 ; Max = ValorMaximo ; fonte = Tag.Value (Valor do Tag desejado)
O mesmo pode ser feito para gravar o valor no Banco de Dados: associe o I/ O tag a um tag interno, efetue a conexão, e depois grave o tag interno no Banco de Dados.
Em anexo a este artigo segue uma aplicação exemplo.