PLC扫描周期到底是啥?老电工一句话给你讲透
平时答疑中经常碰到这方面的问题,趁周末把资料整理成文,供各位参考。干电气三十来年,见过太多会写程序、程序跑得飞起,可你要问他PLC到底咋工作的,立马卡壳。就像你会开车,不见得懂发动机咋转。能用是真能用,可一碰到怪毛病就抓瞎。扫描周期,才是PLC最核心的那口气,今天把它讲透。
一、PLC一次只干一件事,别想岔了
很多新手有个误会,觉得PLC几十个输入点,是同时盯着的,输出也一起更新。醒醒吧,大部分小型PLC就一个核心,它是一遍一遍扫着跑程序的。
啥叫扫描?就是从头到尾把程序读一遍、跑一遍,跑完再从头上下一遍。这个来回来去的周期,就是扫描周期。就这么简单。
二、一个扫描周期,就三步
完整走一遍,大致分三段:
1. 输入采样:把所有外部输入端子状态一次性读进来,存到过程映像输入区。读完这一下,这一遍剩下的时间,外面输入再怎么变,PLC都装看不见,得等下一遍重新读。
2. 程序执行:从上到下、从左到右,一条一条跑。这会儿它用的输入,全是从映像区里拿的,不是直接扒硬件;算出来的结果也不直接甩给输出,先写到映像输出区搁着。
3. 输出刷新:程序跑完了,把映像输出区的值一次性送到输出端子上,这才算更新完。
除了这三步,中间还有通信、自检那些杂事,都得占时间。
三、为啥非要绕个过程映像区
有人嘀咕,直接读输入、直接写输出多利索,中间隔个映像区不是脱裤子放屁吗?还真不是。
过程映像区的妙处,就是保证同一遍扫描里,程序用到的所有输入,都是输入采样那一刻的"快照",一个样。要是没它,读输入跟抽盲盒似的,前面读的I0.0和后面读的I0.0可能中间变了,逻辑一乱,结果就不可预测了。有了映像区,一个周期里I0.0永远是同一个值,程序跑出来才是确定的。这点搞懂了,好多怪问题也就明白了。
四、扫描周期多长,谁说了算
扫描周期不是固定的,全看程序大小。程序越长、指令越多,跑得越久,周期就越长。拿S7-1200说,小项目几毫秒到几十毫秒,大工程拖到上百毫秒也正常。
周期太长是啥后果?比方说500毫秒,那输入一变,PLC最快也得半秒才反应。碰上要抢速度的场合,这就顶不住了,要么优化程序,要么上中断。
五、看懂了扫描周期,那些"玄学"毛病都有解了
为啥输入按下去,输出总慢半拍才亮?因为你这下按的时机,正好赶在输入采样之后,得排下一遍队才能读到。这不玄,是规矩。
为啥俩互锁输出,理论上不该同时亮,偶尔就是闪一下?要么是扫描周期的问题,要么程序里有个洞,某个周期俩都通了那么一下。
说到底,扫描周期就是PLC的节拍和心跳。你摸透它的节奏,写程序、调程序心里就有底了,遇到怪毛病也不慌,知道往哪想。
以上就是本次整理的全部内容,欢迎在实际应用中补充指正。
页:
[1]