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=广播地址
命令码CMD03:读从机参数;06:写从机参数
功能码地址H变频器内部的参数地址,16进制表示;分为功能码型和非功能码型(如 运行状态参数、运行命令等)参数等,详见地址定义。传送时,高字节在前,低字节在后
功能码地址L同上
功能码个数H本帧读取的功能码个数,若为1表示读取1个功能码。传送时,高字节在前,低字节在后。 本协议一次只能改写1个功能码,没有该字段。
功能码个数L同上
数据H应答的数据,或特写入的数据,传送时,高字节在前,低字节在后。
数据L同上
CRCCHK高位检测值:CRC16校验值。传送时,高字节在前,低字节在后。 计算方法详见本节CRC校验的说明。
CRCCHK低位同上
END3.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功能码参数地址标示规则:

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

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

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

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

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

8.1.7 停机/运行参数部分:

参数地址参数描述参数地址参数描述
1000H通信设定值(十进制)
-10000-10000
1010HPID设置
1001H运行频率1011HPID反馈
1002H母线电压1012HPLC步骤
1003H输出电压1013H输入脉冲频率, 单位 0.01kHz
1004H输出电流1014H反馈速度,单位0.1Hz
1005H输出功率1015H剩余运行时间
1006H输出转矩1016HAll校正前电压
1007H运行速度1017HAI2校正前电压
1008HDI输入标志1018HAI3校正前电压
1009HDO输出标志1019H线速度
100AHAll电压101AH当前上电时间
100BHAI2电压101BH当前运行时间
100CHAI3电压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 (转矩上限数字设定,分别对应第一、二三、四电机)

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

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

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

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

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

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

8.1.8 输出控制命令

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

8.1.9 变频器故障描述

变频器故障地址变频器故障信息
8000H0000:无故障
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~20ms2ms
ℹ️
应答延时:是指变频器数据接受结束到向上位机发送数据的中间间隔时间。如果应答延时小于系统处理时间,则应答延时以系统处理时间为准,如应答延时长于系统处理时间,则系统处理完数据后,要延迟等待,直到应答延迟时间到,才往上位机发送数据。
功能码名称设定范围出厂值
Pd-04通讯超时时间0.0s(无效)
0.1~60.0s
2ms
ℹ️
注意:
当该功能码设置为0.0s时,通讯超时时间参数无效。
当该功能码设置成有效值时,如果一次通讯与下一次通讯的间隔时间超出通讯超时时间,系统将报通讯故障错误(Err16)。通常情况下,都将其设置成无效。如果在连续通讯的系统中,设置次参数,可以监视通讯状况。
功能码名称设定范围出厂值
Pd-050:非标准的Modbus协议;
1:标准的Modbus协议
0
ℹ️
注意:
Pd-05=1:选择标准的Modbus协议。
Pd-05=0:读命令时,从机返回字节数比标准的Modbus协议多一个字节,具体参见本协议通讯资料结构部分。
功能码名称设定范围出厂值
Pd-06通讯读取电流分辨率0:0.01A;
1:0.1A
0
ℹ️
注意: 用来确定通讯读取输出电流时,电流值的输出单位。

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

我要分享