Modbus Register Ranges for ClearSCADA
Modbus PLCs use registers to store point data. There are many registers in a Modbus PLC. The registers are divided into blocks of 65536. ClearSCADA addresses each block of Modbus registers using the range 0 – 65535. The data stored in each block depends on the type of Modbus PLC.
The person that programmed and set up each Modbus PLC should have a list of the registers and values used. Use this information to determine the Register block and location on the Scanner Form, and the Word (and, where applicable, the bit) offset on each Point Form. This determines which data is scanned by each scanner.
Remember that registers comprise 16 bits (1 Word), whereas discretes and output coils comprise 1-bit values.
The first digit within each register range is used within ClearSCADA to define the type of data (as defined by the ‘Location’ field on the Scanner Form).
Example:
Modbus addressing can start at 0 or 1 (as specified on the Simple Modbus Scanner Form—see Configure the Scan Properties).
ClearSCADA addressing starts at 0. In this example, the Modbus registers start at address 1. Hence, for example, the Modbus register range 1-65535 maps to addresses 0-65536 within ClearSCADA.
ClearSCADA vs Modbus PLC Addressing
SL | Parameter | Modbus PLC | ClearSCADA |
---|---|---|---|
1 | Addressing starts | Modbus addressing can start at 0 or 1 | ClearSCADA addressing starts at 0 |
2 | Modbus register range | Modbus register range at PLC is 1-65535 | Modbus register range at ClearSCADA 0-65536 |
3 | |||
4 |
The first digit within each Modbus register range defines the type of data (‘Location’) within ClearSCADA. In this example, the digit 0 represents Output Coils, 1 represents Input Discretes, 3 represents Input Registers, 4 represents Holding Registers, and so on.
Thus, a Location of ‘Holding Registers’ and Data Address of 6 within ClearSCADA represents Modbus register 400007 (the 7th registers within the block that stores 16-bit I/O values).
Modbus Register Range | Modbus Master | Location Digit |
---|---|---|
1 – 65536 | Output Coils (with a ClearSCADA range of 0 – 65535) (For example, digital input points and digital output points.) | 0 |
100001 – 165536 | Input Discretes (with a ClearSCADA range of 0 – 65535) (For example, digital input points.) | 1 |
300001 – 365536 | Input Registers (with a ClearSCADA range of 0 – 65535) (For example, digital input points and analog input points.) | 3 |
400001 – 465536 | Holding Registers (with a ClearSCADA range of 0 – 65535) (For example, digital input points, digital output points, analog inputs, and analog output points.) | 4 |
400001 – 465536 | S600 Flow Computer 32-bit Float (with a ClearSCADA range of 0 – 65535)(For example, analog input points.) | 65 |
400001 – 465536 | S600 Flow Computer 64-bit Float (with a ClearSCADA range of 0 – 65535)(For example, analog input points.) | 67 |
The address information forms part of the Source status attribute that you can view for each Simple Modbus point in ClearSCADA (see Source).
For examples of how to configure ClearSCADA to fulfill Modbus scanning requirements, see Configuration Examples.
If the addressing on the Modbus PLCs on your system uses a greater number of digits than those indicated here, omit the extra zero(s) at the start of each address, then configure the properties within ClearSCADA in the usual way.