电工学习网

 找回密码
 立即注册
查看: 11690|回复: 2
打印 上一主题 下一主题

S7-300中断的使用

[复制链接]
跳转到指定楼层
楼主
发表于 2014-8-28 14:44:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
S7-300中断的使用
  虽然扫描是plc的主要工作方式,但是在日常使用过程中,中断作为一种辅助工作方式,也对我们整个的控制过程起到了不可或缺的作用。那么要掌握中断的使用首先我们必须了解中断到底是什么,以及扫描与中断的关系。


  1 、彻底理解中断与扫描
  说到中断可能很多人都对中断的本质含义都似懂非懂,这里如果我还是把定义和概念拉出来,肯定有人就要骂娘了,所以我还是拿讲课和大家打个比方,用这个例子把扫描和中断和大家讲清楚。

  首先我们来看什么是中断工作方式,比方说有1个老师和10个学生,那么老师讲课的过程就相当于执行主程序,这时有学生突然有问题,举手向老师提问,那么这个学生就打断了老师的讲课,就相当于中断了主程序。老师停止讲课去回答这个学生的问题就相当于在执行中断程序。当老师回答完这个学生的问题,继续开始讲课。这对于PLC来说就相当于执行完中断程序,返回继续执行主程序。

  那什么又是扫描的工作方式呢?还是以上课为例,老师讲课的时候不允许学生提问,当课程讲完后老师先问第1个学生是否有问题,如果第1个学生没有问题,老师问第2个学生是否有问题,以此类推,但是当老师问到第8个学生的时候,突然第1个学生说我有问题,这时如果按照扫描的工作方式,老师是不去理会第1个学生的,只有当老师问完第10个学生后才会来处理第1个学生的问题。

  其实稍微熟悉一点计算机工作原理的朋友都应该清楚通常我们的笔记本或者台式机主要都是采用中断的工作方式,我们点一下鼠标或者按一下键盘,都相当于那个举手提问打断老师讲课的学生,而PLC则采用以循环扫描为主,中断为辅的工作模式。既然PLC也是计算机的一种,为什么PLC不采用普通电脑以中断为主的工作方式呢?很明显以中断为主的工作模式的运行效率要比以循环扫描为主的工作模式效率要高得多。下面我们回到这样一个场景,如果一个学生问题非常多老师刚回答完他的问题,他就又举手提问,如此往复不停循环,那么这节课就上不下去了,这对于我们电脑来说就叫做死机,也就是一个进程占据了系统所有的资源。这就是中断工作模式的缺点,虽然工作效率高但有可能会死机,而我们的PLC是绝对不能出现死机这种情况的,因此PLC为了保证运行的稳定,牺牲了部分工作效率而采用了循环扫描为主的工作模式。

  2、S7-300中断的使用
  虽然循环扫描是PLC的主要工作模式,但是中断的使用在PLC的应用过程中也是必不可少的,下面我们就来看看在S7-300中都有哪些中断是我们常用的。这里我们需要注意所有的中断只要建立就可以使用,不需在OB1中进行调用。

  2.1    时间日期中断
  对于时间日期中断就是这个中断事件是由时间和日期触发的到我们设定好的具体的时间这个中断就会产生,在Step 7中时间日期中断程序是组织块OB10~OB17,但是在S7-300CPU中我们只能使用OB10

S7-300中断的使用
2-1

  下面我们来演示如何使用OB10来进行编程
  1)  建立OB10组织块并写下如下图程序
S7-300中断的使用
2-2

  2) CPU硬件组态进行设置
S7-300中断的使用
2-3

  3) 建立变量表监控MW100
S7-300中断的使用
2-4
  4)     MW100在21:46时由变为999说明OB10在21:46时执行了一回

  2.2  循环中断
  所谓循环中断就是说中断的产生是周期性的,每隔固定时间就会执行该中断程序,在Step 7中可以使用的循环中断有OB30~OB38S7-300中我们只能使用OB35,下面我们来看看如何使用循环中断完成周期为1S的脉冲程序的编写。

  1)  建立OB35组织块并编写如下程序,注意这里的目的是让M4.01S为周期发出脉冲。
S7-300中断的使用
2-5

  2) CPU硬件组态进行设置
S7-300中断的使用
2-6

  3)建立变量表监控M4.0
S7-300中断的使用
2-7

  4) 通过监控发现M4.0以一秒钟为周期闪烁,这是因为我们将OB35的循环周期设为500ms所以OB35中程序每500ms执行一次,通过对程序分析我们可以得出M4.0 500ms1,500ms0,周期为1S

  2.3     启动中断
  所谓启动中断指的是PLCStop状态到Run状态中产生的中断,在Step7中我们使用的启动中断程序是OB100,下面我们一起来看看启动中断OB100是如何运行的。

  1) 建立OB100并在OB100中编写如下图所示程序
S7-300中断的使用
2-8

  2)监控MW100,可以看到MW100PLCstop编程Run的瞬间数值由0编程222
S7-300中断的使用
2-9

  2.4     诊断中断
  对于诊断中断主要是处理PLC的各种故障时使用的,用的时候只需建立并将这些中断块下载到CPU中即可,不用编程。当PLC发生相应故障时这些中断块就能有效的防止PLC停机。对应我们通常会使用到的诊断中断有OB80~OB87OB121OB122具体这些中断是处理哪些故障的大家有需要的话可以查看Step 7的帮助,这里我就不做搬运工了。


-------------------------------
作者:马乐
版权所属: 技成培训网




回复

使用道具 举报

沙发
发表于 2015-2-11 01:55:25 | 只看该作者
感谢分享和你最好的好东西非常感谢,我们将再次学习的感谢

回复 支持 反对

使用道具 举报

板凳
发表于 2015-2-23 20:27:05 | 只看该作者
谢谢分享:):):):):):):):):):):):):):):):)

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

电工学习网 ( )

GMT+8, 2024-5-16 20:17

Powered by © 2011-2022 www.diangon.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

快速回复 返回顶部 返回列表