同一项目下的S7-1200之间的S7通信


一、要完成的功能任务

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

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


二、硬件设备

1.CPU 1214C DC/DC/DC

2.CPU 1214C DC/DC/DC


三、软件

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


四、实现方法

1.使用博途创建一个新项目,并通过“添加新设备”组态 S7-1200 站 client V4.1,选择 CPU1214C DC/DC/DC V4.1(client IP:192.168.0.10);接着组态另一个S7-1200站 server v2.0,选择 CPU1214C DC/DC/DC V2.0(server IP:192.168.0.12),如图1所示

同一项目下的S7-1200之间的S7通信的图1

同一项目下的S7-1200之间的S7通信的图2

图1


2.在“设备组态”中 ,选择“网络视图”栏进行配置网络,点中左上角的“连接”图标,连接框中选择“S7连接”,然后选中client v4.1 CPU(客户端),右键选择“添加新的连接”,在创建新连接对话框内,选择连接对象“server v2.0 CPU”,选择“主动建立连接”后建立新连接,如图2所示:

同一项目下的S7-1200之间的S7通信的图3

同一项目下的S7-1200之间的S7通信的图4

图2


3.在中间栏的“连接”条目中,可以看到已经建立的“S7_连接_1”,如图3所示:

同一项目下的S7-1200之间的S7通信的图5

图3


4.点中上面的连接,在“S7_连接_1”的连接属性中查看各参数,点中上面的连接,在“S7_连接_1”的连接属性中查看各参数,如图4所示:

同一项目下的S7-1200之间的S7通信的图6

图4


5.在本地ID中:显示通讯连接的ID 号,这里ID=W#16#100(编程使用),如图5所示:

同一项目下的S7-1200之间的S7通信的图7

图5


6.在特殊连接属性中:可以选择是否为主动连接,这里client v4.1是主动建立连接,如图6所示:

同一项目下的S7-1200之间的S7通信的图8

图6


7.在地址详细信息中:定义通讯双方的 TSAP 号,这里不需要修改,如图7所示:

同一项目下的S7-1200之间的S7通信的图9

图7


8.配置完网络连接,双方都编译存盘并下载。如果通讯连接正常,连接在线状态,如图8所示:

同一项目下的S7-1200之间的S7通信的图10

图8


9.接下来进行编程,在 S7-1200 两侧,分别创建发送和接收数据块 DB1 和 DB2,定义成 10 个字节的数组,如图9所示:

同一项目下的S7-1200之间的S7通信的图11

图9


10.注意:数据块的属性中,需要选择非优化块访问(把默认的勾去掉),如图10所示:

同一项目下的S7-1200之间的S7通信的图12

图10


11.在主动建连接侧编程(client v4.1 CPU),在OB1中,从“Instruction” >“Communication” >“S7 Communication”下,调用 Get、Put 通信指令,如图11所示:

同一项目下的S7-1200之间的S7通信的图13

图11

12.功能块参数意义如下表1:

功能块管脚

赋值

含义

REQ

%M0.0

上升沿触发

REQ

%M0.0

上升沿触发

ID

W#16#100

连接号,要与连接配置中一致,创建连接时的本地连接号

DONE

%M0.5

为1时,发送完成

ERROR

%M0.6

为1时,有故障发生

STATUS

%MW10

状态代码

ADDR_1

P#DB1.DBX0.0 BYTE 10

发送到通信伙伴数据区的地址

SD_1

P#DB1.DBX0.0 BYTE 10

本地发送数据区

REQ 

%M1.0

上升沿触发

ID

W#16#100

连接号,要与连接配置中一致,创建连接时的本地连接号

NDR

%M1.5

为1时,接收到新数据

ERROR

%M1.6

为1时,有故障发生

STATUS

%MW12

状态代码

ADDR_1

P#DB2.DBX0.0 BYTE 10

从通信伙伴数据区读取数据的地址

RD_1

P#DB2.DBX0.0 BYTE 10

本地接收数据地址

表1

13.通过在 S7-1200 客户机侧编程进行 S7 通讯,实现两个 CPU 之间数据交换,监控结果如图12所示:

同一项目下的S7-1200之间的S7通信的图14

图12


五、总结

以上为实现在同一项目下两台S7-1200的单边S7通信的方法,优点是只需要单边编程,这是西门子PLC之间实现大量数据通信常用的方法,限制条件是两边PLC需要支持西门子S7通信协议。


来源:技成培训网

PLC

同一项目下的S7-1200之间的S7通信的评论0条

    暂无评论

    同一项目下的S7-1200之间的S7通信的相关案例教程

    本文以采用1个CPU1215C(6ES7215-1AG40-0AB0),1个S7-200SMART PLC为例,介绍它们之间的S7通信。 硬件: S7-1200CPU S7-200 SMART CPU (固件V2.0) PC(带以太网卡) TP以太网电缆 软件: TIAV16 STEP 7 Micro/WIN SMART V2.1 所完成的通信任务: S7-1200将通信数据区DB1中的200个字
    最近西门子PLC价格大幅上调,在工控界引起了不小的风波,不仅涨价,甚至还缺货,导致很多人不得不更改方案。听说最近已经完成了芯片替换,希望不久能 够恢复供货,并把价格回调。 通过这件事,从侧面可以看出,西门子在工控领域的市场占有率很大,那么对于上位机开发人员来说,使用西门子PLC作为下位机,我们应该如何与之进行通信呢? 西门子PLC支持很多种通信协议,主要分为两种,一种是串口通信,一种是以太网通信,
    1. 引言 本文是一篇综合性非常强的文章,从PLC输入输出及步进电机接线开始,到PLC运动控制程序编写,再到后续的ModbusTCP通信协议及上位机编程实现最终控制,涉及知识面比较广,能够让我们很好地将所学知识结合起来。 2. 项目开发平台 采用西门子TIA Portal V15编程软件编写运动控制程序,实现PLC(S7-1200系列:CPU1214C DC/DC/DC )对步进电机的控制,再通过
    第一部分:S7-1200 Modbus RTU通讯 (一)概述 Modbus具有两种串行传输模式:分别为ASCII和RTU。Modbus是一种单主站的主从通信模式,Modbus网络上只能有一个主站存在,主站在Modbus网络上没有地址,每个从站必须有唯一的地址,从站的地址范围为0 - 247,其中0为广播地址,从站的实际地址范围为1-247。 Modbus RTU通信以主从的方式进行数据传输,在传
    一、运动控制方式 S7-1200运动控制根据连接驱动方式不同,分成三种控制方式 通信控制方式:S7-1200 PLC通过基于PROFIBUS/PROFINET的PROFIdrive方式与支持PROFIdrive的驱动器连接,进行运动控制。 PROFIdrive 是通过 PROFIBUS DP 和 PROFINET IO 连接驱动装置和编码器的标准化驱动技术配置文件。 支持 PROFIdrive 配
    影响力
    粉丝
    内容
    获赞
    收藏
      项目客服
      培训客服
      0 2