1、第九章 串行口 RS485 通讯协议- 104 -第九章 串行口 RS485 通讯协议9.1 通讯概述本变频器向用户提供工业控制中通用的 RS485通讯接口。通讯协议采用MODBUS标准通讯协议,该变频器可以作为从机与具有相同通讯接口并采用相同通讯协议的上位机(如 PLC控制器、PC 机)通讯,实现对变频器的集中监控,另外用户也可以使用一台变频器作为主机,通过 RS485接口连接数台本公司的变频器作为从机。以实现变频器的多机联动。通过该通讯口也可以接远控键盘。实现用户对变频器的远程操作。本变频器的 MODBUS通讯协议支持两种传送方式:RTU 方式和 ASII方式,用户可以根据情况选择其中的一
2、种方式通讯。下文是该变频器通讯协议的详细说明。9.2 通讯协议说明9.2.1 通讯组网方式(1) 变频器作为从机组网方式:图 91 从机组网方式示意图(2) 多机联动组网方式:图 92 多机联动组网示意图主机为 PC232-485 转换模块ZC100RS485RS232单主机单从机主机为 PC 主机为 PLC232-485 转换模块ZC100 ZC100 ZC100 ZC100或RS232RS485单主机多从机主机 ZC120从机 ZC120 从机 ZC120 从机 ZC120 从机 ZC120RS485第九章 串行口 RS485 通讯协议- 105 -9.2.2 通信协议方式该变频器在 RS
3、485网络中既可以作为主机使用,也可以作为从机使用,作为主机使用时,可以控制其它本公司变频器,实现多级联动,作为从机时,PC机或 PLC可以作为主机控制变频器工作。具体通讯方式如下:(1) 变频器为从机,主从式点对点通信。主机使用广播地址发送命令时, 从机不应答。(2) 变频器作为主机,使用广播地址发送命令到从机,从机不应答。(3) 用户可以通过用键盘或串行通信方式设置变频器的本机地址、波特率、数据格式。(4) 从机在最近一次对主机轮询的应答帧中上报当前故障信息。 9.2.3 通讯接口方式通讯为 RS485接口,异步串行,半双工传输。默认通讯协议方式采用ASII方式。默认数据格式为:1 位起始
4、位,7 位数据位,2 位停止位。默认速率为 9600bps,通讯参数设置参见 P3.09P3.12 功能码。9.3 ASII 通讯协议9.3.1 ASII 协议格式 :主机命令帧格式1 2 3 4 5 6 7 8 9 10 1 2 13 4 15 6帧头 从机地址 从机地址 主机命令 主机命令 故障索引故障索引 命令索引 命令索引 设定数据 设定数据设定数据 设定数据 校验和 校验和 帧尾 帧尾17定义 头 地址 命令区 索引区 设定数据区 校验区 尾字节 1 2 2 4 4 2 2从机回应帧格式1 2 3 4 5 6 7 8 9 10 1 2 13 4 15 6帧头 从机地址 从机地址 从机
5、响应 从机响应 故障索引故障索引 命令索引 命令索引 回应数据 回应数据回应数据 回应数据 校验和 校验和 帧尾 帧尾17定义 头 地址 响应区 索引区 回应数据区 校验区 尾字节 1 2 2 4 4 2 2说明:(1) ASII 模式消息帧以冒号“:” 字符ASII 码 3AH 开始以回车换行第九章 串行口 RS485 通讯协议- 106 -符结束(ASII码0DH,0AH)。(2) ASII 模式协议中,除帧头和帧尾,其他区域有效字符集为:1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,小写ASII字母a、b、c、d、e、f为非法字符。(3) ASII 模式有效命令帧长为 13
6、或17字节。响应帧长为17字节。(4) ASII 模式错误校验采用LRC(纵向冗长检测)方法。错误检测域包含两个ASII 字符。(5) ASII 模式串行数据传输格式采用3种传输格式:1位起始位,7位数据位,2位停止位。1位起始位,7位数据位,1位奇校验位,1位停止位。1位起始位,7位数据位,1位偶校验位,1位停止位。(6) ASII模式字符传输序列如下:无奇偶校验位起 始位 3214567停 止位 停 止位有奇偶校验位起 始位 3214567奇 偶位 停 止位9.3.2 协议格式解释(1) 帧头帧头为冒号“:”字符 ASII 码 3AH。(2) 从机地址数据含义:从机的本机地址。双字节 AS
7、II码,高位在前,低位在后。地址范围是 0247,其中地址 0 为广播地址。变频器出厂设置 01。(3) 主机命令/从机响应数据含义:主机发送的命令,双字节 ASII码,高位在前,低位在后。从机对命令的应答。双字节ASII码。对正常回应,从机仅回应相应的功能代码,对异议回应(产生某种错误),从机回应相同的命令码,但命令字节的最高位变为1。举例如下:485读取从机功能码参数命令为:00010000B(十六进制为10H)从机的错误响应为:10010000B(十六进制为90H)(4) 索引区数据含义:包括辅助索引字节和命令索引字节。对于主机,辅助索引、命令索引用于配合主机命令实现具体功能。第九章 串
8、行口 RS485 通讯协议- 107 -对于从机,辅助索引、命令索引用于从机上报故障状态码,命令索引不作改动,直接上报。数据类型:16 进制,4 字节。ASII 格式。命令索引占用低二字节,数据范围:“00”“FF” 。辅助索引占用高二字节,数据范围:“00”“FF” 。从机的故障状态占用“辅助索引”字节,见表 9-1。表 9-1 故障类型描述故障索引 故障描述 故障索引 故障描述01 加速运行过流 02 减速运行过流03 恒速运行过流 04 加速运行过压05 减速运行过压 06 恒速运行过压07 停机时过压 08 变频器过热09 变频器过载 10 电机过载11 运行中欠压 12 逆变模块保护
9、13 外部设备故障 14 电流检测电路故障15 RS232/485 通 讯 故 障 16 系统干扰17 E2PROM 读写错误 18(5) 检验和数据含义:帧校验。双字节 ASII码。计算方法:对于消息发送端,LRC的计算方法是将要发送消息中“从机地址”到“运行数据”没有转换成ASII码的全部字节连续累加,结果丢弃进位,得到的8位字节按位取反,后再加1(转换为补码),最后转换成ASII码,放入校验区,高字节在前,低字节在后。对于消息接收端,采取同样的LRC方法计算接收到消息的校验和,与实际接收到的校验和进行比较,如果相等,则接收消息正确。如果不相等,则接收消息错误。如果校验错误,则丢弃该消息帧
10、,并不作任何回应,继续接收下一帧数据。(6) 帧尾数据含义:十六进制 0DH、0AH,双字节 ASII。0DH 在前,0AH 在后。9.3.3 ASII 协议命令列表表 92 协议命令表第九章 串行口 RS485 通讯协议- 108 -名称 主机命令 辅助索引 命令索引 主机发送实例(从机地址 01H) 从机回应实例(从机地址 01H) 运行数据精度 说明查询从机状态 00 00 003A 30 31 30 30 30 30 30 30 46 46 0D 0A3A 30 31 30 30 30 30 30 31 30 46 41 30 34 46 0D 0A 1变频器当前允许主机控制,允许设置
11、频率,当前设定频率40.00Hz当前运行频率 01 00 003A 30 31 30 31 30 30 30 30 46 45 0D 0A3A 30 31 30 31 30 30 30 30 00 31 46 34 30 39 0D 0A0.01Hz 回应帧数据区为当前运行频率 5.00Hz当前设定频率 01 00 013A 30 31 30 31 30 30 30 31 46 44 0D 0A3A 30 31 30 31 30 31 30 30 00 31 46 34 30 38 0D 0A0.01Hz 回应帧数据区为当前运行频率 5.00Hz输出电压 01 00 023A 30 31 30
12、 31 30 30 30 32 46 43 0D 0A3A 30 31 30 31 30 30 30 32 30 31 37 43 37 46 0D 0A1V 回应帧数据区为当前输出电压 380V输出电流 01 00 033A 30 31 30 31 30 30 30 33 46 42 0D 0A3A 30 31 30 31 30 30 30 33 30 30 30 35 46 36 0D 0A0.1A 回应帧数据区为当前输出电流 0.5A母线电压 01 00 043A 30 31 30 31 30 30 30 34 46 41 0D 0A3A 30 31 30 31 30 30 30 32
13、30 32 30 38 46 32 0D 0A1V 回应帧数据区为当前母线电压 520V模块温度 01 00 053A 30 31 30 31 30 30 30 35 46 39 0D 0A3A 30 31 30 31 30 30 30 35 30 30 32 38 44 31 0D 0A1OC 回应帧数据区为当前模块温度 40OC负载电机转速 01 00 063A 30 31 30 31 30 30 30 36 46 38 0D 0A3A 30 31 30 31 30 30 30 36 30 33 45 38 30 44 0D 0A1rpm回应帧数据区为当前负载电机转速1000 rpm输入、
14、输出端子状态01 00 073A 30 31 30 31 30 30 30 37 46 37 0D 0A无模拟输入AI1 01 00 083A 30 31 30 31 30 30 30 38 46 36 0D 0A3A 30 31 30 31 30 30 30 38 30 30 36 34 39 32 0D 0A0.01V 回应帧数据区为模拟输入 AI1:1.00V模拟输入AI2 01 00 093A 30 31 30 31 30 30 30 39 46 35 0D 0A3A 30 31 30 31 30 30 30 39 30 30 36 34 39 31 0D 0A0.01V 回应帧数据区
15、为模拟输入 AI2:1.00V运行时间 01 00 0A3A 30 31 30 31 30 30 30 41 46 34 0D 0A3A 30 31 30 31 30 30 30 41 30 30 30 39 45 42 0D 0A小时 回应帧数据区为运行时间 9 小时读取变频器运行状态01 00 0F3A 30 31 30 31 30 30 30 46 45 46 0D 0A3A 30 31 30 31 30 30 30 46 30 30 30 35 45 41 0D 0A无当前变频器反转运行,BIT0=1,BIT2 =1读取从机参数从机运行 02 00 003A 30 31 30 32 3
16、0 30 30 30 46 44 0D 0A3A 30 31 30 32 30 30 30 30 31 33 38 38 36 30 0D 0A0.01HZ回应帧数据区为当前设定频率50.00HZ第九章 串行口 RS485 通讯协议- 109 -设置从机当前运行频 率03 00 003A 30 31 30 33 30 30 30 30 31 33 38 38 36 31 0D 0A3A 30 31 30 33 30 30 30 30 31 33 38 38 36 31 0D 0A0.01Hz命令帧、回应帧数据区为设定频率50.00Hz。从机运行带运行频率给定04 00 003A 30 31 3
17、0 34 30 30 30 30 31 33 38 38 36 30 0D 0A3A 30 31 30 34 30 30 30 30 31 33 38 38 36 30 0D 0A0.01Hz命令帧、回应帧数据区为设定频率50.00Hz。从机正转运 行 05 00 003A 30 31 30 35 30 30 30 30 46 41 0D 0A3A 30 31 30 35 30 30 30 30 31 33 38 38 35 46 0D 0A0.01Hz回应帧数据区为当前设定频率50.00HZ从机反转运行 06 00 003A 30 31 30 36 30 30 30 30 46 39 0D
18、0A3A 30 31 30 36 30 30 30 30 31 33 38 38 35 45 0D 0A0.01Hz回应帧数据区为当前设定频率50.00HZ从机正转运行带运行频率给定07 00 003A 30 31 30 37 30 30 30 30 30 31 46 34 30 33 0D 0A3A 30 31 30 37 30 30 30 30 30 31 46 34 30 33 0D 0A0.01Hz 正转运行设定频率=5.00Hz从机反转运行带运行频率给定08 00 003A 30 31 30 38 30 30 30 30 30 31 46 35 30 31 0D 0A3A 30 31
19、 30 38 30 30 30 30 30 31 46 35 30 31 0D 0A0.01Hz 反转运行设定频率=5.00Hz从机停机 09 00 003A 30 31 30 39 30 30 30 30 46 36 0D 0A3A 30 31 30 39 30 30 30 30 30 31 46 35 30 30 0D 0A0.01Hz 回应帧数据区为当前设定频率 5.00HZ从机点动运 行 0A 00 003A 30 31 30 41 30 30 30 30 46 35 0D 0A3A 30 31 30 41 30 30 30 30 30 31 46 34 30 30 0D 0A0.01
20、Hz回应帧数据区为当前点动设定频率5.00HZ从机正转点动运行 0B 00 003A 30 31 30 42 30 30 30 30 46 34 0D 0A3A 30 31 30 42 30 30 30 30 30 31 46 34 46 46 0D 0A0.01Hz回应帧数据区为当前点动设定频率5.00HZ从机反转点动运行 0C 00 003A 30 31 30 43 30 30 30 30 46 33 0D 0A3A 30 31 30 43 30 30 30 30 30 31 46 34 46 45 0D 0A0.01Hz回应帧数据区为当前点动设定频率5.00HZ从机停止点动运行 0D 0
21、0 003A 30 31 30 44 30 30 30 30 46 32 0D 0A3A 30 31 30 44 30 30 30 30 30 31 46 34 46 44 0D 0A0.01Hz回应帧数据区为当前点动设定频率5.00HZ从机故障复 位 0E 00 003A 30 31 30 45 30 30 30 30 46 31 0D 0A3A 30 31 30 45 30 37 30 30 31 33 38 38 34 46 0D 0A0.01Hz 回应帧数据区为当前设定频率 5.00HZ从机紧急停 车 0F 00 003A 30 31 30 46 30 30 30 30 46 30 0
22、D 0A3A 30 31 30 46 30 30 30 30 31 33 38 38 35 35 0D 0A0.01Hz变频器直接封锁输出。回应帧数据区为当前设定频率5.00HZ运行控制与调节功能读频率输入通道选择 P0.0110 00 013A 30 31 31 30 30 30 30 31 45 45 0D 0A3A 30 31 31 30 30 30 30 31 30 30 30 33 45 42 0D 0A1辅助索引为功能码组号 0,命令索引为功能码号 01H。第九章 串行口 RS485 通讯协议- 110 -读频率数字设定P0.0210 00 023A 30 31 31 30 30
23、30 30 32 45 44 0D 0A3A 30 31 31 30 30 30 30 32 30 46 41 30 33 45 0D 0A0.01Hz辅助索引为功能码组号 0,命令索引为功能码号2。P0.02=40.00Hz读起动频率 P2.01 10 02 013A 30 31 31 30 30 32 30 31 45 43 0D 0A3A 30 31 31 30 30 32 30 31 30 30 30 32 45 41 0D 0A0.01Hz辅助索引为功能码组号 2,命令索引为功能码号1。P2.01=0.02HZ读功能码(功能码组号超过范围)10 10 0A3A 30 31 31 30
24、 30 41 30 31 45 34 0D 0A3A 30 31 39 30 30 41 30 31 30 32 30 30 35 33 0D 0A1功能码组号 10 超出范围,回应帧数据区高 8 位02H(功能码组号超限错误码)。读功能码(功能码号超过范围) 10 01 213A 30 31 31 30 30 31 32 31 43 44 0D 0A3A 30 31 39 30 30 31 32 31 30 33 30 30 34 41 0D 0A1功能码号 21H 超出范围,回应帧数据区高 8 位03H(功能码号超限错误码)。读取功能码参数命令.频率数字设定P0.025.00HZ11 00
25、 023A 30 31 31 31 30 30 30 32 30 31 46 34 46 37 0D 0A3A 30 31 31 31 30 30 30 32 30 31 46 34 46 37 0D 0A0.01Hz辅助索引为功能码组号 0,命令索引为功能码号2。P0.02=5.00Hz多段频率1 设定P3.25 4.99HZ11 03 193A 30 31 31 31 30 33 31 39 30 31 46 33 44 45 0D 0A3A 30 31 31 31 30 33 31 39 30 31 46 33 44 45 0D 0A0.01Hz辅助索引为功能码组号 3,命令索引为功能码
26、号25。P3.25=4.99Hz输入用户密码 P0.00 = 3。解除密码保护。11 00 003A 30 31 31 31 30 30 30 30 30 30 30 33 45 42 0D 0A3A 30 31 31 31 30 30 30 30 30 30 30 30 36 42 0D 0A1输入用户密码,密码输入正确,用户密码 P0.00 变为 0。密码保护解除。输入用户密码 P0.00 = 3。密码输入错误。11 00 003A 30 31 31 31 30 30 30 30 30 30 30 33 45 42 0D 0A3A 30 31 39 31 30 30 30 30 30 34
27、 30 30 36 41 0D 0A1输入用户密码,密码输入错误,回应帧数据区高 8 位04H( 用户密码输入错误)。频率数字设定 P002=500,但用户密码不等于0。11 00 023A 30 31 31 31 30 30 30 32 30 31 46 34 46 37 0D 0A3A 30 31 39 31 30 30 30 32 30 31 30 30 36 42 0D 0A1由于用户密码不等于 0,回应帧数据区高 8 位01H(用户密码不等于 0 错误码)。设置功能写功能码(功能码组号超过范围)11 0A 003A 30 31 31 31 30 41 30 30 30 30 30 3
28、3 45 31 0D 0A3A 30 31 39 31 30 41 30 30 30 32 30 30 36 32 0D 0A1功能码组号 0AH 超出范围,回应帧数据区高 8 位02H( 功能码组号超限错误码)。第九章 串行口 RS485 通讯协议- 111 -写功能码(功能码号超过范围)11 02 303A 30 31 31 31 30 32 33 30 30 30 30 33 42 39 0D 0A3A 30 31 39 31 30 32 33 30 30 33 30 30 33 39 0D 0A1功能码号 30H 超出范围,回应帧数据区高 8 位03H(功能码号超限错误码)。写频率输入
29、通道选择P0.0150011 00 013A 30 31 31 31 30 30 30 31 30 31 46 34 46 38 0D 0A3A 30 31 39 31 30 30 30 31 30 35 30 30 36 38 0D 0A1回应帧数据区高 8位05H( 功能码数据超出最大值错误码)。写故障设定频率功能码P601=19H11 06 013A 30 31 31 31 30 36 30 31 30 30 31 39 43 45 0D 0A3A 30 31 39 31 30 36 30 31 30 37 30 30 36 30 0D 0A1回应帧数据区高 8位07H( 功能码数据为只
30、读错误码)。写加减速方式选择功能码P013=1,但变频器在运行中。11 00 0C3A 30 31 31 31 30 30 30 43 30 30 30 31 45 31 0D 0A3A 30 31 39 31 30 30 30 43 30 38 30 30 35 41 0D 0A1P013 功能码在运行中不能写入,回应帧数据区高 8 位08H( 功能码数据在运行中不能够写入错误码)。版本号 查询从机软件版本号命令12 00 003A 30 31 31 32 30 30 30 30 45 44 0D 0A3A 30 31 31 32 30 30 30 30 30 31 30 31 45 42
31、0D 0A1回应帧数据区为从机软件版本号V1.01表 93 查询从机状态功能定义 查询从机状态含义 帧头 地址 命令 辅助索引 命令索引 数据区 校验和 帧尾主机命令 3AH ADDR 00 00 00 无 LRC0DH、0AH字节数 1 2 2 2 2 0 2 2从机响应 3AH ADDR 00 故障代码 状态代码 当前设定频率 LRC0DH、0AH字节数 1 2 2 2 2 4 2 2索引区:命令帧索引区为全零回应帧辅助索引为从机故障代码,命令索引区为从机当前状态代码,具体代码含义如下表:数据区:主机命令帧没有数据区。从机响应帧数据区从机当前的设定频率值,高位在前,低位在后。从机回应帧种类
32、及实例状态代码 回应帧实例 说明备注00H 3A 30 31 30 30 30 37 30 30 30 46 41 30 34 39 0D 0A 从机没有准备好。第九章 串行口 RS485 通讯协议- 112 -01H 3A 30 31 30 30 30 30 30 31 30 46 41 30 34 46 0D 0A 允许主机控制,允许设置频率。02H 3A 30 31 30 30 30 30 30 32 30 30 30 30 46 44 0D 0A 允许主机控制,不允许设置频率。03H 3A 30 31 30 30 30 30 30 33 30 46 41 30 34 44 0D 0A
33、不允许主机控制,允许设置频率。04H 3A 30 31 30 30 30 30 30 34 30 30 30 30 46 42 0D 0A 不允许主机控制,不允许设置频率。发送实例 3A 30 31 30 30 30 30 30 30 46 46 0D 0A;回应实例 3A 30 31 30 30 30 30 30 31 30 46 41 30 34 46 0D 0A;(当前设定频率 40.00Hz)表 94 查询从机当前运行状态功能定义 查询从机当前运行状态含义 帧头 地址 命令 辅助索引 命令索引 数据区 校验和 帧尾主机命令 3AH ADDR 01 00 0F 无 LRC0DH、0AH字
34、节数 1 2 2 2 2 0 2 2从机响应 3AH ADDR 01 故障代码 0F当前运行状态字 LRC0DH、0AH字节数 1 2 2 2 2 4 2 2索引区:命令帧辅助索引区为 00H,命令索引为 0FH。回应帧辅助索引为从机故障代码,命令索引为 0FH。 数据区:主机命令帧没有数据区。从机响应帧数据区为从机当前运行状态字。高位在前,低位在后。具体代码含义如下表:从机回应帧运行状态字含义位 说明 0 1BIT0 停机/运行状态 停机 运行BIT1 欠压标志 正常 欠压BIT2 正/反转运行模式标志 正转 反转BIT3 摆频运行模式标志 无效 有效BIT4 点运运行状态标志 否 点动BI
35、T5 PI 闭环运行模式标志 否 是BIT6 PLC 运行模式 否 是BIT7 多段频率运行模式 否 是备注BIT8 指定计数值到达标志 否 是第九章 串行口 RS485 通讯协议- 113 -BIT9 设定计数值到达标志 否 是BIT1015 保留 发送实例 3A 30 31 30 31 30 30 30 46 45 46 0D 0A;回应实例 3A 30 31 30 31 30 30 30 46 30 30 30 35 45 41 0D 0A;(当前变频器反转运行)表 95 读取从机功能码参数功能定义 读取从机功能码参数含义 帧头 地址 命令 索引区 数据区 校验和 帧尾主机命令 3AH
36、ADDR 10 见备注 无 LRC 0DH、0AH字节数 1 2 2 4 0 2 2从机响应 3AH ADDR 10 见备注 功能码参数 LRC 0DH、0AH字节数 1 2 2 4 4 2 2索引区:辅助索引为功能码组号:范围 09,表示 P0P9 组功能码。命令索引为功能码号:范围根据功能码组不同而不同。例如:读取 P0.02 功能码的参数,索引区=0002H,辅助索引00H,命令索引=02 H。读取 P1.11 功能码的参数,索引区=010BH,辅助索引01H,命令索引=0BH。读取 P2.16 功能码的参数,索引区=0210H,辅助索引02H,命令索引=10 H。数据区:主机命令帧没有
37、数据区。从机响应帧数据区包含功能码的具体数值,高位在前低位在后。当命令帧错误时,从机响应错误帧给主机,错误帧如下:1 功能码组号超限错误:响应帧命令区为 90H(字节最高位为 1),数据区高字节为02H。2 功能码号超限错误:响应帧命令区为 90H(字节最高位为 1),数据区高字节为 03H。功能码组号名称的十进制及十六进制取值的对应关系功能码组号 十进制 十六进制 功能码组号 十进制 十六进 制P0 0 00H P5 5 05HP1 1 01H P6 6 06HP2 2 02H P7 7 07HP3 3 03H P8 8 08H备注P4 4 04H P9 9 09H发送实例 3A 30 31 31 30 30 32 30 31 45 43 0D 0A;(读起动频率 P2.01 功能码)回应实例 3A 30 31 31 30 30 32 30 31 30 31 46 34 46 37 0D 0A;(P2.01 = 5.00Hz)如果变频器设置了用户密码,则在设置用户功能码的参数前,必须先通过串口正确输入“用户密码” 。然后才能设置功能码参数。