Huanyang VFD “modbus” protocol

This is a work-in-progress living document, based on a copy of the Huanyang VFD manual that includes modbus specification, as well as experimental testing to validate items. Not everything listed here has been validated.

Please leave comments if you have questions or see any inaccuracies.

Setup

  • PD001: 2 (Source of run commands: communication port)
  • PD002: 2 (Source of operating frequency: communication port)
  • PD163: 1 (Communication address: 1)
  • PD164: 1 (Communication Baud Rate: 9600)
  • PD165: 3 (Communication Data Method: 8N1 RTU)

General RTU Protocol

[Quiet]
(at least 50ms)
ADDR
FUNC
LEN
DATA…
CRC (2 bytes)
[Quiet]
(at least 50ms)

Function Codes

01: Read PD Parameter


Command
ADDR
CMD
LEN
PAR
DATA
CRC
Description
0x01
0x01
0x03
0xA5
0x00 0x00
0x?? 0x??
Read PD165 (165=0xA5)
Response
Success:
Echo of command:
ADDR 0x01 LEN PAR Data

If DATA is one word, the LEN=3, If DATA is one byte, the LEN=2 (presumably because the parameter code counts as one byte of data in addition to the value which is either 1 or 2 bytes)

Failure:
When inverter has no this function code or reply no effect, the format as follows:
ADDR 0x81 0x01 PAR

02: Write PD Parameter


Command
ADDR
CMD
LEN
PAR
DATA
CRC
Description
0x01
0x02
0x03
0x03
0x09 0xC4
0x?? 0x??
Write PD003 (0x9C4 = 2500 = 25.00Hz)
ADDR=0 for broadcast, it write to all inverter, but no reply.

Response
Success:
Unspecified

  • test successful response - probably it’s an echo?

Failure:
When the setting is incorrect or the inverter does not have this function, the format returned is as follows:
ADDR 0x81 0x01 PAR

  • check response byte