登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:编程疑问求助

点击:1128 回复:11

小白在编程学习中发现个疑惑请教大侠(我学的西门子S7-200):PLC的一个扫描周期应该很短,假如我在程序中有一个脉宽调制程序,周期为5秒(输出高电平2秒,低电平3秒),那在程序执行中是执行到脉宽调制程序后等待5秒高低电平执行完毕后再进行下一个扫描周期还是PLC以固定扫描周期扫描,不管脉宽调制程序是否执行完?
17-08-24 10:24
执行时大概状况是这样的:扫描到脉冲调制的部分,看看时间到了没有,没有的话跳过,等下一个扫描周期再来问,因此,时间误差会等同于一个扫描周期时间。
17-08-24 10:28
意思就是程序确定了,整个程序的扫描周期就确定了,PLC就以这个确定的扫描周期进行扫描。遇有需要较长时间执行的程序段,则不是每次都扫描执行该程序段,而是要等程序段执行完一次后在下一个扫描周期再扫描执行一次,我理解得对不对?
17-08-24 10:38

引用 15850596591 在 2017/8/24 10:38:29 发言【内容省略】

程序确定了,扫描周期并非确定,因为扫描周期除了程序扫描部分,还有通讯扫描部分,系统自检部分,所以,非固定周期扫描实际是一个介于最大扫描周期与最小扫描周期之间的那个时间段。
如果需要使用较长时间执行的程序段,例如定时器,那么程序采用异步扫描方式,也就是说,扫描定时器触点时才会去看定时器当前定时是否到,如果没到,那么继续执行下面的扫描,在下一个扫描周期扫描定时器触点的时候再次看定时器时间是否到。
如果你想在一个扫描周期内执行较长的程序段,例如循环指令FOR-NEXT,那么作为程序员的你需要考虑的是程序时间是否会执行过长从而导致看门狗故障,当发生看门狗(WatchDog)故障时,你的PLC会进入停机状态,因此,如果要执行较长的程序段的时候,你需要考虑是否需要不断的复位看门狗,以防止扫描周期过长从而引发看门狗故障,避免进入停机状态。
HAVE FUN!
17-08-24 10:44
不是这样理解的
扫描周期的长短与程序所用指令有关,与系统结构有关,但都有一个允许的时间,超过就要报警,超过一定量就要停机。
在每个扫描周期都有执行相应的程序指令,可以查看指令手册,条件满足执行要多少时间,不满足要多少时间。
具体到你说的脉宽调制,不用管扫描周期,它不会破坏输出的on-off
可能1楼的“扫描到脉冲调制的部分,看看时间到了没有,没有的话跳过”误导了你,只要扫描到该指令,它就逃不了。
17-08-24 10:56
谢谢,明白了
17-08-24 11:02
非常感谢你的解答
17-08-24 11:03

引用 知道一点 在 2017/8/24 10:56:43 发言【内容省略】

有时间的话去秒表卡卡定时器的时间到底准不准,就拿你拿手的欧姆龙来卡好了。
17-08-24 11:14

引用 fujifa 在 2017/8/24 11:14:21 发言【内容省略】

秒表卡?呵呵  你牛x
17-08-24 12:51

引用 知道一点 在 2017/8/24 12:51:57 发言【内容省略】

附件 snap1.jpg
17-08-24 13:03

上一页下一页

工控新闻

更多新闻资讯