Communication Manual For HDEC2000 and HDEC1000: Digital Excitation Systems
Communication Manual For HDEC2000 and HDEC1000: Digital Excitation Systems
Communication Manual
for HDEC2000 and HDEC1000
R D
R
D
Important Notice
The examples and diagrams in this manual are included solely for illustrative purposes. Because of
many variables and requirements associated with any particular installation, Hyundai Heavy
Industries Co., Ltd cannot assume responsibility or liability for actual use based on the examples
and diagrams.
Hyundai Heavy Industries Co., Ltd cannot accept any responsibility for damage incurred as a result
of mishandling the equipment regardless of whether particular reference is made in this instructions
or not.
The availability and design of all features and options are subject to modification without notice.
Should further information be required, contact Hyundai Heavy Industries Co., Ltd.
Reproduction of the contents of this manual, in whole or in part, without permission of Hyundai
Heavy Industries Co., Ltd is prohibited.
Manufacturer’s Address
Electro Electric Systems, Hyundai Heavy Industries Co., Ltd
Internet: http://www.hyundai-elec.co.kr
CONTENTS
INTODUCTION …………………………………………………….…………………………………….3
INTRODUCTION
This manual describes the remote access via the MODBUSTM protocol over the RS485 communication link
for HDEC2000 and HDEC1000 voltage regulator.
At the present time, the read (monitoring) function for some operating parameters is only supported. However,
the upgrade (expansion of readable parameter and the adding of write function) is planned later.
The firmware version which supports RS485 communication is V1.20 (or later) for HDEC2000 and V1.0 (or
later) for HDEC1000.
For proper operation (communication), all communication parameter should be configured correctly.
The default value and the programmable range of each communication parameters are listed in Table 3. And
the programmable parameter can be changed by HDCM configuration software. For more information about
HDCM software, see section 4 of HDEC2000 (HDEC1000) user’s manual.
MODBUS PROTOCOL
The MODBUS serial line protocol is a master-slaves protocol. Only one master can initiate MODBUS
transaction called a query. When a MODBUS master communicates with a slave, information is requested by
the master. When a slave receives a query, the slave responds by supplying the requested data.
Two different serial transmission modes are defined: The RTU mode and the ASCII mode. It defines the bit
contents of message fields transmitted serially on the line. It determines how information is packed into the
message fields and decoded.
HDEC2000 and HDEC1000 support only the RTU mode via RS-485 serial interface.
T=0
3.5 char
at least 3.5 char at least 3.5 char 4.5 char
MODBUS message
Start Address Function Data CRC Check End
>=3.5 char 8bits 8bits N * 8 bits 16 bits >=3.5 char
A MODBUS message is placed by the transmitting device into a frame that has a known beginning and
ending point. This allows devices that receive a new frame to begin at the start of the message, and to know
when the message is completed.
In RTU mode, message frames are separated by a silent interval of at least 3.5 character times.
In actual application, when a query is received from master, HDEC2000 (and HDEC1000) waits a specified
amount of time determined by the Response delay parameter and the default delay setting is 10ms. The term
of character of Figure 1 is depending on the communication rate (board rate parameter setting).
Function Code
The function code field in the query message defines the action to be taken by the addressed slave. This field
is echoed in the response message and is altered by setting the most significant bit (MSB) of the field to 1 if
the response is an error response. This field is 1 byte.
Only one MODBUS function code 0x04 (Read input Resistor) can be used for HDEC2000 (or HDEC1000)
voltage regulator even if some function codes are defined for MODBUS protocol. Function code 4 is the ability
to read the input status value.
Data Block
The starting address and the data size responded by slave device are depending on the starting address and
the quantity requested by master device.
The query data block contains additional information needed by the slave to perform the requested function.
The response data block contains data collected by the slave for the queried function. The length of this field
varies with each query. See the Floating Data format for interpretation of register data.
Below three tables (table 4 …6) are shows the requested message, response message and the message
example respective. Table 7 shows the information (address, unit, data type) for readable parameter.
The value of the floating-point number is obtained by multiplying the binary mantissa times two raised to the
power of the unbiased exponent. The assumed bit of the binary mantissa has the value of 1.0 with the
remaining 23 bits providing a fractional value. The floating-point bit format is shows in below table.
For example: Number 123 in floating point format is mapped to two Holding registers (such as 45005 and
45006) are shown in above table
For HDEC2000 (or HDEC1000) MODBUS, two consecutive holding registers which are
mapped to any of the 4-byte generic data types, are considered to be linked together as
IMPORTANT one atomic, indivisible unit of information which can be read or written by MODBUS
message only as one entity (that is, one cannot be read or written without the other).
Error Check
The error check field provides a method for the slave to validate the integrity of the query message contents
and allows the master to confirm there validity. This field is 2 bytes.
CRC Generation
The Cyclical Redundancy Checking (CRC) field is two bytes, containing a 16–bit binary value. The CRC value
is calculated by the transmitting device, which appends the CRC to the message. The device that receives
recalculates a CRC during receipt of the message, and compares the calculated value to the actual value it
received in the CRC field. If the two values are not equal, an error results.
The CRC is started by first preloading a 16–bit register to all 1’s. Then a process begins of applying
successive 8–bit bytes of the message to the current contents of the register. Only the eight bits of data in
each character are used for generating the CRC. Start and stop bits and the parity bit, do not apply to the
CRC.
During generation of the CRC, each 8–bit character is exclusive ORed with the register contents. Then the
result is shifted in the direction of the least significant bit (LSB), with a zero filled into the most significant bit
(MSB) position. The LSB is extracted and examined. If the LSB was a 1, the register is then exclusive ORed
with a preset, fixed value. If the LSB was a 0, no exclusive OR takes place.
This process is repeated until eight shifts have been performed. After the last (eighth) shift, the next 8–bit
character is exclusive ORed with the register’s current value, and the process repeats for eight more shifts as
described above. The final content of the register, after all the characters of the message have been applied,
is the CRC value.
z For example, if the CRC value is 1241 hex (0001 0010 0100 0001):
CRC CRC
Addr Func Data Data Data Data Data Lo Lo
0x41 0x12
OxFFF CRC16
N=0
No Yes
Carry over
N=N+1
No Yes
N>7
No Yes
End of message
Following (second) BYTE
XOR = exclusive OR
N = number of information bits END
POLY = calculation polynomial of the CRC16 = 1010 0000 0000 0001
(Generating polynomial = 1 + X2 + X15 + X16)
In the CRC16, the 1’st byte transmitted is the least significant one.
Revision History
Version Date Description
• Initial release
• Supported firmware version of voltage regulator
A Jun 15, 2012
- V1.20 (or later) for HDEC2000
- V1.00 (or later) for HDEC1000