NAP151 - Utilização do Tunneller OPC

Neste documento será descrita a utilização de um programa Tunneller para conexão OPC sem a necessidade de uma conexão DCOM. O protocolo OPC usa tecnologia COM/DCOM da Microsoft para funcionar, ou seja, os tipos de dados são tipos de dados definidos pela Microsoft, as call-backs chamadas são call-backs do Microsoft Windows, etc.

Para usar um Servidor OPC remoto é necessário configurar no sistema operacional a liberação de alguns recursos nos dois lados da conexão. Estas configurações dependem muito da versão Windows, direito de acesso do usuário, etc.

O programa Tunneller é uma camada de abstração para isso. Ou seja, a ferramenta é instalada e não é necessário que o usuário se preocupe com configurações COM/DCOM, o acesso remoto irá funcionar perfeitamente e de forma simples. O programa Tunneller utilizado neste documento será o MatrikonOPCTunneler.

Um programa Tunneler tem como principal objetivo realizar uma conexão entre o servidor OPC e estações clientes, fazendo com que todos os clientes recebam a mesma informação de uma variável que se deseja monitorar no Sistema. Os seguintes equipamentos e softwares foram utilizados para desenvolvimento deste documento:


  • Fonte de Alimentação NX8000 da Série Nexto;
  • UCP NX3010 Série Nexto da Altus com versão de firmware 1.5.0.10;
  • Bastidor de 12 posições NX9001 da Série Nexto;
  • Software de programação MasterTool IEC XE versão 2.01 disponível para download no site da Altus (www.altus.com.br).
  • Software SCADA BluePlant versão 2012.1.61 disponível para download no site da Altus (www.altus.com.br).
  • Software Matrikon OPC Tunneller versão 5.0.0.0 disponível para download no site da Matrikon (www.matrikonopc.com/).


A arquitetura utilizada para o teste é demonstrada na figura a seguir.

 

Figura 1 – Arquitetura OPC para uso de Tunneller

A seguir serão descritos os passos e configurações necessárias de cada programa para que uma conexão Tunneller seja bem-sucedida.


Configuração da Aplicação no MasterTool

Após instalado o MasterTool IEC XE na Estação de Engenharia, crie um projeto para o modelo de UCP NX3010 usando o Wizard. A POU MainPrg deve ser criada em linguagem ST para o correto funcionamento do código apresentado a seguir. Após o projeto criado, selecione a POU MainPrg abrindo a mesma com o editor de código. Adicione o código abaixo na declaração de variáveis da POU.

PROGRAM MainPrg
VAR
X : ARRAY[0..99] OF BOOL;
Y : ARRAY[0..99] OF INT;
END_VAR

No corpo da POU adicione o seguinte código para variar os valores de algumas variáveis a serem monitoradas no Software SCADA. 

Y[0] := Y[0] + 1;
X[0] := Y[0].4;
Y[99] := Y[99] + 8;
X[99] := Y[99].4;

Clique com o botão direito sobre o objeto Application na Treeview do projeto e selecione Acrescentar Objeto e depois Symbol Configuration. Abra o objeto Symbol Configuration, pressione o botão Compilar e selecione as variáveis conforme a figura abaixo.

 

Figura 2 – Symbol Configuration

Configure a NET1 da UCP na treeview do projeto conforme a configuração de rede Ethernet da NX3010. Execute um Login na UCP carregando a aplicação criada. Após a finalização do Login passe a UCP para RUN.


Configuração do Servidor OPC

A configuração do Servidor OPC é realizada dentro do MasterTool IEC XE. Ela não precisa ser feita no mesmo computador onde a aplicação foi criada, mas na arquitetura utilizada nesta documentação a Estação de Engenharia e o Servidor OPC estão no mesmo computador. Para poder salvar as configurações do Servidor OPC é necessário executar o MasterTool IEC XE como Administrador.

Na aba Comunicação será necessário configurar o OPC na opção Configuração OPC. No Nome utilize algo que represente a conexão, ou seja, para que a mesma serve. Se o projeto não possuir redundância de comunicação selecione a opção Usar Driver Bloqueante TCP/IP para determinar o endereço do CLP no Endereço de IP Ativo. Se for redundante, selecione a opção Configuração Redundante e configure os campos Endereço de IP do CP A e Endereço de IP do CP B com o endereço de cada CLP. A seguir é apresentada uma tela com a configuração neste documento.

 

Figura 3 – Configuração do Servidor OPC no MasterTool


MatrikonOPC

Após realizar o download do MatrikonOPC Tunneller (link disponível na Introdução) será possível instalar tanto o MatrikonOPC Server-side quanto o Client-Side. Através da instalação personalizada será possível escolher a versão necessária para o computador.

A versão Server-side deverá ser instalada na Estação de Engenharia, enquanto o Client-side será instalado na Estação de Supervisão.

Nos tópicos a seguir será descrito a configuração e o funcionamento do Client-side, que necessita ser configurado, e do Server-side, que só necessita ser instalado.


Server-Side

Instale na Estação de Engenharia o MatrikonOPC Tunneller Server-Side. Após a instalação, o mesmo já estará pronto para ser conectado pelo lado Client.

Não é necessário configurar nada para que a conexão seja realizada, porém os valores podem ser modificados para melhorar a conexão entre os lados da conexão. Na aba Security Mode existem as permissões e encriptação da conexão para que não haja interferência externa, estas configurações são pessoais e devem ser feitas com muito cuidado, não serão descritas, pois não é o objetivo deste documento.

Na aba Advanced (Ver imagem a seguir), são configurados os tempos de conexão e comunicação entre PLC, Server e Client, a seguir a descrição das áreas importantes da aba Advanced:

 

Figura 4 - Aba Advanced do Server-Side

Após realizar a configuração de cada um dos blocos conforme descrito nas seções a seguir o Server-Side deve ser fechado.


Bloco Logging

Neste bloco é definido se será gerado log sobre a conexão do Server com as máquinas Client.

  • Max File Size, KB: Tamanho máximo do arquivo em KB;
  • Level: nível de controle do log;
  • Log to Screen: Mostrar o log na tela durante a geração do mesmo;
  • Overwrite Old File: Se selecionado, o arquivo anterior será alterado para o nome tunneler.log.bak como backup e será substituído sempre que um novo log for gerado;
  • Commit All Log File Writes: Se selecionada, as informações serão salvas em disco a medida que forem sendo geradas ao invés de permanecerem em cache até o final do log. Isto deixará o Tunneler lento;


Bloco Communication

Bloco importante sobre as tentativas de comunicação Server-Client.

  • Port Number: Número da porta para a conexão entre o Server e o Client;
  • Timeout, Sec: Tempo limite da comunicação em segundos;
  • Retries: Número de tentativas após perda de comunicação;
  • Maximun Size of Queue, messages: Número máximo de mensagens de saída na fila de mensagens de comunicação;

Estes valores podem ser alterados a medida do necessário se for visto que a perda de informações entre Client-Server for comum.


Bloco Connection to OPC Server

Este bloco se refere à configuração do timeout da sessão (Session Timeout) depois de uma conexão bem-sucedida entre Server-Client. Usado quando uma falha de comunicação ocorre, é o tempo de espera antes de encerrar a conexão. 

  • Session Timeout, sec: Usado quando uma falha de comunicação ocorre. Durante este período a conexão ao OPC Server não é desfeita. Quando o Client reconecta a sessão é reutilizada fazendo com que a recuperação não demore.
  • Delay After Connection, ms: Define o tempo de espera depois da conexão com o OPC Server, antes que o Server-side comece a criar grupos e operações similares;
  • Delay After Adding of DA Group, ms: Define o tempo de espera depois de adicionar um grupo ao OPC DA Server, antes que o Server-side comece a adicionar tags a esses grupos e operações similares;
  • Deactivate DA Group at adding of itens: Desativa o Grupo DA antes de adicionar itens, e ativa depois de adicionar.
  • Force DA 1: Força o uso de interfaces de DA 1 em conexão com o servidor OPC DA.
  • Only One Connection: se marcada, determina que somente uma conexão por cliente pode ser realizada usando o mesmo id de usuário, o que pode gerar problemas se várias conexões forem feitas utilizando o mesmo Login (ocorre quando há número limitado de licenças);

Recomendado utilizar a Only One Connection desmarcada para que não haja problemas com número de licenças.


Client-Side

Instale na Estação de Supervisão o MatrikonOPCTunneler Client-Side. Após a instalação será necessário configurar em qual server será conectado o mesmo. 

Após abrir o Tunneler Client-Side, clique no primeiro botão à esquerda (ver imagem a seguir), na tela que abrir. Será necessário selecionar o nome do computador que possui o Server (Estação de Engenharia) e ajustar a Port Number para a mesma que foi colocada no Server. 

 

Figura 5 – Criando Conexão no Client-Side

As configurações a seguir serão válidas para todas as conexões fornecidas pelo Server, mas podem ser alteradas individualmente depois de realizar a conexão. 

Processing Timeout: é o tempo de espera de uma solicitação até considerar a mesma como falha. Communication Timeout é o tempo que o mecanismo de comunicação de rede vai tentar mandar uma solicitação ou receber do Server antes de considerar como falha. 

Communication Retry Attempts: é recomendado selecionar Retry Forever, assim sempre haverá tentativa de comunicação com o servidor.

Após adicionar a conexão, surgirão as possíveis conexões, a que será utilizada para o supervisório é o que possui a seguinte forma: Tunneler::CoDeSys.OPC.DA. Ao clicar na mesma será possível alterar os campos descritos anteriormente.

Pressione o botão Unregister nos itens que não forem o OPC.DA. Isso fará que apenas os drivers que se deseja acessar estejam disponíveis para o cliente OPC. 

 

Figura 6 - Configuração da Conexão no Client-Side


BluePlant

O Blue Plant é o programa utilizado na Estação de Supervisão e executa a supervisão dos pontos carregados na aplicação do CP.

Após realizar um Connect na aba Server e criar o projeto no BluePlant na aba Projects, deve-se ir Edit, Devices

 

Figura 7 - Menu do BluePlant


Na aba Channels adicionar um canal clicando no botão Create New, no primeiro campo, selecionar o Protocol OPCXmlDa, nos outros campos o usuário coloca do nome do canal e sua descrição.

 

Figura 8 – Criando Channel OPC no BluePlant


Depois de adicionar um canal, clique na aba Nodes, pressione o botão New, selecione o canal criado, de um nome e uma descrição ao mesmo e clique em OK. O nodo criado aparecerá na lista abaixo, em PrimaryStation, clique na seta e configure o Service URL, nele deve possuir o nome padrão de CoDeSys.OPC.DA descrito no Client Side

 

Figura 9 – Configurações da Conexão OPC no BluePlant

Depois de adicionar e configurar o Node, clique em Import ao lado de New, selecione as variáveis que serão monitoradas e clique em OK. Pode ser necessário apertar em Refresh,

 

Figura 10 – Importando Tags OPC no BluePlant

Estas variáveis que foram selecionadas devem estar aparecendo na aba Points e em Tags > Objects.

 

Figura 11 - Aba Points

 

Figura 12 - Tags > Objects

Agora já é possível executar um teste em Run > Test e verificar as variáveis através do Property Watch, só é necessário adicionar o item à lista da Property Watch, escrevendo: Tag.. Em irá aparecer a lista de variáveis adicionadas ao projeto.

 

Figura 13 - Run > Test, selecionar Property Watch

 

Figura 14 – Property Watch

Tags adicionadas na Property Watch, em casos como o exemplo usado com arrays, deve-se colocar a posição a ser monitorada. A Property Watch é a maneira mais fácil de verificar se a comunicação está funcionando.


Ficou com dúvidas? Então clique no botão abaixo e fale com a gente!

ENVIE SUA DÚVIDA

Esta publicação foi relevante para você? Avalie o material para que possamos continuar melhorando.

Clique para gravar a avaliação
Gostou? Então compartilhe



Assine nossa newsletter e saiba tudo sobre automação!

Receba novidades sobre o mercado da automação, nossas soluções e as ações mais recentes envolvendo a Altus diretamente no seu e-mail.