发布于 2008-08-23 16:07:35
0楼
上面问题,检查线路发现接线有问题。改正后单cpu能够运行了:)。
但又出现了新问题:
1、有一组冗余AO诊断出错,和没有出错的那一组比较,暂时没有发现接线的问题。诊断信息有二如下:
A: 事件 1 : 事件 ID 16# 3576
在分配局部数据时出错 导致错误的 OB:诊断中断 OB (OB82),优先级: 25
OB 编号: 82 模块地址: 22 所需的 OB:处理中止 OB (OB88) 优先级:28 内部错误, 进入的事件
B: 事件 6 : 事件 ID 16# 3942
模块 故障存在 模块类型:模拟量 SM 输出地址: 512
通道信息可用 模块/子模块故障 外部模块错误 检测到通道错误
机架 0 中的报警 要求的 OB:诊断中断 OB (OB82) 优先级:25 外部错误, 进入的事件
对于事件A帮助信息如下: 事件3x76的帮助信息原因:
超出每个优先级的最大局部数据数目。该数值取决于特定的CPU。将取消或不调用导致出错的块。如有必要,还将取消所有正在运行的测试功能。如何纠正或避免出错:在OB 88中编程一个合适的响应。S7-300:减少局部数据需求量,例如通过减少块调用的嵌套深度。S7-400:减少局部数据的需求量(参见上面),或给该优先级分配更多局部数据存储器。所有优先级可用的局部数据存储容量与CPU容量有关。
问:1、该问题怎么解决,在哪可以分配更多局部数据存储器? 程序中已OB88加载、但是空组织块,是否需要添加什么功能?
问:2、事件6,怎么回事?请指点迷津。
问:3、发现冗余cpu不能切换,如切换备用系统cpu1后,两个cpu都停止运行,备有cpu下的ET200M故障灯一直在闪烁;将cpu0重起,cpu0能运行,就是报以上两个故障,请高手分析一下。
根据冗余I/O编程手册,在step7 5.4中在OB35中编写冗余程序,按照RED_IN、RED_STATUS、用户程序、RED_OUT的调用顺序;而在setp7 5.3却在OB1中编写冗余程序。
问:4、在step7 5.4中编程,OB35是否相当于OB1,用户程序fc等都在OB35调用?还是在OB1中调用?
谢谢!