setInterval _não definido

while(Temp.value > 20){
setInterval(function loop(){return true; return false;}, 15000);
}

Esse código não funciona. Mostra o seguinte erro: " 15:55:36: 'Meta': Erro de script no data point "AlarmTemp": sun.org.mozilla.javascript.EcmaError: ReferenceError: "setInterval" is not defined. (#3) in at line number 3 in at line number 3 "

Como posso definir essa função no ScadaBr?

Obrigado.

 

 

Oi Wesley,

E não deveria funcionar mesmo. Os scripts do ScadaBR possuem limitações quanto a mecanismos de loop e tempo. Assim, não é possível utilizar ferramentas como while, for, do e sleep/wait.

Descreva um pouco melhor o que você deseja fazer que a gente pode te ajudar com uma solução possível no ScadaBR.

Abs

Eu desejo fazer um alarme cíclico de Temperatura alta, exemplo: Enquanto a temperatura for maior que 25ºC, gerar um alerme a cada 1 minuto.

Tentei fazer utilizando um DataPointVirtual Alternado. A ideia era habilitar esse Data Poit quando a temperatura for maior que 25ºC e desabilitar quando for menor.Dessa forma eu preciso criar um botão ecrípt para iniciar o scripting, porém quando a temperatura passa de 25ºC o Data Ponit só é habilitado quando o botão script é pressionado. Então eu precisaria pressionar o botão várias vezes e isso não é legal.

if (mw120.value == 1)

{dp.enableDataPoint('DP_093560');}

 

if (mw120.value == 0){dp.disableDataPoint('DP_093560');}

Obrigado.

Oi Wesley,

Você pode usar eventos compostos para gerar essa condição e o alarme que você deseja. A ideia de criar um data source virtual está certíssima, apenas coloque o intervalo de atualização para 1 minuto.

Depois crie um ponto binário alternado, e associe a ele um evento de mudança de estado.

No seu datapoint de temperatura, crie um evento de temperatura máxima.

Agora basta associar os dois com um tratador de evento composto e você pode tratar o evento composto no tratador de eventos. Se você precisar escrever num data point virtual binário estático, basta utilizar o set point.

Veja se isso resolve.

Abs

agradeço pela ajuda.

Eu resouvi fazer toda a lógica no CLP, onde eu leio o estado de uma MW que fica variando entre 0 e 1 enquanto a temperatura for maior que 25ºC.

de certo também.

Agradecido.