工控智汇

工控智汇

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

admin 56 105

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

ABPLC端

1.Socket接口

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

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

2.支持Socket应用的模块

1756-EN2T

1756-EN2TR

1756-EN2F

1756-EN3TR

5370,5380,5580Controllers

3.TCP通信协议流程

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

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

4.MSG编程

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

(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类型选择WriteSocket.

(7)编写通信程序.

S7-1200端

编程程序

结束语:

本文只是介绍了ABPLC与西门子PLC直接互联进行以太网通信的方法,如何具体编程请参考《ENET-AT002C-EN-P》手册和博途编程手册.