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

发布者:清新生活最新更新时间:2025-09-05 来源: elecfans关键字:西门子  S7-200  SMART  中断程序 手机看文章 扫描二维码
随时随地手机看文章

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

24b62424-f944-11ed-90ce-dac502259ad0.jpg?imageView2/2/w/1000

S7-200 SMART的中断

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

24cdd150-f944-11ed-90ce-dac502259ad0.jpg?imageView2/2/w/1000

中断事件

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

24e05078-f944-11ed-90ce-dac502259ad0.jpg?imageView2/2/w/1000

定时中断

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

24fe0adc-f944-11ed-90ce-dac502259ad0.jpg?imageView2/2/w/1000

中断队列

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

251ca032-f944-11ed-90ce-dac502259ad0.jpg?imageView2/2/w/1000

中断指令

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

252d1930-f944-11ed-90ce-dac502259ad0.jpg?imageView2/2/w/1000

中断允许与中断禁止

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

253fb5b8-f944-11ed-90ce-dac502259ad0.jpg?imageView2/2/w/1000

中断连接

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

255019da-f944-11ed-90ce-dac502259ad0.jpg?imageView2/2/w/1000

中断分离

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

25631a08-f944-11ed-90ce-dac502259ad0.png?imageView2/2/w/1000

编写中断程序INT_0

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

256ad4a0-f944-11ed-90ce-dac502259ad0.png?imageView2/2/w/1000

编写中断程序INT_1

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

2582d960-f944-11ed-90ce-dac502259ad0.png?imageView2/2/w/1000

编写主程序调用中断程序

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

258bb486-f944-11ed-90ce-dac502259ad0.png?imageView2/2/w/1000

关键字:西门子  S7-200  SMART  中断程序 引用地址:西门子S7-200 SMART如何编写中断程序?

上一篇:PLC FB函数块和FB函数如何调用?
下一篇:PLC该怎么安装

推荐阅读最新更新时间:2026-03-20 17:50

工业无线数传模块实现西门子S7-300与S7-200 SMART间300米Profinet无线通讯
一、项目背景与核心诉求 某大型装备制造企业的重型装配车间进行智能化改造,需打通控制室内中央与室外露天装配工位的实时 无线通讯 链路。室内控制部署 S7-300 ( 315-2PN/DP),承担整条装配线的生产调度、设备联动及数据汇总任务,需 PLC数据无线传输 实时获取室外工位的螺栓紧固扭矩、液压系统压力、工件定位坐标等关键数据,并下发启停控制、参数调整等指令;室外露天装配工位部署 西门子 S7-200 SMART PLC (CPU SR60),直接对接 23台(含 12路数字量传感器、8路量传感器)及 3台执行器(液压阀、、紧固),负责前端数据采集与指令执行。 项目核心痛点与诉求如下 室内
[单片机]
工业无线数传模块实现<font color='red'>西门子</font>S7-300与<font color='red'>S7-200</font> <font color='red'>SMART</font>间300米Profinet无线通讯
浅析西门子S7-200 SMART PLC常用编程指令
01 一、定时器 1、S7-200 SMART CPU提供了接通延时定时器、(TON)、保持型接通延时定时器(TONR)、断开延时定时器(TOF)三种定时器。 2、定时器编号与分辨率 3、定时器实例分析 ①接通延时定时器 TON ②保持型接通延时定时器 TONR ③断开延时定时器 TOF 02 二、计数器 1、S7-200 SMART CPU提供了加计数器(CTU)、减计数器(CTD)、加减计数器(CTUD)三种计数器。 2、计数器实例分析 ①加计数器 CTU ②减计数 CTD ③加减计数器 CTUD 03 三、循环指令 1、S7-200 SMART CPU提供了FOR-NE
[嵌入式]
浅析<font color='red'>西门子</font><font color='red'>S7-200</font> <font color='red'>SMART</font> PLC常用编程指令
西门子S7-200 SMART PLC-PID指令(上)
一、PID控制 PID控制又称比例积分微分控制,是一种闭环控制。下面以图1所示的恒压供水系统为例来说明PID控制原理。 图6-59 恒压供水系统的PID控制 电动机驱动水泵将水抽入水池,水池中的水除了经出水口提供用水外,还经阀门送到压力传感器,传感器将水压大小转换成相应的电信号Xf,Xf反馈到比较器与给定信号Xi进行比较,得到偏差信号△X(△X=Xi-Xf)。 若△X 0,表明水压小于给定值,偏差信号经PID运算得到控制信号,控制变频器,使之输出频率上升,电动机转速加快,水泵抽水量增多,水压增大。 若△X 0,表明水压大于给定值,偏差信号经PID运算得到控制信号,控制变频器,使之输出频率下降,电动机转速变慢,水泵抽水量减少,水
[嵌入式]
<font color='red'>西门子</font><font color='red'>S7-200</font> <font color='red'>SMART</font> PLC-PID指令(上)
西门子S7-200 SMART模拟量模块编程
一.模拟量模块接线 1.普通模拟量模块接线 模拟量类型的模块有三种:普通模拟量模块、RTD模块和TC模块。普通模拟量模块可以采集标准电流和电压信号。其中,电流包括:0-20mA、4-20mA两种信号,电压包括:+/-2.5V、+/-5V、+/-10V三种信号。注意:S7-200 SMART CPU普通模拟量通道值范围是0~27648或-27648~27648。普通模拟量模块接线端子分布如下图1 模拟量模块接线所示,每个模拟量通道都有两个接线端。 图1 模拟量模块接线 模拟量电流、电压信号根据模拟量仪表或设备线缆个数分成四线制、三线制、两线制三种类型,不同类型的信号其接线方式不同。四线制信号指的是模拟量仪表或设备上信号线和电源线
[嵌入式]
<font color='red'>西门子</font><font color='red'>S7-200</font> <font color='red'>SMART</font>模拟量模块编程
西门子S7-200 SMART PLC位逻辑指令总述
基本指令是PLC最常用的指令,主要包括位逻辑指令、定时器指令和计数器指令 总述:位逻辑指令 在STEP 7-Micro/WIN SMART 软件的项目指令树区域,展开“位逻辑”指令包,可以查看所有的位逻辑指令,如图4-1所示。位逻辑指令有16条,可大致分为触点指令、线圈指令、立即指令、RS触发器指令和空操作指令。 图4-1 位逻辑指令 一、 触点指令 触点指令可分为普通触点指令和边沿检测触点指令。 1.普通触点指令 普通触点指令说明如表4-1所示。 表4-1 普通触点指令说明 2.边沿检测触点指令 边沿检测触点指令说明如表4-2所示。 表4-2 边沿检测触点指令说明 二、线圈指令 1.指令说明 线圈指令说明如表4-3所
[嵌入式]
<font color='red'>西门子</font><font color='red'>S7-200</font> <font color='red'>SMART</font> PLC位逻辑指令总述
西门子S7-200 SMART 模拟量模块PLC接线图汇总
一. S7-200 SMART数字量I/O接线图 不同型号CPU输入/输出接线 图1. CPU SR20接线图 图2. CPU SR40接线图 图3. CPU CR40接线图 图4. CPU ST40接线图 图5. CPU SR60接线图 图6. CPU ST60接线图 数字量输入接线 图7. 漏型输入接法 图8. 源型输入接法 对于大多数输入来讲,都是24VDC输入,其中ST CPU的 I0.0-I0.3 支持 5-24V 输入,另外ST20/30 的I0.6、I0.7也支持5-24V输入。如下表所示: S7-200 SMART的数字量输入点内部为双向二级管,可以接成漏型(图7)或源型(图8),只
[嵌入式]
<font color='red'>西门子</font><font color='red'>S7-200</font> <font color='red'>SMART</font> 模拟量模块PLC接线图汇总
西门子S7-200 SMART PLC知识科普
一、S7-200 SMART的数据主要分为: 1、与实际输入/输出信号相关的输入/输出映象区: I:数字量输入(DI)。 Q:数字量输出(DO)。 AI:模拟量输入。 AQ:模拟量输出。 2、内部数据存储区 V:变量存储区,可以按位、字节、字或双字来存取V 区数据。 M:位存储区,可以按位、字节、字或双字来存取M区数据。 T:定时器存储区,用于时间累计。 C:计数器存储区,用于累计其输入端脉冲电平由低到高的次数。 HC:高速计数器,独立于 CPU 的扫描周期对高速事件进行计数,高速计数器的当前值是只读值,仅可作为双字(32 位)来寻址。 AC:累加器,可以像存储器一样使用的读/写器件,可以按位、字节、字或双字访问累加器中的数据。
[嵌入式]
<font color='red'>西门子</font><font color='red'>S7-200</font> <font color='red'>SMART</font> PLC知识科普
2台S7-200 SMART PLC自由口通信实现案例
在一些特定场合,比如说与松下系列伺服驱动器的控制时,为了保证数据的安全,我们需要进行多次往返的数据交换,这就需要严格控制通讯的时间。那么这个时候对于PLC来说通讯就是最重要的,所以我们需要打断PLC的正常功能,优先处理通讯,这就需要通讯中断。 实例:2台S7-200 SMART CPU(端口0)采用自由口通信方式实现相互通信 (本文仅为展示自由口通讯和中断,如果想要实现这两个PLC的通讯其实最好是使用向导进行以太网通讯,有机会我们也会进行讲解!) 通信任务:CPU1 每秒触发一次 XMT 指令将 CPU 的实时时钟发送到 CPU2;CPU2 接收到 CPU1 发送的信息后立即将 CPU2 的实时时钟回复到 CPU1。 接线
[嵌入式]
2台<font color='red'>S7-200</font> <font color='red'>SMART</font> PLC自由口通信实现案例
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved