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 软冗余程序结构首先启动系统冗余数据同步功能,根据状态字判断是否为主控制器,是否需要执行冗余程序段,若为主控制器执行冗余程序段,否则停止系统冗余程序段。
西门子300PLC 软冗余的实现,详细步骤截图
主要硬件:(注意冗余要采用有源背板、有源导轨)讯的IM153-2 冗余套件实现ET200M的冗余通讯。
硬件配置:添加两个300站点:A和B ,然后对两个站分别进行硬件配置:1.打开A站2.从硬件目录选择机架3.打开A站的机架,插入电源,插入CPU315-2DP,新建一条DP网络,DP地址为8 如下图:4.插入ET200从站,DP 地址为35.插入CP343-1,新建 Ethernet(1) 网络6 ET200从站中添加I/O模块,硬件组态完成冗余的输出地址为0-11 ,后面设置FC100要用到。
7 两个站的硬件组态要一致。
8.添加网络连接右击A站CPU(B站也行)会出现菜单,选择“添加新连接”(insert new connection),“连接类型”(connection type),我用以太网ISO-TCP协议实现冗余的,点确定。
就出现下面这个画面,这里边的ID:7 和LADDR十六进制100,也就是十进制256,后边设置FC100要用到。
注意ID(hex)0007 A050 这里是可以选择的,原来是0001 A050,改为0007 A050,这时的ID 就成了7。
因为资料上说以太网实现冗余一般Local ID 不能小于2(其他方式实现没说),所以要改一下,两个CPU的都要改一致,这个在后边设置FC100参数要用到。
A站配置完成以后,进行B站的配置,注意两个站的配置要一致。
软件的设置1.打开冗余程序库,复制里面所需的数据块到程序块里,采用以太网冗余需要复制SWR_XSEND_3002.调用FC5, FC6 在库Libraries-->SIMATIC_NET_CP-->CP 300里边可以找到。
随便一个位置调用他们,然后删除。
项目的块里就会出现这两个块了。
3.调用IEC定时器块,冗余块里的SFB3 TP是定时器块,IEC定时器分别有SFB3 TP,SFB4TON,SFB5 TOF等,把SFB4复制到项目里。
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软冗余系统性能实验研究
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 ......................................................................................................................
西门子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 。
西门子300PLC 软冗余的实现,详细步骤截图
主要硬件:(注意冗余要采用有源背板、有源导轨)本控制柜采用2个315-2DP CPU通过CP343-1连接到以太网交换机实现冗余链路,用DP通讯的IM153-2 冗余套件实现ET200M的冗余通讯。
硬件配置:添加两个300站点:A和B ,然后对两个站分别进行硬件配置:1.打开A站2.从硬件目录选择机架3.打开A站的机架,插入电源,插入CPU315-2DP,新建一条DP网络,DP地址为8 如下图:4.插入ET200从站,DP 地址为35.插入CP343-1,新建 Ethernet(1) 网络6 ET200从站中添加I/O模块,硬件组态完成冗余的输出地址为0-11 ,后面设置FC100要用到。
7 两个站的硬件组态要一致。
8.添加网络连接右击A站CPU(B站也行)会出现菜单,选择“添加新连接”(insert new connection),“连接类型”(connection type),我用以太网ISO-TCP协议实现冗余的,点确定。
就出现下面这个画面,这里边的ID:7 和LADDR十六进制100,也就是十进制256,后边设置FC100要用到。
注意ID(hex)0007 A050 这里是可以选择的,原来是0001 A050,改为0007 A050,这时的ID 就成了7。
因为资料上说以太网实现冗余一般Local ID 不能小于2(其他方式实现没说),所以要改一下,两个CPU的都要改一致,这个在后边设置FC100参数要用到。
A站配置完成以后,进行B站的配置,注意两个站的配置要一致。
软件的设置1.打开冗余程序库,复制里面所需的数据块到程序块里,采用以太网冗余需要复制SWR_XSEND_3002.调用FC5, FC6 在库Libraries-->SIMATIC_NET_CP-->CP 300里边可以找到。
随便一个位置调用他们,然后删除。
项目的块里就会出现这两个块了。
3.调用IEC定时器块,冗余块里的SFB3 TP是定时器块,IEC定时器分别有SFB3 TP,SFB4TON,SFB5 TOF等,把SFB4复制到项目里。
西门子软冗余指南
PLC系统软件冗余的说明与实现朱震忠SIEMENS A&D CS2004-04-06首先我们建议您访问siemens A&D公司的技术支持网站:www4.ad.siemens.de在检索窗口中键入相关产品或问题的 关键字,获取关于产品或问题的详细信息和手册。
图1软件冗余基本信息介绍软件冗余是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接口模块的整体切换。
S7300软冗余调试心得
S7300软冗余调试心得前段时间做了一个S7300软冗余+wincc的设备,cpu是两个315—2dp,各自带一块343-1以太网模块,上位机wincc+1613卡与343通讯,ISO方式,一开始的时候,经常发现cpu冗余失败,后来检查程序感觉没什么不对的地方,就把cpu里面的程序全部清空,重新下载,但是也还是报错了,后来就干脆再次清空,然后把软冗余的几个重要的程序先下载进去,当然参数也同时修改了,下载完发现没问题(这时候跟软冗余例子差不多,当然没问题呵呵),然后一点一点的把冗余部分的程序加进去,并且同时修改冗余参数,下载之前检查两个cpu的参数一致性和程序一致性,直到最后全部下载完,没有遇到什么问题,重新启动一次,ok呵呵。
在wincc里面按照深入浅出里面介绍的办法,在打开一个画面后,使用冗余配置的向导,添加了一条冗余通讯连接,完成后重启,下位机cpu来回切换,上位机画面大约经过10秒钟多一点,成功的切换到另外一台上面。
但是这样存在一个问题,有时候wincc会连接到备用cpu上面去,为了让操作人员更加直观的看到连接情况,将db5.dbx9.2和db5.dbx9.0与db5.dbx9.5做了两个tag显示在画面上,分别注明是Acpu和Bcpu,并且显示当前连接为主机或者备用机,以及通讯正常/失败,并做了一个切换通讯连接的按钮,当当前CPU是备用机,可以手动切换到主机上(这里没做成自动哈哈哈不好意思)。
通过对这个软冗余系统的调试,得出以下结论:如果你的软冗余系统,冗余的程序和数据比较多的时候,最好耐心点,一点一点的把冗余部分的程序加进去,免得出问题,还有就是重新下载程序的话,最好是清空原来的plc,要不然容易出错300软冗余编程我做过一个软冗余系统,硬件与你的类同,只是I/O多一些,有一个远程站,但我确得这个产品与S7 400H硬冗余比较,就是差了,软冗余系统的人机介面(WinCC)它并不会跟随CPU自动切换,工作的CPU没有坏,但可能受到某些干扰它也会切换到另一个CPU中去,我感觉软冗余不是一个好东西(与硬冗余相比较),但还是可以用,你可以参照例程试试,祝你好运!wincc冗余选件请教各位wincc冗余的功能是在安装时选择手动安装将冗余选件打勾即可还是需另外安装一个什么软件,谢谢!在安装时选择手动安装将冗余选件打勾即可触摸屏如何通过双环以太网冗余连接PLC。
实验报告-S7-300软冗余
实验报告一、目的S7-300软冗余:利用315-2DP的MPI实现软件冗余二、条件及设备软冗余软件,两台S7-315-2DP,PROFIBUS电缆,IM153-2以及有源备板总线。
三、步骤1.运行STEP5.1,插入S7-300 STATION。
2.硬件配置:3.打开EDIT菜单,执行COPY,INSERT REDUNDANCY,生成一新S7-300STATION.编译。
4. 编程:4.1 软冗余需要使用的功能块: 在OB1 或OB35中:FB101(SWR_ZYK:在冗余程序块之前、之后都需调用;一旦调用,自动将数据从主站传递到备用站)。
在OB1或OB35中使用。
例如:CALL FB 101 , DB5 // Call of FB 101 'SWR_ZYK' with instance DBDB_WORK_NO :=DB1 // Work DB for SWRCALL_POSITION:=TRUE // Call_Position = TRUE at begin of redundant programRETURN_VAL :=MW6 // Block return valueEXT_INFO :=MW8 // Extended informationA DB5.DBX 9.1 // Check if station is MasterJC END// redundant user programL 1L MW 20+IT MW 20L 5L MW 100+IT MW 100L MW 100T DB10.DBW 0L DB10.DBW 0T MW 22//redundant user programEND: NOP 0CALL FB 101 , DB5 // Call of FB 101 'SWR_ZYK' with instance DB DB_WORK_NO :=DB1 // Work DB for SWRCALL_POSITION:=FALSE // Call_Position = FALSE at END of redundant programRETURN_VAL :=MW10 // Block return valueEXT_INFO :=MW12 // Extended information在OB100中:FC100(SWR_START,用于在OB100中,初始化两个站,如:外围输出区、位内存地址区、数据块区、静态数据块区;区域必须连续设置;需设置三个数据块用于存储内部数据)。
四个主流品牌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 软冗余的原理和配置
M P I/P R O FIB U S or E thernet
S 7 -3 0 0 /S 7 -4 0 0 S tation A
S 7 -3 0 0 /S 7 -4 0 0 S tation B
PR O FIBU S-D P PR O FIBU S-D P
E T 200M distributed I/O device w ith IM 153-2
7.1.2 系统工作原理 在软冗余系统进行工作时,A、B 控制系统(处理器,通讯、I/O)独立运行,由主系统 的 PLC 掌握对 ET200 从站中的 I/O 控制权。A、B 系统中的 PLC 程序由非冗余(nonduplicated)用户程序段和冗余(redundant backup)用户程序段组成,主系统 PLC 执 行全部的用户程序,备用系统 PLC 只执行非冗余用户程序段,而跳过冗余用户程序段。 软冗余系统内部的运行过程参考图 7-2。
CPU 31x-2DP
6ES7 315-2AFxx-0AB0 无硬件冗余的功能。
6ES7 315-2AG10-0AB0
6ES7 316-2AGxx-0AB0
6ES7 318-2AJxx-0AB0
CPU 412-1
6ES7 412-1XFxx-0AB0 S7-400 全系列的 CPU 都可以应用于
CPU 412-2
S7-400 H 系列的 CPU 属于硬件冗余 方式,相对于软冗余,硬件冗余系统 切换速度快,主备 CPU 中的数据和 事件保证完全一致,适于高可靠性应 用场合,成本较高
CPU 416-1
6ES7 416-1XJxx-0AB0
CPU 416-2DP
6ES7 416-2XKxx-0AB0
西门子300软冗余硬件配置
西门子300软冗余硬件配置工程业主要求实现电源、cpu、network冗余,还要留dp 口跟业主dcs通讯。
目前考虑做成软冗余的形式,硬件配置如下:2个315-2dpcpudp口带下面et200m的从站,数据同步用的mpi口,两个cpu各自带一个cp343-1模块通过交换机跟wincc通讯,现在的问题是:1、如何实现留dp口跟业主通讯,需要加两个cp342-5模块吗?2、如果cpu用315-2pn/dp,通过交换机能否同时实现数据同步和跟wincc通讯这两种功能?如果能,跟现有方案相比性价比如何?问题补充:1.业主是profibus-dp通讯,需要为每个cpu都配置一个cp342-5模块是吗?2.若采用315-2pn/dp,pn口用作wincc通讯,dp口用作数据同步,从站如何连接呢,势必还要再加两个cp342-5吧最佳答案1、如何实现留dp口跟业主通讯,需要加两个cp342-5模块吗?业主dcs通讯采用什么协议?、如果采用modbus的dcs需要配置cp341及modbus的驱动(硬狗),详见:《做主站s7-300cp341做从站的modbusrtu通讯》下载:/download/upload/as/application /a0451.pdf、如果采用profibus-dp的dcs,你的dp口以占用,需要配置cp342-5。
2、如果cpu用315-2pn/dp,通过交换机能否同时实现数据同步和跟wincc通讯这两种功能?如果能,跟现有方案相比性价比如何?转帖一个典型的问题:cpu本体的pn口是否可以进行软冗余数据同步。
回答:不行,软件包提供的程序不针对pn口。
详见:《siemensplc系统软件冗余调试的常见问题》连接:/download/upload/as/faq/f0462. pdf。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S7-300的软冗余要求从站必须通过有源底板连接。
从站的所有模块需要确保没有故障,即SF灯不亮尤其是通讯模块。
S7-300的软冗余分为三种方式:MPI ,DP ,以太网。
三种冗余方式的通讯速度不同,以太网通讯速度最快,DP通讯速度次之,MPI通讯速度最慢。
不同的通讯方式选择的功能块不相同,具体功能块的选择如图1所示:
图1
下面以以太网冗余为例,简述冗余过程:
(一)插入两个S7-300的站,SIMATIC 300(A) 和SIMATIC 300(B)。
(二)设置A站的IP地址为192.168.0.10 ,B站的地址为192.168.0.20 。
(三) 在A站的块中插入OB100、OB35、OB86组织块,并对其中的OB100、OB35、OB86进行编程。
(四) 在组态网络中新建ISO-ON-TCP链接。
要求ID号要大于2且主从站的ID号一致。
上图为最终效果图,下图为过程
(五) 在OB100中我们调用FC100’SWR_START ’进行软冗余的初始化。
FC100’SWR_START 的各个引脚的注释请参照最后的附录
调用FC100的位置如图
主站设置如左图所示步骤,从站不需要再次设定但需要在从站中给该从站的通讯ID 号与主站相同且大于2。
,图例设置为0007
图中1表示为当前CPU 的站号,A 站写A ,B 站写B 。
图中2填写对方的地址,MPI_ADR 表示对方的MPI 地址,LADDR 表示CP 通讯处理器组态的硬件地址,采用PROFIBUS 或Ethernet
网络进行数据同步时
1
2
3 4
5
才有意义,默认值为256不需要更改。
VERB_ID表示网络链接的ID号,在NETPRO窗口中组态的链接的ID值,如FDL Connection、ISO Connection或S7 Connection。
数值要大于2。
DP_MASTER_SYS_ID表示DP主站网络的ID 号,你可以在硬件组态中双击链接ET200M从站紫色的PROFIBUS主从网络,获取该ID值
双击。
图中3填写输出模块(DO..AO)总的起始地址和最终地址。
地址必须是连续的,中间不能含有没有定义的地址。
图中4填写冗余的M、计时器背景数据块、DB数据块的起始地址和长度。
数据必须是连续的,且冗余的DB块的数据不得小于2个字节。
图中5填写ET200从站的起始地址和个数。
表中需要注意的事项;
i. 冗余的DB块中数据必须大于2个字节,否则冗余会报错。
ii. 模块的输出DO,AO必须为连续的地址,冗余初始化中的输出中不能有无效地址。
iii. 上表中的DB1,DB2,DB3数据块不需要人工创建,下载程序时CPU会自动创建数据块。
iv.更改OB100中的FC100程序时,需要清空CPU 内的所有程序。
清空的方式为在线删除块内的所有数据。
v. 非冗余的DB块需要手动创建,数据必须大于2个字节。
(六) 一般我们建议您将您的非冗余程序段编写在OB1当中,而将冗余程序段编写在OB35当中,我们这里使用的是OB35的默认属性,即每100ms中断触发一次,您可以根据实际的需要在CPU属性中修改中断的时间间隔。
在OB35里调用FB 101 ‘SWR_ZYK’ 功能块,FB101块中封装了冗余功能的程序段,实现冗余功能。
调用FB101时,你可以在线地读出RETURN_VAL参数的数值,如果为0,说明冗余链接正常。
如果为8015说明数据同步的连接不成功,这是一个常见的错误,原因可能是CP342-5之间的FDL链接建立的不正确或物理链路不通,或者是FC100的VERB_ID参数与NETPRO中的链接ID号不一致。
当执行”SWR_START”程序块时,系统分配这些数据区,不能用S7的定时器和计数器,只能使用IEC标准的定时器和计数器。
你可以在软冗余手册的第三章第9节找到对应的诊断信息。
OB35中的程序可以分为4个部分。
(七)在OB86中调用诊断功能块FC 102 ‘SWR_DIAG’,当系统出现PROFIBUS总线错误时,该功能块返回诊断信息,供FB101使用。
(八)插入FB101内部调用的FB104,FC5、FC6等功能块,将所有的程序块下载到PLC当中。
备注
A.在使用MPI进行冗余通讯时不需要建立任何通讯连接,只需将通讯
线接好即可。
B.在使用以太网进行通讯时需要建立通讯连接。
注意,图中的ID号不
能小于2且主站和备站的ID号相同。
通讯时选择的通讯方式如图中
的Type。
组态完成后需要将主动连接的CPU进行下载。
C.在使用DP进行冗余通讯时需要建立通讯连接,连接类型选择FDL。
通讯连接建立后需要将主动连接的站的CPU进行下载。
S7-300软冗余时的wincc连接设置(以太网通讯)
1.建立变量,按照正常非冗余的方式建立。
2.建立冗余连接。
打开任意一个编辑画面,在动态向导中的系统函数中选
择创建冗余连接如图
,
选择主用的连接如图,选择的是SXYC。
设置备用的连接如图
3.在全局脚本中添加脚本
MSRTCreateMsg( ServiceID, &MsgCreate, &Error );
}
}
}
if ( ServiceID != 0 )
{ MSRTStopMsgService ( ServiceID, &Error );
}
if ( GetTagDWordWait( "@SXYC@ConnectionState" ) == 0 )
{ SetTagDWord( "@SXYC@ForceConnectionState", 1 );
}
else
{ if ( GetTagBitWait( "SWR_wincc.Standby" ) == TRUE )
{ SetTagDWord( "@SXYC@ForceConnectionState", 0 );
}
}
return 1;
只需要紫色的C语言这其中的几个变量"@SXYC@ConnectionState", "@SXYC@ForceConnectionState"这两个变量在前边说到的@SW变量组里边有。
其中的SW是连接的名字,需要对应上自己前边建的连接的名字。
"SWR_wincc.Standby"这个变量就是FB101冗余程序块的背景数据块中的变量DB***.DBX9.1,这个变量是手动建立的,名称也可以自己设定,***是在PLC 冗余程序中调用冗余程序时自己设定的背景数据块号,我用的是DB5,所以我这里变量就连接DB5.DBX9.1这个数据位。
附录
FC100各引脚的含义。