Actions

MD20003 Modbus RTU 12 SSR / 8 IN (EN)

From Modig.pl Wiki

Revision as of 18:58, 31 May 2026 by Grzegorzbecker (talk | contribs) (Created page with "==== Description ==== <b>Universal control card operated via RS485 and Modbus with 12 SSR relays and 8 inputs with optoisolation</b><br><br> The Modig Modbus RTU 12 SSR / 8 IN module is equipped with 12 solid-state relays (SSR) and 8 inputs with galvanic isolation. All outputs and inputs are controlled and read using standard Modbus commands transmitted via the RS485 interface. The control interface is equipped with galvanic isolation and surge protection, ensur...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Description

Universal control card operated via RS485 and Modbus with 12 SSR relays and 8 inputs with optoisolation

The Modig Modbus RTU 12 SSR / 8 IN module is equipped with 12 solid-state relays (SSR) and 8 inputs with galvanic isolation. All outputs and inputs are controlled and read using standard Modbus commands transmitted via the RS485 interface. The control interface is equipped with galvanic isolation and surge protection, ensuring stable operation even in installations exposed to severe interference. The communication and operational parameters of the module can be flexibly configured and adapted to the requirements of various applications.





Basic features and parameters

  • 12 SSR relay outputs - 100…240 V AC, 0.1…2 A, zero-cross switching
  • total current of all outputs must not exceed 10 A
  • 8 inputs with optoisolation - ON/OFF type inputs, active after connecting a voltage in the range of 5…25 V
  • current consumption of optoisolated inputs - approx. 2…12 mA for voltages of 5…25 V
  • RS485 interface with galvanic isolation and surge protection
  • configurable communication parameters:
    • baud rate: 1200…1000000;
    • parity: none/even/odd;
    • stop bits: 1/1.5/2
  • 5 V DC power supply (4.9…5.3 V DC) with a minimum capacity of 0.5 A via USB-C connector or DC 2.1/5.5 barrel jack
  • 7…28 V power supply, min. 0.5 A via Phoenix MC 3.81 mm connector
  • control and settings configuration via Modbus commands
  • measurement of power supply voltage (on the 5V side) and module temperature
  • dimensions: 200x110x60 mm
  • mounting on DIN-35 rail




Relay connectors

Relay

circuits operate under mains voltage - nominally 230 V

AC. This voltage is dangerous to human life, and all work 

must be carried out in compliance with safety regulations and under the supervision of a qualified professional.


The SSR relay outputs are routed to screw terminals with a 7.5 mm pitch. Each of the 12 outputs in the active state supplies an AC voltage with a maximum value of 240 V AC and a maximum current of 2 A. The total current of all active outputs must not exceed 10 A. In a situation where all outputs are active simultaneously, the current on each of them should not exceed 0.8 A (power approx. 180 W).

Solid-state relays (SSR) have specific properties that should be kept in mind:

  • they operate only with alternating voltage (AC),
  • they implement the zero-cross switching function (Zero Cross), thereby minimizing EMI generation and inrush currents,
  • they are not suitable for switching inductive loads of medium and high power,
  • they do not provide galvanic isolation - even in the off-state, they cause a small leakage current (approx. 2 mA) on the output,
  • they may cause flickering of very low-power LED light bulbs.


The active state for a given output is indicated by the lighting of an LED located near the terminals of that connector. The layout of individual pinouts is shown in the figure.


One wire of the supply voltage for the output circuits must be connected to the "AC PWR IN" terminals. These are 4 terminals connected to each other; both wires of the output circuit supply voltage must not be connected there. An example circuit controlled by the Modig Modbus 12 SSR / 8 IN is shown in the figure.





Input Connectors

The Modig Modbus 12 SSR / 8 IN module is equipped with 8 inputs with optoisolation. A DC voltage ranging from 5…25 V with the correct polarity can be connected to the inputs, which will be read as an active state (logical 1). Current consumption in the active state is approx. 2…12 mA. The absence of voltage on the inputs will be read as an inactive state (logical 0).



Each input has '+' and '-' contacts routed to screw terminals with a 5.08 mm pitch. Connecting a voltage with the correct polarity will set the active state for the given input and cause the LED located near the terminals of that input to light up. The layout of the individual pinouts is shown in the figure.




RS485 Interface

The RS485 interface is brought out in the form of a Phoenix Contact MC 3.81 mm connector with 4 pins. Depending on the installation, only lines A+ and B- or all T, A+, B-, G can be used. Their functions are described in the table.



Designation Function
120 Ω / T Activation of the internal 120 Ω

termination resistor. The resistor is active when the T contact is connected to the A+ contact, e.g., via a jumper installed directly in the plug.

A+ Line A of the RS485 bus (positive potential)
B- Line B of the RS485 bus (negative potential)
GND / G Bus ground GND of the RS485 interface.


The RS485 interface is galvanically isolated from the other components and equipped with surge protection elements, ensuring stable operation even in installations exposed to severe interference.



RS485 communication parameters are configured via Modbus commands; the default settings are: 19200, 8, none, 1.



The Modig Modbus 12 SSR / 8 IN module can be connected to an RS485 bus that links up to 64 devices (including the module). Each device should be connected in such a way that no bus branches are formed - any branch connections should be as short as possible. It is recommended to connect 120 Ω termination resistors at both ends of the bus. The Modig Modbus has such a resistor integrated, but for it to be active, the A+ and T contacts must be connected together in the plug.



The figure shows a simplified schematic of the RS485 bus, terminated on one side with a 120 Ω termination resistor, and on the other side with the termination resistor integrated into the module. Furthermore, correct and incorrect device connections to the bus are shown.




Power Supply

The Modig Modbus 12 SSR / 8 IN module is equipped with 3 different power connectors. Only one of them must be selected, and power of the appropriate parameters and correct polarity must be connected. Detailed information can be found in the table and the figure.



Connector Function
USB-C (J3) Standard USB-C socket, serves only

as a power supply connector. A power adapter/charger with a voltage of 5 V DC (4.9…5.3 V) and a current of min. 1 A must be connected.

2.1/5.5 (J2) 2.1/5.5 barrel jack compatible with

"wall wart" power adapters. A power adapter/charger with a voltage of 5 V DC (4.9…5.3 V) and a current of min. 1 A must be connected.

Mind the polarity - positive in the center.

MC 3.81 mm (J1) Connector with a plug for terminal wire connection.

A power source with a voltage in the range of 7…28 V DC and a current of min. 0.5 A must be connected.

Mind the polarity - positive on the side of the inputs.



Signaling LEDs

There are two indicator LEDs on the Modig Modbus 12 SSR / 8 IN board that provide information about the device operation.



Indicator Function
STA LED lit with a short cyclic blanking indicates correct operation of the device
BUS Flashing LED indicates receiving data from the RS485 bus and Modbus commands





Restoring Settings

There is a SET microbutton located on the Modig Modbus 12 SSR / 8 IN board. Pressing and holding it for approx. 5 seconds will cause all settings (values of configuration registers) to be restored to their default values. This function is useful in situations where, due to incorrect parameter configuration, it is impossible to send Modbus commands to the module. Restoring default settings will set the RS485 communication parameters to: 19200, 8, none, 1 and the module address to "1".




Configuration Registers (Holding Registers)

All parameters of the device are defined by the values of configuration registers, so-called Holding Registers. Registers can be read and written via Modbus commands, allowing the user to change the operation of the device. The list of registers and their functions are described in the table.



Register number (hex) Name Description Default value /

value range

x4000 Address Specifies the module address when controlled by Modbus commands 1 (x0001)

1…255

x4002 Coils Contains a value specifying the number of outputs

(Coils) available in the module.
Read-only value

8 (x0010)
x4004 Inputs Contains a value specifying the number of inputs (Discrete inputs) available in the module.

Read-only value

12 (x0000)
x4006 Baud Specifies the RS485 communication speed (baud).
Value without the last 2 zeros, e.g.:

1200 = 12 = x000C; 2400 = 24 = x0018

4800 = 48 = x0030; 9600 = 96 = x0060

19200 = 192 = x00C0; 57600 = 576 = x0240

115200 = 1152 = x0480;

256000 = 2560 = x0A00

192 (x00C0)

12…10000

x4008 Parity Specifies the parity during RS485 communication.
0 - none; 1 - even; 2 - odd
0 (x0000)

0…2

x400A Stop Specifies the stop bits during RS485 communication.

1 - 1 stop bit; 2 - two stop bits

1 (x0001)

1…2

x400C Broadcast Defines whether the device executes

commands with the broadcast address of 0 (x00). 0 - no, 1 - yes

1 (x0001)

0…1

x400E CRC Defines whether the device verifies the checksum in Modbus commands. 0 - no, 1 - yes 0 (x0000)

0…1

x4010 Response Allows sending responses to Modbus commands.

0 - does not send any responses,

1 - sends responses to Modbus commands

1 (x0001)

0…1

x4012 IO Offset Specifies from what value inputs and outputs (coils) are counted

0 - inputs/outputs start from 0 (0…15)

1 - inputs/outputs start from 1 (1…16)

1 (x0001)

0…1

x4014

or

x8000

Version Contains the firmware software version.

value 10 - means 1.0 etc.

Read-only value

10 (x00A0)
x2000 ExBaud Allows setting communication parameters to one of the predefined values.

The lower byte corresponds to the baud rate:

0 - 4800, 1 - 9600, 2 - 19200, 3 - 38400

4 - 57600, 5 - 115200, 6 - 12800, 7 - 256000

8 - other value

The upper byte specifies the parity:

0 - none, 1 - even, 2 - odd

x0002

x0000…x0208



Measurement Input Registers

The device is equipped with measurement circuits for the power supply voltage and temperature, which allow monitoring the module's operating conditions and avoiding failures. The measurement results are available in the measurement input registers, so-called Input Registers. Measurement registers can be read via Modbus commands.



Register number (hex) Name Description Value range
x3000 Voltage Power supply voltage measurement value. Value 495 = 4.95 V etc. 330…550
x3002 Temp Module temperature measurement. Temperature value 24 (x0018) means 24 degrees C.

Temperature range: -20…-1 is stored as xFF14…xFF01

Temperature range: 0…70 is stored as x0000…x0046

-20…-1 *C =

xFF14…xFF01

0…70 *C =

x0000…0046




Modbus Standard Control Commands

Each command in the Modbus standard has the form of a data frame, the structure of which is shown in the figure:

Consecutive frames must be separated by an interval of at least 3.5 characters (the time required to transmit a full ASCII character), while the interval between the transmission of one character and the start of transmission of the next one within the same frame must not exceed 1.5 characters. These rules apply to communication speeds (baud rates) up to 19200.



If the communication speed is set above 19200, the minimum interval between frames has a constant value equal to 1.75 ms. Meanwhile, the interval between consecutive characters of the same frame must not exceed 0.75 ms.



Each device connected to the Modbus bus must have a unique address assigned. The address field is present in every transmitted frame, has a size of 1 byte, and can have a value in the range of 1…255. An address value of 0 is the so-called broadcast address and allows addressing the command to all devices connected to the bus. In some systems, it is not recommended to set addresses above the value of 247.



By default, outputs and inputs are numbered starting from 1. In this case, the first output is output number 1 (x01), and the last one is number 16 (0x10). The command descriptions and command examples refer specifically to this variant. However, the device can be configured so that outputs and inputs are numbered starting from 0. In that case, the first output is output number 0 (x00), and the last one is number 15 (0x0F). If the output number to which the control/read command refers exceeds the number of outputs contained in the device (15 or 16, depending on configuration), the command will not be executed and will remain unanswered.



There are several standard commands in the Modbus standard. Each of them, as well as example commands and device responses, are described in the subsequent sections of the manual.



List of Supported Modbus Commands

Command name Command code Function
Write Single Coil x05 Allows controlling the state of an output or outputs
Write Multiple Coils x0F Allows controlling the state of multiple outputs simultaneously, performing both turn-on and turn-off actions for specific outputs.
Read Coils x01 Allows reading the state of an output or outputs
Read Discrete Inputs x02 Allows reading the state of inputs. Since the

Modig Modbus 16R device does not have inputs for reading states, it reads the state of outputs in response to this command, similarly to the "Read Coils" command - x01.

Read Input Registers x04 Allows reading values from measurement input registers
Read Holding Registers x03 Allows reading values from configuration registers
Write Single Holding Register x06 Allows setting a value in a configuration register
Write Multiple Holding Registers x10 Allows setting values for several configuration registers



“Write Single Coil” Command - x05


The x05 command allows controlling the state of an output or outputs.



Data frame with x05 command 01 05 00 00 FF 00 8C 3A
Byte number Value (hex) Meaning
1 x01 Target device address
2 x05 “Write Single Coil” command - single output control
3…4 x0000 Number of the output to be controlled:

0 - none of the outputs, 1 - output 1 (first), 12 - output 12 (last)

x00FF - controls all outputs - from 1 to 12

5…6 xFF00 Value specifying the task to be performed:

x0000 - turn off (OFF), xFF00 - turn on (ON),

x5500 - toggle the state to the opposite (TOGGLE) ON->OFF / OFF->ON

7…8 x8C3A CRC16 checksum
Response A device that reads and executes the

command will send an identical frame in response:
01 05 00 00 FF 00 8C 3A


Similar commands:


  • A5 05 00 08 55 00 6A 7C - x05 command to the device with address 165

(xA5), output no. 8 (x0008) will toggle its state (x5500)

Response: A5 05 00 08 55 00 6A 7C


  • 14 05 00 10 00 00 9E CF - x05 command to the device with address 20

(x14), output no. 1 (x0001) will be turned off - OFF (x0000)

Response: 14 05 00 10 00 00 CE CF


  • 29 05 00 FF FF 00 BA 22 - x05 command to the device with address 41

(x29), all outputs (x00FF) will be turned on - ON (xFF00)

Response: 29 05 00 FF FF 00 BA 22



“Write Multiple Coils” Command - x0F


The x0F command allows controlling the state of multiple outputs simultaneously, performing both turn-on and turn-off actions for specific outputs.



Data frame with x0F command 01 0F 00 01 00 03 02 00 05 27 76


Byte number Value (hex) Meaning
1 x01 Target device address
2 x0F “Write Multiple Coils” command - multiple output control
3…4 x0001 Number of the output from which the control will start:

0 - none of the outputs will be controlled,

1 - from output 1 (first), 12 - from output 12 (last)

5…6 x0003 Number of outputs to be controlled:

0 - none of the outputs will be controlled

1 - one output, 12 - to control 12 outputs

7 x02 Number of data bytes containing the control sequence - must be 2
8…9 x0005 Control sequence, LSB -> output no. 1.

Bits with a value of 0 cause outputs to turn off,

bits with a value of 1 cause outputs to turn on.

x0005 = 00000000 00000101 - outputs 1 and 3 are turned on

10...11 x27 76 CRC16 checksum
Response A device that reads and executes the command will send the following frame in response:


01 0F 00 01 00 03 44 0A

1 x01 Address of the responding device
2 x0F “Write Multiple Coils” command - output control
3...4 x0001 Number of the output from which the control was started
5...6 x0003 Number of outputs that were actually controlled
7...8 x440A CRC16 checksum


If the number of outputs to be set exceeds the number of outputs contained in the device (after considering the starting output number from which control begins), the command will be executed correctly for the existing outputs. The response will return the number of outputs actually controlled.



Similar commands:

  • A5 0F 00 03 00 04 02 00 07 6C E6 - x0F command to the device with

address 165 (xA5), controls 4 (x0004) outputs starting from output no. 3 (x0003), the control sequence is: x0007 (00000000 00000111), which means it will turn on outputs 3, 4, 5 and turn off output 6.

Response: A5 0F 00 03 00 04 2C BD


  • 14 0F 00 06 00 05 02 00 00 14 DA - x0F command to the device with

address 20 (x14), controls 5 (x0005) outputs starting from output no. 6 (x0006), the control sequence is: x0000 (00000000 00000000), which means it will turn off outputs 6, 7, 8, 9, 10.

Response: 14 0F 00 06 00 05 77 0C (5 outputs controlled)


  • 29 0F 00 01 00 10 02 FF FF 1C 40 - x0F command to the device with

address 41 (x29), controls 16 (x0010) outputs starting from output no. 1 (x0001), the control sequence is: xFFFF (11111111 11111111), which means it will turn on all outputs from 1 to 12.

Response: 29 0F 00 01 00 0C 02 26




“Read Coils” Command - x01


The x01 command allows reading the state of an output or outputs.




Data frame with x01 command 01 01 00 02 00 04 9C 09


Byte number Value (hex) Meaning
1 x01 Target device address
2 x01 “Read Coils” command - reading output state
3…4 x0002 Number of the output from which the output state reading will start:

2 - reading from output no. 2

5…6 x0004 Value specifying how many outputs will be read:

4 - reading 4 outputs, namely: 2, 3, 4, and 5

7…8 x9C09 CRC16 checksum
Response A device that reads and executes the

command will send the following frame in response:
01 01 02 00 0C B9 F9

1 x01 Address of the responding device
2 x01 “Read Coils” command - reading output state
3 x02 Number of data bytes containing the response - 2
4…5 x000C Output state: 2 - OFF (0), 3 - OFF (0), 4 - ON (1), 5 - ON (1)

Binary: 00000000 00001100

6…7 xB9F9 CRC16 checksum


Similar commands:


  • A5 01 00 06 00 02 44 EE - x01 command to the device with address 165

(xA5), reading the state of 2 (x0002) outputs, starting from output 6 (x0006).

Response: A5 01 02 00 02 49 E4 - only output no. 7 is turned on (x0002)


  • 14 01 00 08 00 01 7E CD - x01 command to the device with address 20

(x14), reading the state of one (x0001) output, starting from output 8 (x0008).

Response: 14 01 02 00 00 B4 3F - output is turned off (x0000)


  • 29 01 00 20 00 08 3A 2E - x01 command to the device with address 41

(x29), reading the state of 8 (x0008) outputs, starting from output 32 (x0020).

Response: no response - cannot read the state starting from output 32


If the number of outputs to be read exceeds the number of outputs contained in the device (after considering the starting output number from which the state reading begins), non-existent outputs in the response will always have the OFF (0) state.




“Read Discrete Inputs” Command - x02


The x02 command allows reading the state of inputs. Since the KAmod Modbus 16R device does not have inputs for reading states, it reads the state of outputs in response to this command, similarly to the "Read Coils" command - x01.




Data frame with x02 command 01 02 00 02 00 04 D8 09


Byte number Value (hex) Meaning
1 x01 Target device address
2 x02 “Read Discrete Inputs” command - reading input state
3…4 x0002 Number of the input from which the input state reading will start:

2 - reading from input no. 2

5…6 x0004 Value specifying how many inputs will be read:

4 - reading 4 inputs, namely: 2, 3, 4, and 5

7…8 xD809 CRC16 checksum
Response A device that reads and executes the

command will send the following frame in response:
01 02 02 00 0C B9 BD

1 x01 Address of the responding device
2 x02 “Read Discrete Inputs” command - reading input state
3 x02 Number of data bytes containing the response - 2
4…5 x000C Input state: 2 - inactive (0), 3 - inactive (0), 4 - active (1), 5 - active (1);

Binary: 00000000 00001100

6…7 xB9BD CRC16 checksum


Similar commands:


  • A5 02 00 02 00 06 40 EC - x02 command to the device with address 165

(xA5), reading the state of 6 (x0006) inputs, starting from input 2 (x0002).

Response: A5 02 02 00 02 49 A0 - only input no. 3 is active (x0002)


  • 14 02 00 08 00 01 3A CD - x02 command to the device with address 20

(x14), reading the state of one (x0001) input, starting from input 8 (x0008).

Response: 14 02 02 00 00 B4 7B - input is inactive (x0000)


  • 29 02 00 20 01 00 7E 78 - x02 command to the device with address 41

(x29), reading the state of 16 (x0010) inputs, starting from input 32 (x0020).

Response: no response - cannot read the state starting from input 32


If the number of inputs to be read exceeds the number of inputs contained in the device (after considering the starting input number from which the state reading begins), non-existent inputs in the response will always have the inactive (0) state.





“Read Input Registers” Command - x04


The x04 command allows reading values from measurement input registers. In the Modig Modbus device, it is possible to measure the power supply voltage on the 5 V input (it does not measure the voltage on the 7….28 V input) and the module temperature.




Data frame with x04 command 01 04 30 00 00 02 7E CB


Byte number Value (hex) Meaning
1 x01 Target device address
2 x04 “Read Input Registers” command - reading measurement input registers
3…4 x3000 Number of the register from which the read will start.

x3000 - reading the power supply voltage measurement

x3002 - reading the module temperature measurement

5…6 x0002 Value specifying how many registers will be read:

1 - one, e.g., voltage only; 2 - both measurement registers

7…8 x7ECB CRC16 checksum
Response A device that reads and executes the

command will send the following frame in response:
01 04 04 02 06 00 18 1A 37

1 x01 Address of the responding device
2 x04 “Read Input Registers” command - reading measurement input registers
3 x04 Number of data bytes containing the response - 4
4…5 x0206 Voltage value - x0206 = 518, which means 5.18 V
6…7 x0018 Temperature value - x0018 = 24, which means 24 degrees C

Temperature range: -20…-1 is stored as xFF14…xFF01

Temperature range: 0…70 is stored as x0000…x0046

8…9 x1A37 CRC16 checksum


Similar commands:


  • A5 04 30 00 00 01 27 EE - x04 command to the device with address 165

(xA5), reading one register (x0001) number x3000, which is the power supply voltage measurement register.

Response: A5 04 02 01 F0 49 A0 - voltage is 4.96 V (x01F0 = 496)


  • 14 04 30 08 00 02 FD CC - x04 command to the device with address 20

(x14), reading two (x0002) measurement registers starting from number x3008.

Response: no response - there is no measurement register numbered x3008.


  • 29 04 30 02 00 02 7E 78 - x04 command to the device with address 41

(x29), reading two (x0002) measurement registers starting from number x3002.

Response: A5 04 02 00 18 C8 E3 - the device does not have measurement registers

numbered higher than x3002, therefore only one register numbered x3002 was read - module temperature = 24 (x0018) and there are only two data bytes (x02) in the response





“Read Holding Registers” Command - x03


The x03 command allows reading values from configuration registers.




Data frame with x03 command 01 03 40 00 00 01 91 CA


Byte number Value (hex) Meaning
1 x01 Target device address
2 x03 “Read Holding Registers” command - reading configuration registers
3…4 x4000 Number of the register from which the read will start.

Registers in the range x4000…x4014 as well as x2000, x8000 are available

5…6 x0001 Value specifying how many registers will be read:

1 - one, etc. maximum 8

7…8 x91CA CRC16 checksum
Response A device that reads and executes the

command will send the following frame in response:
01 03 02 00 01 79 84

1 x01 Address of the responding device
2 x03 “Read Holding Registers” command - reading configuration registers
3 x02 Number of data bytes containing the response - 2
4…5 x0001 Register numbered x4000 contains the address for Modbus commands, which in this case is 1 (x0001)
6…7 x7984 CRC16 checksum


Similar commands:


  • A5 03 40 06 00 04 28 EE - x03 command to the device with address 165

(xA5), reading four configuration registers (x0004), starting from number (x4006).

Response: 01 03 08 00 C0 00 00 00 01 00 01 C5 DB - values of 4 configuration registers, i.e., 8 bytes of data


  • 14 03 80 00 00 01 AF 0F - x03 command to the device with address 20

(x14), reading one (x0001) configuration register numbered x8000, which is the firmware version.

Response: 14 03 02 00 A0 B5 FF - response 2 bytes (x00A0) = 10 which means firmware version 1.0





“Write Single Holding Register” Command - x06


The x06 command allows setting a value in a configuration register.




Data frame with x06 command 01 06 40 00 00 01 5D CA


Byte number Value (hex) Meaning
1 x01 Target device address
2 x06 “Write Single Holding Register” command - writing a configuration register
3…4 x4000 Number of the register to which the new value will be written.

Registers in the range x4000, x4006…x4012 as well as x2000 are available

5…6 x0001 Value to be written to the register
7…8 x5DCA CRC16 checksum
Response A device that reads and executes the

command will send an identical frame in response:
01 06 40 00 00 01 5D CA


Similar commands:


  • A5 06 40 00 00 04 84 ED - x06 command to the device with address 165

(xA5), writing configuration register numbered x4000 with value 4 (x0004), i.e., assigning a new address value of 4.

Response: A5 06 40 00 00 04 84 ED


  • 14 06 40 0C 00 00 5E CC - x06 command to the device with address 20

(x14), writing configuration register numbered x400C with value 0 (x0000), i.e., disabling broadcast command handling.

Response: 14 06 40 0C 00 00 5E CC





“Write Multiple Holding Registers” Command - x10


The x10 command allows setting values for several configuration registers.




Data frame with x10 command 01 10 40 0C 00 03 06 00 01 00 00 00 01 8F 7E


Byte number Value (hex) Meaning
1 x01 Target device address
2 x10 “Write Multiple Holding Registers” command - writing several configuration registers
3…4 x400C Number of the register from which the write will start.

Registers in the range x4000, x4006…x4012 as well as x2000 are available

5…6 x0003 Value specifying how many registers will be written:

1 - one, etc. maximum 8

7 x06 Number of data bytes containing the values to be written
8…13 x0001

x0000

x0001

Three values to be entered into the configuration registers
14…17 x8F7E CRC16 checksum
Response A device that reads and executes the

command will send the following frame in response:
01 10 40 0C 00

03 55 CB
1 x01 Address of the responding device
2 x10 “Write Multiple Holding Registers” command - writing several configuration registers
3 x400C Number of the register from which the value writing was started
4…5 x0003 Value specifying how many registers were written
6…7 x55CB CRC16 checksum


Similar commands:


  • A5 10 40 00 00 01 02 00 03 6D 52 - x10 command to the device with

address 165 (xA5), writing one (x0001) configuration register starting from number x4000 with data of two bytes length (x02) equal to x0003, i.e., assigning a new address value of 3.

Response: A5 10 40 00 00 03 8C EC


  • 14 10 40 0C 00 02 04 00 01 00 00 D6 F5 - x10 command to the device with

address 20 (x14), writing two (x0002) configuration registers starting from number x400C with values x0001 and x0000, i.e., enabling broadcast command handling and disabling CRC checksum verification.

Response: 14 10 40 0C 00 02 96 CE