
西门子315CPU软冗余组ETS系统总结.pdf
10页西门子 315CPU 软冗余组 ETS 系统总结一.需要哪些硬件?两个S7-300 和/或 S7-400 站构成了硬件需求的核心,每个站都装配有CPU 并与DP 主站系统相连接 这两个站通过总线系统连接在一起,并可通过该总线进行数据交换I/O 设备则是通过两个DP 主站系统进行互连:一个DP 主站系统在A 站,另一个在B 站带有冗余DP 从站接口模块IM 153-2 的 ET 200M 分布式I/O 设备连接到DP 主站系统DP 从站接口模块可在发生故障时启用从第一个接口到第二个接口的失效转移,以将过程状态数据从第二个DP 主站转发到I/O网络组成 : 二.具有软冗余的系统是如何运行的?具有软冗余的系统具有下列特征:● 两个S7-300 和/或 S7-400 站通过总线系统链接在一起● 在两个站上都装载冗余用户程序● 这两个DP 主站系统与带有冗余DP 从站接口模块(如IM 153-2)的ET 200M 分布式 I/O 设备相连接● 集成了“软冗余”软件包中提供的块主机站和待机站上都装载软件的容错组件当主机CPU 正在处理程序组件时,待机CPU 则跳过这些程序待机CPU 跳过程序组件可以防止在两个程序组件中出现不一致,例如因报警、 不同周期时间等而导致的不一致。
这意味着待机站上的程序一直准备接管程序处理以2 块 315-2PN/DP, 2 块 CP343-2 为例组建软冗余三.软冗余中必须包含的块:在 OB100 中调用 FC100 时各个参数的意义:四.以 315CPU 为例组态一个软冗余项目本例为嘉峪关宏晟电热有限公司3#鼓风机组ETS 系统配置硬件如果要复制或修改项目模板中的硬件配置,请遵循如下操作:1. 创建有两个站的项目,例如A 站和B 站,然后打开站A2. 从硬件目录选择机架3. 打开A 站的机架,插入电源模块、CPU 315-2DP 和所需的中央I/O4. 打开第二个站,然后重复第2 步和第3 步5. 将 IM 153-2 拖放到DP 主站系统(“轨道”)中6. 插入ET 200M 的 I/O 设备7. 如果需要将多个ET 200M DP 从站连接到DP 主站系统,则请重复第5 步和第6 步8. 将整个DP 段复制到第二个DP 主站系统中两个站上的分布式I/O 设备组态必须一致为了防止不一致性,即便做了很微小的改动,也要将第一个站的整个DP 主站系统中的所有从站复制到第二个站的DP 主站通过选择编辑> 插入冗余副本来复制数据执行编辑> 插入冗余副本菜单命令,确保两个站上DP 从站上的I/O 地址保持一致。
组态网络如果要复制或修改项目模板中的网络组态,请遵循下列操作指令:软冗余系统应有什么样的网络?在具有软冗余的系统中,请注意区分两点:● 互连两个站的网络,也称为冗余链接网络两个站之间的数据可通过此网络进行交换●DP 主站系统和ET 200M 分布式I/O 设备都与PROFIBUS DP 网络相连接该站用这些网络与分布式I/O 设备通讯可在两个站之间进行数据交换的网络可以通过MPI 、PROFIBUS 或工业以太网在主机设备和待机设备之间交换数据在本实例中,使用通讯模块在PROFIBUS 网络上进行数据交换1. 创建PROFIBUS 网络2. 组态PROFIBUS 上 A 站的CP 连接并选择节点地址,例如PROFIBUS 地址33. 组态PROFIBUS 上 B 站的CP 连接并选择节点地址,例如PROFIBUS 地址4分布式I/O 设备的PROFIBUS DP 网络ET 200M 分布式I/O 设备具有两个DP 接口, 其中一个连接到A 站的DP 主站系统, 而 另一个连接到B 站的DP 主站系统请按如下步骤进行操作:1. 创建两个PROFIBUS DP 网络(用于两个DP 主站系统)。
2. 选择A 站上CPU 的 DP 连接,并将它连接到第一个PROFIBUS DP 网络中3. 选择B 站上CPU 的 DP 连接,并将它连接到第二个PROFIBUS DP 网络中4. 从硬件目录中选择IM 153-2 IM 153-2 位于PROFIBUS DP 下的 ET 200M 文件夹中组态连接如果要复制或修改项目模板中的连接组态,应该遵守下列操作指令:在项目模板中,选择带有FDL 连接的PROFIBUS 网络,以便在两个站之间进行数据交换如下所示,创建所需的逻辑连接:1. 从 SIMATIC 管理器切换到网络视图2. 选择视图> DP 从站,这样将在网络视图中显示DP 从站3. 在网络视图中,双击连接表结果:打开了定义连接的对话框4. 选择两个站,然后指定FDL 连接用户程序的结构以下总览列出必须调用软冗余块的位置点组态WinCC 连接必须组态到冗余系统的连接,这样才能将WinCC 站与自动化系统进行互连由于可以通过 WinCC 切换功能与B 站建立连接,因此只需组态操作站到A 站的一条连接1. 添加新驱动程序:打开“变量管理”(Tag Managemen) 目录并右键单击“添加新驱动程 序” (Add New Driver) 。
在“ C:\Programs\SIEMENS\WINCC\bin”目录中选择驱动程序2. 在“控制中心”内打开“SIMATIC S7 PROTOCOL SUITE”目录该目录位于“变量管理” (Tag management) 容器内3. 选择要在其中创建连接的文件夹,例如MPI 4. 右键单击该文件夹,然后插入一个新连接5. 选择插入的连接,然后为其指定一个名称,例如“SW_Redundancy” 6. 右键单击,然后从快捷菜单中选择“属性”(Properties)7. 输入要为其创建连接的站点的节点地址(建议:输入A 站的节点地址) 定义面板变量建议在创建操作站和站点之间的连接之后,定义面板变量请按如下步骤进行操作:1. 在“控制中心”内打开“结构类型”文件夹2. 右键单击,插入新的结构类型结果:将打开“结构属性”(Structure properties) 窗口3. 输入结构变量的名称,例如“SWR” 4. 单击“新建元件”(New element) 按钮,插入面板变量(4 个变量)5. 为每个变量指定相应的名称和数据类型6. 从“ SIMATIC S7 PROTOCOL SUITE”文件夹中选择先前插入的连接( “SW_Redundancy” ) 。
7. 右键单击该域,然后插入一个新变量8. 指定一个变量名(如“SWR_Test” ) ,然后选择数据类型“SWR” 9. 在“地址” (Addresses) 输入框中定义背景数据块的编号和结构变量的偏移量(偏移量是DW 8 ) 结果:现在面板已确定必须访问的状态字和控制位下边说如何实践冗余现实首先在画面编辑器打开一个画面,在右边动态 向导栏( dynamic wizard)里选择“建立冗余连接” (creat redundant connection ) , 出来对话框, 点“next” ,出现选择连接的窗口, 点一下上边所建的连接,“next” , 出现下面窗口这里 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.pas文件,其中的 SW 就是刚刚在 TCP/IP 协议项下建立的那个连接的名字打开这个文件,将编辑窗 口拉到最下边,将紫色部分代码复制添加到上下文相对应的位置 MSRTCreateMsg( ServiceID, } } } if ( ServiceID != 0 ) { MSRTStopMsgService ( ServiceID, } if ( GetTagDWordWait( “@sw@ConnectionState“ ) == 0 ) { SetTagDWord( “@sw@ForceConnectionState“, 1 ); } else { if ( GetTagBitWait( “SWR_wincc.Standby“ ) == TRUE ) { 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 的软冗余》 这个文档,里边有介绍一个系统自带的手动切换冗余的模板,很方便希望这个文档能对大家应用西门子软冗余有所帮助。
