查看: 2|回复: 0

PLC扫描周期到底是啥?老电工一句话给你讲透

[复制链接]

750

主题

341

回帖

2913

积分

金牌会员

积分
2913
发表于 昨天 20:21 | 显示全部楼层 |阅读模式
平时答疑中经常碰到这方面的问题,趁周末把资料整理成文,供各位参考。

干电气三十来年,见过太多会写程序、程序跑得飞起,可你要问他PLC到底咋工作的,立马卡壳。就像你会开车,不见得懂发动机咋转。能用是真能用,可一碰到怪毛病就抓瞎。扫描周期,才是PLC最核心的那口气,今天把它讲透。

   一、PLC一次只干一件事,别想岔了

   很多新手有个误会,觉得PLC几十个输入点,是同时盯着的,输出也一起更新。醒醒吧,大部分小型PLC就一个核心,它是一遍一遍扫着跑程序的。

   啥叫扫描?就是从头到尾把程序读一遍、跑一遍,跑完再从头上下一遍。这个来回来去的周期,就是扫描周期。就这么简单。

   二、一个扫描周期,就三步

   完整走一遍,大致分三段:

   1. 输入采样:把所有外部输入端子状态一次性读进来,存到过程映像输入区。读完这一下,这一遍剩下的时间,外面输入再怎么变,PLC都装看不见,得等下一遍重新读。

   2. 程序执行:从上到下、从左到右,一条一条跑。这会儿它用的输入,全是从映像区里拿的,不是直接扒硬件;算出来的结果也不直接甩给输出,先写到映像输出区搁着。

   3. 输出刷新:程序跑完了,把映像输出区的值一次性送到输出端子上,这才算更新完。

   除了这三步,中间还有通信、自检那些杂事,都得占时间。

   三、为啥非要绕个过程映像区

   有人嘀咕,直接读输入、直接写输出多利索,中间隔个映像区不是脱裤子放屁吗?还真不是。

   过程映像区的妙处,就是保证同一遍扫描里,程序用到的所有输入,都是输入采样那一刻的"快照",一个样。要是没它,读输入跟抽盲盒似的,前面读的I0.0和后面读的I0.0可能中间变了,逻辑一乱,结果就不可预测了。有了映像区,一个周期里I0.0永远是同一个值,程序跑出来才是确定的。这点搞懂了,好多怪问题也就明白了。

   四、扫描周期多长,谁说了算

   扫描周期不是固定的,全看程序大小。程序越长、指令越多,跑得越久,周期就越长。拿S7-1200说,小项目几毫秒到几十毫秒,大工程拖到上百毫秒也正常。

   周期太长是啥后果?比方说500毫秒,那输入一变,PLC最快也得半秒才反应。碰上要抢速度的场合,这就顶不住了,要么优化程序,要么上中断。

   五、看懂了扫描周期,那些"玄学"毛病都有解了

   为啥输入按下去,输出总慢半拍才亮?因为你这下按的时机,正好赶在输入采样之后,得排下一遍队才能读到。这不玄,是规矩。

   为啥俩互锁输出,理论上不该同时亮,偶尔就是闪一下?要么是扫描周期的问题,要么程序里有个洞,某个周期俩都通了那么一下。

   说到底,扫描周期就是PLC的节拍和心跳。你摸透它的节奏,写程序、调程序心里就有底了,遇到怪毛病也不慌,知道往哪想。

以上就是本次整理的全部内容,欢迎在实际应用中补充指正。
回复

使用道具 举报

关注公众号
Archiver|手机版|小黑屋|工控学习网

相关侵权、举报、投诉及建议等,请发 E-mail:gkket@qq.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|苏ICP备2026023666号-3|苏公网安备32131102000976号

在本版发帖
关注公众号
QQ客服返回顶部