You are on page 1of 15

Modbus Protocol Specification for Apex100 Meter

Communication Protocol
Doc Version 004

Table of Content

1 INTRODUCTION .............................................................................................................. 2
1.1 Purpose of the Communications Protocol ............................................................................ 2
2 Modbus implementation on the Prometer 100 .................................................................. 2
2.1 Ground Rules .......................................................................................................................... 2
2.1.1 For RS485 ....................................................................................................................................... 2
2.1.2 For TCP/IP ...................................................................................................................................... 3
2.2 Configuring Modbus communication ................................................................................... 3
2.2.1 For RS485 ....................................................................................................................................... 3
2.2.2 For TCP/IP ...................................................................................................................................... 3
2.3 Modes of Transmission .......................................................................................................... 3
2.4 Description of the MODBUS packet structure over RS485................................................ 3
2.4.1 Slave Address Field ........................................................................................................................ 3
2.4.2 Function Field ................................................................................................................................. 4
2.4.3 Data Field........................................................................................................................................ 4
2.4.4 Error Check Field (Checksum) ....................................................................................................... 4
2.5 Description of the MODBUS packet structure over TCP/IP.............................................. 5
2.5.1 MBAP Header description .............................................................................................................. 5
2.6 Exception Responses .............................................................................................................. 5
2.6.1 Format of the exception response ................................................................................................... 6
3 PACKET COMMUNICATIONS ....................................................................................... 6
3.1 Function 03: Read Holding Registers ................................................................................... 6
3.2 Function 16: Preset Multiple Registers ................................................................................ 7
4 Interpretations of MODBUS registers ............................................................................... 9
4.1 Meter information .................................................................................................................. 9
4.1.1 Meter Serial Number ...................................................................................................................... 9
4.1.2 Meter Software Name ..................................................................................................................... 9
4.1.3 Meter Real Time ............................................................................................................................. 9
4.1.4 Meter Date and Time .................................................................................................................... 10
4.1.5 Protocol Version and Revision: .................................................................................................... 10
4.1.6 Tamper interpretation ................................................................................................................... 11
4.1.7 Meter Info ..................................................................................................................................... 11
4.1.8 MODBUS ID ................................................................................................................................ 12
4.1.9 MODBUS Default Baud Rate ....................................................................................................... 12
4.1.10 Previous SIP (Survey Integration Period) Status Flag .................................................................. 13
4.1.11 TOU Rate registers and Energy channels ..................................................................................... 14
5 Modbus Register mapping ............................................................................................... 14
6 Document History............................................................................................................. 14

NPD_SW_QF_171 Version 005 Modbus Protocol Page 1 of 15


Specification for
Prometer 100
Meter
Modbus Protocol Specification for Apex100 Meter

1 INTRODUCTION
This document describes the MODBUS communications protocol employed by the Prometer 100 and
how to pass information into and out of the Prometer 100 in a MODBUS network. It is assumed that
the reader is familiar with the MODBUS protocol and serial communications in general.

1.1 Purpose of the Communications Protocol


The purpose of the Prometer 100 MODBUS communications protocol is to allow measured data and
setup information to be efficiently transferred between a MODBUS Master Station and Prometer 100.
This allows interrogation of all data measured by an Prometer 100, which are exported via the
MODBUS Slave Prometer 100 meter Module. This document also describes how to scale MODBUS
data.

2 Modbus implementation on the Prometer 100


Prometer 100 supports modbus over RS485 and Ethernet (TCP/IP).

Channel Default / Protocol Default What for


Max supported communication
supported mode
Baud Rate
(bits per
sec)

RS485 (RJ 9600/57600 MODBUS MODBUS Third party interface


45 in & out) RTU – For
Online monitoring
online
monitoring

TCP/IP (RJ 10/100Mbps MODBUS Modbus mode Third party interface


45) Port A over TCP Online monitoring

Port No : 502

Note: It is recommended that only one channel at a time shall be used for modbus communication for
best response for modbus mapping version 0x0B00.

Note: It is recommended that client shall use minimum 1000ms for slave response timeout for
modbus mapping version 0x0B00 and 400 ms for modbus mapping version 0x0B01. In version
0x0B01 few modbus group are quick responsive hence user can access it by reducing slave response
timeout.

2.1 Ground Rules


2.1.1 For RS485

The Prometer 100 is capable of communication on RS-485 serial communication standards. The RS-
485 medium allows for multiple devices on a multi-drop network.
The following rules define the protocol for information transfer between a MODBUS Master device
and the Prometer 100.
NPD_SW_QF_171 Version Modbus Protocol Page 2 of 15
005 Specification for
Apex100 Meter
Modbus Protocol Specification for Apex100 Meter

1. All communications on the communications loop conforms to a MASTER / SLAVE scheme. In


this scheme, information and data is transferred between a MODBUS MASTER device and
up to 247 SLAVE monitoring devices for RS-485.
2. The MASTER will initiate and control all information transfer on the communications loop.
3. Under no circumstances a SLAVE device will initiate a communications sequence.
4. All PACKETS transmitted by the MASTER are REQUESTS. All PACKETS transmitted by a
SLAVE device are RESPONSES.
5. At most one SLAVE can respond to a single request from a MASTER.

2.1.2 For TCP/IP

1. IP address is used for addressing the Server (Slave) (Note that Modbus slave ID is not used
in this scheme for slave addressing).
2. At a time only one socket is allowed in Sever for modbus communication. I.e. more than one
Client can’t establish a modbus communication to a server simultaneously.

2.2 Configuring Modbus communication


2.2.1 For RS485
Factory configured Modbus ID and baud rate are 01 and 9600. These can be changed in field by
Modbus register writing. Method and Example is given in section 4.1.8 and 4.1.9.

2.2.2 For TCP/IP


There is no default (factory) configuration for TCP/IP. So it is necessary to configure the Prometer 100
for first time through M-Cubed SW (thru Serial channel).

2.3 Modes of Transmission


The MODBUS protocol uses ASCII and RTU modes of transmission. The Prometer 100 supports only
the RTU mode of transmission, with 8 data bits, no parity, and one stop bit.

2.4 Description of the MODBUS packet structure over RS485


Every MODBUS packet consists of four fields:
1. The Slave Address Field
2. The Function Field
3. The Data Field
4. The Error Check Field (Checksum)

2.4.1 Slave Address Field


The slave address field of a MODBUS packet is one byte in length and uniquely identifies the slave
device involved in the transaction. Valid addresses range between 1 and 247. A slave device, when
receiving a request packet with the slave address field matching its own address, will perform the
command specified in the packet. A response packet generated by the slave will have the same value
in the slave address field.

NPD_SW_QF_171 Version Modbus Protocol Page 3 of 15


005 Specification for
Apex100 Meter
Modbus Protocol Specification for Apex100 Meter

2.4.2 Function Field


The function field of a MODBUS request packet is one byte in length and tells the addressed slave
which function to perform. Similarly, the function field of a response packet tells the master what
function the addressed slave has just performed. Table 2-1 lists the MODBUS functions supported by
the Prometer 100.

2.4.3 Data Field


The data field of a MODBUS request is of variable length, and depends upon the function. This field
contains information required by the slave device to perform the command specified in a request
packet or data being passed back by the slave device in a response packet. Data in- this field are
contained in 16-bit or 32-bit registers. Registers are transmitted in the order of high-order byte first,
low-order byte second. This ordering of bytes is called "Big Endian" format.

FUNCTION MEANING ACTION


03 Read Holding Registers Obtains the current value in one or more holding
registers of the Prometer 100. (Maximum 60 registers at
once)
04 Read Input Register Obtains the current value in one or more Input Register
of the Prometer 100. (Maximum 60 registers at once)

16 Preset Multiple Registers Places specific values into a series of consecutive


holding registers of the Prometer 100. The only holding
registers that can be written to in a Prometer 100 are the
register for:
1. Real Time
2. MODBUS ID and
3. MODBUS default baud rate

Table 2-1: MODBUS Function supported by the Prometer 100

Example 2.1:
A 16-bit register contains the value 3F97 Hex. This register is transmitted:
High order byte = 3F Hex
Low order byte = 97 Hex
This register will be transmitted in the order 3F 97.

2.4.4 Error Check Field (Checksum)


The checksum field allows the receiving device to determine if a packet has been corrupted with
transmission errors. In MODBUS RTU mode, a 16-bit Cyclic Redundancy Check (CRC-16) is used.
The sending device calculates a 16-bit value, based on every byte in the packet, using the CRC-16
algorithm. The calculated value is inserted in the error check field.
The receiving device performs the same calculation on the entire packet it receives. The resulting
value is compared to the error check field. Calculated checksum is not equal to the checksum stored
of the incoming packet. Transmission errors have occurred and corrupted the packet. The receiving
device will ignore a bad packet. The CRC-16 algorithm is detailed in appendix A of this document.

NPD_SW_QF_171 Version Modbus Protocol Page 4 of 15


005 Specification for
Apex100 Meter
Modbus Protocol Specification for Apex100 Meter

2.5 Description of the MODBUS packet structure over TCP/IP


A dedicated header is used on TCP/IP to identify the MODBUS application data unit. It is called the
MBAP header (MODBUS Application Protocol header). This header provides some differences
compared to the MODBUS RTU application data unit used on serial line

The MODBUS ‘slave address’ field usually used on MODBUS Serial Line is replaced by a single
byte ‘Unit Identifier’ within the MBAP Header. The ‘Unit Identifier’ is used to communicate via devices
such as bridges, routers and gateways that use a single IP address to support multiple independent
MODBUS end units. The Prometer 100 supports only single unit per IP address.

2.5.1 MBAP Header description


The MBAP Header contains the following fields:
Fields Length Description - Client Server
Identification of a Initialized by the Recopied by the
Transaction 2 Bytes
MODBUS server from the
Identifier client
Request /
received request
Response
transaction.
Initialized by the Recopied by the
Protocol Identifier 2 Bytes 0 = MODBUS
server from the
protocol client
received request
Number of Initialized by the Initialized by the
Length 2 Bytes
following server (
client ( request)
bytes Response)
Identification of a Initialized by the Recopied by the
Unit Identifier 1 Byte
remote server from the
client
slave connected
received request
on a
serial line or on
other buses

The header is 7 bytes long:


Transaction Identifier - It is used for transaction pairing, the MODBUS server copies in the
response the transaction identifier of the request.
Protocol Identifier – It is used for intra-system multiplexing. The MODBUS protocol is identified by
the value 0.
Length - The length field is a byte count of the following fields, including the Unit Identifier and data
fields.
Unit Identifier – This field is used for intra-system routing purpose. It is typically used to
communicate to a MODBUS or a MODBUS+ serial line slave through a gateway between an Ethernet
TCP-IP network and a MODBUS serial line. This field is set by the MODBUS Client in the request and
must be returned with the same value in the response by the server. The Prometer 100 supports only
single unit per IP address or in other words MODBUS+ is not supported by Prometer 100.

All Modbus/TCP ADU are sent via TCP on registered port 502.
Remark: the different fields are encoded in Big-endian.

2.6 Exception Responses


If a MODBUS master device sends an invalid command to a Prometer 100 or attempts to read an
invalid holding register, an exception response will be generated. The exception response follows the
standard packet format. The high order bit of the function code in an exception response is set to 1.

NPD_SW_QF_171 Version Modbus Protocol Page 5 of 15


005 Specification for
Apex100 Meter
Modbus Protocol Specification for Apex100 Meter

The data field of an exception response contains the exception error code. Table 2 describes the
exception codes supported by the Prometer 100 and their possible causes.

CODE NAME MEANING


01 Illegal An Invalid command is contained in the function field of the request packet.
Function The Prometer 100 only supports MODBUS functions 3 and 16.
02 Illegal The address referenced in the data field is an invalid address for the specified
Address function. This could also indicate that the registers requested are not with in
the valid register range of Prometer 100.
03 Illegal Data The value referenced in the data field is not allowable in the addressed slave
Value location.
06 Slave The slave is processing a long duration program command. The master
Device should retransmit the message later when the slave is free
Busy

Table 2-2: Exception Codes supported by the Prometer 100.

2.6.1 Format of the exception response

BYTES CONTENTS EXAMPLE


1 Slave Address 0A
2 Function 81 (in response to function 01, with MSB set)
3 Exception Code 02 (Illegal Data Address)
4 CRC B053 (2 BYTE)

Except for the broadcast messages, when a master device sends a query to a slave device it expects
a normal response. One of four possible events can occur from the master's query.
1. If the slave device receives the query without a communication error, and can handle the
query normally, it returns a normal response.
2. If the slave doesn't receive the query due to a communication error, no response is returned.
The master program will eventually process a timeout condition for the query.
3. If the slave receives the query, but detects a communication error (CRC), no response is
returned. The master program will eventually process a timeout condition for the query.
4. If the slave receives the query without communication error, but cannot handle it (for example,
if the request is to read a non-existent coil or register), the slave will return an exception
response informing the master of the nature of the error.

3 PACKET COMMUNICATIONS
This section will illustrate the MODBUS functions supported by the Prometer 100.

3.1 Function 03: Read Holding Registers


To read Prometer 100 parameter values, a Master station must send the slave device a Read /
Holding Registers request packet. The Read Holding / Input Registers request packet specifies a -—'
start register and a number of registers to read. The start register is numbered from zero (1001 =
zero, 1002 =one, etc.).

NPD_SW_QF_171 Version Modbus Protocol Page 6 of 15


005 Specification for
Apex100 Meter
Modbus Protocol Specification for Apex100 Meter

The Prometer 100 responds with a packet containing the values of the registers in the range defined
in the request.
Figure 3-1 shows the Read Holding / Input Registers request and response packet formats, and an
example transaction.
READ HOLDING REGISTERS

Read Register Request Packet (Master station to Read Register Response Packet (Prometer 100 to
Prometer 100) Master station)
Unit ID/Slave Address (1 byte) Unit ID/Slave Address (1 byte)
03 (Function code) (1 byte) 03 (Function Code) (1 byte)
Start Register (sr) (2 bytes) Byte Count (2 x nr) (1 byte)
Number of Registers to Read (nr) (2 bytes) First Register in range (2 bytes)
CRC Checksum (2 bytes) Second Register in range (2 bytes)
……
CRC Checksum (2 bytes)

Example 3.1:
Prometer 100 is configured as a MODBUS slave device, with slave address 001. The Master station
requests to read the Instantaneous voltage in phase R.
Modbus Register address for the same parameter is 1101 and 1102 (4 byte value).
Modbus tool has to send address as 1100d.
Request Packet

Slave Function Start Reg Start Reg Count Count CRC CRC
Address (HI) (LO) (HI) (LO) (HI) (LO)
01 03 04 4C 00 02 04 EC

Response Packet

Slave Function Byte Reg 1 Reg 1 Reg 2 Reg CRC CRC


Count (HI) (LO) (HI) (LO) (HI) (LO)
01 03 04 2C EE 47 9A 21 0D

Figure 3-1: Read Holding Registers

3.2 Function 16: Preset Multiple Registers


The Preset Multiple Registers command packet allows a MODBUS master to configure or control the
Prometer 100.
The Preset Multiple Registers request packet contains, as the data field, a definition of a range of
registers to write to and the values to write to those registers.
The Prometer 100 responds with a packet indicating that a write was performed to the range of
registers specified in the request.
Figure 3-3 shows the Preset Multiple Registers request and response packet formats, and an
example transaction.
Note that, except for the function field, the Preset Registers Response packet is identical in format to
the Read Registers Request packet.

PRESET MULTIPLE REGISTERS


NPD_SW_QF_171 Version Modbus Protocol Page 7 of 15
005 Specification for
Apex100 Meter
Modbus Protocol Specification for Apex100 Meter

WRITE REGISTERS REQUEST PACKET WRITE REGISTERS RESPONSE PACKET


(Master station to Prometer 100) (Prometer 100 to Master station)
Unit ID/Slave Address (1 byte) Unit DD/Slave Address (1 byte)
10 Hex (Function code) (1 byte) 10 Hex (Function code) (1 byte)
00010000 00010000
Start Register (sr) (2 bytes) Start Register (sr) (2 bytes)
# of Registers to Write (nr) (2 bytes) # of Registers to Write (nr) (2 bytes)
Byte count (2Xnr) (1byte) CRC Checksum (2 bytes)
First Register in Range (2 bytes)
Second Reg. in Range (2 bytes)
……….
CRC Checksum (2 bytes)

Example 3.2:
Prometer 100 is configured as a MODBUS slave device with slave address 001. The time in the meter
is required to be synchronized with the master. The formal of time is terms of number of seconds
since 1" January 1988. The value of Real time (Registers 1055-56) needs to be adjusted to
33367EBF(Hex)
Slave address: 001 = 01 (Hex) Start register: 1054 = 041E (Hex)
Value 1: = 3336 (Hex) Value 2: = 7EBF (Hex)
Request Packet (The white background denotes the DATA field of the packet.)

Slav Functio Star Star Coun Coun Byte Re Reg Re Reg CR CR


e n t t t Reg t Reg Coun g 1 1 g 2 2 C C
Reg Reg (HI) (LO) t (HI) (LO (HI) (LO (HI) (LO)
(HI) (LO) ) )
01 10 04 1E 00 02 04 33 36 7E BF CE B5

Response Packet:

Slave Function Start Reg Start Reg Count Reg Count Reg CRC CRC
(HI) (LO) (HI) (LO) (HI) (LO)
01 10 04 1E 00 02 20 FE

Example 3.3:
Prometer 100 is configured as a MODBUS slave device with slave address 001. The time in the meter
is required to be synchronized with the master. The format of time is Date and Time (YYYY MM DD
HH MM SS). The value of Real time (Registers 1057-60) needs to be adjusted to 07DF041102213300
(Hex)
Slave address: 001 = 01 (Hex) Start register: 1056 = 0420 (Hex)
Value 1: = 07DF (Hex) Value 2: = 0411 (Hex)
Value 3: = 0221 (Hex) Value 4: = 3300 (Hex)
Year – 07DFh, Month – 04h, Date – 11h, Hour – 02h, Minutes – 21h and Seconds – 0033h

Request Packet (The white background denotes the DATA field of the packet.)

Slave Function Start Start Reg Count Count Byte Reg 1 Reg 1 Reg 2
Reg (HI) (LO) Reg Reg Count (HI) (LO) (HI)
(HI) (LO)
01 10 04 20 00 04 08 07 DF 04

NPD_SW_QF_171 Version Modbus Protocol Page 8 of 15


005 Specification for
Apex100 Meter
Modbus Protocol Specification for Apex100 Meter

Reg 2 (LO) Reg 3 (HI) Reg 3 (LO) Reg 4 (HI) Reg 4 (LO) CRC (HI) CRC (LO)
11 02 21 33 00 EE AF

Response Packet:

Slave Function Start Reg Start Reg Count Reg Count Reg CRC CRC
(HI) (LO) (HI) (LO) (HI) (LO)
01 10 04 20 00 04 C1 30

Note:
Meter allows time synching within time adjustment limit. Maximum time adjustment limit can be
configured 30 second.
Let’s say maximum time adjustment limit is configured as 25 seconds, Meter will reject time synch
request if time drift (packet data) is beyond the 25 seconds.

4 Interpretations of MODBUS registers


All the data except time, tamper, software name and serial no. will be in IEEE 32 Bit Floating point
form.

4.1 Meter information


4.1.1 Meter Serial Number
Meter Serial number SrN and SfN will be in ASCII HEX (8 bytes)
Example
Value returned 50 52 49 30 39 31 35 31 will be interpreted as PRI09151

4.1.2 Meter Software Name


Meter software name will be in ASCII HEX (7+1 bytes)
Example
Value returned 4D 36 58 32 47 30 33 2E will be interpreted as “M6X2G03”.

4.1.3 Meter Real Time


Real time will be in unit of seconds since 1 JAN 1988 00:00:00 Hr. this will be treated as zero.
Example
Value returned 23 89 82 73 will be interpreted as

15:6:27
22-11-2006
Wednesday

Time Conversion.xls

NPD_SW_QF_171 Version Modbus Protocol Page 9 of 15


005 Specification for
Apex100 Meter
Modbus Protocol Specification for Apex100 Meter

4.1.4 Meter Date and Time


Date and Time is unsigned 64 bit, most significant two byte will represent year, next significant byte
will represent month, next significant bytes will represent date, next significant byte will represent
hour, next significant byte will represent minutes, next significant byte will represent seconds and least
significant byte is reserved for future use.

Register 1 Register 2 Register 3 Register 4

MS Byte LS Byte MS Byte LS Byte MS Byte LS Byte MS Byte LS Byte

Year Month Date Hour Minute Second Reserved

Valid range for year is meter manufacture year to (manufacture year + 20 years)
Valid range for date is 1 to 28 / 29 / 30 / 31 (based on month & year)
Valid range for month is 1 to 12
Valid range for hour is 0 to 23 (24 hour clock)
Valid range for minute is 0 to 59
Valid range for second is 0 to 59

Example
For register 1063 to 1066 Values returned “07 DC 09 03 12 17 07 00” will be interpreted as

Register 1063 Register 1064 Register 1065 Register 1066

MS Byte LS Byte MS Byte LS Byte MS Byte LS Byte MS Byte LS Byte

07DCh 03h 09h 12h 17h 07h 00h

Year – 07DCh
Month – 03h 09 Mar 2012
Date – 09h
Hour – 12h
Minutes – 17h 18:23:07
Seconds – 07h

Note: For time set user has to write in 4 registers together, but user has liberty to read only date (2
register) or time (2 register) individually.

4.1.5 Protocol Version and Revision:


Value returned 0B 00 will be interpreted as “Version – 0B and Revision – 00”.
Value returned 0B 01 will be interpreted as “Version – 0B and Revision – 01”.

NPD_SW_QF_171 Version Modbus Protocol Page 10 of 15


005 Specification for
Apex100 Meter
Modbus Protocol Specification for Apex100 Meter

4.1.6 Tamper interpretation


The Tamper information registers interpretation from the four byte will be as follows.

7 6 5 4 3 2 1 0
L2 CTO ETBC Open C Imbalance CT Bypass L1 CTO L3 CTR L2 CTR L1 CTR

15 14 13 12 11 10 9 8
Cover L3 Feeder Invalid V L3 VT L2 VT L1 VT
Open CTO Fail Volt Unbalance Miss Miss Miss

23 22 21 20 19 18 17 16
Inv. Ph. Assoc. L3 CT Miss L2 CT Miss L1 CT Miss Magnet X L1 VTHD ND

31 30 29 28 27 26 25 24
X Low Vol. High Vol. L3 LTHD L3 LTHD L1 LTHD L3 VTHD L2 VTHD

Note: d If bit value is 1 than event condition persist. (Register 2804  LSB is Bit 0 and MSB is Bit 15,
Register 2803  LSB is Bit 16 and MSB is Bit 31, Register 2802  LSB is Bit 32 and MSB is Bit 47,
Register 2801  LSB is Bit 48 and MSB is Bit 63)

Bit 0 - L1 CT reverse Bit 16 - ND (Neutral Disturbance)


Bit 1 - L2 CT reverse Bit 17 - L1 Voltage THD
Bit 2 - L3 CT reverse Bit 18 - Not Used
Bit 3 - L1 CT Open Bit 19 - Magnet
Bit 4 - CT Bypass Bit 20 - L1 CT Miss
Bit 5 - Current Unbalance Bit 21 - L2 CT Miss
Bit 6 - ETBC Open Bit 22 - L3 CT Miss
Bit 7 - L2 CT Open Bit 23 - Invalid Phase Association
Bit 8 - L1 VT Miss Bit 24 - L2 Voltage THD
Bit 9 - L2 VT Miss Bit 25 - L3 Voltage THD
Bit 10 - L3 VT Miss Bit 26 - L1 Current THD
Bit 11 - Voltage Unbalance Bit 27 - L2 Current THD
Bit 12 - Invalid Voltage Bit 28 - L3 Current THD
Bit 13 - Feeder Fail Bit 29 - High Voltage
Bit 14 - L3 CT Open Bit 30 - Low Voltage
Bit 15 - Cover Open Bit 31 - Not Used

4.1.7 Meter Info


An Prometer 100 is configured as a MODBUS slave device, with slave address 001. The Master
station requests to read the Meter Info.
NPD_SW_QF_171 Version Modbus Protocol Page 11 of 15
005 Specification for
Apex100 Meter
Modbus Protocol Specification for Apex100 Meter

Modbus Reg address for the same parameter is 1023 and 1024 (4 byte value).
Modbus tool has to send address as 1022d.

Request Packet (The white background denotes the DATA field of the packet.)

Slave Function Start Reg Start Reg Count Reg Count Reg CRC CRC
(HI) (LO) (HI) (LO) (HI) (LO)
01 03 03 FE 00 02 A5 BF

Response Packet: (Exception response with 05 code Acknowledge)

Slave Function Byte Reg 1 Reg 1 Reg 2 Reg CRC CRC


Count (HI) (LO) (HI) (LO) (HI) (LO)
01 03 04 00 00 3F 80 EA 63

00003F80 3F800000 1 (Floating value) Represents Meter Type is “4 Wire”


0  HV3
1 HV4
2 LT 3CT 4W

4.1.8 MODBUS ID
Prometer 100 is configured as a MODBUS slave device, with slave address 001. The Master station
requests to read the MODBUS ID.
Modbus Reg address for the same parameter is 1051 and 1052 (4 byte value).
Modbus tool has to send address as 1050d.

Request Packet (The white background denotes the DATA field of the packet.)

Slave Function Start Reg Start Reg Count Reg Count Reg CRC (HI) CRC
(HI) (LO) (HI) (LO) (LO)
01 03 04 1A 00 02 E4 FC

Response Packet: (Exception response with 05 code Acknowledge)

Slave Function Byte Reg 1 Reg 1 Reg 2 Reg CRC CRC


Count (HI) (LO) (HI) (LO) (HI) (LO)
01 03 04 00 00 00 01 3B F3

DATA field “Reg 1 and Reg 2’ contain the MODBUS ID in Hex.


Here ‘00000001’ represents that the MODBUS ID is 1

4.1.9 MODBUS Default Baud Rate


Prometer 100 is configured as a MODBUS slave device, with slave address 001. The Master station
requests to read the MODBUS Default Baud Rate.
Modbus Reg address for the same parameter is 1053 and 1054 (4 byte value).
Modbus tool has to send address as 1052d.
Request Packet (The white background denotes the DATA field of the packet.)

NPD_SW_QF_171 Version Modbus Protocol Page 12 of 15


005 Specification for
Apex100 Meter
Modbus Protocol Specification for Apex100 Meter

Slave Function Start Reg Start Reg Count Reg Count Reg CRC CRC
(HI) (LO) (HI) (LO) (HI) (LO)
01 03 04 1C 00 02 04 FD

Response Packet: (Exception response with 05 code Acknowledge)

Slave Function Byte Reg 1 Reg 1 Reg 2 Reg CRC CRC


Count (HI) (LO) (HI) (LO) (HI) (LO)
01 03 04 00 00 25 80 E1 03

DATA field “Reg 1 and Reg 2’ contains the MODBUS Default Baud Rate in Hex.
Here ‘00002580’ represents “the MODBUS Default Baud Rate is 9600”.

4.1.10 Previous SIP (Survey Integration Period) Status Flag


(Registers for Previous SIP Consumption Parameters for logger#1)
The previous SIP status flag registers interpretation from the four byte will be as follows.

7 6 5 4 3 2 1 0
CT Parameter Time Time Time Ignore all bit
Alarm Disturbed
reverse change Adjusted advance retard information

12 11 10 9 8
Low Voltage Power loss Battery fail VT Miss DST

Note-1: For SIP (Survey Integration Period) duration less than 5 min, error response (Invalid
address) will be replied for this group (Logger 1)
Status Flag bit interpretation (If bit value is 1 than condition is true)

Bit 0 - Ignore all bit information Bit 7 - CT reverse


Bit 1 - Time retard (Meter time has been Bit 8 - DST (Daylight saving time has been in
adjusted backward for 10 sec) effect)
Bit 2 - Time advance (Meter time has been Bit 9 - VT Miss (One or more measuring
adjusted forward for 10 sec) voltage has been lost)
Bit 3 - Time Adjusted (Meter clock has been Bit 10 - Battery fail (Estimated battery life is
adjusted) up)
Bit 4 - Disturbed (Interval incomplete due to Bit 11 - Power loss (Meter been without
power off, time set, logger reset) auxiliary power)
Bit 5 - Alarm (User defined alarm 1 or 2 has Bit 12 - Low Voltage (One or more measuring
been triggered) voltage is below low voltage threshold)
Bit 6 - Parameter change (Logger parameter) X: – Unused

Note-2: For 3 Phase average voltage and Avg. frequency for Previous SIP Parameter group if
value returned as floating point representation of FFFF in 4 bytes (i.e.-1) then same should be
treated as invalid values.

NPD_SW_QF_171 Version Modbus Protocol Page 13 of 15


005 Specification for
Apex100 Meter
Modbus Protocol Specification for Apex100 Meter

Example:- FFFF values get if meter powered off for previous full SIP or time set in meter for
more the one SIP duration.

4.1.11 TOU Rate registers and Energy channels


TOU Energy channel register if bit Set means Energy Channel configured and likewise first 8 Energy
Channels will be available on MODBUS. This group is applicable only for MODBUS mapping version
0B and Revision 01.

The TOU energy channel interpretation will be as follows. Bit Set means Energy configured and vice a
versa.
Bit 0 - Active import (Fundamental + Harmonics)
Bit 1 - Active Export (Fundamental + Harmonics)
Bit 2 - Active import (Fundamental)
Bit 3 - Active Export (Fundamental)
Bit 4 - Reactive - Quadrant 1
Bit 5 - Reactive - Quadrant 4
Bit 6 - Reactive - Quadrant 2
Bit 7 - Reactive - Quadrant 3
Bit 8 - Apparent while active import
Bit 9 - Apparent while active export
Bit 10 - Reactive Import (Q1+Q2)
Bit 11 - Reactive Import (Q3+Q4)
Bit 12 - Reactive Lag (Inductive) (Q1+Q3)
Bit 13 - Reactive Lead (Capacitive) (Q2+Q4)

5 Modbus Register mapping


All instantaneous values shall available in two queries.

Prometer Prometer
100_0B00.xlsx 100_0B01.xlsx

Note1:
For following parameters if value returned as floating point representation of FF in 4 bytes
(i.e.-1) then same should be treated as invalid values.
MODBUS Register Parameter Description Unit R/W Format
Previous SIP
1805 TO 1806 Last SIP Frequency Hz R 32 bits FP
Average Frequency
Previous SIP Avg
1807 TO 1808 Last SIP Voltage Volt R 32 bits FP
Voltage

6 Document History
Version Date of Written by Reviewed by Approved by
Completed
001 23/03/2015 Monorom Deb Sushil Jangid Prometer 100 Team
Initial Version

002 23/03/2016 Deepak Jain Sushil Jangid Prometer 100 Team

NPD_SW_QF_171 Version Modbus Protocol Page 14 of 15


005 Specification for
Apex100 Meter
Modbus Protocol Specification for Apex100 Meter

Modbus mapping document modified as per internal customer feedback (Remove


“parameter” column).

003 20/06/2016 Deepak Jain Sushil Jangid Prometer 100 Team


Modbus mapping document modified. Changes in instantaneous group 3.
004 03/04/2017 Deepak Jain Prince Sisodia / Prometer 100 Team
Himmat Singh
1. Modbus mapping document modified for Version-0x0B, Revision – 0x00.
2. Modbus mapping document Added for Version-0x0B, Revision – 0x01.

NPD_SW_QF_171 Version Modbus Protocol Page 15 of 15


005 Specification for
Apex100 Meter

You might also like