Problema com script

 

stou fazendo um sistema de automação onde preciso acionar um queimador atravez de um painel de controle. para isso eu criei um meta data point multi estados com o seguinte codigo:

 

 

if(tempo1 != 0)
{
if (tempo1<=contador)

if(temperatura1<=sensor)
return 1;
else
return 2;
}
}
else
{
return 0; 
}

 
Onde: tempo1 = tempo escolhido pelo usuário para a ação se for 0 não faz nada.

         contador = um cronometro (em segundos apenas) que é iniciado no inicio do processo.

          temperatura1 = temperatura configurada pelo usuario

         sensor = leitura de temperatura através de sensores instalados no equipamento

 

 

Eu quero fazer o seguinte:

quando iniciar a torra do cafe sera ligado um cronometro (contador) que ira marcar o tempo em segundos (contador)

ae  na interface tera 2 valores a ser configurados pelo usuário. Tempo e temperatura

 

quando no valor tempo (colocado pelo usuário  for 0 o data point  vai retornar 0 . Agora quando o tempo for diferente de 0 eu quero que ele fique  comparando o valor do tempo com o valor do cronometro quando os 2 forem iguais ou seja o cronometro chegou no tempo configurado pelo usuário ele fara o seguinte:

Se a temperatura configurada pelo usuário for menor que a lida no sensor  ele ira retornar 1 

Se a temperatura configurada pelo usuário for maior que a lida no sensor  ele ira retornar 2

 

O meu problema é o seguinte:

 

 

configurei um tempo de 30

inicio a contagem ... ate ae tudo ok mais derrepente quando no cronometro marca 4 ele muda o estado (so deveria fazer isso no 30) e quando da 11 ele volta ao estado que seria o certo.

Com 30 ele faz o que tem q fazer e vai tudo ok ate 100 quando ele retorna 0.

 

por que sera que esta acontecendo isso. ele deveria mudar apenas quando o tempo do cronometro ultrapassar o tempo configurado.

Alguem tem alguma dica????????

Ainda não solucionei isso.

se alguem puder dar uma ideia melhor para eu fazer isso eu agradeço...

Desisti de tentar arrumar o script

Oi Phalgus,

Então, você precisa rever sua sintaxe:

if(tempo1.value != 0)
{
   if (tempo1.value <= contador.value)
   { 
       if(temperatura1.value <= sensor.value )
          return 1;
       else
          return 2;
    }
}
else
    return 0; 

Este script deve funcionar, mas você sempre pode conferir as indicações do "?' de cada página

Abraços