首页 > 化工知识 > 中断机制是怎样让PLC高效运行的?

中断机制是怎样让PLC高效运行的?

时间:2020-09-28 来源:方正智芯 浏览:

也许你没有注意到,当你每一次敲击键盘或点击鼠标的时候,电脑主板上的CPU都会触发一个中断来处理你的请求。中断(Interrupt),是微型计算机能够处理纷繁复杂的信号,以“事件”的方式来执行任务的基础。工业现场的PLC其本质是单片机(MCU),同样具有中断处理的能力。今天这篇文章,我们就以西门子的S7 系列PLC为例,来谈谈PLC的中断管理机制。

说了半天,什么是“中断”呢?(注意,这里有个概念),所谓中断(英文名称:interrupt),是指CPU(PLC)停止当前正在执行的任务,转而去执行其它任务的过程。CPU本来手头上是有活在干的,由于一个请求(中断请求),它放下了手中的活,来处理这个请求(中断处理),这个过程,称为“中断”。打个比方,比如当我正在跟同事吹呼我多能喝的时候,我老婆来电话了。你说我接还是不接?(不接的后果你懂得)我肯定乖乖的接起电话“喂,亲爱哒。。。”。

不许笑,这是一个典型的中断过程:当中断请求(老婆来电话)产生后,CPU先把当前运行任务的寄存器的数据保存到中断堆栈中(保存现场,我暂停与同事的聊天并记住话题说到哪里);然后跳转到中断处理函数的入口开始执行中断处理函数(接听电话);处理完毕后,返回到原来的函数,从堆栈中取出原来保存的数据,继续执行原来的程序(中断现场恢复,继续原来的聊天话题)。

简单来说,中断过程包括:中断请求—保存现场—处理中断—恢复现场。其中保存现场”和“恢复现场”的工作由操作系统完成,我们只需要集中精力来完成“中断处理”的工作就可以了。

在西门子S7 系列PLC中,根据中断类型的不同,可以分为:日期时间中断(Time-of-date interrupt),延时中断(Time-delay-interrupt),循环中断(Cyclic interrupt),硬件中断(Hardware interrupt),异步错误中断(Asynchronous error interrupt),同步错误中断(Synchronous error interrupt)。下图是CPU317硬件组态中显示的可组态修改的中断类型:

 

我们以日期时间中断(Time-of-day interrupt)为例:其“执行(Excution)”可以选择“一次(Once)”,“每分钟(every minute)”,“每小时(Hourly)”等等,选好执行方式,并勾选前面的“激活(Active)”选项,下载到PLC后就可以激活该中断功能。如下图:

中断功能激活后,PLC又是怎样来处理该中断的呢?

S7 的PLC通过特定的组织块(Organization Block,OB)来执行“中断处理”的任务。比如上图中的OB 10就是来处理日期时间中断的组织块。当中断发生后,操作系统(PLC都有操作系统的,我们用Step7写的程序都是用户程序)会调用OB10并执行里面的代码(用户程序)。

比如说,我们想完成一个“每天晚上7点给爸妈打电话”的任务,你可以在“执行(Excution)”中选择“每天(Daily)”,在“起始时间(Start time)”里设定成“2017-2-24 19:00”,如下图:

 

然后添加“组织块OB10”,在里面写“给爸妈打电话”(注意这里是伪代码哦)。

这样每天晚上7点,就会触发一个日期时间中断(Time-of-day interrupt),然后CPU就会去执行OB10里面的代码,提示你给爸妈打电话(有空常回家看看,没空多打个电话)。

关于延时中断,循环中断等,其执行机制是一样的(使用方法有所不同,本文着重介绍中断机制,方法后续介绍)。

中断机制的使用节省了PLC的运行资源,提高了运行的效率。为啥这样说呢?我们知道,无论是PLC还是单片机,其程序都有一个入口函数(主函数),其中的代码是从上到下,从左到右顺序执行的。如果没有中断,我们要想知道某个事件有没有发生,就只能不断的去查询该事件的状态。这些空循环的代码会耗费CPU宝贵的运行时间,降低程序的运行效率。有了中断机制后,CPU可以集中精力处理别的任务,只需在中断发生后,进行中断处理即可,这在很大程度上提高了运行的效率。

打个比方,你想看看这个月的工资发了没有?如果你每天都去柜台查询的话会很累是不是?当你启用中断机制,开通短信通知功能,发工资后自然就会收到短信通知(中断请求)。你一看短信:“您尾号8888的储蓄卡12时7分8秒收到工资12218.6元,账户余额12220.6元”。哈哈,好高兴呀。过了一会儿,又收到一条短信:“您尾号8888的储蓄卡12时10分3秒转账支出人民币12000.0到你老婆的账户,账户余额220.6元”。“额,此处省略一百个字。。。”。

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐