1、ATV303 Modbus 通讯概要刘允松 李平下面列出 ATV303 变频器做 Modbus 通讯时的要点和注意事项:一、RS485 口定义ATV303 集成 RS485 串行通讯口,并驻留 Modbus RTU 串行通讯协议,允许其与主流上位机通讯。RS485 口的物理形式是 RJ45。针脚排列定义如图 1 所示。图 1其中 4 和 5 是数据发送/接收口,也是 Modbus 通常使用的。8 是 GND,在做 Modbusbus 通讯时通常要求接上,可以提高通讯质量。7 可以由变频器提供 10V 电源,用来外拉面板或某些型号的 232/485 的转换头使用。此 RJ45 口除 Modbus
2、 通讯外的其它用途:1. 可以用来外拉面板(型号为 VW3A1006) ;2. 可以连接 PC 监控软件;3. 可以连接简易参数下载器;4. 可以连接多功能参数下载器。二、通讯参数设置:通讯参数主要在通讯菜单 700-中设置,主要有 Modbus 地址(站号) ,波特率,数据格式、超时等等。图 2另外 ATV303 的 Modbus 默认要求一旦数据开始读写,必须有连续的数据交换,变频器依据 Modbus 超时进行 Consistency Check。如果超过该时限没有接到数据交换指令,即判定串行连接故障。因此必须对数据进行循环读或写。另一种解决的方式是在故障管理菜单菜单中屏蔽串行连接故障,即
3、将参数 611 设置为 00.图 3注意这种方法是一种偷懒的方法,潜在的危险时当出现真正的通讯连接故障(如遇到干扰) ,变频器将不能发现。四、控制通道的设置:如果作 Modbus 通讯的目的仅仅是读取变频器的状态和变量,例如输出频率,输出电流,故障记录等,控制通道是不用设置的。典型的状态参数地址为:如果 Modbus 通讯的目的是用来以上位机控制变频器的给定频率和/或起停命令,则需要在400-菜单中对控制通道进行设置。如果以上位机同时控制变频器的给定频率和起停命令,其实也可以不做设置。因为本来通讯就是优先的:变频器一旦接收到来自 Modbus 的给定频率和起停(包括正反转)指令,Modbus
4、控制就起了主导作用,除非强迫本地有效。但为了照顾习惯用法,我们可以在 400-菜单中分别设置给定源和命令源,需要设置下列参数:图 4将参数 406 设置为 02, 将使给定通道 400 和命令通道 407 单独设置。例如:将 401 设置为164,就以 Modbus 作为给定通道,将 407 设置为 10,就以 Modbus 作为起停通道。当以 Modbus 作为给定通道时,频率给定的变量地址为 8502(16#2136) ,以 0.1Hz 为单位,称为 LFRD。或者使用变量地址 8602(16#219A),以 RPM(转每分)为单位,称为LFRD。五、基于 IEC61800-7 的变频器状
5、态流程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,则
6、典型的状态见下表。表 4例如,要完成如下控制要求:M218 的本体模块的 I0.0.0 的上升沿启动 ATV303, 以 I0.0.1的下降沿使 ATV303 停机。根据上述交互状态表,以 Somachine 为操作平台用 ST 语言编写的例程为:图 6五、通讯浏览器(I/O Scanner)通常比较常用的写入的变量包括:变量代码 变量地址(十进制)变量地址(16进制)变量含义 备注CMD 8501 2135 命令字LFR 8502 2136 频率给定字(单位:0.1Hz)以 CMD 发起停指令时,以 LFR作频率给定CMDD 8601 2199 命令字LFRD 8602 219A 速度给定字
7、(单位:1rpm)以 CMDD 发起停指令时,以LFRD 作速度给定CMI 8504 2138 扩展命令字表 5通常比较常用的读出的状态变量包括:变量代码 变量地址(十进制)变量地址(16进制)变量含义 备注ETA 8603 219B 状态字ETI 3206 0C86 扩展状态字RFR 3202 0C82 有符号输出频率(单位:0.1Hz)RFRD 8604 219C 有符号输出速度(单位:1rpm)LCR 3204 0C84 电机电流(单位:0.1Hz)ULN 3207 0C87 电网电压(单位:0.1V)THD 3209 0C89 变频器热状态(单位:%)THR 9630 259E 电机热
8、状态(单位:%)LFt 7121 1BD1 故障代码(列表)表 6可以看到,某些变量的逻辑地址并不连续,如果需要读取或写入变量,需要多个读取和写入指令,这将影响通讯的效率。为此,ATV303 设置了间接寻址读取缓冲区和间接寻址写入缓冲区。首先将要连续读取的变量的逻辑地址依次设进参数 705.0705.3,将要连续写入的变量的逻辑地址依次设进参数 706.0706.3。这样 707.0707.3(逻辑地址 12741/16#31C512744/16#31C8)对应的是读取的变量的映射,708.0708.3(逻辑地址 12761/16#31D912764/16#31DC)对应的是写入的变量的映射。在编写读取和写入参数的指令格式时时,按逻辑地址 1274112744 和 1276112764 填入即可。表 7