昌晖仪表介绍ABB PLC之间如何通过工业以太网(Modbus TCP)进行通讯。使用两个PLC,其中Server使用AC500-eCo V3 PLC: PM5072。 Client使用AC500 V3 PLC:PM5650。
实验系统简图
1、工程电脑
安装PLC编程软件Automation Builder V2.5。电脑的IP设置在与Server和Client相同的网段内。在电脑中安装Uart2Any软件,以测试通讯。
2、服务器Server
PM5072自带两个以太网口。可把两个以太网口设置为交换机功能。这样如上图接线,电脑即可同时跟Server和Client通讯。服务器的IP设置为192.168.0.5。
3、客户端Client
PM5650 CPU的底板自带两个以太网口。其中Eth1口的IP保持默认为192.168.0.1。
创建工程,添加Server和Client
项目树下,通过添加对象,可添加对应的两个CPU:
添加完后的项目树如下:
为Server和Client添加相关协议:
PLC与Modbus地址之间的对应关系
测试中,以Word进行数据交互。PLC中的%MW0对应Modbus地址40000,以此类推,%MW100对应Modbus地址40100
Server编程及测试
在Server中编写如下程序段:
添加一个起始地址为%MW0,包含5个Word的数组ServerData。并添加一段各数组元素累加的程序。
ServerData 数组的首地址为%MW0,其对应Modbus的地址为0。
可以使用测试助手与Server进行通讯,以确认Server的状态。
Client的读编程及对Server的读写
在Client中编写如下程序,功能块中的Addr设置为0,即对应Modbus地址0。 因此读写的区域对应Server中定义的数组:ServerData[0..4]。
其中第一个功能块的功能码为3,用于读Server的多个寄存器,读回的值存入数组RcvArray。
第二个功能块的功能吗为16,用于写多个寄存器。把数组WriteArray中的数值写入Server。
Modbus TCP是工业现场使用最频繁的工业以太网协议!