管理信息化OA自動(dòng)化實(shí)現(xiàn)智能建筑設(shè)備監(jiān)控自動(dòng)化系統(tǒng)bas設(shè)計(jì)_第1頁(yè)
管理信息化OA自動(dòng)化實(shí)現(xiàn)智能建筑設(shè)備監(jiān)控自動(dòng)化系統(tǒng)bas設(shè)計(jì)_第2頁(yè)
管理信息化OA自動(dòng)化實(shí)現(xiàn)智能建筑設(shè)備監(jiān)控自動(dòng)化系統(tǒng)bas設(shè)計(jì)_第3頁(yè)
管理信息化OA自動(dòng)化實(shí)現(xiàn)智能建筑設(shè)備監(jiān)控自動(dòng)化系統(tǒng)bas設(shè)計(jì)_第4頁(yè)
管理信息化OA自動(dòng)化實(shí)現(xiàn)智能建筑設(shè)備監(jiān)控自動(dòng)化系統(tǒng)bas設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

管理信息化0A自動(dòng)化實(shí)現(xiàn)智能建

筑設(shè)備監(jiān)控自動(dòng)化系統(tǒng)bas設(shè)計(jì)

電子科技大學(xué)

畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū)

題目:基于計(jì)算機(jī)網(wǎng)絡(luò)控制平臺(tái)下實(shí)現(xiàn)智能建筑BAS系統(tǒng)設(shè)計(jì)

任務(wù)與要求:

1、了解智能建筑BAS系統(tǒng)主要構(gòu)成及計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)集成要求

2、了解智能建筑BAS系統(tǒng)各子系統(tǒng)控制硬件設(shè)計(jì)及相應(yīng)集成系統(tǒng)架構(gòu)

3、完成對(duì)智能建筑BAS系統(tǒng)各子系統(tǒng)控制的硬件及軟件設(shè)計(jì)

時(shí)間:2009年9月15日至2009年11月15日共8周

學(xué)習(xí)中心:(或辦學(xué)單位)電子科技大學(xué)網(wǎng)絡(luò)教育學(xué)院

學(xué)生姓名:學(xué)號(hào):W

專(zhuān)業(yè):計(jì)算機(jī)科學(xué)與技術(shù)

指導(dǎo)單位或教研室:電子科技大學(xué)網(wǎng)絡(luò)教育學(xué)院南昌中心

指導(dǎo)教師:職稱(chēng):副教授

繼續(xù)教育學(xué)院

電子科技大學(xué)制

網(wǎng)絡(luò)教育學(xué)院

2009年11月15日

畢業(yè)設(shè)計(jì)(論文)進(jìn)度計(jì)劃表

日期工作內(nèi)容執(zhí)行情況指導(dǎo)教師

簽字

9月15日

了解智能建筑的主要構(gòu)成及系

統(tǒng)要求

9月20日

9月21日

了解智能建筑中對(duì)計(jì)算機(jī)集成

系統(tǒng)設(shè)計(jì)的要求

9月30日

10月3日

完成智能建筑中各子系統(tǒng)的硬

件配置架構(gòu)

10月15

10月16完成智能建筑BAS軟件設(shè)計(jì)并

日至實(shí)現(xiàn)對(duì)其各子系統(tǒng)集中控制監(jiān)

11月10測(cè)

11月1日

完成軟件及硬件調(diào)試設(shè)計(jì)以實(shí)

現(xiàn)智能建筑的需求

11月10

11月11

日至完成畢業(yè)論文設(shè)計(jì)

11月15

教師對(duì)進(jìn)

度計(jì)劃實(shí)

施情況總

評(píng)

簽名

年月日

本表作評(píng)定學(xué)生平時(shí)成績(jī)的依據(jù)之一。

摘要

自第一座帶有智能化概念的建筑物于1984年在美國(guó)誕生以來(lái),樓宇智能化已經(jīng)

成為當(dāng)今建筑發(fā)展的主流技術(shù)。目前,隨著信息產(chǎn)業(yè)的高速發(fā)展,智能系統(tǒng)這個(gè)

名詞已逐漸被人們所認(rèn)識(shí),在北京、上海、廣州、深圳等地也不斷地涌現(xiàn)出了一

大批智能樓宇大廈。所謂的智能樓宇,就是一種基于計(jì)算機(jī)網(wǎng)絡(luò)控制平臺(tái),對(duì)照

明、變配電、電梯、安防、通訊、廣播、空調(diào)、消防、門(mén)禁、會(huì)議等各項(xiàng)子系統(tǒng)

的監(jiān)測(cè)與建筑物有機(jī)的結(jié)合,最大限度的滿(mǎn)足使用者舒適性、方便性的要求,以

達(dá)到節(jié)能、高效管理、快速的信息化服務(wù)等目的。照明控制系統(tǒng)作為建筑物的一

個(gè)必不可少的電氣系統(tǒng),其發(fā)展隨著信息技術(shù)的不斷發(fā)展也在發(fā)生日新月異的變

化,傳統(tǒng)的照明控制逐漸被智能照明控制所替代。

關(guān)鍵詞計(jì)算機(jī)應(yīng)用于建筑智能化單片機(jī)AT89s52;串行通信;A/D轉(zhuǎn)換;D/A轉(zhuǎn)換;

目錄

第一章緒言1

1.1系統(tǒng)開(kāi)發(fā)背景和系統(tǒng)設(shè)計(jì)的意義1

1.2設(shè)計(jì)目標(biāo)1

1.3設(shè)計(jì)實(shí)現(xiàn)功能2

第二章、系統(tǒng)設(shè)備配置及連接示意圖4

2.1系統(tǒng)配置需求4

2.2系統(tǒng)設(shè)備連接示意圖5

2.3系統(tǒng)主要設(shè)備配置簡(jiǎn)介6

2.4上述主要設(shè)備硬件電路的設(shè)計(jì)框圖:7

第三章BAS各樓宇控制子系統(tǒng)設(shè)計(jì)界面7

3.1與調(diào)節(jié)/控制的風(fēng)閥及水閥的設(shè)計(jì)界面7

3.2、與配電控制箱的設(shè)計(jì)界面8

3.3、與制冷機(jī)組、電梯等自帶控制裝置的設(shè)計(jì)界面9

3.4、與變配電、照明等系統(tǒng)的設(shè)計(jì)界面9

第四章、軟件系統(tǒng)設(shè)計(jì)9

4.1主程序流程圖9

4.2各子模塊程序設(shè)計(jì)10

4.2.1時(shí)鐘處理模塊10

4.2.2鍵盤(pán)處理模塊11

4.2.3顯示模塊12

4.2.4串行通信模塊13

4.3運(yùn)用電腦串行通信采集外部DDC控制設(shè)備的數(shù)據(jù)程序設(shè)計(jì)13

4.3.1主要電腦控件軟件代碼設(shè)計(jì)13

4.3.2采集DDC數(shù)據(jù)程序調(diào)試界面35

結(jié)束語(yǔ)35

謝辭36

參考文獻(xiàn)37

第一章緒言

1.1系統(tǒng)開(kāi)發(fā)背景和系統(tǒng)設(shè)計(jì)的意義

根據(jù)建設(shè)部智能化大樓甲級(jí)設(shè)計(jì)的技術(shù)應(yīng)用與功能要求,以及結(jié)合物業(yè)管理的需

要,寫(xiě)字樓“總體設(shè)計(jì)”中配置了先進(jìn)的樓宇設(shè)備自動(dòng)化系統(tǒng)(BAS)。該系統(tǒng)可

以實(shí)現(xiàn)大樓內(nèi):生活用水系統(tǒng)、消防用水系統(tǒng)、噴灌用水系統(tǒng)的水位的監(jiān)視和水

泵的自動(dòng)啟停,變配電設(shè)備的監(jiān)視管理、冷熱源設(shè)備監(jiān)控管理,電梯的運(yùn)行狀態(tài)

和故障報(bào)警(電梯鎖人)信息進(jìn)行遠(yuǎn)程集中監(jiān)視和網(wǎng)絡(luò)化分布式監(jiān)視,以及大樓內(nèi)

公共照明和景觀(guān)照明的自動(dòng)化監(jiān)視和控制。

1.2設(shè)計(jì)目標(biāo)

對(duì)智能化內(nèi)的空調(diào)系統(tǒng)、給排水系統(tǒng)、變配電與照明系統(tǒng),以及電梯等機(jī)電設(shè)備

進(jìn)行工作狀態(tài)的實(shí)時(shí)監(jiān)視和控制,實(shí)現(xiàn)公共設(shè)備的最優(yōu)化管理并降低故障率。同

時(shí),利用傳感器技術(shù)和網(wǎng)絡(luò)通訊控制技術(shù),可以根據(jù)自然光亮度和使用要求,采

用智能開(kāi)關(guān)方式和定時(shí)自動(dòng)控制方式實(shí)現(xiàn)智能化內(nèi)公共照明及環(huán)境燈光的自動(dòng)

控制。從而達(dá)到優(yōu)化整個(gè)智能化燈光照明,延長(zhǎng)燈具壽命和節(jié)約能源的目的。

一公共建筑物內(nèi)的空調(diào)系統(tǒng)設(shè)備的監(jiān)控與節(jié)能管理;

一智能化給排水設(shè)備(水泵、電控閥等相關(guān)設(shè)備)運(yùn)行狀態(tài)顯示、控制、查詢(xún)、故

障報(bào)警;蓄水池(含消防水池)、污水池的水位高低狀態(tài)的檢測(cè);飲用蓄水池的過(guò)

濾,殺菌設(shè)備控制監(jiān)視;

一智能化變配電設(shè)備與電力供應(yīng)狀態(tài)顯示、數(shù)據(jù)與參數(shù)查詢(xún)、故障報(bào)警;

-智能化公共照明的開(kāi)啟、關(guān)閉,以及時(shí)間設(shè)定;公共照明控制回路的開(kāi)啟設(shè)定;

燈光場(chǎng)景的設(shè)定及照度的調(diào)整;

一智能化電梯設(shè)備運(yùn)行狀態(tài)的監(jiān)視與顯示,控制、運(yùn)行參數(shù)查詢(xún)、故障報(bào)警以及

停電時(shí)的緊急狀態(tài)處理;

1.3設(shè)計(jì)實(shí)現(xiàn)功能

智能化設(shè)備監(jiān)控自動(dòng)化系統(tǒng)(BAS采用采用先進(jìn)的多層次、多用戶(hù)、多任務(wù)、可獨(dú)立

工作的集散控制系統(tǒng)結(jié)構(gòu),可以完成多種不同的樓宇設(shè)備自控功能。本系統(tǒng)也能在監(jiān)

測(cè)層和數(shù)據(jù)層提供容錯(cuò)功能和冗余功能,當(dāng)控制系統(tǒng)發(fā)生錯(cuò)誤時(shí)能自動(dòng)切換,最人限

度地保證了系統(tǒng)的可靠性,使關(guān)健設(shè)備和系統(tǒng)能連續(xù)不間斷地運(yùn)行。各子系統(tǒng)通過(guò)中

央計(jì)算機(jī)管理系統(tǒng)集中管理,由區(qū)域的智能控制單元直接進(jìn)行控制,智能控制單元與

中央計(jì)算機(jī)管理系統(tǒng)以RS-485接口進(jìn)行通信。系統(tǒng)中分散的智能控制單元的操作

運(yùn)行是高度自治的,并不依賴(lài)中央控制軟件。當(dāng)系統(tǒng)通信故障時(shí),智能控制單元,

仍然能正常完成監(jiān)測(cè)和調(diào)控的功能。同樣也能夠利用處理局部化的原則,可以減少各

計(jì)算機(jī)用戶(hù)終端及區(qū)域智能控制單元之間的通訊量。1)智能控制單元功能

一以設(shè)定的周期對(duì)采樣點(diǎn)與調(diào)控點(diǎn)進(jìn)行數(shù)值和狀態(tài)的巡回檢測(cè),并可將檢測(cè)結(jié)果

傳送給中央計(jì)算機(jī)管理系統(tǒng)。

一智能控制單元對(duì)監(jiān)測(cè)信號(hào)和輸出信號(hào)進(jìn)行A/D卻D/A轉(zhuǎn)換,設(shè)定轉(zhuǎn)換的數(shù)值轉(zhuǎn)

換率及偏差值。

一對(duì)模擬輸入量進(jìn)行正確的測(cè)量,確定合理性的數(shù)值波動(dòng)區(qū)域,濾除波動(dòng)值,以

使系統(tǒng)得到正確的響應(yīng)和顯示正確讀數(shù)。

一對(duì)于模擬量可設(shè)定“預(yù)先警告”和“實(shí)際警報(bào)”界限,并可和實(shí)際檢測(cè)值進(jìn)行

邏輯性比較,越限時(shí)發(fā)出相應(yīng)的狀態(tài)信號(hào),并報(bào)警信息以中繼方式立刻傳送給中

央計(jì)算機(jī)管理系統(tǒng)。

一可消除開(kāi)關(guān)量輸入信號(hào)反跳,防止可能引起的無(wú)意義報(bào)警。

一智能控制單元中的內(nèi)存儲(chǔ)器,注入的過(guò)程控制的P1D算法和完成邏輯運(yùn)算的控

制算法,每一個(gè)ICU回路的執(zhí)行,均可由程序員設(shè)定ICU程序,包括對(duì)全部輸出

所指定的初始值,同時(shí)系統(tǒng)管理中央計(jì)算機(jī)能夠完成,對(duì)全部ICU設(shè)定點(diǎn)的程序

顯示和修改。全部ICU程序均可以由智能控制單元獨(dú)立的自動(dòng)執(zhí)行,也可以由操

作員手動(dòng)執(zhí)行。

一智能控制單元監(jiān)控軟件具有接通、分?jǐn)鄷r(shí)間積分運(yùn)算,根據(jù)開(kāi)關(guān)量狀態(tài)進(jìn)行時(shí)

間(含接通時(shí)間積算和分?jǐn)鄷r(shí)間),并與設(shè)備運(yùn)行極限時(shí)間比較,實(shí)現(xiàn)設(shè)備管理自

動(dòng)化。積算的時(shí)間以Imin精度累計(jì),達(dá)lX104h以上,當(dāng)設(shè)定運(yùn)行時(shí)間極限積算

值超過(guò)極限設(shè)定值時(shí),系統(tǒng)發(fā)出請(qǐng)求設(shè)備維修報(bào)警。

一由內(nèi)部程序決定的輸出點(diǎn)開(kāi)/關(guān)控制。

一由內(nèi)部程序決定模擬量的輸出值,用于驅(qū)動(dòng)調(diào)節(jié)閥、變速電機(jī)、變頻調(diào)速器、

調(diào)節(jié)風(fēng)門(mén)的位置。

一智能控制單元接受中央計(jì)算機(jī)管理系統(tǒng)傳送的各種時(shí)間程序、事件程序、邏輯

控制模式、過(guò)程控制模式及控制指令,以具體實(shí)施中央計(jì)算機(jī)管理系統(tǒng)的所有功

能。

2)空調(diào)機(jī)設(shè)備監(jiān)控功能

一空氣處理機(jī)的監(jiān)控原理是根據(jù)溫度傳感器所檢測(cè)的溫度送往智能控制單元與

設(shè)定點(diǎn)溫度相比較,用比例加積分、微分控制,輸出相應(yīng)的控制電壓信號(hào),以調(diào)

節(jié)電動(dòng)調(diào)節(jié)閥動(dòng)作,使回風(fēng)溫度保持在所設(shè)定的溫度范圍內(nèi)。

3)給排水設(shè)備監(jiān)控功能

根據(jù)系統(tǒng)需求,對(duì)空調(diào)水系統(tǒng)、生活用水系統(tǒng),以及消防用水系統(tǒng)的設(shè)備運(yùn)行狀

態(tài)進(jìn)行監(jiān)視、故障報(bào)警和啟??刂?,自動(dòng)切換備用水泵;對(duì)水泵、水箱、關(guān)健閥

門(mén)和水池(水箱)的水位進(jìn)行監(jiān)視,報(bào)警及故障提示。對(duì)給排水系統(tǒng)進(jìn)行節(jié)能控

制,系統(tǒng)管理中心制定檢修和保養(yǎng)計(jì)劃,并按照系統(tǒng)運(yùn)行狀況自動(dòng)開(kāi)列設(shè)備維護(hù)

和管理工作單。

4)變配電設(shè)備監(jiān)控功能

對(duì)智能化高低壓控制柜切換開(kāi)關(guān)的電壓、電流、功率、頻率的數(shù)值進(jìn)行統(tǒng)計(jì)、過(guò)

限報(bào)警以及狀態(tài)監(jiān)視。對(duì)變壓器的進(jìn)行溫度監(jiān)視。對(duì)系統(tǒng)進(jìn)行節(jié)能控制,交連開(kāi)

關(guān)的切換狀態(tài)監(jiān)視,以及動(dòng)力設(shè)備聯(lián)動(dòng)控制。故障報(bào)警和負(fù)荷記錄分析,對(duì)自發(fā)

電機(jī)組的參數(shù)、工作狀態(tài)進(jìn)行監(jiān)測(cè),顯示故障和過(guò)載報(bào)警。對(duì)租戶(hù)的用電量進(jìn)行

自動(dòng)計(jì)量。

5)公共照明監(jiān)控功能

可以將智能化內(nèi)的公共照明設(shè)備按需分成若干組別,以時(shí)間區(qū)域程序來(lái)設(shè)定設(shè)備

的開(kāi)/關(guān),以達(dá)到節(jié)能效果。當(dāng)有保安報(bào)警時(shí),相應(yīng)區(qū)域的照明燈開(kāi)啟。智能化

的藝術(shù)照明和室外照明的自動(dòng)控制。

6)電梯設(shè)備監(jiān)控功能

對(duì)智能化內(nèi)電梯設(shè)備進(jìn)行集中監(jiān)測(cè)和管理。通過(guò)BAS系統(tǒng)監(jiān)控中心,以圖形方式

顯示電梯的運(yùn)行狀態(tài),當(dāng)電梯發(fā)生故障時(shí),向系統(tǒng)管理中心報(bào)警。建立電梯運(yùn)行

檔案和維護(hù)檔案。

第二章、系統(tǒng)設(shè)備配置及連接示意圖

2.1系統(tǒng)配置需求

一本次設(shè)計(jì)主要針對(duì)南昌市廣場(chǎng)南路恒茂國(guó)際華城5A級(jí)寫(xiě)字樓實(shí)現(xiàn)網(wǎng)絡(luò)控制平

臺(tái)下建筑智能設(shè)備監(jiān)控自動(dòng)化系統(tǒng)BAS,并滿(mǎn)足國(guó)家對(duì)智能化大樓甲級(jí)設(shè)計(jì)的技

術(shù)應(yīng)用與功能要求。

一恒茂寫(xiě)字樓內(nèi)公共建筑物內(nèi)的空調(diào)設(shè)備和冷熱源設(shè)備的運(yùn)行狀態(tài)顯示、控制、

參數(shù)設(shè)置、查詢(xún)、故障報(bào)警的監(jiān)控與節(jié)能運(yùn)行管理;

一恒茂寫(xiě)字樓內(nèi)給排水機(jī)電設(shè)備(水泵、電控閥等杓關(guān)設(shè)備)運(yùn)行狀態(tài)顯示、控制、

參數(shù)設(shè)置、查詢(xún)、故障報(bào)警的監(jiān)控與節(jié)能運(yùn)行管理;

一恒茂寫(xiě)字樓內(nèi)蓄水池(含消防水池)、污水池的水位高低狀態(tài)的檢測(cè);給排水機(jī)

電設(shè)備的運(yùn)行狀態(tài)顯示、控制、參數(shù)設(shè)置、查詢(xún)、故障報(bào)警的監(jiān)控與節(jié)能運(yùn)行管

理;

一恒茂寫(xiě)字樓內(nèi)變配電設(shè)備與電力供應(yīng)狀態(tài)顯示、控制、參數(shù)設(shè)置、查詢(xún)、故障

報(bào)警的監(jiān)控與節(jié)能運(yùn)行管理;

一恒茂寫(xiě)字樓內(nèi)電梯運(yùn)行樓層狀態(tài)的顯示、查詢(xún)、故障報(bào)警的監(jiān)控與節(jié)能運(yùn)行管

理;以及停電時(shí)的緊急狀態(tài)處理;

一公共照明的開(kāi)啟、關(guān)閉,以及時(shí)間設(shè)定節(jié)能運(yùn)行管理;

一公共泛光照明控制回路的開(kāi)啟設(shè)定節(jié)能運(yùn)行管理;

—照明控制:以時(shí)間或事件的程序控制方式,開(kāi)啟或關(guān)閉按區(qū)域劃分的照明

組?!?/p>

2.2系統(tǒng)設(shè)備連接示意圖

機(jī)電設(shè)備監(jiān)控主機(jī)?

現(xiàn)場(chǎng)DDC

機(jī)電設(shè)備監(jiān)控管理系統(tǒng)BAS設(shè)備*接示意圖

智能大樓網(wǎng)絡(luò)平臺(tái)下設(shè)備監(jiān)控BAS管理集成系統(tǒng)圖

2.3系統(tǒng)主要設(shè)備配置簡(jiǎn)介

2.3.1NIU-4機(jī)電設(shè)備監(jiān)控區(qū)域控制器

配置:RS485控制總線(xiàn)/12個(gè)通用輸出點(diǎn)(D1或AD/8個(gè)通用輸入點(diǎn)(DO)/4個(gè)數(shù)

字量輸出點(diǎn)(A0)

2.3.2現(xiàn)場(chǎng)DDC控制器

配置:RS485控制總線(xiàn)/6個(gè)通用輸入點(diǎn)(D1或AD/6個(gè)通用輸出點(diǎn)(DO)/2個(gè)模擬

量輸出點(diǎn)(A0)

2.3.3水位開(kāi)關(guān)

一型號(hào):61F/新加坡QA/OEM

一配置:開(kāi)關(guān)量信號(hào)

2.3.4電壓傳感器

一型號(hào):RTX-V/新加坡QA/OEM

一配置:0T0V/模擬量信號(hào)

2.3.5電流傳感器

一型號(hào):RTX-A/新加坡QA/OEM

一配置:0T0V/模擬量信號(hào)

2.4上述主要設(shè)備硬件電路的設(shè)計(jì)框圖:

PC

LED顯

圖3系統(tǒng)硬件設(shè)計(jì)框圖

第三章BAS各樓宇控制子系統(tǒng)設(shè)計(jì)界面

3.1與調(diào)節(jié)/控制的風(fēng)閥及水閥的設(shè)計(jì)界面

一般系統(tǒng)中風(fēng)閥與水閥的規(guī)格及控制模式,由設(shè)備工程師根據(jù)工況條件計(jì)算確定。

因此,風(fēng)閥與水閥調(diào)節(jié)/控制設(shè)計(jì)應(yīng)與設(shè)備工程師配合,了解風(fēng)閥與水閥的可動(dòng)操

作機(jī)構(gòu),配置相適應(yīng)控制器。實(shí)際工程設(shè)計(jì)中,設(shè)備招標(biāo)前風(fēng)閥與水閥的電動(dòng)操作

機(jī)構(gòu)往往難以準(zhǔn)確確定,DDC輸出類(lèi)型。

還存在另一種情況,調(diào)節(jié)閥由控制工程師選配,這時(shí)需設(shè)備工程師提出控制工況

要求,控制工程師應(yīng)根據(jù)管徑計(jì)算選擇調(diào)節(jié)閥規(guī)格及控制模式。

風(fēng)閥的控制應(yīng)根據(jù)工況要求選擇電動(dòng)操作機(jī)構(gòu)或配電子定位裝置。

3.2、與配電控制箱的設(shè)計(jì)界面

◎配電控制箱內(nèi)設(shè)本地與遠(yuǎn)程轉(zhuǎn)換開(kāi)關(guān)和控制用隔離中間繼電器(無(wú)源或有源

AC220V,見(jiàn)下圖),本地手動(dòng)控制,遠(yuǎn)程靠BAS的DDC向配電控制裝置發(fā)出遙控

啟/停信號(hào),并接收風(fēng)物龐行狀態(tài)、過(guò)負(fù)荷及本地/遠(yuǎn)程控制轉(zhuǎn)換開(kāi)關(guān)狀態(tài)信號(hào)。

◎本地DDC的電源(AC220V)由配電控制箱提供,上圖DDC有源控制和無(wú)源控制兩

種方式,筆者認(rèn)為優(yōu)選有源控制,因有時(shí)配電控制回路并未設(shè)控制隔離變壓器,

這樣無(wú)源控制觸點(diǎn)有可能直接接人AC220V回路,造成與其他控制線(xiàn)路不能共管

敷設(shè);另一方面,自控系統(tǒng)的控制電源宜由自己提供,避免造成扯皮現(xiàn)象。

以上這些需要在采購(gòu)配電控制箱之前提出來(lái),便于廠(chǎng)家加工。

3.3、與制冷機(jī)組、電梯等自帶控制裝置的設(shè)計(jì)界面

一種是將監(jiān)控信號(hào)采用干接點(diǎn)的方式接人BAS的DDC;一種是采用通信接口點(diǎn)對(duì)

點(diǎn)或總線(xiàn)的方式接入BASo干接點(diǎn)的方式實(shí)現(xiàn)起來(lái)比較簡(jiǎn)單,也比較可靠,不足

之處是采集的信息量比較少;采用通信接口的方式可以克服干接點(diǎn)的不足,但實(shí)

現(xiàn)起來(lái)比較難,受通信協(xié)議是否標(biāo)準(zhǔn)、廠(chǎng)家是否開(kāi)放編碼表等因素的制約。

3.4、與變配電、照明等系統(tǒng)的設(shè)計(jì)界面

系統(tǒng)中的遙控單元、智能化儀表或開(kāi)關(guān)、照明控制單元、電參數(shù)變送器等自動(dòng)化

器件,應(yīng)配合強(qiáng)電設(shè)計(jì)選配,預(yù)置在配電柜或照明箱中。

第四章、軟件系統(tǒng)設(shè)計(jì)

4.1主程序流程圖

系統(tǒng)由AT89S52單片機(jī)作為中央控制器,控制各功能模塊的正常工作及數(shù)據(jù)的接

收和處理。系統(tǒng)分為五個(gè)模塊,分別為:時(shí)鐘、串行通信、鍵盤(pán)掃描、顯示子程

序。但在此我們沒(méi)有外部傳感器采集電路,因而不能進(jìn)行A/D和D/A轉(zhuǎn)換,整個(gè)

軟件系統(tǒng)是這樣來(lái)設(shè)計(jì)的:首先上位機(jī)編輯好源程序再轉(zhuǎn)換為相應(yīng)的可執(zhí)行的二

進(jìn)制代碼文件由串口通信程序經(jīng)過(guò)串口傳送到單片機(jī)中存儲(chǔ)。通過(guò)按鍵來(lái)控制系

統(tǒng)的功能,主程序的流程圖如下圖

所示:

鍵盤(pán)處理子程序

4.2各子模塊程序設(shè)計(jì)

4.2.1時(shí)鐘處理模塊

時(shí)鐘子程序的流程圖如圖所示:

圖18時(shí)鐘流程圖

4.2.2鍵盤(pán)處理模塊

設(shè)有5個(gè)按鍵分別由P2.3-P2.7來(lái)檢測(cè),當(dāng)開(kāi)關(guān)被按下時(shí)為“0”電平,因此要

取反向和OXOF作AND運(yùn)算,但同時(shí)只能按下一個(gè)鍵,其源程序如下所示:

//oneke)^detect

Voidlnputkcyl(void)

(

Bytekeytmp;

Keytmp=~(P2.3-P2.7)&0x0f;〃"0":active

If(keytmp==l)keydata=KEYl;

Elseif(keytmp==2)keydata=KEY2;

Elseif(keytmp—4)keydata=KEY3;

Elseif(keytmp==8)keydata=KEY4;

Elseif(keytmp-16)keydaata=KEY5;

)

4.23顯示模塊

顯示模塊程序的流程較簡(jiǎn)單,在此就不畫(huà)流程圖,其源程序如下所示:

voidScrShift(ucharkcyIndex)/*六位數(shù)碼管順序左移*/

(

uchari;

for(i-5;i>0;i-)

(

DisplayArray[i]=DisplayArray[i-1];

DisplayArray[0]=c_kcyCodc[kcyIndcx];

}

voidClearScr(void)/*清屏*/

(

uchari;

for(i=0;i<6;i++)

(

Disp1ayArray[i]=0x00;

}

}

4.2.4串行通信模塊

串行通信子程序的流程圖如圖所示:

I

YN.

I

I圖:串行通信程序流程圖

4.3運(yùn)用電腦串行通信采集外部DDC控制設(shè)備的數(shù)據(jù)程序設(shè)計(jì)

43.1主要電腦控件軟件代碼設(shè)“

'最小化右下角

PrivateDeclareFunctionShellNotifylconLibushel132.dll^Alias^ShellNot

ifylconA”(ByValdwMessageAsLong,LpDataAsNOTIFYICONDATA)AsLong

'---------dwMessage可以是以下NIM_ADD.NIM_DELETE.NIM_M0DIFY標(biāo)識(shí)符之

PrivateConstNIM_ADD=&HO,在任務(wù)欄中增加一個(gè)圖標(biāo)

PrivateConstNIMDELETE二&H2'刪除任務(wù)欄中的一個(gè)圖標(biāo)

PrivateConstNIM_MODIFY=&Hl'修改任務(wù)欄中個(gè)圖標(biāo)信息

PrivateConstNIFMESSAGE^Hl7NOTIFYTCONDATA結(jié)構(gòu)中uFlags的控制信息

PrivateConstNIF_IC0N=&H2

PrivateConstNIFTIP=&H4

PrivateConstW_M0USEM0VE=&H200,當(dāng)鼠標(biāo)指針移至圖標(biāo)上

PrivateConstWMLBUTT0NUP=&H202,單擊事件

PrivateConstWM_DBUTT0NUP=&H203,雙擊事件

PrivateConstWMRBUTTONUP=&H205

PrivateTypeNOTIFYICONDATA

cbSizeAsLong'該數(shù)據(jù)結(jié)構(gòu)的大小

hwndAsLong,處理任務(wù)欄中圖標(biāo)的窗口句柄

uIDAsLong'定義的任務(wù)欄中圖標(biāo)的標(biāo)識(shí)

uFlagsAsLong'任務(wù)欄圖標(biāo)功能控制,可以是以下值的組合(一般全包括)

'NIF_MESSAGE表示發(fā)送控制消息;

'NIF_IC0N表示顯示控制欄中的圖標(biāo);

'NIFJTIP表示任務(wù)欄中的圖標(biāo)有動(dòng)態(tài)提示。

uCallbackMcssagcAsLcng,任務(wù)欄圖標(biāo)通過(guò)它與用戶(hù)程序交換消息,處理該消息

的窗口由hWnd決定

hlconAsLong'任務(wù)欄中的圖標(biāo)的控制句柄

szTipAsString*64'圖標(biāo)的提示信息

EndType

DimtAsNOTIFYlCONDATA

DimNodelDAsString

PrivateSubFonnJoad?!虞d串口’設(shè)置默認(rèn)發(fā)送接收關(guān)閉狀態(tài)

blnAutoSendFlag2=False

blnReceiveFlag2=False

blnAutoSendFlag5=False

blnReceiveFlag5=False

blnAutoSendFlag6=False

blnReceiveFlag6=False

blnAutoSendFlag7=False

blnReceiveFlag7=False,默認(rèn)顯示寬度位數(shù)為8

intHexWidth=ir接收初始化

intReceiveLen=O,默認(rèn)發(fā)送方式為ASCII

twoRcsceerMcs

fiveResceerMes

sixResceerMes

sevResceerMes

NodeID=l

EndSub

PrivateSubSetComm(ByRefAslnteger)

SelectCase

Case2

WithMSComni2

If.PortOpen=TrueThen

.PortOpen=False

EndIf

.CommPort=

.Sellings=〃9600,N,8,1〃

.InBufferSize=1024

.0utBufferSize=1024

.lnputMode=lnputModeBinar)?

.TnputLen=0

.SThreshold=0

.InBufferCount=0

.OutBufferCount=0

IfNot.PortOpenThen

OnErrorResumeNext

.ForlOpen-True

IfErrThcn

MsgBox〃串口己經(jīng)被占用〃

ExitSub

Endlf

EndIf

EndWith

Case5

WithMSComm5

If.PortOpen=TrueThen

.PortOpen=False

Endlf

.CommPort=

.Settings=z,9600,N,8,

.InBufferSize=1024

.0utBufferSize=1024

.TnputMode=TnputModeBinary

.InputLen=O

.SThreshold=0

.InBufferCount=0

.OutBufferCount=0

IfNot.PortOpenThen

OriErroiResumeNexI

.PortOpcn=True

IfErrThen

MsgBox”串口已經(jīng)被占用“

ExitSub

EndIf

EndIf

EndWith

Case6

WithMSComm6

If.PortOpen=TrueThen

.PortOpen=False

EndIf

.CommPort=

.Settings=〃9600,N,8,1〃

.InBufferSize=1024

.OutBufferSize=l024

.InputModc=InputModcBinary

.InputLen=0

.SThreshold=0

.InBufferCount=0

.OutBufferCount=0

IfNoL.PorlOpenThen

OnErrorRcsumeNcxt

.PortOpen=True

IfErrThcn

MsgBox〃中口已經(jīng)被占用〃

ExitSub

EndIf

EndIf

EndWith

Case7

WithMSComm7

If.PortOpcn=TrueThcn

.PortOpen=False

Endlf

.CommPort=

.Settings=〃9600,N,8,1〃

.InBufferSize=1024

.0utBufferSize=1024

.InputMode=InputModeBinary

.InputLen=0

.SThreshold=0

.inBufferCount=0

.OutBufferCounl-O

IfNot.PortOpenThen

OnErrorResumeNext

.PortOpen=True

TfErrThen

MsgBox〃串口己經(jīng)被占月〃

ExitSub

EndIf

Endlf

EndWith

EndSelect

EndSub

PrivateSubFormMouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAs

Single)

SelectCaseCLng(X)

CaseWM.MOUSEMOVE

CaseWM_DBUTTONUP

=True

CaseWM_LBUTTONUP

EndSelect

EndSub

PrivateSubFormResizeO

If=lThent.cbSize=Len(t)

t.hwnd=

t.ulD=0

t.uFlags=NIF_ICONOrMF_MESSAGEOrNIF_TIP

t.uCallbackMessage=W_MOUSEMOVE

t.hlcon=.Handle

t.szTip=,,QuantumAutcmationLiftServcr,,&Chr(13)&Chr(10)

Shell_NotifyIconNIM_ADD,t

=False

=0

Else

EndIf

EndSub

PrivatcSubMSComm2OnComm()

Dimbytlnput()AsByte

DimintlnputLenAsIntcger

SeiectCaseMSComm2.CcmmEvent

CaseEvReceive

'IfblnReceiveFlaglThen

IfNotMSComm2.PortOpcnThcn

MSComm2.CommPort=2

MSComm2.Seltings-slrSet

MSComm2.PortOpen=True

Endlf'此處添加處理接收的代碼

MSComm2.lnputMode=lnputModeBinary

intinputLen=MSComm2.1nBufferCount

ReDimbytlnput(intlnputLen)

bytInput=MSComm2.Input

CalltwoInputManage(l:ytInput,intlnputLen)

'CallGetDisplayText

'Calldisplay

IfNotblnAutoSendFlag2AndNotblnReceiveFlag2Then

MSComm2.PortOpcn=False

EndIf

*Endlf

ok二True

EndSclcct

EndSub

PrivateSubMSComm5OnComm()

Dimbytlnput()AsByte

DimintlnputLenAsInteger

SelectCaseMSComm5.CcmniEvent

CaseEvReceive

'Ifb1nReceiveFlag5Then

IfNotMSComm5.PortOpenThen

MSComm5.CommPort=5

MSComm5.Settings=strSet

MSComm5.PortOpen=True

EndIf此處添加處理接收的代碼

MSComm5.InputMode=InputModeBinary

intinputLcn=MSComm5.1nBufferCount

ReDimbytInput(intInputLen)

bytInput=MSComm5.Input

CalIfiveInputManage(bytlnput,intlnputLen)

'CallGetDisplayText5

'Calldisplay5

IfNotblnAutoSendFlag5AndNotblnReceiveFlag51hen

MSComm5.PortOpen二FaIse

EndIf

'Endlf

EndSelect

EndSub

PrivateSubMSComm6OnComm()

DimbytlnputOAsByte

DimintlnputLenAsInteger

SeiectCaseMSComm6.CcmmEvent

CaseEvReceive

'Ifb1nReceiveF1ag1Then

TfNotMSComm6.PorlOpenThen

MSComm6.CommPort=6

MSComm6.Settings=strSet

MSComni6.PortOpen=True

Endlf此處添加處理接收的代碼

MSComni6.InputMode=InputModeBinary

intinputLen=MSComin6.1nBufferCount

ReDiinbytInput(intInputLen)

bytInput=MSComm6.Input

CallsixInputManage(bytInput,intlnputLen)

'CallGetDisplayText

'Calldisplay

IfNotblnAutoSendFlag6AndNotblnReceiveFlag6Then

MSComm6.PortOpen二FaIse

EndIf

'Endlf

ok二True

EndSelect

EndSub

PrivateSubMSComm7_0nComm()

Dimbytlnput()AsByte

DimintlnputLenAsInteger

SeiectCaseMSComm7.CcrnmEvent

CaseEvReceive

’Ifb1nReceiveF1ag1Then

IfNotMSComm7.PortOpenThen

MSComm7.CommPort=7

MSComm7.Settings=strSet

MSComm7.PortOpen=True

Endlf'此處添加處理接收的代碼

MSConun7.InputMode=InputModeBinary

intInputLen=MSComm7.InBufferCount

ReDimbytlnput(intlnputLen)

bytlnput=MSComm7.Input

CallelvInputManagc(bytInput,intlnputLcn)

'CallGetDisplayText

'Calldisplay

IfNotblnAutoSendFlag7AndNotblnReceiveFlag7Then

MSComm7.PortOpen=False

Endlf

'Endlf

ok=True

EndSelect

EndSub

PrivateSubTimerlTimer()

DimslAsString

SendCInt(NodelD),CInt(NodeID+1)

sl=Mid(ReceiveMes2,11,1)

Tcxtl.Tcxt=sl

)IfCStr(NodelD)=slThen

ResceCInt(NodelD)

=+SendMes+Chr$(13)+Chr$(10)+ReceiveMes2+ReceiveMes5+ReceiveMes6+Recei

vcMes7+Chr$(13)+Chr$(10)

=1

=Len()

'Endlf

NodeID=NodelD+l

IfNodeID=8ThenNodeID=l

EndSub

PrivateFunctionSend(iiAsInteger,jjAsInteger)

DimlongthAsInteger

strScndText=//A5810/,+CStr(ii)+,,00008z/+CStr(jj)+〃5A〃

SendMes=〃TX:\Replace(strSendText,〃〃,〃〃)

longth-strHexToByteArray(slrSendText,bylSendByle())

1SetComm(2)

,WithMSComm2

*Iflongth>0Then

.Output=bytSendByte

EnclIf

EndWith

*SetComm(5)

)WithMSComm5

JIflongth>OThen

'.Output=bytSendByte

'Endlf

'EndWith

SetComm(6)

WithMSComm6

Iflongth>OThen

.Output二bytSendByte

Endlf

EndWith

JSetComm(7)

JWithMSComm7

JIflongth>OThen

’.Output=bytSendBytG

,Endlf

'EndWith

EndFunction

PrivateFunctionResce(iAsInteger)

DimfloorAsString

DimstateAsString

DimcodcAsInteger

IfReceiveMes2O^Then

floor=SixteenTurnTen(CStr(Mid(ReceiveMes2,18,2)))

state=SixteenTurnTen(CStr(Mid(ReceiveMes2,22,2)))

code=SixteenTurnTen(CStr(Mid(ReceiveMes2,11,1)))

WritePrivateProfileString,,datasourse,\^inNcdeno^+CStr(code),CStr(code),

"F:\qa\Bin\"

WritePrivateProfileString,,datasourse,\z,flocw^+CStr(code),floor,〃F:\qa

\BinV

,,,,

WritePrivateProfileStringdatasourse>^state^+CStr(code),state,〃F:\qa

\BinV

EndIf

IfReceiveMes5O/z,,Then

code=0

floor=SixteenTurnTen(CStr(Mid(ReceiveMes5,18,2)))

state=SixteenTurnTen(CStr(Mid(ReceiveMes5,22,2)))

code=SixteenTurnTen(CStr(Mid(ReceiveMes5,11,1)))

WritePrivateProfileString,,datasourse,/,^inNcdeno^+CStr(code+4),CStr(co

de+4),〃F:\qa\Bin\〃

WritePrivateProfileString,/datasourse,/,z,flocwz/+CStr(code+4),floor,"F:\

qa\Bin\〃

,,,,

WritePrivateProfileStringdatasourse)^state^+CStr(code+4),state,〃F:\

qa\Bin\,z

Text2.Text=CStr(flocr)+CStr(state)

EndIf

IfReceiveMes6O/,,zThen

code=0

floor=SixteenTurnTen(CStr(Mid(ReceiveMes6,18,2)))

state=SixteenTurnTen(CStr(Mid(ReceiveMes6,22,2)))

code=SixteenTurnTen(CStr(Mid(ReceiveMes6,11,1)))

WritePrivatcProfilcString,,datasourse,,>^inNcdcno^+CStr(codc+11),CStr(c

ode+11),〃F:\qa\Bin\"

,,,,Z,

WritePrivateProfileStringdatasourse,locw^+CStr(code+11),floor,F:

\qa\Bin\"

/,,,

WritePrivateProfileStringdatasourse>^state^+CStr(code+11),stale,〃F:

\qa\Bin\"

EndIf

IfReceiveMes7<>“Then

code=0

floor=SixteenTurnTen(CStr(Mid(ReceiveMes7,18,2)))

state=SixteenTurnTen(CStr(Mid(ReceiveMes7,22,2)))

code=SixteenTurnTen(CStr(Mid(ReceiveMes7,11,1)))

WritePrivateProfileString^datasourse^,"inNcdeno^+CStr(code+15),CStr(c

ode+15),“F:\qa\Bin\"

WritePrivatcProfileString“datasourse〃,〃flocw〃+CStr(code+15),floor,,/F:

\qa\Bin\"

WritePrivateProfileString,,datasourse,z,z,statez,+CStr(code+15),state,"F:

\qa\Bin\〃

EndIf

EndFunction

PrivateFunctionSixteenTurnTen(ByValvarNumAsString)AsString

SixteenTurnTen=Val(^H^feCStr(varNum))

EndFunction

'2號(hào)端口

PrivateSubtwoResceerMes()

'接收數(shù)據(jù)

IfblnReceiveFlag2Then

IfNotblnAutoSendFlag2AndNotblnReceiveFlag2Then

MSComm2.PortOpen=False

EndIf

Else

IfNotMSComm2.PortOpenThen

MSComm2.CommPort=2

MSComm2.Settings=strSet

MSComm2.PortOpen=True

EndIf

MSComm2.InputLcn=O

MSComm2.InputMode=0

MSComm2.InBufferCount=0

MSComm2.RThreshold=l

EndIf

blnReceiveFlag2=NotblnReceiveFlag2

EndSub

'5號(hào)端口

PrivatcSubfivcRcscccrMcs0'

接收數(shù)據(jù)Ifb1nReceiveFlag5Then

IfNotblnAutoSendFlag5AndNotblnReceiveFlag5Then

MSComm5.PortOpen=FaIse

EndIf

Else

IfNotMSComm5.PortOpenThen

MSComm5.CommFort=5

MSComm5.Settings=strSet

MSComm5.PortOpen=True

EndTf

MSComm5.InputLen=O

MSComm5.InputMode=0

MSComm5.InBufferCount=0

MSComm5.RThreshold=l

EndIf

blnReceiveFlag5=NotblnReceiveFlag5

EndSub

'6號(hào)端口

PrivateSubsixResceerMes()

接收數(shù)據(jù)

IfblnRcccivcFlag6Then

IfNotblnAutoSendF1ag6AndNotb1nReceiveFlag6Then

MSComm6.PortOpen=False

EndIf

Else

IfNotMSCommG.PortOpenThen

MSComm6.CommPort=6

MSComm6.Settings=strSet

MSComm6.PortOpen=True

EndIf

MSComm6.InputLen=O

MSComm6.lnputMode=0

MSComm6.InBufferCount=0

MSComni6.RThreshold=l

EndIf

blnReceiveFlag6=NotblnReceiveFlag6

EndSub

'7號(hào)端口

PrivateSubsevRescecrMcs()'

接收數(shù)據(jù)

IfblnReceiveFlag7Then

IfNotblnAutoSendFlag7AndNotblnReceiveFlag7Then

MSComm7.PortOpcn=Falsc

EndIf

Else

lfNotMSComm7.PortOpenThen

MSComm7.CommPort=7

MSComm7.Settings=strSet

MSComm7.PortOpen=True

EndIf

MSComm7.InputLen=O

MSComm7.InputMode=0

MSComm7.TnBufferCount=0

MSComm7.RThreshold=l

EndIf

blnReceiveFlag7=NotblnReceiveFlag7

EndSub

'字符串表示的十六進(jìn)制數(shù)據(jù)轉(zhuǎn)化為相應(yīng)的字節(jié)串

'返回轉(zhuǎn)化后的字節(jié)數(shù)

,*1^%1**1*%1*

FunctionstrIIexToB5rteArray(strTextAsString,bytByte()AsByte)Aslnteger

DimHexDataAsInteger,十六進(jìn)制(二進(jìn)制)數(shù)據(jù)字節(jié)對(duì)應(yīng)值

DimhstrAsString*1*高位字符

DimlstrAsString*l'低位字符

DimHighIIexDataAslnteger,高位數(shù)值

DimLowHexDalaAsInteger'低位數(shù)值

DimllexDataLenAslnteger'字節(jié)數(shù)

DimStringLenAsInteger,字符串長(zhǎng)度

DimAccountAsInteger'計(jì)數(shù)

strTestn="〃'設(shè)初值

HexDataLen=O

strHexToByteArray=0

StringLen=Len(strText)

Account=SiringLen\2

ReDimbytByte(Account)

Forn=lToStringLen

D。'清除空格

hstr=Mid(strText,n,1)

n=n+l

If(n-l)>StringLenThcn

HexDataLen=HexDataLen-l

ExitFor

EndIf

LoopWhilehstr="z/z

Do

lstr=Mid(strText,n,1)

n=n+l

If(n-l)>StringLenThen

HexDataLen=HexDataLen-l

ExitFor

EndIf

LoopWhilelstr二〃〃

n=n-l

Ifn>StringLenThen

HexDataLen=llexDataLen-l

ExitFor

EndIf

HighHexData=ConvertHexChr(hstr)

LowHexData=Convert

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論