quote:以下是引用likevc在2008-02-08 10:09:01的发言:
个人认为是通信故障,你从诊断缓冲区看到的故障现象是假象!不要过于相信SIEMENS,我处理过三次通信故障,不用看故障缓冲区。因为通信故障是随机的,运行过程通信出了错误,提供了错误数据,所以你看到的诊断缓冲区故障是五花八门的。
建议:更换317CPU,你拖的分布式IO太多,还有上位机。CPU通信量较大,你要知道,CPU跑得不仅仅是你编写的OB1和其他程序。最重要的是,CPU是要跑操作系统的(RTOS:REAL TIME OPEREATION SYSTEM ),如果操作系统的任务调度不能顺利按时间片划分完成子任务,那么该进程(或线程)就要等待,CPU还要处理其余的时间片。
通信数据太多时,CPU要等待主从站之间完成数据的握手和传输,双方都要等待对方的协调统一。你拖了8个分布式IO+上位机,你在看看315CPU的通信能力。估计你换个317CPU什么毛病也没有了!
不要认为手册上给你CPU数据看起来性能不错,实际应用时却差远了!
即使你用317CPU 拖8个分布式IO只处理模拟量并作PID运算,你看看能不能把CPU拖死!
回复likevc朋友,我们也怀疑到了大量的pid运算可能导致的cpu出错,正好该系统主要的pid运算基本都在后加的三个站的子程序里。在上一次去的时候把程序里这些子程序也都一并删除了。
但是效果还是如同前面所述的,起动wincc的时候会死机。按照我们的经验,以现有的程序量和控制复杂程度不大可能再导致cpu死机,事实上这些程序也就是以前未添加后三个站时老系统运行的程序,以前是没有出现过这种故障的。
虽然也感到很迷惑,但是就现在的情况来看,我们还只能把注意力集中到wincc上了。 春节期间客户放假停机。过完节后继续检查看看。
感谢楼上各位热心朋友,祝大家新春愉快。