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

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

 在《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

相关推荐

  • 200的EM231

    0-20mA怎么对应的是-32000~+32000,在哪里改成0~32000 问题补充:用的EM231模块,拨码1和2,ON。其他OFF 最佳答案 通过拨码开关,将数据格式设置为单…

    2021年7月5日
  • 关于S7-200通信波特率问题

    用200标准的编程电缆连接200的PLC时,通信的波特率应该是19200吧(我没用过这个方法)?用300/400的编程电缆我今天跟200的通信了一下,发现通信波特率为9600时才能…

    SIMATIC S7-200 2020年10月31日
  • T35无线猫

    想请问一下西门子T35无线猫和其他品牌PLC可以实现通信吗?我想采用欧姆龙CJ1系列PLC控制现场设备,通过T35设置相关泵站故障报警信息短信发送至预设手机号码,通知其进行泵站维护…

    SIMATIC S7-200 2021年7月5日
  • TD200文本显示器怎样对VW0的实数如123456编辑?实数的加减?请各位大哥指点?多谢!!

    s7-200用文本显示td200设置VW0参数,<断电后能保持吗?? 最佳答案 1 可以不保持,即上电VW0被复位 2 保持一段时间,保持在RA…

    SIMATIC S7-200 2021年7月4日
  • STEP 7-MicroWIN SMART软件不能用

    在安装好:STEP 7-MicroWIN SMART软件后,打开时出现如下提示 问题补充:STEP 7-MicroWIN SMART软件后,…

    2021年7月5日
  • 刷新方式

    1ms,10ms,100ms是不是每隔1ms,10ms,100ms就刷新一次呢? 在刷新的时候,是不是不管动断、动合接点在什么位置都会随定时器的状态而发生改变? 问题补充…

    SIMATIC S7-200 2021年7月5日
  • 使用循环指令后如何调出循环?

    本人使用循环控制指令进行过程控制,使用旋钮开关作为输入,状态为1和0,1时启动循环指令开始循环过程,0时希望结束循环过程,请问如何做到这一点? 在硬件电路调试中,某个状态…

    SIMATIC S7-200 2021年7月5日
  • STEP-7MicroWIN V4.0 SP9

    STEP-7MicroWIN V4.0 SP9编程软件手册下载 钻石用户推荐最佳答案 S7-200PLC编程手册:http://www.gkwo.net/wen…

    SIMATIC S7-200 2021年7月5日
  • 铅池淬火降温求助

    铅浴池给钢带淬火,要求铅浴池温度稳定,这里就需要降温,水路一通水温度降的很快,很难稳住,哪位大哥有好的建议。 最佳答案 加大铅浴池的容积有利于温度的稳定 提问者对于答案的评价:你有…

    SIMATIC S7-200 2021年7月5日
  • 西门子plc型号中CN的意义

    发现有些PLC后面带有CN符号,请问跟不带CN的有什么区别?网上说破解cpu224密码是什么意思?难道是用PLC还要有密码嘛?如果有到哪里去找? 最佳答案 不带CN的是德国原产的,…

    SIMATIC S7-200 2020年10月31日

发表回复

登录后才能评论