quote:以下是引用keeneyoung在2013-06-04 16:25:28的发言:
首先感谢大家的踊跃讨论,与感谢大家提出很多的疑问,正是因为大家的讨论与疑问,才不断推动着我去思考这个问题,去想办法了解事情的真相。
也许有的同行性急,急于了解事情的真相,那在最开始我便先把事情根源说一说,最后再谈谈自己的一点看法。
导致引起矢量控制器出现F082故障的真正原因,就是有人为的改动程序后造成的,但可能修改程序的人本身也没有意识到这个问题,或者说该程序改动不是在出现故障的近期所为,所以连更改程序的人也忘记有改动程序这回事了吧。
事情是这样的:
我们生产线程序采用的是Profibus通讯,在程序中需要给矢量控制器的几个位赋值。原来程序中这个位是程序上电就直接接通的,即程序通电运行该位就是“1”状态。但程序被修改后,有人在该程序段前加了一个常闭触点。该常闭触点是由触摸屏上的一个“隐形”按钮控制的。(该“隐形”按钮在触摸屏上是看不到的,我自己无法解锁触摸屏的程序,但从组态可以算出该地址是出现在生产线上某一个触摸屏上,并且以我的推断出发,我通过最笨的探雷办法------就是在屏上逐一点取,成功找到了这个按扭所在的位置) ,只要触压这个按钮,程序就无法给矢量控制器的位赋值,从而造成矢量控制一动作就报F082(如果上电不操作,没有数据与矢量控制器交换,不会出现F082)。具体是给哪个位赋值,相信用过Profibus通讯的同行都应该清楚,这里就不再详叙了。
再说说为什么前面几次我断电后重新组态后,故障消失的原因。现在我想想了想是因为,隐形按钮所用到的数据类形在PLC中与触摸屏中都是断开清零的类型。因为重新组态或者是检查DP头等工作,我都会要求电工把全线的电源全部断掉。现在看来,这个无意的要求,恰恰是解决问题的关键,断了全部电源,数据清零了,那个点就没有作用了。但也恰恰是因为了断了电,所以每次检查后都找不到真正的原因。
这个解释依然不通,最大的问题是:只要硬件组态中有变频器,并且没有通过SFC来取消的话,CPU一上电就会检测这个从站,不管有没有程序。相同,从站一上电,也人检测与CPU的通讯,并不因是否有使能或其它的命令来后才检测是否有报文接收到与否。
而且你这个问题是最明显的程序问题,因硬件检测是正常的,也就是说物理连接已经建立,基础通讯已经形成,只是没有收到有效的第一个控制字而已。这时的思路本身就应该是查程序。最简单的方法就是直接给各从站发正确的控制字1。
给你第一个精华,是因你的辛苦。但第二个精华帖不是我给的,而且我认为你第二个精华帖名不符实,说了半天,有点炫耀,但却没有找出问题的真正所在,除非一点:只要一对变频器操作(任何一台,任何动作),程序就把所有的CONTROLWORD1 BIT10置零。
非常遗憾。