
45
CET Inc.
Chapter 5 Modbus Register Map
This chapter provides a complete description of the Modbus register map (
Protocol Version 2.0
) for
the PMC-512-D to facilitate the development of 3
rd
party Modbus RTU communications driver for
accessing information on the PMC-512-D.
The PMC-512-D supports the following Modbus functions:
1)
Read Holding Registers (Function Code 0x03)
2)
Force Single Coil (Function Code 0x05)
3)
Preset Multiple Registers (Function Code 0x10)
4)
Read Energy Files (Function Code 0x14)
For a complete Modbus Protocol Specification, please visit http://
www.modbus.org
.
5.1 Status Register
5.1.1 General Status
Register
Property
Description
Format
Note
0000
RO
DI Status
1
Bitmap
0001
RO
DO Status
2
Bitmap
0002
RO
Diagnostics
3
Bitmap
0004
RO
SOE Pointer
4
UINT32
0006~0007
RO
Reserved
UINT32
0008
RO
DR Log Pointer
5
UINT32
0010
RO
Monthly Energy Log Pointer
5
UINT32
0012
RO
General Alarm Status
UINT16
0=Normal, 1=Alarm
Table 5-1 General Status
Notes:
1)
For the
DI Status
register, the bit values of Bit0 to Bit12 represent the state of DI1 to DI13, respectively, with “1” meaning
active (closed) and “0” meaning inactive (open).
2)
For the
DO Status
register, the bit value of Bit0 represent the states of DO, with “1” meaning active (closed) and “0” meaning
inactive (open). The remaining bits are reserved.
3)
The
Diagnostics
register indicates the various system statuses with a bit value of 0 meaning normal and 1 meaning fault.
The following table illustrates the details of the Diagnostics register.
Bit
Alarm Event
Bit 0
NVRAM Fault
Bit 1
Flash Fault
Bit 2
A/D Chips Fault
Bit 3
Internal Power Supply Fault
Bit 4
System Parameters Error
Bit 5
Internal Parameters Error
Bit 6-31
Reserved
Table 5-2 Diagnostics Register (Reg. #
0002)
4)
The range of the
SOE Pointer
is between 0 and 0xFFFFFFFFH. The
SOE Pointer
is incremented by one for every event
generated and will roll over to 0 if its current value is 0xFFFFFFFFH. The
SOE Log capacity
is relatively small with only 512
events in the PMC-512-D, and it can be reset to zero and then immediately incremented by one with a new “Clear SOE via
Communications” event. When the number of events is larger than 512, only the latest 512 events will be stored.
5)
The range of the
DR Log/Monthly Log Pointer
is between 0 and 0xFFFFFFFFH. The pointers point to the current logging
position and are incremented by one for every new record generated and will roll over to 0 if its current value is 0xFFFFFFFFH.
Use the following equation to determine the latest log location:
Latest Log Location = Modulo [SOE Pointer/Log Depth]
Where Log Depth = 512 for SOE Log and DR’s Recording Depth for the DR Log
.