0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B
输出频率 设定频率 输出电流 输出转速 直流电压 交流电压 温度 计数器 反馈值 目标值 当前运行时间 总运行时间
R R R R R R R R R R R
4)DATA:资料内容 n×8-bit资料 5)LRC:侦误值
ASCII模式,采用LRC(Longitudinal Redundancy Check)侦误值。
LRC侦误值乃是将ADDR至最后一个资料内容加总。得到结果以256单位,超出部分去除(如结果为11128H则取1128H)然后计算二次反补后得到结果即为LRC侦误值。
功能码数据同HOLIP标准协议中ASCII格式中的功能码
?
校验码CRC算法同HOLIP普通协议中RTU格式中的CRC算法
04 读取输入寄存器
如:要读变频器温度显示值(假如温度为36.2)(CD160=CD161=1 CD162=3)
应发送数据: 01 04 00 06 00 01 CRC(16进制)
变频器返回数据: 01 04 02 01 6A CRC(16进制) 返回的数据位为“016A”(16进制)转换为10进制为 “362”表示温度为36.2
05 写单个线圈状态
如:要使变频器的正转无效,反转有效(CD160=CD161=1 CD162=3)
应发送数据: 01 05 00 49 00 00 FF 00 CRC(16进制)
变频器返回数据:01 05 00 49 00 00 FF 00 CRC(16进制) “0000”代表无效; “FF00”代表有效
06 写单个保持寄存器值
如:要对变频器功能码CD000写入30.00(CD160=CD161=1 CD162=3),
应发送数据: 01 06 00 00 0B B8 36 0D 0A(16进制) 变频器返回数据: 01 06 00 00 0B B8 36 0D 0A(16进制) 返回的数据位为“0BB8”(16进制)转换为10进制为“3000”表示CD000
设置值为30.00
0F 写多个线圈状态
如:要使变频器的正转无效(CD160=CD161=1 CD162=3)
应发送数据: 01 0F 00 48 00 08 01 00 02 CRC(16进制)
变频器返回数据:01 0F 00 48 00 08 CRC(16进制)
“0002”即0000 0010; 即线圈0x49置为1,给变频器发正转命令。
10 写多个保持寄存器
如要同时对 CD000写入 30.00,对CD001写入110.0,(CD160=CD161=1
CD162=3)
应发送数据: 01 10 00 00 00 02 04 0B B8 04 4C CRC(16进制) 变频器返回数据: 01 10 00 00 00 02 45CRC(16进制)
发送的要写入16进制数据“0BB8”和“04 4C”转换为10进制数分别为3000和1100表示对CD000和CD001写入的数据分别为30.00和110.0
HLP – A.C+海利MODBUS通讯规约
在使用RS485通讯界面时,每一台变频器必须设定其通讯位置,电脑便根据每一台变频器个别位置实施控制。
1:本通讯协议有二种方式:
1)RTU方式(Remote Terminal Unit)模式
2)ASCII方式(American Standard Code for information interchange)模式编码意义 RTU模式:
每个8-bit资料由两个4-bit十六进位字元组成,如:64H ASCII模式:
每个8-bit资料由两个ASCII字元组成,如:一个1-bit资料64H(十六进位)以ASCII“64”表示,包含6(36H)和4(34H)
字元符号 ASCII码
字元符号 ASCII码
8 38H
9 39H
A 41H
B 42H
C 43H
D 44H
E 45H
F 46H
0 30H
1 31H
2 32H
3 33H
4 34H
5 35H
6 36H
7 37H
2:通讯资料方式
1)8N1 For ASCII CD162=0 Start bit 0 1 2 3 4 8—Data bits 10—bits
2)8E1 For ASCII CD162=1 Start 7 0 1 2 3 4 5 6 bit 8—Data bits 11—bits
3)8O1 For ASCII CD162=2 Start 0 1 2 3 4 5 6 7 bit 8—Data bits 11—bits
4)8N1 For RTu CD162=3 Start bit 0 1 2 3 4 5 8—Data bitsEven parity 字元串 5 6 7 Stop bit 字元串
字元框
Stop bit 字元框
Odd parity 字元串 Stop bit 字元框
6 7 Stop bit 字元串 11—bits
5)8E1 For RTu CD162=4 Start 0 1 2 3 4 5 bit 8—Data bits 11—bits6)8O1 For RTU CD163=5 Start 0 1 2 3 4 5 bit 8—Data bits 11—bits 6 7 Even parity 字元串 Stop bit 字元框
字元框
6 7 Odd parity 字元串 Stop bit 字元框
3:通讯资料格式
3.1 ASCII模式 通讯资料格式 STX “:” (3AH)
ADDR
END
FUNC
LEN
DATE(n-1)…DATA0
LRC
CR(0DH) LF(0AH)
1)STX:启始单元“:” (3AH)
2)ADDR通讯位置 8-bit位置包含了2个ASCII码 00:广播方式为MODBUS 01—250相应变频器地址
3)FUNC:功能码8-bit位置包含了2个ASCII码 01:FUNC READ 读取功能码数据 02:FUNC WRIT功能码设定 03:控制命令
04:控制状态读取
05:变频器串口频率设定 06:保留 07:保留
08:回路检测
a.读取功能码数据 ( 01 )
发送格式: ADDR 01 LEN Data
ADDR=0时,无返回数据
ADDR≠0且符合变频器地址时有响应 当返回为正常时,格式如下: ADDR 01 LEN Data
如返回为一个字时 LEN=3 一个字节时 LEN=2 当无此功能或无效时返回为:
ADDR 81H 01
例如:读取CD000的参数
发送: 3A 30 31 30 31 30 31 30 30 LRC 0D 0A “30 30”即00。代表CD000.
接收: 3A 30 31 30 31 30 33 30 30 31 33 38 38 LRC 0D 0A
说明:CD000 = 01388H = 5000,即50Hz.
b.功能码设定 ( 02 )
发送格式:ADDR 02 LEN Data ADDR=0 作广播用,可以设定,但无应答 ADDR≠0时可以设定 同时有回应讯号 当返回为正常时,格式如下:
ADDR 02 LEN Data
当设定不正确时,或无此功能,返回参数为: ADDR 82H 01
例如:将CD000参数值改为60.00Hz
发送: 3A 30 31 30 32 30 33 30 30 31 37 37 30 46 44 0D 0A “30 30”即00。代表CD000.”31373730”即1770(Hex),转换为十进制数为6000。 接收: 3A 30 31 30 32 30 33 30 30 31 37 37 30 46 44 0D 0A
c.控制命令 ( 03 )
发送格式:ADDR 03 01 CNTR ADDR=0 为广播,无返回响应 ADDR≠0时有响应,返回 CNTR
7 jogr
当设定正确时,返回当前控制状态 CNST
7 跟踪启动 检测不正确时 发运行命令
发送:3A 30 31 30 33 30 31 30 31 LRC 0D 0A “ 3031 ”即01 ,01为数据,代表运行命令。
接收:3A 30 31 30 33 30 31 30 39 LRC 0D 0A “ 3039 ”即09 ,09为数据,代表变频器处于运行状态。
注意: 因通讯实时性,变频器返回状态滞后性,所以发命令之后返回的数据不能正确反应变频器当前状态。
6 制动
5 r/f
4 joging
格式:ADDR 03 01 CNST
3 Runing
2 r/f
1 jog
0 Run
6 jogf
5 jog
4 r/f
3 stop
2 Rev
1 for
0 Run
ADDR 83H 01 CNST
例如:通讯控制变频器运行时即CD033 = 2时