Creating a Customized MODBUS Program for a Remote Terminal Unit


Thread Starter


Hi Everyone,

I have here a unit of King Pigeon S275 Remote Terminal Unit. This RTU has communication modules for GSM, GPRS and TCP/IP (via RJ45 connection). I can also communicate with this RTU by connecting it to my computer via USB.

The Manual I uploaded in this link...

This RTU can be configured using a configurator Software that is included in the purchase. By using that configurator software, you can also see the data/readings of all sensors connected to it, you can also see the status of all Digital Input/contacts connected to the RTU...

I have been researching about MODBUS the past days and I would like to create my own MODBUS program so that the S275 RTU can also send the sensors' data, or all the I/O data to my own program....

However ... I still do not know where I can start ...
Can I make this Modbus Program
1. using VB?
2. using PHP?

What other parameters do I need to know ?
and tutorials for making this modbus software...

I also uploaded here the S275's;
1. GPRS Custom Protocol
2. MODBUS TCP Handshake Communication Protocol
3. Register Address

You can consider using AdvancedHMI. It will give you a huge jump start with communicating to a ModbusRTU device. Just add a ModbusRTUCom to the form, set the communication properties, then add something like a BasicLabel and set PLCAddressValue to a valid address such as 40001.

Run the app and that's it.
I've created a DDE Server for MODBUS TCP-IP, but it was not for your device (KING PIGEON').

But the working principle is similar. When HINET DDE SERVER connecting to the device, this application is receiving packets from the device and then send back the package to the device for Handshaking.

For a device you use, the first packet is received like this:
7b 01 00 10 31 31 32 33 33 33 33 33 33 33 33

Then HINET DDE SERVER will send back the package like this:
7b 81 00 10 31 31 32 33 33 33 33 33 33 33 33

Please try yourself, this link to download HINET DDE SERVER is here ->

thank you..

Curt Wuollet

You could probably implement that in almost any computer language. I've been working with Python lately. You can get C(C++?) examples from

And you will need to read and understand the latest protocol documents.

It is non-trivial programming, more so for a slave than a master. I'm checking out available libraries, not necessarily because I couldn't write my own, but because I need something working in the near and foreseeable future. Even though Modbus is mature technology, there are many subtle issues to be handled.