- Visão geral do Jelina
- CommBridge
- Aquisição de dados
Aquisição Modbus-TCP
Descrição: conforme o meio de transmissão usado, Modbus pode operar por porta serial ou interface de rede (incluindo fibra óptica). RTU usa comunicação serial, enquanto TCP usa interface de rede (comunicação Ethernet). O protocolo Modbus segue um fluxo de comunicação entre dispositivo mestre e dispositivo escravo. No gateway de borda, o driver Modbus usa o cliente Master [mestre], que consulta ativamente os dispositivos escravos Modbus. Em seguida, os dispositivos escravos Modbus preparam a resposta conforme o conteúdo recebido e a enviam ao gateway.
1. Criar nós
Seção intitulada “1. Criar nós”(1) Na página do CommBridge, acesse [Gêmeo inteligente] e, à esquerda, clique para alternar para [Conectividade inteligente de dispositivos].

(2) Arraste, nesta ordem, os plugins Cliente Modbus [mestre], Processamento de dados e Envio por MQTT para a área de trabalho de plugins, criando três nós.

(3) Conecte os três nós na seguinte ordem: Cliente Modbus [mestre] → Processamento de dados → Envio por MQTT.

2. Criar um perfil
Seção intitulada “2. Criar um perfil”Selecione o protocolo
Modbus-TCP.
(1) Clique duas vezes em Cliente Modbus [mestre] e clique no botão [Adicionar perfil].

(2) Preencha a configuração da conexão e clique em [Avançar].

(3) Clique em [Adicionar grupo], preencha as informações do grupo e clique em [Confirmar].

(4) Clique em [Adicionar dados], preencha os dados do ponto e clique em [Confirmar].

(5) Clique em [Concluir] para adicionar o perfil de aquisição.

(6) Habilite o perfil e clique em [Salvar].

3. Consultar os resultados
Seção intitulada “3. Consultar os resultados”(1) Clique no botão [Implantar] de [Conectividade inteligente de dispositivos] para concluir a implantação.

(2) Alterne para [Gêmeo inteligente] e posicione o ponteiro do mouse sobre o nó Cliente Modbus [mestre] para exibir a lista de informações do nó.

(3) Clique no perfil para consultar os dados em tempo real e históricos dos pontos de cada grupo do perfil.
Aquisição (antes do processamento):

Após o processamento (consulte o perfil no plugin Processamento de dados):

4. Gravar dados
Seção intitulada “4. Gravar dados”Os dados só podem ser alterados quando o modo de leitura/gravação do ponto for
rwouwoe a aquisição estiver funcionando normalmente.
(1) Clique no botão [Gravar] de um dado individual, configure o valor e clique em [Confirmar].

(2) Consulte os dados históricos.

5. Descrição das configurações
Seção intitulada “5. Descrição das configurações”Configuração da conexão
Seção intitulada “Configuração da conexão”| Parâmetro | Descrição | Formato | Exemplo |
|---|---|---|---|
| Nome do perfil | Nome do perfil definido pelo usuário | Obrigatório | Aquisição slave |
| Protocolo | Protocolo Modbus | Modbus TCP, Modbus RTU | Modbus TCP |
| Aquisição síncrona | Define se a aquisição é síncrona: Yes ou No | Yes, No | YES |
| Período de aquisição | Intervalo de polling para leitura dos dados, ou seja, intervalo entre leituras de registradores de cada grupo do perfil | Numérico, faixa: (100,2147483647] | 2000 |
| Prazo de validade da aquisição | Todos os pontos do grupo devem ser adquiridos dentro do prazo definido; caso contrário, os dados do grupo são descartados. Esse prazo inclui o atraso entre quadros | Numérico, faixa: (0, período de aquisição] | 1000 |
| Tempo limite | Tempo permitido para cada aquisição de cada grupo do perfil; se for excedido, os dados dessa leitura são descartados | Numérico, faixa: (0, período de aquisição] | 1000 |
| Número máximo de registradores por lote | Número máximo de registradores para aquisição em lote de pontos consecutivos | Número natural, faixa: [1,120] | 120 |
| Atraso entre quadros | Intervalo mínimo entre duas aquisições; o padrão é 0. Se ocorrerem muitos timeouts, aumente-o conforme necessário; caso contrário, não é preciso alterá-lo | Unidade: milissegundos, numérico, faixa: [0, 2147483647] | 0 |
| Atraso de quadro de gravação | Tempo adicional de espera ao gravar dados, necessário para alguns dispositivos com gravação mais lenta; 0 indica que não há atraso adicional | Unidade: milissegundos, numérico, faixa: [0, 2147483647] | 0 |
| Código de função de gravação de registradores | Define o código de função para gravar registradores de retenção | Auto, 06, 10; consulte a descrição abaixo | Auto |
| Aquisição por alteração | Método de aquisição dos dados. No: sem aquisição por alteração; SingleData: transmite apenas os pontos alterados; WholeGroup: transmite todo o grupo quando qualquer dado do grupo muda | No, SingleData, WholeGroup | SingleData |
| Intervalo de reenvio da aquisição por alteração | Força o envio dos dados quando eles permanecem inalterados por mais que esse intervalo. 0 desabilita esse acionamento | Unidade: segundos, numérico, faixa: (0, 2147483647] | 0 |
| Backoff em caso de falha | Após uma falha de aquisição, ajusta o intervalo até a próxima aquisição pelo fator de backoff, limitado ao período de aquisição × fator máximo de backoff | Yes, No; consulte a descrição abaixo | Yes |
| Fator de backoff | Fator de variação do tempo em caso de falha; deve ser maior que 0 e diferente de 1 | Numérico | 2 |
| Fator máximo de backoff | Limite do fator de variação do intervalo; ao atingi-lo, o fator permanece nesse valor | Numérico | 16 |
Aquisição síncrona:
- “Yes” indica que o período, o tempo limite e o prazo de validade da aquisição são configurados de forma unificada para todos os grupos do perfil; aplica-se aos dados de todos os pontos do perfil;
- “No” indica que cada grupo configura seu próprio período, tempo limite e prazo de validade da aquisição.
Código de função de gravação de registradores: Auto: usa 06 para gravar um registrador e 10 para gravar mais de um; 06: usa 06 em todas as gravações; 10: usa 10 em todas as gravações.
Backoff em caso de falha: por exemplo, com período de aquisição de 1 segundo, fator de backoff 2 e fator máximo 16, os tempos de espera durante falhas consecutivas são 1s, 2s, 4s, 8s e 16s. Da mesma forma, com período de 10 segundos, fator de backoff 0.5 e fator máximo 0.1, os tempos são 10s, 5s, 2.5s e 1.25s. Assim que uma aquisição for bem-sucedida, o período de aquisição retorna ao valor inicial padrão.
Quando o fator de backoff é maior que 1, o fator máximo deve ser maior que ele; quando é menor que 1, o fator máximo deve ser menor que ele.
Adicionar um grupo
Seção intitulada “Adicionar um grupo”| Parâmetro | Descrição | Formato | Exemplo |
|---|---|---|---|
| Nome do grupo | Nome do grupo definido pelo usuário | Obrigatório | Grupo um |
| Slave ID | Endereço do dispositivo Modbus: endereço da estação escrava da qual os dados serão adquiridos | Numérico, faixa: (0,255] | 1 |
| IP | Endereço IP do dispositivo Modbus | Endereço em notação decimal com pontos | 172.21.78.157 |
| Porta | Número da porta do dispositivo Modbus; padrão: 502 | Numérico, faixa: (0,65535] | 502 |
| Período de aquisição | Intervalo de polling para leitura dos dados: intervalo entre leituras de registradores de um único grupo | Numérico, faixa: (100,2147483647] | 2000 |
| Prazo de validade da aquisição | Prazo de validade da aquisição de todos os pontos de um grupo; se todos os pontos não forem lidos nesse prazo, os dados de todos os pontos do grupo são descartados | Numérico, faixa: (0, período de aquisição] | 1000 |
| Tempo limite | Tempo permitido para cada aquisição de um grupo; se for excedido, os dados dessa leitura são descartados | Numérico, faixa: (0, período de aquisição] | 1000 |
Observações: Quando a aquisição síncrona na configuração da conexão está definida como No, essas configurações se aplicam aos dados de todos os pontos do grupo. Há um limite para a quantidade de registradores lidos em uma única operação Modbus. Para Holding Register e Input Register, o máximo é de 120 pontos de registradores consecutivos; para Discrete e Coils, o máximo é de 2000 pontos consecutivos.
Adicionar dados
Seção intitulada “Adicionar dados”| Parâmetro | Condição | Descrição | Formato | Exemplo |
|---|---|---|---|---|
| Alias dos dados | Nome do ponto, exclusivo dentro do mesmo grupo | Obrigatório; não pode começar com número ou sublinhado nem conter espaços | M | |
| Endereço | Endereço do registrador; endereços não podem se repetir no mesmo grupo | Endereço do registrador; endereços não podem se repetir no mesmo grupo | Numérico, faixa: (0,2147483647) | 0 |
| Tipo de registrador | Corresponde ao código de operação Modbus | Holding Register, Input Register, Discrete, Coils; consulte a descrição abaixo | Holding Register | |
| Tipo de dado | Determinado pelo tipo de registrador | Tipo original dos dados do registrador | uint16, int16, uint32, int32, float, boolean, combine, string, hex string; consulte a descrição abaixo | uint16 |
| Ordem dos bytes | Determinada pelo tipo de registrador e pelo tipo de dado | Ordem de armazenamento em memória de tipos de dado com mais de um byte | AB, BA, ABCD, CDAB, BADC, DCBA; consulte a descrição abaixo | AB |
| Quantidade de registradores | Determinada pelo tipo de registrador e pelo tipo de dado | Quantidade de registradores correspondente ao tipo de dado | Consulte a descrição abaixo | 1 |
| Modo de leitura/gravação | Determinado pelo tipo de registrador | Suporta ro (somente leitura), rw (leitura e gravação) e wo (somente gravação) | ro, rw, wo | ro |
| Cálculo | Fórmula definida pelo usuário com base nos aliases dos dados | {M}/10 | ||
| Offset | Tipo de dado igual a bit | Offset em bits, do mais significativo para o menos significativo, após o ajuste da ordem dos bytes | Numérico, faixa: [0,15] |
Por exemplo, para depurar a propriedade de temperatura, se o endereço dessa propriedade no dispositivo for 1, defina o endereço do registrador como 1.
- Para os tipos de registrador Discrete e Coils, o tipo de dado padrão é boolean.
- Para os tipos uint16, int16 e combine, as opções de ordem dos bytes são AB e BA; para uint32, int32 e float, são ABCD, CDAB, BADC e DCBA; os demais tipos não têm configuração de ordem dos bytes.
- Para os tipos de registrador Discrete e Coils, a quantidade padrão de registradores é 1; para os tipos de dado uint16, int16 e boolean, o padrão é 1; para uint32, int32 e float, o padrão é 2; para combine, é possível selecionar 1 ou 2; para string e hex string, a quantidade pode ser informada manualmente.
Ordem de 16 bits:
- AB: registrador de 1 palavra, com a palavra mais significativa antes da menos significativa e, dentro da palavra, o byte mais significativo antes do menos significativo (big-endian).
- BA: registrador de 1 palavra, com a palavra mais significativa antes da menos significativa e, dentro da palavra, o byte menos significativo antes do mais significativo (little-endian).
Ordem de 32 bits:
- ABCD: registradores de 2 palavras, com a palavra mais significativa antes da menos significativa e, dentro de cada palavra, o byte mais significativo antes do menos significativo (big-endian).
- BADC: registradores de 2 palavras, com a palavra mais significativa antes da menos significativa e, dentro de cada palavra, o byte menos significativo antes do mais significativo (big-endian com troca de bytes).
- CDAB: registradores de 2 palavras, com a palavra menos significativa antes da mais significativa e, dentro de cada palavra, o byte mais significativo antes do menos significativo (little-endian com troca de bytes).
- DCBA: registradores de 2 palavras, com a palavra menos significativa antes da mais significativa e, dentro de cada palavra, o byte menos significativo antes do mais significativo (little-endian).
6. Descrição dos parâmetros do protocolo Modbus
Seção intitulada “6. Descrição dos parâmetros do protocolo Modbus”O tipo de registrador determina o tipo de dado, a quantidade de registradores e o modo de leitura/gravação.
Introdução aos tipos de registrador
Seção intitulada “Introdução aos tipos de registrador”0x, 1x, 3x e 4x são faixas de endereços definidas pelo protocolo Modbus.
| Tipo de registrador | Nome | Endereço do registrador no CLP | Endereço do registrador no protocolo | Leitura/gravação | Descrição |
|---|---|---|---|---|---|
| Holding Register | Registrador de retenção (4x) | 40001-49999 | 0000H-FFFFH | Leitura e gravação; leitura: 0x03; gravação: 0x06 | Parâmetros de saída ou armazenados, definidos durante a operação do controlador |
| Input Register | Registrador de entrada (3x) | 30001-39999 | 0000H-FFFFH | Somente leitura, 0x04 | Parâmetros de entrada obtidos de dispositivos externos durante a operação do controlador |
| Discrete | Estado de entrada discreta (1x) | 10001-19999 | 0000H-FFFFH | Somente leitura, 0x02 | Porta de entrada cujo estado é alterado por uma configuração externa |
| Coils | Estado de bobina (0x) | 00001-09999 | 0000H-FFFFH | Leitura e gravação; leitura: 0x01; gravação de uma bobina: 0x05; gravação de múltiplas bobinas: 0x0F | Porta de saída cujo estado pode ser definido e lido |
Introdução aos tipos de dado
Seção intitulada “Introdução aos tipos de dado”O tipo de dado é determinado por três fatores: tipo original dos dados, troca dos bytes mais e menos significativos dentro dos registradores e troca da ordem dos registradores. Cada letra representa um byte.
- Tipos originais dos dados: uint16, int16, uint32, int32, float, boolean, combine, string, hex string.
- Troca dos bytes mais e menos significativos dentro do registrador: troca os primeiros e últimos 8 bits dos 16 bits do registrador. Para 16 bits, existem apenas a ordem direta (AB), com o byte mais significativo primeiro, e a ordem inversa (BA), com o menos significativo primeiro.
- Troca da ordem dos registradores: troca as partes de 16 bits dos dados de 32 bits, como em ABCD e CDAB.
Descrição dos tipos originais dos dados:
| Nome | Descrição | Quantidade de registradores |
|---|---|---|
| uint16 | Inteiro sem sinal de 16 bits | 1 |
| int16 | Inteiro com sinal de 16 bits | 1 |
| uint32 | Inteiro sem sinal de 32 bits | 2 |
| int32 | Inteiro com sinal de 32 bits | 2 |
| float | Ponto flutuante de 32 bits | 2 |
| combine | 1、2 | |
| boolean | Valor booleano | 1 |
| string | String ASCII | Personalizável |
| hex string | String hexadecimal | Personalizável |
Descrição da ordem dos bytes e palavras:
| Valor da propriedade | Descrição |
|---|---|
| AB | Registrador de 2 bytes, com o byte mais significativo antes do menos significativo (ordem direta) |
| BA | Registrador de 2 bytes, com o byte menos significativo antes do mais significativo (ordem inversa) |
| ABCD | Registradores de 2 palavras, com a mais significativa primeiro e, dentro de cada palavra, o byte mais significativo primeiro (big-endian) |
| BADC | Registradores de 2 palavras, com a mais significativa primeiro e, dentro de cada palavra, o byte menos significativo primeiro (big-endian com troca de bytes) |
| CDAB | Registradores de 2 palavras, com a menos significativa primeiro e, dentro de cada palavra, o byte mais significativo primeiro (little-endian com troca de bytes) |
| DCBA | Registradores de 2 palavras, com a menos significativa primeiro e, dentro de cada palavra, o byte menos significativo primeiro (little-endian) |