s7300的冗余问题
PLC冗余
PLC冗余在工业自动化系统中大量选用可编程逻辑控制器(PLC)作为控制器,随着技术的发展又组建冗余系统进一步提高系统的可靠性,在高风险(包括金融风险、行政风险、管理风险以及危及生命安全的风险)行业应用比较广泛,如:金融领域、核安全领域、航空领域、煤矿等领域。
目前冗余的分类方式很多,而采用PLC冗余方式的有两种,即软冗余和硬亢余。
西门子公司在软、硬冗余两方面均给出了解决方案。
而基于硬冗余的可靠性高,但构建系统成本也较高。
而基于S7300或S7400的软冗余是一种成本低又能提高可靠性的方案。
目前,软冗余系统已经在冶金、交通、电力、化工、污水处理等工业控制工程中得到了较广泛的应用。
但是对于软冗余的性能仍没有进行系统的研究。
硬冗余系统的冗余结构确保了任何时候的系统可靠性,例如所有的重要部件都是冗余配置。
这包括了冗余的CPU、供电模件和用于冗余CPU通信的同步模块。
根据特定的自动化控制过程需要,还可以配置冗余客户服务器、冗余通讯介质、冗余接口模件IM153-2等。
S7-300只能实现软冗余(软件冗余),而不能实现像400那样实现硬件冗余。
软冗余的特点:1、软冗余需要专门的软件包;2、对于实现冗余功能的PLC,可以是300,也可以是400,或者300与400之间。
3、软冗余需要对两台PLC都需要编程,调用专门的功能块;4、软冗余的切换时间为秒级,即当一台PLC发生故障,要让备用的PLC来担当前一台PLC的任务这么一个过渡过程需要1S以上的时间。
因此软冗余不适用于对安全要求极高的场合。
5、软冗余的最大好处就是便宜;最大坏处就是实现麻烦。
软冗余和硬冗余的异同:共同点1、冗余功能相同,做到冗余的部分包括:电源模板、CPU、PROFIBUS-DP 网络2、结构差不多,都是利用PROFIBUS-DP网络,使用IM153-2实现信号模板的公用功能。
(利用IM153-2做网络切换)IM153-2是远程I/O接口模板,是ET200M系列产品,后面只能挂S7-300信号模板,这不影响使用,只要挂在DP网络下,无论是S7-300还是S7-400都能直接编程使用。
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的n个常见问题解答之二
S7-300的n个常见问题解答之二21:CPU全面复位后哪些设置会保留下来?复位CPU时,内存没有被完全删除。
整个主内存被完全删除了,但加载内存中数据,以及保存在Flash-EPROM存储卡(MC)或微存储卡(MMC)上的数据,则会全部保留下来。
除了加载内存以外,计时器(CPU 312 IFM除外)和诊断缓冲也被保留。
具有MPI接口或一个组合MPI/DP接口的CPU只在全部复位之前保留接口所采用的当前地址和波特率。
另一方面,另一个PROFIBUS地址也被完全删除,不能再访问。
重要事项:重新设置PG/PC之后,与CPU之间的通讯只能通过MPI或MPI/DP接口来建立。
22:为什么不能通过MPI在线访问CPU?如果在CPU上已经更改了MPI参数,请检查硬件配置。
可以将这些值与在"Set PG/PC interface"下的参数进行比较,看是否有不一致。
或者可以这样做:打开一个新的项目,创建一个新的硬件组态。
在CPU的MPI接口的属性中为地址和传送速度设置各自的值。
将"空"项目写入存储卡中。
把该存储卡插入到CPU 然后重新打开CPU 的电压,将位于存储卡上的设置传送到CPU。
现在已经传送了MPI 接口的当前设置,并且像这样的话,只要接口没有故障就可以建立连接。
这个方法适用于所有具有存储卡接口的S7-CPU。
23:错误OB的用途是什么?如果发生一个所描述的错误(见文件1),则将调用并处理相应OB。
如果没有加载该OB,则CPU进入STOP(例外:OB70、72、7 3和81)S7-CPU可以识别两类错误:1)同步错误:这些错误在处理特定操作的过程中被触发,并且可以归因于用户程序的特定部分。
2)异步错误:这些错误不能直接归因于运行中的程序。
这些错误包括优先级类的错误,自动化系统中的错误(故障模块)或者冗余的错误。
24:在DP从站或CPU315-2DP型主站里应该编程哪些“故障OBs”?在组态一个作为从站的CPU315-2DP站时,必须在STEP7程序中编程下列OB以便评估分布式I/O类型的错误信息:OB 82 诊断中断 OB 、OB 86 子机架故障 OB 、OB 122 I/O 访问出错1)诊断OB82:如果一个支持诊断,并且已经对其释放了诊断中断的模块识别出一个错误,它既对进入事件也对外出的事件向 CPU 发出一个诊断中断的请求。
s7300的冗余问题
s7300的冗余问题
对于西门子plc的冗余,参看过一些资料,s7400的是硬件就有冗余功能,支持热插拔;300的需要在软件上做冗余。
对于冗余没有多少概念,只是认为在plc出现故障时,能自动切换到另一套系统上,保证系统的正常运行。
那么:1、冗余是否就需要热插拔?2、300plc要做冗余需要哪些附件加入?(过一些做过冗余的人,说需要需要增加冗余基架底板等,请说明下!)3、软件上做冗余需要哪些工具?
有哪位做过的同仁能否提供个实例?
问题补充:
另外下在冗余系统中,s7300切换需要多少时间?据说s7400的冗余系统,在出现问题时能立即启动,真的没有时间差吗?
最佳答案
1、一般做的冗余都是cpu冗余,模块的冗余做的不多,是否支持热插拔,要看用的什么底板,普通底板是不能热插拔的。
有专门的热插拔底板,模块都是通过底板通讯的,拔掉中间一个,不影响后面的模块通讯。
2、300都是做软冗余,根据选择可以通过mpi通讯,一个cpu执行全部程序,另外一个cpu判断运行的cpu的状态,
如果它正常,则冗余的这个cpu只是执行扫描同步控制数据,但是不执行输出指令,当运行的cpu出现问题后,冗余的cpu 判断到出现故障后,执行所有的程序。
3、上位机需要冗余包,来实现连接不通的cpu。
4、切换时间为大于判断的一个扫描周期,比如100ms 判断1次,那么这个切换也就大于100ms(为200ms)
5、400h是硬件冗余,不是完全没有时间差,而是这个差非常小,可以忽略。
西门子 S7300一百问答
西门子 S7-300 PLC 从入门到精通的100个经典问题及解答31:使用CPU 315F和ET 200S时应如何避免出现“通讯故障”消息?使用CPU S7 315F,ET 200S以及故障安全DI/DO模块,那么您将调用OB35 的故障安全程序。
而且,您已经接受所有监控时间的默认设置值,并且愿意接收“通讯故障”消息。
OB 35 默认设置为100毫秒。
您已经将F I/O模块的F监控时间设定为100毫秒,因此至少每100毫秒要寻址一次I/O模块。
但是由于每100毫秒才调用一次OB 35,因此会发生通讯故障。
要确保OB35的扫描间隔和F监控时间有所差别,请确保F监控时间大于OB35的扫描间隔时间。
S7分布式安全系统,一直到V5.2 SP1 和6ES7138-4FA00-0AB0,6 ES7138-4FB00-0AB0,6ES7138-4CF00-0AB0 都会出现这个问题。
在新的模块中,F 监控时间设定为150毫秒.2:当DP从站不可用时,PROFIBUS上S7-300 CPU的监控时间是多少?使用CPU的PROFIBUS接口上的DP从站操作PROFIBUS网络时,希望在启动期间检查期望的组态与实际的组态是否匹配。
在CPU属性对话框中的Startup选项卡上给出了两个不同的时间。
3:如何判断电源或缓冲区出错,如:电池故障?如果电源(仅S7-400)或缓冲区中的一个错误触发一个事件,则CPU操作系统访问OB81。
错误纠正后,重新访问OB81。
电池故障情况下,如果电池检测中的BATT.INDIC开关是激活的,则S7-400仅访问OB81。
如果没有组态OB81,则CPU不会进入操作状态STOP。
如果OB81不可用,则当电源出错时,CPU仍保持运行。
4:为S7CPU上的I/O模块(集中式或者分布式的)分配地址时应当注意哪些问题?请注意,创建的数据区域(如一个双字)不能组态在过程映象的边界上,因为在该数据块中,只有边界下面的区域能够被读入过程映像,因此不可能从过程映像访问数据。
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 的软冗余》这个文档,里边有 介绍一个系统自带的手动切换冗余的模板,很方便。。。
西门子S7-300PLC从入门到精通的100个经典问题
西门⼦S7-300PLC从⼊门到精通的100个经典问题1:使⽤CPU 315F和ET 200S时应如何避免出现“通讯故障”消息?使⽤CPU S7 315F, ET 200S以及故障安全DI/DO模块,那么您将调⽤OB35 的故障安全程序。
⽽且,您已经接受所有监控时间的默认设置值,并且愿意接收“通讯故障”消息。
OB 35 默认设置为100毫秒。
您已经将F I/O模块的F监控时间设定为100毫秒,因此⾄少每100毫秒要寻址⼀次I/O模块。
但是由于每100毫秒才调⽤⼀次OB 35,因此会发⽣通讯故障。
要确保OB35的扫描间隔和F监控时间有所差别,请确保F监控时间⼤于OB35的扫描间隔时间。
S7分布式安全系统,⼀直到V5.2 SP1 和 6ES7138-4FA00-0AB0,6 ES7138-4FB00-0AB0,6ES7138-4CF00-0AB0 都会出现这个问题。
在新的模块中,F 监控时间设定为150毫秒.2:当DP从站不可⽤时,PROFIBUS上S7-300 CPU的监控时间是多少?使⽤CPU的PROFIBUS接⼝上的DP从站操作PROFIBUS⽹络时,希望在启动期间检查期望的组态与实际的组态是否匹配。
在 CPU属性对话框中的Startup选项卡上给出了两个不同的时间。
3:如何判断电源或缓冲区出错,如:电池故障?如果电源(仅S7-400)或缓冲区中的⼀个错误触发⼀个事件,则CPU操作系统访问OB81。
错误纠正后,重新访问OB81。
电池故障情况下,如果电池检测中的BATT.INDIC开关是激活的,则 S7-400仅访问OB81。
如果没有组态OB81,则CPU不会进⼊操作状态STOP。
如果OB81不可⽤,则当电源出错时,CPU仍保持运⾏。
4:为S7CPU上的I/O模块(集中式或者分布式的)分配地址时应当注意哪些问题?请注意,创建的数据区域(如⼀个双字)不能组态在过程映象的边界上,因为在该数据块中,只有边界下⾯的区域能够被读⼊过程映像,因此不可能从过程映像访问数据。
西门子软冗余总结问题现场出现的问题
软冗余问题总结:罗龙问题一.西门子软冗余故障首先OB35是循环中断组织块,通过循环中断组织块可以每隔一段预定的时间执行一次程序。
如在利用S7-300PLC进行电炉的PID温度控制中,就是在周期中断OB35中调用SFB41“CONT_C”(连续控制器)中,如果选择OB35默认间隔时间100毫秒,每100毫秒作一次PID运算。
你可以从西门子网站下载相关的文档循环中断组织块的间隔时间较短,最长为1min,最短为1ms,用户可以修改该时间(1---60000ms)。
在使用循环中断组织块时,应该保证设定的循环时间大于执行该程序块的时间,否则会产生循环中断错误,并调用OB80。
打开你的项目硬件组态界面,双击CPU,打开其属性对话框,选择“CyclicInterrupts”(循环中断)子项,选择OB35,在“Execution(ms)”(执行)中修改OB35的时间间隔。
问题二.DB5数据长度故障首先我们在 OB1 中调用功能块 FB101,并为其生成背景数据块 DB5,这时我们来看看背景数据块 DB5 的长度。
如图2所示,可见实际生成的 DB5 只有 100 个字节,正常的 DB5 长度应该为 358 个字节,DB5长度错误。
问题三.OB121报数据长度错误如果这时我们下载程序到 CPU 中,则 CPU SF 亮红灯,CPU 诊断缓冲区报写区域长度错误,如图下图所示。
如果实际中遇到了这种问题,可以先删除已经生成的错误的 DB5,然后在程序中加载好FB104 “SWR_AG_COM”后再重新为 FB101 生成一个新的背景数据块 DB5。
这时我们再查看 DB5 的块长度为 358 个字节,如图4所示,问题解决。
小结:回过头来分析一下问题的根源。
通过上面的解决办法我们不难发现,调用 FB101 并为其生成背景数据块之前必须先加载 FB104 这个功能块到程序中。
那么 FB101 与 FB104 之间是什么关系呢?通过查看FB101 的块属性,如图下图所示,可以看到在 FB101 中调用了 FB104,所以在调用 FB101 之前需要先将FB104 加载到程序。
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。
S7300常见的问题
S7300常见的问题101:我如何做到对自己的程序块进行加密保护?您能够通过STEP7软件的KNOW_HOW_PROTECT功能实现对您程序代码的加密保护。
如果您双击鼠标打开经过加密的程序块时,您只能看到该程序块的接口数据(即IN, OUT 和IN/OUT 等类型的参数)和注释信息,而程序块中的代码及代码的注释,临时/静态变量是不能被看到的。
同时您也无法对加密保护的程序块做出任何改动。
如何实现程序块保护:1.打开程序编辑窗口LAD/FBD/STL;2.将要进行加密保护的程序块生成转换为源代码文件(通过选择菜单File—>Generate source 生成);3.在LAD/FBD/STL 窗口中关闭您的程序块,并在SIMATICManager项目管理窗口的source文件夹中打开上一步所生成的source文件;4.在程序块的声明部分,TITLE行下面的一行中输入”KNOW_HOW_PROTECT”;5.存盘并编译该source文件(选择菜单FileàSave,FileàCompile);6.现在就完成了您程序块的加密保护;102:我如何做到对自己的程序块进行jie密?取消对程序块的加密保护1. 打开程序块的Source源文件;2. 删除文件中的KNOW_HOW_PROTECT;3. 存盘并编译该source文件;现在程序块的加密保护已经取消。
注意: 如果没有STL source 源文件,您是无法对已经加密的程序块进行编辑的103:在冗余电源配置中,电源模块掉电,调用那个OB可以防止CPU停机?通过在程序中添加OB83可以防止CPU停机而添加OB81不能防止CPU停机。
通常我们很容易以为OB81就是处理所有电源故障的OB块,但对于冗余电源配置中,某个电源模块掉电故障,实际上CPU当作模块插拔故障来处理,因此需调用OB83。
104:WinCC作为Modbus主站,进行浮点数读取时数据不正确是什么原因?WinCC作为Modbus主站,进行浮点数读取时,T ag的类型应当选为浮点数32位,注意地址偏移为32的整数倍+1(即33、65、97),如果采用选用Input Bits/Output Bits方式读写(Function Code 01,02),在PLC当中应当将一个字的高低8位进行对调。
S7300软冗余CPU选型问题请教
S7300软冗余CPU选型问题请教
现在手上项目软冗余多起来,原来都是用CPU315-2DP,但以太网方面技术支持说一定要配以太网模块,那种有软冗余功能并内置以太网的(比如说315-2PN/DN)之类的)是不能通过内置的以太网链路冗余,请问是否如此,这是问题一,还有就是我的I/O大部分是远程I/O,接到控制室主控柜里就十几个数字量和几个模拟量,再配两个ET200M有点浪费,请问是否314C-2DP那种集成I/O的CPU也能用于冗余吧,但如果我选最新的314C-2PN/DP(内置以太网和DP)是否实现不了冗余(不加以太网模块)??我的情况就是,需要冗余、需要以太网,CPU又要内置I/O,又最好不要再加以太网模块,貌似有点过分啊
最佳答案
1、至今我所了解的信息是PN的CPU不支持软冗余,可能这个信息以过时,有条件的网友可做一个实验。
如有新的信息网告知大家。
2、转帖典型问题:
问题11:CPU本体的PN口是否可以进行软冗余数据同步。
回答:不行,软件包提供的程序不针对PN口。
摘自:
SIEMENSPLC系统软件冗余调试的常见问题:
/download/Upload/AS/faq/F046 2.pdf。
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
S7300软冗余调试总结
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”进行诊断,那个诊断挪用必需得做。
S7300常见问题
2)操作模式转变以及其它对用户重要的操作事件
3)用户定义的诊断事件(用SFC52 WR_USMSG)
在操作模式STOP下,在诊断缓冲器中尽量少的存储事件,以便用户能够很容易在缓冲器中找到引起STOP的原因。因此,只有当事件要求用户产生一个响应(如计划系统内存复位,电池需要充电)或必须注册重要信息(如固件更新,站故障)时,才将条目存储在诊断缓冲器中。
两种类型的基本通信中,每次块调用可以处理最多 76 字节的用户数据。对于S7-300 CPU,数据传送的数据一致性是 8 个字节,对于S7-400 CPU则是全长。 如果连接到S7-200,必须考虑到S7-200只能用作一个被动站。
17:什么是自由分配 I/O 地址?
地址的自由分配意味着您可对每种模块(SM/FM/CP)自由的分配一个地址。地址分配在 STEP 7 里进行。先定义起始地址,该模块的其它地址以它为基准。
4:为S7 CPU上的I/O模块(集中式或者分布式的)分配地址时应当注意哪些问题?
请注意,创建的数据区域(如一个双字)不能组态在过程映象的边界上,因为在该数据块中,只有边界下面的区域能够被读入过程映像,因此不可能从过程映像访问数据。 因此,这些组态规则不支持这种情况:例如,在一个 256 字节输入的过程映像的 254 号地址上组态一个输入双字。 如果一定需要如此选址,则必须相应地调整过程映像的大小(在CPU的Properties中)。
重要事项:重新设置PG/PC之后,与CPU之间的通讯只能通过MPI或MPI/DP接口来建立。
22:为什么不能通过MPI在线访问CPU?
如果在CPU上已经更改了MPI参数,请检查硬件配置。可以将这些值与在"Set PG/PC interface"下的参数进行比较,看是否有不一致。
S7300常见问题
一、使用CPU315F和ET200S时应如何避免出现“通讯故障”消息使用CPUS7315F,ET200S以及故障安全DI/DO模块,那么您将调用OB35的故障安全程序。
而且,您已经接受所有监控时间的默认设置值,并且愿意接收“通讯故障”消息。
OB35默认设置为100毫秒。
您已经将FI/O模块的F监控时间设定为100毫秒,因此至少每100毫秒要寻址一次I/O模块。
但是由于每10 0毫秒才调用一次OB35,因此会发生通讯故障。
要确保OB35的扫描间隔和F 监控时间有所差别,请确保F监控时间大于OB35的扫描间隔时间。
S7分布式安全系统,一直到V5.2SP1和6ES7138-4FA00-0AB0,6ES7138-4 FB00-0AB0,6ES7138-4CF00-0AB0都会出现这个问题。
在新的模块中,F监控时间设定为150毫秒.二、当DP从站不可用时,PROFIBUS上S7-300CPU的监控时间是多少使用CPU的PROFIBUS接口上的DP从站操作PROFIBUS网络时,希望在启动期间检查期望的组态与实际的组态是否匹配。
在CPU属性对话框中的Startu p选项卡上给出了两个不同的时间。
三、如何判断电源或缓冲区出错,如、电池故障如果电源(仅S7-400)或缓冲区中的一个错误触发一个事件,则CPU操作系统访问OB81。
错误纠正后,重新访问OB81。
电池故障情况下,如果电池检测中的BATT.INDIC开关是激活的,则S7-400仅访问OB81。
如果没有组态OB8 1,则CPU不会进入操作状态STOP。
如果OB81不可用,则当电源出错时,C PU仍保持运行。
四、为S7CPU上的I/O模块(集中式或者分布式的)分配地址时应当注意哪些问题请注意,创建的数据区域(如一个双字)不能组态在过程映象的边界上,因为在该数据块中,只有边界下面的区域能够被读入过程映像,因此不可能从过程映像访问数据。
因此,这些组态规则不支持这种情况、例如,在一个256字节输入的过程映像的254号地址上组态一个输入双字。
S7300下挂et200从站软冗余系统调试总结
一 STEP内程序设置注意问题Step中程序大体按照西门子手册设置后需要特别注意以下几点1.冗余软件版本问题,注意版本必须新的否则不能支持最新的CPU。
2.DB数据块的使用问题用户需要手动创建的数据块为:冗余数据DB块(冗余数据同步),块和IEC计数器和IEC 定时器的背景数据块;在fc100参数设置时,两个数据块的长度必须和实际使用量一直。
特别注意的是DB块必须连续,并且使用了多少就创建多少数据块,在CPU内存中的DB 数据块不能多于实际使用的,否则CPU长时间报错(数据区写长度错误),主从站不能正常交换数据,两个CPU同时处于主站状态.背景数据块的的创建方法,1,引用相应功能块FB时,输入期望使用的数据块;2,右键创建将数据块类型选者为instance并且指定是那个数据块的背景。
冗余数据块的使用长度必须大于2个字,并且主备站间必须将所有用户自己创建的DB 块长度、大小设置完全一致。
3.因为每次在OB100中修改调用FC100 的参数,必须重新reset CPU及内存卡内数据,下载方式如下;首先用选中BLOCKES ,PLC下拉菜单(非右键)选择download user program to memory card,也可在线下载后手动删除所有DB块其次再次选中BLOCKS后选择PLC下拉菜单DOWNLOAD或者右键DOWNLOAD注:必须进行第二次下载否则CPU及通讯模块会出错,CPU无法正常进行冗余连接。
3.OB35冗余程序组织块中的程序末尾调用FB100是CALL POSITION参数必须设置为false,并且只能在STL语言环境下才能设置参数。
4.网络组态中因为存在两个ethernet网络所以必须在建立两个CPU的ISO on TCP连接时注意该连接的正确ethernet网络。
特别注意的是连个网络的网络号必须一致,按照冗余手册上介绍的冗余时local id必须大于2,子网必须是冗余数据同步网络名,而不能是os监控网络(数据冗余网络和监控网络是同一网络除外,即数据同步和上位机通讯为同一cp)上图中名为syn的网络为数据冗余同步网络,名为OS的网络为是用来和上位机通讯的网络。
s7300软冗余手册
S7-300的软冗余要求从站必需通过有源底板连接。
从站的所有模块需要确保没有故障,即SF 灯不亮尤其是通信模块。
S7-300的软冗余分为三种方式:MPI ,DP ,以太网。
三种冗余方式的通信速度不同,以太网通信速度最快,DP通信速度次之,MPI通信速度最慢。
不同的通信方式选择的功能块不相同,具体功能块的选择如图1所示:图1下面以以太网冗余为例,简述冗余进程:(一)插入两个S7-300的站,SIMATIC 300(A) 和SIMATIC 300(B)。
(二)设置A站的IP地址为,B站的地址为。
(三)在A站的块中插入OB100、OB35、OB86组织块,并对其中的OB100、OB35、OB86进行编程。
(四)在组态网络中新建ISO-ON-TCP链接。
要求ID号要大于2且主从站的ID号一致。
上图为最终成效图,以下图为进程主站设置如左图所示步骤,从站不需要再次设定但需要在从站中给该从站的通讯ID号与主站相同且大于2。
,图例设置为0007(五)在OB100中咱们挪用FC100’SWR_START’进行软冗余的初始化。
FC100’SWR_START的各个引脚的注释请参照最后的附录挪用FC100的位置如图12345图中1表示为当前CPU的站号,A站写A,B站写B。
图中2填写对方的地址,MPI_ADR表示对方的MPI地址,LADDR表示CP通信处置器组态的硬件地址,采纳PROFIBUS或Ethernet网络进行数据同步时才故意义,默许值为256不需要更改。
VERB_ID表示网络链接的ID号,在NETPRO窗口中组态的链接的ID值,如FDLConnection、ISO Connection或S7 Connection。
数值要大于2。
DP_MASTER_SYS_ID表示DP主站网络的ID号,你能够在硬件组态中双击链接ET200M从站紫色的PROFIBUS主从网双击络,获取该ID 值。
图中3填写输出模块(DO..AO)总的起始地址和最终地址。
modbus 冗余问题
modbus 冗余问题
s7300或400能不能实现cpu不冗余,modbus(485)冗余?如果能应该怎么实现?
问题补充:
2块cp341应该怎么连呢?我试一下直接挂在300cpu后面,可是没有找到设置的入口。
是不是不需要设置就可以直接与dcs的冗余modbus接口连接?
最佳答案
1、在cpu不是冗余系统的情况下,可以根据需要提供多个modbus接口供系统需要,从结构上看是双路径甚至是多路径通讯的,但因cpu非冗余,故也不能称之为冗余结构。
、s7-300:
所需订货:1×cp341和单一授权(master)
附加订货:1×cp341和单一授权(master)
、s7-400:
所需订货:1×cp441-2,1×接口模块和单一授权
附加订货:1×cp441-2,1×接口模块和单一授权
2、配置结构详见上传的图片。
图片说明:1,作为modbus主站,提供两个(在cpu允
许范围内,可以更多)接口。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
s7300的冗余问题
对于西门子plc的冗余,参看过一些资料,s7400的是硬件就有冗余功能,支持热插拔;300的需要在软件上做冗余。
对于冗余没有多少概念,只是认为在plc出现故障时,能自动切换到另一套系统上,保证系统的正常运行。
那么:1、冗余是否就需要热插拔?2、300plc要做冗余需要哪些附件加入?(过一些做过冗余的人,说需要需要增加冗余基架底板等,请说明下!)3、软件上做冗余需要哪些工具?
有哪位做过的同仁能否提供个实例?
问题补充:
另外下在冗余系统中,s7300切换需要多少时间?据说s7400的冗余系统,在出现问题时能立即启动,真的没有时间差吗?
最佳答案
1、一般做的冗余都是cpu冗余,模块的冗余做的不多,是否支持热插拔,要看用的什么底板,普通底板是不能热插拔的。
有专门的热插拔底板,模块都是通过底板通讯的,拔掉中间一个,不影响后面的模块通讯。
2、300都是做软冗余,根据选择可以通过mpi通讯,一个cpu执行全部程序,另外一个cpu判断运行的cpu的状态,
如果它正常,则冗余的这个cpu只是执行扫描同步控制数据,但是不执行输出指令,当运行的cpu出现问题后,冗余的cpu 判断到出现故障后,执行所有的程序。
3、上位机需要冗余包,来实现连接不通的cpu。
4、切换时间为大于判断的一个扫描周期,比如100ms 判断1次,那么这个切换也就大于100ms(为200ms)
5、400h是硬件冗余,不是完全没有时间差,而是这个差非常小,可以忽略。