版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、摘 要電梯作為現(xiàn)代化的產(chǎn)物,早在上個(gè)世紀(jì)就進(jìn)入了我們的生活之中。大規(guī)模的經(jīng)濟(jì)建設(shè)尤其是蓬勃發(fā)展的房地產(chǎn)業(yè)給國(guó)內(nèi)電梯行業(yè)開(kāi)拓了更為廣闊的市場(chǎng)。隨著經(jīng)濟(jì)建設(shè)的持續(xù)高速發(fā)展,我國(guó)電梯需求量越來(lái)越大。由此,一個(gè)更為龐大的電梯市場(chǎng)已經(jīng)在國(guó)內(nèi)轟然形成。我國(guó)以前主要都是依靠國(guó)外的進(jìn)口技術(shù),本國(guó)的電梯廠商主要都是依靠為進(jìn)口電梯作銷售代理或者售后維修進(jìn)行經(jīng)營(yíng)。但是隨著技術(shù)的革新和與國(guó)外的交流,當(dāng)今經(jīng)濟(jì)建設(shè)需求的各類電梯,幾乎全部都可以在中國(guó)生產(chǎn)。電梯生產(chǎn)作為一門國(guó)家的新興產(chǎn)業(yè),它這種能有減少人口膨脹對(duì)環(huán)境所造成的巨大壓力的特性,注定了其在中國(guó)具有一片光明的前景。本設(shè)計(jì)就是基于電子設(shè)計(jì)自動(dòng)化(electronic
2、 design automation)技術(shù)中的甚高速集成電路硬件描述語(yǔ)言(very high speed integrated circuit hardware descrisioon language)語(yǔ)言所開(kāi)發(fā)的三層電梯控制程序,實(shí)驗(yàn)調(diào)試平臺(tái)是 altera 公司的max+plusii 軟件。本程序具有 vhdl 語(yǔ)言設(shè)計(jì)里最為常用的三個(gè)模塊:實(shí)體 entity,對(duì)控制器的實(shí)體(輸入輸出)端口進(jìn)行定義;結(jié)構(gòu)體 architecture,對(duì)控制器內(nèi)部的信號(hào)端以及寄存器進(jìn)行定義;進(jìn)程執(zhí)行單元 process,對(duì)控制器的所有輸入輸出端口、內(nèi)部信號(hào)端口以及寄存器進(jìn)行功能、行為描述。通過(guò)程序調(diào)試及運(yùn)
3、行仿真,結(jié)果表明,本程序可以完成:電梯運(yùn)行所在樓層指示、電梯運(yùn)行方向指示、關(guān)門延時(shí)設(shè)置、看門狗報(bào)警、超載報(bào)警、故障報(bào)警等。本設(shè)計(jì)對(duì)更高層的電梯控制設(shè)計(jì)具有一定的拓展性。關(guān)鍵詞:關(guān)鍵詞:電梯控制 程序設(shè)計(jì) eda vhdl max+plusii 英文縮略詞:英文縮略詞:eda electronic design automation 電子設(shè)計(jì)自動(dòng)化vhsic very high speed integrated circuit 甚高速集成電路vhdl very high speed integrated circuit hardware descrisioon language甚高速集成電路硬件
4、描述語(yǔ)言max+plusii multiple array matrix and programmable logic user system多陣列矩陣和可編程邏輯使用者系統(tǒng)cad computer adied design 計(jì)算機(jī)輔助設(shè)計(jì) cam computer adied manufacture 計(jì)算機(jī)輔助制造cat computer adied testing 計(jì)算機(jī)輔助測(cè)試cae computer adied engineering 計(jì)算機(jī)輔助工程hdl ardware descrisioon language 硬件描述語(yǔ)言plc programmable logic control
5、ler 可編程邏輯控制器vlsi very large scale integration 超大規(guī)模集成電路fpga field programmable gate array 場(chǎng)效應(yīng)可編程門陣列cpld complex programmable logic device 復(fù)雜可編程邏輯器件ieee the institute of electrical and electronics engineers 電工和電子工程師協(xié)會(huì)epld eraserable programmable logic device 可擦寫可編程邏輯器件目 錄1 前言 .11.1 問(wèn)題的提出 .11.2 設(shè)計(jì)目的 .1
6、2 設(shè)計(jì)的基礎(chǔ)依據(jù) .22.1 eda 技術(shù)介紹.22.2 vhdl 語(yǔ)言介紹.32.3 max+plusii 軟件介紹 .33 文獻(xiàn)綜述 .53.1 plc 在電梯控制中的應(yīng)用介紹.53.2 單片機(jī)在電梯控制中的應(yīng)用介紹 .63.3 電梯控制的未來(lái) .84 總體方案的確定 .84.1 基于 plc 技術(shù)的電梯控制設(shè)計(jì)方案 .84.2 基于 eda 技術(shù)的電梯控制設(shè)計(jì)方案 .94.3 方案選擇 .105 程序設(shè)計(jì)及調(diào)試 .115.1 算法分析 .115.1.1 電梯運(yùn)行規(guī)則 .115.1.2 程序流程分析 .155.2 程序設(shè)計(jì)說(shuō)明 .165.2.1 端口、寄存器設(shè)計(jì)說(shuō)明 .165.2.2 模
7、塊設(shè)計(jì)說(shuō)明 .175.2.3 具體語(yǔ)句設(shè)計(jì)說(shuō)明 .2053 程序調(diào)試 .236 程序仿真 .276.1 波形輸入建立 .276.2 電梯運(yùn)行情況仿真 .296.3 電梯功能仿真 .327 結(jié)論 .337.1 設(shè)計(jì)功能實(shí)現(xiàn)情況 .337.2 設(shè)計(jì)存在問(wèn)題 .337.3 進(jìn)一步完善建議 .33致 謝 .35參 考 文 獻(xiàn) .36英 文 摘 要 .37附 錄 .38畢業(yè)設(shè)計(jì)成績(jī)?cè)u(píng)定表11 前言1.1 問(wèn)題的提出當(dāng)今世界,部分地區(qū)人口高度密集,人和土地資源短缺的矛盾日趨激化。這就注定了必須合理地利用土地去解決人與土地的矛盾。而興建高層建筑是其中的有效措施之一。因此,能使人們快速、便捷地到達(dá)目的樓層的電
8、梯便應(yīng)運(yùn)而生了。在一些發(fā)達(dá)國(guó)家和地區(qū),人均電梯擁有數(shù)量一般在每萬(wàn)人 30 臺(tái)以上,某些國(guó)家甚至達(dá)到每萬(wàn)人 120 臺(tái)以上,隨著城鎮(zhèn)化程度的加大,電梯市場(chǎng)會(huì)更加繁華。中國(guó)的電梯市場(chǎng)增長(zhǎng)也很樂(lè)觀,目前,每年增長(zhǎng)率為 15%18%。隨著電梯普及率的升溫,人們對(duì)電梯的要求也會(huì)越來(lái)越高。如何更安全、更快捷地到達(dá)目的樓層,也就成了人們對(duì)電梯最為根本的要求。而電梯系統(tǒng)里掌控這方面技術(shù)參數(shù)的是電梯控制系統(tǒng)。因此,控制系統(tǒng)的設(shè)計(jì)就成了在電梯設(shè)計(jì)領(lǐng)域里最為核心的技術(shù)。在電子技術(shù)飛速發(fā)展的今天,現(xiàn)代電子產(chǎn)品幾乎滲透到了社會(huì)的各個(gè)領(lǐng)域,有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步
9、提高,加速了電子設(shè)計(jì)技術(shù)的普及進(jìn)程及技術(shù)革新。電子設(shè)計(jì)在日常生活和物質(zhì)產(chǎn)品生產(chǎn)都占到了舉足輕重的地位,這尤其體現(xiàn)在其對(duì)電子產(chǎn)品的開(kāi)發(fā)和設(shè)計(jì)上。面對(duì)如此廣袤的電梯市場(chǎng),所謂“科技就是第一生產(chǎn)力” ,處于科技前沿的電子設(shè)計(jì)技術(shù)很自然地就與電梯控制設(shè)計(jì)一拍即合,給設(shè)計(jì)師們以巨大的設(shè)計(jì)空間。因此,本設(shè)計(jì)就是希望在以開(kāi)發(fā)更安全、更快捷的三層電梯控制系統(tǒng)為前提下,結(jié)合電子設(shè)計(jì)技術(shù),對(duì)電梯控制進(jìn)行設(shè)計(jì)。1.2 設(shè)計(jì)目的三層電梯廣泛應(yīng)用在大型的貨運(yùn)之中。其使用便捷,貨運(yùn)周期短,效率高,成本低,對(duì)貨運(yùn)事業(yè)具有相當(dāng)?shù)慕?jīng)濟(jì)價(jià)值。在客運(yùn)上,三層電梯雖然涉及樓層不高,應(yīng)用范圍不大,但就特殊而言,可以為一些上下樓層不方便
10、的人們提供相當(dāng)?shù)膸椭疹櫫诉@些特殊群體的感情。因此,在某種層面上說(shuō),三層電梯的設(shè)計(jì)也具有一定的社會(huì)價(jià)值。本著“一理通,百理明”的原則,本設(shè)計(jì)希望通過(guò)在簡(jiǎn)單的三層電梯控制設(shè)計(jì)之中如何解決升、降請(qǐng)求信號(hào)因電梯所處狀態(tài)而產(chǎn)生的沖突等問(wèn)題發(fā)散出去,由此及彼,對(duì)高層電梯控制的開(kāi)發(fā)作一個(gè)技術(shù)的鋪墊,為高層電梯設(shè)計(jì)者提供一個(gè)基礎(chǔ)。針對(duì)目前中小型電梯所能實(shí)現(xiàn)的功能,本控制設(shè)計(jì)擬實(shí)現(xiàn)以下這些功能:(1)指示電梯運(yùn)行所在樓層;2(2)指示電梯運(yùn)行方向;(3)關(guān)門延時(shí)設(shè)置;(4)看門狗報(bào)警;(5)超載報(bào)警;(6)故障報(bào)警。2 設(shè)計(jì)的基礎(chǔ)依據(jù)現(xiàn)代電子設(shè)計(jì)技術(shù)的核心是 eda 技術(shù)?;?eda 技術(shù)開(kāi)發(fā)的實(shí)現(xiàn)三層電
11、梯自動(dòng)控制與目前主流的利用可編程邏輯控制器實(shí)現(xiàn)電梯控制緊密相連。硬件描述語(yǔ)言是 eda技術(shù)的重要組成部分,vhdl 是作為電子設(shè)計(jì)主流硬件的描述語(yǔ)言。使用 vhdl 語(yǔ)言進(jìn)行程序的設(shè)計(jì),在 max+plusii 軟件上對(duì)程序進(jìn)行編譯、仿真。在 max+plusii 平臺(tái)上的開(kāi)發(fā)具有編程軟件具有采自易學(xué)易懂的梯形圖語(yǔ)言、控制靈活方便、抗干擾能力強(qiáng)、運(yùn)行穩(wěn)定可靠等優(yōu)點(diǎn)。2.1 eda 技術(shù)介紹eda 技術(shù)是 20 世紀(jì) 90 年代初從計(jì)算機(jī)輔助設(shè)計(jì)(computer adied design) 、計(jì)算機(jī)輔助制造(computer adied manufacture) 、計(jì)算機(jī)輔助測(cè)試(comput
12、er adied testing)和計(jì)算機(jī)輔助工程(computer adied engineering)的概念發(fā)展而來(lái)的。隨著超大規(guī)模集成電路(very large scale integration)規(guī)模和技術(shù)復(fù)雜度的急劇增長(zhǎng),一塊芯片內(nèi)集成門已可達(dá)幾十萬(wàn)甚至幾百萬(wàn)門,并且還在迅速增長(zhǎng),電子系統(tǒng)的人工設(shè)計(jì)已十分困難,必需依靠電子設(shè)計(jì)自動(dòng)化技術(shù)。在利用 eda 進(jìn)行集成電路設(shè)計(jì)時(shí),應(yīng)采用高效率的 top-down 設(shè)計(jì)方法,即根據(jù)系統(tǒng)的行為和功能要求,自上而下地依次完成相應(yīng)的描述、綜合、優(yōu)化、仿真與驗(yàn)證,直到生成器件。在電路描述時(shí)主要采用硬件描述語(yǔ)言(hdl) 。硬件描述語(yǔ)言是用于設(shè)計(jì)硬件電
13、子系統(tǒng)的計(jì)算機(jī)語(yǔ)言,它描述電子系統(tǒng)的邏輯功能、電路結(jié)構(gòu)和連接方式。設(shè)計(jì)者可以利用 hdl 程序來(lái)描述所希望的電路系統(tǒng),規(guī)定其結(jié)構(gòu)性和電路的行為方式;然后利用 eda 工具將此程序變成能控制場(chǎng)效應(yīng)可編程門陣列(field programmable gate array)/復(fù)雜可編程邏輯器件(complex programmable logic device)內(nèi)部結(jié)構(gòu)并實(shí)現(xiàn)相應(yīng)邏輯功能的門級(jí)或更底層的結(jié)構(gòu)網(wǎng)表文件和下載文件。就 fpga/cpld 開(kāi)發(fā)來(lái)說(shuō),比較常用和流行的 hdl 主要有 abel-hdl 和 vhdl 等。eda 技術(shù)的基本特征和基本工具總的來(lái)說(shuō),現(xiàn)代 eda 技術(shù)的基本特征是
14、采用高級(jí)3語(yǔ)言描述,具有系統(tǒng)級(jí)仿真和綜合能力。它主要采用并行工程和“自頂向下”的設(shè)計(jì)方法,使開(kāi)發(fā)者從一開(kāi)始就要考慮到產(chǎn)品生成周期的諸多方面,包括質(zhì)量、成本、開(kāi)發(fā)時(shí)間及用戶的需求等等,然后從系統(tǒng)設(shè)計(jì)入手,在頂層進(jìn)行功能方框圖的劃分和結(jié)構(gòu)設(shè)計(jì),在方框圖一級(jí)進(jìn)行仿真、糾錯(cuò)、并用 vhdl、verilog-hdl、abel 等硬件描述語(yǔ)言對(duì)高層次的系統(tǒng)行為進(jìn)行描述,在系統(tǒng)一級(jí)進(jìn)行驗(yàn)證,然后再用邏輯綜合優(yōu)化工具生成具體的門級(jí)邏輯電路的網(wǎng)表,其對(duì)應(yīng)的物理實(shí)現(xiàn)級(jí)可以是印刷電路板或?qū)S眉呻娐?。?jiǎn)單來(lái)說(shuō)就是依賴功能強(qiáng)大的計(jì)算機(jī),在 eda 工具軟件平臺(tái)上,對(duì)以硬件描述語(yǔ)言 hdl為系統(tǒng)邏輯描述手段完成的設(shè)計(jì)文
15、件,自動(dòng)地完成邏輯編譯、邏輯化簡(jiǎn)、邏輯分割、邏輯綜合、結(jié)構(gòu)綜合(布局布線),以及邏輯優(yōu)化和仿真測(cè)試,直至實(shí)現(xiàn)既定的電子線路系統(tǒng)功能。從另一方面看,在現(xiàn)代高新電子產(chǎn)品的設(shè)計(jì)和生產(chǎn)中,微電子技術(shù)和現(xiàn)代電子設(shè)計(jì)技術(shù)是相互促進(jìn)、相互推動(dòng)又相互制約的兩個(gè)技術(shù)環(huán)節(jié)。前者代表了物理層在廣度和深度上硬件電路實(shí)現(xiàn)的發(fā)展,后者則反映了現(xiàn)代先進(jìn)的電子理論、電子技術(shù)、仿真技術(shù)、設(shè)計(jì)工藝和設(shè)計(jì)技術(shù)與最新的計(jì)算機(jī)軟件技術(shù)有機(jī)的融合和升華。因此,嚴(yán)格地說(shuō),eda 技術(shù)應(yīng)該是這二者的結(jié)合,是這兩個(gè)技術(shù)領(lǐng)域共同孕育的奇葩。2.2 vhdl 語(yǔ)言介紹vhdl 語(yǔ)言于 1983 年由美國(guó)國(guó)防部發(fā)起創(chuàng)建,由電工和電子工程師協(xié)會(huì)(th
16、e institute of electrical and electronics engineers)進(jìn)一步發(fā)展并在 1987 年作為“ieee 1076”發(fā)布。從此,vhdl 成為硬件描述語(yǔ)言的業(yè)界標(biāo)準(zhǔn)之一。vhdl 作為一個(gè)規(guī)范語(yǔ)言和建模語(yǔ)言,具有很強(qiáng)的電路描述和建模能力,能從多個(gè)層次對(duì)數(shù)字系統(tǒng)進(jìn)行建模和描述,從而大大簡(jiǎn)化了硬件設(shè)計(jì)任務(wù),提高了設(shè)計(jì)效率和可靠性。vhdl 具有與具體硬件電路無(wú)關(guān)和設(shè)計(jì)平臺(tái)無(wú)關(guān)的特性,并且具有良好的電路行為描述和系統(tǒng)描述的能力,并在語(yǔ)言易讀性和層次化結(jié)構(gòu)化設(shè)計(jì)方面,表現(xiàn)了強(qiáng)大的生命力和應(yīng)用潛力。2.3 max+plusii 軟件介紹max+plusii 是
17、altera 公司提供的 fpga/cpld 開(kāi)發(fā)集成環(huán)境,其界面友好,使用便捷,被譽(yù)為業(yè)界最易用意學(xué)的 eda 軟件,目前已發(fā)行到 10.2 版本。它提供了一種與結(jié)構(gòu)無(wú)關(guān)的設(shè)計(jì)環(huán)境,使設(shè)計(jì)者能方便地進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程。在max+plusii 平臺(tái)上進(jìn)行數(shù)字系統(tǒng)的設(shè)計(jì)過(guò)程一般要經(jīng)過(guò)四個(gè)階段:設(shè)計(jì)輸入、項(xiàng)目編4譯、項(xiàng)目校驗(yàn)和器件編程。首先根據(jù)系統(tǒng)的性能指標(biāo)進(jìn)行系統(tǒng)結(jié)構(gòu)設(shè)計(jì),對(duì)整個(gè)系統(tǒng)進(jìn)行功能劃分和模塊劃分。對(duì)各子模塊分別進(jìn)行邏輯設(shè)計(jì)、編譯、仿真與驗(yàn)證。當(dāng)不滿足要求時(shí),重新返回設(shè)計(jì)輸入階段,修改設(shè)計(jì)輸入。之后將優(yōu)化結(jié)果下載到所選可擦寫可編程邏輯器件(eraserable progra
18、mmable logic device)芯片中,進(jìn)行動(dòng)態(tài)仿真。最后則是測(cè)試芯片在系統(tǒng)中的實(shí)際運(yùn)行性能。其具體的流程圖如圖 1 所示。 設(shè)計(jì)要求設(shè)計(jì)輸入設(shè)計(jì)編譯功能檢驗(yàn)時(shí)序檢驗(yàn)器件編程修改設(shè)計(jì)圖 1 max+plusii 設(shè)計(jì)流程該方法將問(wèn)題的解決放在硬件組裝之前,既簡(jiǎn)化了設(shè)計(jì)過(guò)程,又可以減少設(shè)備投資,縮短設(shè)計(jì)周期,增強(qiáng)設(shè)計(jì)者對(duì)設(shè)計(jì)過(guò)程的分析和制造的可控性。altera 的工作與 eda 廠家之間緊密合作,使 max+plusii 軟件與其他工業(yè)標(biāo)準(zhǔn)的設(shè)計(jì)輸入、綜合與校驗(yàn)工具具有良好的兼容性。目前,max+plusii 支持多種第三方 eda工具接口,包括:(1)cadence;(2)exemp
19、larlogic;(3)mentor graphics;(4)synopsys;(5)synplicity;(6)viewlogic。max+plusii 軟件與其設(shè)計(jì)流程的每個(gè)階段都匹配有強(qiáng)大的設(shè)計(jì)軟件,其軟件組成如圖 2 所示:5max+plusii信息處理器和層次顯示設(shè)計(jì)輸入max+plusii文本編輯器max+plusii圖形編輯器項(xiàng)目校驗(yàn)max+plusii時(shí)間分析器項(xiàng)目編譯編譯器 網(wǎng)絡(luò)提取器數(shù)據(jù)庫(kù) 建庫(kù)器邏輯綜合器適配器件編程max+plusii編程器圖 2 max+plusii 的軟件組成3 文獻(xiàn)綜述3.1 plc 在電梯控制中的應(yīng)用介紹由當(dāng)初的繼電器邏輯控制電路到今天廣為應(yīng)用的
20、可編程邏輯控制器及微機(jī)控制系統(tǒng),電梯控制的發(fā)展經(jīng)歷了相當(dāng)一段歷程。(李惠升,2003)為了實(shí)現(xiàn)電梯的控制,過(guò)去大多是采用繼電器邏輯電路,這種邏輯控制方式具有原理簡(jiǎn)單、直觀的特點(diǎn),但是通用性較差,對(duì)不同的樓層和不同的控制方式,其原理圖、接線圖等必須重新制作,且控制系統(tǒng)由許多繼電器觸點(diǎn)組成,接線復(fù)雜、故障率高。因此,它逐漸被可靠性高、通用性強(qiáng)的可編程序控制器及微機(jī)控制系統(tǒng)所代替。由 plc 或微機(jī)實(shí)現(xiàn)繼電器的邏輯控制功能,具有較大的靈活性,不同的控制方式可用相同的硬件,只是軟件各不相同。只要把按鈕、限位開(kāi)關(guān)、光電開(kāi)關(guān)、無(wú)觸點(diǎn)行程開(kāi)關(guān)等電器元件作為輸入信號(hào),而把制動(dòng)器、接觸器等功率輸出元件接到輸出端
21、,就算完成了接線任務(wù)。通常,電梯功能、層數(shù)變化時(shí),無(wú)需增減繼電器和大量的電路。plc是一種用于自動(dòng)控制的專用微機(jī),實(shí)質(zhì)上屬于微機(jī)控制方式。plc 在設(shè)計(jì)和制造上采取了許多抗干擾措施,輸入輸出均有光電隔離。能在較惡劣的各種環(huán)境里工作、可靠性高,6適合于安全性要求較高的電梯控制。plc 將 cpu、存儲(chǔ)器、i/o 接口等做成一體,使用方便,擴(kuò)展容易。具有繼電器系統(tǒng)的直觀、易懂、易學(xué),應(yīng)用操作和調(diào)試方便等優(yōu)勢(shì)。因此,目前在國(guó)產(chǎn)電梯及中低檔的客梯廣泛采用了 plc 控制系統(tǒng),特別適合在用電梯的技術(shù)改造。(馬宏騫,2003)電梯既是一種特殊的起重運(yùn)輸設(shè)備,具有完善的機(jī)械專用構(gòu)造,又是一種比較復(fù)雜的機(jī)電一
22、體化的大型工業(yè)產(chǎn)品,具有復(fù)雜的電氣控制系統(tǒng)。就電梯的控制方法而言,目前國(guó)產(chǎn)電梯廣泛采用可編程控制器技術(shù)的智能化控制。由于這種控制屬于隨機(jī)控制,各種輸入信號(hào)之間、輸出信號(hào)之間以及輸入信號(hào)和輸出信號(hào)之間互相關(guān)聯(lián),邏輯關(guān)系處理起來(lái)非常復(fù)雜,這就給 plc 編程帶來(lái)很大難度。從這種意義上來(lái)說(shuō),plc 編程水平的高低就決定電梯運(yùn)行狀態(tài)的好壞,因此 plc 應(yīng)用在電梯控制電梯控制中的編程技術(shù)就成為控制電梯運(yùn)行的關(guān)鍵技術(shù)。plc 充分利用了微型計(jì)算機(jī)的原理和技術(shù),具有很強(qiáng)的邏輯處理能力,在電梯運(yùn)行控制中發(fā)揮了重要作用。由于電梯在運(yùn)行過(guò)程中各種輸入信號(hào)是隨機(jī)出現(xiàn)的,即信號(hào)的出現(xiàn)具有不確定性,同時(shí)信號(hào)需要自鎖保
23、持、互鎖保存、優(yōu)先級(jí)排隊(duì)、數(shù)據(jù)比較等,因此信號(hào)之間就存在復(fù)雜的邏輯關(guān)系。所以在電梯的運(yùn)行控制中,plc 的編程工作主要 是針對(duì)各種信號(hào)進(jìn)行邏輯判斷和處理。3.2 單片機(jī)在電梯控制中的應(yīng)用介紹(張婭莉等,2003)單片機(jī)體積小,處理速度快,價(jià)格低廉,功能強(qiáng)大,是合適的控制系統(tǒng)。對(duì)電梯的控制主要是選層、啟動(dòng)、換速、平層、停車等幾個(gè)環(huán)節(jié), ,其中以選層環(huán)節(jié)最為復(fù)雜。與通常的電器控制相比,單片機(jī)系統(tǒng)不需要通過(guò)“選層器”并且配備以大量的中間繼電器作為選層電路的控制設(shè)備,避免了設(shè)備多,檢修困難,運(yùn)行維護(hù)不便,造價(jià)成本高;應(yīng)用微機(jī)控制可以取消選層器和大量的中間繼電器。而且應(yīng)用單片機(jī)控制又相對(duì)于應(yīng)用其他微機(jī)減
24、少了外圍設(shè)備的接口芯片,增強(qiáng)了可靠性。其程序流程如圖 3 所示。7初始化在一樓?有上呼關(guān)門或定時(shí)到輸出關(guān)門信號(hào)置上行啟動(dòng)到減速點(diǎn)本層內(nèi)選上呼輸出減速控制到二樓停車二層處理查詢開(kāi)始yyyyynnnnn圖 3 程序流程(部分)83.3 電梯控制的未來(lái)電梯產(chǎn)業(yè)將走上信息化、網(wǎng)絡(luò)化的道路。電梯控制系統(tǒng)如何與網(wǎng)絡(luò)技術(shù)相結(jié)合將是未來(lái)電梯設(shè)計(jì)的主流趨勢(shì)。在 21 世紀(jì)的今天如何提供用戶滿意產(chǎn)品和服務(wù)已成為關(guān)系到各企業(yè)生死存亡問(wèn)題。電梯上網(wǎng)能確保為客戶提供更優(yōu)質(zhì)全程的服務(wù)。在將來(lái)各大品牌廠家為了生存和發(fā)展都會(huì)在公共網(wǎng)絡(luò)系統(tǒng)中建立自己電梯網(wǎng)站(電梯專用平臺(tái)) ,這也是一條必由之路。電梯上網(wǎng)主要能實(shí)現(xiàn)以下功能:(
25、1)用網(wǎng)絡(luò)把所有電梯監(jiān)管起來(lái),保證電梯安全運(yùn)行,確保乘客安全。(2)當(dāng)電梯出現(xiàn)故障時(shí),電梯通過(guò)網(wǎng)絡(luò)向客戶服務(wù)中心發(fā)出信號(hào)使維保人員能及時(shí)準(zhǔn)確了解電梯出現(xiàn)故障的原因及相關(guān)信息,客戶的人身安全是否受到威脅,并在第一時(shí)間內(nèi)趕赴事故現(xiàn)場(chǎng)進(jìn)行搶修,同時(shí)通過(guò)網(wǎng)絡(luò)對(duì)在電梯內(nèi)乘客安慰,把電梯出現(xiàn)故障的負(fù)面影響降到最低。(3)也可以通過(guò)電梯網(wǎng)絡(luò)在規(guī)定時(shí)間內(nèi)自動(dòng)掃描每臺(tái)電梯各部件以發(fā)現(xiàn)事故隱患做到事先維修,減少停梯時(shí)間,提高企業(yè)的服務(wù)質(zhì)量。4 總體方案的確定4.1 基于 plc 技術(shù)的電梯控制設(shè)計(jì)方案可編程控制系統(tǒng)是一種專門為在工業(yè)環(huán)境下應(yīng)用而設(shè)計(jì)的數(shù)字運(yùn)算操作電子系統(tǒng)。它采用一種可編程的存儲(chǔ)器,在其內(nèi)部存儲(chǔ)執(zhí)行
26、邏輯運(yùn)算、順序控制、定時(shí)、計(jì)數(shù)和算術(shù)運(yùn)算等操作的指令,通過(guò)數(shù)字式或模擬式的輸入輸出來(lái)控制各種類型的機(jī)械設(shè)備或生產(chǎn)過(guò)程。 可編程控制器是計(jì)算機(jī)技術(shù)與自動(dòng)化控制技術(shù)相結(jié)合而開(kāi)發(fā)的一種適用工業(yè)環(huán)境的新型通用自動(dòng)控制裝置,是作為傳統(tǒng)繼電器的替換產(chǎn)品而出現(xiàn)的。隨著微電子技術(shù)和計(jì)算機(jī)技術(shù)的迅猛發(fā)展,可編程控制器更多地具有了計(jì)算機(jī)的功能,不僅能實(shí)現(xiàn)邏輯控制,還具有了數(shù)據(jù)處理、通信、網(wǎng)絡(luò)等功能。由于它可通過(guò)軟件來(lái)改變控制過(guò)程,而且具有體積小、組裝維護(hù)方便、編程簡(jiǎn)單、可靠性高、抗干擾能力強(qiáng)等特點(diǎn),已廣泛應(yīng)用于工業(yè)控制的各個(gè)領(lǐng)域,大大推進(jìn)了機(jī)電一體化的進(jìn)程。plc 的特點(diǎn)可綜述如下:(1)高可靠性(2)編程簡(jiǎn)單,
27、使用方便(可采用梯形圖編程方式,與實(shí)際繼電器控制電路非常接近,一般電氣工作者很容易接受)(3)環(huán)境要求低(適用于惡劣的工業(yè)環(huán)境)9(4)體積小,重量輕(5)擴(kuò)充方便,組合靈活plc 硬件框圖如圖 4 所示:圖 4 plc 硬件框圖4.2 基于 eda 技術(shù)的電梯控制設(shè)計(jì)方案隨著電子技術(shù)的發(fā)展,eda 技術(shù)在工業(yè)控制系統(tǒng)中得到了廣泛的應(yīng)用,在電梯控制電路上采用 eda 技術(shù)進(jìn)行開(kāi)發(fā),越來(lái)越受到人們的重視。eda 技術(shù)開(kāi)發(fā)手段多樣,其中應(yīng)用最為廣泛的就是通過(guò)程序?qū)τ布M(jìn)行開(kāi)發(fā),而其中又?jǐn)?shù) vhdl 語(yǔ)言最受設(shè)計(jì)者的歡迎。eda 技術(shù)使得設(shè)計(jì)者的工作僅限于利用軟件的方式,即利用硬件描述語(yǔ)言和 eda
28、軟件來(lái)完成對(duì)系統(tǒng)硬件功能的實(shí)現(xiàn)。近幾年來(lái),硬件描述語(yǔ)言等設(shè)計(jì)數(shù)據(jù)格式的逐步標(biāo)準(zhǔn)化,不同設(shè)計(jì)風(fēng)格和應(yīng)用的要求導(dǎo)致各具特色的 eda 工具被集成在同一個(gè)工作站上,從而使 eda 框架日趨標(biāo)準(zhǔn)化。 (王志鵬等,2005)vhdl 豐富的仿真語(yǔ)句和庫(kù)函數(shù),使得在任何大系統(tǒng)的設(shè)計(jì)早期就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行性,隨時(shí)可對(duì)設(shè)計(jì)進(jìn)行仿真模擬。其行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用功能。vhdl 語(yǔ)言的設(shè)計(jì)單元包括實(shí)體(entity) 、結(jié)構(gòu)體(architecture)、程序包(package)以及配置(configration) 。初級(jí)設(shè)計(jì)單元實(shí)體(entity),是設(shè)
29、計(jì)的基本模塊和設(shè)計(jì)的初級(jí)單元,在分層次設(shè)計(jì)中,頂層有頂級(jí)實(shí)體,含在頂級(jí)實(shí)體中的較低層次的描述為低級(jí)實(shí)體,靠配置把頂10層實(shí)體和底層實(shí)體連接起來(lái)。實(shí)體說(shuō)明中還可以說(shuō)明數(shù)據(jù)類型、子程序和常量等數(shù)據(jù)信息,實(shí)體語(yǔ)句常用于描述設(shè)計(jì)常用到的判斷和檢查信息。次級(jí)設(shè)計(jì)單元結(jié)構(gòu)體(architecture),實(shí)體的結(jié)構(gòu)體具有描述實(shí)體的行為功能,一個(gè)實(shí)體可以有多個(gè)結(jié)構(gòu)體,一種可能為行為描述,另一種可能為結(jié)構(gòu)描述。結(jié)構(gòu)體能以行為、數(shù)據(jù)流和結(jié)構(gòu)等多種方式描述實(shí)體。vhdl 語(yǔ)言還包括程序包(package)和配置(configration)初級(jí)設(shè)計(jì)單元。vhdl 語(yǔ)言的基本術(shù)語(yǔ)往往能體現(xiàn)其嚴(yán)密的邏輯結(jié)構(gòu):vhdl 語(yǔ)
30、言的基本術(shù)語(yǔ)包括進(jìn)程(process) 、類屬(generic) 、屬性(attribute)以及驅(qū)動(dòng)(drive) 。進(jìn)程(process)是 vhdl 中的基本執(zhí)行單元,仿真時(shí)把所有的操作劃分為單個(gè)或多個(gè)進(jìn)程。進(jìn)程內(nèi)部只含順序執(zhí)行的語(yǔ)句,即一串信號(hào)賦值中僅最后的賦值有效。進(jìn)程內(nèi)不能說(shuō)明信號(hào),而變量在進(jìn)程內(nèi)說(shuō)明。其具體的流程圖如圖 5 所示。設(shè)計(jì)思想及模塊化設(shè)計(jì)輸入設(shè)計(jì)實(shí)現(xiàn)設(shè)計(jì)仿真器件編程系統(tǒng)測(cè)試圖 5 vhdl 設(shè)計(jì)流程圖4.3 方案選擇對(duì)于符合市場(chǎng)需求的大規(guī)模系統(tǒng),要達(dá)到高效、高速完成,必須有多人甚至多個(gè)開(kāi)11發(fā)組共同并行工作才能實(shí)現(xiàn)。對(duì)于用 eda 技術(shù)完成的一個(gè)確定的設(shè)計(jì),可以利用相
31、應(yīng)的工具平臺(tái)進(jìn)行邏輯綜合和優(yōu)化,完成設(shè)計(jì)任務(wù)?;?eda 技術(shù)的 vhdl 語(yǔ)言對(duì)設(shè)計(jì)的描述具有相對(duì)獨(dú)立性,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),也不必管理最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)。這為電子設(shè)計(jì)的入門者提供了便捷的幫助。相信在不遠(yuǎn)的將來(lái),我國(guó)相關(guān)的專業(yè)技術(shù)人員使用 eda 技術(shù)進(jìn)行工程設(shè)計(jì),就象現(xiàn)在使用計(jì)算器一樣,雖然大部分人不能開(kāi)辦集成電路制造廠,但是卻能快速、經(jīng)濟(jì)地制造 (設(shè)計(jì)) 自已的專用集成電路或集成電子系統(tǒng)。就上述比較而言,本設(shè)計(jì)采用 eda 方案更恰當(dāng)。5 程序設(shè)計(jì)及調(diào)試5.1 算法分析5.1.1 電梯運(yùn)行規(guī)則(1)請(qǐng)求信號(hào)分析:電梯的請(qǐng)求信號(hào)可分為梯內(nèi)請(qǐng)求和梯外請(qǐng)求,
32、如果從這個(gè)角度就很難去進(jìn)行對(duì)電梯運(yùn)行可能情況的分析,因?yàn)殡娞莸倪\(yùn)行是根據(jù)梯外和梯內(nèi)的請(qǐng)求信號(hào)、行程信號(hào)進(jìn)行控制,而梯外和梯內(nèi)的請(qǐng)求是隨機(jī)且不能以有限的規(guī)則去對(duì)其進(jìn)行說(shuō)明的。因此,很難對(duì)電梯的運(yùn)行情況作出一個(gè)統(tǒng)一的分析。出于這方面的考慮,本設(shè)計(jì)把電梯的請(qǐng)求信號(hào)劃分為上升請(qǐng)求和下降請(qǐng)求。電梯接收到請(qǐng)求信號(hào)后,都必須作預(yù)操作。使電梯進(jìn)入預(yù)上升狀態(tài)的請(qǐng)求信號(hào)就是上升請(qǐng)求信號(hào)。具體來(lái)說(shuō),就是當(dāng)電梯所在樓層低于發(fā)出梯外請(qǐng)求的樓層或者低于梯內(nèi)請(qǐng)求所要到達(dá)的目的樓層時(shí),電梯必須在下一操作中作出上升運(yùn)行。這時(shí)的請(qǐng)求信號(hào)就是上升請(qǐng)求信號(hào)。反之,則是下降請(qǐng)求信號(hào)。(2)電梯處于各樓層時(shí)的運(yùn)行情況:處于一樓時(shí),不管是
33、梯內(nèi)梯外,電梯都只可能接收到上升的請(qǐng)求信號(hào)。此時(shí),電梯就進(jìn)入預(yù)上升狀態(tài),準(zhǔn)備作上升運(yùn)行。如果電梯沒(méi)有接收到請(qǐng)求信號(hào),電梯則在一樓待機(jī)。其分析圖如圖 6 所示。處于二樓時(shí),電梯則可能出現(xiàn)三種情況: 電梯并沒(méi)有接收到梯內(nèi)梯外的任何請(qǐng)求信號(hào)時(shí),電梯返回一樓待機(jī); 電梯接收到上升請(qǐng)求信號(hào),進(jìn)入預(yù)上升狀態(tài); 電梯接收到下降請(qǐng)求信號(hào),進(jìn)入預(yù)下降狀態(tài)。12其分析圖如圖 7 所示。處于三樓時(shí),不管是梯內(nèi)梯外,電梯都只可能接收到下降的請(qǐng)求信號(hào)。此時(shí),電梯就進(jìn)入預(yù)下降狀態(tài),準(zhǔn)備作下降運(yùn)行。如果電梯沒(méi)有接收到請(qǐng)求信號(hào),電梯則返回一樓待機(jī)。其分析圖如圖 8 所示。處于一樓預(yù)上升待機(jī)上升信號(hào)無(wú)信號(hào)圖 6 電梯處于一樓時(shí)
34、的運(yùn)行可能分析處于二樓預(yù)上升預(yù)下降返回一樓待機(jī)上升信號(hào)無(wú)信號(hào)下降信號(hào)圖 7 電梯處于二樓時(shí)的運(yùn)行可能分析處于三樓預(yù)下降返回一樓待機(jī)下降信號(hào)無(wú)信號(hào)圖 8 電梯處于三樓時(shí)的運(yùn)行可能分析對(duì)上述電梯的運(yùn)行情況進(jìn)行匯總,可以得到如圖 9 的電梯運(yùn)行狀態(tài)圖。13一樓待機(jī)預(yù)上升二樓預(yù)下降預(yù)上升三樓預(yù)下降無(wú)信號(hào)、下降信號(hào)上升信號(hào)上升信號(hào)無(wú)信號(hào)、下降信號(hào)無(wú)信號(hào)圖 9 電梯運(yùn)行狀態(tài)圖在電梯運(yùn)行過(guò)程中,存在一個(gè)如何處理信號(hào)優(yōu)先的問(wèn)題。電梯實(shí)際上是一個(gè)人機(jī)交互式的控制系統(tǒng),單純用順序優(yōu)先或邏輯優(yōu)先是不能滿足控制要求的,因此,控制系統(tǒng)采用隨機(jī)邏輯方式控制去解決信號(hào)優(yōu)先的問(wèn)題。即在以順序邏輯控制實(shí)現(xiàn)電梯的基本控制要求的基
35、礎(chǔ)上,根據(jù)隨機(jī)的輸入信號(hào),以及電梯的相應(yīng)狀態(tài)適時(shí)的控制電梯的運(yùn)行。例如,當(dāng)電梯在三樓時(shí),二樓、一樓梯外均有上升請(qǐng)求信號(hào):電梯以向下的方向接近二樓的減速位置,判別二樓具有同向的請(qǐng)求信號(hào),在二樓減速停止載客,然后繼續(xù)下降到14一樓載客。又假如,當(dāng)電梯在三樓時(shí),梯內(nèi)有到達(dá)一樓的下降請(qǐng)求信號(hào),而二樓則有上升請(qǐng)求信號(hào):當(dāng)電梯以向下的方向接近二樓的減速位置時(shí),判別二樓具有反向的請(qǐng)求信號(hào),系統(tǒng)將把二樓的上升請(qǐng)求保存到上升請(qǐng)求寄存上,不在二樓作停泊繼續(xù)下降到一樓去載客,然后讀取上升請(qǐng)求寄存中先前二樓的上升請(qǐng)求,執(zhí)行上升到二樓載客的操作。該動(dòng)作完畢后,被保存的寄存器中的數(shù)據(jù)清除,以實(shí)現(xiàn)下一次隨機(jī)邏輯控制。(3)
36、對(duì)電梯開(kāi)門、關(guān)門、報(bào)警等內(nèi)部信號(hào)處理的分析。其流程如圖 10 所示:接到樓層請(qǐng)求信號(hào)電梯運(yùn)行到達(dá)該樓層開(kāi)門使能信號(hào)關(guān)門延時(shí)信號(hào)倒數(shù)關(guān)門使能信號(hào)接受并處理請(qǐng)求信號(hào)電梯進(jìn)入運(yùn)行狀態(tài)超重檢測(cè)故障檢測(cè)故障處理待機(jī)故障報(bào)警提前關(guān)門提前關(guān)門請(qǐng)求nnyy圖 10 電梯內(nèi)外信號(hào)處理當(dāng)電梯接收到請(qǐng)求信號(hào)后,將以隨機(jī)邏輯控制的方式到達(dá)發(fā)出請(qǐng)求的樓層。開(kāi)門使能信號(hào)促使電梯開(kāi)門載客,同時(shí)驅(qū)動(dòng)關(guān)門延時(shí)信號(hào)、超重檢測(cè)以及故障檢測(cè)。在電梯進(jìn)15行完關(guān)門倒數(shù)計(jì)時(shí)、超重排除以及故障排除后,關(guān)門使能信號(hào)將促使電梯關(guān)門進(jìn)入預(yù)操作狀態(tài)。如果此前出現(xiàn)提前關(guān)門信號(hào)而且電梯也已經(jīng)進(jìn)行完超重排除和故障排除,電梯同樣關(guān)門進(jìn)入預(yù)操作狀態(tài)。電梯在
37、超重檢測(cè)時(shí)發(fā)現(xiàn)超重,關(guān)門中斷信號(hào)會(huì)促使電梯發(fā)出超重警報(bào)并且進(jìn)行開(kāi)門操作以減少乘客,重新進(jìn)入載客操作;電梯在故障檢測(cè)時(shí),發(fā)現(xiàn)電梯某部分出現(xiàn)故障,關(guān)門中斷信號(hào)會(huì)促使電梯發(fā)出故障報(bào)警并且進(jìn)入開(kāi)門操作的同時(shí)停止關(guān)門延時(shí),作故障處理待機(jī)。5.1.2 程序流程分析電梯的運(yùn)行規(guī)則確立后,需對(duì)整個(gè)控制程序的設(shè)計(jì)作一個(gè)流程規(guī)范。對(duì)程序進(jìn)行模塊化構(gòu)思。根據(jù) vhdl 語(yǔ)言的規(guī)則,程序必須由最基本的實(shí)體和結(jié)構(gòu)體構(gòu)成。實(shí)體對(duì)控制器的端口進(jìn)行定義,結(jié)構(gòu)體對(duì)各端口的行為進(jìn)行描述。因此程序運(yùn)行需經(jīng)過(guò)以下流程: vhdl 庫(kù)調(diào)用;確立控制器的端口及相關(guān)的寄存器;根據(jù)電梯運(yùn)行規(guī)則,設(shè)計(jì)相關(guān)運(yùn)行描述;對(duì)電梯內(nèi)外信號(hào)進(jìn)行處理。具體
38、流程圖如圖 11 所示:程序開(kāi)始vhdl 庫(kù)調(diào)用設(shè)置控制器的端口設(shè)置相關(guān)的寄存器電梯運(yùn)行規(guī)則描述電梯信號(hào)處理程序結(jié)束圖 11 總程序流程圖165.2 程序設(shè)計(jì)說(shuō)明5.2.1 端口、寄存器設(shè)計(jì)說(shuō)明 (1)由功能要求得到本程序設(shè)計(jì)的端口必須包括:時(shí)鐘信號(hào)(clk) ;超載信號(hào)(full) 、關(guān)門中斷信號(hào)(deng) 、提前關(guān)門信號(hào)(quick) 、清除報(bào)警信號(hào)(clr) ;一樓電梯外人的上升請(qǐng)求信號(hào)(c_u1) 、二樓電梯外人的上升請(qǐng)求信號(hào)(c_u2) ;二樓電梯外人的下降請(qǐng)求信號(hào)(c_d2) 、三樓電梯外人的下降請(qǐng)求信號(hào)(c_d3) ;電梯內(nèi)人請(qǐng)求到達(dá)一樓信號(hào)(d1) 、電梯內(nèi)人請(qǐng)求到達(dá)二樓信號(hào)
39、(d2) 、電梯內(nèi)人請(qǐng)求到達(dá)三樓信號(hào)(d3) ;到達(dá)一樓信號(hào)(g1) 、到達(dá)二樓信號(hào)(g2) 、到達(dá)三樓信號(hào)(g3) ;電梯門控制信號(hào)(door) ;電梯所在樓層顯示(led) ;電梯外人上升請(qǐng)求信號(hào)顯示(led_c_u) 、電梯外人下降請(qǐng)求信號(hào)顯示(led_c_d) ;電梯內(nèi)請(qǐng)求信號(hào)顯示(led_d) ;看門狗報(bào)警信號(hào)(wahaha) 、超載警告信號(hào)(alarm) ;電梯運(yùn)動(dòng)方向顯示(ud) ;電機(jī)向上控制信號(hào)(up) 、電機(jī)向下控制信號(hào)(down) 。其端口分布如圖 12 所示:17圖 12 控制器的端口(2)由相關(guān)端口得到程序要求的寄存器包括:電梯內(nèi)人請(qǐng)求到達(dá)一樓信號(hào)寄存(d11) 、電
40、梯內(nèi)人請(qǐng)求到達(dá)二樓信號(hào)寄存(d22) 、 電梯內(nèi)人請(qǐng)求到達(dá)三樓信號(hào)寄存(d33) ; 一樓電梯外人上升請(qǐng)求信號(hào)寄存(c_u11) 、二樓電梯外人上升請(qǐng)求信號(hào)寄存(c_u22) ; 二樓電梯外人下降請(qǐng)求信號(hào)寄存(c_d22) 、三樓電梯外人下降請(qǐng)求信號(hào)寄存(c_d33) ;分頻信號(hào)(q) ;關(guān)門延時(shí)計(jì)數(shù)器(q1) 、看門狗計(jì)數(shù)器(q2) ;電梯內(nèi)請(qǐng)求信號(hào)寄存器(dd) ;電梯外上升請(qǐng)求信號(hào)寄存器(cc_u) 、電梯外下降請(qǐng)求信號(hào)寄存器(cc_d) ;電梯請(qǐng)求信號(hào)寄存器(dd_cc) ;開(kāi)門使能信號(hào)(opendoor) ;電梯運(yùn)動(dòng)方向信號(hào)寄存器(updown) ;預(yù)備上升操作使能(en_up) 、
41、預(yù)備下降預(yù)操作使能(en_dw) 。5.2.2 模塊設(shè)計(jì)說(shuō)明本程序由三個(gè)基本模塊組成,包括調(diào)用 vhdl 庫(kù)模塊、實(shí)體設(shè)計(jì)模塊和結(jié)構(gòu)體設(shè)計(jì)模塊。而在結(jié)構(gòu)體模塊中又內(nèi)嵌有進(jìn)程執(zhí)行單元。18(1)調(diào)用 vhdl 庫(kù)通過(guò) library 語(yǔ)句,本程序應(yīng)用了 vhdl 庫(kù)中的“通用 ieee 庫(kù)”和“標(biāo)準(zhǔn) std 庫(kù)” 。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;(2)entity 實(shí)體設(shè)計(jì)模塊entity dianti is port (
42、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_v
43、ector(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;實(shí)體語(yǔ)句用關(guān)鍵詞entity開(kāi)頭,本程序以dianti(電梯的漢語(yǔ)拼音)作為所要描述的實(shí)體名,在結(jié)束實(shí)體語(yǔ)句的時(shí)候使用end dianti。在entity語(yǔ)句的實(shí)體說(shuō)明部分,用port附語(yǔ)描述實(shí)體對(duì)外界連接的端口(數(shù)目、方向和數(shù)據(jù)類型) ,實(shí)體dianti有25個(gè)接口,輸入模式是clk/full/de
44、ng/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是帶數(shù)組模式的輸出接口。(3)architecture結(jié)構(gòu)化設(shè)計(jì)模塊和process進(jìn)程執(zhí)行單元dianti符號(hào)下的線路圖描述dianti網(wǎng)表,與線路圖對(duì)應(yīng)的vhdl architecture就是結(jié)構(gòu)19體,實(shí)體dianti以結(jié)構(gòu)化與行為化描述的結(jié)構(gòu)體如下:architecture behav of dianti issignal d11,d22,d33:std_logic; signal c_u11,c_u2
45、2: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)en
46、d behav;由于篇幅的關(guān)系,結(jié)構(gòu)體部分并不能盡錄。本模塊以關(guān)鍵字architecture做結(jié)構(gòu)體的開(kāi)頭,描述dianti實(shí)體的結(jié)構(gòu)體behav。architectecture和begin之間是結(jié)構(gòu)體說(shuō)明區(qū),詳細(xì)定義了各種信號(hào)端的模式和取值范圍;begin和end之間是結(jié)構(gòu)體語(yǔ)句區(qū),在此將嵌入process進(jìn)程語(yǔ)句去對(duì)實(shí)體行為作出說(shuō)明。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; el
47、se 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; 關(guān)鍵字process后面括號(hào)中的信號(hào)為時(shí)鐘信號(hào),它列舉可激活進(jìn)程語(yǔ)句的信號(hào),唯有這些信號(hào)上的事件能引起進(jìn)程語(yǔ)句執(zhí)行。關(guān)鍵字begin把進(jìn)程語(yǔ)句分為進(jìn)程說(shuō)明和進(jìn)程語(yǔ)句兩部分。進(jìn)程說(shuō)明在時(shí)鐘信號(hào)和begin之間,說(shuō)明局部變量或某些僅在進(jìn)程內(nèi)部
48、用的內(nèi)容。進(jìn)程語(yǔ)句部分在begin和end process之間,進(jìn)程內(nèi)的所有語(yǔ)句都是按順序一個(gè)接一個(gè)執(zhí)行的。5.2.3 具體語(yǔ)句設(shè)計(jì)說(shuō)明上文已說(shuō)明了構(gòu)成vhdl程序的兩大部分實(shí)體和結(jié)構(gòu)體的相關(guān)語(yǔ)句。在這些語(yǔ)句里,賦值語(yǔ)句占了相當(dāng)一部分。在vhdl語(yǔ)言里,賦值符號(hào)一般都是“=”符號(hào),具體形式如下: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語(yǔ)言也具有與一般編程語(yǔ)言相同
49、的一些語(yǔ)言邏輯結(jié)構(gòu),如上述中的21“ifthen;elsifthen;”等。這是vhdl中的順序語(yǔ)句,與我們常見(jiàn)的c語(yǔ)言中if作為條件語(yǔ)句不同。本程序只使用到上述的語(yǔ)言結(jié)構(gòu),相對(duì)簡(jiǎn)易。在實(shí)體模塊中,對(duì)電梯的主要信號(hào)都一一作出了定義,具體說(shuō)明給出如下:port ( clk : in std_logic; -時(shí)鐘信號(hào)full,deng,quick,clr : in std_logic; -超載、關(guān)門中斷、提前關(guān)門清除報(bào)警信號(hào) c_u1,c_u2: in std_logic; -電梯外人的上升請(qǐng)求信號(hào) c_d2,c_d3: in std_logic; -電梯外人的下降請(qǐng)求信號(hào) d1,d2,d3 :
50、in std_logic; -電梯內(nèi)人的請(qǐng)求信號(hào) g1,g2,g3 : in std_logic; -到達(dá)樓層信號(hào) door : out std_logic_vector(1 downto 0); -電梯門控制信號(hào) led : out std_logic_vector(6 downto 0); -電梯所在樓層顯示 led_c_u:out std_logic_vector(2 downto 0); -電梯外人上升請(qǐng)求信號(hào)顯示 led_c_d:out std_logic_vector(2 downto 0); -電梯外人下降請(qǐng)求信號(hào)顯示 led_d : out std_logic_vector(2
51、 downto 0); -電梯內(nèi)請(qǐng)求信號(hào)顯示 wahaha : out std_logic; -看門狗報(bào)警信號(hào) ud,alarm : out std_logic; -電梯運(yùn)動(dòng)方向顯示,超載警告信號(hào)up,down : out std_logic ); -電機(jī)控制信號(hào)和電梯運(yùn)動(dòng)在結(jié)構(gòu)體中對(duì)電梯的運(yùn)行行為作出描述,其中以電梯處于二樓的情況相對(duì)復(fù)雜,對(duì)此需作出具體說(shuō)明,給出如下:elsif g2=1 then led=0010010; -電梯到達(dá) 2 樓,數(shù)碼管顯示 2if updown=1 then -電梯前一運(yùn)動(dòng)狀態(tài)位上升 if d22=1 or c_u22=1 then d22=0; c_u22
52、=0; opendoor011 then en_up=1; opendoor=0; -有上升請(qǐng)求,則電梯進(jìn)入預(yù)備上升狀態(tài) elsif dd_cc010 then en_dw=1; opendoor=0; -有下降請(qǐng)求,則電梯進(jìn)入預(yù)備下降狀態(tài) end if; -電梯前一運(yùn)動(dòng)狀態(tài)為下降 22elsif d22=1 or c_d22=1 then d22=0; c_d22=0;opendoor=1; -有當(dāng)前層的請(qǐng)求,則電梯進(jìn)入開(kāi)門狀態(tài)elsif dd_cc010 then en_dw=1; opendoor011 then en_up=1; opendoor=0; -有上升請(qǐng)求,則電梯進(jìn)入預(yù)備上升
53、狀態(tài) end if;在上述語(yǔ)句中的“elsif g2=1 then led=0010010; ” ,led 的賦值之所以為“0010010”是根據(jù)七段式數(shù)字顯示器的發(fā)光段排列的,如圖 13 所示:圖 13 七段數(shù)字顯示器可見(jiàn)發(fā)光段是 a、b、d、e、g 段,形成一個(gè) 2 字。所以在一樓時(shí) led 賦值為“1001111” ,三樓時(shí) led 賦值為“0000110” 。在進(jìn)程執(zhí)行單元里,對(duì)電梯在樓層時(shí)的操作情況作出了描述,例如:開(kāi)門、關(guān)門延時(shí)、超載報(bào)警、故障報(bào)警以及電梯內(nèi)的請(qǐng)求信號(hào)處理,具體說(shuō)明給出如下:com:process(clk)beginif clkevent and clk=1 the
54、n if clr=1 then q1=0;q2=0;wahaha=0; -清除故障報(bào)警 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; -故障報(bào)警23 elseif opendoor=1 then door=10;q1=0;q2=0;up=0;down=0; -開(kāi)門操作elsif en_up=1 then -上升預(yù)操作 if deng=1 then door=10;q1=0;q2=q2+1; -關(guān)門中斷el
55、sif quick=1 then q1=3; -提前關(guān)門elsif q1=6 then door=00;updown=1;up=3 then door=01;q1=q1+1; -電梯進(jìn)入關(guān)門狀態(tài)else q1=q1+1;door=00; -電梯進(jìn)入等待狀態(tài)end if;elsif en_dw=1 then -下降預(yù)操作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;doo
56、r=00; end if;end if; else q=1;alarm=0; -清除超載報(bào)警if d1=1 then d11=d1; -對(duì)電梯內(nèi)人請(qǐng)求信號(hào)進(jìn)行檢測(cè)和寄存 elsif d2=1 then d22=d2;elsif d3=1 then d33=d3; end if;if c_u1=1 then c_u11=c_u1; -對(duì)電梯外人上升請(qǐng)求信號(hào)進(jìn)行檢測(cè)和寄存elsif c_u2=1 then c_u22=c_u2; end if; if c_d2=1 then c_d22=c_d2; -對(duì)電梯外人下降請(qǐng)求信號(hào)進(jìn)行檢測(cè)和寄存elsif c_d3=1 then c_d33=c_d3; e
57、nd if; dd=d33&d22&d11; -電梯內(nèi)人請(qǐng)求信號(hào)并置 24 cc_u=0&c_u22&c_u11; -電梯外人上升請(qǐng)求信號(hào)并置 cc_d=c_d33&c_d22&0; -電梯外人下降請(qǐng)求信號(hào)并置 dd_cc=dd or cc_u or cc_d; -電梯內(nèi)、外人請(qǐng)求信號(hào)進(jìn)行綜合 end if; ud=updown; -電梯運(yùn)動(dòng)狀態(tài)顯示 led_d=dd; -電梯內(nèi)人請(qǐng)求信號(hào)顯示led_c_u=cc_u; -電梯外人上升請(qǐng)求信號(hào)顯示led_c_d=cc_d; -電梯外人下降請(qǐng)求信號(hào)顯示end if; 5.3 程序調(diào)試(1)建立好工作庫(kù)目錄,以便設(shè)計(jì)工程項(xiàng)目的存儲(chǔ),打開(kāi) max+p
58、lusii 軟件,其初始界面如圖 14 所示。圖 14 max+plusii 軟件初始界面(2)在工具欄中選擇“新建”按鈕。在選擇輸入路徑時(shí),選擇“text editor file”以進(jìn)行文本輸入,如圖 15 所示。25圖 15 輸入路徑選擇為文本輸入(3)在文本輸入界面內(nèi)進(jìn)行程序輸入,如圖 16 所示:26圖 16 程序輸入界面27(4)輸入完畢后,需要對(duì)對(duì)程序進(jìn)行保存。文件名和實(shí)體定義的符號(hào)必須保持一致,即文件名為 dianti。因?yàn)槭鞘褂?vhdl 語(yǔ)言,所以文件后綴名須改成 vhd,詳見(jiàn)圖17 所示。由于文件后綴名都默認(rèn)為 tdf,在初次調(diào)試時(shí)并沒(méi)有注意這個(gè)問(wèn)題,結(jié)果在編譯的時(shí)候老是出
59、錯(cuò)。圖 17 文本輸入保存界面(5)保存以后,對(duì)程序進(jìn)行編譯。在編譯前,需要把文件設(shè)置為頂層文件,或稱工程文件 project。選擇菜單“file”“set project to current file” ,當(dāng)前的文件即被指定。詳見(jiàn)圖 18 所示。圖 18 設(shè)置頂層文件28(6)在“max+plusii”下拉按鈕里選擇”compiler”,對(duì)程序進(jìn)行編譯。此時(shí),max+plusii 軟件會(huì)對(duì)程序進(jìn)行糾錯(cuò)等處理。當(dāng)程序被確認(rèn)無(wú)誤以后會(huì)出現(xiàn)如下界面,如圖 19 所示。圖 19 編譯完成在編譯完成以后,程序的調(diào)試亦告完結(jié)。6 程序仿真6.1 波形輸入建立(1)編譯完全通過(guò)后,新建波形編輯器進(jìn)行設(shè)計(jì)
60、仿真。通過(guò)“新建”按鈕,選擇“waveform editor file” ,詳細(xì)如圖 20 所示。圖 20 新建波形編輯器29(2)新建波形編輯器后,對(duì)文件進(jìn)行保存。同樣是使用相同的文件名 dianti,后綴則改為 scf。(3)在編輯器的 name 欄點(diǎn)擊鼠標(biāo)右鍵,選擇“enter nodes from snf”選擇添加需要觀察的節(jié)點(diǎn)信號(hào)。如圖 21 所示。圖 21 添加節(jié)點(diǎn)信號(hào)(4)通過(guò)編輯器左側(cè)的一些快捷按鈕對(duì)所加節(jié)點(diǎn)中的輸入信號(hào)進(jìn)行相關(guān)的賦值后,就可對(duì)程序進(jìn)行仿真,觀察輸出信號(hào),得出結(jié)論。如對(duì)時(shí)鐘信號(hào) clk 賦周期為 25ms 的周期信號(hào),如圖 22 所示。圖 22 對(duì) clk 信號(hào)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年冀教版七年級(jí)科學(xué)上冊(cè)月考試卷
- 2025年北師大版八年級(jí)化學(xué)下冊(cè)階段測(cè)試試卷含答案
- 2025年統(tǒng)編版五年級(jí)語(yǔ)文上冊(cè)階段測(cè)試試卷
- 2024園藝設(shè)計(jì)與施工一體化服務(wù)合同正范3篇
- 2025年湘教新版選擇性必修2化學(xué)上冊(cè)階段測(cè)試試卷含答案
- 2025年外研版2024八年級(jí)物理上冊(cè)階段測(cè)試試卷
- 2025年仁愛(ài)科普版九年級(jí)地理下冊(cè)月考試卷
- 城東小學(xué)4年級(jí)數(shù)學(xué)試卷
- 2024版船舶交易協(xié)議全攻略版B版
- 2025年外研版必修1歷史下冊(cè)階段測(cè)試試卷
- 英語(yǔ)-山東省淄博市2024-2025學(xué)年第一學(xué)期高三期末摸底質(zhì)量檢測(cè)試題和答案
- 億歐智庫(kù)-2024中國(guó)智能駕駛城區(qū)NOA功能測(cè)評(píng)報(bào)告
- 甘肅2024年甘肅培黎職業(yè)學(xué)院引進(jìn)高層次人才歷年參考題庫(kù)(頻考版)含答案解析
- 水利水電工程安全管理制度例文(三篇)
- 2025年超星爾雅學(xué)習(xí)通《勞動(dòng)通論》章節(jié)測(cè)試題庫(kù)及參考答案(培優(yōu))
- 2024預(yù)防流感課件完整版
- 新疆烏魯木齊市(2024年-2025年小學(xué)六年級(jí)語(yǔ)文)統(tǒng)編版質(zhì)量測(cè)試(上學(xué)期)試卷及答案
- 人教版2024-2025學(xué)年第一學(xué)期八年級(jí)物理期末綜合復(fù)習(xí)練習(xí)卷(含答案)
- 特殊教育多媒體教室方案
- 獸醫(yī)學(xué)英語(yǔ)詞匯【參考】
- 行政個(gè)人年終述職報(bào)告
評(píng)論
0/150
提交評(píng)論