基于PLC电梯控制系统的设计――软件系统设计.doc_第1页
基于PLC电梯控制系统的设计――软件系统设计.doc_第2页
基于PLC电梯控制系统的设计――软件系统设计.doc_第3页
基于PLC电梯控制系统的设计――软件系统设计.doc_第4页
基于PLC电梯控制系统的设计――软件系统设计.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PLC电梯控制系统的设计软件系统设计1本研究的背景以及发展动态在代社会,电梯已像汽车,轮船一样,成为人类不可缺少的交通运输工具。尤其是在大都市里,如较为典型的智能大厦楼宇自动化,它的核心实际上是一个分布控制系统,也称为集散控制或分散控制系统。楼宇中多种多样的电气设备使系统的自动控制成为可能。电梯作为大厦控制系统的重要对象,有着举足轻重的地位。因而,电梯在可靠性,速度,舒适,豪华等方面的要求越来越高。1.1系统开发背景及意义电梯控制系统主要有三种控制方式:继电器控制;微机控制;PLC控制。其中继电器控制系统故障高,接线复杂,微机控制系统抗干扰能力弱,而PLC控制系统具有运行可靠,编程简单,维修方便,抗干扰能力强,体积小巧,性价比高等优点。已成为目前电梯自动化控制中使用最多的控制方式。由PLC组成的控制系统,省略了接口电路的设计,从而使系统结构简单,紧凑。更适用于电梯的技术改造和控制系统的更新换代,是电梯控制系统中理想的控制技术。电梯性能的完善,功能的人性化使得人们的交通运输以及日常起居更为方便,极具意义。1.2电梯的发展趋势(1)环保。当今世界非常清晰地认识到生存与发展的关系:不环保就无法生存,没有生存根本谈不上发展。绿色理念在全球已经深入人心,绿色理念是电梯发展总趋势。不断改进产品的设计,生产环保型低能耗、低噪声、无漏油、无漏水、无电磁干扰、无井道导轨油渍污染的电梯。(2)电梯产业将信息化、网络化。用网络把所有电梯监管起来,保证电梯安全运行,确保乘客安全。当电梯出现故障时,电梯通过网络向客户服务中心发出信号使维保人员能及时准确了解电梯出现故障的原因及相关信息,客户的人身安全是否受到威胁,并在第一时间内赶赴事故现场进行抢修,同时通过网络对在电梯内乘客安慰,把电梯出现故障的负面影响降到最低。也可以通过电梯网络在规定时间内自动扫描每台电梯各部件以发现事故隐患做到事先维修,减少停梯时间,提高企业的服务质量。(3)蓝牙技术在电梯上应用。安装过电梯的人都知道放线、对线是费时、费力、极容易错的工作。如果控制屏与召唤系统通过蓝牙技术连接起来实现无线召唤将会是电梯控制的另一场革命同时为我们带来巨大好处。a)安装期将减少30以上,其直接好处是降低安装成本,客户也因从订梯到使用电梯周期费用减少和提高现金周转率。 b) 在电梯上使用蓝牙技术一定会使电梯控制系统大量使用最新最快微机,这将会进一步提高电梯整机可靠性,故障率大大降低,控制精度也进一步提高,带来的结果是电梯更加舒适,平层更加准确。同时这也为将来通过网络检查电梯状态成为可能,特别是电梯事先维修可以做到更好更全面,也进一步加快企业电梯上网。 c)旧梯改造更加容易,所需时间、费用将会减小。根据统计表每年将有5万台旧梯进入更新改造市场,该技术使用将会产生巨大社会效益和企业效益。相信任何企业都不会放弃这个机会。 d)很好地解决了电梯控制与外围设备的兼容和联系。特别是可以把电梯和扶梯归纳到大楼管理系统或智能化管理小区系统中。2 PLC及电梯相关知识简介可编程序控制器简称PLC,它将计算机技术和自动化技术融为一体,是一种数字运算操作的电子系统。2.1 PLC特点(1)可靠性高a)所有的I/O接口电路均采用光电隔离,使工业现场的外电路与PLC内部电路之间实现电气上的隔离。b)各输入端均采用R-C滤波器,其滤波时间常数一般为1020ms。c)各模块均采用屏蔽措施,以防治辐射干扰。d)采用性能优良的开关电源。e)对采用的器件进行严格的筛选。f)良好的自诊断功能,一旦电源或其他软,硬件发生异常情况,CPU立即采用有效措施,防治故障扩大。g)大型PLC还可以采用由双CPU构成冗余系统或由三CPU构成表决系统,使可靠性更进一步提高。 (2) 丰富的I/O接口模块 PLC针对不同的工业现场信号,如:交流或直流;开关量或模拟量;电压或电流;脉冲或电位;强电或弱电等。有相应的I/O模块与工业现场的器件或设备,如:按钮;行程开关;传感器及变送器;电磁线圈;控制阀等直接连接。另外为了提高性能,它还有多种人机对话的接口模块。为了组成工业局部网络,它还有多种通讯联网的接口模块,等等。 (3) 采用模块化结构 为了适应各种工业控制需要,除了单元式的小型PLC以外,绝大多数PLC均采用模块化结构。PLC的各个部件,包括CPU,电源,I/O等均采用模块化设计,由机架及电缆将各模块连接起来,系统的规模和功能可根据用户的需要自行组合。 (4) 编程简单易学 PLC的编程大多采用类似于继电器控制线路的梯形图形式,对使用者来说,不需要具备计算机的专门知识,因此很容易被一般工程人员所理解和掌握。 (5) 安装简单,维修方便 PLC不需要专门的机房,可以在各种工业环境下直接运行。使用时只需将现场的各种设备与PLC相应的I/O端相连接,即可投入运行。各种模块上均有运行和故障指示装置,便于用户了解运行情况和查找故障。 (6) 系统的设计,安装,调试工作量少 PLC用软件功能取代了继电器控制系统中大量的中间继电器,时间继电器,计数器等器件,使控制柜的设计,安装,接线工作量大大减少。 可以在模拟调试PLC的用户程序,用小开关来模拟输入信号,通过各输出点对应的发光二极管的状态来观察输出信号的状态。在现场调试过程中,一般通过修改程序就可以解决发现的问题,系统的调试时间比继电器系统少的多。 (7) 体积小,能耗低 对于复杂的控制系统,使用PLC后,可以减少大量的中间继电器和时间继电器,小型PLC的体积仅相当于几个继电器的大少,因此可以将开关柜的体积缩少到原来的1/21/10。2.2电梯相关知识(1)电梯的运行过程电梯在垂直运行过程中,有起点站也有终点站。对于三层楼以上的建筑物的电梯,起点站和终点站之间还没有停靠站,起点站设在一楼,终点站设在最高六。设在一楼的起点站称为基站,起点站和终点站称为两端站,两端站之间称为中间站。各站厅外设有召唤箱,箱上设置有供乘用人员召唤电梯用的召唤按钮或触钮,一般电梯在两端站的召唤箱上各设置一只按钮或触钮。中间层站的召唤箱各设置两只按钮或触钮。对于无司机控制的电梯,在各层站的召唤箱上均设置一只按钮或触钮。而电梯的轿厢内部设置有(杂物电梯除外)操纵箱。操纵箱上设置有手柄开关或与层站对应的按钮或触钮,操纵箱上的按钮或触钮城内指令按钮或触钮。外指令按钮或触钮发出的电信号称为外指令信号,内指令按钮或触钮发出的电信号成为内指令信号。20世纪80年代中期后,触钮已被微动按钮所取代。作为电梯基站的厅外召唤箱,除设置一只召唤按钮或触钮外,还设置一只钥匙开关,以便下班关电梯时。司机或管理人员把电梯开到基站后,可以通过专用钥匙扭动该钥匙开关。把电梯的厅门关闭妥当后,自动切断电梯控制电源或动力电源。(2)电梯的工作原理电梯PLC控制系统由信号控制系统和拖动系统组成。(3)信号控制系统输入到PLC的控制信号有:运行方式选择,运行控制,内指令,外召唤,安全保护,井道信息,开关门及限位等信号。所有控制功能如召唤信号登记,轿厢位置判断,选层定向,顺向截梯,反向截梯,消号及反向保号,换速,平层,开关门,电梯自动运行等均为程序控制。对于交流,直流不同类型的电梯,除部分特殊的控制功能和输入输出信号外,PLC电梯信号控制的主要功能基本相同,因而信号控制的程序模块具有较强的通用性。(4) 拖动控制系统如下图1所示,拖动系统的工作状态及部分反馈信号可直接送入PLC,由PLC向拖动系统发出速度切换,起动,运行,平层等控制信号。由于变频器的出现,目前交流调速电梯应用较多,它可以是半闭环控制,也可以使全闭环控制。由PLC发出的模拟量速度切换信号直接送给变频器,由变频器控制主拖动电路的加速切换或减速制动,按照满足快速性和舒适性原则的速度曲线(由变频器指令设定)运行,达到调速的目的。使整个调速系统既简单实用,又安全可靠。 图1 拖动控制系统(5) 电梯的型号如下图2所示。2. 3 机械安全保护系统电梯的机械保护系统除了包括制动器、厅门和轿门、安全触板、厅门门锁外,还有轿顶安全栅栏,轿顶安全窗、底坑防护栅栏、限速装置、安全钳,缓冲器等等。其中,比较重要是限速装置、安全钳、缓冲器。一限速装置和安全钳限速装置由限速器、钢丝绳、涨紧装置三部分构成。根据电梯安装平面布置图的要求,限速器通常安装在机房内,涨紧装置位于井道底坑,用压导板固定在导轨上。限速装置与涨紧装置之间用钢丝绳连接,钢丝绳两端分别绕过限速器和涨紧装置的绳轮,固定在轿架上梁和安全钳的绳头拉手上。通过钢丝绳和限速装置连接在一起的安全钳,当电梯运行速度达到限速器的动作速度时,安全钳传动机构动作,将轿厢卡在导轨上,制止轿厢向下运行,防止轿厢坠落。二缓冲器缓冲器设置在井道底坑。当轿厢或对重装置超越极限位置而发生撞底时,用来吸收轿厢或对重装置动能的制动装置。在轿厢和对重装置下方的井道底坑均设有缓冲器,分别称为轿厢缓冲器和对重缓冲器。同一部电梯中,二者其结构规格是相同的。缓冲器按结构分为弹簧缓冲器和油压缓冲器两种。弹簧缓冲器受轿厢或对重装置的冲击时,依靠弹簧的变形来吸收轿厢或对重装置的动能。多用于V1.0m/s的电梯上,V1.0m/s的电梯一般采用油压缓冲器。油压缓冲器是以油作为介质来吸收轿厢或对重装置动能的缓冲器。这种缓冲器要比弹簧缓冲器复杂的多,在它的液压缸内有机械油或汽缸油。2.4电梯模型图(如图3所示)图3电梯模型图3系统方案设计3.1 设计要求(如下图4所示)图4 电梯系统流程图(1) 电梯复位程序段此段程序有两个功能:一个是在系统上电以后,把轿厢内的位置恢复到第一层的状态;另一个是在系统出现故障以后,把轿厢的位置恢复到第一层并中止程序。(2) 用户输入程序段用户的输入包括门厅的按钮和轿厢内的按钮,用户输入程序段完成在用户输入以后,马上保持用户选择的状态,以便后面的程序判断。(3) 系统状态确定程序段对在用户输入程序段中用户选择的状态进行分析和处理,确定程序应该执行哪一部分的代码,以及更改电梯本身的状态。(4) 轿厢内开关门程序段控制轿厢内的开关门,修改开关门的状态逻辑线圈,包括关门延时。(5) 检测故障程序段此段程序在每个扫描周期都执行一次,一旦检测到有故障,就跳转到发生故障处理程序段并执行。(6) 发生故障处理程序段一旦检测到故障,就会更改运行电梯的状态,恢复电梯到底层,并中断程序的运行。(7) 设定上行目标此段程序是用来上行过程中确定下一个目标的,只有在上行以及电梯空闲时才会调用,如果没有下一个目标,就会设定电梯为空闲。(8) 设定下行目标此段程序是用来下行过程中确定下一个目标的,只有在下行以及电梯空闲时才会调用,如果没有下一个目标,就会设定电梯为空闲。(9) 执行上行程序此段程序包括控制电梯上行,检测是否应该减速或者停止电梯正转并且执行。(10) 执行下行程序此段程序包括控制电梯下行,检测是否应该减速或者停止电梯反转并且执行。3.2 方案设计3.2.1系统I/O配置表和配置图(以5层电梯为例,如下表1所示) 表1 系统I/O配置表元件名作用元件名作用X000编码A相输出端Y030电梯楼层指示灯(管脚)X001编码B相输出端Y031电梯楼层指示灯(管脚)X002关门限位开关Y032电梯楼层指示灯(管脚)X003开门限位开关Y033电梯楼层指示灯(管脚)X025电梯停止按钮Y034电梯楼层指示灯(管脚)X050上行平层限位开关(常闭)Y035电梯楼层指示灯(管脚)X051上行减速限位开关(常闭)Y036电梯楼层指示灯(管脚)X052下行平层限位开关(常闭)Y037电梯上行指示灯X053下行减速限位开关(常闭)Y040电梯下行指示灯X054上行平层接近开关Y050一楼上行指示灯X055上行减速接近开关Y051二楼下行指示灯X056下行减速接近开关Y052二楼上行指示灯X057下行平层接近开关Y053三楼下行指示灯X060一楼上行按钮Y054三楼上行指示灯X061二楼下行按钮Y055四楼下行指示灯X062二楼上行按钮Y056四楼上行指示灯X063三楼下行按钮Y057五楼下行指示灯X064三楼上行按钮Y060厢内一楼指示灯X065四楼下行按钮Y061厢内二楼指示灯X066四楼上行按钮Y062厢内三楼指示灯X067五楼下行按钮Y063厢内四楼指示灯X070厢内一楼按钮Y064厢内五楼指示灯X071厢内二楼按钮Y065开关门电动机开X072厢内三楼按钮Y066开关门电动机关X073厢内四楼按钮Y067厢内警报指示灯X074厢内五楼按钮Y070曳引机正转上升X075厢内开门按钮Y071曳引机逆转下降X076厢内关门按钮Y072曳引机减速X077厢内警报按钮系统电梯I/O配置图(以5层电梯为例,如下图5所示) 图5 电梯I/O配置图3.2.2 电梯的启动复位 电梯复位程序的作用是无论电梯在什么位置,都要让电梯停靠在第一层,下面来分析此段程序的执行过程 代码中,M80是常开触点,在程序开始部分只设定一次,由于M80可能会不起作用,所以人工设定M80充当常闭触点是有必要的。为了保证这段代码在电梯复位以后不再实用(除非电梯发生故障),设定逻辑线圈M9在常开下才能执行此段代码。逻辑线圈M4是为了执行电梯逆转,并设定M5,用以检查是否已遇到下行减速限位开关。当遇到常闭触点X053,(下行限位减速开关)断开时,停止拽引机逆转,并复位M4,开始使电梯正转,向上转动。电梯向上移动,知道遇到第一个上行减速接近开关(X055),由于第一层是没有此开关的,所以遇到的一定是第二层的上行减速接近开关,此时就可以停止拽引机正转,开始逆转,准备进入第一层。接着遇到的下行减速接近开关(X056)就是第一层,执行电动机减速。最后遇到下行平层接近开关(X057)当然也是第一层的,此时停止拽引机减速和逆转,并设定M9为逻辑“1”,不再运行此段程序,复位到此为止就完成了。如下图6所示 图6 电梯启动复位3.2.3 电梯参数初始化程序 初始化程序定义了电梯运行所需要的部分逻辑线圈,数据寄存器的初始值。初始值定义如下表2 表2电梯参数初始化程序 这些初始化语句的驱动如图7: 图7 初始化语句的驱动只有在复位程序完全执行以后,逻辑线圈M9才会置为“1”,而M0是电梯启动的标志,只有它在逻辑“0”才能进入初始化程序端。另外X025用来停止电梯运作的程序和主控程序如下图8: 图8 停止电梯运作程序如果电梯运行,按下X025,就可以置M0为逻辑“0”,而M0是整个主程序的主控指令,一旦M0为逻辑“0”,N0主控就失效了,整个程序停止。3.2.4 用户输入程序部分用户输入程序部分是接收用户对门厅按钮和厢内按钮的操作,并将其保存到一定的逻辑线圈中或者执行一定的指令加以处理,每个触点所对应的逻辑线圈以及其说明如下表3: 表3 用户输入程序部分 一般的按钮都只需要使用SET指令设置其对应的状态就可以了,如图9: 图9 一般按钮指令 厢内报警按钮的触点如下图10: 图10 厢内报警按钮 这里的Y067对应的就是厢内报警指示灯,而M50是系统有故障的标志,会直接使得电梯复位并中止程序,此段梯形图将在检测故障子程序中出现。3.2.5 系统状态确定程序和上一段程序的作用正好相反,上面的程序可以说是UI(User Input ,用户输入)程序,这段梯形图是Output(输出)程序,基本模式和UI程序差不多,可以归纳输出表4: 表4 系统状态确定程序对开门转台和关门状态有特殊的处理,特殊处理梯形图如下图11: 图11 特殊处理梯形图 M75和M76分别是开关门按钮的状态,只有电梯不移动的时候,才可以执行开关门的指令,所有要加上Y070和Y071的是否有接通的判断。如果开门状态接通,那么先取消关门状态,避免冲突,同时也复位M105,即电梯关门标志;还要复位Y066,这样可以马上让开关门电动机停止正转;开门完毕的标志M106也要复位;最后设置电梯开门标志为逻辑“1”,复位M75。如果关门状态被接通,自然相反,先复位开门状态M75和电梯开门标志M104;也要复位Y065,停止开关门电动机逆转;设置开门完毕标志M106为逻辑“1”;最后设置电梯关门标志为逻辑“1”,复位M76。这样就完成了对电梯开关门标志的设置。 除了开关门以外的状态与指示灯可以用以下梯形图12实现: 图12 在确定系统状态程序代码的结束部分还有一些起其他作用的梯形图13,如: 图13 上图所示的梯形图是显示现在所在层的层数和电梯上行指示灯,电梯下行指示灯的代码。 图14 判断开关门子程序 上图14梯形图用来判断是否应该进入开关门子程序,如果M104(电梯开门标志)为逻辑“1”,就跳转到P60(电梯开门子程序);如果M105(电梯关门标志)为逻辑“1”,主控程序,N1层的主控程序主要是处理电梯的移动,如果电梯处于开关门状态,那么就会切断电梯移动的代码,保证电梯不会移动。3.2.6电梯开关门子程序 首先是开门程序,梯形图如下图15: 图15 开门程序 在电梯开门标志M104满足ON条件的情况下,根据电梯开门完毕标志的逻辑值来判断执行哪一部分梯形图。 如果M106不为逻辑“1”那么就执行开门的程序,只有当X003(开门限位开关,门打开时为逻辑1)接通时,设定M106为逻辑“1”否则就让开关门电动机正转。 如果M106已经是逻辑“1”,即门打开完全,则开始用T0来计时,计时值为D10,计时完毕以后,接通T0,此时,接通电梯关门标志,并复位M104和M106。如图16: 图16 关门程序 然后看一下关门的梯形图,结构与开门的梯形图很相似,以M105为驱动的条件,然后根据X002(关门限位开关,门关上时为逻辑1)的逻辑值来决定执行的梯形图,当门完全关闭以后,就复位M106和M105,否则一直驱动Y066,让开关门电机逆转。 程序代码如图17: 图17 关门代码3.2.7 检测故障子程序故障检测子程序的跳转指令如图18: 图18 检测故障子程序 P110就是故障检测子程序,其内容可以分为4个部分:(1)检测故障专用比较线圈的复位 检测故障需要用到比较指令CMP,此指令余姚用3个逻辑线圈用以保存比较结果,在此指定M220,M221,M222,由于比较指令CMP并不会在比较之前自动复位这3个线圈,因此在执行比较之前要使用RST指令人工复位。(2)电梯上行过程中的故障检测由于上限减速开关,上行平层开关,下行减速开关和下行平层开关的位置各不相同,所以上行过程中的故障检测和下行过程中的故障检测要分开编程。先看看电梯上行过程中的故障检测,如下图19: 图19 上行检测故障首先要保证只有在上行过程中才会执行此段梯形图的指令,使用M101(电梯上行标志)和M102(电梯下行标志)的组合来判断。电梯停止移动的时候(电梯停靠在楼层时,也会有上行,下行和空闲之分),是不能检测是否出现故障的(这是因为没有信号反馈),因此检测是从电梯开始移动开始的。当Y070(拽引电动机正转)从逻辑“0”变为逻辑“1”时,开始检测,先记录电梯上行的目标层数,保存入V1和V2这两个变地址寄存器中备用,在电梯的运动没有减速之前,需要检测的是上行减速传感器是否起作用,使用CMP语句比较D200(电梯当前的精确位置)和D170V1(上行减速开关精确位置的变地址形式,如果V1是2,D170V1就是D172)的大小,如果D200小于等于D170V1,那么就继续检测,否则就是电梯的上行减速传感器出现故障,会使得M220变为逻辑“1”,从而跳入故障处理程序。一旦电梯减速,证明上行减速传感器没有发生故障,那么就开始检测上行平层传感器,同时用INCP指令为V1加上1,保证上一句检测语句不会再起作用。检测上行平层传感器的方法是一样的,用CMP指令检测D200和D140V2(上行平层开关精确位置的变地址形式)的大小,只有D200大于D140V2时,才会跳入故障处理程序;如果Y070被复位,也就是说上行平层传感器没有发生故障,此时使用INPC指令为V2增加1,保证不会再让上行平层检测语句起作用,完成上行检测;在下次电梯向上移动时,再次开始检测。(3)电梯下行过程中的故障检测。 图20 下行检测故障 如图20,基本结构和上行检测梯形图相似,只是在比较语句和一些数值的存取上有些改变,使用M102和M101的组合来判断电梯是否在下行运作中,在电梯停靠在某楼层的时候不会检测的,一旦Y071(拽引电动机逆转)接通,则保存电梯下行目标层数D102到V1和V2。在电梯还没有减速之前,检测下行减速传感器是否出现故障,如果D200大于等于D160V1(下行减速开关精确位置的变地址形式),那么就继续检测,否则就是设置M50(电梯故障标志)为逻辑“1”,进入故障处理程序段;如果电梯已经开始减速,证明下行减速传感器没有为题,用DECP指令为V1减1,检测下行平层传感器,比较D200和D150V2(下行平层开关精确位置的变地址形式)的大小,同样只有在D200小于D150V2时,才进入故障处理程序段。下次电梯移动时,如果也是下行,还会执行这段梯形图进行检测。(4)出现故障以后的处理梯形图21 图21 故障处理 如上图。故障处理程序只有在M50被接通的情况才会执行,它是和电梯的复位程序配合使用的。处理方法很简单,先停止拽引电动机的任何动作,然后初始化所有在复位程序中的临时线圈,这样就可以在下一个扫描周期中,进入复位程序。然后复位M0切断主程序的主控指令,再直接用跳转指令CJ跳到P120(主程序的结尾,FEND指令),这样就回到了电梯复位的阶段。唯一不同的是M50被接通了,那么在复位程序执行到最后时,M9是不会被置为逻辑“1”的,整个程序就中止了。 这4个部分结合起来就是检测故障的子程序,在检测完以后,如果没有出现故障,就会跳转回到N1层主控程序的开头。3.2.8检测按键程序段 检测按键的梯形图如下图22: 图22 检测按键程序 如图,X060X067和X070X074都是关于楼层的按钮。本段程序是为了检测这些按钮中有没有一个或者几个被按下,用此来确定电梯的运行状态。使用SUM指令计算X060X067和X070X073(K3X060就是代表这些逻辑线圈)的逻辑“1”的位数,保存到D111中(其实有多少位是无所谓的,关键是有没有按钮被按下),如果X074被置逻辑“1”或者M8020还是逻辑“0”,那就证明有按钮被按下,那么M100(有键按下的标志)就被接通,否则就复位M100。其实这一段梯形图只是为了电梯空闲状态时的动作做准备工作,因为其作用的特殊性,就单独分出一节来。3.2.9清除标记子程序 此段子程序的作用是电梯在某个楼层的时候,清除已经完成任务的按钮状态,由于这段程序在接下来的代码中多次被用到,所以先做分析。 这里将提到一个梯形图的编辑方法,就是制作一个功能类似C语言中的SwitchCase语句的梯形图结构,根据一个变量的不同数值,执行不同的指令。梯形图如下图23: 图23 清除标记子程序在子程序开头,把电梯当前所在的层数保存在变地址寄存器V中,并使用跳转指令CJ跳转到P80V中去,在P80V的的最后总有一句跳转到P99(清除标记子程序的结尾,SRET指令)的指令,这样就保证只有当前楼层的标记被清除。每一层对应的清除标记如下表5: 表5 清除标记列表3.2.10 电梯空闲状态处理程序 电梯空闲状态的处理比较简单,梯形图如下图24: 图24 电梯空闲处理程序 P40是确定下一个电梯目标楼层的子程序,在这段子程序中,会确定M103(电梯空闲标志)的逻辑值。如果这段程序的执行结果依旧是没有任何其他楼层(就是不包括电梯当前停靠的楼层)需要响应的。那么M103就为逻辑“1”,那么M100(有键按下标志)和M103都接通的话,就证明用户按下的是当前楼层的上行按钮或者下行按钮,便设置电梯开门标志,在下一个扫描周期进入电梯开门程序。 接下来分析P40子程序,这个由两个部分组成。 第一部分是设定一个临时变量,把当前所在的楼层保存到D110,然后使用一系列的指令,来修改D110内的值,比如门厅一楼上行按钮或者是厢内一楼按钮被按下,那么就把数字1传给D110;门厅二楼上行按钮,门厅二楼下行按钮或者厢内二楼按钮被按下,那么就把数字2传给D110,依此类推。不用担心会有多个按钮被按下的情况,因为只有一个按钮被按下,就会改变电梯的运行状态,不会再进入这段梯形图,除非再次进入电梯空闲状态。 第二部分是一个比较程序,用来更改电梯的运行状态,梯形图如下图25: 图25 P40子程序 比较D110和D100的数值,结果存放在M200,M201,M202中。如果是D110大于D100,那么下一个目标层就在当前层的上方,所以把D110传给D101(电梯上行最近目标),并接通M101(电梯上行标志),复位M103(电梯空闲标志),并让拽引电动机正转(设置Y070为逻辑“1”)。如果D110小于D100,那么下一个目标层就在当前层的下方,所以把D110传给D102(电梯下行最近目标),接通M102(电梯下行标志),复位M103,并让拽引电动机逆转(设置Y071为逻辑“1”)。如果D110等于D100,那么一定是按了当前层的按钮,那么电梯状态依旧为空闲,在跳回调用子程序的地方会进入开门程序。 在结束子程序,跳回到主程序后,会遇到CALL P80的指令,用于消除标记,那是因为如果是按下了当前所在层的相对应按钮,那么应该马上熄灭。 这两部分相结合就完成了电梯空闲状态处理程序,使得在没有用户按下按钮的情况下,保持原来的状态,并时刻检测按钮的状态,随时转变电梯状态。3.2.11 确定上行最近目标层子程序 确定上行最近目标子程序,是为了监控用户的新的输入,确定是否需要更改电梯运行的目标,如当电梯有了目标层,开始移动的时候,比如从一楼到5楼,当电梯经过二楼时,4楼门厅有人按下4楼上行按钮,那么电梯的上行最近目标层就应该改为4,而不是5。 如图26此段子程序也是使用了前面提到的梯形图的SwitchCase,但是有一些区别,因为每个扫描周期电梯的位置都会改变,而检测上行最近目标层只能检测当前层以上的层的门厅上行按钮或者厢内按钮。比如,当前层是第三层,当前上行最近目标层是5,那么只有按下4楼门厅上行按钮或者厢内4楼按钮才能改变上行最近目标层,而按一楼,二楼都是没有用的。 图26 确定上行目标 P0就是确定上行最近目标层的子程序的开始,首先得到当前所在层的层数,保存到变地址寄存器V中,然后根据V,使用跳转指令CJ跳转到相应程序段。如果当前层数是2,那么就会直接跳到P2,这样就会跳过P1(检查二层楼按钮的状态),如果检测到P2中的M64(3楼门厅上行按钮)或者M72(厢内3楼按钮)被按下,那么就用3来取代原来的电梯上行目标层,并跳转到P19(确定上行最近目标层的子程序的结束,SRET指令);如果没有检测到这两个按钮被按下,就先检测M63(3楼门厅下行按钮),如果M63被接通,那么就先把3层作为电梯上行最近目标,然后继续检查P3中的M66(四楼门厅上行按钮)和M73(厢内四楼按钮)的状态,有被按下的,就用4来代替当前的电梯上行最近目标层,否则检测M65(4楼门厅下行按钮),如果被按下,就先保存,继续向下检测,依此类推,一直执行到P4,P5。P4检测的厢内5楼按钮的状态,而M67检测的是5楼门厅的下行按钮。如果到这里为止都没有按钮被按下,那么就进入P5,证明电梯已经不在上行状态了,那么就复位M101(电梯上行标志),并设M103(电梯空闲标志)为逻辑“1”,在下一个扫描周期进入电梯空闲处理程序。3.2.12电梯上行主程序 电梯上行主程序梯形图如下图27: 图27 电梯上行主程序上一节分析的是电梯上行最近目标的确定,主程序对其进行调用,在电梯处于上行状态时才执行这一段程序,在没有进入电梯减速(即Y072没有置为逻辑“1”)之前,每一个扫描周期,都要调用确定电梯上行最近目标层子程序,以便更改目标层。每次经过上行减速传感器的感应铜片(X055)时,就代表电梯上了一层楼,D100(电梯当前层数)加1,然后比较D100和D101(上行最近目标层)的大小,如果D100小于D101,那么就让电梯继续上升,如果D100等于D101,那就意味着电梯快要到达了,要马上设置电梯为减速上升,这样在下一个扫描周期,就会进入下面一部分梯形图。当电梯在减速上升的情况下,遇到上行平层传感器的感应铜片(X054)时,就复位拽引机正转线圈(Y070)和电梯减速线圈,并设置开门标志为逻辑“1”,以便下一个扫描周期进入的是开门子程序,最后调用P80清除本层的相应按钮状态。3.2.13 确定下行最近目标层子程序 确定下行最近目标层梯形图如下图28 图28 电梯下行目标子程序1 确定下行最近目标层子程序的作用是在电梯处于下行过程中的每一个扫描都检测是否需要更新电梯下行最近目标层,如果需要就进行修改,结构和指令应该和确定上行最近目标层子程序相似的,但是也有特殊性。 可以看到在P20下紧接着出现的是P25,而不是P21了,那是因为在电梯下行过程中只能扫描当前层以下的层数,并且应该从高层数往低层数扫描。 首先把电梯的所在层数保存到变地址寄存器中,根据不同的层数跳转到不同的程序段,比如当前电梯在第四层,那么就跳转到P24,扫描M63(3楼门厅下行按钮)和M72(厢内3楼按钮)的状态,如果有逻辑“1”,那么就设定新的下行最近目标层为3,并跳转到P39(确定下行最近目标层子程序结束,SRET语句),否则就检测M64(三楼门厅上行按钮)的状态;继续检测P23中代表二楼的按钮状态,依此类推。如下图29: 图29 电梯下行目标子程序2 代码结尾处是P21,在所有的相关按钮没有被按下的情况下,取消电梯的下行运作状态,设置为电梯空闲等待状态。3.2.14电梯下行主程序 电梯下行梯形图如下图30: 图30 电梯下行主程序 本节分析的是主程序处理电梯下行状态的梯形图,要调用确定电梯下行最近目标层子程序,用M101和M102的组合来保证只有电梯处于下行状态时才执行这一段程序,在没有进入电梯减速(即Y072没有置为逻辑“1”)之前,每一个扫描周期都要调用确定电梯下行最近目标层子程序,以便根改目标层。每次经过

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论