首页 上一页 1 2 下一页 尾页

(已结帖)工控PLC擂台第35期--PLC冗余系统的构建。 点击:3413 | 回复:32



玻璃的心

    
  • 精华:44帖
  • 求助:2帖
  • 帖子:1253帖 | 5801回
  • 年度积分:0
  • 历史总积分:57717
  • 注册:2010年6月11日
发表于:2011-04-03 16:44:53
楼主
        我们知道,随着PLC技术的发展,各厂家的PLC都可以组建相应的冗余系统,有硬件上的冗余也有软件上的冗余,因此请举出你所用过的任何一种PLC构建冗余系统所需要做的工作,或者结合工程实际中的冗余系统来说明更好(即在相应工程中用到冗余即可)。 

要求能详细说明PLC的品牌和冗余的构建步骤及其相应的程序(有程序的话,当然如果像是罗克韦尔的大型机只要硬件做好冗余不要编程,但要有详细过程)。PLC品牌不限。



工控PLC擂台每周一期,本期下周末结贴。奖项设置:一等奖1名:50MP,二等奖5名:10MP,三等奖10名:30积分。

MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。

MP有什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。 兑换现金:非积分获得的MP可兑换等值现金(满100MP后、用户可通过用户管理后台申请兑换)。


楼主最近还看过



cqu_rockwell

  • 精华:16帖
  • 求助:0帖
  • 帖子:678帖 | 8694回
  • 年度积分:0
  • 历史总积分:57901
  • 注册:2010年6月30日
发表于:2011-05-08 19:20:05
21楼

软冗余系统构成:
两个通过总线连接的S7- 300 或S7- 400 的CPU; 均安装冗余应用程序; 两个DP 主系统与带有冗余DP 从接口的ET200M 分散I /O 系统相连;
使用软冗余程序包模件;

四、以一个催化装置气压机改造例子说明软冗余的应用
1. 系统概述
某炼油厂的重油催化气压机组是由陕西鼓风机厂于1989 设计并于1991 入使用。其中气压机的PLC 部分控制着机组的运行、报警联锁、报警指示、机组润滑油辅泵及密封油辅泵的启停等控制任务。原来的PLC 则选用的是美国八十年代初期推出的M84 系列的产品,由于该产品已使用多年, 故障出现频繁, 且模板更换庸烦( 更换时需要拆卸所有其它I /O 模板) , 同时该产品现已淘汰无法购到, 因此,给正常的生产造成了很大的影响。为此, 我们改用西门子S7 - 300PLC 作为其控制系统。考虑到控制系统的重要性和经济性, 我们通过其相关的STEP 7 、Software Redundancy 系统软件组成软冗余系统( 与S7- 400H 的硬冗余系统有所不同, 详见参考文献) 以确保系统的可靠运行。

2. PLC 系统的构成
改造后的PLC 系统是由PS 电源、CPU、CP 通讯处理器、IM 接口模板、I /O 模板及OP 操作器等构成, 通过总线连接, 并借助STEP 7 、Software Redundancy、Protool 软件完成对该系统的系统组态、参数设定和程序编制, 最终实现系统的自动控制。
3. 其他说明
在原PLC 系统中, I /O 模板的外部供电电压有的为AC110V、AC220V, 有的为DC24V, 这样, 不仅给备件的订购带来了困难, 也为 系统的维护增加了困难, 稍一疏忽, 如果AC220V 电压窜入DC24V 模板其后果不堪设想, 同时, 按钮和指示灯使用AC220V 电压也给设备维护人员带来不安全隐患。为此, S7- 300 PLC 系统中, I /O 模板我们均选用DC24V 供电电压, 这样, 既减少了备件的种类, 又使设备维护人员更加安全。同时, 由于使用了统一电压, 大大简化了原系统的控制电路。特别值得一提的是, 由于S7- 300 的模板配置小巧灵活, 与原PLC 系统相比, 给控制盘留出了更大的空间, 使系统维护更加方便。此外, 由于原PLC 输入模板采用的是共阴极输入, 而S7- 300 的输入模板都采用的是共阳极输入, 所以, 在改造时, 我们对输入信号的连接进行了必要的处理以保证S7- 300 的正确使用。在用户程序编制中, 在保证原联锁、控制及报警功能不变的前提下, 还增加了灯测试及事件和报警信息功能, 使控制系统更加尽善尽美。同时, 本着为用户着想的宗旨, 利用STEP 7 的符号编辑功能对用户程序进行了符号标注和汉语注释, 并打印出相应的交叉参考表, 大大方便了用户对程序的阅读和查寻, 使用户技术人员对SIMATIC 产品能更加深入的了解和体会。
这是我们在西门子技术服务中心培训时在技术人员指导下完成实际项目的模拟编程, 之后, 工程技术人员在厂家各部门的监督、配合和支持下, 对系统进行了各种所能出现的模拟故障实验调试, 系统CPU 均能按设计要求自动切换, 达到冗余效果。实际设备自2002年8 月正式投入使用以来运行良好, 生产稳定, 一切正常, 深受用户的好评和信赖。该实例也说明石油化工厂控制系统的改造项目相当数量可由软冗余系统完成。

花开_花落

  • 精华:1帖
  • 求助:1帖
  • 帖子:65帖 | 1155回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2011-05-09 18:57:28
22楼

                                                PLC软件冗余系统在燃油锅炉中的应用

 

燃油锅炉是输油管道加热系统中的加热设备,锅炉的无故障运行是整个输油管道网络正常工作的保证。在锅炉控制系统中,设计采用两组独立运行的西门子PLC软件冗余控制系统,保证加热系统的可靠、连续、安全运行。
冗余常见的方式是中央处理器冗余、I/O 冗余和通讯冗余。中央处理器单元冗余(即一用一备或一用多备),在主处理器单元失效时,备用处理器单元自动投入运行,接管控制。在控制权的交互方式上又可分为硬件冗余和软件冗余两种。硬件冗余是采用硬件方式进行切换,不用编程。除了成对的使用处理器外,还用专用的热备模块,热备模块负责检测处理器,一旦发现主处理器失效,马上将系统控制权交给备用处理器。硬件冗余均采用光纤通讯,通讯速度快,系统稳定,切换时间更短,但是成本也比较高。软件冗余方式只需要成对的处理器,用软件编程的方式进行处理器的切换,组成比较经济,构成十分灵活,但程序处理需要一定的时间,对于时钟同步及切换时间要求不是十分严格的场合,选用软件冗余方式还是非常经济有效的。
1.控制系统构成:
1.1 监控系统整体设计
本控制方案设计采用了SIMATIC WinCC 组态软件来实现过程控制的上位机组态,WinCC是在生产和过程自动化中解决可视化和控制任务的工业技术系统。下位机控制系统设计采用两套独立的西门子 SIMATIC S7-300系列PLC实现冗余控制,其编程软件STEP-7功能强大,模块化结构,优化了用户程序。
监控系统构成实现如图1:

图1 冗余监控系统

图1 冗余监控系统
Fig.1 Software redundancy monitoring system
1.2 PLC软件冗余控制系统
软件冗余是Siemens实现冗余功能的一种低成本解决方案,可以应用于对主备系统切换时间要求不高的控制系统中。
1.2.1系统结构
Siemens软件冗余系统的软件、硬件包括:
1套STEP7编程软件(V5.x)加软冗余软件包(V1.x);
2套PLC控制器及I/O模块,可以是S7-300或S7-400系统;
3条通讯链路,主系统与从站通讯链路(PROFIBUS 1)、备用系统与从站通讯链路(PROFIBUS2)、主系统与备用系统的数据同步通讯链路(MPI 或 PROFIBUS 或 Ethernet);
软冗余能够实现:
1.  主机架电源、背板总线等冗余;
2.  PLC处理器冗余;
3.  PROFIBUS现场总线网络冗余(包括通讯接口、总线接头、总线电缆的冗余);
4.  ET200M站的通讯接口模块IM153-2冗余。
软冗余系统由A和B两套PLC控制系统组成。开始时,A系统为主,B系统为备用,当主系统A中的任何一个组件出错,控制任务会自动切换到备用系统B当中执行,这时,B系统为主,A系统为备用,这种切换过程是包括电源、CPU、通讯电缆和IM153接口模块的整体切换。系统运行过程中,即使没有任何组件出错,操作人员也可以通过设定控制字,实现手动的主备系统切换,这种手动切换过程,对于控制系统的软硬件调整、更换非常有用。
1.2.2 系统工作原理
在软冗余系统进行工作时,A、B控制系统(处理器,通讯、I/O)独立运行,由主系统的PLC掌握对ET200从站中的I/O控制权。A、B系统中的PLC程序由非冗余用户程序段和冗余用户程序段组成,主系统PLC执行全部的用户程序,备用系统PLC只执行非冗余用户程序段,而跳过冗余用户程序段。下面我们看一下软冗余系统中PLC内部的运行过程(图2):
 
图2 冗余工作原理
 
 
 
图2 冗余工作原理
Fig.2 The working principle of software redundancy
1.3 PLC控制系统设计
利用信号采集模块实时采集锅炉的输油管进出口温度和压力,根据设定起炉、转火、停炉温度值控制燃烧机的自动启动、转火、停止等操作。根据温度、压力报警设定值,控制锅炉紧急停炉和故障报警等处理。
控制系统组成:一组CPU 315-2 DP 处理器(带PROFIBUS-DP接口);2组ET200M模块(各自带2个IM352接口);一组SM321 DI开关量输入模块;一组SM322 DO开关量输出模块;3组SM331 AI模拟量输入模块。一组CP343-1以太网通信处理器模块。
1.4 WinCC与S7-300的通信实现
根据控制方案的设计,采用WinCC组态作为上位机监控,用西门子的S7_300作为下位机执行机构,我将采用以太网的标准Tcp/IP协议实现WinCC与S7-300的通信,将现场的状态参数、控制参数等上传到监控层。这个变量传递的过程可以用图3来说明:
 

图3 变量监控过程

                                                                                               &nb

花开_花落

  • 精华:1帖
  • 求助:1帖
  • 帖子:65帖 | 1155回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2011-05-09 18:59:54
23楼

图3 变量监控过程
Fig.3 Course of variable monitoring


1.5 WinCC组态冗余的实现
通过两台独立计算机同时运行项目功能完全相同的WinCC组态项目,构成并行服务器来实现组态冗余结构,两台服务器通过以太网连接,并与PLC连接。每台服务器都带有其自身的过程连接和可用的数据归档,工作PLC站将过程数据和消息同时发送到两台冗余服务器。如果一台服务器发生故障,另一台将继续接收和归档来自PLC工作站的过程值和消息。出现故障的服务器重新工作后,冗余服务器为故障时间的归档执行同步,通过将丢失的数据重新传送到出故障的服务器,来消除故障引起的归档差别。
冗余服务器的组态实现:1.必须在两个冗余服务器上组态功能完全相同的WinCC组态项目(建议使用WinCC项目复制器)。2. 对于WinCC冗余,需要同步服务器(建议使用设备的时间同步)。3. 配置冗余用户归档,实现用户归档同步。4. 组态在线消息同步。5. 打开冗余编辑器,在“冗余伙伴服务器”项,输入冗余服务器的名称,并在“用户归档”项下,激活“用户归档的同步”。
本系统通过动态向导设置读取IP冗余地址,实现主S7-300数据监控。
1.6 软冗余程序的设计
软冗余程序需要西门子提供的软冗余软件包及STEP7,在A站的Block中插入OB1(主循环程序块)、OB35(定时中断组织块)、OB100(暖启动调用程序块)、OB80(在主系统与备用系统切换时间超时,调用该块)、OB82(DP-Slave ET200站上的IM153-2模块出错报警,调用该功能块)、OB83(DP从站的接口模块与主站链接断开或链接重新建立时调用该块)、OB86(主从站通讯出错调用该块)、OB87(通讯失败调用该块)、OB122(外围设备访问出错调用该块)、OB121等组织块,并对其中的OB100、OB35、OB86进行编程。
首先,用户需要在初始化程序中(OB100)定义冗余部分的数据区,该数据区可以包括:一个过程映像区,一个定时器区,一个计数器区和一个数据块区,S7-300同步的最大数据量为8kBytes。本控制系统将每台锅炉的温度、压力采集值和运行状态参数分别放置在不同的DB数据块,并定义为需要冗余的数据块。
使用的是OB35的默认属性,即每100ms中断触发一次,可以根据实际的需要在CPU属性中修改中断的时间间隔。在OB35里调用FB101S ’WR_ZYK’功能块,FB101块中封装了冗余功能的程序段,实现冗余功能。当执行‘SWR_START’程序块时,系统分配这些数据区,不能用S7 的定时器和计数器,只能使用IEC标准的定时器和计数器。
OB35中的程序段也可以在OB1中实现,只是不使用中断的方式,而使用主循环的方式。
调用FB101时,你可以在线地读出RETURN_VAL参数的数值,如果为0,说明冗余链接正常。如果为8015说明数据同步的连接不成功,原因是CP342-5之间的FDL链接建立的不正确或物理链路不通,或者是FC100的VERB_ID参数与NETPRO中的ID号不一致。

zxjjynl

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 561回
  • 年度积分:0
  • 历史总积分:2626
  • 注册:2011年3月06日
发表于:2011-05-09 19:03:46
24楼

     Controllogix系列PLC冗余系统在汽轮机发电中的应用

  

  Controllogix可以提供完善的控制器的冗余功能,采用热备的方式构建控制器,两个控制器框架采用完全相同的配置,它们之间使用同步电缆连接,不仅控制器可以采用热备,通讯网络也可以采用相似的方式进行热备,除以上的部分可以热备外,控制器的电源也可以进行热备,这样大大提高了控制器的运行的可靠性。

2 系统介绍

在某焦化厂干熄焦汽轮机发电项目的DCS控制系统中,采用了冗余的Controllogix,系统结构如图1所示。上位机通过交换机与PLC处理器通讯,远程框架通过冗余的ControlNet连接到控制器框架,同时,远程框架采用了冗余电源配置。整套系统具有很高的可靠性,满足了汽轮机发电系统对于PLC控制部分需要长期无故障运行的要求。上位机采用Rsview32软件,用以监控现场设备的运行。

newmaker.com
图1 系统结构图

本地框架由L1和L2 框架构成,运行时L1和L2互为热备,构成了冗余,L1和L2框架各个槽位的所配置的模块如表1所示。R1,R2和R3是远程框架,所有的点号都连接到远程框架的模块,远程框架的供电使用了AB的冗余电源(1756-PAR2)。

表1 L1和L2框架各个槽位的所配置的模块
newmaker.com

设置主从控制器框架的1756-CNBR/D的节点地址时应注意,他们的地址拨码应该相同,应该是系统中挂接在冗余ControlNET网上所有节点的最高地址,在本系统里面都设置为4,远程站的节点地址分别为1,2,3。在冗余系统正常运行时,从控制器框架的CNBR/D节点地址会自动加1,变为5。

1757-SRM是用于同步的冗余模块,主从控制器框架的SRM通过光纤连接。正常工作时,1756-L61中所有的程序和数据通过光纤进行同步,在RSLOGIX5000编程中,不必对此模块进行组态。

1756-ENBT是以太网接口模块,通过网线连接到交换机。ENBT的地址分配为两个连续的IP即可, 在这个系统中IP地址分别为192.168.1.11和192.168.1.12。

3 模块的升级

冗余系统中,主控制器框架和从控制器框架上各个模块的版本必须严格一致,并到达到要求的版本号,否则无法正常工作。

当版本不一致时,在RSLinx中可能无法看到从控制器框架上的处理器,同时,从控制器框架的处理器状态指示灯(OK灯)变为红色长亮。因此,一般系统在第一次上电时,需要进行固件升级。根据AB公布的信息,当前一些模块的固件版本如表2所示,这个版本同样适用于1756-L62, 1756-L63。

表2 一些模块的固件版本
newmaker.com

上电后,首先在RSLinx中检查模块的版本号,如果与表2不一致,需要到AB网站上去下载这个版本的升级包V13.71 Redundancy Bundle。升级工作需要使用Rockwell的固件升级软件ControlFLASH。

升级前,先要取消SRM的从框架资格,在RSLinx中,从框架比主框架的节点地址大1。从图标上进入1757-SRM的属性,找到Configration的Auto-Synchonization选项,将参数改为NEVER.然后进入Synchonization选项卡,单击Disqualify Secondary(取消从框架资格),这个时候主从处理器之间就不会同步了。

升级时,先打开一个处理器框架的电源,关闭另一个框架的电源。等1757-SRM显示PRIM后,在RSLinx中可以找到这个框架中的模块。然后使用ControlFLASH分别进行升级。升级完毕后,关闭这个处理器框架的电源,打开另一个框架的电源,也如此进行升级。

升级完毕后,进入1757-SRM的属性,将从控制器设为主控制器,使用RSLogix5000将程序下载到从处理器,关闭机架电源,进入从1757-SRM的属性,选择BecomePrimary,然后进入RSLogix5000的通讯菜单,清除掉故障。完成以上升级工作后,主从控制器框架都上电,然后使用RSNetWorx for ControlNET对网络进行调度。

在正常工作情况下,一般哪一个框架先上电,哪一个就是主框架,另一个是从框架,主框架的1757-SRM会显示PRIM,从框架的会显示SYNC。正常运行时,在SRM属性中可以进行主从的切换。如果显示状态与这个不一致,表示系统同步出现问题,需要进行进行检查,刚上电时因为SRM需要自检,可能要花一些时间。如果同步光纤、ControlNET或者以太网出现连接问题,都有可能导致同步不正常。

在RSLogix5000中进行冗余系统的编程时,只能使用一个连续性任务或几个周期性任务。尽量不要使用SINT和INT型的数据,另外,数据的定义最好都采用数组完成,这样可以提高同步时的效率。在打点和程序调试期间,由于经常下载程序,这个时候容易导致同步出错,最好在1757-SRM中把自动同步选项设为禁用,采用手动的方式进行同步。等调试完毕后,再把这个选项打开,正式将系统投运。

4 RSLinx中的冗余配置

为了保证冗余系统能够和上位机的HMI软件正常通讯,需要在RSLinx中进行冗余配置。

RSLinx中,首先定义两个Topic,分别指向主框架和从框架的处理器,然后,在Alias Topic中,定义一个别名Topic,指向刚才定义的两个Topic,在使用时,HMI中的节点的定义只要指向别名Topic就可以了,当处理器发生主从切换时,HMI仍然可以保持正常的通讯。

5 SRM时间同步

1757-SRM正常运行时,需要对同步过程中发生的事件按照时间顺序进行记录,1757-SRM出厂时的缺省时间不是当前的时间,因此需要对SRM进行时间重新设置。在设置1757-SRM时间时,笔者采用编程的方式将1757-SRM的时间与处理器的时间进行同步,同时,利用AB提供的时间同步工具,笔者可以将处理器的时间与上位机的时间进行同步,这样也就实现了1757-SRM与上位机的时间同步。

在RSLogix5000中添加程序,如图2所示:

newmaker.com
图2 RSLogix5000中添加程序

GSV中读出的时间数据写入到WCT(WCT定义为DINT[2].)然后,由MSG把数组WCT的值写入到SRM的时间属性。MSG指令的设置如图3所示。

newmaker.com
图3 MSG指令的设置

通讯配置如图4所示。通讯配置的格式为:1,SRM的槽号。

newmaker.com
图4 配置显示

这一程序表示从处理器中读出时间,放入到WCT中,然后把WCT的值写入到SRM中。

程序运行后,处理器和SRM的时间就实现同步了。然后在上位机运行时间同步工具。

zxjjynl

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 561回
  • 年度积分:0
  • 历史总积分:2626
  • 注册:2011年3月06日
发表于:2011-05-09 19:07:19
25楼

                  

"C:Program FilesRockwell SoftwareRSLogix 5000 ToolsLogix5000 Clock Up date Tool"

先添加设备,从RSWho中选中要同步的处理器。在添加的处理器图标上点击鼠标右键,在弹出的菜单中选择synchronize device,这样就实现了上位机与CPU的时间同步。那末也就实现了SRM与上位机的时间同步。

如果Controllogix的时间误差较大,但又对SRM的时间要求较高,可以利用时间同步工具的常驻内存运行功能,实现实时的时间同步。在scheduled synchronizations菜单中可以添加需要进行实时时间同步的CPU,同步的时间间隔进行相应的配置后,就可以实现实时的时间同步了。

利用这个原理,通过相应的设置,可以实现同一网络中不同Controllogix处理器之间的时间同步,或者不同SRM之间的时间同步,也可以时间不同网络之间的时间同步。

6 处理器的故障处理

虽然在处理器发生故障时,会导致处理器的切换,但我们可以通过编程来防止可以预见的故障的产生。当处理器在运行过程中出现主要故障时,可以使用程序清除这一故障。

在RSLogix5000的用户自定义类型中,定义一个名为FaultData的数据类型,内部变量的数据类型如图5所示。然后定义一个变量CHI为FaultData。然后如图6所示添加控制器故障处理程序。程序如图7所示。

newmaker.com
图5 FaultData内部变量的数据类型

newmaker.com
图6 添加控制器故障处理程序

newmaker.com
图7 控制区故障处理程序

通过以上程序可以很好的防止处理器主要故障的发生。一般次要故障不会引起处理器停机和冗余的切换,因此次要故障的处理程序不是很有必要。

MadforG

  • 精华:5帖
  • 求助:0帖
  • 帖子:126帖 | 1053回
  • 年度积分:0
  • 历史总积分:7185
  • 注册:2010年7月01日
发表于:2011-05-09 19:12:48
26楼

西门子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总线链接器等;
下图说明了软冗余系统的基本结构:


                                                                                                                  图1
可以看出,系统是由两套独立的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内部的运行过程:

                                                                                                         图2
主系统的CPU将数据同步到备用系统的CPU需要几个程序扫描循环:

                                                                                                              图3

数据同步所需要的时间取决于同步数据量的大小和同步所采用的网络方式(图2中的紫色网络线),MPI方式周期最长,PROFIBUS方式适中,Ethernet网方式最快。

表1

用户需要在初始化程序中(OB100)定义冗余部分的数据区,该数据区可以包括:一个 过程映象区(process image area),一个定时器区(IEC timer area),一个计数器区(IEC counter area),一个 位地址区(memory address area)和一个 数据块区(data block area),S7-300同步的最大数据量为8 kBytes,S7-400同步的最大数据量64kBytes。


主备系统的切换时间 = 故障诊断检测时间 + 同步数据传输时间 + DP从站切换时间

如果CPU的故障是停机或断电,则故障诊断为大约100-1000毫秒,315-2DP同步1000字节的数据所需的时间大约为200-300ms,8个DP从站的切换时间在100ms左右。您可以在软冗余手册当中找到关于切换时间的具体说明。
无论控制程序循环扫描到哪里,当前激活的系统(即主系统)随时都会接收并处理报警,这样,在主系统A与备用系统B进行切换过程中产生的alarm存在被丢失的可能。


MadforG

  • 精华:5帖
  • 求助:0帖
  • 帖子:126帖 | 1053回
  • 年度积分:0
  • 历史总积分:7185
  • 注册:2010年7月01日
发表于:2011-05-09 19:16:37
27楼

C.产品订货信息
如下给软冗余系统相关产品的订货信息:

表2

注:
1. 只有S7-300 315-2DP(除CPU314C-2DP、CPU313C-2DP)型号以上的PLC才支持软冗余功能,所有的S7-400都支持软冗余功能;
2. 主系统与备用系统的CPU型号可以不同,如主系统采用一套S7-400系统,而备用系统采用一套S7-300系统;


MadforG

  • 精华:5帖
  • 求助:0帖
  • 帖子:126帖 | 1053回
  • 年度积分:0
  • 历史总积分:7185
  • 注册:2010年7月01日
发表于:2011-05-09 19:22:51
28楼
软冗余系统的调试过程
在您的计算机上首先安装STEP7 5.x软件和软冗余软件包,软冗余软件光盘包括了冗余功能程序块库、不同系统结构的例子程序和软冗余使用手册。
I.不同系统结构方式下的功能块:
在安装完软冗余的软件后,您可以在STEP7当中找到例子程序和功能程序块库:

图4

图5

以上图4显示的是在STEP7中使用OPEN菜单打开软冗余的例子程序,例子程序中采用MPI链路实现数据的同步。
图5显示在安装完软冗余软件后,您可以在Libraries找到不同CPU以及不同链接方式下可以使用的功能块。
下面的两个表格分别说明了采用S7-300,S7-400进行软件冗余时,可采用的不同网络连接以及所需调用的程序功能块包。

表3 

从以上的表格中可以看到,软冗余系统当中可以采用MPI、PROFIBUS、Ethernet三种网络实现主系统和备用系统之间的数据同步(Redundant-backup link)。

采用BSEND_400包中的功能块进行数据同步时,无论数据同步的连接是什么方式,都需要在STEP7的NETPRO窗口中组态一个 S7 Connection。

除了BSEND_400中之外,使用其他功能库中的程序块:
• 采用MPI网络时,直接使用PLC的编程口进行数据同步,不需要进行连接(Connection)的组态,但MPI数据同步的效率低。
• 采用PROFIBUS网络时,需要使用一对CP通讯卡(CP342-5或CP443-5),在STEP7的NETPRO窗口中组态主系统和备用系统之间的FDL连接。
• 采用Ethernet网络时,需要使用一对CP通讯卡(CP343-1或CP443-1),在NETPRO窗口中组态主系统和备用系统之间的ISO连接。

冗余功能块说明:

表4

注:
1。采用PROFIBUS或Ethernet方式进行数据同步时,需要在OB100当中调用FB101,而FB101内部调用了FB104、FC5、FC6,所以您必须手动地将FB104、FC5、FC6插入到项目当中,插入的方法是:在程序中调用一次,再将这条语句删掉。
2.在OB100中调用FC100功能块时,PLC会自动创建一些与FC100参数相关的程序段和数据块,所以当你更改了FC100的参数时,应该对PLC进行Reset操作,再重新下载项目的软硬件到PLC当中。





MadforG

  • 精华:5帖
  • 求助:0帖
  • 帖子:126帖 | 1053回
  • 年度积分:0
  • 历史总积分:7185
  • 注册:2010年7月01日
发表于:2011-05-09 19:32:13
29楼
II.创建一个应用实例:
附件中我们给出了一个例子项目,由两套315-2DP和一个ET200M从站组成,系统结构如下:

图6

除了实现冗余功能的3条PROFIBUS网络外,还有一条MPI网络用于上位机监视和控制程序的调试。

以下是生成该例子程序的步骤,您可以根据您系统的配置情况进行参照:
1. 插入两个S7-300的站,A 和 B ,在A站和B站的硬件组态窗口中,插入315-2DP时,要分别创建相互独立的PROFIBUS网络(如 A站为Master_Line、B站为Reserve_Line),使用网络的默认参数,速率为1.5M,并都将站地址设定为2,A站和B站的PROFIBUS DP集成通讯口设定为主站模式.masterMode)。
2. 分别在A、B站中插入CP342-5模块,连接到同一个PROFIBUS网络上(Sychronization_Line),地址分别为4、5,将CP342-5设定为No DP方式,并记录CP342-5的硬件地址256。
3. 分别在A、B站的硬件组态窗口中插入一个ET200从站(一个IM153-2模块和一个16入/16出的数字量模板),DP的地址为3。
4. 进入STEP7的网络组态窗口NETPRO中,选中A站的CPU点击鼠标右键,插入一个新的链接,选择FDL Connection,点击Apply,弹出链接属性窗口,记录链接的ID,设定LSAP为17,18,存盘编译网络组态。系统的网络结构如下:

图7

以上网络结构中包括了4条链路:
 用于上位机编程和监控的MPI链路;
 A站与ET200从.masterLine PROFIBUS链路;
 B站与ET200从站Reserve Line PROFIBUS链路;
 A站和B站之间进行数据同步的Synchronization Line PROFIBUS链路。
您可以通过点击图中的状态读取按钮,获取当前FDL链接的状态,上图的左下角显示当前在线读取FDL的状态为OK。
5. 在A站的Block中插入OB1(主循环程序块)、OB35(定时中断组织块)、OB100(暖启动调用程序块)、OB80(在主系统与备用系统切换时间超时时,调用该块)、OB82 (DP-Slave ET200站上的IM153-2模块出错报警,调用该功能块)、OB83 (DP从站的接口模块与主站链接断开或链接重新建立时调用该块)、OB85(程序运行出错或DP从站连接失败调用该块)、OB86(主从站通讯出错调用该块)、OB87(通讯失败调用该块)、OB122(外围设备访问出错调用该块)、OB121等组织块,并对其中的OB100、OB35、OB86进行编程。
6. 在OB100中我们调用FC 100 ‘SWR_START’进行软冗余的初始化,有几个参数需要特别注意,LADDR应当和CP342-5的硬件地址相一致,例子程序为256,VERB_ID必须和你在NETPRO中创建的FDL链路的ID号一致,例子程序为1,DB_COM_NO为系统中未使用的数据块,建议仍采用DB5。
如下表格给出了FC100功能块参数的说明和例子,供您编程参考:

表5

7.一般我们建议您将您的非冗余程序段编写在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个部分,如下图所示:

图8

第一步(A)启动系统的冗余数据同步功能 
第二步(B)根据状态字判断是否为主系统,为主系统时才执行第三步,否则跳到第四步第三步(C)为冗余的程序段 
第四步(D)停止系统的冗余数据同步。
通过对OB35中的程序在线监控,得知当前冗余功能成功与否,如下图所示:

图9

 

MadforG

  • 精华:5帖
  • 求助:0帖
  • 帖子:126帖 | 1053回
  • 年度积分:0
  • 历史总积分:7185
  • 注册:2010年7月01日
发表于:2011-05-09 19:41:07
30楼
上图显示,FB101的返回值Return_VAL和Ext_INFO为0,说明冗余功能正常。
通过FB101的背景数据块中的状态字和控制字,您可以知道系统的运行的情况和当前哪个系统为主系统,哪个为备用系统,状态字的定义如下:

图10

您也可以通过写控制字中对应的位,起停备用系统与主系统之间的冗余通讯,也可以实现主系统与备用系统之间的手动切换:

图11

通过设定DB5.DBX10.0为1,实现主系统与备用系统的手动切换。
8.在OB86中调用诊断功能块FC 102 ‘SWR_DIAG’,当系统出现PROFIBUS总线错误时,该功能块返回诊断信息,供FB101使用。
9.插入FB101内部调用的FB104,FC5、FC6等功能块,将所有的程序块下载到PLC当中。
10.在组态软件WinCC中创建两个MPI链接,分别与主系统和备用系统进行链接,并生成对应的Tag变量,如下:

图12

编辑监控画面,分别读取A站和B站的状态字、控制字和冗余同步的数据,如下:

图13

从图13中的状态字可以看出,当前8号(A)站为主系统,7号(B)站为备用系统,它们与所有DP从站的通讯正常,冗余同步链接正常,我们在一个20ms触发的定时中断块OB35中编写了一个数据累加程序段,可以看出备用系统的同步数据比主系统的实时数据慢80ms(4个周期),其中控制字为0,您可以修改对应的位,激活或取消冗余功能。

这里我们同时给您提供一个通过以太网实现数据同步的例子程序,系统的实物图如下:

图14

程序块的内容与上面的例子相同,只是将OB100中FC100的VERB_ID参数的数值改为7,因为采用ISO方式时,ISO Connection ID号要大于2,我们这里则STEP7的NETPRO中组态了一个ID号为7的ISO链接,如下图:

                                                                                                            图15
同时可以在WinCC软件中创建TCP/IP链接,分别读取主系统和备用系统中的数据,如下图:

图16

与图13比较,我们可以发现在以太网方式下,数据同步的速度比PROFIBUS DP方式下快,备用系统的同步数据比主系统的实时数据慢40ms(2个周期)。



玻璃的心

  • 精华:30帖
  • 求助:2帖
  • 帖子:962帖 | 5801回
  • 年度积分:0
  • 历史总积分:61250
  • 注册:2010年6月11日
发表于:2011-05-10 19:13:21
31楼
一等奖1名,50MP获得者:
MadforG                MadforG


二等奖3名,10MP获得者:
彩虹                               纪强
cqu_rockwell              cqu_rockwell
花开_花落                    the_wise
龙唐西门道                  lifeng_1980
hjcan                             hjcan
zxjjynl                             zxjjynl
jingtao                           惊涛骇浪


三等奖:30积分:
自动化的初学者                  自动化的初学者
jiaoanpeng                          jiaoanpeng


baiduren2132

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 10回
  • 年度积分:0
  • 历史总积分:102
  • 注册:2014年2月27日
发表于:2014-02-27 19:18:57
32楼

回复内容:

对: 龙唐西门道  我介绍一下我正在做的一个项目用到的冗余系统,使用的是日... 内容的回复!


 能传个这个系统的试用版到2568886936@qq.com吗?

 


热门招聘
  • 客服
  • 小程序
  • 公众号
首页 上一页 1 2 下一页 尾页