Enviar valor do Datapoint via GET (publisher) para um servidor externo


#1

Olá, estou procurando uma solução para enviar via GET o valor do Datapoint , atualizado em tempo real , para um servidor externo , algo do tipo:

http://192.168.25.100/?lampada=1
http://192.168.25.100/?lampada=0

para que execute a cada mudança de estado da lampada , mas no Publishers somente consegui informar que o Datapoit mudou , não sei como carregar junto o valor real do Datapoint para o destino .
Se puderem me ajudar agradeço.


#2

Deixa eu ver se entendi, o que você quer fazer é controlar remotamente um datapoint (como uma lâmpada, por exemplo) enviando uma requisição GET para o ScadaBR? Ou seria enviar o valor de um datapoint a partir do ScadaBR para algum outro lugar?

Caso você queira apenas transmitir o valor de um datapoint pelo ScadaBR, na opção do seu Publisher do tipo Remetente HTTP deve haver um espaço para adicionar datapoints que você tem no seu ScadaBR às informações que serão transmitidas.

Veja na imagem abaixo a parte em que você pode configurar os datapoints a serem transmitidos (1), a lista para selecionar e adicionar os datapoints, remover um datapoint (3), definir qual o nome do parâmetro HTTP será usado para se referir àquele datapoint (4) e a opção de incluir a data de alteração do datapoint nas informações transmitidas (5):

Qualquer dúvida poste aqui para ver se conseguimos ajudar.


#3

é bem simples, faca o seguinte:
Crie seu publisher chamado Remetente HTTP conforme esta abaixo:

image

Aqui damos o nome do Publisher e marcamos habilitado.
em Atualizar Evento, deixei como Todas as atualizações, mas pode ser
apenas alterações. Em todas as atualizações, a cada vez que a variável a ser publicada for atualizada, ele envia a mensagem, o outro somente quando o valor da variável do datapoint mudar.
abaixo vem o pulo do gato… Crie um ponto com a variável associada ao Datapoint que será usado:
image

Em propriedades do remetente, temos a pagina que será chamada e logo abaixo os parametros ou cabecalhos

Eu criei um arquivo JSP chamado segundo.jsp que recebe um parâmetro chamado url para exemplificar só com o ScadaBR que isso funciona. No meu caso usei:

http://localhost:8080/ScadaBR/segundo.jsp

e cada ponto que for criado, será uma variável que será publicada.

crie o ponto conforme o quadro Pontos da imagem acima.
Escolha o datapoint que deseja publicar o valor e no nome do parâmetro o nome que será usado para exportar o valor do datapoint, no caso lâmpada, desmarque incluir timestamp, pois não é necessário.

Quando o datapoint for atualizado ou mudar (dependendo do valor do campo Atualizar evento em Propriedades Gerais), Uma requisição abaixo será chamada:

http://localhost:8080/ScadaBR/segundo.jsp?lampada=true

Se timeStamp estiver setado, o valor terá no final o sinal Arroba e o valor da data e hora como abaixo:

http://localhost:8080/ScadaBR/segundo.jsp?lampada=true@202010130935

a data e hora esta anoMesDiaHoraMinutoSegundo

olhe em eventos o resultado:

image

abaixo segue o código do jsp que fiz para o exemplo, coloque na raiz do ScadaBR para testar essa url do exemplo.

Arquivo: segundo.jsp

<html>
<head></head>
<body>
  <h2> Recebendo um publisher </h2>
    <p> Lampada é:
      <%=request.getParameter("lampada")%>
  </p>
</body>
</html>

Espero que tenha ajudado.