plc的中断程序怎么理解

plc的中断程序怎么理解,第1张

首先理解 "中断的原理",再去理解中断的编程方法。

这里做个比喻:

你正在一口一口的吃饭,突然手机响了,你停止吃饭,开始接手机;接完手机后 继续一口一口的吃饭。

这就是一个中断的过程。

正常情况下PLC的程序是 按顺序扫描执行的,按照从上到下,从左到右的顺序循环执行。

当出现一个中断信号时,PLC 就停止销渣当前的“顺序扫描执行”,去执行“中断服务子程序”;当“中断服务子程序”执行完毕后,在从刚刚中断的位置 开始按顺序扫描执行。

不同厂家的PLC 中断编程方式有些差异,但是原理是相同的缺斗搜。

“中断子程序” 一般都是用来处理一些“紧急事件”

中断事件类型分 “内部中断事件”和“外部中断事伏历件”两种类型。

举例:

比如生产塑料管的生产线,需要计米,当管子到达需要的长度后,需要马上切断,不能有延时,否则就会产生误差。这种情况就需要用到“中断”编程来处理。

  希望我的回答 能对你有些帮助,很高兴和你一起讨论和学习。因为篇幅有限,这里不能说的更详细期待你的理解和支持。

中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况迟笑的程序,处理完毕后又返回原被暂停的程序继续运行。

中断流程图如下:

中断过程

按照事件发生的顺序,中断过程包括:

①中断源发出中断请求

②判断当前处理机是否允许中断和该中断源是否被屏蔽

③优先权排队

④处理机执行完当前指令或当前指令无法执行完,则立即停止当前程序,保护断点地址和处理机当前状态,转入相应的中断服务程序

⑤执行中断服务程序

⑥恢复被保护的状态,执行“中断返回”指令回到被中断的程序或转入其他程序。

上述过程中前四项 *** 作是由硬件完成的,后两项是由软件完成的。

扩展资料

众所周知,处理器的速度跟外围硬件设备的速度往往不在一个数量级上,因此,如果内核采取让处理器向硬件发出一个请求,然后专门等待回应的办法,显然降低内核效率。

既然硬件的响应这么慢,那么内核就应该在此期间处理其他事务,等到硬件真正完成了请求的 *** 作之后,再回过头来对它进行处缓州理。想要实现这种功能,轮询(polling)可能会是一种解决办法。可以让内核定期对设备的状态进行查询,然后做出相应的处理。

不过这种方法很可码哪含能会让那个内核做不少无用功,因为无论硬件设备是正在忙碌着完成任务还是已经大功告成,轮询总会周期性的重复执行。更好的办法是由我们来提供一种机制,让硬件在需要的时候再向内核发出信号(变内核主动为硬件主动),这就是中断机制。

中断使得硬件得以与处理器进行通信。举个例子,在你敲打键盘的时候,键盘控制器(控制键盘的硬件设备)会发送一个中断,通知 *** 作系统有键按下。中断本质是一种特殊的电信号,由硬件设备发向处理器。

处理器接受到中断后,会马上向 *** 作系统反映此信号的到来,然后就由os负责处理这些新到来的数据。硬件设备生成中断的时候并不考虑与处理器的时钟同步——换句话说就是中断随时可以产生。因此,内核随时可能因为新到来的中断而被打断。

不同的设备对应的中断不同,而每个中断都通过一个惟一的数字标识。因此,来自键盘的中断就有别于来自硬盘的中断,从而使得 *** 作系统能够对中断进行区分,并知道哪个硬件设备产生了哪个中断。这样, *** 作系统才能给不同的中断提供不同的中断处理程序。

在它执行程序的时候,如果有另外的事件发生(比如用户又打开了一个程序)那么这时候就需要由计算机系统的中断机制来处理了。

中断机制包括硬件的中断装置和 *** 作系统的中断处理服务程序。

让硬件在需要的时候再向内核发出信号。

参考资料来源:百度百科-中断机制

参考资料来源:百度百科-中断

中断程序是在中断事件发生时调用,程序也不知道什么时候有中断事件发生。子程序是在需要的时候调用,在程序里可以预见它的使用。

因为中断是由系统调用的,不知道什么时候中断,所以你可以选择允许中断或者不允许中断,这就好比你正在干工作时,电话铃响了,你可以选择接电话也可以选择不接电话,中断就好比电话铃,你不知道电话铃什么时候响起。开放中断就是允许中磨尘断,就好比电话铃响允许你接电话,禁止中断就是不允许中断梁消,就好比电话铃响不允许你接电话。子程序是条件调用的程序,你可以知道什么时候调用,子程序是为了优化程序结构。

简单一句,中断是随时发生的,时间不确定。而子程序则时间确定,跟系统设计顺序有关系,起简化、优化作用。用在随机事件,只是中断的一个应用。

有些中断的应用,其事件是可以预料,也能确定的,比如说定时。

子程序控制的内容与主程序是一样的,都是在扫描周期结束后才变化的,而中断就是马上去做,不等这个扫描周期结束 。

中断是指计算机运行过程中,出现某些橡游知意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。

计算机科学术语。指处理机处理程序运行中出现的紧急事件的整个过程。

程序运行过程中,系统外部、系统内部或者现行程序本身若出现紧急事件,处理机立即中止现行程序的运行,自动转入相应的处理程序(中断服务程序),待处理完后,再返回原来的程序运行,这整个过程称为程序中断当处理机接受中断时,只需暂停一个或几个周期而不执行处理程序的中断,称为简单中断。

中断又可分为屏蔽中断和非屏蔽中断两类。可由程序控制其屏蔽的中断称为屏蔽中断或可屏蔽中断。屏蔽时,处理机将不接受中断。反之,不能由程序控制其屏蔽,处理机一定要立即处理的中断称为非屏蔽中断或不可屏蔽中断。

非屏蔽中断主要用于断电、电源故障等必须立即处理的情况。处理机响应中断时,不需执行查询程序。由被响应中断源向CPU发向量地址的中断称为向量中断,反之为非向量中断。向量中断可以提高中断响应速度。

参考资料

编辑委员会.数学辞海.北京:中国科学技术出版社,2002


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12333419.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存