S7通信协议是西门子S7系列PLC的精髓,它是一种优化的、用以太网作为媒介的、在S7系列PLC之间进行通信的协议。今天这篇文章,我们来谈谈如何利用S7通信(S7 Communication)在两台S7-300 PLC之间进行数据交换。
S7通信有以下几个特点:
需要SIMATIC CP模块或者CPU集成的PN网口;
需要硬件组态;
需要专用指令的支持;
S7通信的指令可以分为如下几个类别:
用于数据交换的指令;
用于查询操作模式的指令;
用于改变操作模式的指令;
用于查询链接状态的指令;
本文使用数据交换指令,硬件平台是CPU 315-2PN/DP和CPU 317-2PN/DP,用网线将两个CPU的PN口相连。采用S7单边通信的方式,仅在CPU 315-2PN/DP一侧进行硬件组态和软件编程。两个站点的IP参数如下:
首先对CPU 315-2PN/DP进行硬件组态,设置IP地址:192.168.0.2,如下图:
打开网络配置工具(NetPro),右键添加一条新的S7连接(S7 Communication),如下图:
双击新添加的S7连接(S7 connection),打开属性对话框,在【通信路径(Connection Path)】中添加通信伙伴的IP地址,如下图:
点击【地址详细信息(Address Details)】按钮,打开对话框,将【导轨/槽号(Rack/Slot)】修改成通信伙伴的实际设置。S7-300的CPU一般导轨(Rack)为0,槽号(Slot)为2),如下图:
至此,硬件和网络组态完成,编译后下载到CPU 315-2PN/DP中。
接下来进行软件编程。采用FB14 "GET" 指令获取远程PLC(CPU 317-PN/DP)的数据,程序块如下图:
指令各引脚的参数含义如下表:
采用FB15 "PUT" 指令将数据写入远程PLC,程序块如下图:
指令各引脚参数含义如下表:
与使用开放TCP或UDP协议相比,S7通信协议在编程上比较简单,但是需要进行硬件组态。
好了,关于两台S7-300 PLC之间通过PN口进行S7通信就先介绍到这里,欢迎扫描下方的二维码关注我们的微信公众号。
发表评论