Botão multiestado

Pessoal, estou desenvolvendo uma aplicação e gostaria de colocar botões com funções liga e desliga, onde no primeiro clique o valor da memoria iria para 1 e no segundo clique o valor voltaria para zero, e cada estado seria representado por um botao diferente, eu ja consegui fazer o botao respeitar o valor da memoria pela configuração de gif binario, porem nao consego fazer o botao alterar a memoria só com 1 clique. Grato

Primeiro, vc está desenvolvendo uma aplicação externa que vai se comunicar com o ScadaBR em outra linguagem, ou está desenvolvendo algo dentro do ScadaBR? Se for a segunda opção é fácil, na representação gráfica existe um componente chamado "botão de escrita" com ele é possível alterar com um clique o estada de uma variável binária. É possível fazer isso porém usando um desenho no lugar do botão, como uma lâmpada apagada que com um clique sobre ela a lâmpada acende e vice-versa, para isso use um componente "script para servidor" e nele adicione o código descrito nesse site http://mango.serotoninsoftware.com/forum/posts/list/598.page#2859 do projeto original

eu estou desenvolvendo dentro do ScadaBr mesmo, e ja imaginava que teria que recorrer a um script, mas não domino este tipo de linguagem, voce poderia me indicar algum lugar de pesquisa para aprender estes códigos, eu sei apenas C, assembly e basic para microcontroladores mas me interessa muito isto. Grato

Olá os links que te mandei já tem vários exemplos, em específico o último link que é do mango, nome original do ScadaBR, o ScadaBR é uma continuação do projeto do mango que também é open-source. É só ler em inglês para descobrir o que cada exemplo faz, vendo os exemplos vai entendendo como usa-los, não é muito diferente de C, a linguagem que usamos no ScadaBR para programação é o antigo JavaScript agora chamado do ACME Script. 

Para acender uma lâmpada ao clicar, cole este código

  • var s = "";  
  • var mask =1024//1024 is bit 10, 8=bit 3  
  • var arvo = "";  
  •   
  • if (value & mask)  
  • {  
  •      arvo = value - mask;  
  •      arvo = arvo +"";  
  •      s += "<img style='cursor:pointer;' src='graphics/LightBulb/light_on.gif' onclick='mango.view.setPoint("+ point.id +", \""+ pointComponent.id +"\","+ arvo+");return false;'/>";  
  • }  
  • else  
  • {  
  •      arvo = value + mask;  
  •      arvo = arvo +"";  
  •      s += "<img style='cursor:pointer;' src='graphics/LightBulb/light_off.gif' onclick='mango.view.setPoint("+ point.id +", \""+ pointComponent.id +"\","+ arvo+");return true;'/>";  
  • }  
  • return s; 

Preste atenção apenas ao caminho da imagem que está referenciada dentro da pasta do webapps/ScadaBR, procure que achará esta pasta e o nome dos componentes, também se certifique que a variável que anexará é binária e está com marcada como configurável.

Abraço!