zxy760803
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看zxy760803的 主题 / 回贴
楼主  发表于: 2006-10-29 17:09
杨工,一般来说,EI指令应该放在主程序中的什么地方呢?对这一点三菱的编程手册说得很不详细。

如果EI放在主程序的开始(不考虑DI指令),那么,在主程序的执行中,产生的中断都是有效的;

如果放在主程序的中间,在主程序开始一直到EI指令之间产生的中断是无效的。那么现在就有一个问题了,如果恰好在这个期间产生了中断,那么这个中断不就丢失了吗?在高速计数的程序中,这种情况是应该避免的吧?

我的问题是,这个EI到底应该放在程序中的什么地方才是最合理的?感谢
w_gang888
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看w_gang888的 主题 / 回贴
1楼  发表于: 2008-11-12 16:36
引用
引用第9楼langman于2008-11-12 15:53发表的  :
见手册155页有这么一句话:
即使在DI-EI指令间(禁止中断区间)发生中断,亦能对其记忆并在EI指令之后执行。禁止区间长的话,接受中断就滞后。
解释:中断发生在禁止区间,仍然能被采纳,但要等到扫描到下次EI才能执行(如果发生在许可区间,当场就能被执行)。

我习惯将中断许可放在主程序开始位置,用特殊继电器(M8050~M8059)来控制中断开关。

这个说的比较明白了,  如果要求实时中断比较严格的话就要放在开头最好了