已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文由南瓜乌梅条贡献 pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 年 月 控 制 工 程 第卷期 文章编号:【) 电梯系统实时控制软件建模及实现 马殷元。姚闯 (兰州交通大学机电技术研究所,甘肃兰州;兰州铁路局兰州车辆段甘肃兰州) 摘 要:为降低开发难度、提高开发效率,提出把基于层次化状态图的建模技术和框架技 术应用于实时控制软件的开发。以电梯控制为例说明了把此技术应用于实时控制软 件开发的过程。首先根据电梯控制要求和电梯算法建立了系统顶层状态图模型。然后分析了 系统任务特性,根据任务特性提出了把控制任务分成局部顺序任务、全局实时任务和异步并 发任务的系统分析方法,给出了任务间通信的方法。提出了用函数封装任务实现状态嵌套、用 置位或复位函数的“使能输八端”进行任务调度的软件实现方法。最后给出了在西门子 上实现的电梯控制的主要程序和解决定时器失效问题的方法。实现的软件具有较高的实时】生, 设计的程序可作为类似控制软件的框架。 关键词:实时控制;建模;框架;电梯 中图分类号: 文献标识码: , ( , , ,; , , ,) : , ¥ “ ” 蒯 ? 比 , : ; 引 言 的应用。软件框架是已经实现过和验证过的完善与 详实的一类软件的模板,可在类似的软件开发中重 用,从而提高开发效率。 本文以电梯控制为研究对象,采用状态 机图建立了控制软件模型,并且介绍了可以作为 类似系统控制软件框架的一个实例一电梯控制系统 的实现方法。 开发实时系统控制软件是一项困难的任务。 文献提到,实时系统设计的许多形式化方法只能 解决“小玩具”问题,这种说法在今天看来仍然是 基本正确的。很多文献中介绍了采用不同方法建立 的电梯控制系统模型,如:改进的 模型、 改进的模型、面向对象的模型。建模的本意是 简化系统,降低系统开发难度,而不少模型较复杂 或脱离实际,对系统实现并无帮助。一些模型只是 对系统的行为进行了直观的描述性建模,距离对系 统的控制还有一段距离。文献中提出了模型驱动 的软件开发方法,但缺乏应用实例。 很少有文献提及框架技术在软件开发中 电梯控制需求描述与电梯算法 简化的电梯系统(忽略超重、报警、到达响铃、 关门阻挡检测等信号,不考虑轿厢启停的速度控 制,每层平层停车位置使用安装在每个楼层的行程 开关检测)的输入信号包括:轿厢内目的楼层请求 按钮、每层的上升招唤按钮、每层的下降招唤按 收稿期:); 收修定稿日期: 作者简介:马殷元(),男,甘肃勤人,副教授,博士,主要从事复杂工业过程建模、计算机控制系统开发等方面的教学与科研工作。 万方数据 ? 控制 工程 第卷 钮、每层的楼层行程开关、开门按钮、关门按钮、 开门限位开关、关门限位开关;输出包括:目的按 钮指示灯、上行招唤按钮指示灯、下降招唤按钮指 示灯、轿厢上升(曳引电机启动正转控制)、轿厢下 降(曳引电机反转控制)、到达楼层显示灯、开(门 控电机正转)、关门(控电机反转)、当前电梯状态 显示灯(下行态、上行态或空闲态)。 电梯完成初始化后开始响应用户招唤按钮和目 的按钮的输入,为用户提供运送服务。这时,用户 和电梯的构成如下: 如图,图所示。 开门按钮压下且门控未使能 罡 无呼叩请求 小干当前屡请求 复位空闲使眈 置位下态使能 置位门控使订 有大干当前屡请求 复位空闲使能 用户请求一电梯服务关系模式。一个轿厢对多 个用户的服务是共享的。为了提高服务效率,需要 按照一定的策略来调度轿厢的移动为多个用户服 务。常用的调度算法是电梯调度算法,简称为“电 梯算法”,它的描述如下: 电梯在运行中服务于同方向上的请求,中途不 改变其运动方向,除非它完成所有同方向上的请 求任务。 竞争仲裁 量位上态使能 图 “空闲态”状态图 ” ” 电梯控制顶层建模 状态图较之经典状态机最主要的改进之处是组 合状态(层次化可嵌套状态)的引入,它在的 模型中加入了对层次和并发的支持,消除了用 模型来描述一些复杂系统时所发生的状态和转换的 爆炸的町能性。同时,组合状态是隐藏内部细节的 理想机制,把复杂性隐藏在组合状态的内部,就可 以在高抽象层次上更加容易的理解和把握系统“。 电梯控制系统模型有多种,系统状态的划分也 有多种。还算合理的一种把系统状态划分为:空闲 态、上升态、下降态。个状态问均有状态转换, 还有状态自身的转换。该模型未考虑电梯调度算 法。 考虑到电梯算法和简化状态图,改进后的电梯 控制状态图模型,如图所示。 图“上升态”状态图 ” ” 上 电梯控制任务分析 图改进的电梯控制状态图模型 由图可见,模型到系统实现还有很大距离。 在此类反应式实时多任务控制系统的开发中,控制 任务的分析与设计对于系统实现至关重要。本文 把控制任务归纳分类成全局实时任务、局部顺序任 务、异步并发任务和周期任务种。本文系统无周 期任务。下面根据任务的特性对其分类。 )局部顺序任务图中所示的个状态对 应于系统的个任务。本文把这些任务定义为局部 顺序任务。原因是,控制器只需要按照顺序执行其 中的一个任务。 该模型每个状态只有一个转换进入点和转换退 出点,结构比较清晰。空闲态向上升态转换的条件 是:有大于当前层的楼层的上升招唤按钮、下降 招唤按钮或轿厢内目的楼层请求按钮被按下。上升 态向空闲态转换的条件为:完成所有上升任务一无 大于当前层的上升招唤按钮、下降招唤按钮或轿厢 内目的楼层请求按钮被按下。 空闲态和上升态控制任务的状态图模型,分别 万方数据 第期 马殷元等:电梯系统实时控制软件建模及实现 ? )全局实时任务 电梯需要对多个用户提供 后,全局实时任务一直被执行,保证了系统对用户 请求响应的实时性。其他类型的任务也有实时性要 求。如:轿厢停靠在一层,此时三层的下降招唤按 钮被压下,导致电梯进入上升态,轿厢在上升运动 途中位于一层与二层中间时又有人按下了二层的上 行招唤按钮,电梯应该在上升到二层时停止并开 门。上升态任务中实时性的关键是轿厢运动过程中 停止的判断和停止动作的执行。图中上升中状态 的任务就是判断是否需要停止,一旦满足条件就执 行停止操作。轿厢停止并开门有种情况。第一种 情况是,将在大于当前层,并且上升招唤按钮被按 下的楼层停止并开门;第种是,将在大于当前层 并且轿厢内目的楼层请求按钮,被按下的层停止并 开门;第种是,将在大于当前层,并且下降招唤 按钮被按下并且“下降招唤按钮”被按下的楼层 是所有召唤中最高的楼层停止并开门。在基于 的控制器实现中,一般来说最大延迟时间为 程序循环扫描时间的倍。这与的速度和程序 的规模有关,同时如果合理调度任务,可以减少程 序扫描时间。 运送服务,用户通过各层或轿厢内的按钮输入服务 请求,电梯控制根据电梯算法,顺序服务用户。尽 管运送服务不是实时的,但要求对用户输入的确认 响应是实时的。当用户按下按钮时,控制系统立即 点亮与上行招唤、下行招唤、目的按钮对应的指示 灯,实时响应确认用户请求,并注册这个请求。此 后,控制系统按照用户请求移动轿厢,到达有请求 的楼层时停止移动轿厢,自动开门,完成对用户的 服务,并熄灭相应的指示灯,注销请求。这种呼叫 显示及用户请求注册功能构成一个全局实时任务, 在电梯正常工作状态中该任务都需要实时执行。 电梯轿厢在运动时需实时监测、显示当前到达 楼层,判断是否有注册的请求,以便在有请求的楼 层停止。到达楼层是通过安装在各层的行程开关检 测的,为了显示楼层数码和判断是否到达目标楼 层,当前楼层用数字量表示。程序中通过编程把行 程开关输出了量变换成相应的楼层的数字并显示。 这个功能构成“当前层更新”全局实时任务。 )异步并发任务 电梯在上升态、下降态、 空闲态控制任务的执行中均允许有门的操作,门的 操作也可与呼叫显示及用户请求注册任务同时发 生。可以把门的操作分析出来在门控制中实现。门 控制任务的状态图,如图所示。 控制任务间的通信与任务调度 任务:呼叫显示及用户请求注册完成请求的响 应和请求信息的注册,对用户的服务在任务上升态、 下降态中完成。任务:呼叫显示及用户请求注册模 块与上升态下降态模块构成请求信息的生产者一消 费者模式。任务之间的通信可使用共享内存的方法 实现。呼叫显示及用户请求注册任务置位相应变量, 上升态、下降态查询相应变量,完成服务后复位变 关 下 量。 由于已经根据其特性对任务进行了分类,任务 的调度就比较简单了。本文采用最自然的顺 序调度的任务调度策略。局部顺序控制任务相互没 有重叠,同时只有一个在运行。全局实时任务一直 运行。上升态、下降态、空闲态任务中通过置位: 门控制使能变量来启动门控制任务。门控制完成后 复位门控制使能变量,以便于需要任务同步的任务 得到门当前的状态。要注意的是异步并发任务:门 控制的使能(置位控制变量,使得该任务被执行) 图 “门控制”状态图 控制可能导致任务重入(任务执行完成前有被从头 重复执行)问题,在本系统中不允许该任务重入, 所以在任务使能前要满足的条件是该任务没有被使 能,参见图。 ” ” 门控制任务执行时间可能跨跃个局部顺序任 务。如:用户在电梯处于空闲态时按下开门按钮, 又按下一个轿厢内目的楼层请求按钮使电梯进入上 升态,而门的操作任务还没有完成。由以上点, 把任务执行可能与多个任务重叠和并发操作的“门 控制”任务定义为异步并发任务。 )任务的实时性在电梯进入正常工作状态 控制系统的实现 )状态嵌套的实现 图只是一个顶层的状 态图模型,在原点复归、上升态、下降态、空闲态 中又包含了各自的底层的转态一转换逻辑。也就是 万方数据 控制工程 第卷 说,它们嵌套了子状态。很多厂家提供了顺 序功能图()语言编程环境,利用顺序功能图语 言可以实现平面的状态图模型。但语言编程不 能直接实现状态嵌套使用起来不方便。但与 状态图基本思想是一致的,就是“把大的任务分成 小的(阶段)步一即状态,每个阶段(步)的程序只考 虑处理与该步有关的输入,通过控制小的(阶段) 步程序的执行顺序,实现状态转换,与当前小的 (阶段)步无关的程序和输入被忽略”。该方法的关 键是,忽略了无关的输入和程序,把大的控制任务 简化成很多小的控制任务一状态。受此启发,可以 把小的控制任务即状态封装在子程序(或函数) 中,通过控制子程序“使能输入端”(参见图中 的语句)控制子程序是否被执行,就可以方便的实 现任务的调度,控制调度的顺序也就实现了任务的 切换即状态的转换。同时子程序是可以嵌套的,状 态嵌套问题随之解决。 )控制软件框架用西门子的编 程环境 实现的主程序(),如图所示。 转移,需要在子程序外部置位子程序中的第一个状 态的控制位变量。 子程序中定时器问题的解决 在用“子程序封装任务”实现状态嵌套的实 现中发现,子程序中的定期器在第一次启动 运行时可以正常工作,在此后,定时器不能正常启 动,以致程序在定时器处卡壳。 帮助 中的使用说明中要求: 启动定时器需要在其输入端()加一个正向边 沿,并且信号的变化是必须的。造成子程序中定时 器不能启动的原因是子程序不是连续扫描的,而是 根据状态转换的需要调度执行的。 这样,定时器的输入端()在使能(置)前可 能无法得到复位(置)信号,满足不了“边沿触 发”的条件。因此,可把子程序中定时器的语句放 到子程序中所有语句的最前面,这样在子程序进入 时。先扫描定时器语句,定时器的输入端()可得 到复位信号,此后的扫描中定时器的输入端再使能 启动,就满足了定时器“边沿触发”的启动条件。 结语 本系统设计在一个层曳引型模型电梯上实现 并验证,软件运行稳定可靠。设计中使用控制子程 序“使能位”实现了系统任务调度,在扫描程 序时只需扫描执行部分子程序,正常工作时 程序扫描条数为整个程序的,系统效率较不 使用任务调度的设计有较大提高。另外,本文介绍 的系统开发方法具有模型和实现对应关系直接明 了、实现的系统结构化程度高的优点,提出的任务 分类方法对实时系统软件设计具有普遍的指导意 义。给出的软件(图)还可以作为类似控制系统软 件的模板。这两点的应用町以提高开发效率。 图电梯控制主程序 参考文献(): 桂先洲,戴金海任务图模,!中实时任务设计软件学报 图中的初始化在初始化程序块 中实现。在原点复归任务程序的最后的语句中,通 过复位原点复归使能、置位呼叫显示使能(见图) 语句,使呼叫显示及层更新子程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 结构设计原理 (土木19-SPOC)学习通超星期末考试答案章节答案2024年
- 医用X光照片市场发展预测和趋势分析
- 长螺旋钻孔灌注桩施工安全管理方案
- 老年护理院卫生管理方案
- 小学中秋节文化交流活动方案
- 化学加工用搅拌机产业规划专项研究报告
- 弹簧推动式矛枪体育器材市场需求与消费特点分析
- 商业项目预制构件吊装施工方案
- 电力设施建设安全管理策略方案
- 初中生科学实践活动方案
- 新视野大学英语(第四版)读写教程3(思政智慧版)课件 B3U5 Chinas space dream Section C
- 幼儿园社会《认识警察》课件
- 期中 (试题) -2024-2025学年人教精通版英语六年级上册
- 期刊编辑的学术期刊论文写作指导考核试卷
- 期中模拟试题2024-2025学年牛津译林版英语七年级上册
- 教科版小学科学五年级上册教案(全册)
- GB/T 23862-2024文物包装与运输规范
- 户外广告牌施工方案
- 泵站运行管理手册
- JGT503-2016承插型盘扣式钢管支架构件
- 《离散数学》总复习
评论
0/150
提交评论