quote:以下是引用西周在2010-05-07 15:51:13的发言:quote:以下是引用伊默在2010-05-07 13:20:32的发言:quote:以下是引用西周在2010-04-23 16:34:20的发言:quote:以下是引用EarL.D在2010-04-21 17:05:20的发言:
在中断中使用位置控制指令似乎会有问题,具体不好描述,大概就是只能执行一次,再基本无法执行了...
虽然在中断OB中调用可实现部分功能。但位置控制指令不是一个循环能运行完成的,所以要在循环OB中调用位置控制指令。
如果脉冲不能在中断程序里控制的话,那么相对S7-200是一个大退步!变得跟三菱一样了! 对实现性要求高的场合根本没办法使用! 如果脉冲只能在循环OB内执行,那么就会扫描周期的影响! 比如当I0.0硬件上升沿的时候我需要“立即”输出脉冲,放在循环OB里就不行! 杯具了……
澄清一下,S7-1200运动控制的位置控制模型的运算是由CPU在后台完成而不是由运动控制指令(如MC_Home,MC_MoveAbsolute等)实现。运动控制指令仅仅是将用户指令发给在后台运行的位置控制模型,并接收从模型返回的状态信号。运动控制指令如果要获得各输出管脚正确的状态,需要周期性的执行来从位置控制模型读取。在中断OB中是可以成功将运动控制指令发送给在后台运行的位置控制模型的,但由于中断OB在特定条件下触发时只执行一次,所以在该中断OB中执行的运动控制指令返回的指令执行状态只是当时的一个特定状态,不能被不断更新,使用时要特别注意。