( Script para o servidor ) manipulando data points

Olá pessoal, estou tentando descobrir uma forma de criar POPUPS no ScadaBR para que sejam acionados no momento que um alarme disparar, mas não tenho nem ideia de como fazer usando scripting.

a ideia é a seguinte: usarei um arduino em comunicação modbus tcp, apenas entradas digitais, quando uma entrada do arduino for alterada para nivel lógico baixo eu queria abrir um popup ou uma outra pagina html externa. alguem já fez algo parecido?

desde já, muito obrigado.

POPUPS não são uma boa ideia em sistemas Scada a muito tempo, o motivo é que ele esconde o que esta por baixo. Contudo, se deseja uma sugestão, use script para servidor e crie uma div com o conteúdo de sua popUP, ela vai fazer parte da página e estará escondida. quando ela aparecer, não vai ficar por cima de nada.
o if dependendo de value (que é o valor de seu datapoint, vai deixar ou não visivel a div com a mensagem, no caso por espaço usei uma imagem apenas.
veja o exemplo abaixo:

var s="";
s+="<style>.mensagem {  background-color: #dadada; visibility:"; 
if (value==1) s+="hidden";
if (value==0) s+="visible";
s+= ";}</style>";
s+=" <div class='mensagem' > ";
s+=" <img  src='https://emojipedia-us.s3.amazonaws.com/source/skype/289/warning_26a0-fe0f.png'";
s+="  alt='Mensagem' style='width:50px'><h2>Mensagem de Aviso!</h2>O datapoint alarmou!</div>";
 return s; 

Como pode ver, dependendo do valor, o div será ou não mostrado na página, é melhor que o popup, pois se o popup não for clicado, se o valor mudar, ele vai continuar lá, por cima de outros elementos da página.

1 curtida

Boa noite Wagner, obrigado pela resposta, testei seu código e funcionou bem porém eu precisava de um botão dentro do popup para fecha-lo após visualizar a informação. é possivel fazer isso?

Desde já obrigado.

Voce vai precisar criar um codigo para o botao em js para trocar o estado de mensagem para hidden

1 curtida

Eu até consigo criar um botão externo e fazer com que o popup fique oculto, mas fazer isso funcionar dentro do script que é complicado.

O script para servodor usado no scadabr é javascript? Poderia me indicar algum site/livro para aprender mais sobre esse script?

Obrigado.

Boa tarde, consegui resolver o problema, vou deixar o código abaixo caso alguém precise.

Server-side Script:
if (value == 0) return "<img class='incendioIcon' style='width: 150px; visibility: visible;' src='images/Supervisorio/firealarm.gif'><script>document.querySelector('#incendioIcon').style.visibility='visible';</script>"; else if (value == 1) return "<img class='incendioIcon' style='visibility: hidden;' src='images/Supervisorio/arduino_red.png'><script>document.querySelector('#incendioIcon').style.visibility='hidden';</script>";

Documento HTML

<input
    id="incendioIcon"
    type="button"
    value="FECHAR"
    onclick="esconder()">

<script>
function esconder(){
document.querySelector('.incendioIcon').style.visibility='hidden';
document.querySelector('#incendioIcon').style.visibility='hidden';
}
</script>