Como Usar Servidores de Descoberta Local OPC UA para Registro Eficiente de Servidores e Conexão de Clientes
Servidores de descoberta permitem que clientes OPC UA obtenham detalhes sobre um ou mais servidores OPC UA a partir de um único ponto.
Existem dois tipos de servidores de descoberta OPC UA:
- Local Discovery Servers (LDS)
- Global Discovery Servers (GDS)
Este artigo mostra como registrar um servidor OPC UA com um LDS e como um cliente OPC UA pode usar esse LDS para conectar ao servidor OPC UA.
Introdução
Como o nome sugere, um Local Discovery Server (LDS) pode rodar no mesmo dispositivo que um ou mais servidores OPC UA. Por exemplo, é possível instalar um ou mais servidores OPC UA em um dispositivo PLCnext Control, junto com o servidor OPC UA incluído no PLCnext Runtime. Se um LDS também estiver instalado nesse dispositivo, todos os servidores OPC UA nele podem registrar-se no LDS. Então, um cliente OPC UA remoto pode simplesmente consultar o LDS pelos detalhes de todos os servidores OPC UA rodando naquele PLCnext Control e usar esses detalhes para conectar diretamente a um ou mais deles.
De forma um tanto confusa, também é possível que um servidor OPC UA registre-se em um LDS rodando em uma máquina remota. Assim, um único LDS pode ser usado por um cliente OPC UA para descobrir todos os servidores OPC UA rodando em uma rede inteira de dispositivos.
Há uma boa introdução a servidores de descoberta OPC UA neste artigo da Unified Automation:
https://documentation.unified-automation.com/uasdkdotnet/2.5.2/html/L2UaDiscoveryConnect.html
Pré-requisitos
Antes de seguir os passos, você deve entender:
- Configuração básica de servidor OPC UA.
- Como conectar cliente ao servidor OPC UA em dispositivo PLCnext Control.
- Como certificados de segurança são armazenados e gerenciados em dispositivo PLCnext Control.
Procedimento
Para este exemplo, a configuração de rede é:
OPC UA Server: AXC F 2152 FW 2020.6.1 IP: 192.168.1.10 DNS: axc-f-2152-1
Local Discovery Server: Windows 10 PC IP: 192.168.1.42 DNS: mypc.mycompany.com
OPC UA Client: Debian 10 PC IP: 192.168.1.3
Estes IPs e nomes DNS serão usados ao longo do artigo, mas adapte para sua aplicação.
Configurar nomes DNS
Se sua rede não tem servidor DNS, edite o arquivo hosts em cada dispositivo.
O arquivo hosts está em:
- Windows:
C:\Windows\System32\drivers\etc\ - Linux:
/etc/
Adicione as entradas DNS (substitua IPs e nomes para sua aplicação):
No PLC, adicione o LDS:
192.168.1.42 mypc.mycompany.com
Na máquina LDS, adicione o PLC:
192.168.1.10 axc-f-2152-1
Na máquina cliente OPC UA, adicione tanto LDS quanto PLC:
192.168.1.42 mypc.mycompany.com
192.168.1.10 axc-f-2152-1
Verifique se todas as entradas estão corretas dando ping nos nomes DNS (não IPs) configurados em cada dispositivo.
Instalar Local Discovery Server
A OPC Foundation fornece LDS como executável Windows. Baixe gratuitamente (após registro) em:
Baixe e instale este LDS na máquina Windows.
Instalar cliente OPC UA
Este exemplo usa UaExpert da Unified Automation:
https://www.unified-automation.com/products/development-tools/uaexpert.html
Baixe e instale UaExpert na máquina cliente OPC UA.
Localizar certificados
Os componentes OPC UA – Servidor, Cliente e LDS – precisam confiar uns nos outros para comunicação segura. A confiança é obtida trocando certificados públicos – ou seja, colocando o certificado público de cada componente no "trust store" dos componentes que precisam confiar nele.
Você encontra o certificado público de cada componente assim:
Servidor OPC UA
O certificado do dispositivo está na Identity Store "OPC UA-self-signed" por padrão. Será diferente se usar seu próprio certificado.
O certificado do servidor OPC UA pode ser baixado da página Web Based Management do PLC. Deve ser convertido de PEM para DER para uso pelos outros componentes. Ferramentas gratuitas incluem o openssl linux. Exemplo de comando bash:
openssl x509 -outform der -in "OPC UA-self-signed_certificate.crt" -out uaserver.der
Servidor LDS
Por padrão, o certificado do LDS está em:
C:\ProgramData\OPC Foundation\UA\pki\own\certs\ualdscert.der
Cliente OPC UA
- No UaExpert, menu Settings -> Manage Certificates.
- Clique em "Copy Application Certificate To...".
- Salve o certificado em local acessível.
Copiar certificados para Trust Stores
Copie cada certificado (formato .der) para os trust stores dos outros dois componentes.
Trust stores localizam-se em:
Servidor OPC UA (PLC)
Pasta /opt/plcnext/Security/TrustStores/Empty/trusted
LDS
Pasta C:\ProgramData\OPC Foundation\UA\pki\trusted\certs
Cliente OPC UA (UaExpert)
- No UaExpert, Settings -> Manage Certificates.
- Clique "Open Certificate Location". Este é o trust store do UaExpert.
Verificar firewalls
No mínimo, verifique se o firewall do servidor LDS permite tráfego na porta 4840.
Configurar servidor OPC UA no PLCnext Engineer
No PLCnext Engineer, na janela de configuração OPC UA:
- Verifique se:
- O nome DNS é o mesmo configurado anteriormente.
- "Visibilidade de variáveis" não é "Nenhuma".
- Habilite Discovery Registration
- Defina Server URL como
opc.tcp://mypc.mycompany.com:4840(substitua pelo DNS do seu LDS)
Grave o projeto PLCnext Engineer no PLC.
O PLC tentará registrar automaticamente o servidor OPC UA no LDS.
Descobrir e conectar ao servidor OPC UA
- No UaExpert, clique no botão + (mais) na barra de ferramentas.
- Clique com botão direito no ramo "Local" da árvore e selecione "Edit Discovery URL".
- Na caixa de texto, insira
opc.tcp://mypc.mycompany.com:4840(substitua pelo DNS do seu LDS) e clique OK.
O servidor OPC UA deve aparecer no ramo Local da árvore. Agora você pode usar estes detalhes para conectar ao servidor OPC UA normalmente.
Solução de problemas
- Log do LDS:
C:\ProgramData\OPC Foundation\UA\Discovery\opcualds.log. Pode alterar LogLevel (e outros parâmetros) emC:\ProgramData\OPC Foundation\UA\Discovery\ualds.ini.LogLevel = debugdá log mais detalhado. Após alterar configurações, pode ser necessário reiniciar LDS no console "Serviços" do Windows. Nome de exibição: "OPC UA Local Discovery Server". - O LDS pode retornar URL do servidor OPC UA com
.local.anexado ao nome DNS. Este DNS deve ser resolvível por servidor mDNS multicast. Se não resolvível, erro com a URL aparece no log do UaExpert. Instalação/configuração de servidor mDNS para resolver sufixo.local.está fora do escopo deste tutorial.
Conclusão
Obviamente não há muito benefício em usar LDS quando há apenas um servidor OPC UA na rede. Mas para redes com grande número de servidores OPC UA, um LDS fornece forma conveniente de navegar e conectar a esses servidores.
Tecnologia industrial
- Entendendo Variáveis Globais, Locais e Nonlocal em Python
- Solução IoT da Discovery Transforma Gestão da Cadeia de Suprimentos
- Entendendo Escopo de Variáveis em C++: Variáveis Locais vs Globais
- Java 10 em Foco: Dominando a Inferência de Tipo de Variável Local com var
- Por Que Fazer Parceria com um Fabricante Metálico Local Aumenta Confiabilidade e Custo-Efetividade
- Domine a Fase de Descoberta: Por Que Ela Impulsiona o Sucesso em Projetos de Desenvolvimento
- Controle de Produção Local vs. Global: Qual Sistema Impulsiona a Eficiência
- Estratégias Comprovadas de SEO para Empresas B2B Impulsionarem Visibilidade e Crescimento
- Implantação Centralizada de Certificados OPC UA via GDS Push Management
- Invocando Function Blocks PLC via Clientes OPC UA: Guia Prático