第九章 串行口 RS485 通讯协议
9.1 通讯概述
本公司系列变频器向用户提供工业控制中通用的RS485 通讯接口。通讯协议采用MODBUS 标准通讯协议,该变频器可以作为从机与具有相同通讯接口并采用相同通讯协议的上位机(如PLC 控制器、PC 机)通讯,实现对变频器的集中监控,另外用户也可以使用一台变频器作为主机,通过RS485 接口连接数台本公司的变频器作为从机。以实现变频器的多机联动。通过该通讯口也可以接远控键盘。实现用户对变频器的远程操作。
本变频器的 MODBUS 通讯协议支持两种传送方式:RTU 方式和ASCII 方式,用户可以根据情况选择其中的一种方式通讯。下文是该变频器通讯协议的详细说明。
9.2 通讯协议说明
9.2.1 通讯组网方式
(1) 变频器作为从机组网方式:
图 9 - 1 从机组网方式示意图
(2) 多机联动组网方式:
图 9 - 2 多机联动组网示意图
9.2.2 通信协议方式
该变频器在 RS485 网络中既可以作为主机使用,也可以作为从机使用,作为主机使用时,可以控制其它本公司变频器,实现多级联动,作为从机时, PC 机或 PLC 可以作为主机控制变频器工作。具体通讯方式如下:
(1) 变频器为从机,主从式点对点通信。主机使用广播地址发送命令时, 从机不应答。
(2) 变频器作为主机,使用广播地址发送命令到从机,从机不应答。
(3) 用户可以通过用键盘或串行通信方式设置变频器的本机地址、波特率、数据格式。
(4) 从机在最近一次对主机轮询的应答帧中上报当前故障信息。
9.2.3 通讯接口方式
通讯为 RS485 接口,异步串行,半双工传输。 默认通讯协议方式采用ASCII 方式。
默认数据格式为: 1 位起始位,7 位数据位,2 位停止位。
默认速率为 9600bps ,通讯参数设置参见 P3.09 ~P3.12 功能码。
9.3 ASCII 通讯协议
字符结构:
10 位字符框( For ASCII )
(1 - 7 - 2 格式,无校验)
(1 - 7 - 1 格式,奇校验)
(1 - 7 - 1 格式,偶校验)
11 位字符框( For RTU )
(1-8-2格式,无校验)
(1-8-1格式,奇校验)
(1-8-1格式,偶校验)
通讯资料结构:
ASCII 模式
桢头 | 起始字符=“:”(3AH) |
Address Hi | 通讯地址: 8位地址由2个ASCII码组合 |
Address Lo | |
Function Hi | 功能码: 8位地址由2个ASCII码组合 |
Function Lo | |
DATA(n - 1) | 资料内容: n*8位资料内容由 2* n 个ASCII码组合,高位在前,低位在后,n<=4,最大8个ASCII码 |
…………… | |
DATA 0 | |
LRC CHK Hi | LRC 校验码: 8位校验码由2个ASCII码组合。 |
LRC CHK Lo | |
END Hi | 结束字符: END Hi = CR(0DH), END Lo = CR(0AH) |
END Lo |
RTU模式:
START | 保持无输入信号大于等于 10ms |
Address | 通讯地址: 8-bit 二进制地址 |
Function | 功能码: 8-bit 二进制地址 |
DATA(n - 1) | 资料内容: N*8-bit 资料, N<=8 ,最大 8 个字节 |
…………… | |
DATA 0 | |
CRC CHK Low | CRC 校验码 |
CRC CHK High | 16-bit CRC 校验码由 2 个 8-bit 二进制组合 |
END | 保持无出入信号大于等于 10ms |
通讯地址:
00H :所有变频器广播( broadcast )
01H :对 01 地址变频器通讯。
0FH :对 15 地址变频器通讯。
10H :对 16 地址变频器通讯。以此类推 ………. ,最大可到 254 ( FEH )。
功能码( Function) 与资料内容( DATA ):
03H :读出寄存器内容。
06H :写入一笔资料到寄存器。
08H :回路侦测。
功能码 03H :读出一个寄存器内容:
例如:读出寄存器地址 2104H 内容(输出电流):
ASCII 模式:
询问信息字符串格式 | 回应信息字符串格式 | ||
桢头 | “:” ----3AH | 桢头 | “:” ----3AH |
地址 | “ 0 ” ----30H | 地址 | “ 0 ” ----30H |
“ 1 ” ----31H | “ 1 ” ----31H | ||
功能码 | “ 0 ” ----30H | 功能码 | “ 0 ” ----30H |
“ 3 ” ----33H | “ 3 ” ----33H | ||
内容 | “ 2 ” ----32H | 内容 | “ 2 ” ----32H |
“ 1 ” ----31H | “ 1 ” ----31H | ||
“ 0 ” ----30H | “ 0 ” ----30H | ||
“ 4 ” ----34H | “ 4 ” ----34H | ||
2104H 地址内容 | “ 0 ” ----30H | ||
“ 0 ” ----30H | |||
“ 0 ” ----30H | |||
“ 0 ” ----30H | |||
LRC CHECK | “ D ” ----44H | LRC CHECK | “ D ” ----44H |
“ 7 ” ----37H | “ 7 ” ----37H | ||
END | CR ----0DH | END | CR ----0DH |
LF ----0AH | LF ----0AH |
RTU 模式:
询问信息格式 | 回应信息格式 | ||
地址 | 01H | 地址 | 01H |
功能码 | 03H | 功能码 | 03H |
内容 | 21H | 内容 | 21H |
04H | 04H | ||
00H | |||
00H | |||
CRC CHECK Low | E8H | CRC CHECK Low | 0EH |
CRC CHECK High | 4BH | CRC CHECK High | 37H |
功能码 06H :写入一笔资料到寄存器。
例如:对变频器地址 01H ,写 P0.02=50.00HZ 功能码。
ASCII 模式:
询问信息字符串格式 | 回应信息字符串格式 | ||
桢头 | “:” ----3AH | 桢头 | “:” ----3AH |
地址 | “ 0 ” ----30H | 地址 | “ 0 ” ----30H |
“ 1 ” ----31H | “ 1 ” ----31H | ||
功能码 | “ 0 ” ----30H | 功能码 | “ 0 ” ----30H |
“ 6 ” ----36H | “ 6 ” ----36H | ||
内容 | “ 0 ” ----30H | 内容 | “ 0 ” ----30H |
“ 0 ” ----30H | “ 0 ” ----30H | ||
“ 0 ” ----30H | “ 0 ” ----30H | ||
“ 2 ” ----32H | “ 2 ” ----32H | ||
“ 1 ” ----31H | 2104H 地址内容 | “ 1 ” ----31H | |
“ 3 ” ----33H | “ 3 ” ----33H | ||
“ 8 ” ----38H | “ 8 ” ----38H | ||
“ 8 ” ----38H | “ 8 ” ----38H | ||
LRC CHECK | “ 5 ” ----35H | LRC CHECK | “ 5 ” ----35H |
“ C ” ----43H | “ C ” ----43H | ||
END | CR ----0DH | END | CR ----0DH |
LF ----0AH | LF ----0AH |
RTU 模式:
询问信息格式 | 回应信息格式 | ||
地址 | 00H | 地址 | 01H |
功能码 | 06H | 功能码 | 06H |
内容 | 00H | 内容 | 00H |
02H | 02H | ||
13H | 13H | ||
88H | 88H | ||
CRC CHECK Low | 25H | CRC CHECK Low | 25H |
CRC CHECK High | 5CH | CRC CHECK High | 5CH |
命令码: 08H 通讯回路测试
此命令用来测试主控设备与变频器之间通讯是否正常。变频器将收到的资料原封不动送给主控设备。
询问信息字符串格式 | 回应信息字符串格式 | ||
桢头 | “:” ----3AH | 桢头 | “:” ----3AH |
地址 | “ 0 ” ----30H | 地址 | “ 0 ” ----30H |
“ 1 ” ----31H | “ 1 ” ----31H | ||
功能码 | “ 0 ” ----30H | 功能码 | “ 0 ” ----30H |
“ 8 ” ----38H | “ 8 ” ----38H | ||
内容 | “ 0 ” ----30H | 内容 | “ 0 ” ----30H |
“ 1 ” ----31H | “ 1 ” ----31H | ||
“ 0 ” ----30H | “ 0 ” ----30H | ||
“ 2 ” ----32H | “ 2 ” ----32H | ||
“ 0 ” ----30H | 2104H 地址内容 | “ 0 ” ----30H | |
“ 3 ” ----33H | “ 3 ” ----33H | ||
“ 0 ” ----30H | “ 0 ” ----30H | ||
“ 4 ” ----34H | “ 4 ” ----34H | ||
LRC CHECK | “ E ” ----45H | LRC CHECK | “ E ” ----45H |
“ D ” ----44H | “ D ” ----44H | ||
END | CR ----0DH | END | CR ----0DH |
LF ----0AH | LF ----0AH |
RTU 模式:
询问信息格式 | 回应信息格式 | ||
地址 | 01H | 地址 | 01H |
功能码 | 08H | 功能码 | 08H |
内容 | 01H | 内容 | 01H |
02H | 02H | ||
03H | 03H | ||
04H | 04H | ||
CRC CHECK Low | 41H | CRC CHECK Low | 41H |
CRC CHECK High | 04H | CRC CHECK High | 04H |
校验码:
ASCII 模式:双字节 ASCII 码。
计算方法: 对于消息发送端,LRC 的计算方法是将要发送消息中 “从机地址”到“运行数据”没有转换成 ASCII 码的全部 字节连续累加,结果丢弃进位,得到的8 位字节按位取反,后再加1 (转换为补码),最后转换成ASCII 码,放入校验区,高字节在前,低字节在后。对于消息接收端,采取同样的LRC 方法计算接收到消息的校验和,与实际接收到的校验和进行比较,如果相等,则接收消息正确。如果不相等,则接收消息错误。如果校验错误,则丢弃该消息帧,并不作任何回应,继续接收下一帧数据。
RTU 模式:双字节 16 进制数。
CRC 域是两个字节,包含一 16 位的二进制值。它由发送端计算后加入到消息中; 添加时先是低字节,然后是高字节,故 CRC 的高位字节是发送消息的最后一个字节。 接收设备重新计算收到消息的 CRC , 并与接收到的 CRC 域中的值比较,如果两值不同则接收消息有错误 , 丢弃该消息帧,并不作任何回应,继续接收下一帧数据。CRC 校验计算方法具体参考MODBUS 协议说明。
通讯协议参数定义 :
定义 | 参数地址 | 功能说明 |
内部设定参数 | GGnnH | GG 代表参数群,nn 代表参数号码。 |
对变频器命令 (06H ) | 2000H | 0001H :运行命令 |
0002H :正转运行命令 | ||
0003H :反转运行命令 | ||
0004H :点动运行命令 | ||
0005H :点动正转运行命令 | ||
0006H :点动反转运行命令 | ||
0007H :减速停机命令 | ||
0008H :紧急停车命令 | ||
0009H :点动停机命令 | ||
000AH :故障复位命令 | ||
2001H | 串口设置频率命令 | |
监控变频器状态 (03H ) | 2100H | 读变频器故障码。 |
2101H | 读变频器状态 | |
BIT0 :运行停止标志,0 :停止;1 :运行 | ||
BIT1: 欠压标志,1 :欠压;0 :正常。 | ||
BIT2: 正反转标志,1 :反转;0 :正转。 | ||
BIT3: 点动运行标志,1 :点动;0 :非点动。 | ||
BIT4: 闭环运行控制选择,1 :闭环;0 :非闭环。 | ||
BIT5: 摆频模式运行标志,1 :摆频;0 :非摆频。 | ||
BIT6:PLC 运行标志,1 :PLC 运行,0 :非PLC 运行。 | ||
BIT7: 端子多段速运行标志,1 :多段速;0 :非。 | ||
BIT8: 普通运行标志,1 :普通运行;0 :非。 | ||
BIT9: 主频率来源自通讯界面,1 :是;0 :否。 | ||
BIT10: 主频率来源自模拟量输入,1 :是;0 :否。 | ||
BIT11: 运行指令来源自通讯界面,1 :是;0 :否。 | ||
BIT12: 功能参数密码保护,1 :是;0 :否。 | ||
| 2102H | 读变频器设定频率。 |
2103H | 读变频器输出频率。 | |
2104H | 读变频器输出电流。 | |
2105H | 读变频器母线电压。 | |
2106H | 读变频器输出电压。 | |
2107H | 读电机转速。 | |
2108H | 读模块温度。 | |
2109H | 读VI 模拟输入。 | |
210AH | 读CI 模拟输入。 | |
210BH | 读变频器软件版本。 | |
读功能码数据(03H ) | GGnnH (GG :功能码组号。nn : 功能码号) | 变频器回应功能码数据。 |
读功能码数据(06H ) | GGnnH (GG :功能码组号。nn : 功能码号。) | 写入变频器的功能码数据。 |
错误码定义:
错误码 | 说明 |
01H | 功能码错误。变频器能够辩识功能码: 03H , 06H , 08H 。 |
02H | 资料地址错误。资料地址变频器无法辩识。 |
03H | 资料内容错误。资料内容超限。 |