西门子S7-200 SMART中断及中断指令概述

简介: 上篇文章我们学习了西门子S7-200 SMART如何使用存储卡复位CPU到出厂设置、固件升级和程序传输,本篇我们来介绍西门子S7-200 SMART的中断及中断指令。中断就是中止当前正在运行的程序,去执行为立刻响应的信号而编写的中断服务程序,执行完毕后再返回原来中止的程序并继续执行。西门子S7-200 SMART CPU最多支持38个中断事件,其中8个为预留。为了便于识别,系统给每一个中断事件都分配了一个编号,又称中断事件号。

上篇文章我们学习了西门子S7-200 SMART如何使用存储卡复位CPU到出厂设置、固件升级和程序传输,本篇我们来介绍西门子S7-200 SMART的中断及中断指令。中断就是中止当前正在运行的程序,去执行为立刻响应的信号而编写的中断服务程序,执行完毕后再返回原来中止的程序并继续执行。西门子S7-200 SMART CPU最多支持38个中断事件,其中8个为预留。为了便于识别,系统给每一个中断事件都分配了一个编号,又称中断事件号。


640.jpg


S7-200 SMART的中断

 

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


640.jpg


中断事件

 

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


640.jpg

定时中断

 

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


640.jpg

中断队列

 

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


640.jpg

中断指令

 

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



中断允许与中断禁止

 

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


640.jpg


中断连接

 

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


640.jpg

中断分离

 

本篇我们简单介绍了西门子S7-200 SMART的中断及中断指令,下篇我们继续学习西门子S7-200 SMART的相关内容,欢迎持续关注!

相关文章
|
5月前
|
Linux API
设备树知识小全(八):中断连接
设备树知识小全(八):中断连接
124 0
|
存储 Linux
RISC-V SiFive U54内核——PLIC平台级中断控制器
RISC-V SiFive U54内核——PLIC平台级中断控制器
【C51单片机】中断系统之单一外中断应用
【C51单片机】中断系统之单一外中断应用
|
存储 安全 存储控制器
ZYNQ裸板:中断篇
中断对于单片机过来的我们来说,相对也算比较熟悉了,还是严谨一点从头开始说吧。中断是什么?是一种当满足要求的突发事件发生时通知处理器进行处理的信号。中断可以由硬件处理单元和外部设备产生,也可以由软件本身产生。对硬件来说,中断信号是一个由某个处理单元产生的异步信号,用来引起处理器的注意。对软件来说,中断还是一种异步事件,用来通知处理器需要改变代码的执行,当然,轮询所产生的中断的过程是同步的。
822 0
ZYNQ裸板:中断篇
STM32外中断
STM32外中断
79 0
|
编解码
什么是中断?西门子S7-200 SMART如何编写中断程序
中断就是中止当前正在运行的程序,去执行为立刻响应的信号而编写的中断服务程序,执行完毕后再返回原来中止的程序并继续执行。
什么是中断?西门子S7-200 SMART如何编写中断程序
|
监控 C语言 Perl
西门子S7-1200编程实例,置位/复位指令如何使用?
本节我们来学习置位/复位指令,并通过一个电机起保停控制的实例来学习置位/复位指令如何使用。
西门子S7-1200编程实例,置位/复位指令如何使用?
|
虚拟化 芯片
CORTEX-A7芯片中断系统基本原理与控制方法
CORTEX-A7芯片中断系统基本原理与控制方法
402 0
CORTEX-A7芯片中断系统基本原理与控制方法
|
内存技术
【嵌入式】位带操作+咬尾中断+晚到中断 解析
位带操作 什么是位带操作? 对32MB SRAM 别名区的访问映射为对1MB SRAM的bit-band 区的访问。 对32MB 外设别名区的访问映射为对1MB 外设bit-band 区的访问。
744 0
单片机:定时器0和1中断(内含硬件内容详解+软件编程)(ps:此处硬件执行结构间的理解是重中之重)
单片机:定时器0和1中断(内含硬件内容详解+软件编程)(ps:此处硬件执行结构间的理解是重中之重)
500 0
单片机:定时器0和1中断(内含硬件内容详解+软件编程)(ps:此处硬件执行结构间的理解是重中之重)