quarta-feira, 25 de maio de 2011

Modelo de Comunicação Elipse E3

Informações preliminares
As informações preliminares para os drivers Elipse são praticamente as mesmas para o Scada e o E3. Vale lembrar a diversidade de versões incompatíveis entre si, a documentação externa ao driver (se você for descuidado e tiver que retornar ao projeto depois de meses pode ter problemas), a cobrança por licença de driver, entre outros tópicos não muito abonadores. Pelo lado positivo, a diversidade de drivers para equipamentos nacionais é grande, assim como as de uso comum de origem estrangeira.

Configuração de Drivers
Para iniciar, é necessário criar um projeto, um domínio e etc, como etapas anteriores à instalação de um novo driver. Depois, é só selecionar Objetos de Dados e no grupo Drivers e OPC, clicar com o botão direito e ir para "Inserir driver de comunicação em", selecionando o projeto onde o driver será instalado. Vamos lembrar que no E3 o ente que agrega um ou mais projetos se chama domínio (é o domínio quem é executado e por consequência, seus projetos). 
A janela de localização de drivers será exibida, para que se selecione onde está o arquivo .dll correspondente ao protocolo desejado. 
Figura1: Adição de Novo Driver no Elipse E3
Feita a inserção e localização do driver, será criado o driver no projeto indicado. Se necessário, é possível alterar a localização do driver a partir da propriedade Driver Location, na janela de propriedades do E3 Studio.  

Figura 2: Alteração do driver ou de sua localização - DriverLocation
Partindo desse ponto, a configuração do driver é idêntica à mostrada no artigo sobre o Elipse Scada (aqui), sendo útil acompanhar essa informação por aquele post. 

Configuração de Tags
A parte que diferencia o Elipse E3 do Scada é a configuração de tags: não pelos drivers (que são compatíveis) ou pelas tags que precisam ser configuradas de modo bem parecido (estão lá os parâmetros P1 a P4, os tipos de tags, etc). Mas sim pelos recursos do Elipse E3 Studio. Toda a configuração de tags pode ser feita de modo centralizado e isso traz uma série de vantagens ao se pensar em tempo de desenvolvimento. 

A janela de configuração de tags é mostrada abaixo, e depois dela são apresentadas algumas discussões sobre seus recursos. 
Figura 3: Janela de Configurações de Tags
A janela de configuração de tags permite que eu comente:
- Os tags são desenvolvidos em uma planilha (inclusive, podem ser importadas de um Excel). Nessa planilha, todas as características relacionadas a endereços, permissões de escrita ou leitura, escalas e varredura são apresentadas no modo de edição;
- Os tags no Elipse E3 são configuráveis tanto nos blocos como nos tags individuais. É possível nomear qualquer endereço acessado no PLC;
- Não é possível nomear bits! É isso mesmo: se você economizar tags e acessar uma Word para usar seus 16 bits, eles não serão nomeados. Você terá que se lembrar que o bit00 é o botão de emergência, sempre! 
- Na área de botões da planilha, é possível adicionar novos tags, eliminá-los, configurar o driver, usar um "tag browser" (algo que funciona apenas para alguns drivers recentes), habilitar a comunicação e contar o número de tags desse driver. 
- Acessando o botão de configurar driver, você terá as opções de parametrização descritas no artigo sobre o Elipse Scada, já citado aqui; 
- Ao habilitar a comunicação, a planilha se modifica e passa a exibir o resultado da comunicação com os equipamentos a serem acessados pelo driver. Dessa maneira, é possível verificar se a comunicação está ok (tags em azul), se há falhas em algum tag (em vermelho) ou se a comunicação falhou com todos os tags. O E3 usa uma designação de status semelhante ao OPC, com valores entre 0 e 255, no parâmetro Quality; 

E persiste a dúvida: se não é possível acessar os bits de uma palavra com um nome próprio, pelo menos como podemos acessar esses bits? A janela abaixo mostra como realizar essa configuração. 
Figura 4: Janela de Propriedades do Tag
A janela acima mostra algumas informações importantes: 
- O parâmetro UseBitFields mostra se o tag permitirá ou não o acesso ao seus bits (se estiver false, qualquer acesso aos bits será mostrado como errado);
- O parâmetro AdviseType é importante para sintonizar a comunicação: ele indica se o tag será lido sempre ou apenas quando estiver em tela. Para bits, o normal é usar o valor 0-Always em Advise, pois eles poderão ser usados em alarmes, scripts ou objetos de servidor sem correr o risco de se perderem variações de status;
- O parâmetro EnableDeadBand é utilizado para que o timestamp do tag seja alterado apenas quando houver variação de valor. Isso era importante para sistemas que eram executados em computadores com limitações de desempenho, algo difícil de encontrar hoje. Além disso, para sistemas de medição e contabilização, por exemplo, é um desastre: se você não desabilitar esse parâmetro, vários valores serão perdidos, pois o consumo pode não variar por longos períodos de tempo (ou por vários ciclos seguidos). Fique atento!

Bem, já habilitamos a leitura dos bits, mas como acessá-los? É o que mostra a figura abaixo.
Figura 5: Acessando bits de uma word
Como é possível notar, é possível acessar todas as propriedades do tag (que foram configuradas na planilha de tags) e também os até 32 bits possíveis de um endereço (isso varia conforme o driver, o protocolo, o equipamento e a configuração do endereço), sem que seja possível dar nomes a eles. 
Esse acessos servem tanto para escrita quanto para leitura, desde que o tag esteja configurado para leitura ou escrita. 

Vantagens do Modelo Elipse E3
- A construção da planilha de tags em um único ambiente é interessante. Você consegue construir os tags, testar a comunicação e setar parâmetros em uma mesma janela. Isso agiliza eventuais correções e testes;

Desvantagens do Modelo Elipse E3
As desvantagens são basicamente as mesmas já citadas no artigo sobre o Elipse Scada:
- Drivers implicam em custos adicionais à licença de runtime;
- 3 Categorias distintas de drivers trazem ainda mais custos, quando se utilizam equipamentos de marcas top do mercado (como Siemens e Rockwell/Allen Bradley);
- Dependendo do projeto e da negociação, uma licença de drivers pode liberar até 4 drivers para execução: isso não é muito transparente para o usuário;
- Modelo baseado em parâmetros N1 a N4 implica em codificar ou decodificar o endereço recebido pelo PLC antes de implementar a comunicação;
- Não é possível criar tags bit: uma palavra tagueada pode ter seus bits acessados através dos nomes bit00 a bit31 (o que convenhamos, é muito intuitivo para o desenvolvedor);
- Excesso de padrões de configuração implica em ter de aprender cada driver e seus truques quando se vai iniciar um projeto novo. São pelo menos três modelos: drivers básicos com o SDK, básicos que usam o módulo IOKit e drivers especiais (alguns com IOkit e outros ainda com o SDK);
- Por ficarem "livres" no HD, é possível que falte o arquivo do driver no momento de transportar o projeto de um micro a outro. Fácil de resolver em ambiente de escritório, pode ser bem enrolado para resolver em campo;
- Drivers mais recentes (os baseados no IOKit) só acessam um canal de comunicação por vez (uma porta serial, um endereço IP) o que exige a criação de mais de um driver para projetos mais complexos;
- A formatação de endereços em códigos P1 a P4 torna qualquer manutenção ou mesmo o desenvolvimento pouco amigáveis: é necessário decodificar cada endereço ao tentar entender de onde vem aquela seqüência de tags medida1 a medida200 que o pessoal do PLC te passou como sendo a documentação do projeto. 

Nenhum comentário:

Postar um comentário