在项目实际应用中,经常会遇到两个不同厂家的PLC需要互联进行通信交换数据,由于各自的通信协议有所不同,实现起来的难度较大,通常的做法是借助第三方的网关。本文介绍的是ABPLC与西门子S7-1200/1500直接互联,不借助网关,通过编程方式实现以太网通信。
01可行性分析ABPLC使用EerthNet/IP协议,但,目前很多控制器或EerthNet/IP模块,支持开放式TCP协议,这样,通过Socket接口程序开发,就能与支持开放式TCP协议的第三方以太网设备或软件,直接互联通信交换数据,比如:
条形码扫描仪
RFID读卡器
网络打印机
西门子S7-200/300/400/1200/1500PLC

支持开放式TCP通信的ABPLC或以太网模块,有:
1756-EN2T、1756-EN2F
1756-EN2TR、1756-EN3TR
5370、5380、5480、5580Controllers

已正式上线的某项目,1台西门子CPUS7-1200与2台ABCPU1769-L18ER,直接通过开放式TCP协议进行通信交换数据。

在RSLOGIX/STUDIO5000使用MSG指令,进行SOCKET端口程序开发。
从Scoket读取数据,即接受S7-1200发送的数据,Service类型选择ReadSocket

从Scoket写入数据,发送数据到S7-1200,Service类型选择WriteSocket

在,编写通信程序

通信程序代码,已进行AOI封装,直接调用即可

数据测试,成功发送数据到S7-1200,成功接收S7-1200发送过来的数据

工作室提供ABPLC、西门子PLC两端的TCP通信源代码程序,以及技术支持服务。
本案例,ABPLC与S7-1200直接互联,无需网关,可节省97%的成本,通信速率10ms.
ABPLC和S7-1200/1500通信源代码(无加密,完全开源)
ABPLC和西门子S7-1200/1500通信程序详细说明(DPF文档)
ABPLCSocket通信开发手册(官方发布)
网络通信测试工具NetAssit
提供远程技术支持






