Modbus Server
O MHO Keeper pode ser configurado como um Modbus Server, que responde a requisições de um dispositivo Modbus Client. Nesse modo o equipamento serve como uma ponte de configuração e monitoramento remoto. Quando o Keeper opera no modo server, o client que está requisitando os dados deverá interpretar os registros da seguinte forma:
base 0: Os endereços são interpretados como início em 0. Caso o dispositivo Client interprete de outra forma, pode ser necessário deslocar os endereços no client;Dados no modo big-endian: Caso o dispositivo Client trabalhe em outra formatação é necessário ativar modos de manipulação de dados no dispositivo client como Word-Swap, byte-swap entre outros.
Os dados são escritos da seguinte forma:
| Código (DEC) | Função | Descrição |
|---|---|---|
| 02 | Read discrete Inputs | Ler DIs; Ler parâmetros booleanos recebidos do servidor. |
| 01 | Read Coils | Ler DO; Ler parâmetro de envio ao servidor. |
| 05 | Write single coils | Alterar status DO; (*) Alterar parâmetro booleano de envio ao servidor. |
| 15 | Write multiple Coils | Alterar status DOs; (*) Alterar parâmetros booleanos de envio ao servidor. |
| 04 | Read input Register | Ler AIs; Ler parâmetros inteiros recebidos do servidor. |
| 03 | Read hold Register | Ler parâmetros de envio ao servidor. |
| 06 | Write single Register | (*) Alterar parâmetro de envio ao servidor. |
| 16 | Write multiple Register | (*) Alterar parâmetro de envio ao servidor. |
Configuração de comunicação
Para realizar a configuração dos parâmetros de comunicação serial, é utilizado o webserver do equipamento, siga as instruções contida na base de conhecimento para acessar o webserver primeiros passos.
Tabelas de endereços
O endereçamento Modbus sofre modificações conforme o modelo de equipamento e quantidade de endereços solicitados, segue abaixo o tipo do equipamento a ser especificado:
| Função | Qt. de Memórias | Uso |
|---|---|---|
| Coils | 500 | Enviar dados binários para o servidor |
| Discrete Inputs | 500 | Receber dados binários do servidor |
| Holding registers | 500 | Enviar dados numéricos para o servidor |
| Input registers | 500 | Receber dados numéricos do servidor |
As seguintes funções estão disponíveis:
| Código (DEC) | Função |
|---|---|
| 02 | Read discrete Inputs |
| 01 | Read Coils |
| 05 | Write single coils |
| 15 | Write multiple Coils |
| 04 | Read input Register |
| 03 | Read hold Register |
| 06 | Write single Register |
| 16 | Write multiple Register |
Coils (MB)
Enviar valores binários ao servidor e ler/comandar DOs
| Memória | Função | Notas |
|---|---|---|
| 1-1000 | Disponível para telemetria | - |
| 1001-5000 | Reservado | - |
| 5001 | DO1 | true ativo, false inativo |
| 5002 | DO2 | true ativo, false inativo |
| 5003 | DO3 | true ativo, false inativo |
| 5004 | DO4 | true ativo, false inativo |
| 5005 | DO5 | true ativo, false inativo |
| 5006 | DO6 | true ativo, false inativo |
| 5007 | DO7 | true ativo, false inativo |
| 5008 | DO8 | true ativo, false inativo |
| 5009 | DO9 | true ativo, false inativo |
| 5010 | DO10 | true ativo, false inativo |
| 5011 | DO11 | true ativo, false inativo |
| 5012 | DO12 | true ativo, false inativo |
| 5013 | DO13 | true ativo, false inativo |
| 5014 | DO14 | true ativo, false inativo |
| 5015 | DO15 | true ativo, false inativo |
| 5016 | DO16 | true ativo, false inativo |
Discrete inputs (DIN)
Receber valores binários ao servidor e ler DIs
| Memória | Função | Notas |
|---|---|---|
| 1-1000 | Disponível para telemetria | - |
| 1001-5000 | Reservado | - |
| 5001 | DI1 | true ativo, false inativo |
| 5002 | DI2 | true ativo, false inativo |
| 5003 | DI3 | true ativo, false inativo |
| 5004 | DI4 | true ativo, false inativo |
| 5005 | DI5 | true ativo, false inativo |
| 5006 | DI6 | true ativo, false inativo |
| 5007 | DI7 | true ativo, false inativo |
| 5008 | DI8 | true ativo, false inativo |
| 5009 | DI9 | true ativo, false inativo |
| 5010 | DI10 | true ativo, false inativo |
| 5011 | DI11 | true ativo, false inativo |
| 5012 | DI12 | true ativo, false inativo |
| 5013 | DI13 | true ativo, false inativo |
| 5014 | DI14 | true ativo, false inativo |
| 5015 | DI15 | true ativo, false inativo |
| 5016 | DI16 | true ativo, false inativo |
Holding register (MI)
Enviar valores 16 bits ao servidor
| Memória | Função | Notas |
|---|---|---|
| 1-1000 | Disp. telemetria | - |
| 1001-5000 | Reservado | - |
Input register (IR)
Receber valores 16 bits do servidor e ler AIs
| Memória | Função | Notas |
|---|---|---|
| 1-1000 | Disponível para telemetria | - |
| 1001-5000 | Reservado | - |
| 5001 | AI1 | int16 - Valor de leitura do conversor AD |
| 5002 | AI2 | int16- Valor de leitura do conversor AD |
| 5003 | AI3 | int16 - Valor de leitura do conversor AD |
| 5004 | AI4 | int16 - Valor de leitura do conversor AD |
| 5005 | AI5 | int16 - Valor de leitura do conversor AD |
| 5006 | AI6 | int16 - Valor de leitura do conversor AD |
| 5101 ~ 5104 | DI1p | uint64 - Contador de pulsos |
| 5201 ~ 5204 | DI1hm0 | uint64 - Horímetro de nível baixo da DI, em segundos |
| 5301 ~ 5304 | DI1hm1 | uint64 - Horímetro de nível alto da DI, em segundos |