Estou montando uma representação grafica, e gostaria de saber se eu consigo por exemplo adicionar um elemento como uma lampada e fazer com que ela ligue e desligue somente clicando nela, sem ter que setar valor 0 ou 1 para ela?
Isso é possível, o único pré-requisito é conhecer um pouco de JavaScript… =)
Crie uma view, insira um objeto “Script para o servidor” associe com o datapoint e selecione “Configuravel” use o script abaixo como exemplo. Salve a view e faça o teste.
var s = "";
if (value)
s += "";
else
s += "";
return s;
O jeito mais simples de fazer algo parecido é utilizar um ponto “Script para Servidor”.
Ao adicionar você pode associar um DataPoint ao mesmo e gerar um script em JSP. Num exemplo simples:
var s = “”;
if (value)
s += “”;
else
s += “<img src='graphics/graphics/LightBulb/light_off
onclick='mango.view.setPoint(”+ point.id +", “”+ pointComponent.id
+"", “true”);return true;’/>";
return s;
‘’’
Onde: #mango.view.setPoint() é utilizado para setar um valor do ponto; #point.Id é o id do ponto referenciado. Pode-se utilizar outro id de pontos não associados ao script; #pointComponent.id é o Id da View, igualmente você pode refenciar uma View distinta; #Os valores setados também podem ser analógicos, alfanuméricos dependendo do point referenciado no point.id.
Fala galera, esse assunto de "script para o servidor" ficou bem discutido aqui http://www.scadabr.com.br/?q=node/152 tem até um link do forum do mango que tem alguns scripts legais http://forum.infiniteautomation.com/forum/posts/list/598.page#2859
Tentei colar o script aqui e ficou igual ao amigo, com um desenho quebrado, a página tenta interpretar o script, então para ficar melhor, entre no último link e procure por "Lamp image clicking on it sets a binary point(from an old example in some other thread) ", o script está abaixo desta frase.
Só precisa trocar a imagem pela que quiser, reparando bem que o caminho começa dentro da pasta graphics, o que tem antes não importa.