Prezados,
Na minha aplicação, o TagOpc_001 recebe um valor entre 0 e 1023.
Criei 02 TAG's locais :
TagLocal_001 = Onde aparecerá o valor convertido;
TagLocal_002 = Que recebe os valores 0, 1, 2 ou 3 vindos de um Combobox.
Seguindo como exemplo a "Movimentação de valores entre TAG's" daqui do forum, criei um script acionando pela função "On Tag Change" do TagOpc_001 que faz uma multiplicação por valor fixo e escreve este valor na TagLocal_001.
O detalhe é o seguinte:
Quando o valor do TagLocal_002 (comboBox) for 0 a TagOpc_001 deve ser multiplicada por uma determinada constante, se for 1 deve ser multiplicada por outra constante, se for 2 ou 3 por outras outras duas constantes diferentes...
Eu usei o operador de decisão if else end... mas não consegui fazer isso !!!
Poderiam me dar uma ajuda ?
SDS
Daltro
Operações Aritméticas entre TAG's
-
- Posts: 28
- Joined: Fri Feb 19, 2016 6:12 pm
Re: Operações Aritméticas entre TAG's
Olá, Daltro,
Para resolver isso, você pode usar o próprio combo-box para lhe entregar as constantes escolhidas. Ao criar a lista para o mesmo, você tem a opção de mudar o texto que aparecerá e o valor . Esse valor pode ser qualquer constante, não necessitando estar em ordem crescente, decrescente ou aumentando de um em um, por exemplo. Então você pode colocar as constantes pretendidas nesse espaço valor.
OU pode ser usado o if elseif end,como exemplificado abaixo, caso o seu combo-box use os valores de 0 a 3 para outros fins além de encontrar a constante de multiplicação.
Segue em anexo um programa para exemplificar esses dois métodos.
NO lado direito da tela, o combo-box entregará os valores de 0 a 3 e, quando o tag_OPC mudar (o valor dele pode ser modificado no Edit superior da tela), ocorrerá a multiplicação e será salvo em uma tag_local, no caso a valor_final2.
Enquanto que no lado esquerdo da tela, o combo-box já entregará a constante requerida (aleatoriamente escolhi 25,14,42,17) e, quando o tag_OPC mudar (o valor dele pode ser modificado no Edit superior da tela), ocorrerá a multiplicação e será salvo em uma tag_local, no caso a valor_final.
Espero ter ajudado.
Daniel kantor
Para resolver isso, você pode usar o próprio combo-box para lhe entregar as constantes escolhidas. Ao criar a lista para o mesmo, você tem a opção de mudar o texto que aparecerá e o valor . Esse valor pode ser qualquer constante, não necessitando estar em ordem crescente, decrescente ou aumentando de um em um, por exemplo. Então você pode colocar as constantes pretendidas nesse espaço valor.
OU pode ser usado o if elseif end,como exemplificado abaixo, caso o seu combo-box use os valores de 0 a 3 para outros fins além de encontrar a constante de multiplicação.
Code: Select all
--decide qual constante será dependendo do valor do combo box
if combo == 0 then constante = 25
elseif combo == 1 then constante = 14
elseif combo == 2 then constante = 42
elseif combo == 3 then constante = 17
end
Segue em anexo um programa para exemplificar esses dois métodos.
NO lado direito da tela, o combo-box entregará os valores de 0 a 3 e, quando o tag_OPC mudar (o valor dele pode ser modificado no Edit superior da tela), ocorrerá a multiplicação e será salvo em uma tag_local, no caso a valor_final2.
Enquanto que no lado esquerdo da tela, o combo-box já entregará a constante requerida (aleatoriamente escolhi 25,14,42,17) e, quando o tag_OPC mudar (o valor dele pode ser modificado no Edit superior da tela), ocorrerá a multiplicação e será salvo em uma tag_local, no caso a valor_final.
Espero ter ajudado.
Daniel kantor
- Attachments
-
- constantes.H7G
- (559.33 KiB) Downloaded 372 times
Re: Operações Aritméticas entre TAG's
Valeu Daniel...
Consegui fazer o que queria com sua ajuda !!!
SDS,
Consegui fazer o que queria com sua ajuda !!!
SDS,