Descrição:
Como posso criar um XObject “genérico”, que contenha o driver Modbus e onde possam ser configurados o endereço IP e a porta de comunicação Ethernet sempre que este objeto for instanciado?
Solução:
Para isto, crie um XObject e adicione um driver Modbus dentro dele.
Neste driver, configure o driver para que ele inicie OFFLINE, nas Configurações Extras do driver, aba Setup, opção Start driver OFFLINE. Configure também a comunicação como Ethernet.
Dentro do XObject, crie duas propriedades: IP (String) e Porta (Integer). No script do evento AfterStart do driver de comunicação, atribua o valor destas duas propriedades para as propriedades correspondentes do IOKit:
- IO.Ethernet.MainIP: Tag que contém o endereço do IP
- IO.Ethernet.MainPort: Tag que contém o endereço da Porta
Por último, já que o driver inicia em offline, deve-se iniciá-lo atribuindo o valor 1 (um) para o tag IO.WorkOnline do IOKit. O script fica assim:
Item("IO.Ethernet.MainIP").Value = Parent.IP
Item("IO.Ethernet.MainPort").Value = Parent.Porta
Item("IO.WorkOnline").Value = 1
NOTA: Aplicação exemplo em anexo foi feita utilizando o Elipse E3 3.1 Build 270.