这次做了一个项目,用了4台V90(绝对值编码器,多圈),上位机1200,工艺需要做绝对定位。之前类似的项目V90一直用的是FB284,这次心血来潮,想用TO(报文3),组态好了,测试了一下,“没有问题”,还在感叹TO真是方便呀。PLC断电重启再想“MC_MoveAbs”,发现无法执行,检测程序,“StatusBits.HomingDone"=0,绝对值编码器未校准,诊断里面”已归位“不亮了,想着不急,我们程序内做好"MC_Home"(模式7),校准后一切正常,第二天上电,参考点又没了,反复测试,只要PLC一断电,参考点就丢失,感觉就像是增量式,去V90的BOP处想找ABS设置下,居然没有该选项了,查了下手册,这是对的。分析了下,用TO时,位置环在PLC,驱动器仅速度控制,所以报文3是速度控制(对于驱动器而言),此时PLC内的"MC_Home"(模式7)仅为设置一个参考点(相对于编码器的机械原点的一个偏置位置,偏置值放在StatusSensor.AbsEncoderOffset内),所以驱动器内无所谓进行校准。
想不明白了,反复查看工艺对象组态和V-Assistant设置,重新恢复出厂再设置全都无效,新建一个项目全部重新组态还是一样,网上查了下,有类似的事情,但都没有解决方案,几乎崩溃了,都想改用FB284了,坐下来冷静想了想,问题肯定出在PLC侧,驱动侧只是配置个报文。仔细回忆有没有什么异常,想起来,下载PLC程序时会有一个黄色的警示信息,大意是组态的PLC固件版本和实际的不一致(V16,组态V4.4,实际固件V4.5),不过低组态刷到高实物固件里面之前一直做的,固件还是向下兼容的,也没出过问题,死马当活马医。把项目升到V17,固件改为V4.5下载,故障消失了,反复测试正常。所以原因就是组态的版本和实际固件不一致,这个通常不会出问题,但是一出就是非常诡异的问题。
最后,为什么把这个分享发在1200版块,就是提醒下各位同仁,1、黄色的报警一定还是要警惕,尽管可能不影响,但也可能有幺蛾子,西门子自己也不会完全测试到。2、项目内各部件的组态版本尽可能和实物一致,该更新HSP就更新,该刷固件就刷固件。