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

主题:子程序与扫描周期的关系

点击:2049 回复:8

提了一个子程序的问题以后把我自己绕晕了。
当时的问题就是子程序的触发信号是一个PLS信号,只存在一个扫描周期,如果子程序写长了就执行不了,改短了就可以成功。
虽然解决了但是我没明白。
PLC执行程序的时候,不是会把每一条指令都过一遍吗,扫描周期的定义不就是把所有指令扫描完的时间吗,为什么会出现扫描周期不够的问题呢?
19-03-12 16:51
使用PLS触发子程序,子程序只会从上往下执行一遍,如果子程序内有延时、循环等就会有问题了
19-03-12 17:27
程序虽然是不停扫描,通讯指令是中断输出的。例如主机向下位机发送命令,下位机向主机回传数据,这个时间是不固定的,有时要远远大于PLC的扫描周期。
19-03-12 18:21
子程序不执行时,应当是不占用扫描周期时间。
19-03-12 19:32
我大概明白了,谢谢解答
19-03-12 20:06
扫描不到那一块啊。
条件不满足的段不会走到母线最右端,也就不会执行子程序跳转
19-03-13 07:27
你可能误会了我的问题
19-03-13 21:00
你是说没执行完对吗?
第一次还在执行,第二次压根就过不去,怎么执行?
19-03-14 08:41
问题的根本是弄清扫描与刷新输出。扫描与CPU的时钟有关,只要加电就不停地扫描;刷新输出与指令类型有关。I/O点这些数字量扫描一次刷新输出一次,定时器、通讯、计数器等需要内部中断,虽然也在扫描,条件不成立并不会输出,只有扫描到中断标志才会输出,当然在此期间需要一直维持这些指令的执行条件。
你的通讯指令只维持一个扫描周期,如果能在一个周期内完成,能收到完整数据,如果一个周期不能完成,而下一个周期又失去了维持通讯的条件,当然就不会得到什么信息了。
19-03-14 19:44

工控新闻

更多新闻资讯