tcp 通信结束后释放连接的原因_AB PLC与西门子S7-1200以太网通信

a8fa8136dbb80b9c7f253b40523f7379.png

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

AB PLC端

1. Socket接口

  • Logix5000控制器使用Socket接口,通过EerthNet/IP模块与不支持EerthNet/IP应用程序协议的以太网设备(如条形码扫描仪、RFID读卡器或其他标准以太网设备)进行通信。
  • Logix5000控制器程序通过MSG指令与Socket对象通信,对Socket对象的MSG请求与大多数计算机操作系统中的Socket API调用类似,Socket对象服务允许您打开连接、接受传入连接、发送数据和接收数据。

2. 支持Socket应用的模块

  • 1756-EN2T
  • 1756-EN2TR
  • 1756-EN2F
  • 1756-EN3TR
  • 5370,5380,5580 Controllers

3. TCP通信协议流程

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

ebb3b882f2e506c365969c354795fb29.png

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

ea477b0ea2dfd9790650e20d7dc712b8.png

4. MSG编程

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

865ba7ec9e43d908c8ea2ec5425e4cb1.png

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

862e7c8c55cda237d9dbbe3e6a9bd626.png

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

da72d3f85f2a2630096198ea3796fa9e.png

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

a9480dfa8e95d73a283c88571d23a96b.png

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

af97c5692ce0d1b5bcec3c431b9ed864.png

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

79fbc7d2df35d3441b25a182934e5be8.png

(7) 编写通信程序.

b387f44be1f744e5a107d7a915cddce1.png

S7-1200端

编程程序

78905386fc410a52faf9ac2497333b36.png

通信视频

结束语:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值