中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

PLC论坛

抖音 德嘉 泓格论坛 FLIR红外热像论坛
工控论坛首页 PLC论坛 → 浏览主题: 程序家族的故事(5)
发表新帖 回复该主题
回帖:1个,阅读:1144 [上一页] [1] [下一页]
* 帖子主题:

程序家族的故事(5)

分享到
5994
liaosun
文章数:1398
年度积分:50
历史总积分:5994
注册时间:2003/5/4
发站内信
2015论坛贡献奖
2014论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011博客贡献奖
2010博客杰出贡献奖
发表于:2010/7/21 8:18:27
#0楼
1.中断与中断程序
   有很多PLC内部或外部的事件是随机发生的,例如外部开关量输入信号的上升沿或下降沿、通信事件、高速计数器的当前值等于设定值和定时中断等,事先并不知道这些事件何时发生,但是它们出现时需要尽快地处理它们,PLC用中断来快速处理上述事件。
   例如电力系统出现故障时,可能引发多个断路器相继跳闸。为了分析故障的起因,需要及时准确记录事故发生的时间。可以用硬件中断来完成这一任务。
   由于PLC的扫描工作方式,普通定时器的定时误差很大,定时时间到了也不能马上去处理要作的事情。可以用定时中断来实现高精度定时,在定时时间到时CPU自动调用定时中断程序。
   在出现一个中断事件时,当前正在执行的程序在当前指令执行完后被停止执行(被中断),操作系统将会调用一个用户编写的分配给该事件的中断程序(S7-300/400称为组织块)。中断程序被执行完后,被暂停执行的程序将从被中断的地方开始继续执行。这一过程不受PLC扫描工作方式的影响,因此使PLC能迅速响应中断事件。换句话说,中断程序不是在每次扫描循环中处理,而是在需要时才被及时地处理。
   2.中断的优先级
   中断事件有不同的优先级,高优先级的中断程序可以中断低优先级的中断程序。
   如果在执行中断程序时,又检测到一个中断请求,CPU将比较两个中断源的中断优先级。如果优先级相同,按照产生中断请求的先后次序进行处理。如果后者的优先级比正在执行的中断源的优先级高,将中止当前正在处理的中断程序,改为调用较高优先级的中断源的中断程序,这种处理方式称为中断程序的嵌套调用。
   3.中断的控制
   不是所有的用户都需要PLC的中断功能,用户一般也不需要处理所有的中断事件,因此允许用户用指令来控制是否需要中断和需要哪些中断。
   S7-200的中断允许指令EI允许处理中断事件。至于需要处理哪些中断事件,需要单独设置。禁止中断指令DI禁止处理所有的中断事件。
   S7-200进入RUN模式时自动禁止中断,在RUN模式执行中断允许指令后,各中断事件发生时是否会执行中断程序,取决于是否执行了该中断事件的中断连接指令ATCH。
   中断分离指令DTCH用来断开某个中断事件与中断程序之间的联系,从而禁止单个中断事件。
   4.编写中断程序应注意的问题
   因为不能预知系统何时调用中断程序,为了避免在中断程序中改写其他程序使用的存储器,在中断程序中应尽量使用局部变量。
   应优化中断程序,使中断程序尽量短小,以减少中断程序的执行时间,减少对其他处理的延迟,否则可能引起主程序控制的设备操作异常。设计中断程序时应遵循“越短越好”的格言。为了减少中断程序的执行时间,可以在中断程序设置一个软件标志,在主程序中根据标志处理对于快速性要求不是很高、执行时间很长的任务。
   5.中断程序为什么没有输入、输出变量?
   中断程序不像子程序那样,被用户程序调用,而是在中断事件发生时,由操作系统调用,因此S7系列PLC的中断程序不需要输入参数和输出参数,它的局部变量表中只有临时变量。S7-300/400的中断程序称为组织块,它有自动生成的20字节的临时局部变量,包含了与触发组织块的事件有关的信息,它们由操作系统提供。

----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=119770&Name=liaochangchu



[此贴子已经被jint于2010/7/21 12:32:40编辑过]
我是廖常初,是一个高校的老师,曾在企业从事机械、电气技术工作,长期从事工业控制和PLC应用的教学、科研和工程应用工作。博客中的日志除注明外均为原创。愿意在此与大家探讨工控的问题!
廖常初工控博客地址:http://blog.gkong.com/blog.asp?name=liaochangchu
我曾写过几本小书: 《PLC编程及应用》第3版(S7-200)、《S7-300/400 PLC应用技术》第3版、《FX系列PLC编程及应用》第2版、《S7-200 PLC编程及应用》、《PLC基础及应用》第2版(FX系列大专教材)、《西门子人机界面(触摸屏)组态与应用技术》、《西门子工业通信网络组态编程与故障诊断》、《S7-1200 PLC编程及应用》第2版、《跟我动手学S7-300/400 PLC》、《跟我动手学FX系列PLC》
机械工业出版社廖常初图书专题:http://www.gkong.com/zt/liaochangchu/
3429
EEbeginner 版主
文章数:1819
年度积分:50
历史总积分:3429
注册时间:2009/11/19
发站内信
发表于:2010/7/21 11:02:13
#1楼
呵呵,廖老师的文章,学习一下。
工控学堂推荐视频:

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

31.2002