基于PLC火災(zāi)自動報警系統(tǒng)設(shè)計_第1頁
基于PLC火災(zāi)自動報警系統(tǒng)設(shè)計_第2頁
基于PLC火災(zāi)自動報警系統(tǒng)設(shè)計_第3頁
基于PLC火災(zāi)自動報警系統(tǒng)設(shè)計_第4頁
基于PLC火災(zāi)自動報警系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 第一章 引言隨著信息社會的發(fā)展,建筑越來越成為人類環(huán)境中的一個組成,從工業(yè)社會到現(xiàn)代化建筑的概念轉(zhuǎn)向面對信息社會的需求,智能建筑正在世界范圍內(nèi)蓬勃發(fā)展,并在大量的建筑實(shí)踐中取得了顯著地成效。實(shí)踐證明,隨著社會和經(jīng)濟(jì)的發(fā)展,消防工作的重要性就越來越突出。由此,火災(zāi)報警器在消防工作就的作用也尤為突出了。我國的火災(zāi)自動報警控制系統(tǒng)經(jīng)歷了從無到有、從簡單到復(fù)雜的發(fā)展過程,其智能化程度也越來越高。但目前國內(nèi)廠家多偏重用于大型倉庫、商場、高級寫字樓、賓館等場所大型火災(zāi)報警系統(tǒng)的研發(fā),他們采用集中區(qū)域報警控制方式,其系統(tǒng)復(fù)雜、成本較高。而在居民住宅區(qū)、機(jī)房、辦公室等小型防火單位,需要設(shè)置一種單一或區(qū)域聯(lián)網(wǎng)

2、、廉價實(shí)用的火災(zāi)自動探測報警裝置,因此,研制一種結(jié)構(gòu)簡單、價格低廉的語音數(shù)字聯(lián)網(wǎng)火災(zāi)報警器是非常必要的?;馂?zāi)自動報警系統(tǒng),一般由火災(zāi)探測器、區(qū)域報警器和集中報警器組成;也可以根據(jù)工程的要求同各種滅火設(shè)施和通訊裝置聯(lián)動,以形成中心控制系統(tǒng)。即由自動報警、自動滅火、安全疏散誘導(dǎo)、系統(tǒng)過程顯示、消防檔案管理等組成一個完整的消防控制系統(tǒng)?;馂?zāi)探測器是探測火災(zāi)的儀器,由于在火災(zāi)發(fā)生的階段,將伴隨產(chǎn)生煙霧、高溫格火光。這些煙、熱和光可以通過探測器轉(zhuǎn)變?yōu)殡娦盘枅缶蚴棺詣訙缁鹣到y(tǒng)啟動,及時撲滅火災(zāi)。測器發(fā)出的信號轉(zhuǎn)換為聲光報警,并在屏幕上顯示出火災(zāi)的房間號;同時還能監(jiān)視若干樓層的集中報警器(如果監(jiān)視整個大樓

3、的則設(shè)于消防控制中心)輸出信號或控制自動滅火系統(tǒng)。集中報警是將接收到的信號以聲光方式顯示出來,其屏幕上也具體顯示出著火的樓層和房間號,機(jī)上停走的時鐘記錄下首次報警時間性,利用本機(jī)專用電話,還可迅速發(fā)出指示和向消防隊報警。此外,也可以控制有關(guān)的滅火系統(tǒng)或?qū)⒒馂?zāi)信號傳輸給消防控制室。第一節(jié) 主要研究內(nèi)容本文對探測器、可編程控制分別加以研究討論,最后介紹了軟件設(shè)計思路及軟件程序。主要內(nèi)容如下:(1)探測器原理及結(jié)構(gòu);(2) 樓宇消防PLC控制系統(tǒng)的設(shè)計(3) 樓宇消防控制程序的設(shè)計及實(shí)現(xiàn)。第二章 火災(zāi)自動報警系統(tǒng)簡介第一節(jié) 火災(zāi)自動報警系統(tǒng)概述火災(zāi)自動報警系統(tǒng)能夠在火災(zāi)初期,將燃燒產(chǎn)生的煙霧、熱量和

4、光輻射等.物理量,通過感溫、感煙和感光等火災(zāi)探測器變成電信號,傳輸?shù)交馂?zāi)報警控制器,并同時顯示出火災(zāi)發(fā)生的部位,記錄火災(zāi)發(fā)生的時間。火災(zāi)自動報警系統(tǒng)的組成形式多種多樣,它的發(fā)展目前可分為三個階段:1 多線制開關(guān)量式火災(zāi)探測報警系統(tǒng)。這是第一代產(chǎn)品,目前國內(nèi)極少數(shù)廠家生產(chǎn)外,它基本上已處于被淘汰狀態(tài)。2 總線制可尋址開關(guān)量式火災(zāi)探測報警系統(tǒng)。這是第二代產(chǎn)品,尤其是二總線制開關(guān)量式探測報警系統(tǒng)目前正被大量使用。3 模擬量傳輸式智能火災(zāi)報警系統(tǒng)。這是第三代產(chǎn)品。目前我國已經(jīng)開始從傳統(tǒng)的開關(guān)量式火災(zāi)探測報警技術(shù),跨入具有先進(jìn)水平的模擬量式智能火災(zāi)探測報警技術(shù)的新階段,它的系統(tǒng)的誤報率降低到最低限度,并

5、大幅度地提高了報警的準(zhǔn)確度和可靠性。第二節(jié) 火災(zāi)自動報警系統(tǒng)設(shè)計要求在火災(zāi)自動報警系統(tǒng)中,火災(zāi)探測器長年累月地檢測被警戒的現(xiàn)場或?qū)ο?,?dāng)檢測場所對象發(fā)生火災(zāi)時,火災(zāi)探測器檢測到火災(zāi)發(fā)生的煙霧、高溫、火焰及火災(zāi)特有的氣體等信號并轉(zhuǎn)換成電信號,經(jīng)過與正常狀態(tài)閥值或參數(shù)模型分析比較,給出火災(zāi)報警信號,通過火災(zāi)報警控制器上的聲光報警控制器顯示裝置顯示出來,通知消防人員發(fā)生了火災(zāi)。同時,火災(zāi)自動報警系統(tǒng)通過火災(zāi)報警控制器啟動警報裝置,告誡現(xiàn)場人員投入滅火操作或從火災(zāi)現(xiàn)場疏散;啟動斷電控制裝置、防排煙設(shè)備、防火門、放火卷簾、消防電梯、火災(zāi)應(yīng)急照明、消防電話等減災(zāi)裝置,防止蔓延、控制火勢和求助消防部門支援;

6、啟動消火栓、水噴淋、水幕及氣體滅火系統(tǒng)及裝置,及時撲滅火災(zāi),減少火災(zāi)損失。一旦火災(zāi)被撲滅,整個火災(zāi)自動報警系統(tǒng)又回到正常監(jiān)控狀態(tài)。顯然,要使火災(zāi)自動報警系統(tǒng)充分發(fā)揮作用,對火災(zāi)實(shí)現(xiàn)擬人化的監(jiān)測和分析判斷,要求火災(zāi)自動報警系統(tǒng)將微電子技術(shù)、微機(jī)控制技術(shù)、智能數(shù)據(jù)處理技術(shù)等技術(shù)融入系統(tǒng)主機(jī)所以我們可以將火災(zāi)自動報警系統(tǒng)的組成結(jié)構(gòu)及功能關(guān)系繪出如圖2.1。第三節(jié) 火災(zāi)自動報警系統(tǒng)的基本組成火災(zāi)自動報警系統(tǒng)是由觸發(fā)器件、火災(zāi)報警裝置、火災(zāi)警報裝置以及具有其它輔助功能的裝置組成的火災(zāi)報警系統(tǒng),在火災(zāi)自動報警系統(tǒng)中,自動或手動產(chǎn)生火災(zāi)報警信號的器件稱為觸發(fā)件,主要包括火災(zāi)探測器和手動火災(zāi)報警按鈕。第四節(jié)

7、火災(zāi)探測器火災(zāi)探測器是火災(zāi)自動報警系統(tǒng)的傳感部分,是組成各種火災(zāi)自動報警系“感覺器官”()設(shè)備發(fā)出現(xiàn)場火災(zāi)狀態(tài)信號的裝置?;馂?zāi)探測器是系統(tǒng)中的關(guān)鍵元件,他的穩(wěn)定性、可靠性和靈敏度等技術(shù)指標(biāo)會受到諸多因素的影響,因此火災(zāi)探測器的選擇和布置應(yīng)該嚴(yán)格按照規(guī)范進(jìn)行。第五節(jié) 火災(zāi)探測器的分類根據(jù)不同的火災(zāi)探測方法可構(gòu)成相應(yīng)的火災(zāi)探測器,按照其待測的火災(zāi)參數(shù)不同可以劃分為感煙式、感溫式、感光式火災(zāi)探測器和可燃?xì)怏w探測器,以及煙溫、煙光、煙溫光等復(fù)合式火災(zāi)探測器和多信號輸出式火災(zāi)探測器(如圖2.2多信號輸出時火災(zāi)探測器)。感煙火災(zāi)探測器是利用一個小型煙霧傳感器響應(yīng)懸浮在其周圍附近大氣中的燃燒和熱解產(chǎn)生的煙霧

8、氣膠的一種火災(zāi)探測器,一般情況下制成點(diǎn)型結(jié)構(gòu),主要有離子式和散射光式兩種類型。此外,減光式感煙火災(zāi)探器有點(diǎn)型和線性兩種結(jié)構(gòu),其中線型結(jié)構(gòu)一般制成主動紅外對射式線性火災(zāi)探測器。感溫式火災(zāi)探測器是利用一點(diǎn)型或線纜型火災(zāi)參數(shù)傳感器來響應(yīng)其周圍附近氣流的異常溫度和升溫速率的火災(zāi)探測器,其結(jié)構(gòu)有點(diǎn)型和線纜型兩種,當(dāng)前使用較為廣泛的是點(diǎn)型電子感溫火災(zāi)探測器和線纜型易熔金屬感溫火災(zāi)探測器。感光式火災(zāi)探測器是根據(jù)物質(zhì)燃燒過程中火焰的特性和火焰的光輻射強(qiáng)度而構(gòu)成的用于響應(yīng)火災(zāi)時火焰光特性的火災(zāi)探測器,一般是制作成被動式紫外或紅外火焰光探測器??扇?xì)怏w探測器是采用各種氣敏元件或傳感器來響應(yīng)火災(zāi)初期物質(zhì)燃燒產(chǎn)生的煙

9、氣體中某些氣體濃度或液化石油氣、天然氣等環(huán)境中可燃?xì)怏w濃度以及氣體成分的探測器,一般其結(jié)構(gòu)為點(diǎn)型,當(dāng)前用于火災(zāi)探測的可燃?xì)怏w探測器主要采用催化燃燒式或三端電化學(xué)式探測原理。圖2.2 多信號輸出式火災(zāi)探測第六節(jié) 本章小結(jié)本章節(jié)主要講述了火災(zāi)自動報警的組成形式以及發(fā)展的三個階段,其火災(zāi)自動報警的在現(xiàn)場的設(shè)計要求,以及火災(zāi)探測器的分類。第三章 系統(tǒng)的設(shè)置隨著新產(chǎn)品的不斷出現(xiàn),火災(zāi)自動報警系統(tǒng)也由傳統(tǒng)型向現(xiàn)代火災(zāi)自動報警發(fā)展。在諸多的產(chǎn)品中以區(qū)域報警和集中報警控制器的應(yīng)用最為廣泛,以下介紹兩者的設(shè)置。第一節(jié) 區(qū)域報警控制系統(tǒng)區(qū)域報警控制系統(tǒng)是火災(zāi)自動報警系統(tǒng)組成的一種形式,它是由電子元件組成的自動報警

10、和監(jiān)控裝置。當(dāng)探測器檢測到火災(zāi)信號,電子線路將火災(zāi)信號轉(zhuǎn)換為電壓或數(shù)字信號,通過導(dǎo)線傳輸?shù)絽^(qū)域報警器,經(jīng)過處理后發(fā)出聲光報警信號,同時將火災(zāi)部位傳輸給集中報警控制器,適用于較小范圍的保護(hù)。有些區(qū)域報警控制器可單獨(dú)組成系統(tǒng)進(jìn)行消防滅火自動處理。區(qū)域報警控制器的設(shè)置應(yīng)該符合以下的規(guī)定:(1)一個報警區(qū)域應(yīng)設(shè)置一臺區(qū)域報警控制器,系統(tǒng)中區(qū)域報警控制器不應(yīng)該超過3臺。(2)當(dāng)用一臺區(qū)域報警控制器警戒數(shù)個樓層時,應(yīng)在每層各樓梯口明顯部位裝設(shè)識別樓層的燈光顯示區(qū)域。(3)區(qū)域報警控制器安裝在墻上時,其底邊距地的高度不應(yīng)小于1.5m??拷T軸的側(cè)面距墻不應(yīng)小于0.5m,正面操作距離不應(yīng)小于1.2m。(4)區(qū)

11、域報警控制系統(tǒng)宜設(shè)在有人值班的房間或賓館每層服務(wù)臺。第二節(jié) 集中報警控制系統(tǒng)集中報警控制系統(tǒng)是有電子線路組成的集中自動監(jiān)控報警裝置,各個區(qū)域報警巡回檢測帶的信號均集中到這一總的監(jiān)控報警裝置。它具有部位指示、區(qū)域顯示、巡檢、自檢、火災(zāi)報警音響、計時、故障報警、記錄打印等一系列功能,在發(fā)出報警信號同時可自動采取系統(tǒng)的消防功能控制動作,達(dá)到消防的目的和手段,適用于較大范圍內(nèi)多個區(qū)域的保護(hù)。集中報警控制器的設(shè)置應(yīng)該滿足以下規(guī)定:(1) 系統(tǒng)中應(yīng)設(shè)有一臺集中報警控制器和兩臺以上區(qū)域報警控制器。(2) 集中報警控制器的容量不宜小于保護(hù)范圍內(nèi)探測區(qū)域總數(shù)。(3) 集中報警控制器距墻不應(yīng)小于1m,正面的操作距

12、離不應(yīng)小于2m。(4) 區(qū)域報警控制器的設(shè)置應(yīng)符合上述區(qū)域報警控制系統(tǒng)的有關(guān)要求。第三節(jié) 控制中心報警系統(tǒng)由消防控制室的消防控制設(shè)備、集中火災(zāi)報警控制器、區(qū)域火災(zāi)報警控制器和火災(zāi)自動報警探測器等組成,或由消防控制室的消防控制設(shè)備、火災(zāi)報警控制器、區(qū)域顯示器和火災(zāi)自動報警探測器等組成,功能復(fù)雜的火災(zāi)自動報警系統(tǒng)。系統(tǒng)的容量較大,消防設(shè)施控制功能較全,適用于大型建筑的保護(hù)。(1)系統(tǒng)中應(yīng)至少設(shè)置一臺集中報警控制器和必要的消防控制設(shè)備;(2)設(shè)在消防控制室以外的集中報警控制器,均應(yīng)將火災(zāi)報警信號和消防聯(lián)動控制信號送至消防控制室;(3)區(qū)域報警控制器和集中報警控制器的設(shè)置,應(yīng)符合上述控制中心報警系統(tǒng)的

13、有關(guān)要求。第四節(jié) 本章小結(jié)本章主要講了區(qū)域報警控制系統(tǒng)的設(shè)置以及符合規(guī)定,集中報警控制系統(tǒng)的功能和設(shè)置,以及控制中心系統(tǒng)的組成和要求。第四章 火災(zāi)自動報警系統(tǒng)設(shè)計本系統(tǒng)主要由檢測系統(tǒng)子系統(tǒng)、中央控制器、報警子系統(tǒng)系統(tǒng)和滅火子系統(tǒng)系統(tǒng)四個部分組成,檢測子系統(tǒng)主要傳感器組成。為了提高系統(tǒng)可靠性,減少誤報和漏報,本系統(tǒng)采用了感煙和感溫兩種傳感器,能同時根據(jù)情況發(fā)出火災(zāi)信號。報警子系統(tǒng)主要采用喇叭式和燈閃爍式兩種方案,本系統(tǒng)采用喇叭報警,便于長距離的火災(zāi)信號傳遞,以便于人們的疏散和系統(tǒng)自動的控制。第一節(jié) 建筑狀況教學(xué)樓是學(xué)院學(xué)生集中上課的場所,教學(xué)樓內(nèi)來往學(xué)生教師較多,在其內(nèi)部還有各種貴重設(shè)備、資料、

14、文獻(xiàn)等,所以一定要做好防火等工作。該樓共八層,三到八層為通用層,一層高5m4m,總共33m為1084.43m2耐火等級為二級。第二節(jié) 防火分區(qū)的劃分教學(xué)樓共八層,其中三到八層為通用層,一二層高5m,標(biāo)準(zhǔn)層為4m,總共34m。每層建筑面積為1084.43m2其界定為二級保護(hù)對象。,該建筑為二類建筑,耐火等級為二級。在劃分防火分區(qū)時應(yīng)該滿足表5.1的規(guī)定。高層建筑內(nèi)應(yīng)采用防火墻等劃分防火分區(qū),每個防火分區(qū)允許最大建筑面積,不應(yīng)超過下表的規(guī)定。第三節(jié) 探測區(qū)域和報警區(qū)域的劃分火災(zāi)自動報警系統(tǒng)的保護(hù)對象形式多樣,功能各異,規(guī)模不等。為了便于早期探測、早期報警,方便日常的維護(hù)管理,在安裝的火災(zāi)自動報警系

15、統(tǒng)中,人們一般都將其保護(hù)空間劃分為若干個報警區(qū)域。每個報警區(qū)域又劃分了若干個探測區(qū)域。這樣這可以在火災(zāi)時,能夠迅速、準(zhǔn)確地確定著火部位,便于有關(guān)人員采取有效措施。因此,所謂報警區(qū)域就是人們在設(shè)計中將火災(zāi)自動報警系統(tǒng)的警戒范圍按防火分區(qū)或樓層劃分的部分空間,是設(shè)置區(qū)域火災(zāi)報警控制器的基本單元。一個報警區(qū)域可以由一個防火分區(qū)或同樓層相鄰幾個防火分區(qū)組成,但同一個防火分區(qū)不能在兩個不同的報警區(qū)域內(nèi);同一報警區(qū)域也不能保護(hù)不同樓層的幾個不同的防火分區(qū)。一、報警區(qū)域的劃分根據(jù)火災(zāi)自動報警系統(tǒng)設(shè)計規(guī)范的規(guī)定,報警區(qū)域宜由一個防火分區(qū)或同樓層的幾個相鄰的幾個組成,所以把每層分別單獨(dú)作為一個報警區(qū)域,滿足火災(zāi)

16、自動報警系統(tǒng)設(shè)計規(guī)范的規(guī)定。二、探測區(qū)域的劃分(套)間劃分。一個探測區(qū)域的面積不宜超過500m2;從主要人口能看清其內(nèi)部,并且面積不超過1000m2的房間,也可劃為一個探測區(qū)域。根據(jù)以上的規(guī)定我把教學(xué)樓的探測區(qū)域劃分如下:(1)教學(xué)樓每層的房間都是小空間,所以把每層的每個房間單獨(dú)劃分為一個探測區(qū)域。(2)23層劃分為一個探測區(qū)域并且設(shè)置一個火災(zāi)探測器。(3)把前室(包括防煙樓梯間前室、消防電梯前室、消防電梯與防煙樓梯間合用的前室)和走道分別單獨(dú)劃分探測區(qū)域。特別是前室與電梯豎井、疏散樓梯間及走道相通,在發(fā)生火災(zāi)時煙氣更容易聚集或流過,是人員疏散和消防撲救的必經(jīng)之地,故應(yīng)裝設(shè)火災(zāi)探測器。對于一般

17、電梯前室雖然不是人員疏散必經(jīng)之地,但該前室與電梯豎井相通,也是在發(fā)生火災(zāi)時煙氣容易聚集或流過,也單獨(dú)劃分探測區(qū)域及裝設(shè)火災(zāi)探測器。(4)把電纜豎井單獨(dú)劃分探測區(qū)域并裝設(shè)火災(zāi)探測器。一則是恐怕豎井形成拔煙火的通道;二則是恐怕發(fā)生火災(zāi)時火勢沿電纜延燃。對電纜豎井裝設(shè)火災(zāi)探測器是十分必要,并配合豎井的防火分隔要求,每隔23層或每層安裝一個。第四節(jié) PLC的選用用西門子公司的SIEMENS s7200的PLC,此系列的PLC具有結(jié)構(gòu)緊湊、CPU型號為可擴(kuò)展794DI/74DO,(模擬量輸入/14個數(shù)字量輸入和10個數(shù)字量輸出。輸入/輸出接口電路均采用了光耦合電路,對外界接口具有很強(qiáng)的適應(yīng)性。由于使用了

18、電動調(diào)節(jié)閥,所以還擴(kuò)展了一個EM 232模擬量輸入模塊。該模塊具有2路模擬量輸出,電流出量程為,電流全量程分辨率為11位,25時的精度0.25%2ms系統(tǒng)的要求。第五節(jié) 樓宇消防PLC控制系統(tǒng)的設(shè)計探測器及噴淋泵系統(tǒng)的硬件構(gòu)成及控制要求(1)探測器及噴淋泵系統(tǒng)的硬件構(gòu)成探測器及噴淋泵系統(tǒng)的結(jié)構(gòu)圖如圖5.2.主要組成部件有:1上水箱、2下水箱、3上水箱水位傳感器、4下水箱水位傳感器、5上水箱供水泵A、6上水箱供水泵B、7下水箱供水閥、8聲光報警器、9排煙風(fēng)機(jī)、10煙感和溫感傳感器、11噴淋泵、12噴淋頭。探測器及噴淋泵系統(tǒng)的有效運(yùn)行有以下主要控制要求:圖5-3圖當(dāng)系統(tǒng)上電后,煙感報警器或者溫感報

19、警器發(fā)出信號后,系統(tǒng)進(jìn)入運(yùn)行狀態(tài)。PLC控制打開噴淋泵,并計時10s。如果10s計時結(jié)束后,噴淋管道內(nèi)沒有水流產(chǎn)生(水流傳感器的水流信號)。并打開噴淋泵的工作故障燈,等待工作人員檢修。PLC控制打開排煙風(fēng)機(jī),當(dāng)高溫傳感器發(fā)出高溫信號時,說明此時火災(zāi)建筑物內(nèi)不可能存在人員幸存,如果保持排風(fēng)機(jī)開啟只能增加火力,因此需要關(guān)閉排煙風(fēng)機(jī)。當(dāng)上水箱處于低水位時說明需要進(jìn)行補(bǔ)水,因此開啟噴淋泵。噴淋泵的開啟規(guī)則為:A,泵交替開啟。當(dāng)上水箱達(dá)到高水位時關(guān)閉噴淋泵。其間打開A,B任何泵時都進(jìn)行10s的計時,如果計時時間到,補(bǔ)水管仍沒有水流產(chǎn)生(水流傳感器的水流信號)時,說明水泵故障,此時打開A泵(或B泵)故障指

20、示燈,并切換到BA10s障指示燈,切換到另外一個水泵,如此循環(huán)。當(dāng)下水箱水位為低時開啟下水箱補(bǔ)水閥,同時計時10s且下水箱補(bǔ)水水流指示無信號時開啟下水箱補(bǔ)水閥故障指示。當(dāng)下水箱水位為高時停止補(bǔ)水。第六節(jié) 消防聯(lián)動的設(shè)計消防聯(lián)動包括監(jiān)視和控制兩部分。教學(xué)樓樓需要監(jiān)視的設(shè)備有水流指示器、信號閥、報警閥;需要控制的設(shè)備有消防泵、防排煙系統(tǒng)、火災(zāi)事故廣播等。消防聯(lián)動在整個系統(tǒng)中占有重要的地位,當(dāng)探測器探測到火災(zāi)信號發(fā)送至報警控制中心,經(jīng)主機(jī)分析確認(rèn)后,向需要聯(lián)動設(shè)備發(fā)出信號,啟動滅火設(shè)備撲救火災(zāi),同時啟動滅火和防排煙設(shè)備,阻止火災(zāi)蔓延。一、消防聯(lián)動控制設(shè)備的組成(1)火災(zāi)報警控制器(2)室內(nèi)消火栓系統(tǒng)

21、(3)(4)二、消防聯(lián)動控制系統(tǒng)設(shè)計(1) 室內(nèi)消火栓系統(tǒng)的聯(lián)動設(shè)計室內(nèi)消火栓系統(tǒng)中的每一個消火栓都配有一個消火栓啟動按鈕,本設(shè)計采用編碼消火栓按鈕,直接接入火災(zāi)報警控制器,當(dāng)發(fā)生火災(zāi)的時候可以直接啟動消防泵,啟泵的同時向消防控制中心發(fā)出反饋信號。在消火栓按鈕處設(shè)有啟泵指示燈,用來指示消防泵的運(yùn)行狀態(tài),同時消防控制室可控制消防泵的啟、停;顯示消火栓水泵的工作、故障狀態(tài);顯示消火栓啟泵按鈕的位置。圖5-8當(dāng)某一層出現(xiàn)火災(zāi)事故時候,其那一層的開關(guān)斷開,所以線圈1ZJ失1SJ2ZJ1Q出現(xiàn)事故哪一層就會發(fā)出反饋信號。(2) 防排煙系統(tǒng)的聯(lián)動設(shè)計每層任一感煙探測器、火災(zāi)手動報警按鈕動作后,向報警控制中

22、心發(fā)出警報,同時啟動相鄰層排煙閥,并啟動消防排煙風(fēng)機(jī)。當(dāng)樓梯間內(nèi)煙感報警,正壓送風(fēng)閥開啟并啟動正壓送風(fēng)機(jī)。當(dāng)溫度超過70時,70防火閥自熔關(guān)閉;當(dāng)溫度超過280時,280排煙防火閥自熔關(guān)閉并關(guān)閉排煙風(fēng)機(jī)。HYPERLINK l #HYPERLINK l #HYPERLINK l #(3)火災(zāi)事故廣播系統(tǒng)由廣播功放盤、廣播錄放盤、傳輸線路、電源、揚(yáng)聲器及廣播控制模塊等組成。教學(xué)樓的火災(zāi)廣播系統(tǒng)設(shè)計為專用的廣播系統(tǒng),在火災(zāi)發(fā)生后,保證及時向著火區(qū)發(fā)出警報,按照疏散的順序接通火災(zāi)事故廣播系統(tǒng)。本次設(shè)計中每層設(shè)SD8012揚(yáng)聲器一層12個,二層10個,其他各層為10,每只音箱的功率為3W。采用SD81

23、00系列總線式火災(zāi)事故廣播系統(tǒng):由SD8000廣播錄放盤、SD8010消防廣播功放盤、SD8120消防廣播分配盤、SD8130廣播控制模塊及SD8012揚(yáng)聲器組成。SD8100系列總線式火災(zāi)事故廣播系統(tǒng)是通過專用的廣播控制總線及總線上的廣播控制模塊來啟動各個廣播回路。當(dāng)火警發(fā)生的時候,由設(shè)置在消防控制中心的火災(zāi)事故廣播系統(tǒng)對火災(zāi)現(xiàn)場及相關(guān)場所實(shí)施緊急廣播。通過廣播分配盤可實(shí)現(xiàn)手動啟動某一路或多路消防廣播。系統(tǒng)的構(gòu)成如圖所示在布置揚(yáng)聲器的過程中根據(jù)規(guī)范的要求在每層的走廊、樓梯間、電梯前室及活動大廳等出設(shè)置。保證從一個防火分區(qū)的任何部位到最近一個揚(yáng)聲器的距HYPERLINK l #離不大于25m。

24、走道內(nèi)最后一個揚(yáng)聲器至走道末端的距離不應(yīng)大12.5m,滿足規(guī)范的要求。第七節(jié) 本章小結(jié)本章節(jié)只要是對火災(zāi)自動報警系統(tǒng)的設(shè)計,首先對研究的建筑狀況進(jìn)行分析,然后對其它的防火分區(qū)劃分,選擇其火災(zāi)探測器以及布置和計算分布數(shù)量,硬件上選用煙以及廣播系統(tǒng)進(jìn)行研究,組成聯(lián)動控制。第五章 結(jié)論在做這個設(shè)計中,我學(xué)會了很多以前沒學(xué)過的知識,也鞏固了很多以前沒學(xué)好的知識,使我的專業(yè)理論知識更加扎實(shí),軟件操作更加熟練了。本次控制系統(tǒng)只控制兩個區(qū)域的自動報警與滅火,控制區(qū)域太少,還需改進(jìn)和擴(kuò)展;同時本次控制系統(tǒng)的設(shè)計只實(shí)現(xiàn)了自動報警系統(tǒng)的自動啟動,還沒有實(shí)現(xiàn)自動報警滅火系統(tǒng)在對火災(zāi)情況進(jìn)行綜合的分析判斷后的自動關(guān)閉

25、,還需往這方面研究和發(fā)展。這次設(shè)計不僅使我學(xué)會了調(diào)查研究的方法,提高了我運(yùn)用工具達(dá)等基本工作實(shí)踐能力,使我初步掌握了科學(xué)研究的基本方法和思路。本文的特點(diǎn)在于將PLC應(yīng)用到了樓宇消防的控制系統(tǒng)中。本系統(tǒng)在實(shí)際應(yīng)用中,取得了良好的實(shí)際效果,且安全性良好。實(shí)踐證明,以PLC為核心構(gòu)造的樓性和經(jīng)濟(jì)適用性。致謝本文是在張建平老師的悉心指導(dǎo)下完成的。張老師為我們創(chuàng)造了寬松自由而不失嚴(yán)謹(jǐn)?shù)膶W(xué)習(xí)環(huán)境。她嚴(yán)謹(jǐn)求學(xué)的治學(xué)態(tài)度,誨人不倦的敬業(yè)精神,正直坦蕩的為人風(fēng)范使學(xué)生受益匪淺。在課題選題和研究過程中,得到了我寢室全體同學(xué)的熱情指導(dǎo)和幫助,他們的鞭策和鼓勵是我完成本論文的強(qiáng)大精神動力。他們在學(xué)習(xí)上和生活上也給我提

26、供了許多幫助和支持,他們的深厚情誼我也將銘記在心。感謝我的家人對我的支持和鼓勵,在我的漫漫求學(xué)生涯中,他們始終如一在默默的支持著我。為了把我培養(yǎng)成社會有用之人,使我有個美好的將來,他們給我提供了強(qiáng)大的精神力量和物質(zhì)后盾,這份情意我將終生銘記,畢生回報。參考文獻(xiàn)1吳啟鴻、肖學(xué)鋒我國消防科學(xué)技術(shù)的回顧與展望,消防技術(shù)與產(chǎn)品信息2賈伯年、俞樸,傳感器技術(shù),南京東南大學(xué)出版社。3PLC控制系統(tǒng)設(shè)計:(碩士學(xué)位論文)技人學(xué)4陳在平可編程控制器技術(shù)與應(yīng)用系統(tǒng)設(shè)計北京:機(jī)械工業(yè)出版社5譚沽強(qiáng)PLC程序設(shè)計教程北京:清華大學(xué)出版社6袁任光可編程序控制器(PLC)社7高欽和可編程控制器應(yīng)用技術(shù)與實(shí)例廣州:華南理

27、工大學(xué)出版社附錄資料:不需要的可以自行刪除C語言編譯器的設(shè)計與實(shí)現(xiàn) 我們設(shè)計的編譯程序涉及到編譯五個階段中的三個,即詞法分析器、語法分析器和中間代碼生成器。編譯程序的輸出結(jié)果包括詞法分析后的二元式序列、變量名表、狀態(tài)棧分析過程顯示及四元式序列程序,整個編譯程序分為三部分:(1) 詞法分析部分(2) 語法分析處理及四元式生成部分 (3) 輸出顯示部分一詞法分析器設(shè)計 由于我們規(guī)定的程序語句中涉及單詞較少,故在詞法分析階段忽略了單詞輸入錯誤的檢查,而將編譯程序的重點(diǎn)放在中間代碼生成階段。詞法分析器的功能是輸入源程序,輸出單詞符號。我們規(guī)定輸出的單詞符號格式為如下的二元式: (單詞種別,單詞自身的值

28、)#define ACC -2#define syl_if 0#define syl_else 1#define syl_while 2#define syl_begin 3#define syl_end 4#define a 5#define semicolon 6#define e 7#define jinghao 8#define s 9#define L 10#define tempsy 11#define EA 12#define EO 13#define plus 14#define times 15#define becomes 16#define op_and 17#defin

29、e op_or 18#define op_not 19#define rop 20#define lparent 21#define rparent 22#define ident 23#define intconst 24函數(shù)說明 讀取函數(shù) readline( )、readch( )詞法分析包含從源文件讀取字符的操作,但頻繁的讀文件操作會影響程序執(zhí)行效率,故實(shí)際上是從源程序文件” source.dat ”中讀取一行到輸入緩沖區(qū),而詞法分析過程中每次讀取一個字符時則是通過執(zhí)行 readch( )從輸入緩沖區(qū)獲得的;若緩沖區(qū)已被讀空,則再執(zhí)行readline( )從 source.dat 中讀取

30、下一行至輸入緩沖區(qū)。掃描函數(shù) scan( ) 掃描函數(shù) scan( )的功能是濾除多余空格并對主要單詞進(jìn)行分析處理,將分析得到的二元式存入二元式結(jié)果緩沖區(qū)。變量處理 find( )變量處理中首先把以字母開頭的字母數(shù)字串存到 spelling 數(shù)組中,然后進(jìn)行識別。識別過程是先讓它與保留關(guān)鍵字表中的所有關(guān)鍵字進(jìn)行匹配,若獲得成功則說明它為保留關(guān)鍵字,即將其內(nèi)碼值寫入二元式結(jié)果緩沖區(qū);否則說明其為變量,這時讓它與變量名表中的變量進(jìn)行匹配( 變量匹配函數(shù) find( ) ),如果成功,則說明該變量已存在并在二元式結(jié)果緩沖區(qū)中標(biāo)記為此變量( 值填為該變量在變量名表中的位置),否則將該變量登記到變量名表

31、中,再將這個新變量存入二元式緩存數(shù)組中。數(shù)字識別 number( ) 數(shù)字識別將識別出的數(shù)字填入二元式結(jié)果緩存數(shù)組。顯示函數(shù) 顯示函數(shù)的功能在屏幕上輸出詞法分析的結(jié)果( 即二元式序列程序),同時給出二元式個數(shù)及源程序行數(shù)統(tǒng)計。二語法分析器設(shè)計 語法分析器的核心是三張 SLR 分析表以及針對這三張 SLR 分析表進(jìn)行語義加工的語義動作。編譯程序中語法分析處理及四元式生成部分主要是以二元式作為輸入,并通過 SLR 分析表對語法分析處理過程進(jìn)行控制,使四元式翻譯的工作有條不紊的進(jìn)行,同時識別語法分析中的語法錯誤。在處理 if 和 while 語句時,需要進(jìn)行真值或假值的拉鏈和返填工作,以便轉(zhuǎn)移目標(biāo)的

32、正確填入。1. 控制語句的 SLR 分析表1 設(shè)計過程如下: 將擴(kuò)展文法GS S1)S if e S else S2)S while e S3)S L 4)S a;5)L S6)L SL用_CLOSURE方法構(gòu)造LR(0)項目規(guī)范簇為:I0: S SS if e S else SS while e S S L S a ;I1: S SI2: S ife S else SI3: S while e SI4: S L L S L SL S if e S else SS while e S S L S a ; I5: S a; I6: S if e S else S S if e S else SS

33、 while e S S L S a ; I7: S while e S S if e S else SS while e S S L S a ; I8: S L I9: L S L SL L SL L S S if e S else SS while e S S L S a ; I10: S a ; I11: S if e S else SI12: S while e S I13: S L I14: S SL I15: S if e S else S S if e S else SS while e S S L S a ; I16: S if e S else S 構(gòu)造文法G中非終結(jié)符的FO

34、LLOW集如下:FOLLOW(S) = # S if e S else S得FOLLOW(S) = else S L 得FOLLOW(L) = 3) S S 得FOLLOW(S) = else , # L S 因為FIRST(S) = ,所以FOLLOW(S) = else , #, 在()項目規(guī)范簇中,只有9有“移進(jìn)歸約”沖突,L SL SL因為FOLLOW(L) FIRST(L) = 所以可以用方法解決以上沖突,最后我們得到的分析表如下:ACTIONGOTO ifElsewhilea;e#SL0S2S3S4S511ACC2S63S74S2S3S4S5985S106S2S3S4S5117S2

35、S3S4S5128S139S2S3S4R5S591410R4R4R4111512R2R2R213R3R3R314R615S2S3S4S51616R1R1R1static int action2011=/* 0 */ 2, -1, 3, 4, -1, 5, -1, -1, -1, 1, -1,/* 1 */ -1, -1, -1, -1, -1, -1, -1, -1,ACC, -1, -1,/* 2 */ -1, -1, -1, -1, -1, -1, -1, 6, -1, -1, -1,/* 3 */ -1, -1, -1, -1, -1, -1, -1, 7, -1, -1, -1,/*

36、4 */ 2, -1, 3, 4, -1, 5, -1, -1, -1, 9, 8,/* 5 */ -1, -1, -1, -1, -1, -1, 10, -1, -1, -1, -1,/* 6 */ 2, -1, 3, 4, -1, 5, -1, -1, -1, 11, -1,/* 7 */ 2, -1, 3, 4, -1, 5, -1, -1, -1, 12, -1,/* 8 */ -1, -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,/* 9 */ 2, -1, 3, 4,105, 5, -1, -1, -1, 9, 14,/* 10*/ -1,104,

37、-1, -1,104, -1, -1, -1,104, -1, -1,/* 11*/ -1, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1,/* 12*/ -1,102, -1, -1,102, -1, -1, -1,102, -1, -1,/* 13*/ -1,103, -1, -1,103, -1, -1, -1,103, -1, -1,/* 14*/ -1, -1, -1, -1,106, -1, -1, -1, -1, -1, -1,/* 15*/ 2, -1, 3, 4, -1, 5, -1, -1, -1, 16, -1,/* 16*/ -1,101

38、, -1, -1,101, -1, -1, -1,101, -1, -1;其中,前 9 列為 action 值,后 2 列為 goto 值;016 表示 17 個移進(jìn)狀態(tài)( 即 Si);-1表示出錯;ACC 表示分析成功;而 100106 對應(yīng) 7 個歸約產(chǎn)生式:S SS if e S else SS while e SS L S a;L SL SL2. 算術(shù)表達(dá)式的 LR 分析表 2 設(shè)計如下:S EE E+EE E*EE (E)E i (過程略)ACTIONGOTOI+*()#E0S3S211S4S5ACC2S3S263R4R4R4R44S3S275S3S286S4S5S97R1R5R1R

39、18R2R2R2R29R3R3R3R3static int action1107=/* 0 */ 3, -1, -1, 2, -1, -1, 1,/* 1 */ -1, 4, 5, -1, -1,ACC, -1,/* 2 */ 3, -1, -1, 2, -1, -1, 6,/* 3 */ -1,104,104, -1,104,104, -1,/* 4 */ 3, -1, -1, 2, -1, -1, 7,/* 5 */ 3, -1, -1, 2, -1, -1, 8,/* 6 */ -1, 4, 5, -1, 9, -1, -1,/* 7 */ -1,101, 5, -1,101,101,

40、-1,/* 8 */ -1,102,102, -1,102,102, -1,/* 9 */ -1,103,103, -1,103,103, -1;3.布爾表達(dá)式的 SLR 分析表3 設(shè)計如下:(過程略)S BB iB i rop iB ( B )B ! BA B &B ABO B |B OBACTIONGOTOiRop()!&|#BAO0S1S4S513781S2R1R1R1R12S33R2R2R2R24S1S4S511785S1S4S56786R4S9S10R47S1S4S514788S1S4S515789R5R5R510R7R7R711S12S9S1012R3R3R3R313S9S10AC

41、C14R6S9S10R615R8S9S10R8static int action21611=/* 0 */ 1, -1, 4, -1, 5, -1, -1, -1, 13, 7, 8,/* 1 */ 1, 2, -1,101, -1,101,101,101, -1, -1, -1,/* 2 */ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,/* 3 */ -1, -1, -1,102, -1,102,102,102, -1, -1, -1,/* 4 */ 1, -1, 4, -1, 5, -1, -1, -1, 11, 7, 8,/* 5 */ 1, -

42、1, 4, -1, 5, -1, -1, -1, 6, 7, 8,/* 6 */ -1, -1, -1,104, -1, 9, 10,104, -1, -1, -1,/* 7 */ 1, -1, 4, -1, 5, -1, -1, -1, 14, 7, 8,/* 8 */ 1, -1, 4, -1, 5, -1, -1, -1, 15, 7, 8,/* 9 */ 105, -1,105, -1,105, -1, -1, -1, -1, -1, -1,/*10 */ 107, -1,107, -1,107, -1, -1, -1, -1, -1, -1,/*11 */ -1, -1, -1, 1

43、2, -1, 9, 10, -1, -1, -1, -1,/*12 */ -1, -1, -1,103, -1,103,103,103, -1, -1, -1,/*13 */ -1, -1, -1, -1, -1, 9, 10,ACC, -1, -1, -1,/*14 */ -1, -1, -1,106, -1, 9, 10,106, -1, -1, -1,/*15 */ -1, -1, -1,108, -1, 9, 10,108, -1, -1, -1;LR 分析表控制語義加工的實(shí)現(xiàn):當(dāng)掃描 LR 分析表的當(dāng)前狀態(tài)為歸約狀態(tài)時,則在調(diào)用與該狀態(tài)對應(yīng)的產(chǎn)生式進(jìn)行歸約的同時,調(diào)用相應(yīng)的語義子程序

44、進(jìn)行有關(guān)的翻譯工作?,F(xiàn)在對 LR 分析器的分析棧加以擴(kuò)充,使得每個文法符號之后都跟著它的語義值。為了清晰起見,我們把這個棧的每一項看成由三部分組成:狀態(tài) state ,文法符號 syl 和語義值 val。編譯程序?qū)崿F(xiàn)算術(shù)表達(dá)式、布爾表達(dá)式及程序語句的語義加工時,都是按這種狀態(tài)棧加工方式進(jìn)行的。例如:( 5 + 3 ) * 6的分析過程序號STATEValsylinput10-#( 5 + 3 ) * 6 #202-#(5 + 3 ) * 6 #3023#(5+ 3 ) * 6 #4026-5#(E+ 3 ) * 6 #50264-5-#(E+3 ) * 6 #602643-5-#(E+3 )

45、* 6 #702647-5-3#(E+E) * 6 #8026-8#(E) * 6 #90269-8-#(E)* 6 #1001-8#E* 6 #11015-8-#E* 6 #120153-8-#E*6#130158-8-6#E*E#1401-48#E#15ACC在分析過程中,第(3)步操作后的狀態(tài)棧為 023,根據(jù)棧頂狀態(tài)“ 3”和現(xiàn)行輸入符號“ +”( input 欄字符串的第一個字符)查分析表 ACTION3,+=R4,即按第(4)個產(chǎn)生式 En 來進(jìn)行歸約;由于產(chǎn)生式右部僅含一項,故去掉狀態(tài)棧棧頂“3”;此時 2 變?yōu)樾碌臈m敔顟B(tài),再查( 2,E)的下一狀態(tài) s:GOTO2,E=6,即

46、將狀態(tài) 6 和文法符號 E 壓棧,最后得到第( 4)步的狀態(tài)。第( 7)步操作后也是如此,當(dāng)前狀態(tài)棧為 02647,根據(jù)棧頂狀態(tài) 7 和現(xiàn)行輸入符號“ )”查分析表 ACTION7,)=R1,即按第(1)個產(chǎn)生式 EE1+E2進(jìn)行歸約;由于產(chǎn)生式右部有三項,故去掉狀態(tài)棧棧頂?shù)?647 三項;此時 2 變?yōu)樾碌臈m敔顟B(tài),再查( 2,E)的下一狀態(tài) s:GOTO2,E=6,即將狀態(tài) 6 和文法符號 E 壓棧,最后得到第(8)步的狀態(tài)。三中間代碼生成器設(shè)計:布爾表達(dá)式 布爾表達(dá)式在程序語言中有兩個基本作用:一是用作控制語句( 如 if -else 或 while語句)的條件式;二是用于邏輯演算,計算

47、邏輯值。布爾表達(dá)式是由布爾算符( &、| 、?。┳饔糜诓紶栕兞浚?或常數(shù))或關(guān)系表達(dá)式而形成的。關(guān)系表達(dá)式的形式是 E1 rop E2,其中 rop 是關(guān)系符( 如或),E1和 E2是算術(shù)式。在這里,我們只考慮前面給定文法所產(chǎn)生的布爾表達(dá)式:BB &B | B | B | ! B | (B) | i rop i | i遵照我們的約定,布爾算符的優(yōu)先順序( 從高到低)為:!、&、|,并假定&和|都服從左結(jié)合規(guī)則。所有關(guān)系符的優(yōu)先級都是相同的,而且高于任何布爾算符,低于任何算術(shù)算符,關(guān)系算符不得結(jié)合。表達(dá)式的真、假出口的確定:考慮表達(dá)式 B1 | B2 ,若 B1為真,則立即知道 B 也為真;因此

48、,B1的真出口也就是整個 B 的真出口。若 B1?為假,則 B2必須被計值,B2的第一個四元式就是 B1的假出口。當(dāng)然,B2的真、假出口也就是整個 B的真、假出口。類似的考慮適用于對 B1 & B2的翻譯,我們將 B1 | B2和 B1 & B2 的翻譯用下圖表示,在自下而上的分析過程中,一個布爾式的真假出口往往不能在產(chǎn)生四元式的同時就填上。我們只好把這種未完成的四元式的地址( 編號)作為 B 的語義值暫存起來,待到整個表達(dá)式的四元式產(chǎn)生完畢之后再來回填這個未填入的轉(zhuǎn)移目標(biāo)。條件語句對條件語句 if e S1 else S2 中的布爾表達(dá)式 e,其作用僅在于控制對 S1和 S2的選擇。因此,作

49、為轉(zhuǎn)移條件的布爾式e,我們可以賦予它兩種“ 出口”:一是“ 真”出T口,出向 S1;一是“ 假”出口,出向 S2。于是,e的代碼F條件語句可以翻譯成如圖的一般形式。非終結(jié)符 e 具有兩項語義值 e _TC 和e_FC,它們分別指出了尚待回填真、S2的代碼假出口的四元式串。e 的“ 真”出口只有在往回掃描到if時才能知道,而它圖 3-2 條件語句的代碼結(jié)構(gòu) 的“ 假”出口則需到處理過 S1并且到達(dá) else 才能明確。這就是說,必須把 e_FC 的值傳下去,以便到達(dá)相應(yīng)的 else時才進(jìn)行回填。另外,當(dāng) S1語句執(zhí)行完時意味著整個 if-else 語句也已執(zhí)行完畢;因此,在 S1的編碼之后應(yīng)產(chǎn)生

50、一條無條件轉(zhuǎn)移指令。這條轉(zhuǎn)移指令將導(dǎo)致程序控制離開整個 if-else 語句。但是,在完成 S2的翻譯之前,這條無條件轉(zhuǎn)移指令的轉(zhuǎn)移目標(biāo)是不知道的。甚至,在翻譯完 S2之后,這條轉(zhuǎn)移指令的轉(zhuǎn)移目標(biāo)仍無法確定。這種情形是由于語句的嵌套性所引起的。例如下面的語句:if e1 if e2 S1 else S2 else S3 在 S1的代碼之后的那條無條件轉(zhuǎn)移指令不僅應(yīng)跨越 S2而且應(yīng)跨越 S3。這也就是說,轉(zhuǎn)移目標(biāo)的確定和語句所處的環(huán)境密切相關(guān)。條件循環(huán)語句條件循環(huán)語句 while e S 通常被翻譯成圖的代碼結(jié)構(gòu)。布爾式 e 的“ 真”出口出向 S 代碼段的第一個四元式。緊接 S 代碼段之后應(yīng)產(chǎn)

51、生一條轉(zhuǎn)向測試 e 的無條件轉(zhuǎn)移指令。e 的“ 假”出口將導(dǎo)致程序控制離開整個 while 語句。e 的“ 假”出口目標(biāo)即使在整個 while 語句翻譯完之后也未必明確。例如: if e1 while e2 S1 else S2這種情況仍是由于語句的嵌套性引起的。所以,我們只好把它作為語句的語義值 SCHAIN 暫留下來,以便在處理外層語句時再伺機(jī)回填。語法翻譯實(shí)現(xiàn)方法 將上述語法翻譯付諸實(shí)現(xiàn)過程中,我們僅保留了算術(shù)表達(dá)式和布爾表達(dá)式翻譯的文法和語義動作;面對程序語句的翻譯,由于改造后含有較多的非終結(jié)符且語義動作又相對簡單,故仍恢復(fù)為改造之前的程序語句文法。由于總體上構(gòu)造一個 SLR 分析表來

52、實(shí)現(xiàn)語法分析及語義加工將使得所構(gòu)造的 SLR 分析表過大,所以將其分為下面三部分處理:對算術(shù)表達(dá)式單獨(dú)處理,即為算術(shù)表達(dá)式構(gòu)造一個 SLR 分析表,并將賦值語句A=E 與算術(shù)表達(dá)式歸為一類處理,處理之后的賦值語句僅看作為程序語句文法中的一個終結(jié)符 a。對布爾表達(dá)式也單獨(dú)處理,并為其構(gòu)造一個 SLR 分析表,經(jīng) SLR 分析表處理后的布爾表達(dá)式看作為程序語句文法中的一個終結(jié)符 e。程序語句文法此時變?yōu)椋篠 if e S else S | while e S | L | a;L SL | S此時為程序語句構(gòu)造相應(yīng)的 SLR 分析表就簡單多了。前面的程序語句文法中所添加的非終結(jié)符是為了能及時回填有關(guān)

53、四元式轉(zhuǎn)移目標(biāo)而引入的,在取消了這些非終結(jié)符后又如何解決及時回填轉(zhuǎn)移目標(biāo)的問題呢?我們采取的解決方法是增加兩個數(shù)組 labelmark 和 labeltemp 來分別記錄語句嵌套中每一層布爾表達(dá)式( 如果有的話)e 的首地址以及每一層else( 如果有的話)之前的四元式地址( 即無條件轉(zhuǎn)出此層 if 語句的四元式)。也即,對程序語句的翻譯來說:在處理完布爾表達(dá)式 e 后,回填 if 或 while 語句的真值鏈;在歸約完每一個語句 S 之后檢查符號棧,看在 S 之前的文法符號是否 if 或 while,若是則回填假值鏈( 假值入口為語句 S 所對應(yīng)的四元式序列之后;對 if 語句,此時已在該序列之后加入了一條無條件轉(zhuǎn)移的四元式);在 if 語句中,else 前面要加入一個無條件轉(zhuǎn)移的四元式轉(zhuǎn)向 if 語句末尾;在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論