S7-300 软冗余指南
S7-300软冗余系统调试心得

S7-300软冗余系统调试心得集成工程部张宏伟1 基本结构及工作原理1.1 基本结构硬件结构包括一对S7-300控制器及I/O、ET200从站(每个从站必须包括2个IM153-2和对应的I/O模块,必须采用有源端子板)及3个通讯(A站对分布式IO PROFIBUS-A、B 站对分布式IO PROFIBUS-B、A站对B站数据同步(MPI\PROFIBUS\Ethernet))。
软件需要STEP7 V5.x 及软冗余软件包V1.x基本结构如下图所示:图1.1 S7-300软冗余基本结构由上图可以看出,软冗余可以实现的冗余有✓主机架电源及总线冗余✓控制器冗余✓现场总线冗余1.2 工作原理在软冗余系统进行工作时,A、B控制系统(CPU、通讯、I/O)独立运行,有主系统的PLC掌握对ET200从站的I/O控制权。
A、B系统中的PLC程序有非冗余用户程序段和冗余用户程序段组成,CPU在执行冗余程序段之前会读取系统的冗余状况,若为主系统则PLC 执行全部程序,若为备用系统则跳过冗余程序段只执行非冗余用户程序。
图1.2 软冗余工作流程1.3 程序结构对于硬件组态,可采用西门子提供的冗余模板,修改CPU信号并添加ET200从站,比较简单,没有什么特别的地方,这里就不再赘述。
S7-300软冗余系统的用户程序包括非冗余程序段、用户程序段、系统诊断功能块、站间冗余数据备份等组成,一般建议将非冗余程序段写到OB1中,而冗余程序段写在OB35中。
非冗余程序段和冗余程序段与普通系统的写法一样,区别只是放置的位置不同。
在编制冗余程序的时候需要先调用FB 101 功能块,用来判断整个系统的冗余状况,在FB101 的背景DB块中可以读取到冗余连接状况和标志位。
利用冗余标志位来选择执行或者不执行冗余程序段。
因此编制冗余程序可分为4部分,如下图所示:图 1.3 软冗余程序结构首先启动系统冗余数据同步功能,根据状态字判断是否为主控制器,是否需要执行冗余程序段,若为主控制器执行冗余程序段,否则停止系统冗余程序段。
S7-300软冗余调试总结

S7-300软冗余调试总结我用的软硬件配置:概述:本系统2个315-2DP CPU通过CP343-1连接到以太网交换机实现冗余链路,用DP 通讯的IM153-2 冗余套件实现ET200M的冗余通讯,CP1612SIEMENS以太网卡连接到交换机实现WINCC与冗余系统的通讯(据说可以直接用计算机网卡实现)。
下面介绍我整理后的实现过程:硬件配置:先添加两个站A站和B站,每个站单独进行配置,硬件配置完后,需要增加一个冗余连接,这需要打开“网络配置”(configure network),在里边右击A站CPU(B站也行)会出现菜单,选择“添加新连接”(insert new connection),如果两个站都配置过,这是就会出现B站的信息,而且默认已经选在了B站CPU上,你需要做的就是在下边选择“连接类型”(connection type),我用以太网ISO-TCP协议实现冗余的,这里根据自己需要的类型选择就行,点OK,就出现下面这个画面,这里边的ID:7 和LADDR十六进制100,也就是十进制256,后边设置FC100要用到。
注意ID(hex)0007 A050 这里是可以选择的,原来是0001 A050,被我改成了0007 A050,这时的ID就成了7。
因为资料上说以太网实现冗余一般Local ID 不能小于2(其他方式实现没说),所以要改一下,两个CPU的都要改一致,这个在后边设置FC100参数要用到,这样就建立了一个新的连接,在界面的下方能看到一个连接出现,另外需要注意的是如果用DP冗余I/O那么ET200M必须两个站里都要做,而且要一模一样,DP地址也一样。
另一个需要注意的是输出地址必须连续,这个一般的时候如果有模拟量数字量混合的话,容易不连续,需要修改一下,改成连续的,比如我这里Q改为0~9,这个在后边FC100设置也要用。
硬件配置需要注意的就这些。
软件实现:要实现软冗余,需要在OB100中调用FC100“SWR_START”,用于初始化冗余,再在OB35中调用FB101“SWR_ZYK”来实现冗余程序和数据的同步,然后再OB86中调用FC102“SWR_DIAG”进行诊断,这个诊断调用必须得做。
S7-300软冗余调试总结--WINCC组态(最新整理)

这 里 Main Connection 是 主 连 接 , 也 就 是 主 PLC 站 的 连 接 , 下 边 的 Reserve Connection 需要自己根据具体情况修改,默认的是和主站一样的。。。要改为自己备用 PLC 站的地址,比如 IP192.168.0.2,,0,2,02。继续下一步“next”,然后结束。冗余连接就生 成了,按正常说,现在就可以实现下边 PLC 故障切换的时候,自动将上位机 WINCC 中变 量转到备用 PLC 连接上。但是实际上现在不能完全实现自动切换,和手动切换。尤其是下 边主备站都没问题的时候,手动切换过来会发现 WINCC 跟 PLC 失去联系。。。传上来的数 据多是错的。要实现完整的切换,需要在全集脚本里加上几句话,来强制连接切换,这样 才能完全实现容易的切换。
当我们上边冗余连接建立以后,在变量组里会自动生成一个@sw 变量组(其中 SW 是 前边建立的连接的名称),这个变量组里的变量在后边要用到。打开全局脚本编辑器 Global Scrip C 在左边项目浏览栏里边找:ActionsActions:XXX,其中 XXX 为你的计算机名。 在这个SW 就是刚刚在 TCP/IP 协议项下建立的那 个连接的名字。打开这个文件,将编辑窗口拉到最下边,将紫色部分代码复制添加到上下 文相对应的位置。
参考文献:S7300S7400SIMITIC S7 的软冗余 wincc 实现软冗余手册(英文)
{ SetTagDWord( "@sw@ForceConnectionState", 0 ); } } return 1; 这其中的几个变量"@sw@ConnectionState", "@sw@ForceConnectionState"这两个变量 在前边说到的@SW 变量组里边有。其中的 SW 是连接的名字,需要对应上自己前边建的连 接的名字。"SWR_wincc.Standby"这个变量就是 FB101 冗余程序块的背景数据块中的变量 DB***.DBX9.1, ***是在 PLC 冗余程序中调用冗余程序时自己设定的背景数据块号,我用 的是 DB101,所以我这里变量就连接 DB101.DBX9.1 这个数据位。 好啦,这样就可以实现手动自动切换啦。。。当然手动切换可以自己按照 DB101 的定义去手 动生成变量做,也可在网上搜索《S7300S7400SIMITIC S7 的软冗余》这个文档,里边有 介绍一个系统自带的手动切换冗余的模板,很方便。。。
四个主流品牌PLC冗余方案介绍

四种常见品牌冗余PLC方案介绍下面介绍四种经常使用的PLC冗余方案:西门子S7-300(400)软冗余与S7-400H硬冗余、施耐德Quantum硬冗余、罗克韦尔的ControlLogix硬冗余和SLC500软冗余〔目前快要停产〕、ABB 的AC800M硬冗余方案。
1 西门子冗余方案1.1 西门子S7-300/400软冗余方案:软冗余方案是实现冗余功能的一种低本钱解决方案,可以应用于对主备系统切换时间要求不高的控制系统中。
其软件、硬件包括:1套STEP7编程软件〔V5.4〕加软冗余软件包(V1.2);2套PLC控制器及I/O模块,可以是S7-300或S7-400系统;3条通讯链路,主系统与从站通讯链路〔PROFIBUS 1〕、备用系统与从站通讯链路〔PROFIBUS 2〕、主系统与备用系统的数据同步通讯链路〔MPI 或PROFIBUS 或Ethernet〕;假设干个ET200M从站,每个从站包括2个IM153-2接口模块和假设干个I/O模块;除此之外,还需要一些相关的附件,用于编程和上位机监控的PC-Adapter〔连接在计算机串口〕或CP5611〔插在主板上的PCI槽上〕或CP5511〔插在笔记本的PCMIA槽里〕、PROFIBUS电缆、PROFIBUS 总线链接器等就可以组成一套完整的软冗余系统。
在软冗余系统进行工作时,A、B控制系统〔处理器,通讯、I/O〕独立运行,由主系统的PLC掌握对ET200从站中的I/O控制权。
A、B 系统中的PLC程序由非冗余用户程序段和冗余用户程序段组成,主系统PLC执行全部的用户程序,备用系统PLC只执行非冗余用户程序段,而跳过冗余用户程序段。
A路与B路CPU的程序需在OB1或OB35里调用FB 101 ‘SWR_ZYK’功能块,FB101块中封装了冗余功能的程序段,实现冗余功能。
调用FB101时,你可以在线地读出RETURN_V AL参数的数值,如果为0,说明冗余链接正常。
西门子S7-300软冗余指南

PLC系统软件冗余的说明与实现软件冗余基本信息介绍软件冗余是Siemens实现冗余功能的一种低成本解决方案,可以应用于对主备系统切换时间要求不高的控制系统中。
A.系统结构Siemens软件冗余系统的软件、硬件包括:1套STEP7编程软件(V5.x)加软冗余软件包(V1.x);2套PLC控制器及I/O模块,可以是S7-300或S7-400系统;3条通讯链路,主系统与从站通讯链路(PROFIBUS 1)、备用系统与从站通讯链路(PROFIBUS 2)、主系统与备用系统的数据同步通讯链路(MPI 或 PROFIBUS 或 Ethernet);若干个ET200M从站,每个从站包括2个IM153-2接口模块和若干个I/O模块;除此之外,还需要一些相关的附件,用于编程和上位机监控的PC-Adapter(连接在计算机串口)或CP5611(插在主板上的PCI槽上)或CP5511(插在笔记本的PCMIA槽里)、PROFIBUS电缆、PROFIBUS总线链接器等;下图说明了软冗余系统的基本结构:图2可以看出,系统是由两套独立的S7-300或S7-400 PLC系统组成,软冗余能够实现:I.主机架电源、背板总线等冗余;II.PLC处理器冗余;III.PROFIBUS现场总线网络冗余(包括通讯接口、总线接头、总线电缆的冗余);IV.ET200M站的通讯接口模块IM153-2冗余。
软冗余系统由A和B两套PLC控制系统组成。
开始时,A系统为主,B系统为备用,当主系统A中的任何一个组件出错,控制任务会自动切换到备用系统B当中执行,这时,B系统为主,A系统为备用,这种切换过程是包括电源、CPU、通讯电缆和IM153接口模块的整体切换。
系统运行过程中,即使没有任何组件出错,操作人员也可以通过设定控制字,实现手动的主备系统切换,这种手动切换过程,对于控制系统的软硬件调整,更换,扩容非常有用,即Altering Configuration and Application Program in RUN Mode 。
S7-300 PLC软冗余系统性能实验研究

i n d i c a t o r s ,wh i c h p r o v i d e s a r e l i a b l e b a s i s f o r t h e u s e r .
Ke y wo r d s:S7 — 3 0 0 PLC ; s o f t r e du nda n t s ys t e m ;s wi t c h i n g t i me
r e s ul t s s ho w t h a t t he s wi t c hi ng t i me of t h e r e du nd an t s y s t e m i s i n l i ne w i t h t he t he or e t i c a l p er f o r ma n c e
随着 现 代 工 业 规 模 的 不 断 扩 大 , 许 多 应 用 场 合 对 控制 可 靠 性 提 出了 更 高 的要 求 。冗 余 技 术 是 提 高 控 制 系 统 可 靠 性 的 有 效 措 施 。 可 编 程 序 控 制 器
( P L C ) 被 广 泛 用 于各 行 各 业 , 目前 大 多数 的冗 余 方 案
I SS N 1002
- . .
4 95 6
. . . . . . . . .
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.......
.
.
.
.
..—
—
实
验
技
术
与
管
理
第 3 O卷
第 6期
2 0 1 3年 6月
C NI 1 ~2 0 3 4 / T
S7-300 400 PLC 系统软件冗余调试的常见问题

S7-300 400 PLC 系统软件冗余调试的常见问题问题1:硬件组态需要注意什么?回答:软冗余系统的冗余控制只能通过ET 200M实现,按照图1进行组态。
A、B站的组态必须确保一致,可以拷贝ET200M的组态,在另一站点组态中使用图2所示菜单操作。
图1图2问题2:哪些模块可以支持软冗余?回答:可以通过软冗余手册查询,或参考以下链接的FAQ。
问题3:FC100“SWR_START”中定义的数据区,哪些是冗余数据区?哪些是非冗余数据区?有什么区别?回答:如图3红色区域,冗余同步数据区包括:过程映像输出区/DB/IEC/M;如图3绿色区域,非冗余数据区包括:DB。
冗余数据区,主站的数据会通过冗余链路覆盖到备用站,保证主备之间数据同步;非冗余DB区,无论主备,数据按照定义的A-B B-A方向传递。
注意!无论冗余数据区还是非冗余数据区,A、B站点的长度必须一致。
如果不需要使用,长度定义为0。
图3问题4:软冗余中DB块的影响。
回答:软冗余系统中会使用一些特殊功能的DB块,在FC100“SWR_START”中定义,如图4:图4A:软冗余工作DB,程序会自动生成,不要在项目中手动添加;“DB_SEND_NO”、“DB_RCV_NO”定义的DB,在冗余站两侧一致。
B: FB101“SWR_ZYK”的背景数据块,注意生成DB5的长度。
如果创建出错,CPU能够正常运行但是SF灯报错,诊断缓冲区如图5:图5查看DB5的长度如图6,只有100字节,此时双击打开DB5看不到内部参数,如图7。
可以删除DB5,重新生成FB101“SWR_ZYK”背景数据块。
正常MPI同步-194字节;以太网/PROFIBUS同步-358字节。
图6图7C:冗余DB区,主站的数据随时同步备用站。
需要手动创建,IEC定时器的背景数据块也需要生成,A、B站点长度一致;生成的DB块的长度需要大于2个字(新生成的DB块,内部只有一个INT变量,长度2字节)。
SIMATIC S7-300 与 S7-400 软冗余系统手册(EN)

Software Redundancy for SIMATIC S7-300 and S7-400
Help topics of S7_SWR_B.HLP (03/03)
© SIEMENS AG 2003. All Rights Reserved
The reproduction, transmission or use of this document or its contents is not permitted without express written authority. Offenders will be liable for damages. All rights, including rights created by patent grant or registration of a utility model or design, are reserved. Technical data subject to change.
Help topics of S7_SWR_B.HLP (20.03.98)
SIMATIC S7
Software Redundancy fors
Tips on Using This Description To Best Effect......................................................................................... 5 1 Introduction ......................................................................................................................
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Siemens PLC系统软件冗余的说明与实现软件冗余基本信息介绍软件冗余是Siemens实现冗余功能的一种低成本解决方案,可以应用于对主备系统切换时间要求不高的控制系统中。
A.系统结构Siemens软件冗余系统的软件、硬件包括:1套STEP7编程软件(V5.x)加软冗余软件包(V1.x);2套PLC控制器及I/O模块,可以是S7-300或S7-400系统;3条通讯链路,主系统与从站通讯链路(PROFIBUS 1)、备用系统与从站通讯链路(PROFIBUS 2)、主系统与备用系统的数据同步通讯链路(MPI 或 PROFIBUS 或 Ethernet);若干个ET200M从站,每个从站包括2个IM153-2接口模块和若干个I/O模块;除此之外,还需要一些相关的附件,用于编程和上位机监控的PC-Adapter(连接在计算机串口)或CP5611(插在主板上的PCI槽上)或CP5511(插在笔记本的PCMIA槽里)、PROFIBUS电缆、PROFIBUS总线链接器等;下图说明了软冗余系统的基本结构:图2可以看出,系统是由两套独立的S7-300或S7-400 PLC系统组成,软冗余能够实现:I.主机架电源、背板总线等冗余;II.PLC处理器冗余;III.PROFIBUS现场总线网络冗余(包括通讯接口、总线接头、总线电缆的冗余);IV.ET200M站的通讯接口模块IM153-2冗余。
软冗余系统由A和B两套PLC控制系统组成。
开始时,A系统为主,B系统为备用,当主系统A中的任何一个组件出错,控制任务会自动切换到备用系统B当中执行,这时,B系统为主,A系统为备用,这种切换过程是包括电源、CPU、通讯电缆和IM153接口模块的整体切换。
系统运行过程中,即使没有任何组件出错,操作人员也可以通过设定控制字,实现手动的主备系统切换,这种手动切换过程,对于控制系统的软硬件调整,更换,扩容非常有用,即Altering Configuration and Application Program in RUN Mode 。
B.系统工作原理在软冗余系统进行工作时,A、B控制系统(处理器,通讯、I/O)独立运行,由主系统的PLC掌握对ET200从站中的I/O控制权。
A、B系统中的PLC程序由非冗余(non-duplicated)用户程序段和冗余(redundant backup)用户程序段组成,主系统PLC执行全部的用户程序,备用系统PLC只执行非冗余用户程序段,而跳过冗余用户程序段。
下面我们看一下软冗余系统中PLC内部的运行过程:图3主系统的CPU将数据同步到备用系统的CPU需要几个程序扫描循环:图4数据同步所需要的时间取决于同步数据量的大小和同步所采用的网络方式(图2中的紫色网络线),MPI方式周期最长,PROFIBUS方式适中,Ethernet网方式最快。
PROFIBUS 网络1.5 Mbaud Ethernet 以太网10 MBaud网络MPI187.5 kBaud每60ms 传送240个字节数据 每48ms 传送 240个字节数据 每152ms 传送76个字节数据表1用户需要在初始化程序中(OB100)定义冗余部分的数据区,该数据区可以包括:一个 过程映象区(process image area),一个定时器区(IEC timer area),一个计数器区(IEC counter area),一个位地址区(memory address area)和一个数据块区(data block area),S7-同步的最大数据量为3008 kBytes,S7-400同步的最大数据量64kBytes。
主备系统的切换时间 = 故障诊断检测时间 + 同步数据传输时间 + DP从站切换时间如果CPU的故障是停机或断电,则故障诊断为大约100-1000毫秒,315-2DP同步1000字节的数据所需的时间大约为200-300ms,8个DP从站的切换时间在100ms左右。
您可以在软冗余手册当中找到关于切换时间的具体说明。
无论控制程序循环扫描到哪里,当前激活的系统(即主系统)随时都会接收并处理报警,这样,在主系统A与备用系统B进行切换过程中产生的alarm存在被丢失的可能。
C.产品订货信息如下给软冗余系统相关产品的订货信息:产品名称订货号 描述CPU 系列 CPU314C-2DP 6ES7 314-6CF00-0AB0 CPU313C-2DP 6ES7 313-6CE00-0AB0 CPU 31x-2DP 6ES7 315-2AFxx-0AB06ES7 315-2AG10-0AB0 6ES7 316-2AGxx-0AB06ES7 318-2AJxx-0AB0S7-300系列只能够实现软件冗余,无硬件冗余的功能。
CPU 412-1 CPU 412-2 6ES7 412-1XFxx-0AB0 6ES7 412-1FK03-0AB0 6ES7 412-2XGxx-0AB0 CPU 413-1 CPU 413-2DP 6ES7 413-1XGxx-0AB0 6ES7 413-2XGxx-0AB0CPU 414-1 CPU 414-2DP CPU 414-3DP 6ES7 414-1XGxx-0AB0 6ES7 414-2XGxx-0AB0 6ES7 414-2XJxx-0AB0 6ES7 414-3XJxx-0AB0CPU 416-1CPU 416-2DPCPU 416-3DPCPU 417-4 6ES7 416-1XJxx-0AB0 6ES7 416-2XKxx-0AB0 6ES7 416-2XLxx-0AB06ES7 416-3XLxx-0AB06ES7 417-4XLxx-0AB0S7-400全系列的CPU 都可以应用于软冗余系统; S7-400 H 系列的CPU 属于硬件冗余方式,相对于软冗余,硬件冗余系统切换速度快,主备CPU 中的数据和事件保证完全一致,适于高可靠性应用场合,成本较高 CP 通讯处理器系列(数据同步 Redundant-backup link) CP 342-5 PROFIBUS 通讯模块 6ES7 342-5DA00-0XE06GK7 342-5DA02-0XE0CP 343-1 Ethernet 通讯模块 6GK7 343-1BA00-0XE06GK7 343-1EX11-0XE0CP 443-5 Extended PROFIBUS 通讯模块 6EK7 443-5DXxx-0XE0CP 443-1 ISO Ethernet 通讯模块 6EK7 443-1BXxx-0XE0ET200系列 2x DP slave interface IM 153-26ES7 153-2AA02-0XB06ES7 153-2AB01-0XB0 适于ET200M 的所有数字量、模拟量 I/O 模板 参照S7-300选型样本和STEP 7的硬件组态窗口中ET200文件夹中的I/O 模块 S7-300 模板手册的下载路径:http://www4.ad.siemens.de/-snm-0135030360-1080199645-0000003727-0000002043-1080729745-enm-WW/view/en/8859629CP 341 6ES7 341-1xH01-0AE0 串口通讯模板FM 350 6ES7 350-1AH0x-0AE0 计数器功能模板相关软件及附件 STEP7 编程软件 6ES7 870-5CC06-0YE0软冗余软件包(Software Redundancy) 6ES7 862-0AC00-0YA0 包括冗余功能块的安装软件和授权PROFIBUS标准电缆 6XV1 830-0EH10 按米订货RS485总线连接器 6ES7 972-0BA12-0XA0 PROFIBUS 网络连接头CP5611通讯卡 6GK1 561-1AA00进行编程和上位机监控的通讯卡 表2SIEMENS PLC 控制系统关于热插拔功能的定义:1.带电插拔模块时,确保不造成模块的硬件损坏;2.带电插拔模块时,CPU 不停机,并产生报警;3.带电插拔模块时,该模块I/O 通道的数值保持不变,而其他模块的运行不受影响;4.带电插拔模块时,CPU 中触发中断组织块或通过DP 诊断程序块,得到模块拔出或插入的事件信息,在用户程序或中断组织块OB**中进行相应控制逻辑和I/O 通道的处理;表3注:1.只有S7-300 315-2DP(除CPU314C-2DP、CPU313C-2DP)型号以上的PLC才支持软冗余功能,所有的S7-400都支持软冗余功能;2.主系统与备用系统的CPU型号可以不同,如主系统采用一套S7-400系统,而备用系统采用一套S7-300系统;3.软冗余系统中的ET200M从站必须使用带有有源总线模块(Active Bus Module)的导轨,您可以在《ET200M的有源总线底板配置与说明.doc》文档中,找到关于有源总线模块和导轨的具体订货和使用信息;4.采用S7-300作为主站的软冗余系统无法实现热插拔全部功能,不具备以上所列第3,4条目中的功能。
当您将ET200M从站上的模块拔出时,CPU不停机,主CPU、备用CPU上的SF灯亮,BUSF灯闪烁,ET200M从站上的2块IM153-2模块的SF灯亮,BF灯闪烁,该ET200M从站上所有模块的I/O值被清0,S7-300主站失去对该ET200M从站的控制能力。
当您再次将模块插入到ET200M站上时,系统从主CPU切换到备用CPU,SF、BUSF、BF灯熄灭,软冗余系统重新回到正常运行状态。
5.若要软冗余系统实现热插拔的4项功能,您必须使用S7-400作为软冗余系统的主站。
软冗余系统的调试过程在您的计算机上首先安装STEP7 5.x软件和软冗余软件包,软冗余软件光盘包括了冗余功能程序块库、不同系统结构的例子程序和软冗余使用手册。
I.不同系统结构方式下的功能块:在安装完软冗余的软件后,您可以在STEP7当中找到例子程序和功能程序块库:图5图6以上图5显示的是在STEP7中使用OPEN菜单打开软冗余的例子程序,例子程序中采用MPI链路实现数据的同步。
图6显示在安装完软冗余软件后,您可以在Libraries找到不同CPU以及不同链接方式下可以使用的功能块。
下面的两个表格分别说明了采用S7-300,S7-400进行软件冗余时,可采用的不同网络连接以及所需调用的程序功能块包。
表3从以上的表格中可以看到,软冗余系统当中可以采用MPI、PROFIBUS、Ethernet三种网络实现主系统和备用系统之间的数据同步(Redundant-backup link)。