Operação aritmética

Post Reply
dcg.david
Posts: 7
Joined: Mon Sep 21, 2015 3:52 pm

Operação aritmética

Post by dcg.david »

Boa noite!

Gostaria de saber como fazer uma operação aritmética no script LUA.
Por exemplo: ao acionar o botão, o valor da Tag1 multiplica pela Tag2 e escreve na Tag3.


Obrigado!

David
User avatar
daniel_bable
Moderadores
Posts: 47
Joined: Wed Jun 19, 2013 1:06 am

Re: Operação aritmética

Post by daniel_bable »

Caro David, Boa Tarde!

Para que possamos realizar a uma operação aritmética no script LUA, precisamos criar um script que realize essa operação e associá-lo ao botão.

No script abaixo temos um exemplo de como realizar uma operação aritmética entre dois Tags e escrever o resultado em um outro Tag:

Code: Select all

-- Caminho do Tag

Valor_1    = Tags.Get("Kernel.Tags.Local.TagLocalGroup_001.TagLocal_001")
Valor_2    = Tags.Get("Kernel.Tags.Local.TagLocalGroup_001.TagLocal_002")
Resultado  = Tags.Get("Kernel.Tags.Local.TagLocalGroup_001.TagLocal_003")

-- Realiza a Operação Aritmética(Multiplicação) e escreve no Tag Resultado

Resultado.Value = Valor_1.Value * Valor_2.Value
Resultado:WriteValue() 

Em anexo a esta resposta, se encontra um arquivo de projeto do HIscada Pro exemplificando como realizar uma operação aritmética via script LUA.

Basicamente neste exemplo, foram criados os seguintes itens para permitir tal funcionalidade:
No manual online do HIscada Pro, existe um guia para importar um projeto, presente nesta página, na seção Importando um Projeto.

Em caso de novas dúvidas, basta utilizar nosso fórum!
Attachments
Operacao_Aritmetica.H7G
Exemplo de aplicação para realizar uma operação aritmética via script LUA script através do HIscada Pro.
(557.02 KiB) Downloaded 284 times
Daniel Bable Franco
Analista em Automação

HI Tecnologia - Indústria e Comércio Ltda
Campinas - SP
Fone: +55 (19) 2139-1700
Email: daniel.franco@hitecnologia.com.br
Web-site: http://www.hitecnologia.com.br
dcg.david
Posts: 7
Joined: Mon Sep 21, 2015 3:52 pm

Re: Operação aritmética

Post by dcg.david »

Boa tarde!


Obrigado pela explicação!


David
Daltro
Posts: 27
Joined: Sun Feb 14, 2016 7:44 pm

Re: Operação aritmética

Post by Daltro »

Daniel,

Utilizando-se do seu exemplo :

Valor_1 = Tags.Get("Kernel.Tags.Local.TagLocalGroup_001.TagLocal_001")
Valor_2 = Tags.Get("Kernel.Tags.Local.TagLocalGroup_001.TagLocal_002")
Valor_3 = 3
Resultado = Tags.Get("Kernel.Tags.Local.TagLocalGroup_001.TagLocal_003")

Resultado.Value = Valor_1.Value * Valor_2.Value * Valor_3.Value
Resultado:WriteValue()

Não funciona mais ???

SDS
User avatar
daniel_bable
Moderadores
Posts: 47
Joined: Wed Jun 19, 2013 1:06 am

Re: Operação aritmética

Post by daniel_bable »

Caro Daltro, Bom dia!

Realizei um teste aqui e funcionou corretamente.

Você esta errando ao colocar o Valor_3.Value, colocamos o .Value quando pegamos o valor de um Tag, no seu caso você atribuiu um valor fixo para Valor_3.

Tente colocar assim:

Valor_1 = Tags.Get("Kernel.Tags.Local.TagLocalGroup_001.TagLocal_001")
Valor_2 = Tags.Get("Kernel.Tags.Local.TagLocalGroup_001.TagLocal_002")
Valor_3 = 3
Resultado = Tags.Get("Kernel.Tags.Local.TagLocalGroup_001.TagLocal_003")

Resultado.Value = Valor_1.Value * Valor_2.Value * Valor_3
Resultado:WriteValue()

Em caso de novas dúvidas, basta utilizar nosso fórum!
Daniel Bable Franco
Analista em Automação

HI Tecnologia - Indústria e Comércio Ltda
Campinas - SP
Fone: +55 (19) 2139-1700
Email: daniel.franco@hitecnologia.com.br
Web-site: http://www.hitecnologia.com.br
Daltro
Posts: 27
Joined: Sun Feb 14, 2016 7:44 pm

Re: Operação aritmética

Post by Daltro »

Obrigado Daniel...

Realmente eu não sabia quando usar ou não o ".Value" , ficou esclarecido...

Um outro detalhe...

Eu percebo que as vezes, comigo é sempre, os scripts não funcionam de primeira... mas tbm o sistema não critica os erros... e temos que acabar achando na unha.

Tem como fazer que o script, ao ser executado, informe onde está o possível erro ?

SDS
User avatar
daniel_bable
Moderadores
Posts: 47
Joined: Wed Jun 19, 2013 1:06 am

Re: Operação aritmética

Post by daniel_bable »

Caro Daltro, Boa tarde!

O HIscada Pro tem uma ferramenta de depuração de script, nesta ferramenta você consegue ver onde o erro ocorreu no script.

1 - Você precisa habilitar o acesso ao depurador conforme imagem a seguir:
HabilitarDepurador.png
HabilitarDepurador.png (25.77 KiB) Viewed 6007 times
2 - Com o projeto rodando você precisa ir ate os ícones na parte inferior direito do computador e clicar em clicar com o botão direito do mouse sobre o ícone Viewer ou Kernel, ai vai depender de onde você criou o seu script, conforme imagem a seguir:
AbreInterfaceDepurador.png
AbreInterfaceDepurador.png (18.57 KiB) Viewed 6007 times
3 - Interface de depuração, se caso o seu script estiver com alguma falha ele indicara a falha na parte inferior da janela, conforme a imagem a seguir:
Depurador.png
Depurador.png (44.2 KiB) Viewed 6007 times
Na janela de depuração você consegue realizar alterações no projeto mais só para depuração, as alterações não serão realizadas no IDE.
Para ver o seu script basta selecionar na parte superior da tela (Consulta script)

Em caso de novas dúvidas, basta utilizar nosso fórum!
Daniel Bable Franco
Analista em Automação

HI Tecnologia - Indústria e Comércio Ltda
Campinas - SP
Fone: +55 (19) 2139-1700
Email: daniel.franco@hitecnologia.com.br
Web-site: http://www.hitecnologia.com.br
Post Reply