基于EDA技术的三层电梯控制系统设计论文

上传人:仙*** 文档编号:60572880 上传时间:2022-03-08 格式:DOC 页数:48 大小:999.50KB
返回 下载 相关 举报
基于EDA技术的三层电梯控制系统设计论文_第1页
第1页 / 共48页
基于EDA技术的三层电梯控制系统设计论文_第2页
第2页 / 共48页
基于EDA技术的三层电梯控制系统设计论文_第3页
第3页 / 共48页
点击查看更多>>
资源描述
摘 要电梯作为现代化的产物,早在上个世纪就进入了我们的生活之中。大规模的经济建设尤其是蓬勃发展的房地产业给国内电梯行业开拓了更为广阔的市场。随着经济建设的持续高速发展,我国电梯需求量越来越大。由此,一个更为庞大的电梯市场已经在国内轰然形成。我国以前主要都是依靠国外的进口技术,本国的电梯厂商主要都是依靠为进口电梯作销售代理或者售后维修进行经营。但是随着技术的革新和与国外的交流,当今经济建设需求的各类电梯,几乎全部都可以在中国生产。电梯生产作为一门国家的新兴产业,它这种能有减少人口膨胀对环境所造成的巨大压力的特性,注定了其在中国具有一片光明的前景。本设计就是基于电子设计自动化(Electronic Design Automation)技术中的甚高速集成电路硬件描述语言(Very High Speed Integrated Circuit Hardware Descrisioon Language)语言所开发的三层电梯控制程序,实验调试平台是 Altera 公司的MAX+plusII 软件。本程序具有 VHDL 语言设计里最为常用的三个模块:实体 entity,对控制器的实体(输入输出)端口进行定义;结构体 architecture,对控制器内部的信号端以及寄存器进行定义;进程执行单元 process,对控制器的所有输入输出端口、内部信号端口以及寄存器进行功能、行为描述。通过程序调试及运行仿真,结果表明,本程序可以完成:电梯运行所在楼层指示、电梯运行方向指示、关门延时设置、看门狗报警、超载报警、故障报警等。本设计对更高层的电梯控制设计具有一定的拓展性。关键词:关键词:电梯控制 程序设计 EDA VHDL MAX+plusII 英文缩略词:英文缩略词:EDA Electronic Design Automation 电子设计自动化VHSIC Very High Speed Integrated Circuit 甚高速集成电路VHDL Very High Speed Integrated Circuit Hardware Descrisioon Language甚高速集成电路硬件描述语言MAX+plusII Multiple Array Matrix and Programmable Logic User System多阵列矩阵和可编程逻辑使用者系统CAD Computer Adied Design 计算机辅助设计 CAM Computer Adied Manufacture 计算机辅助制造CAT Computer Adied Testing 计算机辅助测试CAE Computer Adied Engineering 计算机辅助工程HDL ardware Descrisioon Language 硬件描述语言PLC Programmable Logic Controller 可编程逻辑控制器VLSI Very Large Scale Integration 超大规模集成电路FPGA Field Programmable Gate Array 场效应可编程门阵列CPLD Complex Programmable Logic Device 复杂可编程逻辑器件IEEE the Institute of Electrical and Electronics Engineers 电工和电子工程师协会EPLD Eraserable Programmable Logic Device 可擦写可编程逻辑器件目 录1 前言 .11.1 问题的提出 .11.2 设计目的 .12 设计的基础依据 .22.1 EDA 技术介绍.22.2 VHDL 语言介绍.32.3 MAX+PLUSII 软件介绍 .33 文献综述 .53.1 PLC 在电梯控制中的应用介绍.53.2 单片机在电梯控制中的应用介绍 .63.3 电梯控制的未来 .84 总体方案的确定 .84.1 基于 PLC 技术的电梯控制设计方案 .84.2 基于 EDA 技术的电梯控制设计方案 .94.3 方案选择 .105 程序设计及调试 .115.1 算法分析 .115.1.1 电梯运行规则 .115.1.2 程序流程分析 .155.2 程序设计说明 .165.2.1 端口、寄存器设计说明 .165.2.2 模块设计说明 .175.2.3 具体语句设计说明 .2053 程序调试 .236 程序仿真 .276.1 波形输入建立 .276.2 电梯运行情况仿真 .296.3 电梯功能仿真 .327 结论 .337.1 设计功能实现情况 .337.2 设计存在问题 .337.3 进一步完善建议 .33致 谢 .35参 考 文 献 .36英 文 摘 要 .37附 录 .38毕业设计成绩评定表11 前言1.1 问题的提出当今世界,部分地区人口高度密集,人和土地资源短缺的矛盾日趋激化。这就注定了必须合理地利用土地去解决人与土地的矛盾。而兴建高层建筑是其中的有效措施之一。因此,能使人们快速、便捷地到达目的楼层的电梯便应运而生了。在一些发达国家和地区,人均电梯拥有数量一般在每万人 30 台以上,某些国家甚至达到每万人 120 台以上,随着城镇化程度的加大,电梯市场会更加繁华。中国的电梯市场增长也很乐观,目前,每年增长率为 15%18%。随着电梯普及率的升温,人们对电梯的要求也会越来越高。如何更安全、更快捷地到达目的楼层,也就成了人们对电梯最为根本的要求。而电梯系统里掌控这方面技术参数的是电梯控制系统。因此,控制系统的设计就成了在电梯设计领域里最为核心的技术。在电子技术飞速发展的今天,现代电子产品几乎渗透到了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,加速了电子设计技术的普及进程及技术革新。电子设计在日常生活和物质产品生产都占到了举足轻重的地位,这尤其体现在其对电子产品的开发和设计上。面对如此广袤的电梯市场,所谓“科技就是第一生产力” ,处于科技前沿的电子设计技术很自然地就与电梯控制设计一拍即合,给设计师们以巨大的设计空间。因此,本设计就是希望在以开发更安全、更快捷的三层电梯控制系统为前提下,结合电子设计技术,对电梯控制进行设计。1.2 设计目的三层电梯广泛应用在大型的货运之中。其使用便捷,货运周期短,效率高,成本低,对货运事业具有相当的经济价值。在客运上,三层电梯虽然涉及楼层不高,应用范围不大,但就特殊而言,可以为一些上下楼层不方便的人们提供相当的帮助,照顾了这些特殊群体的感情。因此,在某种层面上说,三层电梯的设计也具有一定的社会价值。本着“一理通,百理明”的原则,本设计希望通过在简单的三层电梯控制设计之中如何解决升、降请求信号因电梯所处状态而产生的冲突等问题发散出去,由此及彼,对高层电梯控制的开发作一个技术的铺垫,为高层电梯设计者提供一个基础。针对目前中小型电梯所能实现的功能,本控制设计拟实现以下这些功能:(1)指示电梯运行所在楼层;2(2)指示电梯运行方向;(3)关门延时设置;(4)看门狗报警;(5)超载报警;(6)故障报警。2 设计的基础依据现代电子设计技术的核心是 EDA 技术。基于 EDA 技术开发的实现三层电梯自动控制与目前主流的利用可编程逻辑控制器实现电梯控制紧密相连。硬件描述语言是 EDA技术的重要组成部分,VHDL 是作为电子设计主流硬件的描述语言。使用 VHDL 语言进行程序的设计,在 MAX+plusII 软件上对程序进行编译、仿真。在 MAX+plusII 平台上的开发具有编程软件具有采自易学易懂的梯形图语言、控制灵活方便、抗干扰能力强、运行稳定可靠等优点。2.1 EDA 技术介绍EDA 技术是 20 世纪 90 年代初从计算机辅助设计(Computer Adied Design) 、计算机辅助制造(Computer Adied Manufacture) 、计算机辅助测试(Computer Adied Testing)和计算机辅助工程(Computer Adied Engineering)的概念发展而来的。随着超大规模集成电路(Very Large Scale Integration)规模和技术复杂度的急剧增长,一块芯片内集成门已可达几十万甚至几百万门,并且还在迅速增长,电子系统的人工设计已十分困难,必需依靠电子设计自动化技术。在利用 EDA 进行集成电路设计时,应采用高效率的 TOP-DOWN 设计方法,即根据系统的行为和功能要求,自上而下地依次完成相应的描述、综合、优化、仿真与验证,直到生成器件。在电路描述时主要采用硬件描述语言(HDL) 。硬件描述语言是用于设计硬件电子系统的计算机语言,它描述电子系统的逻辑功能、电路结构和连接方式。设计者可以利用 HDL 程序来描述所希望的电路系统,规定其结构性和电路的行为方式;然后利用 EDA 工具将此程序变成能控制场效应可编程门阵列(Field Programmable Gate Array)/复杂可编程逻辑器件(Complex Programmable Logic Device)内部结构并实现相应逻辑功能的门级或更底层的结构网表文件和下载文件。就 FPGA/CPLD 开发来说,比较常用和流行的 HDL 主要有 ABEL-HDL 和 VHDL 等。EDA 技术的基本特征和基本工具总的来说,现代 EDA 技术的基本特征是采用高级3语言描述,具有系统级仿真和综合能力。它主要采用并行工程和“自顶向下”的设计方法,使开发者从一开始就要考虑到产品生成周期的诸多方面,包括质量、成本、开发时间及用户的需求等等,然后从系统设计入手,在顶层进行功能方框图的划分和结构设计,在方框图一级进行仿真、纠错、并用 VHDL、Verilog-HDL、ABEL 等硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证,然后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,其对应的物理实现级可以是印刷电路板或专用集成电路。简单来说就是依赖功能强大的计算机,在 EDA 工具软件平台上,对以硬件描述语言 HDL为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、逻辑化简、逻辑分割、逻辑综合、结构综合(布局布线),以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。从另一方面看,在现代高新电子产品的设计和生产中,微电子技术和现代电子设计技术是相互促进、相互推动又相互制约的两个技术环节。前者代表了物理层在广度和深度上硬件电路实现的发展,后者则反映了现代先进的电子理论、电子技术、仿真技术、设计工艺和设计技术与最新的计算机软件技术有机的融合和升华。因此,严格地说,EDA 技术应该是这二者的结合,是这两个技术领域共同孕育的奇葩。2.2 VHDL 语言介绍VHDL 语言于 1983 年由美国国防部发起创建,由电工和电子工程师协会(the Institute of Electrical and Electronics Engineers)进一步发展并在 1987 年作为“IEEE 1076”发布。从此,VHDL 成为硬件描述语言的业界标准之一。VHDL 作为一个规范语言和建模语言,具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。VHDL 具有与具体硬件电路无关和设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化结构化设计方面,表现了强大的生命力和应用潜力。2.3 MAX+plusII 软件介绍MAX+plusII 是 Altera 公司提供的 FPGA/CPLD 开发集成环境,其界面友好,使用便捷,被誉为业界最易用意学的 EDA 软件,目前已发行到 10.2 版本。它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。在MAX+plusII 平台上进行数字系统的设计过程一般要经过四个阶段:设计输入、项目编4译、项目校验和器件编程。首先根据系统的性能指标进行系统结构设计,对整个系统进行功能划分和模块划分。对各子模块分别进行逻辑设计、编译、仿真与验证。当不满足要求时,重新返回设计输入阶段,修改设计输入。之后将优化结果下载到所选可擦写可编程逻辑器件(Eraserable Programmable Logic Device)芯片中,进行动态仿真。最后则是测试芯片在系统中的实际运行性能。其具体的流程图如图 1 所示。 设计要求设计输入设计编译功能检验时序检验器件编程修改设计图 1 MAX+plusII 设计流程该方法将问题的解决放在硬件组装之前,既简化了设计过程,又可以减少设备投资,缩短设计周期,增强设计者对设计过程的分析和制造的可控性。Altera 的工作与 EDA 厂家之间紧密合作,使 MAX+plusII 软件与其他工业标准的设计输入、综合与校验工具具有良好的兼容性。目前,MAX+plusII 支持多种第三方 EDA工具接口,包括:(1)Cadence;(2)Exemplarlogic;(3)Mentor Graphics;(4)Synopsys;(5)Synplicity;(6)Viewlogic。MAX+plusII 软件与其设计流程的每个阶段都匹配有强大的设计软件,其软件组成如图 2 所示:5MAX+plusII信息处理器和层次显示设计输入MAX+plusII文本编辑器MAX+plusII图形编辑器项目校验MAX+plusII时间分析器项目编译编译器 网络提取器数据库 建库器逻辑综合器适配器件编程MAX+plusII编程器图 2 MAX+plusII 的软件组成3 文献综述3.1 PLC 在电梯控制中的应用介绍由当初的继电器逻辑控制电路到今天广为应用的可编程逻辑控制器及微机控制系统,电梯控制的发展经历了相当一段历程。(李惠升,2003)为了实现电梯的控制,过去大多是采用继电器逻辑电路,这种逻辑控制方式具有原理简单、直观的特点,但是通用性较差,对不同的楼层和不同的控制方式,其原理图、接线图等必须重新制作,且控制系统由许多继电器触点组成,接线复杂、故障率高。因此,它逐渐被可靠性高、通用性强的可编程序控制器及微机控制系统所代替。由 PLC 或微机实现继电器的逻辑控制功能,具有较大的灵活性,不同的控制方式可用相同的硬件,只是软件各不相同。只要把按钮、限位开关、光电开关、无触点行程开关等电器元件作为输入信号,而把制动器、接触器等功率输出元件接到输出端,就算完成了接线任务。通常,电梯功能、层数变化时,无需增减继电器和大量的电路。PLC是一种用于自动控制的专用微机,实质上属于微机控制方式。PLC 在设计和制造上采取了许多抗干扰措施,输入输出均有光电隔离。能在较恶劣的各种环境里工作、可靠性高,6适合于安全性要求较高的电梯控制。PLC 将 CPU、存储器、I/O 接口等做成一体,使用方便,扩展容易。具有继电器系统的直观、易懂、易学,应用操作和调试方便等优势。因此,目前在国产电梯及中低档的客梯广泛采用了 PLC 控制系统,特别适合在用电梯的技术改造。(马宏骞,2003)电梯既是一种特殊的起重运输设备,具有完善的机械专用构造,又是一种比较复杂的机电一体化的大型工业产品,具有复杂的电气控制系统。就电梯的控制方法而言,目前国产电梯广泛采用可编程控制器技术的智能化控制。由于这种控制属于随机控制,各种输入信号之间、输出信号之间以及输入信号和输出信号之间互相关联,逻辑关系处理起来非常复杂,这就给 PLC 编程带来很大难度。从这种意义上来说,PLC 编程水平的高低就决定电梯运行状态的好坏,因此 PLC 应用在电梯控制电梯控制中的编程技术就成为控制电梯运行的关键技术。PLC 充分利用了微型计算机的原理和技术,具有很强的逻辑处理能力,在电梯运行控制中发挥了重要作用。由于电梯在运行过程中各种输入信号是随机出现的,即信号的出现具有不确定性,同时信号需要自锁保持、互锁保存、优先级排队、数据比较等,因此信号之间就存在复杂的逻辑关系。所以在电梯的运行控制中,PLC 的编程工作主要 是针对各种信号进行逻辑判断和处理。3.2 单片机在电梯控制中的应用介绍(张娅莉等,2003)单片机体积小,处理速度快,价格低廉,功能强大,是合适的控制系统。对电梯的控制主要是选层、启动、换速、平层、停车等几个环节, ,其中以选层环节最为复杂。与通常的电器控制相比,单片机系统不需要通过“选层器”并且配备以大量的中间继电器作为选层电路的控制设备,避免了设备多,检修困难,运行维护不便,造价成本高;应用微机控制可以取消选层器和大量的中间继电器。而且应用单片机控制又相对于应用其他微机减少了外围设备的接口芯片,增强了可靠性。其程序流程如图 3 所示。7初始化在一楼?有上呼关门或定时到输出关门信号置上行启动到减速点本层内选上呼输出减速控制到二楼停车二层处理查询开始YYYYYNNNNN图 3 程序流程(部分)83.3 电梯控制的未来电梯产业将走上信息化、网络化的道路。电梯控制系统如何与网络技术相结合将是未来电梯设计的主流趋势。在 21 世纪的今天如何提供用户满意产品和服务已成为关系到各企业生死存亡问题。电梯上网能确保为客户提供更优质全程的服务。在将来各大品牌厂家为了生存和发展都会在公共网络系统中建立自己电梯网站(电梯专用平台) ,这也是一条必由之路。电梯上网主要能实现以下功能:(1)用网络把所有电梯监管起来,保证电梯安全运行,确保乘客安全。(2)当电梯出现故障时,电梯通过网络向客户服务中心发出信号使维保人员能及时准确了解电梯出现故障的原因及相关信息,客户的人身安全是否受到威胁,并在第一时间内赶赴事故现场进行抢修,同时通过网络对在电梯内乘客安慰,把电梯出现故障的负面影响降到最低。(3)也可以通过电梯网络在规定时间内自动扫描每台电梯各部件以发现事故隐患做到事先维修,减少停梯时间,提高企业的服务质量。4 总体方案的确定4.1 基于 PLC 技术的电梯控制设计方案可编程控制系统是一种专门为在工业环境下应用而设计的数字运算操作电子系统。它采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程。 可编程控制器是计算机技术与自动化控制技术相结合而开发的一种适用工业环境的新型通用自动控制装置,是作为传统继电器的替换产品而出现的。随着微电子技术和计算机技术的迅猛发展,可编程控制器更多地具有了计算机的功能,不仅能实现逻辑控制,还具有了数据处理、通信、网络等功能。由于它可通过软件来改变控制过程,而且具有体积小、组装维护方便、编程简单、可靠性高、抗干扰能力强等特点,已广泛应用于工业控制的各个领域,大大推进了机电一体化的进程。PLC 的特点可综述如下:(1)高可靠性(2)编程简单,使用方便(可采用梯形图编程方式,与实际继电器控制电路非常接近,一般电气工作者很容易接受)(3)环境要求低(适用于恶劣的工业环境)9(4)体积小,重量轻(5)扩充方便,组合灵活PLC 硬件框图如图 4 所示:图 4 PLC 硬件框图4.2 基于 EDA 技术的电梯控制设计方案随着电子技术的发展,EDA 技术在工业控制系统中得到了广泛的应用,在电梯控制电路上采用 EDA 技术进行开发,越来越受到人们的重视。EDA 技术开发手段多样,其中应用最为广泛的就是通过程序对硬件进行开发,而其中又数 VHDL 语言最受设计者的欢迎。EDA 技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和 EDA软件来完成对系统硬件功能的实现。近几年来,硬件描述语言等设计数据格式的逐步标准化,不同设计风格和应用的要求导致各具特色的 EDA 工具被集成在同一个工作站上,从而使 EDA 框架日趋标准化。 (王志鹏等,2005)VHDL 丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。其行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。VHDL 语言的设计单元包括实体(entity) 、结构体(architecture)、程序包(package)以及配置(configration) 。初级设计单元实体(entity),是设计的基本模块和设计的初级单元,在分层次设计中,顶层有顶级实体,含在顶级实体中的较低层次的描述为低级实体,靠配置把顶10层实体和底层实体连接起来。实体说明中还可以说明数据类型、子程序和常量等数据信息,实体语句常用于描述设计常用到的判断和检查信息。次级设计单元结构体(architecture),实体的结构体具有描述实体的行为功能,一个实体可以有多个结构体,一种可能为行为描述,另一种可能为结构描述。结构体能以行为、数据流和结构等多种方式描述实体。VHDL 语言还包括程序包(package)和配置(configration)初级设计单元。VHDL 语言的基本术语往往能体现其严密的逻辑结构:VHDL 语言的基本术语包括进程(process) 、类属(generic) 、属性(attribute)以及驱动(drive) 。进程(process)是 VHDL 中的基本执行单元,仿真时把所有的操作划分为单个或多个进程。进程内部只含顺序执行的语句,即一串信号赋值中仅最后的赋值有效。进程内不能说明信号,而变量在进程内说明。其具体的流程图如图 5 所示。设计思想及模块化设计输入设计实现设计仿真器件编程系统测试图 5 VHDL 设计流程图4.3 方案选择对于符合市场需求的大规模系统,要达到高效、高速完成,必须有多人甚至多个开11发组共同并行工作才能实现。对于用 EDA 技术完成的一个确定的设计,可以利用相应的工具平台进行逻辑综合和优化,完成设计任务。基于 EDA 技术的 VHDL 语言对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。这为电子设计的入门者提供了便捷的帮助。相信在不远的将来,我国相关的专业技术人员使用 EDA 技术进行工程设计,就象现在使用计算器一样,虽然大部分人不能开办集成电路制造厂,但是却能快速、经济地制造 (设计) 自已的专用集成电路或集成电子系统。就上述比较而言,本设计采用 EDA 方案更恰当。5 程序设计及调试5.1 算法分析5.1.1 电梯运行规则(1)请求信号分析:电梯的请求信号可分为梯内请求和梯外请求,如果从这个角度就很难去进行对电梯运行可能情况的分析,因为电梯的运行是根据梯外和梯内的请求信号、行程信号进行控制,而梯外和梯内的请求是随机且不能以有限的规则去对其进行说明的。因此,很难对电梯的运行情况作出一个统一的分析。出于这方面的考虑,本设计把电梯的请求信号划分为上升请求和下降请求。电梯接收到请求信号后,都必须作预操作。使电梯进入预上升状态的请求信号就是上升请求信号。具体来说,就是当电梯所在楼层低于发出梯外请求的楼层或者低于梯内请求所要到达的目的楼层时,电梯必须在下一操作中作出上升运行。这时的请求信号就是上升请求信号。反之,则是下降请求信号。(2)电梯处于各楼层时的运行情况:处于一楼时,不管是梯内梯外,电梯都只可能接收到上升的请求信号。此时,电梯就进入预上升状态,准备作上升运行。如果电梯没有接收到请求信号,电梯则在一楼待机。其分析图如图 6 所示。处于二楼时,电梯则可能出现三种情况: 电梯并没有接收到梯内梯外的任何请求信号时,电梯返回一楼待机; 电梯接收到上升请求信号,进入预上升状态; 电梯接收到下降请求信号,进入预下降状态。12其分析图如图 7 所示。处于三楼时,不管是梯内梯外,电梯都只可能接收到下降的请求信号。此时,电梯就进入预下降状态,准备作下降运行。如果电梯没有接收到请求信号,电梯则返回一楼待机。其分析图如图 8 所示。处于一楼预上升待机上升信号无信号图 6 电梯处于一楼时的运行可能分析处于二楼预上升预下降返回一楼待机上升信号无信号下降信号图 7 电梯处于二楼时的运行可能分析处于三楼预下降返回一楼待机下降信号无信号图 8 电梯处于三楼时的运行可能分析对上述电梯的运行情况进行汇总,可以得到如图 9 的电梯运行状态图。13一楼待机预上升二楼预下降预上升三楼预下降无信号、下降信号上升信号上升信号无信号、下降信号无信号图 9 电梯运行状态图在电梯运行过程中,存在一个如何处理信号优先的问题。电梯实际上是一个人机交互式的控制系统,单纯用顺序优先或逻辑优先是不能满足控制要求的,因此,控制系统采用随机逻辑方式控制去解决信号优先的问题。即在以顺序逻辑控制实现电梯的基本控制要求的基础上,根据随机的输入信号,以及电梯的相应状态适时的控制电梯的运行。例如,当电梯在三楼时,二楼、一楼梯外均有上升请求信号:电梯以向下的方向接近二楼的减速位置,判别二楼具有同向的请求信号,在二楼减速停止载客,然后继续下降到14一楼载客。又假如,当电梯在三楼时,梯内有到达一楼的下降请求信号,而二楼则有上升请求信号:当电梯以向下的方向接近二楼的减速位置时,判别二楼具有反向的请求信号,系统将把二楼的上升请求保存到上升请求寄存上,不在二楼作停泊继续下降到一楼去载客,然后读取上升请求寄存中先前二楼的上升请求,执行上升到二楼载客的操作。该动作完毕后,被保存的寄存器中的数据清除,以实现下一次随机逻辑控制。(3)对电梯开门、关门、报警等内部信号处理的分析。其流程如图 10 所示:接到楼层请求信号电梯运行到达该楼层开门使能信号关门延时信号倒数关门使能信号接受并处理请求信号电梯进入运行状态超重检测故障检测故障处理待机故障报警提前关门提前关门请求NNYY图 10 电梯内外信号处理当电梯接收到请求信号后,将以随机逻辑控制的方式到达发出请求的楼层。开门使能信号促使电梯开门载客,同时驱动关门延时信号、超重检测以及故障检测。在电梯进15行完关门倒数计时、超重排除以及故障排除后,关门使能信号将促使电梯关门进入预操作状态。如果此前出现提前关门信号而且电梯也已经进行完超重排除和故障排除,电梯同样关门进入预操作状态。电梯在超重检测时发现超重,关门中断信号会促使电梯发出超重警报并且进行开门操作以减少乘客,重新进入载客操作;电梯在故障检测时,发现电梯某部分出现故障,关门中断信号会促使电梯发出故障报警并且进入开门操作的同时停止关门延时,作故障处理待机。5.1.2 程序流程分析电梯的运行规则确立后,需对整个控制程序的设计作一个流程规范。对程序进行模块化构思。根据 VHDL 语言的规则,程序必须由最基本的实体和结构体构成。实体对控制器的端口进行定义,结构体对各端口的行为进行描述。因此程序运行需经过以下流程: VHDL 库调用;确立控制器的端口及相关的寄存器;根据电梯运行规则,设计相关运行描述;对电梯内外信号进行处理。具体流程图如图 11 所示:程序开始VHDL 库调用设置控制器的端口设置相关的寄存器电梯运行规则描述电梯信号处理程序结束图 11 总程序流程图165.2 程序设计说明5.2.1 端口、寄存器设计说明 (1)由功能要求得到本程序设计的端口必须包括:时钟信号(clk) ;超载信号(full) 、关门中断信号(deng) 、提前关门信号(quick) 、清除报警信号(clr) ;一楼电梯外人的上升请求信号(c_u1) 、二楼电梯外人的上升请求信号(c_u2) ;二楼电梯外人的下降请求信号(c_d2) 、三楼电梯外人的下降请求信号(c_d3) ;电梯内人请求到达一楼信号(d1) 、电梯内人请求到达二楼信号(d2) 、电梯内人请求到达三楼信号(d3) ;到达一楼信号(g1) 、到达二楼信号(g2) 、到达三楼信号(g3) ;电梯门控制信号(door) ;电梯所在楼层显示(led) ;电梯外人上升请求信号显示(led_c_u) 、电梯外人下降请求信号显示(led_c_d) ;电梯内请求信号显示(led_d) ;看门狗报警信号(wahaha) 、超载警告信号(alarm) ;电梯运动方向显示(ud) ;电机向上控制信号(up) 、电机向下控制信号(down) 。其端口分布如图 12 所示:17图 12 控制器的端口(2)由相关端口得到程序要求的寄存器包括:电梯内人请求到达一楼信号寄存(d11) 、电梯内人请求到达二楼信号寄存(d22) 、 电梯内人请求到达三楼信号寄存(d33) ; 一楼电梯外人上升请求信号寄存(c_u11) 、二楼电梯外人上升请求信号寄存(c_u22) ; 二楼电梯外人下降请求信号寄存(c_d22) 、三楼电梯外人下降请求信号寄存(c_d33) ;分频信号(q) ;关门延时计数器(q1) 、看门狗计数器(q2) ;电梯内请求信号寄存器(dd) ;电梯外上升请求信号寄存器(cc_u) 、电梯外下降请求信号寄存器(cc_d) ;电梯请求信号寄存器(dd_cc) ;开门使能信号(opendoor) ;电梯运动方向信号寄存器(updown) ;预备上升操作使能(en_up) 、预备下降预操作使能(en_dw) 。5.2.2 模块设计说明本程序由三个基本模块组成,包括调用 VHDL 库模块、实体设计模块和结构体设计模块。而在结构体模块中又内嵌有进程执行单元。18(1)调用 VHDL 库通过 library 语句,本程序应用了 VHDL 库中的“通用 ieee 库”和“标准 std 库” 。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;(2)entity 实体设计模块entity dianti is port ( clk : in std_logic; full,deng,quick,clr : in std_logic; c_u1,c_u2: in std_logic; c_d2,c_d3: in std_logic; d1,d2,d3: in std_logic; g1,g2,g3: in std_logic; door : out std_logic_vector(1 downto 0); led : out std_logic_vector(3 downto 0); led_c_u:out std_logic_vector(2 downto 0); led_c_d:out std_logic_vector(2 downto 0); led_d : out std_logic_vector(2 downto 0); wahaha : out std_logic; ud,alarm : out std_logic; up,down : out std_logic ); end dianti;实体语句用关键词entity开头,本程序以dianti(电梯的汉语拼音)作为所要描述的实体名,在结束实体语句的时候使用end dianti。在entity语句的实体说明部分,用port附语描述实体对外界连接的端口(数目、方向和数据类型) ,实体dianti有25个接口,输入模式是clk/full/deng/quick/clr/c_u1/c_u2/c_d2/c_d3/d1/d2/d3/g1/g2/g3;其余的都是输出模式,其中door/led/led c_u/led c_d/led d是带数组模式的输出接口。(3)architecture结构化设计模块和process进程执行单元dianti符号下的线路图描述dianti网表,与线路图对应的VHDL architecture就是结构19体,实体dianti以结构化与行为化描述的结构体如下:architecture behav of dianti issignal d11,d22,d33:std_logic; signal c_u11,c_u22:std_logic; signal c_d22,c_d33:std_logic; signal q:integer range 0 to 1; signal q1:integer range 0 to 6; signal q2:integer range 0 to 9; signal dd,cc_u,cc_d,dd_cc:std_logic_vector(2 downto 0); signal opendoor:std_logic; signal updown:std_logic; signal en_up,en_dw:std_logic; begin com:process(clk)end behav;由于篇幅的关系,结构体部分并不能尽录。本模块以关键字architecture做结构体的开头,描述dianti实体的结构体behav。Architectecture和begin之间是结构体说明区,详细定义了各种信号端的模式和取值范围;begin和end之间是结构体语句区,在此将嵌入process进程语句去对实体行为作出说明。com:process(clk)beginif clkevent and clk=1 then if clr=1 then q1=0;q2=0;wahaha=0; elsif full=1 then alarm=1; q1=3 then door=10; else door=00;end if; dd=d33&d22&d11; 20cc_u=0&c_u22&c_u11; cc_d=c_d33&c_d22&0; dd_cc=dd or cc_u or cc_d; end if; ud=updown; led_d=dd; led_c_u=cc_u; led_c_d=cc_d; end if; end process; 关键字process后面括号中的信号为时钟信号,它列举可激活进程语句的信号,唯有这些信号上的事件能引起进程语句执行。关键字begin把进程语句分为进程说明和进程语句两部分。进程说明在时钟信号和begin之间,说明局部变量或某些仅在进程内部用的内容。进程语句部分在begin和end process之间,进程内的所有语句都是按顺序一个接一个执行的。5.2.3 具体语句设计说明上文已说明了构成VHDL程序的两大部分实体和结构体的相关语句。在这些语句里,赋值语句占了相当一部分。在VHDL语言里,赋值符号一般都是“=”符号,具体形式如下:beginif clkevent and clk=1 then if clr=1 then q1=0;q2=0;wahaha=0; elsif full=1 then alarm=1; q1=3 then door=10; else door=00; end if; VHDL语言也具有与一般编程语言相同的一些语言逻辑结构,如上述中的21“ifthen;elsifthen;”等。这是VHDL中的顺序语句,与我们常见的C语言中if作为条件语句不同。本程序只使用到上述的语言结构,相对简易。在实体模块中,对电梯的主要信号都一一作出了定义,具体说明给出如下:port ( clk : in std_logic; -时钟信号full,deng,quick,clr : in std_logic; -超载、关门中断、提前关门清除报警信号 c_u1,c_u2: in std_logic; -电梯外人的上升请求信号 c_d2,c_d3: in std_logic; -电梯外人的下降请求信号 d1,d2,d3 : in std_logic; -电梯内人的请求信号 g1,g2,g3 : in std_logic; -到达楼层信号 door : out std_logic_vector(1 downto 0); -电梯门控制信号 led : out std_logic_vector(6 downto 0); -电梯所在楼层显示 led_c_u:out std_logic_vector(2 downto 0); -电梯外人上升请求信号显示 led_c_d:out std_logic_vector(2 downto 0); -电梯外人下降请求信号显示 led_d : out std_logic_vector(2 downto 0); -电梯内请求信号显示 wahaha : out std_logic; -看门狗报警信号 ud,alarm : out std_logic; -电梯运动方向显示,超载警告信号up,down : out std_logic ); -电机控制信号和电梯运动在结构体中对电梯的运行行为作出描述,其中以电梯处于二楼的情况相对复杂,对此需作出具体说明,给出如下:elsif g2=1 then led=0010010; -电梯到达 2 楼,数码管显示 2if updown=1 then -电梯前一运动状态位上升 if d22=1 or c_u22=1 then d22=0; c_u22=0; opendoor011 then en_up=1; opendoor=0; -有上升请求,则电梯进入预备上升状态 elsif dd_cc010 then en_dw=1; opendoor=0; -有下降请求,则电梯进入预备下降状态 end if; -电梯前一运动状态为下降 22elsif d22=1 or c_d22=1 then d22=0; c_d22=0;opendoor=1; -有当前层的请求,则电梯进入开门状态elsif dd_cc010 then en_dw=1; opendoor011 then en_up=1; opendoor=0; -有上升请求,则电梯进入预备上升状态 end if;在上述语句中的“elsif g2=1 then led=0010010; ” ,led 的赋值之所以为“0010010”是根据七段式数字显示器的发光段排列的,如图 13 所示:图 13 七段数字显示器可见发光段是 a、b、d、e、g 段,形成一个 2 字。所以在一楼时 led 赋值为“1001111” ,三楼时 led 赋值为“0000110” 。在进程执行单元里,对电梯在楼层时的操作情况作出了描述,例如:开门、关门延时、超载报警、故障报警以及电梯内的请求信号处理,具体说明给出如下:com:process(clk)beginif clkevent and clk=1 then if clr=1 then q1=0;q2=0;wahaha=0; -清除故障报警 elsif full=1 then alarm=1; q1=3 then door=10; else door=00; end if; elsif q=1 then q=0;alarm=0; if q2=3 then wahaha=1; -故障报警23 elseif opendoor=1 then door=10;q1=0;q2=0;up=0;down=0; -开门操作elsif en_up=1 then -上升预操作 if deng=1 then door=10;q1=0;q2=q2+1; -关门中断elsif quick=1 then q1=3; -提前关门elsif q1=6 then door=00;updown=1;up=3 then door=01;q1=q1+1; -电梯进入关门状态else q1=q1+1;door=00; -电梯进入等待状态end if;elsif en_dw=1 then -下降预操作if deng=1 then door=10;q1=0;q2=q2+1; elsif quick=1 then q1=3; elsif q1=6 then door=00;updown=0;down=3 then door=01;q1=q1+1; else q1=q1+1;door=00; end if;end if; else q=1;alarm=0; -清除超载报警if d1=1 then d11=d1; -对电梯内人请求信号进行检测和寄存 elsif d2=1 then d22=d2;elsif d3=1 then d33=d3; end if;if c_u1=1 then c_u11=c_u1; -对电梯外人上升请求信号进行检测和寄存elsif c_u2=1 then c_u22=c_u2; end if; if c_d2=1 then c_d22=c_d2; -对电梯外人下降请求信号进行检测和寄存elsif c_d3=1 then c_d33=c_d3; end if; dd=d33&d22&d11; -电梯内人请求信号并置 24 cc_u=0&c_u22&c_u11; -电梯外人上升请求信号并置 cc_d=c_d33&c_d22&0; -电梯外人下降请求信号并置 dd_cc=dd or cc_u or cc_d; -电梯内、外人请求信号进行综合 end if; ud=updown; -电梯运动状态显示 led_d=dd; -电梯内人请求信号显示led_c_u=cc_u; -电梯外人上升请求信号显示led_c_d=cc_d; -电梯外人下降请求信号显示end if; 5.3 程序调试(1)建立好工作库目录,以便设计工程项目的存储,打开 MAX+plusII 软件,其初始界面如图 14 所示。图 14 MAX+plusII 软件初始界面(2)在工具栏中选择“新建”按钮。在选择输入路径时,选择“Text Editor File”以进行文本输入,如图 15 所示。25图 15 输入路径选择为文本输入(3)在文本输入界面内进行程序输入,如图 16 所示:26图 16 程序输入界面27(4)输入完毕后,需要对对程序进行保存。文件名和实体定义的符号必须保持一致,即文件名为 dianti。因为是使用 VHDL 语言,所以文件后缀名须改成 VHD,详见图17 所示。由于文件后缀名都默认为 TDF,在初次调试时并没有注意这个问题,结果在编译的时候老是出错。图 17 文本输入保存界面(5)保存以后,对程序进行编译。在编译前,需要把文件设置为顶层文件,或称工程文件 Project。选择菜单“File”“Set Project to Current File” ,当前的文件即被指定。详见图 18 所示。图 18 设置顶层文件28(6)在“MAX+plusII”下拉按钮里选择”Compiler”,对程序进行编译。此时,MAX+plusII 软件会对程序进行纠错等处理。当程序被确认无误以后会出现如下界面,如图 19 所示。图 19 编译完成在编译完成以后,程序的调试亦告完结。6 程序仿真6.1 波形输入建立(1)编译完全通过后,新建波形编辑器进行设计仿真。通过“新建”按钮,选择“Waveform Editor file” ,详细如图 20 所示。图 20 新建波形编辑器29(2)新建波形编辑器后,对文件进行保存。同样是使用相同的文件名 dianti,后缀则改为 scf。(3)在编辑器的 Name 栏点击鼠标右键,选择“Enter Nodes from SNF”选择添加需要观察的节点信号。如图 21 所示。图 21 添加节点信号(4)通过编辑器左侧的一些快捷按钮对所加节点中的输入信号进行相关的赋值后,就可对程序进行仿真,观察输出信号,得出结论。如对时钟信号 clk 赋周期为 25ms 的周期信号,如图 22 所示。图 22 对 clk 信号赋值图30(5)在进行仿真前,还需对仿真截止时间和最小单位时间进行一下调整。在“File”栏对截止时间“End Time”设置为“10s” ,在“Options”栏的“Grid Size”设置为“20ns” 。如图 23 和图 24 所示。 图 23 截止时间设置图 24 单位时间设置6.2 电梯运行情况仿真三层电梯的运行情况多样,以观察以下两种情况为主。(1)电梯在不同时段接收到请求信号的情况:电梯处于一楼,接收到三楼的梯外下降请求(c_d3) ,于是电梯运行到三楼,中途经过二楼时不作停顿。到达三楼载客后,电梯内又接收到下降到一楼的梯内请求(d1) ,于是电梯返回一楼待机。仿真情况如图 25 所示。观察以下信号:up、ud、down、led、led_c_d、led_d。31图 25 运行情况之一说明:up:在电梯接收到 c_d3 后,赋值就为 1,表示电梯受控制处于上升过程;当电梯运行到三楼以后,赋值变为 0。ud:从电梯接收 c_d3 到电梯接收 d1 为止,赋值为 1 表示电梯此时向上运行;其余时间段都为 0,表示电梯此时向下运行或者待机。down:在电梯接收到 d1 后,赋值就为 1,表示电梯受控制处于下降过程;当电梯运行到一楼以后,赋值变为 0。led:电梯每运行到达一层时,都会有不同的信号输出: 1001111、0010010、0000110。这些就是楼层指示,依次代表 1、2、3。led_c_d:在电梯接收到 c_d3 后,赋值楼层编码为 100,表示梯外有人请求下降;电梯运行到达请求发出的楼层三楼后,电梯赋值变为 000,表示下降请求得到满足。led_d:在电梯接收到 d1 后,赋值为 001,表示梯内请求到达楼层编码为 001 即一楼;电梯运行到达请求目的楼层一楼后,电梯赋值变为 000,表示请求楼层得到满足或在待机。(2)当电梯在同一时间段里接收到几种不同的请求信号时:电梯停在一楼,在同一时间段里接受到几个请求信号,包括梯内上升到三楼的请求(d3) 、二楼的梯外上升请求(c_u2)和三楼的梯外下降请求(c_d3) 。电梯到达二楼,载客继续上升。电梯上升到三楼时,响应请求 c_d3,开门载客;进入预备下降状态。由于二楼并没有请求,所以电梯不作停顿地下降到一楼。电梯执行完所有请求时电梯将停在一楼待机。仿真情况如图 26 所示。观察以下信号:up、ud、down、led_c_u、led_c_d、led_d。32图 26 运行情况之二说明:up:在电梯接收到请求信号后,赋值就为 1,表示电梯受控制处于上升过程;当电梯运行到二楼以后,赋值短暂变 0,然后又变为 1,表示电梯在二楼载客完毕后又进入上升过程;到达三楼后,赋值为 0。ud:从电梯接收请求信号后到电梯运行到三楼为止,赋值为 1 表示电梯此时向上运行;其余时间段都为 0,表示电梯此时向下运行或者待机。down:在电梯到达三楼后,赋值就为 1,表示电梯受控制处于下降过程;当电梯运行到一楼以后,赋值变为 0。Led_c_u:在电梯接收到 c_u2 后,赋值楼层编码为 010 即二楼,表示二楼梯外有人请求上升;电梯运行到达请求发出的楼层二楼后,电梯赋值变为 000,表示上升请求得到满足或在待机。led_c_d:在电梯接收到 c_d3 后,赋值楼层编码为 100,表示梯外有人请求下降;电梯运行到达请求发出的楼层三楼后,电梯赋值变为 000,表示下降请求得到满足或在待机。led_d:在电梯接收到 d3 后,赋值为 100,表示梯内请求到达楼层编码为 100 即三楼;电梯运行到达请求目的楼层三楼后,电梯赋值变为 000,表示请求楼层得到满足或在待机。336.3 电梯功能仿真电梯的功能包括:(1)提前关门;(2)看门狗报警;(3)超载报警;(4)故障报警。设电梯到达三楼时,响应请求(c_d3) ,开门载客;进入预备下降状态。电梯在预备下降状态下,电梯应超载(full=1) ,发出超载警报 alarm;超载信号消失(full=0) ,电梯重新进入预备下降状态。电梯接受到 deng、c_d3 和 d3 电梯重新进入预备下降状态,并且 c_d3 和 d3 信号都可以对 q2(q23 时)进行清零处理。当连续的关门中断的次数超过 3 次时,不认为是出自乘客的需要,而认为是故障,并报警,等技术员处理完故障时,用 clr 信号才可以清除报警。仿真情况如下图 27 所示。观察以下信号:wahaha、alarm、quick。图 27 功能仿真图说明:wahaha:当关门中断信号 deng 初次赋值为 1 时,本信号就赋值为 1,一直到故障清除信号 clr 赋值为 1 时才变为 0。这表示当电梯首次关门失败后(即 deng 首次赋值为 1 时) ,电梯便一直处于故障报警状态下,直到技术员处理
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!