Driver inserido em XObject
Sugerimos que objetos Driver só sejam inseridos em um XObject se eles possuírem configurações em comum, como por exemplo a estrutura dos tags.
Caso seja necessário alterar alguma configuração de comunicação do meio físico (porta serial, IP, telefone), deve-se usar o IOKit, que permite modificar qualquer propriedade de diálogo do driver em runtime.
Esse capítulo utiliza um simulador Modbus como equipamento de comunicação.
IOKit
O IOKit é um componente compartilhado utilizado pelos Drivers da Elipse que implementa o acesso padrão do nível físico e proporciona interfaces para Serial, Modem, Ethernet e RAS.
Atualmente, o IOKit permite que apenas uma conexão seja aberta para cada Driver. Dessa forma, se for necessário acessar duas portas seriais, devem ser adicionados dois Drivers na aplicação, e cada um deles deve ser configurado para cada uma das portas seriais.
Para alterar algum parâmetro de comunicação, siga esses passos:
- Configure a opção Start driver Offline na caixa de diálogo Extras do Driver. Assim, o Driver irá iniciar offline.
- Configure os parâmetros do Driver em um script da aplicação. O script pode ser executado automaticamente ou de acordo com uma solicitação do usuário.
- Configure o Driver para online.
DadosNivel
O Driver de Comunicação deve ser inserido dentro de um XObject, receber as informações de IP Address (ID) do equipamento ao iniciar a aplicação, e retornar o valor do nível:
- Insira um novo XObject na Biblioteca, nomeando-o
DadosNivel
. - Insira um objeto Driver de Comunicação no XObject
DadosNivel
. - Configure o Driver para comunicar com um equipamento.
- Insira um Tag de Comunicação e configure-o para ler um endereço de memória do equipamento.
Figura 1
- Teste a conexão e certifique-se que está funcionando.
- Insira as propriedades:
Figura 2
- Para passar as configurações do equipamento para o Driver, insira o seguinte script no evento AfterStart do Driver:
'Parâmetros de configuração Dim arr(2) arr(1) = Array("IO.Ethernet.MainIP", Parent.IP) arr(2) = Array("ModiconModbus.DefaultSlaveAddress", Parent.Address) Write -1, 0, 0, 3, arr 'Online Write -1, 0, 0, 4, 1
- Na aba Setup, marque a opção Start driver OFFLINE.
- Para acessar todas as propriedades do Tag
Nivel
na aplicação, associe o Tag de Comunicação à propriedade do XObject do tipo IOTag. Arraste o Tag de Comunicação até o campo Valor inicial da propriedade Nivel doDadosTanque
.
Figura 3
- Salve e registre a Biblioteca.
- Na pasta Dados, insira um objeto DadosNivel chamado
Tanque1
. Configure as propriedades IP e Address conforme o seu equipamento.
Figura 4
- Na tela, insira um Display e associe-o à propriedade Nivel.Value do objeto
Tanque1
.
Figura 5
- Execute a aplicação e teste as novas funcionalidades.
Compartilhamento de Driver
Devem-se ter alguns cuidados em relação à estrutura física dos equipamentos.
Estrutura 1
Na primeira estrutura, temos três equipamentos, cada um com um IP diferente.
Figura 6
Nesse caso, devemos ter três drivers fazendo a conexão com cada endereço IP. Cada conexão precisará de um produto de driver na hardkey.
Estrutura 2
Na segunda estrutura, temos três equipamentos em uma rede 485, onde cada um é identificado pelo ID (Address). Eles são conectados ao computador através de um conversor RS485/Ethernet.
Figura 7
Nesse caso, precisamos de um driver conectado ao IP do conversor, e todos os equipamentos irão trocar informações através desse canal.
Com o Driver inserido dentro do XObject, temos um Driver para cada XObject instanciado (por exemplo, Tanque1
, Tanque2
, Tanque3
) de modo que o primeiro equipamento será conectado, e os próximos equipamentos tentarão conectar e encontrarão o IP ocupado.
Para que seja criada apenas uma conexão com o conversor, precisamos compartilhar o driver. Para isso, habilite a propriedade ShareServer do Driver e configure a propriedade ShareMaximum para o número de equipamentos que podem utilizar esse compartilhamento.
ShareServer
Se a propriedade ShareServer estiver configurada para True, o Driver irá compartilhar sua execução entre os demais objetos Driver de Comunicação que possuam o mesmo string em DriverLocation. Isto implica que somente o primeiro Driver de Comunicação configurado executará a inicialização da comunicação. Todos os demais objetos Driver de Comunicação compartilhados ignorarão todos os parâmetros de configuração.
Artigos Relacionados
- Usando Bibliotecas no Elipse E3: Introdução.
- Usando Bibliotecas no Elipse E3: Lição 1.
- Usando Bibliotecas no Elipse E3: Lição 2.
- Usando Bibliotecas no Elipse E3: Lição 3.
- Usando Bibliotecas no Elipse E3: Lição 4.
- Usando Bibliotecas no Elipse E3: Lição 5.
- Usando Bibliotecas no Elipse E3: Lição 6.
- Usando Bibliotecas no Elipse E3: Lição 8.