Deixa eu ver se entendi. Se quer acionar diversas saídas com um script único a saída é usar um “Scripting”, porém, ele não roda em tempo real, apenas com algum gatilho em determinados momentos. Se precisar rodar em tempo real este script, considere fazer 2 scripts dentro de um “Data Source Meta” lembrando que cada meta tem uma única saída.
Mas usando a primeira ideia, vamos ao scripting.
Primeiro adicione ao contexto o “bt1”, em “Comandos para Datapoints” na caixa “Var” escreva “dp” para ficar igual o exemplo abaixo ou outro apelido, mas vai ter editar o exemplo abaixo e depois marque a caixa “Add” correspondente a esta linha que está editando.
Repare que a lâmpada 1 e 2 não participa de nenhuma lógica no scripting (por isso não precisa ser adicionado ao contexto), apenas é uma saída, neste caso seriam os datapoints com XID de DP_392414 e DP_392415 respectivamente, lembrando que este número é encontrado em detalhes do datapoint.
Usei no exemplo escrita com 1 e 0 mas poderia ser true e false também.
Acho que é isso, ah vale a pena ler este post para entender mais sobre scripting’s.
lembrando que o datapoint que for criado dentro do meta, tem que ter o bt1 adicionado ao contexto e o resultado do script, no caso o “return algo” é o valor do próprio datapoint, então, isso por si só ainda não vai ligar a lâmpada. Obs.: Não se esqueça de escolher o datapoint como “binário” neste caso.
1 - Primeiramente você terá que fazer um script desse para cada lâmpada, ou se ambas ligarem ao mesmo tempo, pode fazer um só.
2 - Depois de criado o script e conseguir o valor de interesse, agora precisa fazer ele alterar o valor do datapoint de interesse, para isto, usará um “pointlink”, agora necessariamente precisará de um pointlink por lâmpada, lembrando que os pointlinks tem apenas um dado de origem e um de destino. Então poderá usar um script como origem de 2 pointlinks, porém, com 2 destinos diferentes, um em cada pointlink
Neste caso, escreva dentro scritp do pointlink:
return source.value;
isto se o destino for receber o dado já no formato binário “true” e “false”, senão faça um conversão no script do pointlink ex: true=1 ou true=on e por aí vai… ou também pode fazer esta conversão direto no script do meta, acho que não será necessário pra vc!
Repare em suas condições… Pelo que entendi vc quer testar se um botão está ativo e com isto ligar mais de 1 lâmpada ou led ao mesmo tempo certo? Então não tem porque testar o status dos leds, só o status do botão que é importante. O Scritpt seria exatamente igual eu postei no último comentário.
Bom dia, estou desenvolvendo um projeto Arduino Uno (ModBus IP) e ScadaBR para fazer o acionamento de um Religador Cooper F5 qual necessito somente de um pulso para o mesmo armar o mecanismo, tenho programado via código duas portas digitas, uma para Fechamento e outra para Abertura, alguém poderia me dar um luz como posso resolver este problema, abraço a todos.
var s = “”;
if (value)
s += “”;
else
s += “”;
return s;
Tentei este mas ele só faz a opção de Ligar e Desligar quando acionado.