Clicar no XControl para trocar seu próprio estado booleando

Estou utilizando o ModSimu para simular o liga e desliga de um objeto, consigo fazer funcionar por meio de um botão, mas gostaria que funcionasse apenas clicando no objeto. Seria via script, certo? Mas Qual evento? Qual chamada fazer no script?

A tag do driver é Driver1.Coils.Elemento1
O XControl é XMotor1

Edit: Como fazer para trocar a cor do objeto já instanciado? Ao invés de colocar a tag do driver no foreground direto no XControl, como fazer para eu colocar a tag do driver em cada objeto instanciado na tela? Porque da forma que fiz, todo objeto instanciado está recebendo o valor do Elemento1, eu gostaria que cada instância recebesse seu próprio tag.

Renato,

Infelizmente não deu para compreender muito bem a sua dúvida. Mas acredito que os links abaixo irão ajudar.

Também recomendo fortemente a realização do treinamento do E3. Veja no site da Elipse (link abaixo) as próximas datas.

https://www.elipse.com.br/treinamentos-busca

Eu tenho um objeto (xcontrol) vinculado a um tag com conexão via modbus simulator. Se eu ligar ou desligar clicando no ON / OFF do simulador, o objeto muda de cor. Até ai tudo bem. Eu quero clicar direto no objeto e fazer com que ele ligue e desligue, sem precisar clicar no simulador.

E a outra duvida é fazer com que cada instância desse objeto receba uma tag do driver modbus diferente, para que cada endereço do simulador fique vinculado a cada objeto criado.

Eu cheguei olhar todos esses links antes, mas sem nenhum sucesso.

Para que cada instância do objeto receba um tag diferente, você deve criar uma propriedade no objeto para isso. Os artigos do KB que passei explicam isso.

Para enviar o comando para o Tag associado ao clicar no objeto, você pode fazer um script no evento Click do mesmo. Ou então, se você utilizar um ToggleButton, basta associá-lo ao Tag (através da propriedade criada no objeto).

Obs: recomendo criar um XObject para a parte de dados (Tags) e deixar o XControl apenas para a parte visual (conexão com XObject).

Obrigado pela ajuda, vou tentar fazer o passo a passo. A minha maior dificuldade com o E3 é justamente script, não faço ideia de como começar e do que escrever.
Eu fiz o curso de desenvolvedores na empresa, assim que ela pegou a licença do E3, mas ainda preciso estudar mais.

Bom dia @Reicamara Reicamara

Se entendi bem o que quer é…

Ao clicar em um determinado equipamento ele vai ligar/desligar, certo?!

  1. Configurei as tags no Driver Modbus

  2. Criei um XObject com o nome “BombaDados”, e as propriedades
    ComandoOnOff = refere ao bit de comando, essa é uma tag do driver
    Tag - é nome do equipamento

  1. Instanciei esse XObject, ou seja, criei “filhos” dele.
    Cada um desses filhos irá representar um equipamento.

Lembre de fazer a associação para todos os equipamento

  1. Para que o usuário consiga operar a bomba é preciso criar um XControl, essa é a parte visual, e onde conseguiremos acessar as propriedades o XObject.
    Simulei duas situações…

    4.1 O operador clica na bomba ela vai ligar/desligar, de acordo com o último estado.
    BombaToogle

Quanto ao comentário “<A minha maior dificuldade com o E3 é justamente script, não faço ideia de como começar e do que escrever.>” Como começar… pelo inicio rsrs

Comece pelo que precisa. Se ao clicar na imagem a bomba deve ligar/desligar, já sabemos que é no evento Click da imagem que o script deve ser feito.

4.2 Com uso de botão ON/OFF
BombaBotaoOnOff
ON = Recebe 1 para ligar bomba
OFF= Recebe 0 para desligar bomba

Observe que agora ao clicar na bomba nada acontece, porque o script foi feito no botão. Mas veja que a lógica é a mesma.

Na tela insira o XControl BombaToogle e na propriedade “Dados” aponte para o equipamento desejado.

Abaixo tem o link dessa aplicação.

Espero que isso te ajude. Att

2 Likes

Eita, presente de natal adiantado. Obrigado pela ajuda @Shay. Eu estou usando o HighPerformance, vou aqui testar esse todo trabalho que você teve me ajudando, daqui a pouco eu volto agradecendo ou chorando haha

O meu está dando erro. A única diferença do seu para o meu, é que no meu XControl não uso figura, mas linhas agrupadas e essas linhas estão associadas com um tag do tema, conforme o HP, mas enfim.
Aparece esse erro:
ScreenShot_20191202140743
E meu XObject em Dados não é reconhecido

ScreenShot_20191202141112
ScreenShot_20191202141225
ScreenShot_20191202141122
ScreenShot_20191202141424

@Reicamara

Não conheço muito bem a High Performance, ainda estou treinando nela.

Esse erro de script é porque não foi encontrado objeto.
Observei que inseriu a instância direto na pasta dados, a cor do link fica em vermelho. O Studio não reconhece esse caminho.

Na minha aplicação também tive esse erro.

Precisei criar uma nova pasta, Dados1, e coloquei as instâncias dentro.

Ahh não me agradeça, ainda, quando receber a PL a gente conversa srsrs

Era justamente esse o erro. Obrigado por essa linda ajuda <3
Estamos treinando no HP, se precisar também posso te ajudar, sei pouco, mas estamos ai.

@Reicamara

As ordens.

No mento não tenho dúvidas, mas se tiver videos da HP agradeço.

Vídeos eu não tenho, porque existe pouco conteúdo sobre o HP na internet. Só tem um Webnar falando sobre o HP no canal da Elipse, infelizmente. Eu estou aprendendo o Elipse junto do HP, e uso a aplicação Demo como fonte de pesquisa, além do manual, claro.

Estou desenvolvendo essa tela, são várias áreas para desenvolver e essa é a menor de todas.

Bacana, vamos torcer para vir mais coisas da HP.

Estou aprendendo, HP, pelo manual também. Mas aqui , já trabalho com o E3 a algum tempo se precisar só falar.