Share this

VMMORE multi-channel temperature controller communicates with S7-200 via Modbus.

2026-04-06 04:49:44 · · #1

This article details the application of Modbus communication between the VMMORE multi-channel temperature controller and the Siemens S7-200. The VMMORE multi-channel temperature controller acts as the slave station in the Modbus communication, while the Siemens S7-200 acts as the master station. The specific operation procedure is described in three main parts.

Part 1: Setup of the VMMORE multi-channel temperature controller at the station

You need to use the VMMORE programming software Epro to set the COM1 of the multi-channel temperature controller as a Modbus slave. If you haven't installed this software yet, please download and install Epro from the VMMORE website.

1. Open the Epro software and create a new project. There are two types of multi-channel temperature controllers: PC2MU-PT08 and PC2MU-TC08. This example uses PC2MU-PT08.

2. Click "OK". A project tree will pop up on the left side of the project. Double-click "Thermostat Communication Settings" in the image below;

3. In the pop-up temperature controller communication settings box, select COM1 configuration, set COM1 station number to 1, RTU mode, baud rate 9600, data bits 8 bits, stop bits 1 bit, odd parity, and response delay 2ms. Click the OK button;

4. Click the download icon or select online -> thermostat writing.

5. In the pop-up download box, select thermostat communication settings, click execute, and download to the thermostat.

Part Two: Programming on the S7-200 Main Station Side

For S7-200 master communication, the software version is V4.0 STEP 7 MicroWIN SP4 or later; the example uses SP6. S7-200 master communication requires the MBUS_CTRL and MBUS_MSG library files. If these are not added, you can open the Toolbox_V32-STEP 7-Micro WIN 32 Instruction Library in the compressed package and install the instruction library files. After successful installation, you will see "modbus master" in the library list of the project tree in a new project. Clicking on "modbus master" will show the MBUS_CTRL and MBUS_MSG library files.

Taking the CPU224 as an example, this article introduces the Modbus communication programming of S7-200.

1. MBUS_CTRL is used to set the communication parameters of Port0 of the master PLC.

EN must be called every cycle, driven by SM0.0;

When Mode is 1, Port0 uses the Modbus protocol; when it is 0, the Modbus protocol is disabled.

Band and baud rate settings can be consistent with the slave settings; in the example, it is set to 9600.

Parity, the parity check method selection. 0 for no parity, 1 for odd parity, 2 for even parity; the example is set to odd parity.

Timeout, communication timeout period, in milliseconds, typical setting is 1000ms;

Done, keep it at 1;

Error, error code: 0 = no error, 1 = checksum error, 2 = baud rate error, 3 = timeout error, 4 = mode error;

2. MBUS_MSG is used to configure read and write operations on the slave registers. The read operation is described here:

EN must be called every cycle, driven by SM0.0;

When First is 1, a single send request is generated, driven by the rising edge, and cannot be called consecutively.

Slave, the slave station number, is set to 1 in the example;

RW, read/write operation selection, 0 for read operation, 1 for write operation;

Addr reads the slave register address: 00xxx bit output (coil), 10xxx bit input (contact), 30xxx analog input register, 4xxxx holding register. In the example, it is set to 48513, which is the Modbus address of R0 of the slave multi-channel temperature controller.

Count, the number of registers read and written, is set to 8 in the example;

DataPtr, the storage address for reading and writing data, is set to &VB0 here. This means that the contents of the 8 registers starting from the slave Modbus address 8513 are read and stored in the 8 word elements starting from VW0.

3. MBUS_MSG is used to configure read and write operations on slave registers; the write operation is described here.

EN must be called every cycle, driven by SM0.0;

When First is 1, a single send request is generated, driven by the rising edge, and cannot be called consecutively.

Slave, the slave station number, is set to 1 in the example;

RW, read/write operation selection, 0 for read operation, 1 for write operation;

Addr reads the slave register address: 00xxx bit output (coil), 10xxx bit input (contact), 30xxx analog input register, 4xxxx holding register. In the example, it is set to 48531, which is the Modbus address of R18 of the slave multi-channel temperature controller.

Count, the number of registers read and written, is set to 8 in the example;

DataPtr, the storage address for reading and writing data, is set to &VB100 here. This means that the contents of the 8 registers starting from VW100 of the master station will be written to the 8 registers starting from the Modbus address 8513 of the slave station.

Note two points:

1. There can be multiple MBUS_MSGs in the program, but only one MBUS_MSG can be enabled at the same time;

2. When adding library files for the first time and using MBUS_CTRL and MBUS_MSG, you need to allocate 284 bytes of global V storage area for these two library files; otherwise, the compilation will fail. The specific steps are as follows:

2.1 Select the program block, right-click, and select Library Storage Area;

2.2 In the pop-up dialog box, set the starting address of the library storage area. The first 284 bytes at this address will then be occupied and cannot be used elsewhere.

Part Three: Communication Connection between VMMORE Multichannel Temperature Controller and CPU224. The communication connection adopts the 485 connection method.

The VMMORE multi-channel temperature controller's COM1 port has two terminals, 485+ and 485-;

The definition of Port0 of CPU224 is as follows:

The wiring diagram is as follows:

Read next

CATDOLL Milana Soft Silicone Head

You can choose the skin tone, eye color, and wig, or upgrade to implanted hair. Soft silicone heads come with a functio...

Articles 2026-02-22