西门子PLC学习笔记二十一-(中断处理一)
中断处理用来实现对特殊内部事件或外部事件的快速响应。CPU检测到中断请求时,立即响应中断,调用中断源对应的中断程序(OB)。执行完中断程序后,返回被中断的程序中。
中断源类型主要有:I/O模块的硬件中断,软件中断,例如日期时间中断、延时中断、循环中断和编程错误引起的中断等。
1.日期时间中断组织块
日期时间中断组织块有OB10~OB17.CPU318只能支持OB10和OB11,其余的S7-300CPU只支持OB10.S7-400支持的日期时间中断OB的个数与CPU的型号有关。
日期时间中断可以在某一特定的时间和日期执行一次,也可以从设定的日期时间开始,周期性地重复执行,例如每分钟、每小时、每天、甚至每年执行一次。
1)设置日期时间中断有两种方法
A.采用SFC28“SET_TINT”和SFC30“ACT_TINT”设置和激活日期时间中断。
B.在硬件组态界面,通过右击CPU模块,设置选项卡”Time-Of-Day Interrupts"进行设置。在“Time-Of-Day Interrupts”选项卡中设置好时间,同时选择“Active”激活多选框,将硬件下载到CPU中,即可实现日期时间中断的自动启动。
C.结合A、B两种方法,使用B中的方法,但是不勾选“Active”复选框,用来设置中断循环周期及相关中断参数;在代码中使用SFC30“ACT_TINT"来激活日期时间中断。
2)查询日期时间中断
使用SFC31”ORY_TINT“可以查询出程序中都设置了哪些日期时间中断,以及这些中断什么时候发生。SFC31输出的状态字节如下表所示:
3)禁止和激活日期时间中断
SFC28用于取消日期时间中断、SFC29用于重新设置时间中断、SFC30用于激活日期时间中断。
在调用SFC28设置循环周期”OB10_PERIOD_EXE"时,可以设置以下参数:
W#16#0000(仅执行一次)、W#16#0201(每分钟执行一次)、W#16#0401(每小时执行一次)、W#16#1001(每天执行一次)、W#16#1201(每周执行一次)、W#16#1401(每月执行一次)、W#16#1801(每年执行一次)和W#16#2001(月末执行一次)
4)下面通过一个示例来说明日期中断的使用
例:在I0.0的上升沿时启动日期时间中断OB10,在I0.1为1时禁止日期时间中断,每次中断使用MW2加1。从2015年2月19日8时开始,每分钟中断一次,每次中断MW2被加1.
本程序使用了SFC3“D_TOD_DT"用于将日期和时间整合成日期时间类型,程序编写如下:
a.日期时间中断设置及激活功能FC1
b.OB块调用功能FC1
c.OB10实现NW2增1功能
d.程序运行后效果图
2.延时中断
PLC中的普通定时器的工作与扫描工作方式有关,其定时精度受到不断变化的循环周期的影响。使用延时中断可以获得精度较高的延时,延时中断以ms为单位定时。
S7提供4个延时中断OB(OB20~OB23),CPU可以使用延时中断OB的个数与CPU的型号有关,S7-300(不含CPU318)只能使用OB20,。用SFC32”SRT_DINT"启动,经过设定的时间触发中断,调用SFC32指定的OB。延时中断可以用SFC33“CAN_DINT"取消。用SFC34”ORY_DINT"查询延时中断的状态,它输出的状态字节STATUS如表所示。
例:在I0.0的上升沿用SFC32启动延时中断OB20,10s后OB20被调用,在OB20中将Q4.0置位,并立即输出。在延时过程中如果I0.1由0变为1,在OB1中用SFC33取消延时中断,OB20不会再被调用。I0.2由0变为1时Q4.0被复位。
程序编写如下:
1)OB块设置延时中断定时器
2.延时中断定时器中置位输出
程序代码可以在此下载。
西门子PLC学习笔记二十一-(中断处理一)相关推荐
- 西门子PLC学习笔记二-(工作记录)
今天师傅给讲了讲做自己主动化控制的总体的思路,特进行一下记录,做个备忘. 1.需求分析 本次的项目是对楼宇循环供水的控制,整个项目须要完毕压力.压差.温度等的获取及显示.同一时候完毕电机的控制. 2. ...
- python3.4学习笔记(二十一) python实现指定字符串补全空格、前面填充0的方法
python3.4学习笔记(二十一) python实现指定字符串补全空格.前面填充0的方法 Python zfill()方法返回指定长度的字符串,原字符串右对齐,前面填充0. zfill()方法语法: ...
- Mr.J-- jQuery学习笔记(二十一)--模拟微博页面
先看之前的节点操作方法:Mr.J-- jQuery学习笔记(二十)--节点操作方法 Mr.J-- jQuery学习笔记(五)--属性及属性节点 Mr.J-- jQuery学习笔记(十一)--事件委托 ...
- kvm虚拟化学习笔记(二十一)之KVM性能优化学习笔记
本学习笔记系列都是采用CentOS6.x操作系统,KVM虚拟机的管理也是采用virsh方式,网上的很多的文章都基于ubuntu高版本内核下,KVM的一些新的特性支持更好,本文只是记录了CentOS6. ...
- 西门子PLC学习笔记十一-(装入与传送指令)
S7-300/400指令有:装入与传送指令.比较指令.算术运算指令.字逻辑运算指令.移位指令.逻辑控制指令.程序控制指令.主控指令等. 1.装入与传送指令(不能用于梯形图编程) 装入传送指令实现了各种 ...
- 西门子PLC学习笔记四-(控制三项异步电动机的启动停止)
本篇是学习S7-300的一个小程序,用于对PLC开发简单直观的认识. 1.三项异步电动机电路图 2.PLC控制接线图 从图中可以看出控制按钮接PLC 信号模块SM的I0.0.I0.1端口,输出信号从Q ...
- linux驱动开发学习笔记二十一:异步通知
一.异步通知简介 我们首先来回顾一下"中断",中断是处理器提供的一种异步机制,我们配置好中断以后就可以让处理器去处理其他的事情了,当中断发生以后会触发我们事先设置好的中断服务函数, ...
- 西门子逻辑运算指令_西门子PLC学习笔记七-(位逻辑指令)
位逻辑指令处理的对象为二进制位信号.存储在状态字"RLO"中. 1.触点与线圈指令 1)常开触点 在PLC中规定:操作数为1,则常开触点"动作(闭合)":操作数 ...
- opencv学习笔记二十一:使用HSV颜色空间实现颜色识别
一.颜色空间介绍 RGB 颜色空间是大家最熟悉的颜色空间,即三基色空间,任何一种颜色都可以由该三种 颜色混合而成.然而一般对颜色空间的图像进行有效处理都是在 HSV 空间进行的,HSV( ...
最新文章
- 文本挖掘之文本相似度判定
- css3轮播不用jpuery_15款效果很酷的最新jQuery/CSS3特效
- 2018春节前新马泰游
- 解决VMware虚拟机网络时长中断的问题
- 《企业迁云实战》——2.4 云端实践
- 2018-2019-1 20189204《Linux内核原理与分析》第一周作业
- arcgis pro利用python进行空间插值
- mybatis order by concat用法
- 华硕天选2 安装3060显卡驱动方法
- 关于TikTok环境伪装度检测,whoer和上网大师app的对比
- excel行列互换_excel行列互换方法流程
- Thematic与Continuous区别
- 魔术表演的核心秘密(一)——开篇简介
- 昨天学会2件事,一件是multisim 添加自定义模型或导入模型文件,包括opa695和9013等三极管
- Android 长度单位(dp、sp、px、in、pt、mm)详解
- Linux中set -x 与 set +x命令的使用
- 如何搭建一个机器人控制系统
- html表白程序源码 html生日快乐网站制作 HTML生日快乐代码 表白程序源码html 程序员表白代码html
- 用python代码做个圣诞树,送给心爱的她
- Latex 各种bib style列举
热门文章
- h5向app传递参数
- 突发!Facebook一员工在公司总部跳楼身亡,传是程序员;微软开源新字体Cascadia Code;华为下一个研究前沿是AI...
- 详解SQL的四种连接-左外连接、右外连接、内连接、全连接
- Android 手机运行 传奇4 (MIR4)
- JDK、Tomcat安装步骤
- 动态设置View的宽高、宽高比例(设置ViewPager的高度,宽高比例为2:1)
- 千江有水千江月,万里无云万里天
- 三十多岁女计算机考研,三十岁考研女
- kotlin和java和hashmap转换
- Windows 10 远程桌面记住密码 (mstsc 怎么记住密码)