• {{item.name}}
{{item.name}}
{{item2.name}}
更多

中断指令及其例程

star star star star star
0 分
  • 软件编程
发布时间:2024年01月10日
  • 0
  • 33
介绍了中断指令及其例程

中断指令

S7-200 SMART设置了中断功能,用于实时控制、高速处理、通信和网络等复杂和特殊的控制任务。

中断指令相关视频教程的链接如下:

  1. S7-200 SMART中断及中断指令概述——跟我学
  2. S7-200 SMART中断指令应用举例——跟我学

S7-200 SMART 系列可编程控制器最多有38个中断源(9个预留),分为三大类:通信中断、输入/输出(I/O)中断和时基中断,S7-200 SMART规定的中断优先由高到低依次是:通信中断、I/O中断和时基中断。每类中断中不同的中断事件又有不同的优先权。

中断指令主要包括以下几种:

  1. ATCH:中断连接,连接某中断事件所要调用的程序段。
  2. ENI:全局允许中断,开放中断处理功能。
  3. DISI:全局禁止中断,禁止处理中断服务程序,但中断事件仍然会排队等候。
  4. DTCH:中断分离,将中断事件号与中断服务程序之间的关联切断,并禁止该中断事件。
  5. RETI:条件中断返回,根据逻辑操作的条件,从中断服务程序中返回。
  6. CLR_EVNT:清空中断队列。

与S7-200相比,下表所示中断事件号为S7-200 SMART 所特有的 :

表1.S7-200 SMART 特有中断事件号

事件号说明CR40SR20/SR40/ST40/SR60/ST60
35上升沿,信号板输入0NY
36下降沿,信号板输入0NY
37上升沿,信号板输入1NY
38下降沿,信号板输入1NY

中断指令的有效操作数如下:

表2.中断指令的有效操作数

输入/输出数据类型操作数
INTBYTE常数: 中断例程编号(0 到 127)
EVNTBYTE常数: 中断事件编号(CPU CR40: 0-13、16-18、21-23、27、28 和 32CPU SR20、SR40、ST40、SR60、ST60: 0-13、16-18、21-28、32和 35-38)

中断程序实例

本例使用定时中断实现对100ms定时周期计数。我们使用特殊存储器定时中断0。由定时中断0的中断事件号为10,确定周期的特殊寄存器字节时SMB34。

该程序主要包括以下几部分:

  1. SBR_0:中断初始化程序;
  2. INT_0:中断服务程序;

在主程序中调用SBR_0,如下图所示:

图1.SBR_0的调用

其中,初始化中断程序秩序调用一次,因此用SM0.1作为条件。

SBR_0编程如下图所示:

图2.SBR_0编程

其中,写入定时周期数100ms,连接10号中断事件即定时中断0,指定中断服务程序名称为INT_0。

INT_0编程如下图所示:

图3.INT_0编程

其中,用双字长的整数加法对VD200自身加1。

注意:中断程序的初始化只需执行一次。也可根据需要重新定义中断事件。

使用状态表监视,VD200的内容就是100ms周期到达的次数,如下图所示:

图4.状态表监视

中断例程

例程所需条件:

1、软件版本:STEP 7-Micro/WIN SMART V2.3

2、SMART CPU固件版本:V1.0及以上

3、通讯硬件:TP电缆(以太网电缆)

所实现的功能:

1.通过SMB34做100ms的定时中断

2.通过VD200自累加1,计算进入中断的次数

SMB34_interrupt

注意:本例程仅供参考,程序中的CPU版本、类型可能与用户实际使用不同,用户可能需要先对例子程序做修改和调整,才能将其用于测试。本例程的作者和拥有者对于该例程的功能性和兼容性不负任何责任,使用该例程的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。

剩余80%未阅读,请登录查看大全章节内容

  • 评论
更多
  • 分享

    扫码分享

扫码进入移动端

信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。