Servidor OPC UA

O servidor OPC UA que a estação roda dentro do processo: a linha dele na pasta Servidores, como ligá-lo e desligá-lo, Reiniciar e Testar a conexão, o cartão Estado com o endpoint e seis medidores, as duas conferências por que uma sessão passa, e o que um navegador remoto não pode fazer.

Ver como Markdown

A estação é um servidor OPC UA. Ele roda dentro do processo do aplicativo e serve as tags, variáveis da Logic, alarmes e comandos de dispositivo listados no cartão Nós servidos dele em opc.tcp://<network name>:4840/UA/GanterLab (com localhost como alternativa na mesma máquina), onde o nome é o que está escrito em Nome de rede na Configuração, ou o do próprio computador enquanto esse campo está vazio. Um cliente OPC UA na rede os lê ali e pode escrever nas linhas marcadas como leitura e escrita; uma escrita atravessa o mesmo funil de escrita da Logic que qualquer outra, então as travas de origem e as recusas do runtime valem para ela. O servidor publica o que o Connector lê e não lê nada sozinho: desligá-lo, ou uma porta que outro programa segura quando ele inicia, para só o servidor, e o Connector, a Logic e as gravações continuam.

A linha dele é a primeira sob a pasta Servidores no Connector, e o painel diz o que ele é sob o título: "Serve as tags, variáveis da Logic, alarmes e comandos de dispositivo que você lista aos clientes OPC UA que os leem e escrevem: sistemas SCADA e MES, historiadores, outras estações. Recebe conexões e nunca abre uma." O painel traz quatro cartões, Estado, Configuração, Acesso de clientes e Nós servidos; Ver Connector os lê e Configurar Connector os muda. Enquanto Nós servidos não tem linhas, o servidor não serve nada da estação.

Ligado ou desligado

O servidor tem um interruptor próprio, e ele vem desligado numa estação nova: a porta 4840 fica fechada até alguém ligar o servidor. Uma vez ligado, ele inicia com o aplicativo toda vez, e continua servindo enquanto a janela está escondida na área de notificação, até alguém desligá-lo. Uma estação atualizada de uma versão sem o interruptor mantém o que os clientes dela tinham: um servidor que aceitava sessões continua ligado, e um cuja autenticação de cliente estava em Desabilitada, que recusava toda sessão, é desligado. Um agente vira o mesmo interruptor com server_start e server_stop (veja Ferramentas do agente).

O cabeçalho

O cabeçalho do painel traz um ponto e o estado do servidor, com as palavras que a linha dele mostra:

Estado Ponto Quando
"Desligado" Cinza O interruptor está desligado, aconteça o que acontecer.
"Escutando na porta 4840" Verde O servidor está ligado e o espaço de endereços dele está vivo. A linha acrescenta os clientes conectados: "Nenhum cliente conectado", "1 cliente conectado", "3 clientes conectados".
"Iniciando…" Âmbar Entre uma partida e esse momento, e enquanto o Connector que ele publica está subindo.
"Não foi possível iniciar" Vermelho O servidor está ligado e a última partida dele falhou, tipicamente porque outro programa segura a porta. O cartão Estado diz por quê, embaixo do endpoint.
"Connector parado" Cinza O servidor está ligado, mas o runtime do Connector não está rodando.

O estado é só do servidor. O Connector lê os dispositivos com o servidor rodando ou não, e a barra de status e a área de notificação falam pelo Connector; veja A área de notificação e a barra de status.

Os comandos

A barra de comandos acima do painel traz os verbos do servidor, como traz os do servidor Modbus.

Comando O que ele faz Esmaecido quando (situação) Não aparece quando (papel)
Habilitar Liga o servidor e o inicia, servindo a lista dele; o Connector não é reiniciado (quando ele não está rodando de jeito nenhum, é iniciado antes). A barra de status diz "Iniciando o servidor OPC UA…" e depois "Servidor OPC UA ligado. Escutando em <endpoint>.". Uma partida que falha deixa o servidor ligado e mostrando Não foi possível iniciar, e o feed diz por quê: "Erro do servidor OPC UA: <o motivo>", ou "O servidor OPC UA não conseguiu iniciar. Pode ser que ele não consiga ocupar a porta N. Consulte o diário." quando o servidor só registrou o fato. Enquanto o servidor está ligado ("O servidor já está ligado."), enquanto outro comando do servidor roda ("Outro comando do servidor ainda está em andamento."), e enquanto a estação recusa configuração. Para um papel sem Configurar Connector.
Desabilitar Desliga o servidor e o para com elegância: toda sessão de cliente termina e nada é publicado até o Habilitar. O Connector continua lendo os dispositivos, e a Logic e as gravações continuam. "Parando o servidor OPC UA…" e depois "Servidor OPC UA desligado." Enquanto o servidor está desligado ("O servidor já está desligado."), e nas mesmas duas situações. O mesmo.
Reiniciar Para o servidor e o inicia de novo sobre a configuração em vigor; o Connector lê o tempo todo. "Reiniciando o servidor OPC UA…" e depois "Servidor OPC UA reiniciado.", ou o texto de falha acima. Enquanto o servidor está desligado ("O servidor está desligado: Habilitar o liga."), e nas mesmas duas situações. O mesmo.
Testar a conexão Relata o que a estação sabe do próprio servidor, sem mudar nada: "O servidor OPC UA não está escutando, então nenhum cliente consegue se conectar.", "O servidor OPC UA está iniciando, ainda não está pronto.", ou "Servidor OPC UA alcançável em <endpoint> com N sessões ativas." É uma afirmação do processo em execução, não uma sondagem pela rede. Nunca. Nunca.

A estação recusa configuração enquanto uma unidade está em execução ("A configuração está travada enquanto uma Unidade está em execução.") e enquanto o runtime está parado: parar o servidor da planta é trabalho de configuração, não de operação. Uma partida que volta sem erro ainda é conferida, porque a pilha OPC UA pode falhar ao ocupar a porta e só registrar o fato, então o feed relata a falha em vez de um sucesso.

O cartão Estado

O cartão mostra o endpoint que um cliente na rede disca, opc.tcp://<network name>:<port>/UA/GanterLab, sempre um nome estável e nunca 0.0.0.0 ou um endereço de DHCP; a alternativa na mesma máquina está em Endereços de conexão, no Acesso de clientes. Enquanto o servidor está ligado e não conseguiu iniciar, o motivo fica numa nota de atenção embaixo do endpoint. Depois, seis medidores, redesenhados a cada segundo:

Medidor O que ele conta
Tempo ativo O tempo desde a última partida do servidor, como 2h 14m 5s, 14m 5s ou 5s; uma marca de lacuna enquanto ele está parado. O mesmo instante alimenta os pontos Server.StartTime e Server.Uptime do espaço de endereços da Logic.
Sessões As sessões de cliente que o servidor tem aceitas neste momento, a mesma lista que os Conectados agora mostram no Acesso de clientes.
Dispositivos Os dispositivos configurados no Connector, em todo driver, habilitados ou não.
Drivers Quantos drivers distintos aqueles dispositivos usam.
Erros As linhas de erro no feed de log do hospedeiro de comunicação (do servidor e dos drivers). O feed guarda as 500 linhas mais recentes; a contagem fica vermelha quando não é zero.
Avisos As linhas de aviso no mesmo feed, âmbar quando não é zero. Para um papel que carrega Ver eventos, o número é um botão que abre a janela destacada de Eventos no desktop da própria estação ("Abrir a janela de Eventos"); num navegador em outro dispositivo ele fica esmaecido com "Disponível apenas no aplicativo instalado na estação.", e para um papel sem a permissão ele é um número simples.

Duas conferências, mantidas separadas

Uma sessão OPC UA passa por duas conferências que este painel configura separadamente. A confiança no certificado, no Acesso de clientes, decide se um aplicativo pode alcançar o servidor: um certificado desconhecido é recusado na primeira tentativa e guardado para a sua revisão, nada é confiado automaticamente, e a impressão digital, nunca o nome que um certificado declara, é a identidade a verificar. A Autenticação do cliente, na Configuração, decide depois como um aplicativo confiável entra: anônimo, o padrão, ou com o único usuário e senha configurados. A mesma ideia aponta para o outro lado na página do driver OPC UA: a estação não lê nada de um equipamento OPC UA cujo certificado você não aprovou.

A área de notificação e a barra de status

O estado vivo do servidor se lê na linha dele e no painel dele. A linha de saúde da barra de status, o ícone da área de notificação, a dica dele e a linha do menu falam pelo Connector, pelos dispositivos que ele lê, porque um servidor desligado não custa leitura nenhuma e não é o que um operador vigiando a estação precisa saber. O indicador de execução, a hora de partida, o tempo ativo e a contagem de sessões também são pontos do espaço de endereços da Logic, sob a raiz Server dele (Running, StartTime, Uptime, SessionCount), então um dashboard ou uma expressão podem lê-los.

Quando a estação inicia com o servidor ligado e o servidor não consegue abrir a porta, a janela levanta o cartão "O servidor não pôde iniciar", com Usar a porta 4841 e Abrir o Connector; veja a Configuração. Todo desfecho de um comando aqui aparece no feed de ações da barra de status, e toda recusa e toda decisão sobre um certificado vão para o diário: as linhas de log do próprio servidor estão na aba Console de Eventos, e as contagens de erros e de avisos delas são os dois últimos medidores do cartão Estado.

O que um navegador remoto não pode fazer

Um navegador em outro dispositivo, com um papel que carrega Configurar Connector, vê este painel exatamente como a janela da estação o vê, e pode ligar e desligar o servidor, reiniciá-lo e aplicar uma configuração. O que ele não pode é decidir sobre certificados: Adicionar cliente, Confiar, Bloquear, Revogar, Desbloquear, Descartar todos, Importar certificado e o botão do Firewall do Windows são recusados ali com "O acesso de clientes só pode ser mudado no aplicativo instalado na estação.", e um aviso informativo no cartão diz isso: "Abra o aplicativo da estação para mudar o acesso de clientes". O link do medidor de Avisos para a janela de Eventos destacada fica esmaecido com "Disponível apenas no aplicativo instalado na estação.".

Onde os certificados moram: o certificado de aplicativo do próprio servidor e os repositórios de certificados de cliente confiáveis, pendentes e bloqueados ficam sob ua\pki na raiz de dados da estação, e os repositórios de equipamento sob ua\pki\southbound. Eles sobrevivem a reinícios e não fazem parte de um backup de configuração.

O que este painel não faz

Ele não desconecta uma sessão (revogar um certificado no Acesso de clientes faz isso), não zera as contagens de log (o feed é limitado e roda sozinho), não para a leitura do Connector, e não reinicia o aplicativo. Ele nunca inicia o servidor de novo sozinho depois de uma falha: uma partida que falhou é relatada e espera o seu Reiniciar, ou a porta que você escolher no cartão. O endpoint se muda na Configuração, e só enquanto o servidor não está escutando.