s309708503
级别: 探索解密
精华主题: 0
发帖数量: 8 个
工控威望: 109 点
下载积分: 605 分
在线时间: 7(小时)
注册时间: 2011-05-17
最后登录: 2012-11-20
查看s309708503的 主题 / 回贴
楼主  发表于: 2011-06-17 20:56
各位大侠,关于中断程序的问题始终困扰着我还请各位高手帮我解释一下,谢谢!
         如果外部信号产生中断,而这个中断子程序一个扫描周期又无法执行完毕,比如说让指示灯连续闪烁十次,需用时十秒,那是不是说在这个中断程序执行的几个扫描周期中外部中断信号消失了,也许要把这个中断执行完毕才能跳回主程序执行呢?
sjm213
有小知识,无大学问。
级别: 论坛版主

精华主题: 7 篇
发帖数量: 5196 个
工控威望: 7419 点
下载积分: 158730 分
在线时间: 3159(小时)
注册时间: 2007-11-21
最后登录: 2024-11-18
查看sjm213的 主题 / 回贴
1楼  发表于: 2011-06-18 00:35
中断程序不过是中断条件满足时立即调用的一段程序而已。它跟主程序一样,也是要执行自上而下、自左至右的扫描顺序,扫描过一遍之后就返回到主程序中。
对于它执行的效果,你要引入“扫描周期”的概念。就像PLC的一个扫描周期不是等内部程序中的计时器计时时间到才往下走的一样,中断程序里的计时、计数的最终结果也不会算到“中断程序是否执行完毕”的范畴中来。事实上,PLC看到IRET这个指令,它就认为中断程序已经执行完毕,就要回到主程序了。
关于中断程序如何理解,cvlsam有一个非常通俗易懂的解释:http://www.ymmfa.com/read-gktid-88930.html
引用
通俗的说,中断就是中断你现在正在干的事情让你干其他的事情。

比如:你正在上家园聊天,你老板让你去买烟,此时,发生了一个中断,买烟回来后继续家园聊天。

中断的作用就是增强实时性而已。

与中断有关的就是中断等级。正如你老板让你去买烟,突然你老板娘让你去给她按摩,此时发生了两个中断,由于老板娘的中断等级比老板高,因此你需要首先陪老板娘,然后去买烟,最后再来家园聊天。


结合楼主的“让指示灯连续闪烁十次,需用时十秒”,把引言中红色标出的中断事件改一下:
老板娘看午餐时间快到了,让你去门口接外卖。但外卖一时半会来不了,你就想了个办法,一分钟出去看一次,其他时间仍然在家园聊天。这就是定时中断。结果你一共出去了10趟,外卖才过来。这样虽然整个等外卖的时间是十分钟,但是你绝大部分时间还是在干聊天这件事,只是每分钟中断一次出去看看外卖来了没有。出去看的这一趟就是一个中断的“执行完毕”,最终等来了外卖才是逻辑结果的“执行完毕”,不要混淆~
本帖最近评分记录:
  • 下载积分:+5(凯撒大帝) 优秀文章
  • 下载积分:+3(dl2006) 优秀文章
    qlin
    学过一点FX型PLC基本知识
    级别: 家园常客
    精华主题: 0
    发帖数量: 537 个
    工控威望: 531 点
    下载积分: 12343 分
    在线时间: 258(小时)
    注册时间: 2009-07-13
    最后登录: 2019-05-13
    查看qlin的 主题 / 回贴
    2楼  发表于: 2011-06-18 17:39
    呵呵,通俗易懂,言之有理。
    仅很早前用过几次顺控编程(PLC),嘿嘿,没寻找机会
    刘长城
    级别: 略有小成
    精华主题: 0
    发帖数量: 173 个
    工控威望: 287 点
    下载积分: 2377 分
    在线时间: 116(小时)
    注册时间: 2009-08-27
    最后登录: 2021-04-29
    查看刘长城的 主题 / 回贴
    3楼  发表于: 2011-06-18 19:42
    解释的经典呀
    xiejun8103
    三人行,必有我师
    级别: 工控侠客
    精华主题: 0
    发帖数量: 327 个
    工控威望: 2118 点
    下载积分: 3244 分
    在线时间: 299(小时)
    注册时间: 2009-10-26
    最后登录: 2019-07-02
    查看xiejun8103的 主题 / 回贴
    4楼  发表于: 2011-06-19 10:37
    搭车同问个比较愚的问题,关于中断问题,1楼的说法很好。假如1,外部的中断信号接通后,这一个信号,在做程序时用了SET自锁。这时程序进入了中断程序,当中断程序执行了一回后,而这个中断开始的信号还没有RST复位,他是否会执行第二次,,,,三次之类的。假如2,外部中断信号只接通了一个扫描周期,而中断程序是否也只执行一个扫描周期就不在执行了,还是会执行完这一回。总之想问的是中断的信号通断时间长短与执行中断程序的次数,时间有没有影响。中断开始信号肯定是在主程序内的。这时的这个信号会影响子程的执行吗?
    杨霖
    做设备发热圈加热部分电磁节能改造,省电30%以上。欢迎咨询:
    级别: 探索解密
    精华主题: 0
    发帖数量: 61 个
    工控威望: 186 点
    下载积分: 1176 分
    在线时间: 52(小时)
    注册时间: 2011-06-19
    最后登录: 2013-09-11
    查看杨霖的 主题 / 回贴
    5楼  发表于: 2011-06-19 11:18
    解释非常经典,顶
    做电磁节能
    gk2000ssshhh
    级别: *
    精华主题: * 篇
    发帖数量: * 个
    工控威望: * 点
    下载积分: * 分
    在线时间: (小时)
    注册时间: *
    最后登录: *
    查看gk2000ssshhh的 主题 / 回贴
    6楼  发表于: 2012-01-10 20:52
    还是不太懂,