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.