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
Operação aritmética
- daniel_bable
- Moderadores
- Posts: 47
- Joined: Wed Jun 19, 2013 1:06 am
Re: Operação aritmética
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:
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:
Em caso de novas dúvidas, basta utilizar nosso fórum!
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:
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 435 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
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
Re: Operação aritmética
Boa tarde!
Obrigado pela explicação!
David
Obrigado pela explicação!
David
Re: Operação aritmética
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
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
- daniel_bable
- Moderadores
- Posts: 47
- Joined: Wed Jun 19, 2013 1:06 am
Re: Operação aritmética
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!
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
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
Re: Operação aritmética
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
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
- daniel_bable
- Moderadores
- Posts: 47
- Joined: Wed Jun 19, 2013 1:06 am
Re: Operação aritmética
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:
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:
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:
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!
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:
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:
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:
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
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