西门子6AV6371-2BQ17-3AX0:WinCC Powerp. RC 102400/153600 用于 WinCC V7.3, RT+CS 许可证 无版本更换 从 102400 升至 153600 个授权 PowerTag 过程变量,浮动许可证
SIEMENS西门子上海朕锌电气设备有限公司
创新工业,知其道,用其妙。
上海朕锌电气设备有限公司:质保一年!一年内因产品本身质量问题免费更换或维修(人为损坏除外),不收取任何费
联系人:张先生(销售工程师)
24小时销售热线:152-1686-6445
电 话:021-31139792
传 真:021-6722 6033(请备注张先生,谢谢)
手 机:152-1686-6445
Q Q : 1287379777
地址:上海市金山区枫湾路500号
line;color:#333333;background-color:#FFFFFF;">
1 简介 line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
本文描述的是用WinCC V11组态的精智面板通过脚本的方式实现切换连接的方法;本文 line;color:#333333;background-color:#FFFFFF;">
本文所使用的硬件和软件如下: line;color:#333333;background-color:#FFFFFF;">
此方法只适用于支持三个以上连接,支持脚本及ChangeConnection函数的面板,如全 line;color:#333333;background-color:#FFFFFF;">
本文不介绍软件冗余的原理及组态方法,详细可以参考: line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
2.1 CPU组态 line;color:#333333;background-color:#FFFFFF;">
2.1.1 Step7中的硬件组态 line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
在CPU的属性中选择Clock Memory,设置Memory byte为MB0,如图3所示。
line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
B站:在Step7中组态317F-2PN/DP,在DP总线上添加IM153-2,如图4所示。
line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
在CPU的属性中选择Clock Memory,设置Memory byte为MB0,如图5所示。
line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
2.1.2 Step7中的网络组态 line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
2.1.3 Step7中的CPU编程 line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
OB35中调用FB101,必须在执行冗余用户程序的前/后分别调用FB101,如图8所示,而FB101内部调用了FB104、FC5、FC6,必须装载这三个块。
line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
OB86中调用FC102,这样当DP总线有故障时CPU可以实现主备切换,如图9。
line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
B站:OB100中调用FC100,实现初始化,如图10所示。
line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
OB35和OB86中的编程和A站相同。 line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
2.2.1 组态连接 line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
Conn_B对应B站,CPU的参数是B站的参数,如图13所示。
line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
建立Conn_real用于创建过程变量,通信驱动程序选择“SIMATIC S7 300/400”,PLC line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
在Conn_B下建立变量,如图16所示。其中trigger_PLCB的地址是M0.4,采集模式是 line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
项目中的其他变量如图17所示,test1和test2用于测试conn_real的连接状态。
line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
在变量trigger_PLCB的“事件—数值更改”中添加脚本conn_PLCB,实现切换连接到 line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
在项目树下面的“计划任务”中建立一个新任务,每分钟执行一次,在函数列表中添加 line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
本文附件中包含三个脚本文件。在项目树的“脚本 > VB脚本”下添加脚本 line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
继续添加脚本“conn_PLCB”,将附件中的conn_PLCB.txt文件内容拷贝到 line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
继续添加脚本“conn_lost”,将附件中的conn_lost.txt文件内容拷贝到conn_lost中, line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
以conn_PLCA为例解释脚本逻辑。
line;color:#333333;background-color:#FFFFFF;">
(A) 如果B的连接状态值>=11,说明B站断开; line;color:#333333;background-color:#FFFFFF;">
表 1
line;color:#333333;background-color:#FFFFFF;">
连接状态变量conn_state_PLCA/B的值和连接的对应关系请参考表2。
line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
表 2
line;color:#333333;background-color:#FFFFFF;">
6. 如果检测到无连接的状态,则切换到A站。
line;color:#333333;background-color:#FFFFFF;">
脚本conn_PLCB的逻辑和conn_PLCA基本相同,只是在第⑤步 的切换条件有不同, line;color:#333333;background-color:#FFFFFF;">
脚本conn_lost的逻辑如下。
line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
2.3 项目下载测试 line;color:#333333;background-color:#FFFFFF;">
(1) 上电初始化,A为主站、run,B为备站、run,变量trigger_PLCA/B都在0/1变化, line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
(2) 手动停止CPUA,A站为stop状态,B站为主、run。Conn_A无效,变量 line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
(3) 再次启动A站,A为备、run,B为主、run。Conn_A恢复,trigger_PLCA在0/1变 line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
(4) 拔掉B和屏之间的网线,conn_B无效,trigger_PLCB无值,连接状态变量 line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
(5) 再拔掉A和屏之间的网线,conn_A无效,trigger_PLCA也无值,连接状态变量 line;color:#333333;background-color:#FFFFFF;">
line;color:#333333;background-color:#FFFFFF;">
(6) 连上屏和A站、B站之间的网线,conn_A和conn_B都恢复,trigger_PLCA/B的值 line;color:#333333;background-color:#FFFFFF;">
软件冗余是低成本的冗余解决方案,适用于对切换时间要求不是很高的场合,主备切换
时间为秒级的控制系统。软冗余系统包括两个站,一个为主站,一个为备用站;主备站的数据通讯链路为标准西门子通讯协议 (MPI/Profibus/Ethernet);冗余范围内的I/O模板需通过Profibus-DP网络连接到ET200M从站上;西门子的软件冗余可以在S7-300或S7-400的标准系统中实现,只需调用软冗余软件包中的程序块。
西门子的精智面板支持和软冗余CPU通讯,如图1的系统架构,并且当某个CPU连接
中断,面板可以切换连接到另一个CPU;如果两个CPU主备切换,面板可以切换到主CPU。
图1
只描述面板和CPU的集成PN口之间通过工业以太网通讯,面板和CPU之间通过其他通讯方式(如MPI/Profibus)连接也可以参考本文。
(A) S7-300 soft redundancy
CPU 315-2PN/DP (6ES7315-2EH13-0AB0, Firmware V2.5)
CPU 317F-2PN/DP (6ES7317-2FK14-0AB0, Firmware V3.2)
CP342-5 (6GK7342-5DA02-0XE0, Firmware V5.0)
IM153-2 (6ES7153-2BA02-0XB0)
(B) Panel
KP700 Comfort (6AV2124-1GC01-0AX0)
(C) Software
WinCC V11 SP2 upd2
Step7 V5.5 SP2+HF1
系列的Comfort Panel。
《SIEMENS PLC系统软件冗余的说明与实现》
下载中心文档编号:A0039
78604454
2 组态Comfort Panel和S7-300软冗余系统的通讯
说明:本文描述的CPU组态是使用Step7 V5.5完成的,不涉及Step7 V11的使用。
A站:315-2PN/DP+IM153-2
B站:317F-2PN/DP+IM153-2
AB站之间通过CP342-5建立连接,实现冗余数据同步。
A站:在Step7中组态315-2PN/DP,在DP总线上添加IM153-2,如图2所示。
图2
图3
图4
图5
A站和B站之间通过CP342-5建立FDL连接,此连接为AB站之间的数据链路通道,打开
Netpro界面,新建一个FDL连接,如图6所示。
图6
说明:本文描述的编程只涉及实现软冗余功能的部分,其他功能的实现不予介绍。
A站:OB100中调用FC100,实现初始化,如图7所示。
图7
图8
图9
图10
组态好的项目分别下载到CPUA和CPUB中,做好硬件接线。
2.2 在WinCC V11中组态Comfort Panel
在WinCC V11中插入一个HMI 设备,选择设备类型为“SIMATIC精智面板 > KP700”,
如图11所示。
图11
在项目中组态三个连接,分别对应A站、B站和实际连接。Conn_A对应A站,CPU的参数
是A站的参数,如图12所示。
图12
图13
的地址参数默认设置为192.168.0.2,扩展插槽是2,机架号是0,如图14。切换连接的脚本会根据切换条件给conn_real分配不同的参数。
图14
2.2.2 组态变量
在Conn_A下建立变量,如图15所示。其中trigger_PLCA的地址是M0.4,采集模式是
“循环连续”,采集周期是500ms。
图15
“循环连续”,采集周期是500ms。
图16
图17
2.2.3 切换连接的脚本逻辑解释
在变量trigger_PLCA的“事件—数值更改”中添加脚本conn_PLCA,实现切换连接到
conn_A,如图18所示。脚本逻辑参见下文。
图18
conn_B,如图19所示。脚本逻辑参见下文。
图19
脚本conn_lost,用于检测是否和两个CPU的连接都中断,如果都中断,提示“connection lost”,如图20所示。
图20
“conn_PLCA”,将附件中的conn_PLCA.txt文件内容拷贝到conn_PLCA中,注意ChangeConnection的参数必须和conn_A的参数一致,如图21所示。
图21
conn_PLCB中,注意ChangeConnection的参数必须和conn_B的参数一致,如图22所示。
图22
如图23所示。
图23
line;color:#333333;background-color:#FFFFFF;">
(B) 如果B的连接状态值<=5,即连接正常,但同时读A站的软冗余状态字SwitchPLCA和B站的软冗余状态字SwitchPLCB,如果A状态字=5同时B状态字=10,说明A为主B为备;
(C) 如果B的连接状态值<=5,即连接正常,但A站的软冗余状态字SwitchPLCA=0h25(十进制37),B站的软冗余状态字SwitchPLCB=9,说明A运行而B停机。
以上三个条件只要满足一个,就可以切换连接到CPUA,因此三个条件做“或”运算。
CPU状态与状态字变量SwitchPLCA(DB5.DBB9)和SwitchPLCB(DB5.DBB9)的对
应关系请参考表1。
操作
CPUA状态
CPUB状态
CPUA状态字
SwitchPLCA
CPUB状态字
SwitchPLCB
连接到
上电
主、Run
备、Run
0000 0101
(0x05)
0000 1010
(0x0A)
Conn_A
A停机
备、stop
主、run
0000 0101
(0x05)
0010 1001
(0x29)
Conn_B
A启动
备、run
主、run
0000 0110
(0x06)
0000 1001
(0x09)
Conn_B
B停机
主、run
备、stop
0010 0101
(0x25)
0000 1001
(0x09)
Conn_A
B启动
主、run
备、run
0000 0101
(0x05)
0000 1010
(0x0A)
Conn_A
B从站断开
主、run
备、run
0000 0101
(0x05)
0000 1010
(0x0A)
Conn_A
B从站恢复
主、run
备、run
0000 0101
(0x05)
0000 1010
(0x0A)
Conn_A
A从站断开
备、run
主、run
0000 0110
(0x06)
0000 1001
(0x09)
Conn_B
A从站恢复
备、run
主、run
0000 0110
(0x06)
0000 1001
(0x09)
Conn_B
变量conn_state_PLCA/B的值
连接状态
0
初始化
1~5
连接正常
6~10
连接中断
11~20
故障
100
无效
具体描述如下。
(A) 如果A的连接状态值>=11,说明A站断开;
(B) 如果A的连接状态值<=5,即连接正常,但同时读A站的软冗余状态字SwitchPLCA和B站的软冗余状态字SwitchPLCB,如果A状态字=6同时B状态字=9,说明B为主A为备;
(C) 如果A的连接状态值<=5,即连接正常,但A站的软冗余状态字SwitchPLCA=5,B站的软冗余状态字SwitchPLCB=0h29(十进制41),说明B运行而A停机。
以上三个条件只要满足一个,即切换连接到CPUB。
line;color:#333333;background-color:#FFFFFF;">
2.2.4组态画面
组态一个画面,如图24所示。
其中“当前连接到”后面的IO域连接”connected_to”变量;“PLCA/PLCB connection
status”后面的IO域连接“conn_state_PLCA/PLCB”变量;“trigger_PLCA/PLCB”后面的IO域连接“trigger_PLCA/trigger_PLCB”变量;“test1”和“test2”后面的IO域连接“test1”和“test2”变量,用于测试conn_real连接状态;“status of PLCA”后面的IO域连接“StatusOfPLCA”变量(DB5.DBW8);“status of PLCB”后面的IO域连接“StatusOfPLCB”变量(DB5.DBW8)。
图24
组态后的项目编译下载到KP700 Comfort中,在KP700和两个CPU之间连好网线,由
于KP700有两个以太网口,本身相当于交换机,因此可以用两个网口各连接一个CPU。做
如下调试。
KP700默认和A站连接。
图25
trigger_PLCA无效,连接变量conn_state_PLCA为100,连接conn_real切换到CPUB。
图26
化,conn_real保持和CPUB连接。
图27
conn_state_PLCB为100,屏切换到和A连接。A为备、run,B为主、run。
图28
conn_state_PLCA/B均为100,屏无法和任意一个CPU连接,因此屏上显示“connection lost”。
图29
都在0/1变化,conn_real和B连接。因为B为主、run,A为备、run。
图30