某客户现场发现CMMT-AS-PN驱动器触发定位任务时,通常能够正常执行,但是偶发性的不执行,TIA中功能块以及CMMT均未报警。

发现此种异常时,检查功能块管脚,发现ExecuteMode(STW1.6 Activate Traversing Task)这个信号已经给出,但是未收到驱动器反馈的AxisAckSetpoint(ZSW1.12 Traversing task acknowledgement ),且此时马达不动作。

经查,现场出现该问题时,FAS软件中的STW1.6的信号持续为1。观察功能块上ExecuteMode一直没有给出,但是PLC发出的报文当中的对应的这一位(STW1.6)一直为1。推测这个位可能被PLC其他信号占用了。

而ZSW1.12 即ACK 这个反馈信号的反馈逻辑如下

从上面逻辑图当中可以看到,STW1.6产生上升沿信号后,ZSW1.12随之产生上升沿。

所以现场的情况是,STW1.6这个信号被强制常为1时,无论功能块如何触发ExecuteMode这个管脚,对应的STW1.6信号无法产生上升沿信号,那么驱动器也就不会触发定位任务。而ZSW1.12也不会有上升沿,因此功能块上的AxisAckSetpoint也不会置1。