曳引式电梯单控系统_第1页
曳引式电梯单控系统_第2页
曳引式电梯单控系统_第3页
曳引式电梯单控系统_第4页
曳引式电梯单控系统_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

PAGE第51页共52页1引言电梯是标志现代物质文明的垂直运输工具、是机电一体化的复杂运输设备。它涉及电子技术、机械工程、电力电子技术、微机技术、电力拖动系统和土建工程等多个科学领域。目前电梯的生产情况和使用数量已成为一个国家现代化程度的标志之一。随着现代化城市的高速发展,每天都有大量人流及物流需要输送。为节约用地和适应经贸事业的发展,一幢幢高楼拔地而起,这些高层建筑的垂直运输是一个突出问题,与人们的工作和生活紧密相关。随着社会的发展,电梯的使用越来越普遍,已从原来只在商业大厦、宾馆使用,过渡到在办公楼、居民楼等场所使用,并且对电梯功能的要求也不断提高,相应地其控制方式也在不停地发生变化。对于电梯的控制,传统的方法是使用继电器—接触器控制系统进行控制,随着技术的不断发展,微型计算机在电梯控制上的应用日益广泛,现在已进入全微机化控制的时代。当今时代随着高层建筑的日益增多和建筑设计的档次的提高,使得人们对电梯的要求也越来越高。目前已不仅限于要求电梯搭乘快速、舒适,制造坚固,装潢考究,人们对电梯的安全可靠性及多功能性正提出越来越高的要求,为此电梯正朝着控制智能化的方向发展。而电梯的核心是电梯控制器,电梯控制器的实现也有多种方式,诸如PLC、单片机等等.在以往的电梯控制器设计中,大部分都是采用PLC来实现,但是PLC是基于外围的硬件实现电梯的控制,而如果在采用PLC的基础上采用硬件描述语言来完成电梯控制器的设计,这样就更能实现电梯的智能。集选控制是一种将轿厢内指令与厅外召唤等各种信号集中进行综合分析处理的高度自动控制功能。它能对轿厢指令、厅外召唤登记,停站延时自动关门起动运行,同向逐一应答,自动平层自动开门,顺向截梯,自动换向反向应答,能自动应召服务。本设计所要达到的是曳引式电梯的单控实现,设计的内容主要是以一个比较完整的电梯为例,介绍单控实现的具体方法,从操纵方法来看,属于集选控制电梯。电梯控制系统的总体设计2.1曳引电梯的基本结构曳引式电梯是垂直交通运输工具中使用最普遍的一种电梯,其基本结构如图2-1所示。电梯系统由电梯机械模型和控制装置组成,电梯机械模型包括电梯曳引机、变频器、控制单元、终端保护装置、轿厢和轿架、导轮、对重、曳引钢丝绳对重、厅门、召唤按钮箱、层楼指示灯箱等组成部分。控制设备由PLC、变频器、电脑主机、PLC控制键盘等组成。1-减速箱;2-曳引轮;3-曳引机底座;4-导向轮;

5-限速器;6-机座;7-导轨支架;8-曳引钢丝绳;

9-开关碰铁;10-紧急终端开关;11-导靴;12-轿架;

13-轿门;14-安全钳;15-导轨;16-绳头组合;

17-对重,18-补偿链;19-补偿链导轮;20-张紧装置;

21-缓冲器;22-底坑;23-层门;24-呼梯盒;

25-层楼指示灯;26-随行电缆;27-轿壁;28-轿内操纵箱;

29-开门机;30-井道传感器;31-电源开关;32-控制柜;

33-曳引电机;34-制动器图2-1曳引式电梯结构图2.1.1曳引机电梯的曳引机是电梯的驱动装置,曳引机包括:1)驱动电动机:交流梯为专用的双速电动机或三速电动机。直流梯为专用的直流电机。2)制动器:在电梯上通常采用双瓦块常闭式电磁制动器。电梯停止或电源断电情况下制动抱闸,以保证电梯不致移动。3)减速箱:大多数电梯厂选用蜗轮蜗杆减速箱,也有行星齿轮、斜齿轮减速箱。无齿轮电梯不需减速箱。4)编码器:作用是把电动机所转的圈数按照一定的编码规则记录下来,保存在高速计数器中。此类计数器从PLC的一个高速输入端输入A相计数脉冲信号,从PLC的另一个高速输入端输入B相计数脉冲信号,C251~C255都是这一类的计数器,本程序将使用C251计数器。5)曳引轮:曳引机上的绳轮称为曳引轮。两端借助曳引钢丝绳分别悬挂轿厢和对重,并依靠曳引钢丝绳与曳引轮绳槽间的静摩擦力来实现电梯轿厢的升降。6)导向轮或复绕轮:导向轮又称抗绳轮。电梯轿厢尺寸一般都比较大,轿厢悬挂中心间的距离往往大于设计上所允许的曳引轮直径。因此对一般电梯而言,通常要设置导向轮,以保证两股向下的曳引钢丝绳之间的距离等于或接近轿厢悬挂中心和对重悬挂中心间的距离。对复绕的无齿轮电梯而言,改变复绕轮的位置同样可以达到上述目的。对有齿轮曳引机由传统的蜗轮蜗杆传动逐渐向行星式齿轮传动和高精度硬齿面圆柱齿轮传动发展之势,这有利于缩小曳引机体积及提高承载能力和传动效率,而且可使其向高速化发展。电梯曳引机电动机并不是通常体积的普通工业用的交流感应电动机,电梯时典型的位能负载,根据电梯的工作性质,电梯曳引电动机应具有的特点如下:·能频繁地起动和制动;·起动电流较小;·电动机运行噪声低;·对电动机的散热要作周密考虑;·电梯曳引电动机为双绕组双速电动机;除了上述特点以外,电梯交流调速用曳引电动机往往备有两个轴伸端:其中一端为传动端,与减速器耦合;另一端为非传动端,通常装有飞轮,用以增加运动系统的转动惯量,改善起动过程乘坐舒适感。2.1.2导向系统

导向系统由导轨、导靴和导轨架等组成。它的作用是限制轿厢和对重的活动自由度,使轿厢和对重只能沿着导轨作升降运动。导轨固定在导轨架上,导轨架是承重导轨的组件,与井道壁联接。导靴装在轿厢和对重架上,与导轨配合,强制轿厢和对重的运动服从于导轨的直立方向。2.1.3门系统

门系统由轿厢门、层门、开门机、联动机构、门锁等组成。轿厢门设在轿厢入口,由门扇、门导轨架、门靴和门刀等组成。层门设在层站入口,由门扇、门导轨架、门靴、门锁装置及应急开锁装置组成。开门机设在轿厢上,是轿厢门和层门启闭的动力源。图2-2电梯模拟示意图2.1.4轿厢

轿厢用以运送乘客或货物的电梯组件。它是由轿厢架和轿厢体组成。轿厢架是轿厢体的承重构架,由横梁、立柱、底梁和斜拉杆等组成。轿厢体由轿厢底、轿厢壁、轿厢顶及照明、通风装置、轿厢装饰件和轿内操纵按钮板等组成。轿厢体空间的大小由额定载重量或额定载客人数决定。轿厢外观如图2-2所示。图2-2顺便把电梯其他组成部分显示出来了。

2.1.5重量平衡系统

重量平衡系统由对重和重量补偿装置组成。对重由对重架和对重块组成。对重将平衡轿厢自重和部分的额定载重。重量补偿装置是补偿高层电梯中轿厢与对重侧曳引钢丝绳长度变化对电梯平衡设计影响的装置。

2.1.6电力拖动系统

电力拖动系统由曳引电机、供电系统、速度反馈装置、调速装置等组成,对电梯实行速度控制。曳引电机是电梯的动力源,根据电梯配置可采用交流电机或直流电机。供电系统是为电机提供电源的装置。速度反馈装置是为调速系统提供电梯运行速度信号。一般采用测速发电机或速度脉冲发生器,与电机相联。调速装置对曳引电机实行调速控制。如图所示,两个三相电机分别为门电机和曳引机,转换开关CS1用于控制交流电源通断,熔断器FU1作短路保护,接触器KM1、KM2、KM3、KM4的主触头控制电动机的运行状态,热继电器FR1、FR2作过载保护,PE接地。主电路的特点是由KM1、KM2实现三相电源任意两相的调换,以实现两个方向的稳定运行,要求KM1、KM2不能同时动作以避免电源相间短路,有两个单向运行控制部分组成,两部分之间互锁是通过将各自的常闭触点串接在对方的工作电路中来实现的,进一步保证电路的安全、可靠。图2-3电气原理图2.1.7电气控制系统

电气控制系统由操纵装置、位置显示装置、控制屏、平层装置、选层器等组成,它的作用是对电梯的运行实行操纵和控制。

操纵装置包括轿厢内的按钮操作箱或手柄开关箱、层站召唤按钮、轿顶和机房中的检修或应急操纵箱。控制屏安装在机房中,由各类电气控制元件组成,是电梯实行电气控制的集中组件。位置显示是指轿内和层站的指层灯。层站上一般能显示电梯运行方向或轿厢所在的层站。选层器能起到指示和反馈轿厢位置、决定运行方向、发出加减速信号等作用。

2.1.8安全保护系统

安全保护系统包括机械和电气的各类保护系统,可保护电梯安全使用。

机械方面的有:限速器和安全钳起超速保护作用;缓冲器起冲顶和撞底保护作用;还有切断总电源的极限保护等。

电气方面的安全保护在电梯的各个运行环节都有。限位器是当轿厢运行速度达到限定值时,能发出电信号并产生机械动作的安全装置。在整个系统中一共使用了4个限位器和4个传感器,4个限位器是机械的只有上行减速限位器和上行平层限位器,下行的也是。限位器重的感应片和传感器是配合使用的,只有当传感器与相应的铜片对齐时,传感器上的红灯才会亮。2.1.9变频器的设置在模型建立中式比较重要的,根据以下选择进行变频器的选取.变频器容量计算变频器的功率可根据曳引机电机功率、电梯运行速度、电梯载重与配重进行选取。设电梯曳引机电机功率为P;,电梯运行速度为v,电梯自重为WI电梯载重为w:,配重为w3,重力加速度为g,变频器功率为P。在最大载重下,电梯上升所需曳引功率为P2:P2=(Wl+WZ-W3)g+F1其中F=K(wl+w2+w3)g。电机功率P1,变频器功率P应接近于电机功率Pl,相对于P2留有较大裕量,可取P=l.5P2。因为:K=0.02,wl=1600Kg,w2=800Kg,w3=2000Kg,g=9.8m/s2,,v代入以上各参数,得P2=7.2Kw。电机功率Pl=11KW,变频器的功率P应接近于电机功率Pl,相对于P2留有较大裕量,可取P=l.5P2=10.8KW。根据以上的分析,选取变频器的额定功率为11KW。(2)变频器制动电阻参数的计算由于电梯为位能负载,电梯运行过程中产生再生能量,所以变频调速装置应具有制动功能。TD1000型变频器可采用能耗制动方式将再生能量消耗在制动电阻上,成本较低而且具有良好的使用效果。能耗制动电阻Rz的大小应使制动电流12的值不超过变频器额定电流的一半,即IZ=U0/RZ其中U0为额定情况下变频器的直流母线电压。由于制动电阻的工作不是连续长期工作,因此其功率可以大大小于通电时消耗的功率。根据这个原则,爱默生公司为各种型号的变频器配备了制动电阻,查阅TD1000变频器的使用说明书可得,电机额定功率为11KW时,选用的制动电阻型号为R01-1400W60。(3)TD1000变频器的参数设置TD1000变频器共有134个功能参数需要设置,这些功能参数可以分为8组,每一组参数的设定都具有特定的含义。这8组参数分配及含义如表2-1所示。表2-1TDI000变频器的功能参数组号范围说明1F000~F019基本运行功能参数2F020~F050辅助功能3F051~F062闭环控制功能4F063~F080输入输出端子功能选择5F081~F085显示功能设定6F086~F093电机特性参数及特殊功能7F094~F101记忆检查功能8F102~F134参数初始化在进行参数的设定时,一般要遵循以下原则:1、为减小启动冲击及增加调速的舒适感,其速度环的比例系数宜小些,而积分时间常数宜大些;2、零速一般设里为OHz,带速抱闸功能将影响舒适感。3、变频器其他常用参数可根据电网电压和电机铭牌直接输入(4)TD1000变频器的配线三种基本运行的控制部分配线分别如下:l)用操作面板控制运行时没有控制配线,直接使用操作面板即可进行控制操作。2)用控制端子控制运行时1、可选择VCI或CCI作为信号给定输入。注意接线必须采用屏蔽电缆;2、控制端子VCI只可外接电压信号(0~1OV);CCI既可输入电压信号,又可输入电流信号,同时必须根据输入信号的类型,在主控板上I瓜选择插座CN10作相应的跳线选择;若采用电流输入方式,则CN10应选择I侧,若采用电压输入方式,则CN10应选择V侧。3)通过串行通信口用上位机控制运行PLC为RS485接口时,可直接将PLC的RS485口与控制板的通信端子(CNll)相连;若PLC为RS232接口,需使用RS485/RS232接口协议转换器。根据本文的控制方案,本文采用的是用控制端子控制运行的,所以上述第二种控制配线就是本文的配线方法,将VCI端子接PLC的模拟量输出模块EC20-4AM的VOI+端子,由PLC模拟量输出模块EC20-4AM输出一个电压模拟量曲线控制变频器的变频和调压,从而控制电机的转速。变频器的Xl端为变频器故障复位的信号输入端.2.1.10控制器使用了三菱公司的PLC,型号为FX2N-128MR,有64点基本输入端和64点继电器输出端。PLC控制器是电梯控制系统中不可或缺的重要部分,其主要作用是通过PLC接收从电梯传来的信号、设置变频器控制电梯的上下运作、设定电梯的运行模式等。通过此控制器完成一系列复杂的电梯运作过程:门厅按钮被按下,轿厢开始加速运动;轿厢到达限制速度,开始匀速运动;轿厢开始减速,准备平层;轿厢平层,并且出发开关门电机,开始开门;到达开门限位,准备进入关门;触发开关门电机,开始关门;到达关门限位,等待乘客进行轿厢内操作或门厅召唤。曳引电梯整体方案曳引电梯硬件框图如图2-3所示。三相电源通过整流滤波电路进入变频器,到运行接触器带动曳引机,曳引机准备运作。同时用户通过PLC控制器发送开关门、泊梯、楼层运行指示等操作,PLC作为集选控制,发出一系列指令传递给变频器,如上下行召唤、初始化程序、启动复位等厢动作指令,变频器则根据这些指令做出轿厢速度的调整,其中轿内召唤及厅外召唤由轿厢和门厅反馈回PLC控制器。上述为整个曳引电梯控制流程。变变频器对重FX2N-128MR启动复位运行中空闲中上行下行初始化故障处理接触器控制厅外召唤轿内召唤及控制信号门锁及上下行接近开关X002~X003X070~X074X060~X067X075、X076X054~X057X050~X053运行接触器三相电路开关门楼层指示及运行方向开关门按钮消防及泊梯轿厢曳引机图2-3曳引电梯硬件框图电梯控制系统硬件设计电梯I/O接口配置PLC控制器的由64个输入点数和64个输出点数构成,为了明确每个输入端传入数据的意义和每个输出线圈所控制的量,如表3-1所示,给出了I/O资源配置表。表3-1电梯I/O接口资源配置表元件名作用X000编码器A相输出端,不可直接使用的输入端X001编码器B相输出端,不可直接使用的输入端X002关门限位开关,门关上时为逻辑1X003开门限位开关,门打开时为逻辑1X024电梯停止按钮X025一层上行干簧感应触点X026二层上行干簧感应触点X027二层下行干簧感应触点X028三层上行干簧感应触点X029三层下行干簧感应触点X030四层上行干簧感应触点X031四层下行干簧感应触点X032五层下行干簧感应触点X033上下行强迫换速开关X036速度继电器感应触点X037光点感应触点X050上行平层限位开关(常闭)X051上行减速限位开关(常闭)X052下行平层限位开关(常闭)X053下行减速限位开关(常闭)X054上行平层接近开关X055上行减速接近开关X056下行减速接近开关X057下行平层接近开关X060一楼上行按钮X061二楼下行按钮X062二楼上行按钮X063三楼下行按钮X064三楼上行按钮X065四楼下行按钮X066四楼上行按钮X067五楼下行按钮X070厢内一楼按钮X071厢内二楼按钮X072厢内三楼按钮X073厢内四楼按钮X074厢内五楼按钮X075厢内开门按钮X076厢内关门按钮X077厢内警报按钮Y011曳引机控制正转Y012曳引机控制反转Y013门机控制正转Y014门机控制反转Y020曳引机反转信号输出Y021曳引机正转信号输出Y022检修状态输入Y023使能端口Y024变频器故障输入Y041楼层显示器Y042楼层显示器Y043楼层显示器Y044楼层显示器Y045楼层显示器Y046楼层显示器Y047楼层显示器Y48楼层显示器Y49楼层显示器Y050一楼上行指示灯Y051二楼下行指示灯Y052二楼上行指示灯Y053三楼下行指示灯Y054三楼上行指示灯Y055四楼下行指示灯Y056四楼上行指示灯Y057五楼下行指示灯Y060厢内一楼指示灯Y061厢内二楼指示灯Y062厢内三楼指示灯Y063厢内四楼指示灯Y064厢内五楼指示灯Y065开关门电动机开Y066开关门电动机关Y067厢内警报指示灯Y070曳引机正转Y071曳引机逆转Y072曳引机减速主电路设计电梯主电路图如图3-1所示。图3-1电梯控制主电路图4电梯控制系统软件设计4.1电梯所需实现的功能介绍(1)司机操作:由司机开门启动电梯运行,由轿内指令按钮选向,厅外召唤只能顺向截梯,自动平层。(2)集选控制:集选控制室将轿厢内指令与厅外召唤等各种信号集中进行综合分析处理的高度自动控制功能。它能对轿厢指令、厅外召唤登记,停站延时自动关门起动运行,同向逐一应答,自动平层自动开门,顺向截梯,自动换向反向应答,能自动应召服务。(3)下行集选:只在下行时具有集选功能,因此厅外只设下行召唤按钮,上行不能截梯。(4)上行集选:只在上行时具有集选功能,因此厅外只设上行召唤按钮,下行不能截梯。(5)防止恶作剧功能:本功能防止因恶作剧而按下过多的轿内指令按钮。该功能是自动将轿厢载重量(乘客人数)与轿内指令数进行比较,若乘客数过少,而指令数过多,则自动取消错误的多余轿内指令。(6)开门时间延长按钮:用于延长开门时间,使乘客顺利进出轿厢。(7)故障重开门:因故障使电梯门不能关闭时,使门重新打开再试关门。(8)故障检测:一套以编码器为参考的后备检测系统,能在第一时间发现电梯的故障,然后回到底层,并发出警报,通知维修人员。4.2程序流程图程序流程图如图4-1所示。由于PLC语言的特殊性,其流程图和C语言等其他语言的流程图有些区别,先简要说明一下主要程序段的功能。(1)电梯复位程序段此段程序有两个功能:一个事在系统上电以后,把轿厢的位置恢复到第一层的状态:另一个是在系统出现故障以后,把轿厢的位置恢复到第一层并中止程序。(2)用户输入程序段用户的输入包括门厅的按钮和轿厢内的按钮,用户输入程序段完成在用户输入以后,马上保持用户选择的状态,以便后面的程序判断。(3)系统状态确定程序段对在用户输入程序段中用户选择的状态进行分析和处理,确定程序应该执行哪一部分的代码,以及更改电梯本身的状态。(4)轿厢开关门程序段控制轿厢的开关门,修改开关门的状态逻辑线圈,包括关门延时。(5)检测故障程序段此段程序在每个扫描周期都执行一次,一旦检测到有故障,就跳转到发生故障处理程序段并执行。(6)发生故障处理程序段一旦检测到故障,就会更改运行电梯的状态,恢复电梯到底层,并中断程序的运行。(7)设定上行目标此段程序是用来上行过程中的下一个目标的,只有在上行以及电梯空闲时才会调用,如果没有下一个目标,就会设定电梯为空闲。(8)设定下行目标此段程序是用来下行过程中的下一个目标的,只有在下行以及电梯空闲时才会调用,如果没有下一个目标,就会设定电梯为空闲。(9)执行上行程序此段程序包括控制电梯上行,检测是否应该减速或者停止电梯正转并且执行。(10)执行下行程序此段程序包括控制电梯下行,检测是否应该减速或者停止电梯正转并且执行。程序开始用户输入程序段程序开始用户输入程序段系统状态确定程序段检测故障程序段程序结束电梯复位程序段电梯参数初始化轿厢开关门程序段发生故障处理程序设定上行目标设定下行目标执行上行程序执行下行程序电梯是否复位是否出现故障是否在开关门是否初始完成是否出现故障是否处于下行是否处于上行是否下行召唤是否上行召唤是否处于空闲图4-1程序流程图4.3程序中使用的部分语句介绍PLC梯形图编程是一种并行的编程,编程的方法和C++、Basic等语言的方法不一样,PLC梯形图编程的传统思想是一种串行执行的思想,如果按照传统的PLC梯形图编程思想,这段程序将会变得非常复杂,这种思想的程序可以在本次编写的程序的电梯复位中看到。但是如果整个程序都是用这种思想,会使程序变得非常复杂,不容易修改,可读性也差,所以要改变编程思想。在分析程序之前,先介绍一些平时梯形图编程中并不常用的指令。4.3MC(MasterControl)是主控指令,MCR(MasterControlReset)是主控复位指令,梯形图如图4-2所示。目的操作数[D]选择范围为输出线圈Y和逻辑线圈M,常数n为嵌套级数,其选择范围为N0~N7。MC和MCR指令必须成对使用。N0==M0N0==M0图4-2MC和MCR指令的梯形图当MC指令的控制线路断开时,扫描MC与MCR指令之间各梯形图的情况相当于这些梯形图的控制线路均处于“断开”,因此各计数器和具有失电保持的技术器的当前计数值和计数值保持不变,SET、RST等指令中各软设备的状态或数据也保持不变,而普通计时器则被复位,各逻辑线圈和输出线圈均被切断。如果需要在MC与MCR指令之间再使用MC指令,即嵌套数大于1,则嵌套级的序号应从小到大地编制,即最外层的序号最小,越往里层序号越大。4.3CJ(ConditionalJump)是跳转指令,其梯形图如图4-3所示,其操作数一定是PN。N是一个0~127的整数,表示跳转的指针,如果接通X000,那么2~14之间的代码将不再被扫描。在其操作码之后加“P”,表示当其控制线路由“断开”到“闭合”时才执行跳转指令。图4-3CJ令梯形图4.3CALL(SubroutineCall)是子程序调用指令,SRET(Sub-routineReturn)是子程序返回指令,这两个指令的使用如图4-4所示,PN是子程序调用的指针。在操作码CALL之后加“P”,表示当其控制线路由“断开”到“闭合”时才执行子程序调用指令。(注意,子程序必须编制在FEND指令之后。)FX2系列PLC允许子程序嵌套,其最高嵌套级数为5。就如图4-4所示,如果X000接通,那么,扫描到第2行的时候,就会执行P10内的子程序,如果X002没有接通,那么程序执行到第14行就返回到第2行,执行下去,如果X002接通,那么将在第10行处跳到第15行执行P11的子程序,执行到第18行,遇到SRET指令,返回第10行,继续执行,遇到第14行的SRET后返回到第2行。还有要注意,虽然有了FEND和SRET,但是整个程序的END还是要的,否则写入PLC会出错。图4-4子程序调用的梯形图4.3.4加“1”INC(Increment)是加“1”指令,DEC(Decrement)是减“1”指令,它们的梯形图如图所示。两者的目的操作数[D]的选择范围都是Y(输出线圈,包括KnY)、M(逻辑线圈,包括KnM)、T(计时器)、C(计数器)、D(数据寄存器)、V(变址寄存器)。在操作码INC或者DEC之后加“P”,表示当其控制线路由“断开”到“闭合”时才执行加“1”指令或减图4-5INC指令和DEC指令的梯形图如图4-5所示,只要X000接通,那么就会不断增加D10,不会停止,因此,一般都是使用INCP,这样只是在X000刚被接通时,才增加一次,DEC也是一样,一般使用DECP。4.3.5CMP(Cpmoare)是比较指令,其梯形图如图4-6所示。其源操作数[S1]和[S2]的选择范围是常数、X(包括KnX)、Y(包括KnY)、M(包括KnM)、T、C、D、V,目的操作数[D]的选择范围是Y、M。图4-6CMP指令梯形图注意,目的操作数[D]其实由3个位软设备组成,梯形图中标明的是其首地址,另外两个位软设备紧随其后,目的操作数[D]有逻辑线圈M0、M1、M2组成。当执行比较操作时:若[S1]>[S2],则将逻辑线圈M0置“1”;若[S1]=[S2],则将逻辑线圈M1置“1”;若[S1]<[S2],则将逻辑线圈M2置“1”。还要注意,执行完比较操作后,即使控制线路断开,其目的操作数的状态仍保持不变,除非用RST指令将其复位。4.3.6求SUM(SumofONbits)是求源操作数种“1”位总数的指令,其梯形图如图4-7所示。在其操作码之前加“D”,表示其操作数位32位的二进制数,在操作码之后加“P”,表示当其控制线路由“断开”到“闭合”时才执行求源操作数中“1图4-7SUM指令梯形图在图4-7中,当常开触电X000断开时,不进行求源操作数D0中“1”位总数的操作;当常开触点X000闭合时,每扫描一次该梯形图,就求源操作数D0中“1”位的总数,并将其结果存入目的操作数D10中。如果源操作数D0中没有“1”位,则将零标志专用逻辑线圈M8020置“1”。4.3SEGD(Seven-SegmentDecoder)是显示十六进制数的指令,其梯形图如图4-8所示。其源操作数[S]的选择范围是常数、X(包括KnX)、Y(包括KnY)、M(包括KnM)、T、C、D、V,目的操作数[D]的选择范围是Y(包括KnY)、M(包括KnM)、T、C、D、V。一般情况下都是使用输出线圈Y直接显示数字。在操作码之后加“P”,表示当其控制线路由“断开”到“闭合”时才执行该指令的操作。图4-8SEGD指令梯形图在图4-9中,当常开触点X002断开时,不执行SEGD指令的操作;当常开触点X002闭合时,每扫描一次该梯形图,就将数据寄存器D10中16位二进制数的低4位所表示的十六进制数译码成驱动与输出端Y041~Y049相连接的七段数码管的控制信号,其接线方法如图12所示。图4-9输出线圈的接线方法4.4电梯的启动复位程序启动复位的梯形图代码如图4-10所示。图4-10电梯的启动复位梯形图电梯复位程序的作用是无论电梯在什么位置,都要让电梯停靠在第一层,下面来分析此段程序的执行过程。代码中,M80是常闭触点,在程序开始部分只设定一次,由于M8000可能会不起作用,所以人工设定M80充当常闭触点式有必要的。为了保证这段代码在电梯复位以后不再使用(除非电梯发生故障),设定逻辑线圈M9在常开状态下才能执行此段代码。逻辑线圈M4是为了执行电梯逆转,并设定M5,用以见检测是否已经遇到下行减速限位开关。当遇到常闭触点X053(下行减速限位开关)断开时,停止曳引机逆转,并复位M4,开始使电梯正转,向上移动。电梯向上移动,直到遇到第一个上行减速接近开关(X055),由于第一层是没有此开关的,所以遇到的一定是第二层的上行加速接近开关,此时就可以停止曳引机正转,开始逆转,准备进入第一层。接着遇到的下行减速接近开关(X056)就是第一层的,执行电动机减速。最后遇到下行平层接近开关(X057)当然也是第一层的,此时停止曳引机减速和逆转,并设定M9为逻辑“1”,不再运行此段程序,复位到此就完成了。(注意,这里的M50,是出现故障的时候才会变为逻辑“1”的线圈。)实现代码如下:LDM80//常闭触点ANIM9//M9是电梯是否复位的标志MPSANIM4//设定M4为高的两个条件ANIM5SETM4//设定M4为逻辑1MRDANDM4//如果M4为逻辑1SETY071//设置电梯逆转SETM5//并设置M5MRDANDM5ANIX053//遇到下行减速限位开关RSTY071//停止曳引机逆转RSTM4//复位M4SETY070//电梯开始正转SETM6//设置下一个动作的标志MRDANDM6ANDX055//碰到第一个上行减速接近开关RSTY070//电梯停止上升(正转)SETY071//电梯进入逆转SETM7//设置下一个动作的标志RSTM6MRDANDM7ANDX056//遇到下行减速接近开关SETY072//曳引机减速SETM8//设置下一个动作的标志RSTM7MPPANDM8ANDX057//遇到下行平层接近开关RSTY071//停止曳引机转动RSTY072MPSANIM50//故障标识符不成立的情况下SETM9//设置M9,代表电梯初始化完成MPPRSTM84.5电梯参数初始化程序初始化程序定义了电梯运行所需要的部分逻辑线圈、数据寄存器的初始值。初始值定义如表4-1所示。表4-1初始值定义表元件名含义初始值D100电梯当前位置变量1D101电梯上行最近目标层1D102电梯下行最近目标层1M101电梯上行标志逻辑“0”M102电梯下行标志逻辑“0”M103电梯空闲标志逻辑“1”M104电梯开门标志逻辑“0”M105电梯关门标志逻辑“0”M106开门完毕标志逻辑“0”D10开门延时时间常数20M0电梯系统启动标志逻辑“0”D142第二层上行平层开关精确位置60D143第三层上行平层开关精确位置118D144第四层上行平层开关精确位置176D145第五层上行平层开关精确位置233D146上行平层限制位置300D151第一层下行平层开关精确位置0D152第二层下行平层开关精确位置52D153第三层下行平层开关精确位置111D154第四层下行平层开关精确位置166D161第一层下行减速开关精确位置3D162第二层下行减速开关精确位置60D163第三层下行减速开关精确位置117D164第四层下行减速开关精确位置175D172第二层上行减速开关精确位置52D173第三层上行减速开关精确位置111D174第四层上行减速开关精确位置168D175第五层上行减速开关精确位置226D176上行减速限制位置300这些初始化语句都以图4-11中的语句驱动。图4-11电梯参数初始化程序梯形图(部分)只有在复位程序完全执行以后,逻辑线圈M9才会置为逻辑“1”,而M0是电梯启动的标志,只有它在逻辑“0”才能进入初始化程序端。还有一些需要说明,一系列精确位置是有一个换算方法的,实际上从编码器读出来的数字式非常大的,并且电梯向上运作的时候,此数字减少,而电梯向下运作的时候,此数字式增加的,为了转换成便于理解的数字,使用了图4-12中所示的梯形图。图4-12编码器数字解读计数器C251会记录曳引电动机所转的圈数,然后使用DDIV指令把这个数字除以-1000,在初始化结束以后,会有一条指令吧C251置零,这样使得C251的数字只可能是负数,所以要除以一个负数。D200就是当前电梯的精确位置所保存的数据寄存器。另外,X052用来停止电梯运作的程序和主控程序如图4-13所示。图4-13电梯停止与主控程序如果电梯运作,按下X025,就可以置M0为逻辑“0”,而M0是整个主程序的主控指令,如193行所示,一旦M0为逻辑“0”,N0主控就失效了,整个程序停止。4.6用户输入程序用户输入程序部分是接受用户对门厅按钮和厢内按钮的操作,并将其保存到一定的逻辑线圈中或者执行一定的指令加以处理,每个触点所对应的逻辑线圈以及其说明如表4-2所示。表4-2用户输入和系统状态逻辑线圈的对照表输入触点触点说明对应的逻辑线圈逻辑线圈的说明X060一楼上行按钮M60一楼上行按钮状态X061二楼下行按钮M61二楼下行按钮状态X062二楼上行按钮M62二楼上行按钮状态X063三楼下行按钮M63三楼下行按钮状态X064三楼上行按钮M64三楼上行按钮状态X065四楼下行按钮M65四楼下行按钮状态X066四楼上行按钮M66四楼上行按钮状态X067五楼下行按钮M67五楼下行按钮状态X070厢内一楼按钮M71厢内一楼按钮状态X071厢内二楼按钮M72厢内二楼按钮状态X072厢内三楼按钮M73厢内三楼按钮状态X073厢内四楼按钮M74厢内四楼按钮状态X074厢内五楼按钮M75厢内五楼按钮状态X075厢内开门按钮M76厢内开门按钮状态X076厢内关门按钮M77厢内关门按钮状态X077厢内报警按钮M50检测出错线圈一般的按钮都只需要使用SET指令设置其对应的状态就可以了,如图4-14所示。图4-14用户输入程序(部分)厢内报警按钮的触点如图4-15所示。图4-15厢内报警按钮的触点这里的Y067对应的就是厢内报警指示灯,而M50是系统有故障的标志,会直接使得电梯复位并中止程序,此段梯形图将在检测故障子程序中出现。4.7系统状态确定程序和上一段程序的作用正好相反,上面的程序可以说是UI(UserInput,用户输入)程序,这段梯形图是Output(输出)程序,基本模式和UI程序差不多,可以归纳为一个输出表,如表4-3所示。表4-3系统状态逻辑线圈和输出线圈的对照表系统状态逻辑线圈逻辑线圈的说明相对应的输出线圈输出线圈的说明M60一楼上行按钮状态Y050一楼上行指示灯M61二楼下行按钮状态Y051二楼下行指示灯M62二楼上行按钮状态Y052二楼上行指示灯M63三楼下行按钮状态Y053三楼下行指示灯M64三楼上行按钮状态Y054三楼上行指示灯M65四楼下行按钮状态Y055四楼下行指示灯M66四楼上行按钮状态Y056四楼上行指示灯M67五楼下行按钮状态Y057五楼下行指示灯M71厢内一楼按钮状态Y060厢内一楼指示灯M72厢内二楼按钮状态Y061厢内二楼指示灯M73厢内三楼按钮状态Y062厢内三楼指示灯M74厢内四楼按钮状态Y063厢内四楼指示灯M75厢内五楼按钮状态Y064厢内五楼指示灯对开门状态和关门状态有特殊的处理,特殊处理梯形图如图4-16所示。图4-16系统状态确定程序M75和M76分别是开关门按钮的状态,只有电梯不移动的时候,才可以执行开关门的指令,所以要加上Y070和Y071的是否有接通的判断。如果开门状态接通,那么先取消关门状态,避免冲突,同时也复位M105,即电梯关门标志;还要复位Y066,这样可以马上让开关门电动机停止正转;开门完毕的标志M106也要复位;最后设置电梯开门标志为逻辑“1”,复位M75。如果关门状态被接通,自然相反,先复位开门状态M75和电梯开门标志M104;也要复位Y065,停止开关门电动机逆转;设置开门完毕标志M106为逻辑“1”;最后设置电梯关门标志位逻辑“除了开关门以外的状态与指示灯可以用图4-17的梯形图实现。图4-17除了开关门以外的状态与指示灯在确定系统状态程序代码的结束部分还有一些起其他作用的梯形图,如图24所示。图4-18辅助作用的程序段图4-18所示的梯形图式显示现在所在层的层数和电梯上行指示灯、电梯下行指示灯的代码。图4-19的梯形图,用来判断是否应该进入开关门子程序,如果M104(电梯开门标志)为逻辑“1”,就跳转到P60(电梯开门子程序);如果M105(电梯关门标志)为逻辑“1”,就跳转到P70(电梯关门子程序)。只有M104和M105都为逻辑“0”时,才可以接通N1层主控程序,N1层的主控程序主要是处理电梯的移动,如果电梯处于开关门状态,那么就会切断电梯移动的代码,保证电梯不会移动。图4-19开关门子程序进入判断4.8电梯开关门子程序图4-20开关门子程序(上半部分)在电梯开门标志M104满足ON条件的情况下,根据电梯开门完毕标志的逻辑值来判断执行哪一部分梯形图。如果M106不为逻辑“1”,那么久执行开门的程序,只有当X003(开门限位开关,门打开时为逻辑“1”)接通时,设定M106为逻辑“1”,否则就让开关门电动机正转。如果M106已经是逻辑“1”,即门打开完全,则开始用T0来计时,计时值为D10,计时完毕以后,接通T0触点,此时,接通电梯关门标志,并复位M104和M106。如图4-21所示。图4-21开关门子程序(下半部分)可以看出,关门的梯形图,结构与开门梯形图很相似,以M105为驱动的条件,然后根据X002(关门限位开关,门关上时为逻辑1)的逻辑值来决定执行的梯形图,当门完全关闭后,就复位M106和M105,否则一致驱动Y066,让开关门电动机逆转。程序的代码如下:P60LDM104//M104开门标志为逻辑“1MPSANIM106//M106如果处于逻辑“0”,以为着开MPSANIX003//如果开门限位还没有满足条件OUTY065//持续开门MPPANDX003//如果已经到达开门限位SETM106//设置开门完毕的标志OUTT0D10//开始计时,时间常数存在D10ANDT0//如果计时完成SETM105//设置关门标志为逻辑“1RSTM104//并初始化关门标志P70LDM105//如果处在关门的情况下MPSANIX002//如果没有达到关门限位OUTY066//持续关门RSTT0MPPANDX002//如果到达关门限位RSTM106//初始化M105和M106RSTM105P79SRET4.9故障检测子程序故障检测子程序的跳转指令如图4-22所示。图4-22故障检测子程序的跳转指令P110就是检测故障子程序,其内容可以分为4个部分:4.9.1检测故障需要用到比较指令CMP,此指令需要用3个逻辑线圈用以保存比较结果,在此指定M220、M221、M222,由于比较指令CMP并不会在比较之前自动复位这3个线圈,因此在执行比较之前要使用RST指令人工复位。4.9.由于上行减速开关、上行平层开关、下行减速开关和下行平层开关的位置各部相同,所以上行过程中的故障检测和下行过程中的故障检测要分开编程。先看看电梯上行过程中的故障检测,如图4-23所示。图4-23电梯上行过程中的故障检测梯形图首先要保证只有在上行过程中才会执行此段梯形图的指令,使用M101(电梯上行标志)和M102(电梯下行标志)的组合来判断。电梯停止移动的时候(电梯停靠在楼层时,也会有上行、下行和空闲之分),是不能检测是否出现故障的(这是因为没有信息反馈),因此检测是从电梯开始移动开始的。当Y070(曳引电动机正转)从逻辑“0”变为逻辑“1”时,开始检测,先记录电梯上行的目标层数,保存入V1和V2这两个变地址寄存器重备用,在电梯的运动没有减速之前,需要检测的是上行减速传感器是否起作用,使用CMP语句比较D200(电梯当前的精确位置)和D1701V1(上行减速开关精确位置的变地址形式,如果V1是2,D170V1就是D172)的大小,如果D200小于等于D170V1,那么就继续检测,否则就是电梯的上行减速传感器出现故障,会使得M220变为逻辑“1”,从而跳入故障处理程序。一旦电梯减速,证明上行减速传感器没有发生故障,那么就开始检测上行平层传感器,同时用INCP指令为V1加上1,保证上一句检测语句不会再起作用。检测上行平层传感器的方法是一样的,用CMP指令检测D200和D140V2(上行平层开关精确位置的变地址形式)的大小,只有D200大于D140V2时,才会跳入故障处理程序;如果Y070被复位,也就是说上行平层传感器没有发生故障,此时使用INCP指令为V2增加1,保证不会再让上行平层检测语句起作用,完成上行检测;在下次电梯向上移动时,再次开始检测。4.9.3如图4-24所示。基本结构和上行检测梯形图相似,只是在比较语句和一些数值的存取上有些改变。使用M102和M101的组合来判断电梯是否在下行运作中,在电梯停靠在某楼层的时候是不会检测的,一旦Y071(曳引电动机逆转)接通,则保存电梯下行目标层数D102到V1和V2。在电梯还没有减速之前,检测下行减速传感器是否出现故障,如果D200大于等于D160V1(下行减速开关精确位置的变地址形式),那么就继续检测,否则就是设置M50(电梯故障标志)为逻辑“1”,进入故障处理程序段;如果电梯已经开始减速,证明下行减速传感器没有问题,用DECP指令为V1减1,检测下行平层传感器,比较D200和D150V2(下行平层开关精确位置的变地址形式)的大小,同样只有在D200熊爱玉D150V2时,才进入故障处理程序段。下次电梯移动时,还会执行这段梯形图进行检测。图4-24电梯下行过程中的故障检测梯形图4.9.4如图4-25所示。故障处理程序只有在M50被接通的情况才会执行,它是和电梯的复位程序配合使用的。处理方法很简单,先停止曳引电动机的任何动作,然后初始化所有在复位程序中的临时线圈,这样就可以在下一个扫描周期中,进入复位程序。然后复位M0切断主程序的主控指令,再直接用跳转指令CJ跳到P120(主程序的结尾,FEND指令),这样就回到了电梯复位的阶段。唯一不用的是M50被接通了,那么在复位程序执行到最后时,M9是不会被置为逻辑“1”的,整个程序就中止了。图4-25出现故障以后的处理这4个部分合起来就是检测故障的子程序,在检测完以后,如果没有出现故障,就会跳转回到N1层主控程序的开头。程序代码如下:P110LDM80RSTM220//初始化三个临时比较线圈RSTM221RSTM222LDM101//如果电梯处于上行状态ANIM102//并且下行状态为逻辑”0MPSANDY070//并且电梯正在运转MOVPD101V1//保存上行最近目标楼层到两个MOVPD101V2//变地址寄存器备用MRDANIY072//如果电梯没有减速CMPD200D170V1M220//核对减速片位置的正确性MRDANDY072//如果电梯已经减速CMPD200D140V2M220//核对平层片位置的正确性INCPV1//核对同时在V1上增加1保证MRD//减速片的核对不会再发出错误ANIY070//如果电梯停止向上移动,证明INCPV2//平层片位置没有错,V2加1MPPANDM220//如果出现错误情况SETM50//设置系统错误逻辑线圈为高LDM102//如果是下行状态ANIM101MPSANDY071//电梯正在向下移动MOVPD102V1//吧下行最近目标楼层到两个MOVPD102V2//变地址寄存器MRDANIY072//如果电梯没有减速CMPD200D160V1M220//核对减速片位置的正确性MRDANDY072//如果电梯已经减速CMPD200D150V2M220//核对平层片位置的正确性DECPV1//核对同时在V1上减去1保证MRD//减速片的核对不会再发出错误ANIY071//如果电梯停止向下移动,证明DECPV2//平层片位置没有错,V2减1MPPANDM222//如果出现错误情况SETM50//设置系统错误逻辑线圈为高P115LDM50//如果出现错误RSTY070//停止电梯的移动RSTY071RSTM4//复位四个关键的逻辑线圈RSTM5RSTM9RSTM0SETY067//报警输出线圈CJP120//直接跳到主程序结束4.10按键检测程序段检测按键的梯形图如图4-26所示。图4-26检测按键程序段如表4-2所示,X060~X067和X070~X074都是关于楼层的按钮。本段程序时为了检测这些按钮中有没有一个或者几个被按下,用此来确定电梯的运行状态。使用SUM指令计算X060~X067和X070~X073(K3X060就是代表这些逻辑线圈)的逻辑“1”的位数,保存到D111中(其实有多少位是无所谓的,关键是有没有按钮被按下),如果X074被置逻辑“1”或者M8020还是逻辑“0”,那就证明有按钮被按下,那么M100(有键按下的标志)就被接通,否则就复位M100。其代码如下:LDM80SUMK3X060D111//X060~X067和X070~X073中MPS//逻辑“1”LDIM8020//如果以上按钮中有被按下的ORX074//或者X074按钮被按下ANBSETM100//证明电梯有门厅按钮按下MPPANDM8020//如果以上按钮中没有被按下ANIX074//并且X074按钮没有被按下RSTM1004.11清除标记子程序此段子程序的作用是电梯在某个楼层的时候,清除已经完成任务的按钮状态,由于这段程序在接下来的代码中多次被用到,所以先作分析。这是一个梯形图的编程方法,就是制作一个功能类似C语言中的Switch…Case语句的梯形图结构,根据一个变量的不同数值,执行不同的指令。梯形图如图29所示。在子程序开头,把电梯当前所在的层数保存在变地址寄存器V中,并使用跳转指令CJ跳转到P80V中去,在P80V的最后总有一句跳转到P99(清除标记子程序的结尾,SRET指令)的指令,这样就保证只有当前楼层的标记被清除。每一层对应的清除标记如表4-4所示。清除的指令见图4-27中的梯形图,一层楼和五层楼的清除与741行的梯形图相似,其余楼层的标记清除与748行至758行的梯形图相似。 表4-4清除标记对应表 楼层数对应清除的标记对应的电梯状态清除的逻辑线圈逻辑线圈的作用一层楼任何状态M60厅门一楼上行按钮状态M70厢内一楼按钮状态二层楼电梯上行状态M62厅门二楼下行按钮状态电梯下行状态M61厅门二楼下行按钮状态梯空闲状态M62厅门二楼下行按钮状态M61厅门二楼下行按钮状态任何状态M71厢内二楼按钮状态三层楼电梯上行状态M64厅门三楼上行按钮状态电梯下行状态M63厅门三楼下行按钮状态电梯空闲状态M64厅门三楼上行按钮状态M63厅门三楼下行按钮状态任何状态M72厢内三楼按钮状态四层楼电梯上行状态M66厅门四楼上行按钮状态电梯下行状态M65厅门四楼下行按钮状态电梯空闲状态M66厅门四楼上行按钮状态M65厅门四楼下行按钮状态任何状态M73厢内四楼按钮状态五层楼任何状态M67厅门五楼下行按钮状态M74厢内五楼按钮状态图4-27清除标记子程序实现代码如下:P80LDM80MOVD100V//将当前电梯所在层数保存到VCJP80V//根据当前楼层数跳转P81LDM80RSTM60//如果是1楼,只需要清楚M60RSTM70//和M70CJP99//跳出子程序P82LDM101//如果电梯上行ANIM102RSTM62//清除M62LDIM101//如果电梯下行ANDM102RSTM61//清除M61LDM103//如果电梯空闲RSTM62//清除M61和M62RSTM61LDM80RSTM71//无条件清除M71CJP99//跳出子程序P83LDM101//如果电梯上行ANIM102RSTM64//清除M64LDIM101//如果电梯下行ANDM102RSTM63//清除M63LDM103//如果电梯空闲RSTM63//清除M63和M64RSTM64LDM80RSTM72//无条件清除M72CJP99//跳出子程序P84LDM101//如果电梯上行ANIM102RSTM66//清除M66LDIM101//如果电梯下行ANDM102RSTM65//清除M65LDM103//如果电梯空闲RSTM65//清除M65和M66RSTM66LDM80RSTM73//无条件清除M73CJP99//跳出子程序P85LDM80RSTM67//如果是5楼,清除M67和M74RSTM74CJP99//跳出子程序P99SRET4.12电梯空闲状态处理程序电梯空闲状态的处理比较简单,梯形图如图4-28所示。图4-28电梯空闲状态处理程序P40是确定下一个电梯目标楼层的子程序,在这段子程序中,会确定M103(电梯空闲标志)的逻辑。如果这段程序的执行结果依旧是没有任何其他楼层(就是不包括电梯当前停靠的楼层)需要相应的。那么M103就为逻辑“1”接下来分析P40子程序,这个程序由两个部分组成。第一部分是设定一个临时变量,把当前所在的层保持到D110,然后使用一系列的指令,来修改D110内的值,比如门厅一楼上行按钮或者是厢内一楼按钮被按下,那么就把数字1传给D110;门厅二楼上行按钮、门厅二楼下行按钮或者厢内二楼按钮被按下,那么就把数字2传给D110,以此类推。不用担心会有多个按钮被按下的情况,因为只要有一个按钮被按下,就会改变电梯的运行状态,不会再进入这段梯形图,除非再次进入电梯空闲状态。第二部分是一个比较程序,用来更改电梯的运行状态,梯形图如图4-29所示。图4-29更改电梯的运行状态比较D110和D100的数值,结果存放在M2002、M201、M202中。结果是D110大于D100,那么下一个目标层就在当前层的上方,所以把D110传给D101(电梯上行最近目标),并接通M101(电梯上行标志),复位M103(电梯空闲标志),并让曳引电动机正转(设置Y070为逻辑“1”)。如果D110等于D100,那么一定是按了当前层的按钮,那么电梯状态依旧为空闲,在跳回调用子程序的地方会进入开门程序。在结束子程序、跳回到主程序后,会遇到CALLP80的指令,用于消除标记,那是因为如果是按下了当前所在层的相对应按钮,那么应该马上熄灭。这两部分相结合旧完成了电梯空闲状态处理程序,使得在没有用户按下按钮的情况下,保持原来的状态,并时刻监测按钮的状态,随时转变电梯状态。实现的代码如下:P40LDM80MOVD100//保存当前所在楼层到D110LDM70//如果M70或者M60被按下ORM60MOVK1D110//就把1赋值给D110LDM71//如果M71、M61、M62中有ORM61//一个被按下ORM62MOVK2D110//就把2赋值给D110LDM72//如果M72、M63、M64中有ORM63//一个被按下ORM64MOVK3D110//就把3赋值给D110LDM73//如果M73、M65、M66中有ORM65//一个被按下ORM66MOVK4D110//就把4赋值给D110LDM74//如果M74或者M67被按下ORM67MOVK5D110//就把5赋值给D110LDM80CMPD110D100M200//比较D110和D100的大小MPSANDM200//如果是D110>D100MOVD110D101//那么电梯上行,赋值上行目标SETM101//设置上行标志RSTM103//清除空闲标志SETY070//电梯正转MRDANDM202//如果是D110<D100MOVD110D102//那么电梯下行,赋值下行目标SETM102//设置下行标志RSTM103//清除空闲标志SETY071//电梯反转MPPANDM201//如果两者相等SETM103//电梯继续空闲P59SRET电梯上行程序4.13.1确定上行最近目标子程序确定上行最近目标子程序,是为了监控用户的新的输入,确定是否需要更改电梯运行的目标,如当电梯已经有了目标层,开始移动的时候,比如从一楼到五楼,当电梯经过二楼时,四楼门厅有人按下四楼上行按钮,那么电梯的上行最近目标层就应该改为4,而不是5。此段子程序也是使用了前面提到的梯形图的Switch…Case,但是有一些区别,因为每个扫描周期电梯的位置都会改变,而监测上行最近目标层只能监测当前层以上的层的门厅上行按钮或者厢内按钮。比如,当前层是第3层,当前上行最近目标层是5,那么只有按下4楼门厅上行按钮或者厢内4楼按钮才能改变上行最近目标层,而按一楼、二楼都是没有用的。具体实现如图4-30所示。图4-30确定上行最近目标层子程序P0就是确定上行最近目标层的子程序的开始,首先得到当前所在层的层数,保存到变地址寄存器V中,然后根据V,使用跳转指令CJ跳转到相应的程序段。如果当前层数是2,那么就会直接跳到P2,这样就会跳过P1(检查二层楼按钮的状态),如果检测到P2中的M64(3楼门厅上行按钮)或者M72(厢内3楼按钮)被按下,那么就用3来取代原来的电梯上行目标层,并跳转到P19(确定上行最近目标层的子程序的结束,SRET指令);如果没有检测到这两个按钮被按下,就先检测M63(3楼门厅下行按钮),如果M63被接通,那么就先把3层作为电梯上行最近目标,然后继续检测P3中的M66(4楼门厅上行按钮)和M73(厢内4楼按钮)的状态,有被按下的,就用4来代替当前的电梯上行最近目标层,否则检测M65(4楼门厅下行按钮),如果被按下的,就用4来代替当前的电梯上行最近目标层,否则检测M65(4楼门厅下行按钮),如果被按下,就先保存,继续向下检测,以此类推,一直执行到P4、P5。P4检测的厢内5楼按钮的状态,而M67检测的是5楼门厅的下行按钮。如果到这里为止都没有按钮被按下,那么就会进入P5,证明电梯已经不在上行状态了,那么就复位M101(电梯上行标志),并设M103(电梯空闲标志)为逻辑“1”具体代码如下:P0LDM80MOVD100V//保存当前所在楼层到V中CJP0VP1//当前在第一层LDM62//M62或者M71被按下ORM71MOVK2D101//最近目标设置为2CJP19//跳出子程序LDM61//否则如果M61被按下MOVK2D101//暂时设定目标为2P2//当前在第二层LDM64//M64或者M72被按下ORM72MOVK3D101//最近目标设置为3CJP19//跳出子程序LDM63//否则如果M63被按下MOVK3D101//暂时设定目标位3P3//当前在第三层LDM66//M66或者M73被按下ORM73MOVK4D101//最近目标设置为4CJP19//跳出子程序LDM65//否则如果M65被按下MOVK4D101//暂时设定目标位4P4//当前在第四层LDM74//M74被按下MOVK5D101//最近目标设置为5CJK19//跳出子程序LDM67//否则如果M67被按下MOVK5D101//设定目标位5CJP19//跳出子程序P5LDI

温馨提示

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

评论

0/150

提交评论