Exemplo customView


#1

Para os novos no ScadaBR ou para os mais experientes que as vezes podem estar sob pressão e esquecem na hora do incêndio, eu precisava mostrar o valor de um datapoint e gerar um gráfico para uma necessidade. Olhando nos arquivos do scadaBR existe um arquivo na raiz do projeto chamado customViewExample,jsp. O que este arquivo faz? Ele permite que voce possa pegar o conteúdo de um datapoint qualquer do scada para apresentar numa página web!

renomeie o arquivo customViewExample.jsp para ser usado depois, e num novo arquivo customViewExample.jsp, coloque as linhas abaixo,
Vejamos:

<%@ include file="/WEB-INF/jsp/include/tech.jsp" %>
<%@ taglib prefix="view" tagdir="/WEB-INF/tags/view" %>
<html>
<head>
  <link href="resources/common.css" type="text/css" rel="stylesheet"/>

<html>
        <head>
                <view:init username="admin"/>
        </head>
<body> <h2> Mostrando datapoint </h2>
   Simple Point: <view:simplePoint xid="DP_123456"/> <br />
   Static Point: <view:staticPoint xid="DP_654321"/>
 </body>
</html>

Não esqueca de mudar DP_123456 e DP_654321 pelos dataPoints que deseja mostrar:
Chame o arquivo e verá a mágica acontecer…
http://localhost:8080/ScadaBR/customViewExample.jsp

Veja como ficou o exemplo:
image

Vamos incluir um gráfico agora:

Refaça customViewExample.jsp com as linhas abaixo:

<%@ include file="/WEB-INF/jsp/include/tech.jsp" %>
<%@ taglib prefix="view" tagdir="/WEB-INF/tags/view" %>
<html>
<head>
  <link href="resources/common.css" type="text/css" rel="stylesheet"/>

<html>
        <head>
                <view:init username="admin"/>
        </head>
        <body> <h2> Mostrando datapoint DP-511325</h2>
                Simple Point: <view:simplePoint xid="DP_511325"/> <br />
                Static Point: <view:staticPoint xid="DP_511325"/>
<h3>Grafico do Tanque de Combust&iacute;vel</h3>
<view:chart duration="7" durationType="days" width="800" height="300">
  <view:chartPoint xid="DP_123456" color="#2468AC"/>
  <view:chartPoint xid="DP_122123" color="#CA8642"/>
  <view:chartPoint xid="DP_480123" color="dodgerblue"/>
  <view:chartPoint xid="DP_522866" color="red"/>
</view:chart>
        </body>
</html>

(Não esqueça de mudar o valor DP_XXXXXX pelos valores dos dataPoints que deseja visualizar no gráfico,

Veja como ficou:

É importante saber que um jsp é como se fosse um arquivo php, só que usando instruções java. Por isso é importante ter nas duas primeiras linhas do arquivo as linhas abaixo:

<%@ include file="/WEB-INF/jsp/include/tech.jsp" %>
<%@ taglib prefix="view" tagdir="/WEB-INF/tags/view" %>

É através destas linhas que um jsp pode ler dentro da tag view o valor de um datapoint.
Importante: é necessário incluir a tag:
<view:init username="admin"/>

para que o ScadaBR possa usar o usuário correto ao mostrar a página!

quando o ScadaBR vê a tag:xid=“DP_123456” ele vai até o banco de dados e pega o valor de xid e apresenta.
O mesmo vale para um gráfico.

a tag do grafico abaixo tem o período do gráfico em duas tags:
<view:chart duration="7" durationType="days" width="800" height="300">
a tag duration é o número da unidade de tempo que é durationType

No exemplo é 7 dias.
para uma hora: duration=“1” durationType=“hours”
o width e height são auto-explicativos.


Alterar eixo dos gráficos!
#2

Fala meu chara!

Seguinte, muito bom esse post, bem auto explicativo!

sabe me dizer se tem como eu fazer includes de um “page.jsp” igual um server side script na tela de representação gráfica?


#3

Oi Wagner, possivelmente sim.
Faz esse teste:

<jsp: include page=“Header.jsp”/>

ou essa tag que permite que vc traga algo de fora do container do projeto

<c:import url=“http://www.google.com.br”/>

e poste aqui o resultado


#4

Wagner, muito bom seus compartilhamentos, percebendo que você tem uma certa facilidade com a manipulação da parte mais complicada do ScadaBR, você sabe alguma forma para gerar o relatório em PDF? ou modificar a forma do relatório?


#5

A parte de relatórios do ScadaBR realmente deixa um pouco a desejar, contudo, estou perseguindo a possibilidade de fazer um customView em forma de relatório, pois assim ficaria algo prático para impressão. Acerca de gerar PDF existe ferramentas que fazem isso, estou desejando fazer isso por javascript, pois seria meio que fácil embarcar no scadabr.

Comece lendo esse artigo aqui:

Uma vez que tenha compreendido essa ferramenta, faça seu relatório usando o exemplo do customViewExample. Aqui no fórum tem um artigo que ensina como fazer o histórico via jsp. Estou querendo fazer esse histórico de outra forma. Mas não estou tendo muita sorte. O que eu tentei fazer como tabela de histórico foi tentar canibalizar uma parte do código da página data_point_details para poder retirar o histórico para colocar no relatório, mas a quantidade de scripts que a página usa é assustador!


#6

Wagner, muito grato por sua grande ajuda, conforme eu conseguir progredir vou dando feedback, caso tenho duvidas, tambem, e se acaso conseguir alguma novidade, favor compartilhe, estou necessitando muito disso.


#7

Bom dia Wagner, voce ja fez alguma coisa em medição virtual de energia eletrica? Eu tenho uma demanda onde preciso realizar o rateio de energia e gerar uma fatura virtual.


#8

ja configurei o scada e consigo ler os parametros do medidor a minha dificuldade é de gerar um historico e apartir disto gerar a fatura,


#9

Para fazer a sua Fatura, voce nao pega o valor atual e subtrai do valor lido de 30 dias atras?

Crie um DataSourceMeta e coloque a formula baseada no valor da contagem do consumo. Ultimo valor lido menos o valor de 30 dias atrás:

No meu caso, peguei um relógio Generico com o valor de kWh consumidos. Como já tem mais de 30 dias de leitura, posso simplesmente pegar n.value - n.ago(DAY,30); para obter o consumo dos últimos 30 dias.
Ele vai sempre retornar o consumo dos últimos 30 dias.


#10

Mas Wagner, no meu entendimento, eu preciso atrelar o comando a um dia, pois os meses tem numero de dias diferentes, por exemplo, a cada dia 1 eu gero a fatura.
Este script é possivel faze-lo por dia especifico do mes?
Voce já fez algo utilizando o pentaho? Estou pensando em criar uma planilha customizada, ja vi varios videos e eles comentam de utilizar o BD do tipo MSQL, o meu Scada esta com o BD derby.


#11

Caraaaa Muito bom isso. Parabéns e muito obrigado por compartilhar.
Vamos tentar aprimorar, também preciso de um relatorio customizado. Abração


#12

como colocar uma imagem de fundo nessa pagina ?


#13

@Felipe92,

A página que está editando é um HTML. Use a TAG omg do HTML para isso. Coloque a imagem na pasta imagens do scadaBR que deverá funcionar


#14

obrigado, ja consegui !