8.1 协议内容

变频器提供RS485通信接口,并支持Modbus-RTU通讯协议。用户可通过计算机或PLC实现集中控制, 通过该通讯协议设定变频器运行命令,修改或读取功能码参数,读取变频器的工作状态及故障信息等。

该串行通信协议定义了串行通信中传输的信息内容及使用格式。其中包括:主机轮询(或广播)格式;主机的编码方法,内容包括:要求动作的功能码,传输数据和错误校验等。从机的响应也是采用相同的结构,内 容包括:动作确认,返回数据和错误校验等。如果从机在接收信息时发生错误,或不能完成主机要求的动作, 它将组织一个故障信息作为响应反馈给主机。

8.1.1 应用方式

变频器接入具备RS485总线的“单主多从”PC/PLC控制网络,作为通讯从机。

8.1.2 总线结构

(1)硬件接口 自带通讯接口A+、B-接线端子。
(2)拓扑结构
单主机多从机系统。网络中每一个通讯设备都有一个唯一的从站地址,其中有一个设备作为通讯主机(PC上位机、PLC、HMI等),主机发动通讯,对从机进行参数读或写操作,其它设备在为通讯从机,响应主机对 本机的询问或通讯操作。在同一时刻只能有一个设备发送数据,而其他设备处于接收状态。从机地址的设定范围为1~247,0为广播通信地址。网络中的从机地址必须是唯一的。
(3)通讯传输方式
异步串行,半双工传输方式。数据在串行异步通信过程中,是以报文的形式,一次发送一帧数据, MODBUS-RTU协议中约定,当通讯数据线上无数据的空闲时间大于3.5Byte的传输时间,表示新的一个通讯帧 的起始。

modbus通讯传输方式
modbus通讯传输方式
变频器内置的通信协议是Modbus-RTU从机通信协议,可响应主机的“查询/命令”,或根据主机的“查 询/命令”做出相应的动作,并通讯数据应答。
主机可以是指个人计算机(PC),工业控制设备或可编程逻辑控制器(PLC)等,主机既能对某个从机 单独进行通信,也能对所有下位从机发布广播信息。对于主机的单独访问“查询/命令”,被访问从机要返 回一个应答帧频;对于主机发出的广播信息,从机无需反馈响应给主机。

8.1.3 通讯资料结构

Modbus协议通讯数据格式如下,变频器只支持Word型参数的读或写。对应的通讯读操作命令为0x03; 写操作命令为0x06,不支持字节或位的读写操作:

Modbus协议通讯数据格式
Modbus协议通讯数据格式
理论上,上位机可以一次读取连续的几个功能码(即其中n最大可达12个),但要注意不能跨过本功能码组 最后一个功能码,否则会答复出错。
Modbus协议通讯数据格式
Modbus协议通讯数据格式
若从机检测到通讯帧错误,或其他原因导致的读写不成功,会答复错误帧。
Modbus协议通讯数据格式
Modbus协议通讯数据格式

8.1.4 数据帧字段说明

项目 说明
帧头START 大于3.5个字符传输时间的空闲
从机地址ADR 通讯地址范围:1~247;0=广播地址
命令码CMD 03:读从机参数;06:写从机参数
功能码地址H 变频器内部的参数地址,16进制表示;分为功能码型和非功能码型(如 运行状态参数、运行命令等)参数等,详见地址定义。传送时,高字节在前,低字节在后
功能码地址L 同上
功能码个数H 本帧读取的功能码个数,若为1表示读取1个功能码。传送时,高字节在前,低字节在后。 本协议一次只能改写1个功能码,没有该字段。
功能码个数L 同上
数据H 应答的数据,或特写入的数据,传送时,高字节在前,低字节在后。
数据L 同上
CRCCHK高位 检测值:CRC16校验值。传送时,高字节在前,低字节在后。 计算方法详见本节CRC校验的说明。
CRCCHK低位 同上
END 3.5个字符时间

8.1.5 CMD检验方式

校验方式CRC校验方式:CRC(Cyclical Redundancy Check)使用RTU帧格式,消息包括了基于CRC 方法的错误检测域。CRC域检测了整个消息的内容。CRC域是两个字节,包含16位的二进制值。它由传输设备 计算后加入到消息中。接收设备重新计算收到消息CRC,并与接收到的CRC域中的值比较,如果两个CRC值不 相等,则说明传输有错误。
CRC是先存入0xFFFF,然后调用一个过程将消息中连续的8位字节与当前寄存器中的值进行处理。仅每 个字符中的8Bit数据对CRC有效,起始位和停止位以及奇偶校验位均无效。
CRC产生过程中,每个8位字符都单独和寄存器内容相异或(XOR),结果向最低有效位方向移动,最高有 效位以0填充。LSB被提取出来检测,如果LSB为1,寄存器单独和预置的值相异或,如果LSB为0,则不进行。 整个过程要重复8次。在最后一位(第8位)完成后,下一个8位字节又单独和寄存器的当前值相异或。最终寄存器中的值,是消息中所有的字节都执行之后的CRC值。 CRC添加到消息中时,低字节先加入,然后高字节。CRC简单函数如下:

unsigned int CRC16_CHK(unsigned char *data, unsigned char length)
{
  int j = 0;
  unsigned int crc Oxffff reg:
    while(length--)
    {
       crc reg *data++:
       for(j=0:j<8:j++)
          {
           if(reg crc 0x01)
             {
            reg_crc (reg_crc > 1) 0xa001:
             }
       else
             {
             reg_crc = reg_crc >> 1;
             }
          }
    }
    return reg_crc;
}

8.1.6功能码参数地址标示规则:

读写功能码参数(有些功能码是不能更改的,只供厂家使用或监视使用):
以功能码组号和标号为参数地址表示规则:
高位字节: PO~PF(P组) AO-AF(A组) 70~7F(U组) 低位字节: 00~FF
例如:若要范围功能码P3-12 ,则功能码的访问地址表示为F30CH

ℹ️
注意:
PF组:既不可读取参数,也不可更改参数;
U组:只可读取,不可更改参数.
有些参数在变频器处于运行状态时不可更改;有些参数不论变频器处于何种状态,均不可更改;更改功能码参数,还要注意参数的范围、单位及相关说明。

功能码组号 通讯访问地址 通讯修改RAM中功能码地址
P0~PE 组 0xF000~0xFEFF 0x0000~0x0EFF
A0~AC 组 0xA000~0xACFF 0x4000 ~0x4CFF
U0组 0x7000 ~0x70FF 只读,不可写

ℹ️
注意:
1、由于EEPROM频繁被存储,会减少EEPROM的使用寿命,所以,有些功能码在通讯的模式下,无须存储,只要更改RAM中的值就可以了。
2、如果为P组参数,要实现该功能,只要把该功能码地址的高位F变成0就可以实现.如果为A组参数,要实现该功能,只要把该功能码地址的高位A变成4就可以实现。

写入RAM相应功能码地址如下:
高位字节:00~0F(P组) 40~4F(A组)
低位字节:00~FF
例如:功能码 P3-12不存储到 EEPROM 中,地址表示为 030cH ;
功能码A0-05不存储到EEPROM中,地址表示为4005H ;
ℹ️
注意:
该地址表示只能做写RAM,不能做读的动作,读时,为无效地址.对于所有参数,也可以使用命令码07H来实现该功能.

8.1.7 停机/运行参数部分:

参数地址 参数描述 参数地址 参数描述
1000H 通信设定值(十进制)
-10000-10000
1010H PID设置
1001H 运行频率 1011H PID反馈
1002H 母线电压 1012H PLC步骤
1003H 输出电压 1013H 输入脉冲频率, 单位 0.01kHz
1004H 输出电流 1014H 反馈速度,单位0.1Hz
1005H 输出功率 1015H 剩余运行时间
1006H 输出转矩 1016H All校正前电压
1007H 运行速度 1017H AI2校正前电压
1008H DI输入标志 1018H AI3校正前电压
1009H DO输出标志 1019H 线速度
100AH All电压 101AH 当前上电时间
100BH AI2电压 101BH 当前运行时间
100CH AI3电压 101CH 输入脉冲频率,单位1Hz
100DH 计数值输入 101DH 通讯设定值
100EH 长度值输入 101EH 实际反馈速度
100FH 负载速度 101FH 主频率X显示
1020H 辅频率Y显示

ℹ️
注意:
1、通信设定值是相对值的百分数,10000对应100.00%, -10000对应-100.00%。
2、对频率量纲的数据,该百分比是相对最大频率(P0-10)的百分数;对转矩量纲的糠,该百分比是P2-10、A2-48、A3-48、A4-48 (转矩上限数字设定,分别对应第一、二三、四电机)

控制命令输入到变频器:(只写)

命令字地址 命令功能
2000H 0001:正转运行
0002:反转运行
0003:正转点动
0004:反转点动
0005:自由停机
0006:减速停机
0007:故障复位

读取变频器状态:(只读)

状态字地址 状态字功能
3000H 0001:正转运行
0002:反转运行
0003:停机

参数锁定密码检验:(如果返回为888H,即表示密码校验通过)

密码地址 输入密码的内容
1F00H *****

8.1.8 输出控制命令

命令字地址 命令内容 输出控制命令说明
2001H Bit0: DO1输出控制
Bit1: DO2输出控制
Bit2: RELAY1输出控制
Bit3: RELAY2输出控制
Bit4: FMR输出控制
Bit5: VDO1
Bit6: VDO2
数字输出端子控制:(只写)
2002H 0~7FFF表示0%~100% 模拟输出AO1控制:(只写)
2003H 0~7FFF表示0%~100% 模拟输出AO2控制:(只写)
2004H 0~7FFF表示0%~100% 脉冲(PULSE)输出控制:(只写)

8.1.9 变频器故障描述

变频器故障地址 变频器故障信息
8000H 0000:无故障
0001:保留
0002:加速过电流
0003:减速过电流
0004:恒速过电流
0005:加速过电压
0006:减速过电压
0007:恒速过电压
0008:缓冲电阻过载故障
0009:欠压故障
000A:变频器过载
000B:电机过载
000C:输入缺相
000D:输出缺相
000E:模块过热
000F:外部故障
0010:通讯异常
0011:接触器异常
0012:电流检测故障
0013:电机调谐故障
0014:编码器/PG卡故障
0015:参数读写异常
0016:变频器硬件故障
0017:电机对地短路故障
0018:保留
0019:保留
001A:运行时间到达
001B:用户自定义故障1
001C:用户自定义故障2
001D:上电时间到达
001E:掉载
001F:运行时PID反馈丢失
0028:快速限流超时故障
0029:运行时切换电机故障
002A:速度偏差过大
002B:电机超速度
002D:电机过温
005A:编码器线数设定错误
005B:未接编码器
005C:初始位置错误
005E:速度

8.1.10 PD组通讯参数说明

功能码 名称 设定范围 出厂值
Pd-00 波特率 个位:MODUBS波特率
0:300BPS
1:600BPS
2:1200BPS
3:2400BPS
4:4800BPS
5:9600BPS
6:19200BPS
7:38400BPS
8:57600BPS
9:115200BPS
600
ℹ️
此参数用来设定上位机与变频器之间的数据传输速率。注意,上位机与变频器设定的波特率必须一致,否则,通讯无法进行。波特率越大,通讯速度越快。
功能码 名称 设定范围 出厂值
Pd-01 数据格式 0:无校验:数据格式<8,N,2>
1:偶检验:数据格式<8,E,1>
2:奇校验:数据格式<8,0,1>
0
ℹ️
上位机与变频器设定的数据格式必须一致,否则,通讯无法进行。
功能码 名称 设定范围 出厂值
Pd-02 本机地址 1~247,0为广播地址 1
ℹ️
当本机地址设定为0时,即为广播地址,实现上位机广播功能。
本机地址具有唯一性(除广播地址外),这是实现上位机与变频器点对点通讯的基础。
功能码 名称 设定范围 出厂值
Pd-03 应答延时 0~20ms 2ms
ℹ️
应答延时:是指变频器数据接受结束到向上位机发送数据的中间间隔时间。如果应答延时小于系统处理时间,则应答延时以系统处理时间为准,如应答延时长于系统处理时间,则系统处理完数据后,要延迟等待,直到应答延迟时间到,才往上位机发送数据。
功能码 名称 设定范围 出厂值
Pd-04 通讯超时时间 0.0s(无效)
0.1~60.0s
2ms
ℹ️
注意:
当该功能码设置为0.0s时,通讯超时时间参数无效。
当该功能码设置成有效值时,如果一次通讯与下一次通讯的间隔时间超出通讯超时时间,系统将报通讯故障错误(Err16)。通常情况下,都将其设置成无效。如果在连续通讯的系统中,设置次参数,可以监视通讯状况。
功能码 名称 设定范围 出厂值
Pd-05 0:非标准的Modbus协议;
1:标准的Modbus协议
0
ℹ️
注意:
Pd-05=1:选择标准的Modbus协议。
Pd-05=0:读命令时,从机返回字节数比标准的Modbus协议多一个字节,具体参见本协议通讯资料结构部分。
功能码 名称 设定范围 出厂值
Pd-06 通讯读取电流分辨率 0:0.01A;
1:0.1A
0
ℹ️
注意: 用来确定通讯读取输出电流时,电流值的输出单位。

探索以下文档以便了解更多内容: