Fazer com que uma tag receba 2 valores

Tenho uma tag de comunicação do tipo INT para status do meu equipamento ela me trás valores de 0 a 9, preciso que quando ela for diferente de 0 ou 1 que é o status do meu equipamento parado e ligado ela retorne para 0 na propriedade Enabled da minha animação. É possível fazer?

Boa tarde Wanderson,

Você pode inserir uma expressão na propriedade Enabled do tag associado à animação, utilizando o método IIf(Condition, ExprTrue, ExprFalse)).

Exemplo:

iif (TelaInicial.TagInterno1.Value <> 0 AND TelaInicial.TagInterno1.Value <> 1, false, true)

Show de bola vou testar. Obrigado!

Boa Noite,
Testei a aplicação sugerida e a mesma não houve efeito a animação ficou parada com qualquer valor inserido no tag. Possa ser que eu deva estar fazendo algo errado segue imagem da associação.

Wanderson,
Você associou o tag demo ROTAÇÃO na propriedade value da animação, correto?
E em Dados.TagInterno1.Value está sendo inserido os valores entre 0 e 9?

Verifique se na propriedade Value do tag interno o tipo de dado está como Integer, se estiver por exemplo como String, aquela expressão deve ser modificada:
iif (TelaInicial.TagInterno1.Value <> “0” AND TelaInicial.TagInterno1.Value <> “1”, false,true )

Se mesmo após as alterações não funcionar, envie a aplicação para eu verificar (delio@elipse.com.br).

Bom Dia Délio,
Não Funcionou .Te mandei a aplicação no e-mail suporte o e-mail pessoal que você me passou retornou.

Wanderson,
Não recebemos nenhum e-mail.
Por gentileza, compacte os arquivos da aplicação, e reenvie o e-mail para delio@elipse.com.br e suporte@elipse.com.br.

Te encaminhei novamente o primeiro e-mail já tinha ido com o arquivo compactado só estou conseguindo enviar no e-mail do suporte para seu e-mail pessoal esta voltando.

Wanderson,
Sugiro que tente enviar de outro e-mail, pois você deve estar com problemas no envio.
Não recebemos nenhum e-mail em delio@elipse.com.br e suporte@elipse.com.br.

Te enviei de outro e-mail pode me responder no e-mail engenharia. Seus e-mail estão chegando para mim.
Grato!

O problema é que ao enviar o valor pro TagInterno1, ele estava indo no formato texto.

Isto pode ser resolvido alterando o tipo de valor enviado do SetPoint para o tag através da propriedade SetpointDataType (alterar para 4 - stInteger), ou através da função CInt ; para isto, basta adicionar o script abaixo no evento Validate do setpoint.

Sub Texto1_Validate(Cancel, NewValue)
Value = CInt(NewValue)
End Sub

1 Like