|
2018年的时候做的一个项目,由两台KUKA机械手和两台1214CPU+KTP700组成(机械手玻璃磨边)。之所以用两台CPU主要是因为项目里用了六台三菱JE伺服做定位控制,CPU和伺服用脉冲+方向的方式。一台CPU硬接线方式只能控制4台伺服所以就用了2台CPU。两台CPU之间走Profinet io协议。当时这个项目很顺利,plc之间、PLC和KUKA之间通讯都很顺利就调试完成投入使用了。至今也没什么问题。
今年10月份客户要增加新品种,原有设备不能满足要求,经过我们机械工程师和客户研究决定,新增加4台三菱伺服定位。有了上次的成功经验,于是就又按老办法,增加一台CPU做新伺服定位,还是和原来CPU走profinet通讯,定位程序也照搬原来的。硬件程序都准备就绪,信心满满到现场试机,动作很简单就是工件传送到位后四台伺服一起按设定值将工价夹住。结果一试问题来,四台伺服有一台不动。手动试试没问题,重新回零点,再试还是一样。奇怪呀,这个定位程序是按18年的照搬过来的啊。百思不得解。程序翻过来,调过去检查,没啥问题啊。客户还不停问怎么样啦,汗瞬间就流出来啦。先不管它什么原因,先把程序改成每两个一起动(绝对方式定位)试一下,哎?结果这样可以,难道是这台CPU是残次品,一起来就不行?反正能用了,客户着急生产就先这样了。
回到单位,又有其它事要忙,就暂时把这事放一边了。过了一周左右,手头没什么事,我又打开程序仔细检查了一下,终于发现了问题。原来为了省事,我都是写好一个轴的所有运动指令,再复制改成其它轴。其中有两个轴MC_MoveAbsolute背景数据块是同一个(复制的忘了改),所以当这两个轴同时绝对值运动由于同一背景会有冲突。找了个机会到现场一试,OK啦。
问题终于真相大白了,也可还CPU清白啦。惭愧!
|
|