S7-200 SMART CPU与S7-1200进行S7通信

注:已经编写好且通过测试的1200程序下载地址:https://mp.csdn.net/console/upDetailed,下载好程序用博图打开,我的PLC为1214C的CPU,用户根据相应CPU类型,在设备与网络中更改CPU即可。

Smart侧无需编写程序,只要和1200在一个以太网就行

 

S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET网络的一种优化的通信协议,主要用于S7-300/400PLC之间的通信。
经过测试发现S7-1200与S7-200 SMART PLC 之间的S7通信也是可以成功的,S7-1200侧编程调用PUT/GET指令或者S7-200 SMART侧编程调用PUT/GET指令都是可以的。

注意:
1.S7-200 SMART CPU 与S7-1200 之间的S7通信未经西门子官方测试,本文档仅供客户测试使用,使用该种通信方式所产生的任何危险需要有客户自己承担!
2.S7-200 SMARTPLC V2.0 版本才开始支持PUT/GET通信,V1.0版本的CPU需要升级固件后方可支持PUT/GET。
3.本文只介绍了S7-1200侧调用PUT/GET指令编程方式(S7-200 SMART CPU作为服务器方,无需编程),未介绍S7-200 SMART侧编程调用PUT/GET方式。

硬件和软件需求及所完成的通信任务

本文以采用1个CPU1215C(6ES7215-1AG40-0AB0),1个S7-200 SMART PLC为例,介绍它们之间的S7通信。
硬件: 
① S7-1200 CPU 
② S7-200 SMART CPU (固件V2.0)
③ PC (带以太网卡)
④ TP以太网电缆 
软件:
① STEP7 V13 SP1 
② STEP 7 Micro/WIN SMART V2.1 
所完成的通信任务:
① S7-1200 将通信数据区 DB1 中的200 个字节发送到 S7-200 SMART的VB 数据区。 
② S7-1200 读取 S7-200 SMART中的VB数据区存储到S7-1200 的数据区DB2 。

S7-1200侧硬件组态和网络组态

1. 使用TIA V13 软件新建一个项目,添加1个S7-1200站点并为其分配网络和IP地址 ,如图1.所示。

图1. TIA 软件中添加S7-1200站点

2. TIA 软件的网络视图中为S7-1200 CPU 添加一个新连接,如图2.所示。

图2.S7-1200 添加新连接
在弹出"创建新连接"对话框中选择"未指定",然后点击"添加"按钮,添加新连接,如图3.所示。 

图3.选择未指定连接

需要为新创建的连接指定连接伙伴方的IP地址和TSAP,设置方法如图4.,图5.所示。
注意:S7-200 SMART 侧的TSAP 只能设置为03.00 或者03.01 。

图4. 设置连接伙伴方IP地址

图5. 设置连接伙伴方TSAP地址

TIA软件程序编程

1 .创建发送数据块DB1(接收区数据块DB2类似),数据块定义为200个字节的数组且数据块的属性中需要取消"优化的块访问"选项,如图6. 所示。

图6. 创建数据块并取消优化访问

2.发送数据块与接收数据块创建完成后,即可在OB1中调用PUT/GET指令,进行S7通信了,如图7.所示。

图7.调用PUT/GET指令

表1.PUT 指令参数说明

CALL “PUT”

, %DB3

//调用 PUT,使用背景DB块:DB3

REQ

:=%M0.0

//上升沿触发程序块的调用

ID

:=W#16#0100

//连接号,要与连接配置中一致,创建连接时的连接号,见图1.标记7

DONE

:=%M2.0

// 为1时,发送完成

ERROR

:=%M2.1

// 为1时,有故障发生

STATUS

:=%MW4

// 状态代码

ADDR_1

:=P#DB1.DBX0.0 BYTE 200

// 发送到通信伙伴数据区的地址,对应S7-200 SMART VB0-VB199

SD_1

:=P#DB1.DBX0.0 BYTE 200

// 本地发送数据区

表2.GET指令参数说明

CALL “GET”

, %DB4

//调用 GET,使用背景DB块:DB4

REQ 

:=%M0.1

//系统时钟 2秒脉冲

ID

:=W#16#0100

//连接号,要与连接配置中一致,创建连接时的连接号,见图1.标记7

NDR

:=%M2.2

//为1时,接收到新数据

ERROR

:=%M2.3

//为1时,有故障发生

STATUS

:=%MW6

//状态代码

ADDR_1

:=P#DB1.DBX200.0 BYTE 200

//从通信伙伴数据区读取数据的地址,对应S7-200 SMART VB200-VB399

RD_1

:=P#DB2.DBX0.0 BYTE 200

//本地接收数据地址

综合以上步骤,已经完成了S7-1200 硬件和软件部分的编程,下载只需要将程序下载到S7-1200 PLC 即可。

状态监控

1.连接状态监控
S7连接成功的建立是调用PUT/GET指令的基础,S7连接成功建立后,方能正确执行PUT/GET指令。
在TIA 软件的网络视图中,将软件切换到在线模式,可以监控S7连接状态,如图8.所示。
 
图8.监控S7连接状态

S7连接成功建立后,S7-1200 触发PUT/GET指令,通过TIA 软件监控表和STEP 7 Micro/WIN SMART 软件的状态表,可以监控数据通信是否正常。

注意:S7-200 SMART中V区对应于DB1,即在PUT指令中使用的通信伙伴数据区ADDR_1=P#DB1.DBX0.0 BYTE 200在S7-200 SMAR中对于为VB0~VB199。 
本文档中S7-200 SMART 做S7通讯的服务器,占用S7-200 SMART PLC 的服务器连接资源,S7-200 SMART PLC 本身不需要编写通讯程序。 
S7-1200 与S7-200 SMART S7 通讯的另外一种方法是S7-200 SAMRT PLC做客服端,S7-1200做服务器。该方式需要S7-200 SMART调用PUT/GET指令,S7-1200侧不需要编写通讯程序。
 

以上为官方文档无误,下面为自己添加部分:

1.PUT/GET调用部分 

2.添加了M0.0变量设置为10HZ系统时钟,在网络和设备中的时钟存储器位设置,不能使用常ON变量。

 

3.创建DB块用于和SMART交互的存储器大小为1Byte 

注意事项:CPU会自动的把S7-200SMART系列PLC的整个V区默认为数据块DB1,所以访问VB0,的地址为DB.DBB0。如果 发送和接收过程所用到的数据块(为上图S7块),即S7块为DB4的情况下,程序需要做一些小修改,即PUT/GET程序块中的地址块ADD和读取快RD需要做相应的改变即可。

S7-200smart西门子推出的一款小型可编程控制器,而WinCC 7.5是西门子推出的一款人机界面(HMI)软件。两者通信的具体实现方式如下: 首先,在S7-200smart控制器上配置相应的通信参数。可以通过连接电脑和控制器的编程接口,打开编程软件,将通信参数设置为与WinCC 7.5相匹配的方式。通常这包括设置通信协议、通信端口号、数据传输方式等。 接下来,在WinCC 7.5软件上创建一个新的通信项目,选择与S7-200smart控制器的通信协议。通常可选择的协议包括S7-200smart PPI协议或者S7-200smart MPI协议,具体选择哪种协议根据实际情况来决定。可以在WinCC 7.5软件上配置通信参数,包括控制器的IP地址、端口号等。 然后,在WinCC 7.5软件上创建相应的HMI界面,并通过连线功能将HMI界面与S7-200smart控制器中的变量进行绑定。这样,当HMI界面中的操作发生变化时,WinCC 7.5软件就可以通过与S7-200smart通信协议来实时地读写控制器中的变量。 最后,通过连接电脑和S7-200smart控制器的通信接口,将WinCC 7.5软件上传到控制器中,完成通信的配置。此时,WinCC 7.5软件就可以通过与S7-200smart控制器的通信协议来与控制器进行实时的数据交互。 总结起来,S7-200smart与WinCC 7.5的通信需要在控制器和软件两个环节进行配置,通过合适的通信协议和参数来建立稳定的通信连接,以实现控制器与人机界面之间的数据交互。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值