施耐德变频器Modbus通讯概要.docx
《施耐德变频器Modbus通讯概要.docx》由会员分享,可在线阅读,更多相关《施耐德变频器Modbus通讯概要.docx(9页珍藏版)》请在冰豆网上搜索。
![施耐德变频器Modbus通讯概要.docx](https://file1.bdocx.com/fileroot1/2023-2/1/b0d3877f-6f44-4651-8dfc-d3e31a0e8e48/b0d3877f-6f44-4651-8dfc-d3e31a0e8e481.gif)
施耐德变频器Modbus通讯概要
ModifiedbyJACKontheafternoonofDecember26,2020
施耐德变频器Modbus通讯概要
ATV303Modbus通讯概要
刘允松李平
下面列出ATV303变频器做Modbus通讯时的要点和注意事项:
一、RS485口定义
ATV303集成RS485串行通讯口,并驻留ModbusRTU串行通讯协议,允许其与主流上位机通讯。
RS485口的物理形式是RJ45。
针脚排列定义如图1所示。
图1
其中4和5是数据发送/接收口,也是Modbus通常使用的。
8是GND,在做Modbusbus通讯时通常要求接上,可以提高通讯质量。
7可以由变频器提供10V电源,用来外拉面板或某些型号的232/485的转换头使用。
此RJ45口除Modbus通讯外的其它用途:
1.可以用来外拉面板(型号为VW3A1006);
2.可以连接PC监控软件;
3.可以连接简易参数下载器;
4.可以连接多功能参数下载器。
二、通讯参数设置:
通讯参数主要在通讯菜单700-中设置,主要有Modbus地址(站号),波特率,数据格式、超时等等。
图2
另外ATV303的Modbus默认要求一旦数据开始读写,必须有连续的数据交换,变频器依据Modbus超时进行ConsistencyCheck。
如果超过该时限没有接到数据交换指令,即判定串行连接故障。
因此必须对数据进行循环读或写。
另一种解决的方式是在故障管理菜单菜单中屏蔽串行连接故障,即将参数611设置为00.
图3
注意这种方法是一种偷懒的方法,潜在的危险时当出现真正的通讯连接故障(如遇到干扰),变频器将不能发现。
四、控制通道的设置:
如果作Modbus通讯的目的仅仅是读取变频器的状态和变量,例如输出频率,输出电流,故障记录等,控制通道是不用设置的。
典型的状态参数地址为:
如果Modbus通讯的目的是用来以上位机控制变频器的给定频率和/或起停命令,则需要在400-菜单中对控制通道进行设置。
如果以上位机同时控制变频器的给定频率和起停命令,其实也可以不做设置。
因为本来通讯就是优先的:
变频器一旦接收到来自Modbus的给定频率和起停(包括正反转)指令,Modbus控制就起了主导作用,除非强迫本地有效。
但为了照顾习惯用法,我们可以在400-菜单中分别设置给定源和命令源,需要设置下列参数:
图4
将参数406设置为02,将使给定通道400和命令通道407单独设置。
例如:
将401设置为164,就以Modbus作为给定通道,将407设置为10,就以Modbus作为起停通道。
当以Modbus作为给定通道时,频率给定的变量地址为8502(16#2136),以为单位,称为LFRD。
或者使用变量地址8602(16#219A),以RPM(转每分)为单位,称为LFRD。
五、基于IEC61800-7的变频器状态流程
ATV303通讯控制时,命令字CMD的变量地址是8501(16#2135),或8601(16#2199),前者以以8502做频率给定,后者以8602做速度给定。
实时状态字ETA的变量地址都是3201(16#0C81)。
CMD和ETA的交互关系如图5。
图5
图中,命令字CMD的每一位的意义见下表:
表1
比较有用的的命令字CMD见下表:
表2
另外还有,反转指令CMD=16#080F,停止指令CMD=16#010F
状态字ETA的每一位的意义见下表:
表3
为简单起见,我们将状态字ETA位乘16#006F,掩盖掉某些位,称其为MSK,则典型的状态见下表。
表4
例如,要完成如下控制要求:
M218的本体模块的的上升沿启动ATV303,以的下降沿使ATV303停机。
根据上述交互状态表,以Somachine为操作平台用ST语言编写的例程为:
图6
五、通讯浏览器(I/OScanner)
通常比较常用的写入的变量包括:
变量代码
变量地址(十进制)
变量地址(16进制)
变量含义
备注
CMD
8501
2135
命令字
以CMD发起停指令时,以LFR作频率给定
LFR
8502
2136
频率给定字(单位:
CMDD
8601
2199
命令字
以CMDD发起停指令时,以LFRD作速度给定
LFRD
8602
219A
速度给定字(单位:
1rpm)
CMI
8504
2138
扩展命令字
表5
通常比较常用的读出的状态变量包括:
变量代码
变量地址(十进制)
变量地址(16进制)
变量含义
备注
ETA
8603
219B
状态字
ETI
3206
0C86
扩展状态字
RFR
3202
0C82
有符号输出频率(单位:
)
RFRD
8604
219C
有符号输出速度(单位:
1rpm)
LCR
3204
0C84
电机电流(单位:
)
ULN
3207
0C87
电网电压(单位:
)
起始地址33207,从VB80开始寄存,存4个字节,数据将保存在VW82
THD
3209
0C89
变频器热状态(单位:
%)
THR
9630
259E
电机热状态(单位:
%)
LFt
7121
1BD1
故障代码(列表)
表6
可以看到,某些变量的逻辑地址并不连续,如果需要读取或写入变量,需要多个读取和写入指令,这将影响通讯的效率。
为此,ATV303设置了间接寻址读取缓冲区和间接寻址写入缓冲区。
首先将要连续读取的变量的逻辑地址依次设进参数—,将要连续写入的变量的逻辑地址依次设进参数—。
这样—(逻辑地址12741/16#31C5—12744/16#31C8)对应的是读取的变量的映射,—(逻辑地址12761/16#31D9—12764/16#31DC)对应的是写入的变量的映射。
在编写读取和写入参数的指令格式时时,按逻辑地址12741—12744和12761—12764填入即可。
表7