请问这段程序错误是什么问题?

以下是个自定义的时钟程序,
1.为什么定时器复位指令RESET_TIMER不能用?300/400的SCL定时器复位指令是什么?
2.为什么边沿触发块中#IECTpPulseHigh.Q不能作为触发条件?
非常感谢!
IF (#I_CycleLength > T#0ms) THEN
    #IECTpPulseHigh(IN := (NOT #IECTpPulseLow.Q AND #I_Enable),
                     PT := #I_CycleLength / 2);
   
     IF NOT #I_Enable THEN
         RESET_TIMER(#IECTpPulseHigh);
     END_IF;
    
    #NegitiveEdgeHigh(CLK := #IECTpPulseHigh.Q,
                       Q => #PulseFromHighToLow);   // negitive position of IEC timer.
    
    #IECTpPulseLow(IN := #PulseFromHighToLow AND #I_Enable,
                    PT := #I_CycleLength / 2);
    
    IF NOT #I_Enable THEN
        RESET_TIMER(#IECTpPulseLow);
    END_IF;
    
    //output results:
    #PositiveEdgeHigh(CLK := #IECTpPulseHigh.Q,
                       Q => #O_PositivePulse);
    
    #O_ClockPulse := #IECTpPulseHigh.Q;
END_IF;

图片说明:

请问这段程序错误是什么问题?   

最佳答案

300/400的SCL并不适用RESET_TIMER指令;可以考虑使用S_ODT指令,一样具有复位定时器的功能。

提问者对于答案的评价:
谢谢!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc285114.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月30日
下一篇 2020年10月30日

相关推荐