手机网站 网站地图 招生城市 文章 资讯 湖南长沙阳光PLC编程培训学校是一家以plc技术为核心的plc程控编程培训学校,主营湖南plc培训,长沙plc培训。学校的主要课程有PLC培训,PLC编程培训,plc自动化培训,欢迎全国各地学员来我校学习plc自动化编程技术。学校常年开设:plc培训,plc编程培训,plc自动化培训,PLC编程入门,线下PLC培训,PLC学习,西门子PLC培训,三菱PLC培训,机器人培训,中山PLC培训,固原PLC培训,银川PLC培训,玉树,海东,陇南PLC培训,酒泉PLC培训,张掖PLC培训,天水PLC培训,金昌PLC培训,兰州PLC培训,榆林PLC培训,延安PLC培训,渭南PLC培训,铜川PLC培训,阿里,山南,拉萨PLC培训,怒江,文山州,楚雄州,普洱PLC培训,昭通PLC培训,玉溪PLC培训,昆明PLC培训,毕节,铜仁,遵义PLC培训,贵阳PLC培训,甘孜州,资阳PLC培训,达州PLC培训,宜宾PLC培训,南充PLC培训,遂宁PLC培训,绵阳PLC培训,泸州PLC培训,自贡PLC培训,三亚PLC培训,崇左PLC培训,河池PLC培训,玉林PLC培训,钦州PLC培训,梧州PLC培训,柳州PLC培训,梅州PLC培训,肇庆PLC培训,湛江PLC培训,佛山PLC培训,珠海PLC培训,韶关PLC培训,湘西州,怀化PLC培训,郴州PLC培训,张家界PLC培训,邵阳PLC培训,株洲PLC培训,仙桃PLC培训,随州PLC培训,荆州PLC培训,荆门PLC培训,襄樊PLC培训,黄石PLC培训,驻马店PLC培训,信阳PLC培训,南阳PLC培训,漯河PLC培训,中卫PLC培训,石嘴山PLC培训,海西PLC培训,海南PLC培训,黄南PLC培训,海北PLC培训,甘南PLC培训,庆阳PLC培训,平凉PLC培训,武威PLC培训,白银PLC培训,嘉峪关PLC培训,安康PLC培训,汉中PLC培训,咸阳PLC培训,宝鸡PLC培训,林芝PLC培训,日喀则PLC培训,昌都PLC培训,迪庆PLC培训,德宏PLC培训,大理PLC培训,西双版纳PLC培训,红河PLC培训,临沧PLC培训,丽江PLC培训,保山PLC培训,曲靖PLC培训,黔东PLC培训,黔西PLC培训,安顺PLC培训,六盘水PLC培训,凉山PLC培训,阿坝PLC培训,雅安PLC培训,广安PLC培训,眉山PLC培训,内江PLC培训,广元PLC培训,德阳PLC培训,攀枝花PLC培训,成都PLC培训,海口PLC培训,来宾PLC培训,百色PLC培训,贵港PLC培训,北海PLC培训,桂林PLC培训,南宁PLC培训,云浮PLC培训,揭阳PLC培训,潮州PLC培训,清远PLC培训,阳江PLC培训,汕尾PLC培训,惠州PLC培训,茂名PLC培训,江门PLC培训,汕头PLC培训,深圳PLC培训,广州PLC培训,娄底PLC培训,永州PLC培训,益阳PLC培训,岳阳PLC培训,湘潭PLC培训,长沙PLC培训,恩施PLC培训,黄冈PLC培训,孝感PLC培训,鄂州PLC培训,十堰PLC培训,武汉PLC培训,周口PLC培训,商丘PLC培训,三门峡PLC培训,许昌PLC培训,焦作PLC培训,安阳PLC培训,鹤壁PLC培训,平顶山PLC培训,开封PLC培训,郑州PLC培训,聊城PLC培训,滨州PLC培训,德州PLC培训,莱芜PLC培训,日照PLC培训,泰安PLC培训,烟台PLC培训,潍坊PLC培训,东营PLC培训,淄博PLC培训,上饶PLC培训,济南PLC培训,抚州PLC培训,宜春PLC培训,赣州PLC培训,新余PLC培训,九江PLC培训,景德镇PLC培训,宁德PLC培训,南平PLC培训,泉州PLC培训,莆田PLC培训,厦门PLC培训,宣城PLC培训,亳州PLC培训,六安PLC培训,宿州PLC培训,黄山PLC培训,滁州PLC培训,安庆PLC培训,淮北PLC培训,马鞍山PLC培训,蚌埠PLC培训,芜湖PLC培训,合肥PLC培训,丽水PLC培训,舟山PLC培训,衢州PLC培训,金华PLC培训,湖州PLC培训,嘉兴PLC培训,宁波PLC培训,宿迁PLC培训,镇江PLC培训,盐城PLC培训,连云港PLC培训,苏州PLC培训,徐州PLC培训,南京PLC培训,绥化PLC培训,牡丹江PLC培训,佳木斯PLC培训,大庆PLC培训,鹤岗PLC培训,哈尔滨PLC培训,白城PLC培训,白山PLC培训,辽源PLC培训,吉林PLC培训,葫芦岛PLC培训,铁岭PLC培训,盘锦PLC培训,阜新PLC培训,锦州PLC培训,本溪PLC培训,鞍山PLC培训,沈阳PLC培训,锡林郭勒盟PLC培训,通辽PLC培训,乌海PLC培训,吕梁PLC培训,忻州PLC培训,晋中PLC培训,晋城PLC培训,阳泉PLC培训,太原PLC培训,廊坊PLC培训,承德PLC培训,保定PLC培训,邯郸PLC培训,唐山PLC培训,宁夏PLC培训,甘肃PLC培训,西藏PLC培训,贵州PLC培训,重庆PLC培训,广西PLC培训,湖南PLC培训,河南PLC培训,江西PLC培训,安徽PLC培训,江苏PLC培训,黑龙江PLC培训,辽宁PLC培训,山西PLC培训,天津PLC培训,四平PLC培训,内蒙古,吴忠PLC培训,果洛,西宁PLC培训,定西PLC培训,商洛PLC培训,西安PLC培训,那曲,黔南州,巴中PLC培训,乐山PLC培训,贺州PLC培训,防城港PLC培训,东莞PLC培训,河源PLC培训,常德PLC培训,衡阳PLC培训,咸宁PLC培训,宜昌PLC培训,濮阳PLC培训,新乡PLC培训,洛阳PLC培训,菏泽PLC培训,临沂PLC培训,威海PLC培训,济宁PLC培训,枣庄PLC培训,青岛PLC培训,吉安PLC培训,鹰潭PLC培训,萍乡PLC培训,南昌PLC培训,龙岩PLC培训,漳州PLC培训,三明PLC培训,福州PLC培训,池州PLC培训,巢湖PLC培训,阜阳PLC培训,铜陵PLC培训,淮南PLC培训,台州PLC培训,绍兴PLC培训,温州PLC培训,杭州PLC培训,泰州PLC培训,扬州PLC培训,淮安PLC培训,南通PLC培训,常州PLC培训,无锡PLC培训,大兴安岭PLC培训,黑河PLC培训,七台河PLC培训,伊春PLC培训,双鸭山PLC培训,鸡西PLC培训,齐齐哈尔PLC培训,延边,松原PLC培训,通化PLC培训,长春PLC培训,朝阳PLC培训,辽阳PLC培训,营口PLC培训,丹东PLC培训,抚顺PLC培训,大连PLC培训,阿拉善盟PLC培训,兴安盟PLC培训,乌兰察布PLC培训,巴彦淖尔PLC培训,呼伦贝尔PLC培训,鄂尔多斯PLC培训,赤峰PLC培训,包头PLC培训,呼和浩特PLC培训,临汾PLC培训,运城PLC培训,朔州PLC培训,长治PLC培训,大同PLC培训,衡水PLC培训,沧州PLC培训,张家口PLC培训,邢台PLC培训,秦皇岛PLC培训,石家庄PLC培训,青海PLC培训,陕西PLC培训,云南PLC培训,四川PLC培训,海南PLC培训,广东PLC培训,湖北PLC培训,山东PLC培训,福建PLC培训,浙江PLC培训,上海PLC培训,吉林PLC培训,河北PLC培训,北京PLC培训。
PLC培训,PLC编程培训学校
PLC培训,PLC编程培训学校
PLC培训,PLC编程培训学校
毕业学员的真情感言
当前位置: > PLC编程培训
电梯系统实时控制软件建模及PLC实现
电梯系统实时控制软件建模及PLC实现
时间:2021-02-27 15:47:51 采集:PLC培训,PLC编程培训学校 主题:电梯系统实时控制软件建模及PLC实现 浏览:

  摘要:为降低开发难度、提高开发效率,提出把基于层次化状态图的建模技术和框架技术应用于plc时控制软件的开发。以电梯控制为例说明了把此技术应用于plc实时控制软件开发的过程。首先根据电梯控制要求和电梯算法建立了系统顶层状态图模型。然后分析了系统任务特性,根据任务特性提出了把控制任务分成局部顺序任务、全局实时任务和异步并发任务的系统分析方法,给出了任务间通信的方法。提出了用函数封装任务实现状态嵌套、用置位或复位函数的“使能输八端”进行任务调度的软件实现方法。最后给出了在西门子plc上实现的电梯控制的主要程序和解决定时器失效问题的方法。实现的软件具有较高的实时性,设计的plc程序可作为类似控制软件的框架。

  关键词:实时控制;建模;框架;pic;电梯

  1 引言

  开发实时系统控制软件是一项困难的任务。文献[1]提到,实时系统设计的许多形式化方法只能解决“小玩具”问题,这种说法在今天看来仍然是基本正确的。很多文献中介绍了采用不同方法建立的电梯控制系统模型,如:改进的petfi net模型、改进的uml模型、面向对象的模型。建模的本意是简化系统,降低系统开发难度,而不少模型较复杂或脱离实际,对系统实现并无帮助。一些模型只是对系统的行为进行了直观的描述性建模,距离对系统的控制还有一段距离。文献[2]中提出了模型驱动的plc软件开发方法,但缺乏应用实例。

  很少有文献提及框架技术在plc软件开发中的应用。软件框架是已经实现过和验证过的完善与详实的一类软件的模板,可在类似的软件开发中重用,从而提高开发效率。本文以电梯控制为研究对象,采用uml状态机图建立了控制软件模型,并且介绍了可以作为类似系统控制软件框架的一个实例一电梯控制系统的实现方法。

  2 电梯控制需求描述与电梯算法

  简化的电梯系统(忽略超重、报警、到达响铃、关门阻挡检测等信号,不考虑轿厢启停的速度控制,每层平层停车位置使用安装在每个楼层的行程开关检测)的输入信号包括:轿厢内目的楼层请求按钮、每层的上升招唤按钮、每层的下降招唤按钮、每层的楼层行程开关、开门按钮、关门按钮、开门限位开关、关门限位开关;输出包括:目的按钮指示灯、上行招唤按钮指示灯、下降招唤按钮指示灯、轿厢上升(曳引电机启动正转控制)、轿厢下降(曳引电机反转控制)、到达楼层显示灯、开门(门控电机正转)、关门(门控电机反转)、当前电梯状态显示灯(下行态、上行态或空闲态)。

  电梯完成初始化后开始响应用户招唤按钮和目的按钮的输入,为用户提供运送服务。这时,用户和电梯的构成如下:

  用户请求一电梯服务关系模式。一个轿厢对多个用户的服务是共享的。为了提高服务效率,需要按照一定的策略来调度轿厢的移动为多个用户服务。常用的调度算法是电梯调度算法,简称为“电梯算法”,它的描述如下:电梯在运行中服务于同方向上的请求,中途不改变其运动方向,除非它完成r所有同方向上的请求任务。

  3电梯控制顶层建模

  状态图较之经典状态机最主要的改进之处是组合状态(层次化可嵌套状态)的引入,它在fsm的模型中加入了对层次和并发的支持,消除了用fsm模型来描述一些复杂系统时所发生的状态和转换的爆炸的町能性。同时,组合状态是隐藏内部细节的上理想机制,把复杂性隐藏在组合状态的内部,就可以在高抽象层次上更加容易的理解和把握系统。电梯控制系统模型有多种,系统状态的划分也有多种。还算合理的一种把系统状态划分为:空闲态、上升态、下降态。3个状态问均有状态转换,还有状态自身的转换。该模型未考虑电梯调度算法。

  考虑到电梯算法和简化状态图,改进后的电梯控制状态图模型,如图1所示。

  该模型每个状态只有一个转换进入点和转换退出点,结构比较清晰。空闲态向上升态转换的条件是:有大于当前层的楼层l的上升招唤按钮、下降招唤按钮或轿厢内目的楼层请求按钮被按下。上升态向空闲态转换的条件为:完成所有上升任务一无大于当前层的上升招唤按钮、下降招唤按钮或轿厢内目的楼层请求按钮被按下。

  空闲态和上升态控制任务的状态图模型,分别如图2,图3所示。


  4电梯控制任务分析

  由图l可见,模型到系统实现还有很大距离。在此类反应式实时多任务控制系统的开发中,控制任务的分析与设计对于系统实现至关重要?。本文把控制任务归纳分类成全局实时任务、局部顺序任务、异步并发任务和周期任务4种。本文系统无周期任务。下面根据任务的特性对其分类。

  1)局部顺序任务图l中所示的5个状态对应于系统的5个任务。本文把这些任务定义为局部顺序任务。原因是,控制器只需要按照顺序执行其中的一个任务。

  2)全局实时任务电梯需要对多个用户提供运送服务,用户通过各层或轿厢内的按钮输入服务请求,电梯控制根据电梯算法,顺序服务用户。尽管运送服务不是实时的,但要求对用户输入的确认响应是实时的。当用户按下按钮时,控制系统立即点亮与上行招唤、下行招唤、目的按钮对应的指示灯,实时响应确认用户请求,并注册这个请求。此后,控制系统按照用户请求移动轿厢,到达有请求的楼层时停止移动轿厢,自动开门,完成对用户的服务,并熄灭相应的指示灯,注销请求。这种呼叫显示及用户请求注册功能构成一个全局实时任务,在电梯正常工作状态中该任务都需要实时执行。

  电梯轿厢在运动时需实时监测、显示当前到达楼层,判断是否有注册的请求,以便在有请求的楼层停止。到达楼层是通过安装在各层的行程开关检测的,为了显示楼层数码和判断是否到达目标楼层,当前楼层用数字量表示。程序中通过编程把行程开关输出了量变换成相应的楼层的数字并显示。这个功能构成“当前层更新”全局实时任务。
 

  3)异步并发任务电梯在上升态、下降态、空闲态控制任务的执行中均允许有门的操作,门的操作也可与呼叫显示及用户请求注册任务同时发生。可以把门的操作分析出来在门控制中实现。门控制任务的状态图,如图4所示。

  门控制任务执行时间可能跨跃2个局部顺序任务。如:用户在电梯处于空闲态时按下开门按钮,又按下一个轿厢内目的楼层请求按钮使电梯进入上升态,而门的操作任务还没有完成。由以上2点,把任务执行可能与多个任务重叠和并发操作的“门控制”任务定义为异步并发任务。

  4)任务的实时性在电梯进入正常工作状态后,全局实时任务一直被执行,保证了系统对用户请求响应的实时性。其他类型的任务也有实时性要求。如:轿厢停靠在一层,此时三层的下降招唤按钮被压下,导致电梯进入上升态,轿厢在上升运动途中位于一层与二层中间时又有人按下了二层的上行招唤按钮,电梯应该在上升到二层时停止并开门。上升态任务中实时性的关键是轿厢运动过程中停止的判断和停止动作的执行。图3中上升中状态的任务就是判断是否需要停止,一旦满足条件就执行停止操作。轿厢停止并开门有3种情况。第一种情况是,将在大于当前层,并且上升招唤按钮被按下的楼层停止并开门;第2种是,将在大于当前层并且轿厢内目的楼层请求按钮,被按下的层停止并开门;第3种是,将在大于当前层,并且下降招唤按钮被按下并且“下降招唤按钮”被按下的楼层是所有召唤中最高的楼层停止并开门。在基于plc的控制器实现中,一般来说最大延迟时间为plc程序循环扫描时间的2倍。这与plc的速度和程序的规模有关,同时如果合理调度任务,可以减少程序扫描时间。

  5控制任务间的通信与任务调度

  任务:呼叫显示及用户请求注册完成请求的响应和请求信息的注册,对用户的服务在任务上升态、下降态中完成。任务:呼叫显示及用户请求注册模块与上升态下降态模块构成请求信息的生产者一消费者模式。任务之间的通信可使用共享内存的方法实现。呼叫显示及用户请求注册任务置位相应变量,上升态、下降态查询相应变量,完成服务后复位变量。

  由于已经根据其特性对任务进行了分类,任务的调度就比较简单了。本文采用plc最自然的顺序调度的任务调度策略。局部顺序控制任务相互没有重叠,同时只有一个在运行。全局实时任务一直运行。上升态、下降态、空闲态任务中通过置位:

  门控制使能变量来启动门控制任务。门控制完成后复位门控制使能变量,以便于需要任务同步的任务得到门当前的状态。要注意的是异步并发任务:门控制的使能(置位控制变量,使得该任务被执行)控制可能导致任务重入(任务执行完成前有被从头重复执行)问题,在本系统中不允许该任务重入,所以在任务使能前要满足的条件是该任务没有被使能,参见图2。

  6控制系统的实现

  1)状态嵌套的实现图1只是一个顶层的状态图模型,在原点复归、上升态、下降态、空闲态中又包含了各自的底层的转态一转换逻辑。也就是说,它们嵌套了子状态。很多plc厂家提供了顺序功能图(sfc)语言编程环境,利用顺序功能图语言可以实现平面的状态图模型。但sfc语言编程不能直接实现状态嵌套.使用起来不方便。但sfc与状态图基本思想是一致的,就是“把大的任务分成小的(阶段)步一即状态,每个阶段(步)的程序只考虑处理与该步有关的输入,通过控制小的(阶段)步程序的执行顺序,实现状态转换,与当前小的(阶段)步无关的程序和输入被忽略”。该方法的关键是,忽略了无关的输入和程序,把大的控制任务简化成很多小的控制任务一状态。受此启发,可以把小的控制任务即状态封装在子程序(或函数)中,通过控制子程序“使能输入端”(参见图5中的语句)控制子程序是否被执行,就可以方便的实现任务的调度,控制调度的顺序也就实现了任务的切换即状态的转换。同时子程序是可以嵌套的,状态嵌套问题随之解决。

  2)控制软件框架用西门子s7—300plc的编程环境step 7实现的主程序(obl),如图5所示。图1中的初始化在plc初始化程序块obl00中实现。在原点复归任务程序的最后的语句中,通过复位原点复归使能、置位呼叫显示使能(见图5)语句,使呼叫显示及层更新子程序一直实时运行,同时还置位了空闲使能,使系统状态转换到空闲态。在空闲态中再控制系统向上升态或下降态转换。门控制是一个相对独立的任务,在空闲态、上升态、下降态中,通过置位门控使能,启动门控制,参见图2和图3。

  本文的电梯控制软件中,状态嵌套只有2层。在子程序中采用置位或复位相应的状态位变量来控制其内部的状态转换。为了启动子程序内部的状态转移,需要在子程序外部置位子程序中的第一个状态的控制位变量。

  7子程序中定时器问题的解决

  在用“子程序封装任务”实现状态嵌套的实现中发现,子程序中的定期器在plc第一次启动运行时可以正常工作,在此后,定时器不能正常启动,以致程序在定时器处卡壳。siemens step7帮助中s—odt的使用说明中要求:

  启动定时器需要在其输入端(s)加一个正向边沿,并且信号的变化是必须的。造成子程序中定时器不能启动的原因是子程序不是连续扫描的,而是根据状态转换的需要调度执行的。

  这样,定时器的输入端(s)在使能(置1)前可能无法得到复位(置0)信号,满足不了“边沿触发”的条件。因此,可把子程序中定时器的语句放到子程序中所有语句的最前面,这样在子程序进入时。先扫描定时器语句,定时器的输入端(s)可得到复位信号,此后的扫描中定时器的输入端再使能启动,就满足了定时器“边沿触发”的启动条件。

  8结语

  本系统设计在一个8层曳引型模型电梯上实现并验证,软件运行稳定可靠。设计中使用控制子程序“使能位”实现了系统任务调度,plc在扫描程序时只需扫描执行部分子程序,正常工作时plc程序扫描条数为整个程序的63%,系统效率较不使用任务调度的设计有较大提高。另外,本文介绍的系统开发方法具有模型和实现对应关系直接明了、实现的系统结构化程度高的优点,提出的任务分类方法对实时系统软件设计具有普遍的指导意义。给出的软件(图5)还可以作为类似控制系统软件的模板。这两点的应用町以提高开发效率。

  参考文献(references):

  [i]桂先洲,戴金海.任务图模,i!!中实时任务设计[j].软件学报.2002,13(6):1103.1lio.(gui xianzhou.dai jinhai.real—timetasks tte^ign in task graph model[j].journal of software,2002,13(6):1103—1110,)

  [2]miehael f z.ciritlens p.medel.driven development of plc soft—ware for machine tools[j:.production engineering,2008,2(1):3946.

  [3] mim s.嵌入式系统的微模块化程序设计-实用状态图c/c++实现[m].敬万钧.陈丽蓉.译.北京:北京航空航天大学出版社,2004.(miro s.practical statef‘harts in c/c++qutmtum programmingfar embedded,,ystems【m].jing wangjun.chen limng.translated.bering:buaa press,2004.)

  [4]daniel d(;,frank v.$anjiv n.et a/.specification and design 0fembedded svstemi m1 usa:prentice hall ptr.1994.

  [5]lin ch,wang q g.lee t h.global stability of limit。ycles for ack of mimo relay feedback systems[j].contwl engineering ofchina.2007,14(i):66-69. 

电梯系统实时控制软件建模及PLC实现
    推荐文章


    PLC培训,PLC编程培训学校
    PLC培训,PLC编程培训学校
    PLC培训,PLC编程培训学校
    PLC培训,PLC编程培训学校