北岛夜话
原创工业智能控制领域(PLC、单片机/嵌入式、机器人、通信、机器视觉)的技术及经验分享。
文章527 浏览7984232

如何利用S7通信在两台S7-300PLC之间交换数据?

S7通信协议是西门子S7系列PLC的精髓,它是一种优化的、用以太网作为媒介的、在S7系列PLC之间进行通信的协议。今天这篇文章,我们来谈谈如何利用S7通信(S7 Communication)在两台S7-300 PLC之间进行数据交换。

cover.pngS7通信有以下几个特点:

  • 需要SIMATIC CP模块或者CPU集成的PN网口;

  • 需要硬件组态;

  • 需要专用指令的支持;

S7通信的指令可以分为如下几个类别:

  • 用于数据交换的指令;

  • 用于查询操作模式的指令;

  • 用于改变操作模式的指令;

  • 用于查询链接状态的指令;

本文使用数据交换指令,硬件平台是CPU 315-2PN/DP和CPU 317-2PN/DP,用网线将两个CPU的PN口相连。采用S7单边通信的方式,仅在CPU 315-2PN/DP一侧进行硬件组态和软件编程。两个站点的IP参数如下:

parameter.PNG

首先对CPU 315-2PN/DP进行硬件组态,设置IP地址:192.168.0.2,如下图:

CPU 315_IP.PNG

打开网络配置工具(NetPro),右键添加一条新的S7连接(S7 Communication),如下图:

net_config.PNG

双击新添加的S7连接(S7 connection),打开属性对话框,在【通信路径(Connection Path)】中添加通信伙伴的IP地址,如下图:

S7_config1.png

点击【地址详细信息(Address Details)】按钮,打开对话框,将【导轨/槽号(Rack/Slot)】修改成通信伙伴的实际设置。S7-300的CPU一般导轨(Rack)为0,槽号(Slot)为2),如下图:

S7_config2.png

至此,硬件和网络组态完成,编译后下载到CPU 315-2PN/DP中。

接下来进行软件编程。采用FB14 "GET" 指令获取远程PLC(CPU 317-PN/DP)的数据,程序块如下图:

FB14_get.png

指令各引脚的参数含义如下表:

fb14-get-parameter.png

采用FB15 "PUT" 指令将数据写入远程PLC,程序块如下图:

fb15_put.PNG

指令各引脚参数含义如下表:

f15-Put_parameter.png

与使用开放TCP或UDP协议相比,S7通信协议在编程上比较简单,但是需要进行硬件组态。

好了,关于两台S7-300 PLC之间通过PN口进行S7通信就先介绍到这里,欢迎扫描下方的二维码关注我们的微信公众号。


取消

感谢您的支持,欢迎常来看看!

扫码支持
一点动力,多少随意

打开支付宝扫一扫,即可进行扫码打赏哦

发表评论