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.
1. 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.
1.1. 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
2. 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.
2.1. 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.
2.2. 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;
2.3. 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 à medida do necessário se for visto que a perda de informações entre Client-Server for comum.
2.4. 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 items: 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.
2.5. 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 Tunneller 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á com 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
3. BluePlant
O BluePlant é 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 o 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 seguida, 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.
Comentários
0 comentário
Por favor, entre para comentar.