Ler valores de várias datapoints no script para servidor

Boa noite,

Estou necessitando que no script para servidor, em uma view, para ler vários datapoints e tratar esses valores, é possível? não serve via meta data source, gostaria de fazer via script para servidor mesmo.

obrigado pela ajuda.

Olá amigo,

Segue o código para realizar a leitura de quaisquer valor dentro de um script-servidor.

var dpDao = new com.serotonin.mango.db.dao.PointValueDao();
var dpVo = dpDao.getLatestPointValue(‘XID’);
return dpVo.value;

EX:var dpVo = dpDao.getLatestPointValue(‘1’);

Boa noite, eu to tentando implementar esse codigo mas esta dando erro, eu queria saber se o codigo var dpVo = dpDao.getLatestPointValue(‘XID’); o XID seria o id do datapoint, aquele criado aleatoriamente ?

Eu sei que pode ser tarde, pode ser irrelevante, mas demorei horas buscando informações para conseguir a resposta, então vai:

P: o XID seria o id do datapoint, aquele criado aleatoriamente ?

R: NÃO, NÃO NÃO! Ninguém praticamente explica isso, mas é o DPID, um número (aparentemente sequencial) dado ao ponto. Como encontrar?

Vá à watchlist e clique na pecinha de lego e olhe a URL do ponto, algo assim: http://192.168.15.16:8080/Sojasul/data_point_details.shtm?dpid=295

O número 295 é esse DPIP.

3 curtidas

obrigado pela resposta , agora ja entendi o recurso:facepunch:

Olá amigo,

Tambem tem essa duvida, eu queria poder fazer logica no script para o servidor e poder lê e escrever dados no data point.
Poderia postar exemplo disto, estou apanhando muito deste ScadaBr kkkkk

Pra eu pegar outros valores que não sejam o ultimo, como ficaria?

Onde encontro a documentação dos comandos que se pode usar no server script?

Seria uma boa eles postar aqui os comandos de leitura e escrita e etc…

Muchas gracias por la informacion

1 curtida

Bom, hoje estava tentando utilizar uma lógica com mais de 1 data point no meu script para servidor, atualmente estou usando a versão 1.2 do Scada. Notei uma diferença entre a 1.1 e a 1.2, e achei que seria importante introduzir ao forúm, se já existe essa anotação aqui, peço perdão pela redundancia, contudo aqui fica o código:
var dpDao = new com.serotonin.mango.db.dao.PointValueDao();
var dpVo = dpDao.getLatestPointValue('19');
var g = ""
if(dpVo.value == "false"){
if(this.value == 1){
g = "<font size='40px'>false</font>";
}
}
if(dpVo.value == "true"){
if(this.value == 0){
g = "<font size='40px'>True</font>";
}
}
return g;

Neste exemplo o data point cujo o XID é 19, é um data point binário, na versão 1.1 do Scada, quando executava este script, o dp.Valeue se compararia aos valore 1 ou 0, na versão 1.2 foi camparado as palavras “true” e “false”.

1 curtida

Hum talvez isso acontece porque você está comparando uma string chamado “false” e outra “true” talvez o certo é usar sem aspas aí realmente você está comparando se o value é false or true.