AB PLC与西门子S7-1200/1500以太网通信

时间:2024-02-24 10:09:14

前言:在项目实际应用中,经常会遇到两个不同厂家的PLC需要互联进行通信交换数据,由于各自的通信协议有所不同,实现起来的难度较大,通常的做法是借助第三方的网关。本文介绍的是AB PLC与西门子S7-1200/1500直接互联,不借助网关,通过编程方式实现以太网通信。

非诚勿扰】:本工作室提供AB PLC、西门子PLC两端的TCP通信源代码程序,以及技术支持服务,不过是付费的,详情可通过:公众号留言,或加微信oness918咨询,或在淘宝小店购买:https://shop360942370.taobao.com/

 

一、实际项目

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

 

二、AB PLC端

1.  Socket接口

  • Logix5000控制器使用Socket接口,通过EerthNet/IP模块与不支持EerthNet/IP应用程序协议的以太网设备(如条形码扫描仪、RFID读卡器或其他标准以太网设备)进行通信。

  • Logix5000控制器程序通过MSG指令与Socket对象通信,对Socket对象的MSG请求与大多数计算机操作系统中的Socket API调用类似,Socket对象服务允许您打开连接、接受传入连接、发送数据和接收数据。

2.  支持Socket应用的模块或CPU

  • 1756-EN2T

  • 1756-EN2TR

  • 1756-EN2F

  • 1756-EN3TR

  • 5370(新),5380,5580 Controllers

3.  TCP通信协议流程

(1) TCP客端户建立TCP通信流程

 

(2) TCP服务端建立TCP通信流程

 

4.  MSG编程

(1) 建立Socket,即建立一个Socket编程对象,MSG类型选择CIP Generic.

 

(2) 打开连接,让S7-1200能连接到该Socket,Service类型选择OpenConnetion.

 

 (3) 接受连接,从该Socket连接到S7-1200,Service类型选择AcceptConnetion.

 

 (4) 从Scoket读取数据,即从该接口接受S7-1200发送过来的数据,Service类型选择ReadSocket.

 

 (5) 从Scoket发送数据,即从该接口发送数据到S7-1200,Service类型选择WriteSocket.

 

 (6) 删除Scoket,通信完成后需要释放该Scoket接口,Service类型选择DeleteSocket.

 

(7) 在RSLogix 5000 v20.01中编写通信程序.

 

(8) TCP通信程序代码,已进行AOI封装,直接调用即可。

 

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

 

三、S7-1200/1500端

 (1)在博途v14中,编写通信程序,定义通信端口、交换的数据等。

 

 (2) 数据测试,成功发送数据到AB PLC,成功接收AB PC发送过来的数据。

 

四、商品详情

 (1) AB PLC和S7-1200/1500通信源代码(无加密,完全开源);

 (2) AB PLC和西门子S7-1200/1500通信程序详细说明(DPF文档);

 (3) 通信测试工具NetAssit.exe;

 (4) 提供技术支持。

 

 

结束语:

支持Socket编程的AB CPU以及以太网模块,不仅支持与西门子S7-1200/1500直接连接通过TCP协议交互数据,而且还能与其他支持TCP协议的设备或软件进行数据交互。这样省去了网关,大大的节省了项目成本。

 

-- 公众号abseMe:坚持原创,注重实用