Posts

As Interfaces Modbus funcionam como remotas de I/O distribuído e podem ser aplicadas nas mais diversas áreas da automação industrial, como monitoramento remoto de variáveis de processo, redes distribuídas de automação e controle, ligar e desligar um motor remotamente, etc.

As Interfaces Modbus são uma família de módulos de entradas e saídas analógicas e digitais que comunicam pelo protocolo Modbus.

  • Protocolo de comunicação: Modbus RTU
  • Modbus mestre e escravo
  • Seleção de endereço por DIP switch
  • Alimentação: 10 a 30 VCC
  • Consumo máximo de 200 mA

A família de interfaces Modbus da Alfacomp foi especialmente desenvolvida para compor sistemas de alto desempenho e baixo custo. As interfaces funcionam como remotas de I/O distribuído e, portanto, podem ser aplicadas nas mais diversas áreas da automação industrial, como monitoramento remoto de variáveis de processo e controles, ligar e desligar um motor remotamente, etc.

As IMs da Alfacomp estão disponíveis em seis diferentes configurações, cada uma com caraterísticas específicas para sua aplicação. Todos modelos possuem interface serial RS485 para conexão com outros dispositivos como Rádio Modem e Modem GPRS. O protocolo de comunicação disponível nas interfaces é o Modbus RTU, com possibilidade de operar como mestre ou escravo da rede.

Modelos e configurações das interfaces Modbus

IM4000 04 entradas analógicas 0 a 20 ou 4 a 20mA
IM0400 04 saídas analógicas 4 a 20mA
IM0080 08 entradas digitais
IM0008 08 saídas digitais
IM2020 02 entradas analógicas 0 a 20 ou 4 a 20mA + 02 entradas digitais
IM0202 02 saídas analógicas 4 a 20mA + 02 saídas digitais

Especificações técnicas das interfaces Modbus

  • Tensão de Alimentação: 10 a 30 VCC
  • Consumo máximo: 200mA
  • Proteção: Supressor de transientes e fusíveis rearmáveis
  • Protocolo: MODBUS RTU — mestre e escravo (IM0400, IM0008 e IM0202) escravo (IM4000, IM0080 e IM2020)
  • Velocidade serial: 1200, 9600, 57600 e 115200 bps
  • Entradas Analógicas: 0 a 20 ou 4 a 20mA, impedância de 220ohms
  • Saídas Analógicas: 4 a 20mA
  • Resolução das entradas analógicas: 12bits
  • Resolução das saídas analógicas: 10 bits
  • Entradas Digitais: tipo PNP em 12 ou 24V
  • Saídas Digitais: tipo PNP 12 ou 24Vcc/0,5A máx
  • Temperatura de operação: 0° a +60°C
  • Dimensões (AxLxP): 95 x 23 x 130mm

Interface Modbus com 4 entradas analógicas – IM4000

 

Interface Modbus com 4 saídas analógicas – IM0400

Interface Modbus com 4 saídas analógicas – IM0400

Interface Modbus com 8 entradas digitais – IM0080

Interface Modbus com 8 entradas digitais – IM0080

Interface Modbus com 8 saídas digitais – IM0008

Interface Modbus com 8 saídas digitais – IM0008

Interface Modbus com 2 entradas analógicas e 2 entradas digitais – IM2020

Protocolo MODBUS

Interface Modbus com 2 saídas analógicas e 2 saídas digitais – IM0202

Interface Modbus com 2 saídas analógicas e 2 saídas digitais – IM0202

Solicite informações adicionais ou uma cotação

Protocolo Modbus

Modbus é um Protocolo de comunicação de dados utilizado em sistemas de automação industrial. Criado originalmente no final da década de 1970, mais especificamente em 1979, pela fabricante de equipamentos Modicon. É um dos mais antigos e até hoje mais utilizados protocolos em redes de Controladores lógicos programáveis (CLP) para aquisição de sinais (0 ou 1) de instrumentos e comandar atuadores. A Schneider Electric (atual controladora da Modicon) transferiu os direitos do protocolo para a Modbus Organization (Organização Modbus) em 2004 e a utilização é livre de taxas de licenciamento. Por esta razão, e também por se adequar facilmente a diversos meios físicos, é utilizado em milhares de equipamentos existentes e é uma das soluções de rede mais baratas a serem utilizadas em Automação Industrial.

Características técnicas do Modbus

O Modbus equivale a uma camada de aplicação e pode utilizar o RS232RS485 ou Ethernet como meios físicos – equivalentes camada de enlace (ou link) e camada física do modelo. O protocolo possui comandos para envio de dados discretos (entradas e saídas digitais) ou numéricos (entradas e saídas analógicas).

Modelo de comunicação

O protocolo Modbus define que o modelo de comunicação é do tipo mestre-escravo (ou cliente-servidor). Assim, um escravo não deve iniciar nenhum tipo de comunicação no meio físico enquanto não tiver sido requisitado pelo mestre. Por exemplo, a estação mestre (geralmente um PLC) envia mensagens solicitando dos escravos que enviem os dados lidos pela instrumentação ou envia sinais a serem escritos nas saídas, para o controle dos atuadores ou nos registradores. A imagem abaixo mostra um exemplo de rede Modbus com um mestre (CLP) e três escravos (módulos de entradas e saídas, ou simplesmente E/S). Em cada ciclo de comunicação, o CLP lê e escreve valores em cada um dos escravos.

Colisões de comunicação

É possível haver colisões durante o acesso ao meio compartilhado, e o protocolo não é específico em como solucioná-las. Como ilustração de um problema possível, suponha que, em uma dada aplicação do protocolo Modbus sobre um barramento RS485, o mestre requisita seus escravos em sequência. Suponha também que o mestre, após um tempo específico, passa a requisitar o escravo seguinte, tendo recebido ou não uma resposta do escravo anterior. Nesse caso, se o primeiro escravo demora mais tempo para responder do que o tempo que o mestre espera, pode acontecer de o primeiro escravo responder bem no período em que o mestre resolveu fazer a requisição ao escravo seguinte, ou no período em que o segundo escravo já tinha iniciado sua resposta, havendo colisão no meio. Não há nada especificado no protocolo para resolver esse tipo de problema. Cabe à aplicação implementar corretamente o acesso ao meio, os parâmetros de time-out etc.

Frames de comunicação

A comunicação em Modbus obedece a um frame que contém o endereço do escravo, o comando a ser executado, uma quantidade variável de dados complementares e uma verificação de consistência de dados (CRC).

Exemplo-1: Se o PLC precisa ler as 10 primeiras entradas analógicas (do endereço 0000 ao 0009) no módulo 2. Para isso é preciso utilizar o comando de leitura de múltiplos registros analógicos (comando 3). O frame de comunicação utilizado é mostrado abaixo (os endereços são mostrados em sistema hexadecimal):

A resposta do escravo seria um frame semelhante composto das seguintes partes: O endereço do escravo, o número do comando, os dez valores solicitados e um verificador de erros (CRC). Em caso de erros de resposta (por exemplo um dos endereços solicitados não existe) o escravo responde com um código de erro.

Uma pequena recordação: Para se entender este frame de resposta, antes precisamos saber corretamente o que é um byte. Cada palavra tem as seguintes formas, – bit, – nible, – byte e – word. Segue abaixo uma tabela representação de cada formato.

A resposta para a pergunta acima seria a seguinte:

O primeiro byte (02) é o endereço do Escravo; O segundo byte (03) é a função utilizada para leitura, sendo essa um Holding Register; O terceiro byte é a quantidade de endereços que o Escravo está enviando ao Mestre, sendo que a cada 2 bytes se forma uma Word que significa uma palavra de 16 bit, por isso este frame tem 14 (hexadecimal) = 20 bytes que é = 10 word ou 10 palavras de 16 bits que tem seu range mínimo de -32768 até 32767. Com isso entendemos que o Escravo respondeu 10 endereços ao Mestre e todos com o valor zero.

Comandos Modbus

A tabela a seguir apresenta os principais comando (funções) do protocolo Modbus.

Modbus RTU

O termo RTU, do inglês Remote Terminal Unit, refere-se ao modo de transmissão onde endereços e valores são representados em formato binário. Neste modo para cada byte transmitido são codificados dois caracteres. Números inteiros variando entre -32768 e 32767 podem ser representados por 2 bytes. O mesmo número precisaria de quatro caracteres ASCII para ser representado (em hexadecimal). O tamanho da palavra no modo RTU é de 8 bits.

Modbus ASCII

Os dados são dados codificados e transmitidos através de caracteres ASCII – cada byte é transmitido através de dois caracteres. Apesar de gerar mensagens legíveis por pessoas este modo consome mais recursos da rede. Por exemplo, para transmitir o byte 0x5B este deverá ser codificado em dois caracteres ASCII: 0x35 (“5”) e 0x42 (“B”). O tamanho da palavra no modo ASCII é de 7 bits. Somente são permitidos caracteres contidos nos intervalos:

  • 0-9
  • A-F

O intervalo entre duas mensagens deve ser de 3,5 caracteres.

Modbus TCP

Aqui os dados são encapsulados em formato binário em frames TCP para a utilização do meio físico Ethernet (IEEE 802.3). Quando o Modbus/TCP é utilizado, o mecanismo de controle de acesso é o CSMA-CD (Próprio da rede Ethernet) e as estações utilizam o modelo cliente-servidor.

Retrocompatibilidade e Conversores

Suponha que um PLC precisa trocar dados usando o protocolo Modbus-TCP com dispositivos antigos, que não suportam esse protocolo, e estão conectados em um barramento RS-485. Nesse caso, existem no mercado conversores Modbus-TCP<->Modbus Serial RS-232/485. Esses dispositivos diferem de um conversor puramente físico, que somente converteria os sinais elétricos de um protocolo físico para outro. Eles, em vez disso, implementam os protocolos TCP e IP, além de implementar também o protocolo Modbus.

Isso é necessário, pois é preciso haver uma conexão TCP entre o conversor e o CLP, já que essa conexão não pode existir diretamente com os equipamentos antigos. O conversor precisa, portanto, implementar o protocolo TCP e aceitar conexões através de sockets etc. Caso contrário, a comunicação não seria possível.

Além disso, o conversor precisará tirar os dados Modbus – que estão dentro do pacote IP, que por sua vez está dentro do quadro Ethernet – para enviar ao escravo correto no barramento RS-485.

Há também conversores com várias saídas seriais. Nesse caso, é possível separar os escravos em vários barramentos distintos, cada um em uma porta. No primeiro barramento, podem ser colocados os escravos cujos endereços vão de 1 ao 10; no segundo, de 11 a 20, e por aí em diante – isso é só um exemplo.

Nessa configuração, o conversor precisaria ler o pacote Modbus, interpretá-lo ao ponto de saber qual é o endereço do escravo de destino, para então enviá-lo à porta de saída correta.

Leia também

As Interfaces Modbus funcionam como remotas de I/O distribuído e podem ser aplicadas nas mais diversas áreas da automação industrial, como monitoramento remoto de variáveis de processo, redes distribuídas de automação e controle, ligar e desligar um motor remotamente, etc.

As Interfaces Modbus são uma família de módulos de entradas e saídas analógicas e digitais que comunicam pelo protocolo Modbus.

  • Protocolo de comunicação: Modbus RTU
  • Modbus mestre e escravo
  • Seleção de endereço por DIP switch
  • Alimentação: 10 a 30 VCC
  • Consumo máximo de 200 mA

A família de interfaces Modbus da Alfacomp foi especialmente desenvolvida para compor sistemas de alto desempenho e baixo custo. As interfaces funcionam como remotas de I/O distribuído e, portanto, podem ser aplicadas nas mais diversas áreas da automação industrial, como monitoramento remoto de variáveis de processo e controles, ligar e desligar um motor remotamente, etc.

As IMs da Alfacomp estão disponíveis em seis diferentes configurações, cada uma com caraterísticas específicas para sua aplicação. Todos modelos possuem interface serial RS485 para conexão com outros dispositivos como Rádio Modem e Modem GPRS. O protocolo de comunicação disponível nas interfaces é o Modbus RTU, com possibilidade de operar como mestre ou escravo da rede.

Modelos e configurações das interfaces Modbus

IM4000 04 entradas analógicas 0 a 20 ou 4 a 20mA
IM0400 04 saídas analógicas 4 a 20mA
IM0080 08 entradas digitais
IM0008 08 saídas digitais
IM2020 02 entradas analógicas 0 a 20 ou 4 a 20mA + 02 entradas digitais
IM0202 02 saídas analógicas 4 a 20mA + 02 saídas digitais

Especificações técnicas das interfaces Modbus

  • Tensão de Alimentação: 10 a 30 VCC
  • Consumo máximo: 200mA
  • Proteção: Supressor de transientes e fusíveis rearmáveis
  • Protocolo: MODBUS RTU — mestre e escravo (IM0400, IM0008 e IM0202) escravo (IM4000, IM0080 e IM2020)
  • Velocidade serial: 1200, 9600, 57600 e 115200 bps
  • Entradas Analógicas: 0 a 20 ou 4 a 20mA, impedância de 220ohms
  • Saídas Analógicas: 4 a 20mA
  • Resolução das entradas analógicas: 12bits
  • Resolução das saídas analógicas: 10 bits
  • Entradas Digitais: tipo PNP em 12 ou 24V
  • Saídas Digitais: tipo PNP 12 ou 24Vcc/0,5A máx
  • Temperatura de operação: 0° a +60°C
  • Dimensões (AxLxP): 95 x 23 x 130mm

Interface Modbus com 4 entradas analógicas – IM4000

 

Interface Modbus com 4 saídas analógicas – IM0400

Interface Modbus com 4 saídas analógicas – IM0400

Interface Modbus com 8 entradas digitais – IM0080

Interface Modbus com 8 entradas digitais – IM0080

Interface Modbus com 8 saídas digitais – IM0008

Interface Modbus com 8 saídas digitais – IM0008

Interface Modbus com 2 entradas analógicas e 2 entradas digitais – IM2020

Protocolo MODBUS

Interface Modbus com 2 saídas analógicas e 2 saídas digitais – IM0202

Interface Modbus com 2 saídas analógicas e 2 saídas digitais – IM0202

Solicite informações adicionais ou uma cotação

Protocolo Modbus

Modbus é um Protocolo de comunicação de dados utilizado em sistemas de automação industrial. Criado originalmente no final da década de 1970, mais especificamente em 1979, pela fabricante de equipamentos Modicon. É um dos mais antigos e até hoje mais utilizados protocolos em redes de Controladores lógicos programáveis (CLP) para aquisição de sinais (0 ou 1) de instrumentos e comandar atuadores. A Schneider Electric (atual controladora da Modicon) transferiu os direitos do protocolo para a Modbus Organization (Organização Modbus) em 2004 e a utilização é livre de taxas de licenciamento. Por esta razão, e também por se adequar facilmente a diversos meios físicos, é utilizado em milhares de equipamentos existentes e é uma das soluções de rede mais baratas a serem utilizadas em Automação Industrial.

Características técnicas do Modbus

O Modbus equivale a uma camada de aplicação e pode utilizar o RS232RS485 ou Ethernet como meios físicos – equivalentes camada de enlace (ou link) e camada física do modelo. O protocolo possui comandos para envio de dados discretos (entradas e saídas digitais) ou numéricos (entradas e saídas analógicas).

Modelo de comunicação

O protocolo Modbus define que o modelo de comunicação é do tipo mestre-escravo (ou cliente-servidor). Assim, um escravo não deve iniciar nenhum tipo de comunicação no meio físico enquanto não tiver sido requisitado pelo mestre. Por exemplo, a estação mestre (geralmente um PLC) envia mensagens solicitando dos escravos que enviem os dados lidos pela instrumentação ou envia sinais a serem escritos nas saídas, para o controle dos atuadores ou nos registradores. A imagem abaixo mostra um exemplo de rede Modbus com um mestre (CLP) e três escravos (módulos de entradas e saídas, ou simplesmente E/S). Em cada ciclo de comunicação, o CLP lê e escreve valores em cada um dos escravos.

Colisões de comunicação

É possível haver colisões durante o acesso ao meio compartilhado, e o protocolo não é específico em como solucioná-las. Como ilustração de um problema possível, suponha que, em uma dada aplicação do protocolo Modbus sobre um barramento RS485, o mestre requisita seus escravos em sequência. Suponha também que o mestre, após um tempo específico, passa a requisitar o escravo seguinte, tendo recebido ou não uma resposta do escravo anterior. Nesse caso, se o primeiro escravo demora mais tempo para responder do que o tempo que o mestre espera, pode acontecer de o primeiro escravo responder bem no período em que o mestre resolveu fazer a requisição ao escravo seguinte, ou no período em que o segundo escravo já tinha iniciado sua resposta, havendo colisão no meio. Não há nada especificado no protocolo para resolver esse tipo de problema. Cabe à aplicação implementar corretamente o acesso ao meio, os parâmetros de time-out etc.

Frames de comunicação

A comunicação em Modbus obedece a um frame que contém o endereço do escravo, o comando a ser executado, uma quantidade variável de dados complementares e uma verificação de consistência de dados (CRC).

Exemplo-1: Se o PLC precisa ler as 10 primeiras entradas analógicas (do endereço 0000 ao 0009) no módulo 2. Para isso é preciso utilizar o comando de leitura de múltiplos registros analógicos (comando 3). O frame de comunicação utilizado é mostrado abaixo (os endereços são mostrados em sistema hexadecimal):

A resposta do escravo seria um frame semelhante composto das seguintes partes: O endereço do escravo, o número do comando, os dez valores solicitados e um verificador de erros (CRC). Em caso de erros de resposta (por exemplo um dos endereços solicitados não existe) o escravo responde com um código de erro.

Uma pequena recordação: Para se entender este frame de resposta, antes precisamos saber corretamente o que é um byte. Cada palavra tem as seguintes formas, – bit, – nible, – byte e – word. Segue abaixo uma tabela representação de cada formato.

A resposta para a pergunta acima seria a seguinte:

O primeiro byte (02) é o endereço do Escravo; O segundo byte (03) é a função utilizada para leitura, sendo essa um Holding Register; O terceiro byte é a quantidade de endereços que o Escravo está enviando ao Mestre, sendo que a cada 2 bytes se forma uma Word que significa uma palavra de 16 bit, por isso este frame tem 14 (hexadecimal) = 20 bytes que é = 10 word ou 10 palavras de 16 bits que tem seu range mínimo de -32768 até 32767. Com isso entendemos que o Escravo respondeu 10 endereços ao Mestre e todos com o valor zero.

Comandos Modbus

A tabela a seguir apresenta os principais comando (funções) do protocolo Modbus.

Modbus RTU

O termo RTU, do inglês Remote Terminal Unit, refere-se ao modo de transmissão onde endereços e valores são representados em formato binário. Neste modo para cada byte transmitido são codificados dois caracteres. Números inteiros variando entre -32768 e 32767 podem ser representados por 2 bytes. O mesmo número precisaria de quatro caracteres ASCII para ser representado (em hexadecimal). O tamanho da palavra no modo RTU é de 8 bits.

Modbus ASCII

Os dados são dados codificados e transmitidos através de caracteres ASCII – cada byte é transmitido através de dois caracteres. Apesar de gerar mensagens legíveis por pessoas este modo consome mais recursos da rede. Por exemplo, para transmitir o byte 0x5B este deverá ser codificado em dois caracteres ASCII: 0x35 (“5”) e 0x42 (“B”). O tamanho da palavra no modo ASCII é de 7 bits. Somente são permitidos caracteres contidos nos intervalos:

  • 0-9
  • A-F

O intervalo entre duas mensagens deve ser de 3,5 caracteres.

Modbus TCP

Aqui os dados são encapsulados em formato binário em frames TCP para a utilização do meio físico Ethernet (IEEE 802.3). Quando o Modbus/TCP é utilizado, o mecanismo de controle de acesso é o CSMA-CD (Próprio da rede Ethernet) e as estações utilizam o modelo cliente-servidor.

Retrocompatibilidade e Conversores

Suponha que um PLC precisa trocar dados usando o protocolo Modbus-TCP com dispositivos antigos, que não suportam esse protocolo, e estão conectados em um barramento RS-485. Nesse caso, existem no mercado conversores Modbus-TCP<->Modbus Serial RS-232/485. Esses dispositivos diferem de um conversor puramente físico, que somente converteria os sinais elétricos de um protocolo físico para outro. Eles, em vez disso, implementam os protocolos TCP e IP, além de implementar também o protocolo Modbus.

Isso é necessário, pois é preciso haver uma conexão TCP entre o conversor e o CLP, já que essa conexão não pode existir diretamente com os equipamentos antigos. O conversor precisa, portanto, implementar o protocolo TCP e aceitar conexões através de sockets etc. Caso contrário, a comunicação não seria possível.

Além disso, o conversor precisará tirar os dados Modbus – que estão dentro do pacote IP, que por sua vez está dentro do quadro Ethernet – para enviar ao escravo correto no barramento RS-485.

Há também conversores com várias saídas seriais. Nesse caso, é possível separar os escravos em vários barramentos distintos, cada um em uma porta. No primeiro barramento, podem ser colocados os escravos cujos endereços vão de 1 ao 10; no segundo, de 11 a 20, e por aí em diante – isso é só um exemplo.

Nessa configuração, o conversor precisaria ler o pacote Modbus, interpretá-lo ao ponto de saber qual é o endereço do escravo de destino, para então enviá-lo à porta de saída correta.

Leia também