西门子软冗余总结问题现场出现的问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软冗余问题
总结:罗龙
问题一.西门子软冗余故障
首先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 加载到程序。
问题一:冗余的“ACT”指示灯
我们一起来看一个现象,如图1所示,此时冗余系统A为主站,B为备用站,通过状态字可以看到此时冗余系统正常,CPU停止/运行测试,状态字也可以切换,ET200M 状态如下图。
此时,如果人为模拟DP总线故障(比如拔掉一侧的电缆),我们首先来看ET200M的状态,如下图
可以看到,“ACT”的灯顺利的切到了B站,此时给人的印象就是当DP出现故障时系统能够自动切换到了另一侧,调试大功告成了!可是,此时的现象恰恰是一种假象,我们来看此时系统的状态字,如下图,状态字并没有切换,仍然认为B是主站,所以此时硬件虽然
切换了,但是实际的控制并没有切换。此时冗余系统处于一种混乱的状态。
小结:
所以说,这就是OB86中的FC102的重要作用,见图5,DP网络的故障是通过FC102监测到的,如果一时粗心没有在OB86中调用它,那很自然就会出现上面那种问题!
问题一:同时需要检查DB5的尺寸是否正确
问题二:如果修改了FC100的参数,需要在线删除删除旧的DB块程序(FC100中使用的DB,如DB1,2,3,5等),在线可以通过单击下图按钮实现:
问题三:有源总线模模块
有源地板:6ES7 195-1GF30-0XA0
接口模块:6ES7 195-7HD10-0XA0