恭喜,你发布的帖子
发布于 2023-11-29 19:43:30
36楼
错!
OB30是有多少程序,就执行多少时间,不是固定时间宽度的,只是OB30的触发时间间隔是根据设定固定的。
其次,OB30执行程序的时间是会计入扫描周期的,增加扫描周期的时长。
这是计算机的基本原理
建议楼主还是认真学习一下PLC的程序扫描机制,就那么几页纸,比在论坛里东一锤西一棒地瞎琢磨好
再问楼主一个基本问题,知道PID问什么要在定时中断里调用吗?
感觉楼主的知识体系完全是键在沙滩上的
又做了一张图:
没有OB30的时候(如图左),OB1里的程序按顺序执行。
图左特意写了个例子:当X轴Done信号发出后,经过一个定时器去触发Y轴的enable,一般地Y轴会行走
但是,由于有了OB30的参与(如图正中),当定时器结束的时候,恰巧OB30中的程序要执行了,如图右,就去执行OB30了。等OB30里的程序执行完了,才会回到OB1执行Y轴的enable指令。这样看来,Y轴的enable指令就会推后了。是这样吗?
而且,系统就有了新的扫描时间,是OB1的扫描时间和OB30里程序的执行时间?
最后,我个人觉得OB1的扫描时间类似于数据采集时的采样时间。外面的数据持续不断地涌进来,但是接收器没有必要持续地读,而是每隔一段时间再去读,这个间隔就是采样时间,对应于OB1的扫苗时间
请填写推广理由:
分享
只看
楼主