当前位置: 主页 > PLC控制

多次同时调用子程序,子程序中用0.1秒脉冲计时,大家有什么好方法?

我想做一个子程序,里面计时0.3或0.6秒等,如果直接用定时器,子程序被多次同时调用时肯定是不行(行吗?如果行请实例),我想用累加法与0.1秒脉冲累计时间,但S7200中没有0.1s脉冲(这点西门子很不方便,一定要写中断,不如三菱,欧姆龙,建议西门子改进),我对中断不熟悉,不知道如果用中断方式做一个0.1s脉冲,然后累加计时行不行,请各位做过类似程序的提供一个好的方法。谢谢。

最佳答案

搜一下200版区,有一个T32中断的例子。
简单的做法是在T32=100ms的中断子程序中,给一个位(例如M0.1)置1,在主程序的最后一个网络里复位。这就得到一个0.1s,只接通一个扫描周期的脉冲,这个脉冲你想在哪里用都可以。

提问者对于答案的评价:
试试。
用中断10(即定时中断0)来做效果怎么样?
我现在写了一个100ms定时中断程序
LDSM0.1
ENI
MOVB50,SMB34
ATCHINTPause0_1,10


intPause0_1
LDN脉冲0_1s
=脉冲0_1s

然后在好多地方用计数方法用脉冲0_1s这个触点来计时,如下:
LD#BFaMenOut
A脉冲0_1s
EU
+I+1,#wOPenOnSJ
发现有时时间就是不准,不知道是程序出问题,还是这个定时中断方法有问题。

  • 关注微信

猜你喜欢

微信公众号