0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是中断?西门子S7-200 SMART如何编写中断程序?

工控论坛 来源:工控论坛 作者:工控论坛 2023-05-28 09:37 次阅读

中断就是中止当前正在运行的程序,去执行为立刻响应的信号而编写的中断服务程序,执行完毕后再返回原来中止的程序并继续执行。西门子S7-200 SMART CPU最多支持38个中断事件,其中8个为预留。为了便于识别,系统给每一个中断事件都分配了一个编号,又称中断事件号。

c3676996-fcc0-11ed-90ce-dac502259ad0.jpg

S7-200 SMART的中断

所有中断事件可以分为三大类:通信中断、I/O中断、定时中断。通信中断为CPU的串行通信端口可以由用户进行控制,称为自由端口模式,在该模式下接收信息完成、发送信息完成、接收一个字符均可以产生中断事件,利用接收和发送中断可以简化程序对通信的控制。I/O中断包括:上升沿中断、下降沿中断、高速计时器中断。CPU可以为输入点I0.0至I0.3以及可选信号板的I7.0和I7.1的上升沿或下降沿产生中断。高速计数器中断允许响应HSC的计数器当前值等于设定值、计数方向改变、计数器外部复位等中断事件。

c38f163a-fcc0-11ed-90ce-dac502259ad0.jpg

中断事件

定时中断可以用来进行一个周期性的操作,以1毫秒为增量,周期时间可以取1毫秒至255毫秒。定时中断0和定时中断1的时间间隔分别写入特殊寄存器字节SMB34和SMB35。通常可以使用定时中断来采集模拟量或定时执行PID控制程序。定时器中断T32和T96允许及时响应一个给定时间间隔的结束,只有1毫秒分辨率的接通延时TON和断开延时TOF定时器,T32和T96支持此类中断,启用中断后当定时器的当前值等于预设值时,在CPU的1毫秒定时刷新中执行被连接的中断程序。

c3b2f24e-fcc0-11ed-90ce-dac502259ad0.jpg

定时中断

每类中断中不同的中断事件又有不同的优先权,多个中断事件同时发生时,根据优先级组以及组内优先权来确定首先处理哪一个中断事件。优先级相同时,CPU按照先来先服务的原则处理中断。任何时刻CPU只能执行一个用户中断程序。一旦一个中断程序开始执行,它要一直执行到完成,即使更高优先级的中断事件发生,也不能中断正在执行的中断程序。正在处理另一个中断时发生的中断会进行排队等待处理。每一个优先级组分别设立相应的队列,产生的中断事件分别在各自的队列排队,先到先处理,各队列能保存的最大中断数以及队列溢出特殊寄存器位如下图表中所示。

c3c2a54a-fcc0-11ed-90ce-dac502259ad0.jpg

中断队列

西门子S7-200 SMART规定的中断优先级由高到低依次是通信中断、I/O中断、定时中断。S7-200 SMART的中断管理是通过指令完成的,中断指令包括中断允许与中断禁止指令、中断连接与中断分离指令。CPU进入RUN模式时,自动禁止所有中断。

c3d53c32-fcc0-11ed-90ce-dac502259ad0.jpg中断指令

中断允许指令,全局性地启用对所有连接的中断事件的处理。中断禁止指令,全局性地禁止对所有中断事件的处理,但是已建立了关联的中断事件仍将继续排队。从中断程序有条件返回指令,在控制它的逻辑条件满足时,从中断程序返回。编译程序自动为各中断程序添加无条件返回指令。

c3f2ee30-fcc0-11ed-90ce-dac502259ad0.jpg

中断允许与中断禁止

中断连接指令,用来建立中断事件号EVNT与中断程序编号之间的联系,并自动允许该中断事件进入相应的队列排队,能否执行处理还要看禁止的情况。多个中断事件允许与同一个中断程序相关联,但同一个中断事件不允许与多个中断程序相连。

c4142c62-fcc0-11ed-90ce-dac502259ad0.jpg

中断连接

中断分离指令,解除中断事件EVNT与所有中断程序的关联,所指定的中断事件不再进入中断队列,从而禁止单个中断事件。清除中断指令,从中断队列中清除所有编号为EVNT的中断事件。该指令可以用来清除不需要的中断事件。

c43c2b90-fcc0-11ed-90ce-dac502259ad0.jpg

中断分离

接下来我们通过一个简单的例子来学习中断指令的使用,并练习编写中断程序。在I0.0的上升沿通过中断使Q0.0立即置位,在I0.1的下降沿通过中断使Q0.0立即复位。我们来编写程序,启动STEP7-Micro/WIN SMART创建一个新项目,创建新项目后首先编写处理I0.0上升沿事件的中断程序,在指令树的位逻辑中拖放一个常开触点到中断程序INT_0,输入地址SM0.0,再拖放一个立即置位指令,输入地址Q0.0,置位个数为1。

c44a6d04-fcc0-11ed-90ce-dac502259ad0.png

编写中断程序INT_0

我们再来编写一个处理I0.1下降沿事件的中断程序,插入一个新的中断程序INT_1,拖放一个常开触点SM0.0,再拖放一个立即复位指令,输入地址Q0.0,复位个数为1。

c4652216-fcc0-11ed-90ce-dac502259ad0.png

编写中断程序INT_1

回到主程序,拖放一个常开触点输入地址SM0.1,在指令树的中断文件夹中拖放中断连接指令到编程区域,INT处输入0号中断程序名,EVNT处输入I0.0上升沿事件号0,向下分支,再拖放一个中断连接指令,INT处输入1号中断程序名,EVNT处输入I0.1下降沿事件3,继续向下分支,拖放一个中断允许指令,这样在程序第一次扫描时就关联了中断事件以及相应的中断服务程序并允许全局中断,程序编写完成后保存项目。

c4939dda-fcc0-11ed-90ce-dac502259ad0.png

编写主程序调用中断程序

下载并测试。将项目编译并下载到PLC,在状态图表中输入地址Q0.0,启动对状态图表变量的持续监视,拨动外接开关使I0.0产生上升沿,Q0.0立即变为1,拨动外接开关使I0.1产生下降沿,Q0.0立即变为0。

c4c0e448-fcc0-11ed-90ce-dac502259ad0.png

测试程序

本篇我们介绍了什么是中断,并通过一个实例学习了中断指令的使用,编写测试了中断程序,后续的文章中我会继续为大家分享西门子S7-200 SMART的相关内容,欢迎持续关注。

来源:网络,侵权联系删除。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 西门子
    +关注

    关注

    94

    文章

    3034

    浏览量

    115779
  • 中断
    +关注

    关注

    5

    文章

    898

    浏览量

    41470
  • 程序
    +关注

    关注

    117

    文章

    3785

    浏览量

    81003

原文标题:什么是中断?西门子S7-200 SMART如何编写中断程序?

文章出处:【微信号:gkongbbs,微信公众号:工控论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    西门子s7-200库函数安装程序

    西门子s7-200库函数安装程序,官网的200库函数程序含有全部西门子原装库函数
    发表于 01-20 15:55 4次下载

    西门子S7-200应用实例(入门经典)

    西门子S7-200应用实例(入门经典)。
    发表于 03-22 14:14 136次下载

    西门子S7-200使用教程

    西门子S7-200 PLC仿真软件超详细使用教程西门子S7-200使用教程
    发表于 05-06 16:43 0次下载

    西门子S7-200以太网通讯解决方案

    BCNet-S7PPI用于西门子S7-200以太网编程下载、数据监控,同时支持S7-200 SMART、亿维、合信等PLC。BCNet-
    发表于 01-16 15:49 1.7w次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>S7-200</b>以太网通讯解决方案

    西门子PLC S7-200smart程序下载错误分析

    在实际的工程项目中,客户越来越多地选择 S7-200 smart系列PLC,并且在各个工程项目现场S7-200 smart都有良好的表现。在程序
    发表于 07-23 15:27 4666次阅读

    西门子PLC教案(S7-200)

    关于西门子PLC教案(S7-200)资料免费下载。
    发表于 04-29 14:50 233次下载

    西门子S7-200高级应用

    西门子S7-200高级应用说明。
    发表于 05-06 17:28 85次下载

    西门子 S7-200 通过模块连接LABVIEW 通讯

    产品简介:北京华科远创科技有限研发的远创智控ETH-YC模块,型号有MPI-ETH-YC01和PPI-ETH-YC01,适用于西门子S7-200/S7-300/S7-400、
    发表于 05-22 14:52 2038次阅读
    <b class='flag-5'>西门子</b> <b class='flag-5'>S7-200</b> 通过模块连接LABVIEW 通讯

    西门子 S7-200 通过模块连接易控通讯步骤介绍

    产品简介:北京华科远创科技有限研发的远创智控ETH-YC模块,型号有MPI-ETH-YC01和PPI-ETH-YC01,适用于西门子S7-200/S7-300/S7-400、
    发表于 05-22 14:57 3147次阅读
    <b class='flag-5'>西门子</b> <b class='flag-5'>S7-200</b> 通过模块连接易控通讯步骤介绍

    西门子PLC S7-200 SMART PID控制功能分享

    西门子PLC S7-200 SMART是经济性好的一款西门子PLC产品,它的产品种类丰富,配件多样,软件界面友好,并可以和西门子触摸屏组合控
    的头像 发表于 04-06 14:46 9588次阅读

    西门子S7-200Smart如何转换Modbus

    西门子S7-200Smart Modbus网关
    的头像 发表于 11-03 18:41 4024次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>S7-200Smart</b>如何转换Modbus

    西门子S7-200 SMART编程技巧

    【导读】分享一个西门子S7-200 SMART编程技巧。
    的头像 发表于 07-10 10:10 2369次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>S7-200</b> <b class='flag-5'>SMART</b>编程技巧

    PLC西门子S7-200smartS7-1200的区别?

    PLC西门子S7-200smartS7-1200的区别? 西门子S7-200 smart
    的头像 发表于 11-17 11:41 1w次阅读

    西门子S7-200 Smart PLC加密设置全面指南

    本文将详细介绍西门子S7-200 Smart PLC的加密设置方法,帮助用户更好地保护PLC程序的安全。
    发表于 03-27 10:14 1.1w次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>S7-200</b> <b class='flag-5'>Smart</b> PLC加密设置全面指南

    S7协议读取西门子S7-200 Smart PLC数据

    西门子S7-200 Smart PLC因其稳定性和易用性而广泛应用。通过使用S7协议,可以实现对PLC数据的高效读取和控制。本文将详细介绍如何使用S
    的头像 发表于 07-11 11:55 5652次阅读
    <b class='flag-5'>S7</b>协议读取<b class='flag-5'>西门子</b><b class='flag-5'>S7-200</b> <b class='flag-5'>Smart</b> PLC数据