Boa noite…Estou tendo um pouco de dificuldades quanto ao uso do Elipse Scada como supervisório de um sistema utilizando arduino uno. Há três potênciomentros conectados às entradas A0, A1 e A2 do arduino, sendo estes potênciometros de, respectivamente, 10, 10 e 100 Kohms. A questão é que converti os valores de entrada de 0 a 1023 para 0 a 10/100 K, mas no potênciometro de 100 K não consigo imprimir este valor no display do Elipse corretamente pois o valor mostrado é negativo. Acho que o valor é muito grande para uma variável int. No arduino eu mudei o tipo da variável para float, mas no Elipse não sei como posso fazer. Alguém sabe como ajustar a variável no supervisório para ler este valor elevado de resistência?
Alterar o tipo de uma variável para float
Bom dia @Sobreira,
Para trocar de Int para Float basta trocar o parâmetro N2 de 3 para 5 (se a lista de operações estiver no padrão, para confirmar, basta abrir a configuração do driver e abrir a aba Operations).
Teste isto e me avise.
Obrigado Daniel. Tentei fazer o que você disse mas não deu certo. Ao alterar o parâmetro mencionado para 5 sequer efetuou a leitura da TAG, reportando erro. Quanto às configurações do driver eu não alterei, estou usando assim como foi instalado e estão como pode ser visto no anexo.
Caro @Sobreira ,
Saberia me dizer porque você está utilizando o valor 3 no parâmetro N3?
Se estiver em 0 como se dá a leitura?
Obrigado pela ajuda Daniel. Não, sinceramente não saberia. Na realidade não tenho muito conhecimento sobre o Elipse Scada e tenho tentado seguir alguns projetos similiares de integração entre arduino e Elipse e este atual é até o momento o que foi mais acessível em implementá-lo na minha aplicação, muito pela facilidade de criar os registradores e referi-los no supervisório. No geral, a partir deste projeto tenho avançado bem na minha aplicação a não ser por esta dificuldade do tipo da variável. A tentativa de utilizar 0 no parâmentro N3 também não surtiu efeito.
Bom dia @Sobreira,
Neste caso será necessário que você me gere um log do driver para investigarmos mais a fundo o que está ocorrendo.
Para isto, basta ir na configuração do driver, na aba setup e habilitar a opção Log to File.
Após isto, tente fazer a leitura tanto com a função 3, como com a função 5.
Feito isto, encaminhe o log para link@elipse.com.br.
Olá Daniel. Primeiramente desculpe a ignorância mas não consegui localizar o arquivo de log gerado. Eu marquei a caixa conforme você indicou, apontei um diretório do meu computador, mas mesmo assim não consegui encontrar o arquivo de log. Segundo é que eu acho que as mensagens de erro nas tentativas de leitura que apareciam eram devido a estar acessando a porta serial do arduino e do Elipse ao mesmo tempo, pois alterei para 5 o campo N2 e foi efetuada a leitura de um número gigante e completamente aleatório. Já com 5 em N2 e 0 em N3 também é possível realizar a leitura mas de um outro número aleatório (veja a diferença entre os números sem alterar o valor do potênciometro). A única leitura coerente é quando mantenho 3 e 3, conforme pode ser visto comparado ao valor impresso pelo arduino.
Bom dia Daniel. Acho que descobri qual o problema, ainda que sem saber resolvê-lo. Eu imprimi lado a lado as leituras do registrador e da variável que deveria possuir o mesmo valor, e é possível ver que o registrador está declarado com “int” no arduino. Você tem alguma ideia de como posso alterar esta linha para que o registrador possa ser declarado como “float”?
Caro @Sobreira,
Não sei como alterar a linha na programação do arduino.
Caso não consiga, uma alternativa é quebrar esta informação em mais de um tag e juntar dentro do SCADA.
notei na imagem que os valores da variável VALOR_POT3 não possuem parte fracionaria.
Existe a possibilidade de, invés de mudar o registrador para float (que acredito não ser possivel), alterar o tipo da variável para int?