Simulador Mestre Modbus

O Modbus Master é um simulador gratuito desenvolvido pela EQUINOX que permite testar dispositivos de automação escravos do tipo Modbus.

Suporta as seguintes variantes do protocolo:

  • Modbus ASCII
  • Modbus RTU
  • Modbus TCP

Independentemente da variante utilizada, ele suporta o transporte de dados tanto por portas seriais quanto por Ethernet (TCP/IP). Isso proporciona maior flexibilidade em relação a outros simuladores disponíveis no mercado.

Simulador Mestre Modbus EQUINOX

Licença e download

Este programa é software livre, disponível sob a licença GPLv3.

Pode ser redistribuído e utilizado sem restrições, sob responsabilidade do usuário e sem garantia.

O programa é portátil: descompacte o arquivo ZIP e comece a utilizá-lo.

Baixar

Modo de uso

Parâmetros da janela principal

Modbus settings

Parâmetro Descrição
Function code Tipo de dado a ser consultado: Coils, Input Contacts, Holding Registers, Input Registers
Slave address Endereço Modbus do escravo a ser consultado
First data object Endereço do primeiro objeto a ser consultado (do tipo de dado selecionado). Neste parâmetro não deve ser considerado o endereço base do tipo de dado a consultar (10.000 para Input Registers, 30.000 para Input Registers, 40.000 para Holding Registers).
Quantity Quantidade de objetos a consultar

Operating mode

Parâmetro Descrição
Mode Modo de operação (ver tabela a seguir)
Variant Variante Modbus a ser utilizada: TCP, RTU ou ASCII. Qualquer uma das três variantes pode ser utilizada tanto com portas seriais quanto com sockets TCP/IP (de acordo com a configuração definida em Settings –> Communication)
Scan rate A cada quantos segundos será enviada uma consulta
Data format Formato em que os dados recebidos serão apresentados (formato lista ou formato tabela)

Mode

Parâmetro Descrição
Poll once Consultar apenas uma vez
Poll continuosly Consultar de forma contínua, com intervalo em segundos definido por “Scan rate”
Scan (step “x”) Consultar blocos consecutivos de “x” objetos cada um, até totalizar a quantidade definida em “Quantity”, começando pelo objeto “First data object”, com intervalo em segundos definido por “Scan rate”

Parâmetros de configuração

Estes são especificados no menu Settings–>Communication

Parâmetro Descrição
Connection type Selecione “Serial” para portas seriais e TCP/IP para usar sockets. Esta seleção não determina a variante Modbus a ser utilizada (RTU, TCP ou ASCII), podendo ser usada qualquer uma delas tanto por portas seriais quanto por sockets.

Serial settings

Parâmetro Descrição
Serial port Porta serial a ser utilizada (somente para “Connection type” do tipo “Serial”
Bitrate Velocidade 1200, 2400, 4800, 9600, 19200, 38400, 57600 ou 115200 bps
Parity Paridade par, ímpar, marca ou espaço (ou nenhuma)
Data bits Quantidade de bits de dados
Stop Bits Quantidade de bits de stop

TCP/IP settings

Parâmetro Descrição
Host Host ao qual o simulador se conectará. Pode ser um endereço ip ou um hostname
Port Porta do host onde escuta o escravo Modbus ao qual se deseja conectar

Formatos de apresentação dos dados

Formato tabela

Neste modo são exibidas células, uma para cada objeto do tipo de dado selecionado. As células correspondentes aos objetos que tenham sido consultados serão preenchidas com o valor correspondente (0 ou 1 para os tipos de dados digitais ou o valor correspondente para os analógicos).

Simulador Mestre Modbus EQUINOX

Formato lista

É exibida a lista dos objetos consultados: a primeira coluna é o endereço do objeto, a segunda é o seu nome (ver a seção seguinte: “Arquivo modbus.map”), a terceira coluna é o valor atual, a quarta coluna é o valor da consulta anterior (útil para realizar comparações entre consultas), e a quinta coluna é a marca de tempo de quando cada objeto foi consultado.

Simulador Mestre Modbus EQUINOX

Arquivo modbus.map

O simulador permite definir os nomes dos objetos para cada tipo de dado; esses nomes serão utilizados quando os dados forem apresentados no “Formato lista”.

Para isso, deve-se criar um arquivo chamado “modbus.map” na mesma pasta onde o programa se encontra. O conteúdo do arquivo deverá seguir o seguinte formato de exemplo:

1,2,2048,CTRL.CBCSWI1.Pos.Oper.ctlVal Select open (1=Select)
1,2,2049,CTRL.CBCSWI1.Pos.Oper.ctlVal Select close (1=Select)
1,2,2050,CTRL.CBCSWI1.Pos.Oper.ctlVal Cancel selection (1=Cancel)
1,2,2051,CTRL.CBCSWI1.Pos.Oper.ctlVal Execute selection (1=Execute)

Trata-se de quatro parâmetros separados por vírgula:

Parâmetro Descrição
Parâmetro 1 Endereço do escravo Modbus
Parâmetro 2 Tipo de dado (1 para Coils, 2 para Input Status, 3 para Holding Registers, 4 para Input registers)
Parâmetro 3 Endereço do objeto
Parâmetro 4 Nome do objeto