Drivers

O que é um driver, onde os drivers são listados e como um deles é acrescentado à estação, o driver fixo de um dispositivo, a tabela de todos os drivers que este produto conhece, o que cada página de driver documenta e a nota sobre drivers que um pacote não carrega.

Ver como Markdown

O player vem do YouTube e só carrega quando você aperta o play.

Um driver é o protocolo que a estação usa para conversar com uma família de equipamentos: registradores Modbus sobre TCP, um servidor OPC UA, um CLP Siemens. Todo dispositivo da página Connector pertence a exatamente um driver, e o driver decide quais campos de conexão o dispositivo mostra, como as tags dele são endereçadas, quais tipos de dado elas podem carregar, se podem ser escritas, se o driver consegue varrer atrás de equipamento, e se a estação as lê ciclicamente ou o equipamento envia por push. Este grupo tem uma página por driver; esta página é o que todas elas têm em comum.

O registro

O conjunto de drivers é fixo: ele vem com a aplicação e não pode ser estendido pela página. A pasta Drivers, no topo da árvore da coluna Comunicação, abre o catálogo dos que esta instalação carrega, cada um com a sua descrição, a sua contagem de dispositivos, a sua saúde e Acrescentar driver, ou Abrir e Remover o driver depois de acrescentado; o catálogo e as regras dele estão em A lista de drivers e a página de um driver.

Todo driver que o pacote carrega está pronto para uso, sem interruptor para ligá-lo ou desligá-lo: a estação acrescenta os que usa. Sob a pasta Drivers, a árvore lista os drivers acrescentados, com ou sem algo abaixo deles, então a coluna traz o que a estação está preparada para ler. Um driver é acrescentado com Acrescentar driver na linha dele no catálogo ou no menu Novo… da coluna, e removido com Remover o driver na linha dele no catálogo, na barra dele ou no menu de contexto dele. Remover não exclui nada: é recusado enquanto o driver tem um dispositivo, uma linha serial, um broker ou uma pasta, e um driver que tem algum deles está sempre acrescentado. Uma estação nova não tem driver acrescentado; uma estação atualizada de uma versão anterior começa com os drivers que já usa acrescentados.

O driver de um dispositivo é fixo

Você escolhe o driver quando cria o dispositivo: no menu Novo… da coluna o dispositivo é criado pela entrada do próprio driver, e o Acrescentar dispositivo na página de um driver cria sob aquele driver. Dali em diante o cartão Dispositivo mostra o driver como texto somente leitura. Para mudar um dispositivo para outro protocolo, crie um dispositivo novo sob o outro driver e exclua o antigo; o endereço muda, então as referências têm de ser apontadas para as tags novas pelo cartão Usada por de cada tag.

Todos os drivers

Os drivers estão agrupados pela família de equipamentos que alcançam: os mesmos grupos, na mesma ordem, em que o catálogo Drivers e o Acrescentar driver do menu Novo… os listam.

CLPs

Driver Conversa com
Beckhoff ADS CLPs Beckhoff TwinCAT sobre ADS/AMS.
Mitsubishi MC CLPs Mitsubishi pelo driver MELSEC MC.
Omron CLPs Omron: controladores CJ, CS e CP por endereço de memória sobre FINS (UDP, TCP ou Host Link numa linha serial), e controladores NJ, NX e NY por nome de variável sobre EtherNet/IP.
Rockwell EtherNet/IP CLPs Allen-Bradley / Rockwell sobre EtherNet/IP (CIP).
Siemens S7 CLPs Siemens S7 pelo driver S7comm.

Protocolos industriais

Driver Conversa com
BACnet Dispositivos de automação predial BACnet/IP.
Generic serial and TCP Equipamentos com um protocolo próprio de texto ou de bytes, como balanças e leitores de código de barras, por uma linha serial, TCP ou UDP.
Modbus RTU Registradores Modbus por uma linha serial (RS-485/232), em modo de transmissão RTU ou ASCII.
Modbus TCP Registradores Modbus sobre TCP/IP, em enquadramento MBAP ou como quadros RTU para um conversor serial-Ethernet. Porta padrão 502.
MQTT Dispositivos que publicam por um broker MQTT externo, em MQTT simples ou Sparkplug B.
OCPP Pontos de recarga de veículos elétricos por OCPP (os pontos de recarga conectam a esta estação).
OPC DA Servidores OPC Data Access clássicos via COM/DCOM, por um processo auxiliar de 32 bits só deles.
OPC UA Cliente OPC Unified Architecture sobre opc.tcp.
SNMP Equipamentos de rede que respondem SNMP v1, v2c ou v3, como nobreaks, PDUs, switches e sensores de sala técnica; com o Redfish para os servidores, cobre a sala técnica.

Instrumentos e aquisição

Driver Conversa com
Fluke NetDAQ Unidades de aquisição de dados Fluke NetDAQ (2640A, 2645A) e 2680 Series (2680A, 2686A), configuradas a partir das tags e lidas pela biblioteca da própria Fluke num processo auxiliar de 32 bits.
NI-DAQmx Hardware de aquisição de dados da National Instruments (chassis cDAQ e seus módulos, dispositivos USB e PCI Express) pelo NI-DAQmx instalado neste computador, uma amostra por leitura.
SCPI instruments Instrumentos de bancada que falam SCPI, como multímetros, fontes de alimentação e cargas eletrônicas, por TCP, por linha serial, ou por USB e GPIB através do VISA.

Sem fio

Driver Conversa com
LoRaWAN Sensores LoRaWAN e concentradores de rádio pelo servidor de rede Basics Station embutido.
Matter Dispositivos residenciais Matter (comissionamento por Bluetooth).

Web e APIs

Driver Conversa com
AVEVA PI Pontos do AVEVA PI System pelo PI Web API, por HTTPS por padrão.
HTTP Endpoints HTTP e HTTPS genéricos lidos ciclicamente como tags, com uma credencial opcional.
Redfish API REST Redfish para hardware de servidor e de datacenter.

Arquivos e bancos de dados

Driver Conversa com
Database Tabelas do banco de dados de um sistema da fábrica (SQL Server, PostgreSQL, MySQL e MariaDB, SQLite, ou qualquer banco de dados pelo driver ODBC dele), cada tag lendo uma célula pela tabela, pela coluna e pela linha ou executando uma consulta própria; a célula ou um comando próprio da tag escritos onde uma tag manda.
File Arquivos que outro programa grava numa pasta local ou de rede (CSV e texto em colunas, texto livre, JSON, XML), lidos um arquivo por vez ou de uma pasta de entrada; linhas ou arquivos inteiros gravados para esse programa onde o dispositivo permite.

Teste

Driver Conversa com
Simulated Sinais sintéticos gerados na própria aplicação, para testar sem hardware.

O servidor Modbus não está nesta tabela: ele não é um driver, e sim a própria estação servindo as tags e as variáveis da Logic dela para CLPs, IHMs e sistemas prediais por Modbus TCP, a partir da linha própria dele, sob a pasta Servidores.

O que os drivers têm em comum, e onde diferem

O Connector desenha um editor só para todo driver e deixa o driver decidir quais partes aparecem. Esta tabela diz o que esperar antes de abrir a página de um driver:

Driver Campos de conexão na página do dispositivo Endereçamento da tag Intervalo de leitura Escrita em tag Descobrir
Simulated nenhum o nome da tag, mais a forma do sinal sim sim sim (o catálogo dele)
Modbus TCP Host, Porta, Unit ID, Enquadramento (MBAP ou RTU), Intervalo mínimo entre transações tipado: classe e número do registrador sim sim sim (varredura por host ou CIDR)
Modbus RTU Linha serial (fixa; a linha define o modo de transmissão, RTU ou ASCII), Unit ID tipado: classe e número do registrador sim sim sim (sondagem de unit ids numa linha)
OPC UA Host, Porta, Caminho do recurso, Usuário, Senha texto livre: ID do nó sim sim sim (endereço do servidor)
OPC DA Host, Servidor / Chave texto livre: ID do item sim sim sim (os servidores de um computador)
Siemens S7 Host, Rack / Slot tipado: área, DB, byte, bit sim sim não
Rockwell EtherNet/IP Host, Slot texto livre: Tag do controlador, mais um deslocamento sim sim sim (difusão)
Beckhoff ADS Host, Porta, IP local (AMS) texto livre: Símbolo sim sim não
Mitsubishi MC Host, Porta texto livre: Endereço do dispositivo fixo em 1 s sim não
BACnet Host, Porta, Device Id tipado: tipo de objeto e instância fixo em 1 s sim sim (Who-Is)
OCPP Identificador tipado: número do conector; o nome da tag termina em Meter, Status ou Transaction enviado pelo ponto de recarga não (somente leitura) sim (pontos de recarga conectados)
Redfish Host, Porta, Usuário, Senha texto livre: Caminho do recurso, mais um ponteiro JSON sim sim sim (endereço do serviço)
Matter Node ID (somente leitura) tipado: saída, cluster e atributo; as tags vêm do dispositivo sim sim (os valores que o driver sabe mudar) sim (nós comissionados, com os valores que cada um publica)
LoRaWAN Identificador (DevEUI), Server / Key (chave da aplicação) tipado: canal ou deslocamento, tipo LPP enviado pelo sensor não (somente leitura) não
AVEVA PI Host, Porta, Caminho do recurso, Transporte, Usuário, Senha, Token bearer texto livre: Caminho PI sim sim sim (elemento AF depois do endereço do serviço)
HTTP Host, Porta, Caminho do recurso texto livre: Caminho sim sim não
MQTT Broker (fixo; o broker guarda o host, a porta, o transporte e o login), Protocolo e, no Sparkplug B, os IDs de grupo, de nó de borda e de dispositivo texto livre: Tópico, mais um caminho do valor dentro de um payload JSON, ou Métrica Sparkplug B entregue pelo broker sim (num tópico de comando, ou num comando Sparkplug B) sim (escuta num broker)
Generic serial and TCP Transporte (Cliente TCP ou Escuta UDP), Host, Porta, ou a Linha serial (fixa) num dispositivo de linha; depois os cartões Mensagens e Soma de verificação tipado: modo de leitura, requisição, filtro de mensagens e onde o valor está na mensagem sim; uma tag em escuta guarda o que o equipamento envia sim (uma mensagem de escrita; não por UDP) não
Omron Host ou IP, Protocolo (FINS ou Tags NJ/NX por nome); por FINS, a Porta e o cartão FINS (transporte, rede, nós, unidade, timeout de resposta); numa linha serial, a Linha serial (fixa), o Unit ID (o número de unidade Host Link) e o timeout de resposta texto livre: Endereço de memória (FINS) ou Nome da variável (NJ/NX) sim sim sim (uma sondagem FINS de um CLP, e um broadcast para controladores NJ/NX)
SCPI instruments Transporte (TCP (socket LXI) ou VISA), Host ou IP e Porta ou o Recurso VISA, ou a Linha serial (fixa) num dispositivo de linha; depois o cartão Instrumento (terminador, timeout de resposta, confirmação de escrita, comandos de preparação) texto livre: Consulta, mais qual valor de uma resposta separada por vírgulas, e um comando de escrita sim sim (um comando de escrita, confirmado pela fila de erros do instrumento) sim (os instrumentos que o VISA lista, e uma sondagem TCP de um host)
NI-DAQmx nenhum: o cartão Dispositivo NI-DAQmx no lugar (Nome do dispositivo, e o Produto que o NI-DAQmx lê) tipado: Canal físico e Medição, com a faixa, a ligação, o termopar ou os ajustes de contador da medição sim sim (linhas de saída digital e saídas de tensão) sim (todo dispositivo que o NI MAX conhece, com os canais)
Fluke NetDAQ Host ou IP; depois o cartão Instrumento (Canal base, Velocidade de varredura) tipado: Ponto (um canal analógico e a sua Função, uma linha digital, um relé ou o totalizador) sim; o instrumento varre no menor intervalo entre as tags do dispositivo sim (linhas digitais e relés, e o totalizador zerado) não
SNMP Host, Porta; depois o cartão Agente SNMP (versão, community ou usuário SNMPv3 e segurança, timeout de resposta, novas tentativas) texto livre: OID, em números ou pelo nome padrão sim sim (um SET que o agente aceita; um objeto padrão que a MIB declara somente leitura fica somente leitura) sim (uma varredura das subárvores padrão de um agente)
File nenhum: o cartão Pasta e arquivo no lugar (Caminho da pasta, Nome do arquivo ou o padrão da pasta de entrada, Ler de, Formato do arquivo), depois os cartões Texto do arquivo e Escrita tipado: o que a tag lê (um valor, o arquivo inteiro ou um dado do arquivo) e, para um valor, uma coluna e uma linha (CSV), uma linha e os caracteres dela (texto livre) ou um caminho (JSON, XML) sim sim (num dispositivo que permite escrita: uma linha acrescentada, o arquivo inteiro substituído ou outro arquivo indicado) sim (um arquivo, o de um dispositivo ou um digitado)
Database nenhum: o cartão Banco de dados no lugar (Tipo de banco de dados, depois Servidor, Porta, Nome da instância e Nome do banco de dados, o Arquivo do banco de dados, ou a Origem de dados ou texto de conexão), depois o cartão Entrada (Usuário e Senha, e no SQL Server a entrada com a conta do Windows e a Criptografia) tipado: como a tag lê (uma célula por Tabela, Coluna do valor e Linha a ler, ou o Texto da consulta própria) sim sim (a célula que lê, ou o comando de escrita próprio) sim (as tabelas do banco de dados de um dispositivo)

Cada driver também reduz a lista de Tipo de dado que uma tag oferece ao que ele realmente consegue empacotar; a lista exata está na página do driver. Onde a tabela diz "fixo em 1 s", o driver ignora o intervalo configurado, então as páginas do dispositivo e da tag escondem o campo Intervalo de leitura nele. Onde ela diz "somente leitura", o campo Acesso oferece apenas Somente leitura e o campo de escrita nunca aparece.

O que toda página de driver documenta

Cada página de driver percorre as mesmas seções na mesma ordem: os campos de conexão que o cartão Dispositivo mostra e como eles montam o Base URI; como uma tag é endereçada (os campos tipados ou o símbolo em texto livre, e o endereço de barramento somente leitura que o painel mostra em prévia); os tipos de dado oferecidos; a descoberta, quando o driver a tem; as escritas, quando o driver as aceita; e as particularidades do driver (credenciais, certificados, tempos, um servidor de rede que a estação hospeda, pareamento).

Um driver que o pacote não carrega

O Connector nunca lista nem oferece um driver que o pacote em execução não carrega. Uma configuração que chega com dispositivos assim mesmo (um backup restaurado, uma configuração de outra máquina) os mantém: o driver continua listado, no catálogo e sob a pasta Drivers, enquanto esses dispositivos existirem, a descrição dela diz "Driver não incluído neste pacote.", e a página do driver e todo dispositivo sob ele carregam um aviso dizendo o mesmo. Esses dispositivos ficam offline e mantêm as configurações deles; podem ser excluídos, mas não copiados, e nenhum dispositivo novo nem varredura de descoberta pode ser iniciado sob aquele driver.

Quais drivers um pacote carrega é lido do registro de drivers do Connector, que só existe depois que o Connector iniciou. Até lá todo driver conta como presente, então o catálogo se estabiliza alguns segundos depois da inicialização e então fica parada pela sessão inteira, mesmo enquanto o Connector é parado e iniciado de novo.

O código de um driver é carregado uma vez, para todo o tempo em que a aplicação roda. Parar e iniciar a comunicação reconstrói os dispositivos em execução e a lista de drivers a partir dessa mesma carga, que é o que mantém a memória da estação estável ao longo de um dia de reinícios. A consequência é que substituir em disco os arquivos de um driver só vale depois que a própria aplicação é reiniciada.