Learn how to map Modbus Address To KEPServerEX. The purpose of this article is to demonstrate how to define a tag in KEPServerEX for Modbus points. This is applicable for both Modbus RTU (Serial) and Modbus TCP (Ethernet)
Before you proceed, you will have to define the Modbus Slave connection (“New Device”) in KEPServerEX context. See screenshot below.
Another thing to note is the Modbus ranges
- Modbus Coil register spans from 00001 to 09999 (inclusive), and every register represents 1 bit. You can read and write to this register.
- Modbus Discrete Input spans from 10001 to 19999 (inclusive), and every register represents 1 bit. This is a read only register.
- Modbus Input Register spans from 30001 – 39999 (inclusive), and every register represents 16 bits. This is a read only register.
- Modbus Holding Register spans from 40001 – 49999 (inclusive), and every register represents 16 bits. This is a read and write register.
This how to setup a KEPServerEX tag to read Coil and/or Discrete Input Modbus registers (in the KEPServerEX).
Note that I am reading a coil with Modbus address 10002 and it is defined as Boolean.
This is how to setup a KEPServerEX tag to read unsigned Modbus Input Register (in the KEPServerEX). Output numeric range from 0 to +65535.
If it has to be setup as a signed Modbus Input Register (rangte from -32767 to +32767), it has to be identified as SHORT. See screenshot below
This how to setup a KEPServerEX tag to read a Modbus Holding Register as a 16bit number
And floating point tag in KEPServerEX can be setup this way. Note that a floating point will cover 2 Modbus registers (32bit); that is, address 40005 and 40006 (for the scrteenshot below).