S7-1200开放式以太网通信实现数据交换

电子说

1.3w人已加入

描述

一、

要完成的功能任务

1.S7-1200 CPU Clinet 将发送数据区 DB4 块中的 10 个字节的数据发送到 S7-1200 CPU server 的接收数据区 DB4 块中;

2.S7-1200 CPU Clinet 将S7-1200 CPU server 发送数据区 DB5 块中的 10 个字节的数据读到 S7-1200 CPU Clinet 的接收数据区 DB5 块中。

二、

硬件设备

1.CPU 1214C DC/DC/DC,V4.4

2.CPU 1214C DC/DC/DC,V4.4

三、

软件

西门子plc编程软件:TIA 博途V16

四、

实现方法

01

使用 STEP7 V16 创建一个新项目,并通过“添加新设备”组态 S7-1200 站 client V4.4,选择 CPU1214C DC/DC/DC V4.4(client IP:192.168.0.102),建立新子网;再打开博图V16创建一个新项目,组态另一个S7-1200站 server v4.4,选择 CPU1214C DC/DC/DC V4.4(server IP:192.168.0.105),建立新子网,如图1所示:

PLC编程

PLC编程PLC编程PLC编程

图1

02

首先编写客户端程序:打开OB1编程界面,选择指令集下的通信-开放式用户通信-其它下的TCON建立连接通信指令,将其拖拽到程序段一;点击指令框内的组态图标,组态与服务器的通信参数,如图2所示:

PLC编程PLC编程

图2

03

组态完成后,正确填写TCON指令的输入输出管脚。REQ管脚为沿指令触发,ID号是唯一的,如果还建立了其它的开放式以太网通信或MODBUS-TCP通信,ID号不能重复。

CONNECT管脚的实参在组态界面连接数据的新建来指定,如上图2中的PLC_1_Connection_DB。

当新建好后,该DB会自动添加到CONNECT管脚。指令管脚的详细说明可用鼠标点住指令框,按键盘上的F1键查看帮助。

接下来新建两个DB块,分别是发送DB块和接收DB块,再将发送指令和接收指令放置到程序编辑区,填好相应管脚。TSEND指令用沿指令触发,TRCV指令当连接成功建立后,可一直处于接收状态,因此EN_R管脚也可填TRUE,如图3所示:

PLC编程PLC编程PLC编程

图3

04

编写服务器程序:与客户端程序类似,需调用连接、发送以及接收指令,只是组态不同,如图4所示:

PLC编程

图4

05

将客户端、服务器程序分别下载到对应的1214PLC,分别接通两边程序中的M10.0,如无错误,通信即可正常建立。

有无正常建立可通过点击TCON指令框内的查看通信图标查看,如图5上图中的红色箭头所指,通信状态如图5下图所示:

PLC编程PLC编程

图5

06

在客户端建立新的监控表,输入发送数据块DB4的地址,并输入数据,点在线监控,服务器端打开接受数据块DB4,点在线监控,看是否能收到数据。如图6所示:

PLC编程PLC编程

图6

07

由图6可以看到,客户端发送的数据服务器已收到,由服务器发送给客户端操作是一样的,在此不再赘述。

为了能给大家一个直观的认识,服务器在收到数据后,将DB4.DBB0传给QB0,观察QB0指示灯是否点亮,如图7所示:

PLC编程

图7

五、

总结

以上为实现在不同项目下两台S7-1200的开放式以太网通信的方法,开放式以太网通信的优点是可以和支持开放式以太网协议的第三方PLC或其它设备通信,编程相对简单,可实现大数据量交换,缺点是因基于数据流通信,没有包头和包尾,可能会接收到无用的数据。






审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分