myRetDINT:= _disableCamming(followingObject :=Vir_axis_sync,
syncOffMode :=IMMEDIATELY,
syncProfileReference :=RELATE_SYNC_PROFILE_TO_LEADING_VALUE,
syncOffLengthType :=DIRECT,
syncOffLength :=10,
synchronizingDirection :=SHORTEST_WAY,
mergeMode :=IMMEDIATELY,
nextCommand :=IMMEDIATELY,
commandId := _getCommandId());
---------------------------------------------------------------------------------------------------
上面是实际使用的指令,连续用了3个,对3个虚轴使用,但是只有第3个虚轴的Vir_axis3_sync.state=inactIve,前2个虚轴的sync仍保持为CAMMING,但syncstate已经为NO,
请问问题可能出在哪里;
另外再问个问题, 这3个指令的开头都有个MyRetDINT,这里MyRetDINT不做区分都写成一样的会存在问题吗?
--------------------------------------------------------------------------------------------------------
第3个轴在另一段程序里已经_disablecamming一次了,结合我发的2楼,我大概明白问题出在哪里了,但这里有个新的问题,本楼的这段程序是放在Background里面的,扫描第一次,我认为执行了一次_disablecamming,扫描第二次,我认为还会执行一次_disablecamming,可实际情况是轴1 轴2的同步对象的state状态并没有转为inactive,仍然保持CAMMING,请问这个该如何理解?
另外提下,这段程序是放在CASE里做的,如果3个轴的同步对象的STATE都转为inactive就会跳到下一步,
不再执行_disablecamming