Introdução
Drivers de protocolo são os componentes que interpretam a configuração dos tags ligados a eles, convertem isso num pacote de dados no formato do protocolo, enviam o pacote pela porta de comunicação, recebem a resposta, decodificam e atualizam o valor dos tags — ou fazem o caminho inverso, para escrita.
Ele é o segundo componente a ser inserido numa aplicação de aquisição de dados, logo após a porta de comunicação e antes de todos os tags que usarão o driver de protocolo.
Protocolos suportados
| Classe do protocolo | Protocolo | Tipo de protocolo | Comunica com | Classe da porta necessária | Tags suportadas | Propriedades dos tags a configurar | Observações |
TModBusRTUDriver![]() |
Modbus RTU | 1 componente de protocolo para muitas estações | Qualquer equipamento que suporte Modbus RTU (endereços de estação 1 a 247) |
TSerialPortDriver |
TPLCTagNumber![]() TPLCBlock ![]() TPLCStruct ![]() TPLCString ![]() |
PLCStation MemReadFunction MemWriteFunction MemAddress TagType |
Blocos e estruturas usam por padrão até 125 registradores por bloco de leitura/escrita (propriedades HoldingRegsMaxBlockSize/AnalogRegsMaxBlockSize do driver) e até 2000 bits para entradas/saídas digitais (InputsMaxBlockSize/OutputsMaxBlockSize) — todas configuráveis. Veja Modbus RTU e TCP. |
TModBusTCPDriver![]() |
Modbus TCP | 1 componente de protocolo para 1 ou mais equipamentos, sobre a mesma conexão | Qualquer equipamento que suporte Modbus TCP | TTCP_UDPPort![]() |
TPLCTagNumber![]() TPLCBlock ![]() TPLCStruct ![]() TPLCString ![]() |
PLCStation MemReadFunction MemWriteFunction MemAddress TagType |
Mesmos limites de bloco do Modbus RTU. Veja Modbus RTU e TCP. |
TWestASCIIDriver![]() |
West ASCII | 1 componente de protocolo para muitas estações | Controladores West n6100/P6100 |
TSerialPortDriver |
TPLCTagNumber![]() |
PLCStation (1 a 99) MemAddress (0 a 27 — o parâmetro West) |
Todo registrador do West é ponto flutuante de 32 bits; o driver ignora o TagType configurado e sempre entrega um float — deixe em pttDefault. Suporta leitura e escrita. Tem assistente de tags próprio. |
TIBoxDriver![]() |
Thermo King i-Box | 1 componente de protocolo para muitas estações | Controladores de frio Thermo King i-Box | TSerialPortDriver![]() |
TPLCTagNumber![]() |
PLCStation (0 a 255) MemAddress — só os registradores (PID) 0, 96, 168, 200 a 205 e 247 são aceitos |
Somente leitura: o i-Box não aceita comandos de escrita, qualquer tentativa retorna erro. Os valores já chegam prontos (percentual, horas, décimos de grau) — o TagType não altera o resultado. |
TISOTCPDriver![]() |
Siemens S7 (S7comm) sobre ISOTCP | 1 componente de protocolo para 1 CLP |
S7-200 via CP 243-1 S7-300 / S7-400 (Ethernet) LOGO! 7 e 8 (Ethernet) S7-1200 / S7-1500 (Ethernet, com PUT/GET habilitado e blocos sem acesso otimizado) Simuladores/gateways compatíveis com S7comm (PLCSIM+NetToPLCSim, Snap7 server) |
TTCP_UDPPort![]() |
TPLCTagNumber![]() TPLCBlock ![]() TPLCStruct ![]() TPLCString ![]() |
PLCRack, PLCSlot, PLCStation — no driver, não no tag MemReadFunction (área) MemFile_DB (quando a área é DB) MemAddress TagType SwapBytes/SwapWords/SwapDWords conforme o tipo |
Não fala o protocolo nativo do S7-1200/1500 (S7CommPlus) nem faz acesso simbólico — veja S7 Protocol over ISOTCP para a tabela completa de áreas e tipos. |
TMelsecTCPDriver![]() |
Mitsubishi MC Protocol (3E frame, binário) sobre TCP | 1 componente de protocolo para 1 CLP | Mitsubishi série Q, L e iQ-F/iQ-R com porta Ethernet ou módulo QJ71E71/LJ71E71, configurados para MC Protocol/SLMP binário | TTCP_UDPPort![]() |
TPLCTagNumber![]() TPLCBlock ![]() TPLCString ![]() |
MemReadFunction / MemWriteFunction (código do dispositivo: M, X, Y, D…) MemAddress (decimal — atenção: X/Y são numerados em hexadecimal no CLP) |
Timers, contadores, registradores de link e as áreas SB/DX/DY ainda não são suportados. Veja Mitsubishi Melsec TCP. |
| TS7CommPlusDriver | Siemens S7CommPlus | 1 componente de protocolo para 1 CLP | S7-1200 e S7-1500 (protocolo nativo usado pelo TIA Portal, com blocos em acesso otimizado — não precisa desligá-lo como no ISOTCP) | TTCP_UDPPort![]() |
TPLCTagNumber![]() TPLCBlock ![]() TPLCString ![]() |
LongAddress — caminho simbólico do tag no CLP (ex.: |
Endereça pelo nome do tag no programa do CLP, não por offset de memória. Página dedicada em preparação. |
| TLGXDriver | EtherNet/IP (CIP), Rockwell/Allen-Bradley | 1 componente de protocolo para 1 CLP | CLPs Rockwell/Allen-Bradley da família Logix (ControlLogix, CompactLogix…) com porta EtherNet/IP | TTCP_UDPPort![]() |
TPLCTagNumber![]() TPLCBlock ![]() TPLCString ![]() |
LongAddress — nome do tag Logix (ex.: |
Endereçamento simbólico, como no TIA Portal/Studio 5000: não há offset de memória a configurar. Página dedicada em preparação. |
Estrutura básica de uma aplicação de aquisição de dados
A imagem abaixo resume a cadeia porta → driver → tags → controles, comum a todos os protocolos da tabela acima:
Estrutura básica de uma aplicação de aquisição de dados
Exemplos relacionados
examples/laz_modbus_tcp_example,examples/laz_modbus_rtu_scanner— Modbus TCP e RTU.examples/laz_isotcp_demonstration— Siemens S7 sobre ISOTCP.examples/laz_west6100_plus_demonstration— West ASCII.examples/laz_ibox— Thermo King i-Box.












