西门子300PLC 软冗余的实现,详细步骤截图

合集下载

S7-300软冗余调试总结--WINCC组态(最新整理)

S7-300软冗余调试总结--WINCC组态(最新整理)
下边说如何实践冗余现实。首先在画面编辑器打开一个画面,在右边动态向导栏 (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 就是刚刚在 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 的软冗余》这个文档,里边有 介绍一个系统自带的手动切换冗余的模板,很方便。。。

S7-300 400 PLC 系统软件冗余调试的常见问题

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字节)。

软冗余调试

软冗余调试

调试步骤:安装软冗余软件包。

安装完成之后,在STEP7库中会出现以下几个功能块和功能。

从图中可以看到,300和400相对应的功能软件包,我们根据‘软冗余调试手册’的描述,选择应该用到的相应功能,在这里我们是用以太网的方式进行同步,故选用了以下的功能块:软件的网络组态如下图所示:在我们的程序中,主要对以下几个块进行编程:OB1,OB100步骤一:由于我们是需要对全部程序进行冗余,故在OB1的开头处编写如下程序,调用FB101FB101调用之后出现两段程序,分别放在程序开头和结尾处,此操作表示,在两段程序之间的程序块为冗余程序块。

它是如下判断的:如果判断此CPU为主CPU的时候,执行冗余程序段,如果不是,则直接跳到结尾处,即不执行冗余程序段。

设置好之后保存关闭,之后对OB100进行编程。

(冗余设置成功之后在线监视返回值是0.表示软冗余同步成功)步骤二:对OB100进行编程。

在OB100中调用FC100。

如下图所示:相应参数我们参照“软冗余操作手册”进行设置。

到此为止,编程的部分已经完成。

在调试过程中有几点需要注意:1、如果是采用以太网的方式进行同步,那么要在CP341中要选择ISO传输,并且相应的MAC地址要填写正确,此处不能用IP地址。

2、下载时需要CPU为STOP状态,在每次更改OB100的参数后都要选择在线删除CPU中的DB1,DB2,DB3(300的CPU必须用MPI连接方式进行删除,以太网的方式删除不掉),此地方必须注意。

如下图所示:3、在同步的DB块中每个DB块的长度不得小于4个字节,并且DB号必须连续,DB数据块的总大小小于8KB,(400的CPU是64KB),否则会报错(读写长度的错误),导致CPU停机。

4、软冗余所支持的定时器必须是IEC定时器,S5定时器是不支持软冗余的。

5、软冗余功能的实现需要一些其它的系统块支持,在安装完软冗余软件包后打开例子程序,将所有的块复制到自己的程序中按照手册再进行修改即可。

300软冗余总结

300软冗余总结

ORTHO XUCHAO1.IEC_NO//IEC_LEN,DB_NO//DB_NO_LEN,比如IEC实际只用2个DB10-DB11,但能不能先预留好位置,IEC_LEN填4?以后有再加2个的余地?----可以预留,但是不能留空。

比如说DB_NO从1开始,实际使用的DB1、DB2,DB_NO_LEN填4,那么DB3、DB4必须要存在,而DB3、DB4里面随便建立一行内容就行。

IEC同理。

2.MB_NO//MB_LEN理解1)如只用M0.0,M0.5,M1.0,M1.3,M2.0,那MB_NO=0,MB_LEN=3?即M0.0/0.5就算一个B?----一个容量为8个人的房间,住了一个人是占用这个房间,住2个人、8个人都同样是占用了这个房间。

这里的最低单位是MB,如*间的最低的单位是房间而不是床铺。

2)必须使用连续地址吗,这样用MW20//MW24//MW30可否?如可以,那MB_NO=20,MB_LEN=12?,或MB_LEN就填30,以后也可增加MD,M的使用?-----必须连续,你可以只使用MW20/MW30,但是从MW20到MW30这段区域的数据都会被同步。

预留是可以的,但是预留的多了,浪费资源。

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////作为一名S7PLC热线工程师,面对众多类型的问题,软冗余无疑最“漫长”或者说最“困难”的问题之一。

究其原因,主要出自两个:1.配置过程和实现过程“复杂”,很多初次接触的工程师较难入手。

2.有很多“隐蔽”的知识点,如果在实现软冗余过程中没有注意到,会出现形形色色的奇怪问题。

为了能给正在使用或者将来要使用软冗余的工程师一点帮助,现在结合热线上出现的常见问题和难点,与大家分享一下:1.什么是软冗余?需要什么呢?软冗余:顾名思义用软件编程的方式实现PLC的冗余,PLC之间需要通过MPI接口(CPU上有)或者通过以太网、PROFIBUS同步当前数据。

西门子软冗余指南

西门子软冗余指南

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接口模块的整体切换。

实验报告-S7-300软冗余

实验报告-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中,初始化两个站,如:外围输出区、位内存地址区、数据块区、静态数据块区;区域必须连续设置;需设置三个数据块用于存储内部数据)。

S7300软冗余指南

S7300软冗余指南

PLC系统软件冗余的说明与实现朱震忠SIEMENS A&D CS2004-04-06首先我们建议您访问siemens A&D公司的技术支持网站:www4.ad.siemens.de您可以在该网站的检索窗口中键入Hot Swap关键字,获取相关信息:图1如上图所示,第一步在IE浏览器中输入www4.ad.siemens.de路径,第二步选择English页面,第三步在搜索框中输入您产品或问题的关键字(英文),第四步用鼠标点击Search键;软件冗余基本信息介绍软件冗余是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控制系统组成。

PLC软冗余系统软硬件组成及实现原理

PLC软冗余系统软硬件组成及实现原理

PLC软冗余系统软硬件组成及实现原理在工业自动化系统中,为了使系统长期稳定可靠地运行,大量选用可编程逻辑控制器(PLC)作为控制器,甚至在此基础上组建冗余系统进一步提高系统的可靠性。

冗余的分类方式很多。

目前,采用的PLC 冗余方式分为2 种,即软冗余和硬冗余。

西门子公司在这2 方面均给出了解决方案。

基于S7-400H 的硬冗余的可靠性高,但构建系统成本也较高。

而基于S7-300 或S7-400 的软冗余是一种综合考虑提高可靠性和降低成本的折中方案。

目前,软冗余系统已经在污水处理、冶金、化工等控制工程中得到了普遍应用。

但目前对于软冗余的性能,仍缺乏系统的研究。

文中首先叙述西门子PLC 软冗余系统的实现原理,然后重点分析主备切换时间和数据同步时间,以便为类似控制系统设计提供参考依据。

1、软冗余实现原理典型的PLC 软冗余系统组成案例如图1 所示。

图1 典型的PLC 软冗余系统组成在系统运行时2 个CPU 均启动,但只有主CPU 执行控制命令,备用CPU 检测主CPU 状态,时刻准备接替主CPU 继续工作。

与主CPU 通信的IMl 53—2 模块处于激活状态使主CPU 能访问I/0 模块。

当系统发生特定故障时,系统可以实现主备切换,备站接替主站继续运行。

这些故障包括:主机架电源、背板总线等故障;CPU 故障;Profibus 现场总线网络故障;ET200M 站的通信接口模块IMl53 故障。

PLC 软冗余系统要实现软冗余功能,需要存程序中调用冗余软件包的功能模块,其主要包括:初始化冗余系统运行参数的FCl00 模块;故障诊断、主备切换的FCl02 模块;发送/接收数据的FBl03 模块;调用FBl03 进行数据同步、分析系统状态的FBl01 模块。

带有冗余功能的程序结构见图2。

图2 带有冗余功能的程序结构。

S7-300软冗余调试总结

S7-300软冗余调试总结

S7-300软冗余调试总结概述:本系统2个315-2DP CPU通过CP343-1连接到以太网交换机实现冗余链路,用DP 通讯的IM153-2冗余套件实现ET200M的冗余通讯,CP1612SIEMENS以太网卡连接到交换机实现WINCC与冗余系统的通讯(据说可以直接用计算机网卡实现)。

F面介绍我整理后的实现过程:硬件配置:先添加两个站A站和B站,每个站单独进行配置,硬件配置完后,需要增加一个冗余连接,这需要打开"网络配置”(con figure network),在里边右击A站CPU(B站也行)会出现菜单,选择"添加新连接”(in sert new conn ection),如果两个站都配置过,这是就会出现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参数要用到,-Local EndpiOiTtf这样就建立了一个新的连接,在界面的下方能看到一个连接出现,另外需要注意的是如果用 DP 冗余I/O 那么ET200M 必须两个站里都要做,而且要一模一样,DP 地址也一样。

另一个需要注意的是输出地址必须连续,这个一般的时候如 果有模拟量数字量混合的话,容易不连续,需要修改一下,改成连续的,比如我这里 Q 改为0~9,这个在后边FC100设置也要用。

S7 300 软冗余的原理和配置

S7 300 软冗余的原理和配置
持软冗余功能,所有的 S7-400 都支持软冗余功能;
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

s7-300软冗余手册

s7-300软冗余手册

S7-300的软冗余要求从站必须通过有源底板连接。

从站的所有模块需要确保没有故障,即SF灯不亮尤其是通讯模块。

S7-300的软冗余分为三种方式:MPI ,DP ,以太网。

三种冗余方式的通讯速度不同,以太网通讯速度最快,DP通讯速度次之,MPI通讯速度最慢。

不同的通讯方式选择的功能块不相同,具体功能块的选择如图1所示:S7-300的块薮期包图1下面以以太网冗余为例,简述冗余过程:(一)插入两个S7-300 的站,SIMATIC 300(A)和SIMATIC 300(B)。

(二)设置A站的IP地址为192.168.0.10 ,B站的地址为192.168.0.20 。

(三)在A站的块中插入0B100 0B350B8组织块,并对其中的0B100 0B35 OB86进行编程。

(四)在组态网络中新建ISO-ON-TC链接。

要求ID号要大于2且主从站的ID 号一致。

MPI主站设置如左图所示步骤, 从站不需要再次设定但需 要在从站中给该从站的通 讯ID 号与主站相同且大于2。

图例设置为0007(五) 在OB10(中我们调用FC1O0 SWR_START 进行软冗余的初始化FC100 SWR STA 的各个引脚的注释请参照最后的附录调用FC10啲位置如图鬥."irg 二工说编程和欽据益控Ma5ter_Line-F'门二!~l I 、境押ET20<m 站的 PROF I BUSS gSync h ronizati on^Bus fndustrial EthernetReserve LinePROFIBUS E 站和 ET200 从站的 PROFIBUSK^鎰體蛊申ZF 」4J I .塹瞬冋也屈.眄典机晖过I OCi 中 FC 100块 中的 YEEE_IE 零数一致, 舍前诗宿为T MasterIHDDPCP 343"1IM 153^2. RedundantReserveCP^J ;DF 31^2 : DP :IM 153-2, Redundant----------------------Local ID Partner IDPartnerType |Acnve [subnet 0007A05O 0007 A050Reserve/CPU 315-2 DP lSO-cn-TCP c-onnectlon Yes Syncihroniza«lon_Bus (IE]7握 LAD/STMFeO ” 106100 * 'OOMPLETf RESTART 1 -口那旧 祸罔 A ?.'I ) nc 澹衣㈣㈣□ D ^^HIS -: 0* : 址:B **◎ Ml*Ft- • Star ddf J Libr 冲5-电k 札eduiicrit 10 CG& V4D B 猶 K-eduhtfinft 10 MG^ Vil kL •札edgtrri : !□匸"殆】 』橹 SI ;IVlArK :_NET_CP 4f CP 3tPi 占桂 SWi_L[B_V12 | 11 丹?WR_KSJENC_«D i 申 勿 WR.KSJEND.aOO :il 勿SW 町冷⑷严i i t| 冋 SWfLA^SFNDjilM ;力 id SWPLA.G5FNDJD0O FB101 5WRJVK SWRED O 5WR^S_COM 尸曲口 OO FC102 5WR.EMAG SWREDR ◎ Mod bus 4It!Ikv,1? ^Til J SW. RFn图中2填写对方的地址,MPI_ADR 表示对方的MPI 地址,LADDR 表示CP 通讯 处理器组态的硬件地址,采用PROFIBU 或Ethernet 网络进行数据同步时才有意 义,默认FC1OO 时 R.STk 7V^FP皿L 卞阳L5TAET#AG KFWMTTMGHR wriPTC 加=TiR1DB_SEND_JIO -DB2 CB_RC¥_N0 =I )B3 WPT iTiR =?LADDR =256VERB_ID =7 CP_MA£TEK_SYS_ID 二 1 「口 cc ・ ua ----- —T ■口DP_KOM1OT =1 J1DR_MODUS =1pon FTP CTST-107PC 100MB_LEN 1=4 IEC_N0 :=40 IEC-LEM :=5 DB 五:=20DB H0 LEN: = lb呢 T AWP MH * = ^ SLAVE _LE11 :=2■nr AE NTbMTe7-1 a ■! 1 ■ ■ 卜丄 J* 1』DB A B NO;=JB46 DB A D NO LEN:=T#16fO:^B46DB_B 」JQ_LENRETORN_VAL ;=W1QEXT INFO:=JW4*>123 45图中1表示为当前CPU 的站号, A 站写A , B 站写Bo值为256不需要更改。

西门子300PLC 软冗余的实现,详细步骤截图

西门子300PLC 软冗余的实现,详细步骤截图

西门子300PLC 软冗余的实现,详细步骤截图主要硬件:(注意冗余要采用有源背板、有源导轨)315-2DPSM321PLC主CPU6ES7 315-2AH14-0AB0PLC输入模块6ES7 321-1BL00-0AA0PLC输出模块6ES7 322-1BL00-0AA0PLC模拟量输入模块6ES7 331-7KF02-0AB0网络模块6GK7 343-1EX30-0XE02432DI32DOAI 8ET200M冗余包(6ES7153-2AR03-0XA0)包括两个IM153-2HF(-2BA02)和一块im/im 6es7 195-7hd10-0xa0ET200M冗余包6ES7 153-2AR03-0XA0)1背板,PROFIBUS DP 90º电缆出线(6ES7 9720BA120XA0),集成终端电阻,9针Sub-D插座,不支持快速连接,没有编程端口。

SM322SM 331CP343-1322本控制柜采用2个315-2DPCPU通过CP343-1连接到以太网交换机实现冗余链路,用DP通讯的IM153-2冗余套件实现ET200M的冗余通讯。

硬件配置:添加两个300站点:a和b,然后分别配置两个站的硬件:1.打开a站。

2.从硬件目录选择机架3.打开a站机架,插上电源,插上cpu315-2dp,新建一个dp网络,dp地址为8,如下图所示:4。

插入dp地址为3的et200从站。

5.插入CP343-1,新建Ethernet(1)网络6et200从站增加i/o模块,硬件配置完成。

冗余的输出地址为0-11,后面设置FC100要用到。

7两个站的硬件组态要一致。

8.添加网络连接右键点击a站的cpu(b)(哔哩哔哩就可以)菜单就会出现。

选择“插入新连接”和“连接类型”。

我会用以太网iso-tcp协议实现冗余。

单击确定。

出现如下画面,在后面用id: 7和laddr十六进制100,即十进制256来设置fc100。

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

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 软冗余程序结构首先启动系统冗余数据同步功能,根据状态字判断是否为主控制器,是否需要执行冗余程序段,若为主控制器执行冗余程序段,否则停止系统冗余程序段。

XXX300PLC 软冗余的实现,详细步骤截图

XXX300PLC 软冗余的实现,详细步骤截图

XXX300PLC 软冗余的实现,详细步骤截图This control。

is equipped with two 315-2DP CPUs connected to an。

switch via CP343-1 to achieve ndant links。

The IM153-2 XXX hardware n includes:315-2DP CPUSM321 PLC main CPU6ES7 315-2AH14-0AB0 PLC input module6ES7 321-1BL00-0AA0 PLC output module6ES7 322-1BL00-0AA0 PLC analog input module6ES7 331-7KF02-0AB0 ork module6GK7 343-1EX30-0XE0 (2x) 4-32DI/32DO/AI8 ET200M ndant package (6ES7 153-2AR03-0XA0) with one backplane and one IM/IM 6ES7 195-7HD10-0XA0PROFIBUS DP 90º cable (6ES7 9720BA120XA0) with integrated terminal resistor and 9-pin Sub-D socket。

no support for quick n。

and no programming portSM322 and SM331To configure the hardware。

follow these steps:1.XXX.2.Select a rack from the hardware catalog.3.Open the rack of n A。

insert the power supply。

insert the CPU315-2DP。

and create a new DP ork with DP address 8 as shown in the figure.4.Insert the ET200 slave n with DP address 3.5.Insert CP343-1 and create an。

软冗余的原理西门子plc

软冗余的原理西门子plc

软冗余的原理 - 西门子plcA站和B站分别通过2个IM153-2把握DP从站上的IO,不明白2个接口是如何协调把握输出(输出都在DP从站上)e.g.Q0.0~Q0.3设定为FC100'SWR_START'中的冗余映射,A站为主站1.假如A站写Q0.0为1,B站在冗余程序FB101‘SWR_ZYK’外(不被跳过),写Q0.0为0,实际输出为啥?2.假如A站写Q0.5为1,B站在冗余程序FB101‘SWR_ZYK’外(不被跳过),写Q0.5为0,实际输出为啥?答:原理:在软冗余系统进行工作时,主、备把握系统(处理器,通讯、I/O)独立运行,由主系统的plc把握对冗余部分ET200M从站中的I/O把握权,主、备系统通过软冗余专用程序进行数据同步。

PLC程序由非冗余(non-duplicated)用户程序段和冗余(redundantbackup)用户程序段组成,主系统PLC执行全部的用户程序,备用系统PLC通过推断冗余状态跳过冗余程序,只执行非冗余用户程序。

当主系统中的组件发生故障,备用系统会自动切换为主系统,执行冗余程序,把握任务不会消灭中断。

1.假如A站写Q0.0为1,B站在冗余程序FB101‘SWR_ZYK’外(不被跳过),写Q0.0为0,实际输出为啥?B系统冗余程序不被跳过,只有在A系统组件发生故障时,备用系统会自动切换为主系统,执行冗余程序,假如A系统正常,则B系统PLC通过推断冗余状态跳过冗余程序。

所以,实际输出为0。

2.假如A站写Q0.5为1,B站在冗余程序FB101‘SWR_ZYK’外(不被跳过),写Q0.5为0,实际输出为啥?B系统冗余程序不被跳过,只有在A系统组件发生故障时,备用系统会自动切换为主系统,执行冗余程序,假如A系统正常,则B系统PLC通过推断冗余状态跳过冗余程序。

所以,实际输出为0。

西门子300软冗余硬件配置

西门子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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

主要硬件:(注意冗余要采用有源背板、有源导轨)讯的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复制到项目里。

4.把冗余需要的数据块、定时器个数及中间变量计算好。

数据块号及地址必须是连续的。

5.插入背景数据块DB200-DB240,共41个数据块,作为IEC定时器6.插入DB20-DB25共6个数据块作为冗余数据块。

7.MB20-MB74 , 55个字节。

8.插入OB359.插入OB8610.插入OB8211.插入OB10012.插入OB12113.插入OB12214.在OB100里调用,用于初始化冗余在OB100中调用FC100“SWR_START”,用于初始化冗余,再在OB35中调用FB101“SWR_ZYK”来实现冗余程序和数据的同步,然后再OB86中调用FC102“SWR_DIAG”进行诊断,这个诊断调用一定要有。

15.在OB100中调用FC100“SWR_START”。

FC100的参数设置相当复杂,而且基本上出现问题都出在这里。

参数设置:AG_KENNUNG:这个参数是确定A、B站的,如果是A站程序,就写入“A”,B站的程序就写入“B”。

DB_WORK_NO:这里需要填入一个DB号,填“DB1”,而这个DB1将来不需要手动生成,FC100会自动生成。

这个DB是实现冗余过程内部需要的数据块。

DB_SEND_NO:同上填入一个DB号,如“DB2”,同样是FC100自动生成,不需要手动生成。

DB_RCV_NO:同上填入一个DB号,如“DB3”,同样是FC100自动生成,不需要手动生成。

MPI_ADR:这个参数是对方站的MPI地址,只有用MPI方式同步的时候才有意义。

使用以太网同步,还是按照实际的写上了。

以免出错。

LADDR:CP通讯处理器组态时的硬件地址,采用DP或者以太网通讯时才用。

这个地址就是前边硬件配置中插入冗余连接的时候出现的地址LADDR 十六进制0100,或者是十进制256。

VERB_ID:这个就是我们组态硬件是,插入的冗余连接的那个ID号,被我从0001 A050改为了0007 A050,所以ID变成了7,这里就填7。

DP_MASTER_SYS_ID:这个是DP主站网络的ID号,不是DP地址号,只要在硬件组态中,双击DP线,就可以出现这个号码,如下图,这里填1。

DB_COM_NO:这个是调用FB101的时候使用的FB101的背景数据块,一般默认是DB5,等调用FB101的时候只能用这里填写DB5.DB_KOMMUN:这个参数是连接ET200M的DP通讯口类型,如果是CPU集成的DP通讯口连接ET200M就填“1”,如果是CP通讯卡上的DP口连接ET200M填“2”。

ADR_MODUS:CPU分配I/O地址的矩阵的增量,不同CPU的地址矩阵不同。

选项是两个1:对于基本地址0,1,2,3,4……4:对于基本地址0,4,8,12….我是没看懂,填了“1”。

PAA_FIRST:冗余ET200M的第一个输出字节地址,按前边硬件配置,“0”。

PAA_LAST:冗余ET200M的最后一个输出字节地址,按前边硬件配置,“11”。

MB_NO:冗余程序需要的内存变量地址区的起始地址,按前边提到的,“20”。

MB_LEN:需要的内存变量区长度,以BYTE为单位,“55”。

IEC_NO:冗余的IEC定时器、IEC计数器,所使用的背景数据块的起始地址。

我用5个定时器,起始地址用DB200,这里只要填“200”就可以。

IEC_LEN:冗余的IEC定时器、IEC计数器的背景数据块的个数,填“41”。

这里的41个背景数据块,会在调用IEC定时器时需要填写,按照前面建的数据块的DB200-DB240不能随便写。

DB_NO:冗余数据块的起始数据块,按前边说明,我填“20”,只填数字。

这里的数据块不能小于两个字节,我插入数据块后随便在里面写INT 变量,使它不小于两个字节就行了,不然会出错。

DB_NO_LEN:这里是填一共用了几个数据块,填“6”。

SLAVE_NO:冗余部分IM153的最低DP地址号,我的IM153设置为3,且只有一个,所以填“3”。

SLAVE_LEN:只有一个冗余DP从站,填“1”。

SLAVE_DISTANCE:IM153-2的PROFIBUS地址设置的标识符,如果两个PROFIBUS接口地址一样,则填“1”,如果不同(即分别为n和n+1)则填“2”。

DB_A_B_NO:将非冗余数据从A站传送到B站,所用的发送数据DB。

将那些需要传输的数据都直接或者间接存到这个DB里,系统会自己传送。

DB_A_B_NO_LEN:上边选择的非冗余数据交换DB的数据量,就是字节数,A,B站这个参数必须一样,否则CPU停机。

没有用到写0DB_B_A_NO:同上,这个是从B站传到A站的DB(见过例程里边有A->B,和B->A用同一个DB的,我也用了一个,没出问题。

主要是我没有互相传送的数据,不知道有数据的时候是什么样,估计只要两个站一样应该没问题。

)DB_B_A_NO_LEN:同上,没有用到写0RETURN_VAL:调用FC100的返回值。

EXT_INFO:FC100内部调用其他子块的返回值CALL "SWR_START"AG_KENNUNG :='A'DB_WORK_NO :=DB1DB_SEND_NO :=DB2DB_RCV_NO :=DB3MPI_ADR :=7LADDR :=256VERB_ID :=7DP_MASTER_SYS_ID:=1DB_COM_NO :=DB5DP_KOMMUN :=1ADR_MODUS :=1PAA_FIRST :=0PAA_LAST :=11MB_NO :=20MB_LEN :=55IEC_NO :=200IEC_LEN :=41DB_NO :=20DB_NO_LEN :=6SLAVE_NO :=3SLAVE_LEN :=1SLAVE_DISTANCE :=1DB_A_B_NO :=DB11DB_A_B_NO_LEN :=W#16#0DB_B_A_NO :=DB12DB_B_A_NO_LEN :=W#16#0RETURN_VAL :=MW2EXT_INFO :=MW4下一步在OB35中调用FB101“SWR_ZYK”来实现冗余程序和数据的同步。

CALL "SWR_ZYK" , DB5DB_WORK_NO :=DB1CALL_POSITION:=TRUERETURN_VAL :=MW6EXT_INFO :=MW8A DB5.DBX 9.1JC OVERCALL “冗余程序”OVER: CALL "SWR_ZYK" , DB5DB_WORK_NO :=DB1CALL_POSITION:=FALSERETURN_VAL :=MW10EXT_INFO :=MW12然后再OB86中调用FC102“SWR_DIAG”进行诊断,这个诊断调用一定要有。

CALL "SWR_DIAG"DB_WORK :=1OB86_EV_CLASS:=#OB86_EV_CLASSOB86_FLT_ID :=#OB86_FLT_IDRETURN_VAL :=MW14软件设置和硬件设置一定要按照以上顺序进行设置,要先将用到的数据块复制到程序里,然后进行OB100 OB35 等的设置和编写,否则会出错。

另外,因为OB100为初始化程序块,用到的数据块在初始化的时候生成,在调试过程中若是更改了OB100 里的参数,进行程序下载时,一定要先将PLC 停机,在线删除PLC里的程序块和数据块,将PLC 复位后,再进行下载。

停机:PLC ---诊断、设置—工作模式复位:PLC ---诊断、设置—清除复位。

相关文档
最新文档