找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3500|回复: 12

WinCC与S7-1500 R/H系统通信

 火.. [复制链接]
  • 打卡等级:常驻代表
  • 打卡总天数:34
  • 打卡月天数:6
  • 打卡总奖励:9027
  • 最近打卡:2025-12-17 23:15:51

2823

主题

541

回帖

2万

积分

管理员

积分
22569
发表于 2020-4-19 19:48:03 | 显示全部楼层 |阅读模式
原创作者:  张占领 - 西门子工业技术支持中心   此文为摘选
WINCC与S7-1500R/H冗余系统通信有2种方式
方法1.
WinCC通过S7-1500R/H的系统IP通信,这时S7-1500R/H的2个CPU被看作1个PLC,系统IP自动连接到主PLC。当主PLC宕机后,WinCC通过此系统IP自动切换到备用PLC上。这种方式组态简单,与单PLC无异,WinCC通信连接中的IP地址输入S7-1500R的系统IP即可。
这种方式适用PC是单网卡的网络结构

方法2.
WinCC V7.5 SP1 开始支持通过”系统变量“控制的S7-1500R/H冗余通信。可支持单网卡的网络,也可支持双网卡的冗余网络。

原理:WinCC与主PLC的固定IP通信,监视”通讯连接状态的系统变量“,当主PLC宕机后,WinCC通过“通信控制变量”切换到备用PLC的固定IP进行通讯。
组态步骤如下:
第一步:创建连接
在WinCC中创建CPU1的连接,用其固定IP地址

第二步:创建系统变量
在WinCC连接下,手动创建系统变量,变量名格式为“@连接名称@变量名称”。变量地址为空或者使用PLC中没有用到的地址。其变量名称和数据类型如下
各系统变量的作用如下:
  • “@<connectionname>@ForceConnectionState” :用来建立/终止冗余连接,设置为1:建立连接,设置为0:断开连接。这里此变量建议设置初始值为1
  • “@<connectionname>@ConnectionState” :用来反馈冗余连接状态, 值为1时代表连接已经建立,值为0时代表连接已经断开
  • “@<connectionname>@ConfiguredAddress” :用来反馈所组态的连接参数属性。格式为“AccessPoint=访问点名称;IPAddress=PLC IP地址;”
  • “@<connectionname>@AlternativeAddress” :设置与备用 CPU(CPU2) 的连接的参数属性,格式为“AccessPoint=访问点名称;IPAddress=备用PLC IP地址;”,需要设置初始值备用连接和组态的连接可以使用同一个访问名,也可以使用不同的访问名。使用不的访问名时,WinCC可以指定两块网卡分别连接S7-1500R的两个CPU。
  • “@<connectionname>@CurrentAddress” :反馈当前连接的参数属性。
  • “@<connectionname>@UseAlternativeAddress” : 设置使用组态的连接还是备用连接,设置为1:使用备用连接,设置为0:使用组态的连接。
  • “@<connectionname>@OpStateConfiguredAddress ” :读取S7-1500R的CPU1 当前的操作模式,0: not connected,4: STOP,6: STARTUP,8: RUN,22: SYNCUP。
  • “@<connectionname>@>@OpStateConfiguredAddress” :读取S7-1500R的CPU2 当前的操作模式,0: not connected,4: STOP,6: STARTUP,8: RUN,22: SYNCUP。
  • “@<connectionname>@RedundantCPUs” :指示所连接的控制器是否冗余,设置为1:代表所连接的PLC是S7-1500R/H,设置为0代表所连接的PLC是非冗余的S7-1200/1500。这里设置初值为1。



第三步:变量赋初值
为“@AlternativeAddress”和 “@RedundantCPUs” 赋初值。
  • “@AlternativeAddress”为“AccessPoint=CP_H1_1:;IPAddress=192.168.1.2; ”
  • “@RedundantCPUs”为1。


第四步:创建全局动作
通过变量“@UseAlternativeAddress”设定WinCC的连接参数,包括访问点和PLC IP地址。
注意:修改“@UseAlternativeAddress”的值后,需重新置位 “@ForceConnectionState”。

1、创建全局VBS动作
创建全局VBS动作,自动切换WinCC连接参数,包括下面2种情况:
(1)当前连接中断
(2)S7-1500/1200 被置STOP模式

判断方法:
(1)@ConnectionState=0代表当前连接中断。
(2)WinCC连接正常时(@ConnectionState=1)
  • 当@UseAlternativeAddress = 0并且@OpStateConfiguredAddress = 4时,代表当前WinCC连接到CPU1,并且所连接的CPU为STOP模式。
  • 当@UseAlternativeAddress = 1并且@ OpStateAlternativeAddress = 4时,代表当前WinCC连接到CPU2,并且所连接的CPU为STOP模式。


VBS动作脚本
以上脚本可以在WinCC帮助中搜索‘VBS381’来获取


2、VBS动作的触发器
当WinCC连接中断或所连CPU的操作模式变为STOP时,需要触发切换脚本。
设置VBS动作的触发器

第五步:启动运行
在WinCC启动列表中选择“全局脚本运行系统”,然后激活WinCC运行系统。

可以看到,当WinCC与主PLC连接网络中断或主PLC变成STOP模式时,WinCC连接都会切换连接至备用PLC,保证正常通信。


说明:
1、WinCC使用两块网卡和S7-1500R/H通信
WinCC可组态不同的网卡进行通信。设置变量“@AlternativeAddress”使连接不同的访问名,本文中,主连接使用访问名“CP_H1_1:”,备用连接使用访问名“CP_H1_2:”,这样WinCC就可以使用两块不同的网卡分别连接冗余的两个CPU。
2、如何确保WinCC连接到主CPU
WinCC通过系统IP与S7-1500R/H通信时,是系统主动识别并连接到主CPU的。但WinCC通过系统变量控制通信连接的方式,则不一定,需要确保WinCC中设定的主连接(如IP地址)是指向当前实际的主CPU (S7-1500面板上显示P为主CPU,B为备CPU).

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
工控课堂 www.gkket.com

0

主题

107

回帖

348

积分

注册会员

积分
348
发表于 2020-4-19 19:50:43 | 显示全部楼层
好东西一定要看看!
工控课堂 www.gkket.com

0

主题

404

回帖

1266

积分

中级会员

积分
1266
QQ
发表于 2020-10-8 12:32:17 | 显示全部楼层
绝对干货,楼主给力,支持了!!!
工控课堂 www.gkket.com

0

主题

51

回帖

66

积分

新手上路

积分
66
发表于 2025-11-13 00:58:56 | 显示全部楼层
救命!这回复笑到我捶桌,必须置顶~
工控课堂 www.gkket.com

0

主题

130

回帖

362

积分

注册会员

积分
362
发表于 2025-11-13 03:36:24 | 显示全部楼层
笑不活了,评论区比正文还精彩!
工控课堂 www.gkket.com

0

主题

91

回帖

129

积分

新手上路

积分
129
发表于 2025-11-16 02:18:16 | 显示全部楼层
赞同 + 10086,完全说出了我的想法!
工控课堂 www.gkket.com

0

主题

72

回帖

111

积分

新手上路

积分
111
发表于 2025-11-16 02:25:29 | 显示全部楼层
原来还有这种操作,长见识了!
工控课堂 www.gkket.com

0

主题

81

回帖

126

积分

新手上路

积分
126
发表于 2025-11-16 02:27:35 | 显示全部楼层
不请自来,只为说一句:太精彩了!
工控课堂 www.gkket.com

0

主题

93

回帖

140

积分

新手上路

积分
140
发表于 2025-11-16 02:28:28 | 显示全部楼层
谁懂啊!这内容我能循环看十遍
工控课堂 www.gkket.com

0

主题

73

回帖

113

积分

新手上路

积分
113
发表于 2025-11-16 02:29:14 | 显示全部楼层
水个经验,支持楼主,加油呀
工控课堂 www.gkket.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-22 17:39 , Processed in 0.095013 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表