关于中断指令的理解及怎样使用

关于中断指令的理解及怎样使用

 在《S7-200可编程控制器系统手册》中关于中断指令的描述:“中断允许指令(ENI)全局地允许所有被连接的中断事件。中断禁止指令(DISI)全局地禁止处理所有中断事件。当进入RUN模式时,初始状态为禁止中断。在RUN模式,您可以执行全局中断允许指令(ENI)允许所有中断。全局中断禁止指令(DISI)不允许处理中断服务程序,但中断事件仍然会排队等候”。
 “当把中断事件和中断程序连接时,自动允许中断。如果采用禁止全局中断指令不响应所有中断,每个中断事件进行排队,直到采用允许全局中断指令重新允许中断,如果不用允许全局中断指令,可能会使中断队伍溢出”。
 我的问题是当进入RUN模式时,由于初始状态为禁止中断,要在主程序执行期间的任何时候响应中断(如设备运行状态的多个报警),必须要使用中断允许指令(ENI)吗?该指令加在主程序的什么位置?是否如《S7-200可编程控制器系统手册》中的(示例:中断指令)那样,在每一个中断连接指令(ATCH)处使用中断允许指令(ENI),还是只使用一次?另外在(示例:用定时中断读取模拟量的数值程序举例)中PLC在第一个扫描周期调用子程序SBR0,并在子程序SBR0中使能全局中断,那么在后面的扫描周期里此中断允许指令还有效吗?能否举一个例子说明。
 请各位高手指点,在此先谢谢了!!
 示例:中断指令
 MAIN
 Network 1 //首次扫描
 //1. 定义I0.0
 // 的下降沿中断服务程序为INT_0
 //2. 全局中断允许。
 LD        SM0.1
 ATCH      INT_0,1
 ENI
 Network 2 //如果检测到I/O错误,
 //禁止I0.0的下降沿中断。
 //该程序段是可选的。
 LD        SM5.0
 DTCH      1
 Network 3 //当M5.0接通时,禁止所有中断。
 LD        M5.0
 DISI

 INT0
 Network 1 //I0.0的下降沿中断服务程序:
 //当有I/O错误时返回。
 LD        SM5.0
 CRETI

 
 示例:用定时中断读取模拟量的数值程序举例
 MAIN
 Network 1 //首次扫描,调用子程序0。
 LD        SM0.1
 CALL      SBR_0

 SBR0
 Network 1 //1. 设置定时中断的时间间隔为100ms。
 //2. 连接INT_0到定时中断0(事件10)。
 //3. 全局中断允许。
 LD        SM0.0
 MOVB      100,SMB34
 ATCH      INT_0,10
 ENI

 INT0
 Network 1 //每100ms读AIW4的值。
 LD        SM0.0
 MOVW      AIW4,VW100

 

最佳答案

你自己说得很明白了,只要在SBR0中使用一次ENI指令就可以了。除非在此之后你使用过DISI指令,否则任何时候,中断都会得到及时响应的。而使用了DISI指令后,如果仍需响应中断,请再次使用ENI指令。

提问者对于答案的评价:
谢谢各位指点!

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc349703.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午12:09
下一篇 2021年7月5日 上午12:09

相关推荐

  • TP170A触摸屏

    请问:        我想在触摸屏上做个总的启动和停止按扭,但启动按扭所对应的PLC的变量应该是什么…

    SIMATIC S7-200 2021年7月5日
  • 要不要网卡

    大家好,本人菜鸟,问个问题,一个S7200的PLC,一个研华的工控机,走以太网连接,我知道S7200需要CP 243-1模块,那么研华工控机上要不要加什么东西?是不是它本…

    SIMATIC S7-200 2020年11月1日
  • MAP 库下不到啊

    我只能搜索到 PDF 档,但不能找到MAP 库的程序啊,请高手帮忙,谢谢 最佳答案 MAP 库下载:MAP SERV.zip&nb…

    SIMATIC S7-200 2020年11月1日
  • 在使用Step7—200CPU224时,加计数器不是从0开始加计数,是什么原因导致的

    我是初学者,在使用Step7—200CPU224对镗床改造模拟操作时,程序监控中加计数器不是从0开始加计数,是什么原因导致的 最佳答案 在系统中,计数器是默认断电保持的(非永久性保…

    SIMATIC S7-200 2020年11月1日
  • 西门子S7-200编程

    新手,学习西门子S7-200编程,指令都会用啦,就是不知道怎么用,怎么编程,谁有什么好的资料或者好的编程练习题 问题补充:有什么书好介绍的吗 最佳答案 一本廖常初的深入浅出西门子2…

    SIMATIC S7-200 2017年11月20日
  • TD400中的数据编辑通知怎么用?

    TD400中嵌入数据后,如果选择可编辑会产生数据编辑通知位,那么这个通知位我怎么用?它等于1的时候开放吗? 问题补充:我想用,但我不知道他何时=1 最佳答案 TD400中嵌入数据后…

    SIMATIC S7-200 2021年7月5日
  • S7-200地址寻址

    1.地址前面加个*或&,是怎么用的,什么含义?2.AC1,AC2是什么情况下才会用到的 最佳答案 西门子S7-200视频教程下载:连接http://www.5iplc.com.cn…

    SIMATIC S7-200 2018年12月5日
  • S7-200编程电缆驱动装不上

    已安装版本ve 2在你的电脑上。此安装程序无法安装版本V2。0在上面。 图片说明:          最佳答案…

    2021年7月5日
  • EM277故障原因分析?

    一个项目有六个200从站,一个300主站,通过DP线缆连接。目前有几个站频繁的发生故障,故障发生时,300主站报BUSF故障,故障从站的EM277模块,CPU FAULT…

    2021年7月5日
  • 输入输出点

    教学楼门禁系统中,有50条门,但目前我只有S7-200 CPU224CN,外加一个EM235CN模拟扩展模块,没有更多的了模块了,自己试了三维矩阵,但发现课程表上安排的教…

    SIMATIC S7-200 2017年8月1日

发表回复

登录后才能评论