课题目的: 最近2年,随着工业以太网越来越多的被应用和提及,很多我的客户开始使用工业总线的方式来控制各式各样的设备。虽然我对通讯协议并不精通,但是希望通过我的使用经验和这篇文章能使大家对工业以太网不在那么陌生,也消除一些抵触心理。
EmotronVFX 系列变频器简述: 介于大部分人还是不了解emotron这个产品,我先简单说一下。
- 适用于高动态需求的应用,直接转矩DTC控制。适合对转矩和动态响应比较高的应用如:起重机,破碎机,研磨机,搅拌机和离心机等。 - 全金属外壳,防护等级IP54,适合恶劣工况的应用。 - 自带轴功率监视功能。 - 内置制动斩波器、直流电抗器,所有电路板涂层处理。 - 内部整合C3类EMC滤波器。 - 多种通讯选件卡可选:DeviceNet、Profibus-DP、Profinet IO、EtherNet/IP、EtherCAT、Modbus RTU、Modbus TCP。
由于其优秀的转矩控制和对恶劣环境(高粉尘、电磁干扰、腐蚀气体)的适应性,emotron VFX 系列变频器目前被广泛应用于电解铝、矿山和汽车行业。
准备工作: 1. emotron VFX 系列变频器一台,版本V4.36并装配EtherNet/IP选件卡。 2. CompactLogix 1769-L30ERM CPU一块、1769-PA2电源一块。 3. 编程电脑一台,预装Windows 7 x64 旗舰版操作系统、RsLogix5000 V20.01 4. 工业以太网线一条、编程网线一条。 5. EmotronVFX 变频器EDS文件 - 005A0000002E0100.eds 6. 通讯手册 - Fieldbus_Option_-_Instruction_manual_01-3698-01r9.pdf
硬件连接: 1. 给变频器接入380V AC电源,1769-PA2接入220V AC电源。 2. 将选件卡与变频器连接,注意连接排线的安装–不要接反且要连接牢固。 3. 将变频器与CPU进行以太网连接,Rockwell 有非常详细的以太网安装标准 – Use it !!!
参数调节:
关于变频器的基本参数设置,请参照变频器本体的使用说明书,这里只强调一下通讯部分。
硬件组态: 在RsLogix5000里添加emotron VFX的EDS文件: 1. Tools – EDS Hardware Installation Tool 2. Register an EDS file(s) – Next 3. Register a single file – 点击 Browser – 选中VFX的EDS文件–Next 4. 一直Next –看到新添加了一个Anybus-CC EtherNet/IP 2-Port 的设备–点击完成 5. 新建一个RsLogix5000项目,并配置一个Compact 1769-L30ERM CPU 6. 右键点击EtherNet网络–New Module 新建一个网络设备 7. 在弹出的Select Module Type菜单中,用筛选HMS Industrial Networks AB的方式,可快速找到设备驱动。选择Anybus-CC EtherNet/IP 2- Port – Create创建设备 8. 在设备树导航器里,双击开变频器。通用菜单General下在Name里填写唯一性的变频器名称,EtherNet Address 里选择专有网络 Private Network 然后填写和变频器菜单2651一样的IP地址 9. 点击下面的Change 按钮,弹出Module Definition菜单。选用Exclusive Owner并将Input和output的长度Size全部设置为9,全部点击OK
10. 进入连接Connection菜单,将Requested packet interval循环报文周期改为50ms,其他保持默认。 11. 将CPU上线 Go Online,将程序Download下去。然后再次进入变频器设置页面,进入Module Info设备信息菜单,可看到变频器的在线信息了。
地址映射: 做完上面的步骤,我们进入到Controller Tags控制器标签里就可以看到生成了I和O各9个DINT的数据标签。 第一个输入的双字I.Data[0]就用于接受变频器的运行状态,数据类型DINT=32xBOOL
相反第一个输出的双字O.Data[0]就用于向变频器发送控制指令,数据类型DINT=32xBOOL
扩展数据报文: 如果基本通讯数据报文无法满足系统需求,可扩展数据长度8 x DINT输入和8 x DINT输出 上文已经将菜单[2634] 设置为8,并且RsLogix5000中也已经自动生成标签。接下来只需要在变频器菜单[2661] – [266G] 中设置扩展数据类型即可,接下来我们举例说明:
[2669] = emo_Anybus_Two_Port_1:I.Data[1] 数据类型DINT 只读类型 [266A] = emo_Anybus_Two_Port_1:I.Data[2] 数据类型DINT 只读类型 [266G] = emo_Anybus_Two_Port_1:I.Data[8] 数据类型DINT 只读类型
假如这里我们想采集一下变频器的输出电流,查手册可知状态菜单为 [716]
如上图,菜单 [716] 的Modbus地址为31007。将菜单 [2669] 的数值设置成31007,RsLogix5000中emo_Anybus_Two_Port_1:I.Data[1] 采集到的数值就是变频器实际输出的电流值。以此类推,最多可扩展8个DINT只读型数据
[2669] = emo_Anybus_Two_Port_1:O.Data[1] 数据类型DINT 读写类型 [266A] = emo_Anybus_Two_Port_1:O.Data[2] 数据类型DINT 读写类型 * * * [266G] = emo_Anybus_Two_Port_1:O.Data[8] 数据类型DINT 读写类型
注意每个参数的精度和单位,详细见变频器说明书
结语:虽然其他品牌的变频器我不太熟悉,但通讯的本质都是差不多的。每个报文的位或字都是固定的功能,只要在PLC程序里映射并使用正确,通讯就没有问题的。不管大家是否使用emotron变频器,我都希望通过这篇文章能给大家一些启发,让工控小鸟们不再迷茫。