加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

TIA博途SCL编程学习33_有趣的时间定时器

(2019-06-11 12:48:04)
标签:

iec定时器

先贴一段程序。如下图:
TIA博途SCL编程学习33_有趣的时间定时器
该程序将一个IEC的通电延时定时器放到了一个IF语句中。
问:
最初#condition为TRUE,即IF条件满足,IEC通电延时定时器的启动输入#timerStart为TRUE,IEC通电延时定时器的预设时间为20S,当前计时到达5S250MS时,将#condition变为FALSE,会发生什么?
答:
当前计时到达5S250MS时,将#condition变为FALSE,此时当前时间ET停止累计,超过20S后,IEC接通延时定时器的状态输出Q也为FALSE。
问:
此时的IEC接通延时定时器指令有没有被启动?
答:
此时的IEC接通延时定时器指令已经被启动(只要在IN端有一个上升沿即可被启动),时钟已经开始工作。但是由于#condition条件消失,程序不会再次扫描IEC接通延时定时器指令,所以尽管时钟在后台默默地工作,它的ET和Q也不会有输出。但当时间超过20S后,只要#condition恢复为TRUE,IEC接通延时定时器指令马上被扫描,ET和Q也马上会有输出,但是此时的时间已经超过了预设的20S。
如下图:
 TIA博途SCL编程学习33_有趣的时间定时器
下面将IEC接通延时定时器改为生成脉冲定时器,操作过程和上面测试一样。如下图:
 TIA博途SCL编程学习33_有趣的时间定时器
TIA博途SCL编程学习33_有趣的时间定时器
另外强调一点,IEC定时器的ET或Q不被分配调用的话,尽管定时器被启动了,但是并不能在监控表中看到ET和Q的变化。如下图:
 TIA博途SCL编程学习33_有趣的时间定时器
小结:
在SCL编程过程中,如果将IEC定时器嵌套在IF语句中使用,一定要注意IF语句的条件不满足时会对IEC定时器的正常工作产生影响,在设计的时候需要特别注意。建议尽量不要去嵌套,如果非要嵌套,一定要做好在IF条件不满足时对IEC定时器的处理。


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有