Usando Bibliotecas no Elipse E3: Lição 7.

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:

  1. Configure a opção Start driver Offline na caixa de diálogo Extras do Driver. Assim, o Driver irá iniciar offline.
  2. 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.
  3. 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:

  1. Insira um novo XObject na Biblioteca, nomeando-o DadosNivel.
  2. Insira um objeto Driver de Comunicação no XObject DadosNivel.
  3. Configure o Driver para comunicar com um equipamento.
  4. Insira um Tag de Comunicação e configure-o para ler um endereço de memória do equipamento.

Figura 1

  1. Teste a conexão e certifique-se que está funcionando.
  2. Insira as propriedades conforme a figura a seguir:

 

Figura 2

  1. 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
  1. Na aba Setup, marque a opção Start driver OFFLINE.
  2. 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 do DadosTanque.

 

Figura 3

  1. Salve e registre a Biblioteca.
  2. Na pasta Dados, insira um objeto DadosNivel chamado Tanque1. Configure as propriedades IP e Address conforme o seu equipamento.


 

Figura 4

  1. Na tela, insira um Display e associe-o à propriedade Nivel.Value do objeto Tanque1.


 

Figura 5

  1. 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


Anexos:

ProjetoBibliotecas_7.zip

Este artigo foi útil? Was this post helpful?
Yes0
No0

Deixe seu Comentário

Seu endereço de e-mail não será publicado. Campos marcados com asterisco são obrigatórios *