www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]摘要:描述BACnet協(xié)議的體系結(jié)構(gòu),分析BACnet控制器的功能,論證基于嵌入式Linux開(kāi)發(fā)BACnet控制器的可行性;給出BACnet控制器軟件的體系結(jié)構(gòu)及其軟件設(shè)計(jì)。 關(guān)鍵詞:BACnet

摘要:描述BACnet協(xié)議的體系結(jié)構(gòu),分析BACnet控制器的功能,論證基于嵌入式Linux開(kāi)發(fā)BACnet控制器的可行性;給出BACnet控制器軟件的體系結(jié)構(gòu)及其軟件設(shè)計(jì)。 關(guān)鍵詞:BACnet 控制器 樓宇控制設(shè)備 嵌入式Linux 體系結(jié)構(gòu) BACnet協(xié)議是一種為樓宇自動(dòng)控制網(wǎng)絡(luò)所制定的數(shù)據(jù)通信協(xié)議。該協(xié)議已成為美國(guó)國(guó)家標(biāo)準(zhǔn)(ANSI/ASHRAE 135-1995)和歐盟標(biāo)準(zhǔn)草案,并在2000年成為草案級(jí)國(guó)際標(biāo)準(zhǔn)。其中定義了23個(gè)對(duì)象和42個(gè)服務(wù),以及5個(gè)數(shù)據(jù)鏈路的局域網(wǎng)底層網(wǎng)絡(luò)結(jié)構(gòu)。 1999年1月正式發(fā)布了附錄135a,成為標(biāo)準(zhǔn)的附件J,確定BACnet/IP技術(shù)的第6個(gè)局域網(wǎng)互聯(lián)的底層技術(shù)。 1 BACnet網(wǎng)絡(luò)體系結(jié)構(gòu)和控制器功能分析 1.1 BACnet網(wǎng)絡(luò)體系結(jié)構(gòu) BACnet建立在包含四個(gè)層次的簡(jiǎn)化分層體系結(jié)構(gòu)上。這四層相當(dāng)于OSI模型中的物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層和應(yīng)用層。BACnet標(biāo)準(zhǔn)定義自已的應(yīng)用層和簡(jiǎn)單的網(wǎng)絡(luò)層,對(duì)于其數(shù)據(jù)鏈路層和物理層,提供了五種選擇方案,在附件J-BACnet/IP中加入了對(duì)IP的支持。 圖1是BACnet/IP網(wǎng)絡(luò)體系結(jié)構(gòu)層次圖。BACnet沒(méi)有對(duì)應(yīng)于OSI的第四、五、六層,也就是說(shuō),BACnet沒(méi)有傳輸層、會(huì)話層和表示層。 BACnet網(wǎng)絡(luò)層屏蔽了底層采用的網(wǎng)絡(luò)技術(shù)的差異。 1.2 BACnet控制器的功能分析 在一個(gè)BACnet控制網(wǎng)絡(luò)中,一個(gè)BACnet控制器通常和多個(gè)控制設(shè)備直接相連,負(fù)責(zé)監(jiān)控這些設(shè)備的運(yùn)行。概括起來(lái)說(shuō),BACnet控制器應(yīng)該具有三個(gè)方面的功能。①通信功能。BACnet控制器是一個(gè)網(wǎng)絡(luò)控制器,所以它必須能夠發(fā)送和接收BACnet報(bào)文,和其它BACnet設(shè)備進(jìn)行通信。②監(jiān)視功能。BACnet控制器要監(jiān)視與它直接相連的控制設(shè)備的狀態(tài)。這樣,它就要提供數(shù)據(jù)結(jié)構(gòu)來(lái)描述這種狀態(tài)。在BACnet協(xié)議中,描述這些狀態(tài)是用 BACnet對(duì)象。BACnet協(xié)議提供了42個(gè)標(biāo)準(zhǔn)對(duì)象。③控制功能。BACnet控制器要控制與它相邊聽(tīng)設(shè)備的運(yùn)行,不僅要使這些設(shè)備之間具有互動(dòng)能力,而且要使這些設(shè)備和系統(tǒng)的遠(yuǎn)程設(shè)備能夠互動(dòng),所以在BACnet控制器中應(yīng)該有邏輯控制模塊來(lái)實(shí)現(xiàn)這一功能。值得注意的是,不同時(shí)間、不同地點(diǎn),BACnet控制器中的控制邏輯可能是不同的,因而在BACnet控制器中要提供改變控制流程的工具。這種工具最好是圖形界面的,以方便用戶(hù)使用。 圖1 BACnet體系結(jié)構(gòu)層次圖 2 基于嵌入式Linux開(kāi)發(fā)軟件的可行性 ①Linux是一個(gè)和Unix相似、以核心為基礎(chǔ)的、完全內(nèi)存保護(hù)、多任務(wù)多進(jìn)程的操作系統(tǒng)。在開(kāi)發(fā)過(guò)程中,可以根據(jù)實(shí)際需要,通過(guò)內(nèi)核構(gòu)筑工具對(duì) Linux內(nèi)核功能進(jìn)行裁減,做成體積很小的嵌入式操作系統(tǒng),可使其達(dá)到500KB或更小的規(guī)模。 ②在實(shí)時(shí)性應(yīng)用方面,通用的Linux在強(qiáng)實(shí)時(shí)性應(yīng)用方面存在欠缺。Linux調(diào)度程序原來(lái)主要是針對(duì)臺(tái)式計(jì)算機(jī)操作系統(tǒng)。重點(diǎn)考慮的是在應(yīng)用程序的吞吐量上,即采用了一種“公平共享”的策略保證所有進(jìn)程得到平均的CPU時(shí)間。在樓宇控制設(shè)備這種弱實(shí)時(shí)性應(yīng)用中,如果采用先進(jìn)的內(nèi)核機(jī)制、進(jìn)程調(diào)度算法和較小粒度的系統(tǒng)時(shí)間(10ms),是可以滿(mǎn)足弱實(shí)時(shí)應(yīng)用要求的,因此,Linux可用于樓宇自動(dòng)化系統(tǒng)。 ③Linux是源代碼開(kāi)放的操作系統(tǒng),可以很容易得到內(nèi)核的接口和源碼,我們可以把BACnet的協(xié)議實(shí)現(xiàn)集成到內(nèi)核中去。 ④Linux是自由軟件。在GNU GPL許可證協(xié)議下,可以自由使用、修改和發(fā)布,所以采用嵌入式Linux可以降低BACnet控制器的成本。 3 BACnet控制器軟件的實(shí)現(xiàn) 3.1 BACnet控制器軟件的體系結(jié)構(gòu) 基于BACnet協(xié)議的體系結(jié)構(gòu)和上面對(duì)BACnet控制器功能的分析,


可以得出BACnet控制器軟件包括以下幾個(gè)模塊:BACnet協(xié)議棧、BACnet對(duì)象和服務(wù)、底層驅(qū)動(dòng)模塊、應(yīng)用控制邏輯模塊和控制配置模塊。 對(duì)Linux內(nèi)核中不必要的模塊加以裁減,并把BACnet控制器的一些模塊嵌入到Linux內(nèi)核,最終的開(kāi)發(fā)體系結(jié)構(gòu)如圖2所示。 3.2 BACnet協(xié)議棧的實(shí)現(xiàn) BACnet協(xié)議棧報(bào)文的封裝流程如圖3所示。 BACnet協(xié)議的分層體系結(jié)構(gòu)支持多種底層通信協(xié)議。BACnet的網(wǎng)絡(luò)層功能則對(duì)不同物理層和鏈路層的抽象,其原理與TCP/IP的IP層相。在 BACnet應(yīng)用層,定義了標(biāo)準(zhǔn)的對(duì)象和服務(wù),以實(shí)現(xiàn)不同廠家的BACnet產(chǎn)品的互連。因此,從BACnet體系結(jié)構(gòu)的各層協(xié)議內(nèi)容來(lái)看,BACnet 的體系結(jié)構(gòu)呈“啞鈴狀”,最低層包容不同的通信協(xié)議,最高層承接多樣的“實(shí)體”和應(yīng)用。 在BACnet協(xié)議中,BACnet網(wǎng)絡(luò)層是相對(duì)穩(wěn)定的部分,也是BACnet協(xié)議的核心,應(yīng)放入內(nèi)核之中。其應(yīng)用程序接口(API)應(yīng)以系統(tǒng)調(diào)用(sys-call)的方式提供。這種構(gòu)成方式不僅可以在內(nèi)核內(nèi)部高效實(shí)現(xiàn)對(duì)BACnet網(wǎng)絡(luò)層的處理,而且對(duì)外掛模塊還提供簡(jiǎn)潔和高效的調(diào)用方式,使外掛模塊代碼緊湊。對(duì)于BACnet的低層協(xié)議和應(yīng)用層則應(yīng)放在內(nèi)核之外,以模塊的方式外掛或?yàn)橄到y(tǒng)程序。在本開(kāi)發(fā)過(guò)程中,將低層協(xié)議以原代碼的形式編譯在內(nèi)核中。原因是,對(duì)于具體的應(yīng)用,低層協(xié)議通常是固定的,即一旦某個(gè)設(shè)備接入一種網(wǎng)絡(luò)系統(tǒng),該設(shè)備的低層通信協(xié)議就不會(huì)改變,從而形成一個(gè)類(lèi)別的樓宇設(shè)備自動(dòng)化產(chǎn)品。 3.3 BACnet對(duì)象和服務(wù)的實(shí)現(xiàn) BACnet對(duì)象是駐留在BACnet設(shè)備中的數(shù)據(jù)結(jié)構(gòu),提供到一個(gè)樓宇自控設(shè)備的“網(wǎng)絡(luò)可見(jiàn)”部分的抽象描述。每個(gè)對(duì)象都有一組屬性,描述對(duì)象的特片和結(jié)構(gòu)。BACnet對(duì)象按其功能可分為兩類(lèi)。一類(lèi)是采集數(shù)據(jù)的對(duì)象,如模擬輸入/輸出對(duì)象。這類(lèi)對(duì)象需要訪問(wèn)設(shè)備硬件,對(duì)象實(shí)現(xiàn)會(huì)根據(jù)不同設(shè)備硬件而變化,因此如果硬件發(fā)生變化,就要重寫(xiě)驅(qū)動(dòng)程序。另一類(lèi)對(duì)象是在采集的數(shù)據(jù)基礎(chǔ)上完成復(fù)雜功能,如環(huán)對(duì)象以及其它實(shí)現(xiàn)報(bào)警事件功能的對(duì)象。這類(lèi)對(duì)象不需訪問(wèn)硬件。每一種BACnet控制器需要對(duì)已實(shí)現(xiàn)的對(duì)象進(jìn)行配置。 BACnet服務(wù)提供了用于訪問(wèn)和操作設(shè)備中BACnet對(duì)象的命令,并定義了這些命令的格式和內(nèi)容(即服務(wù)原語(yǔ))。Banet根據(jù)設(shè)備功能將不同服務(wù)分組得到7個(gè)部分:數(shù)據(jù)共享、報(bào)警和事件管理、時(shí)間表、趨勢(shì)記錄、設(shè)備管理、網(wǎng)絡(luò)管理、虛擬終端。 BACnet所定義的通信設(shè)備一致遵守的編碼規(guī)則是ASN.1。BACnet對(duì)象和服務(wù)原語(yǔ)都通過(guò)ASN.1進(jìn)行編碼,因此對(duì)象和服務(wù)實(shí)現(xiàn)的核心是 BACnet編/解碼器和BACnet標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型、對(duì)象和服務(wù)原語(yǔ)的抽象數(shù)據(jù)類(lèi)型。 對(duì)于BACnet對(duì)象的處理必須放在內(nèi)核之外。原因是:不同BACnet控制器具有不同的BACnet對(duì)象集合,且BACnet對(duì)象類(lèi)型較多。這就要求嵌入式系統(tǒng)具對(duì)BACnet對(duì)象進(jìn)行靈活的配置方式。實(shí)現(xiàn)這種靈活配置的方法仍需要采用Linux常用的抽象方法,將不同的具體BACnet對(duì)象進(jìn)行抽象,形成“虛擬BACnet對(duì)象”的概念。此處是“虛擬對(duì)象”不同于面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言中的“虛擬對(duì)象”。這兩個(gè)概念不同的。前者是相對(duì)BACnet協(xié)議中定義的具體對(duì)象而言,其作用是管理BACnet協(xié)議中定義的具體BACnet對(duì)象,是內(nèi)核提供配置和操作具體BACnet對(duì)象的接口,相當(dāng)于Linux內(nèi)核中的“虛擬文件系統(tǒng)”等。


3.4 驅(qū)動(dòng)程序的實(shí)現(xiàn) BACnet支持多種底層通信協(xié)議。在BACnet控制器中,必須為這些通信協(xié)議編寫(xiě)驅(qū)動(dòng)程序,同時(shí)在BACnet控制器中還要為一些數(shù)據(jù)采集卡之類(lèi)的設(shè)備寫(xiě)驅(qū)動(dòng)程序。Linux操作系統(tǒng)下的驅(qū)動(dòng)程序,是以模塊的形式存在的,能夠被動(dòng)態(tài)地加載。對(duì)于不同的底層結(jié)構(gòu),可以靈活地加載不同的驅(qū)動(dòng)程序。 開(kāi)發(fā)設(shè)備驅(qū)動(dòng)程序必須對(duì)內(nèi)核有嚴(yán)格要求,其主要內(nèi)容是根據(jù)內(nèi)核的file_operations數(shù)據(jù)結(jié)構(gòu)開(kāi)發(fā)相應(yīng)的設(shè)備操作函數(shù),并填寫(xiě)數(shù)據(jù)結(jié)構(gòu)。如果外圍設(shè)備具有中斷功能,則需要開(kāi)發(fā)中斷處理函數(shù)并安裝中斷函數(shù)。file_operations的數(shù)據(jù)結(jié)構(gòu),內(nèi)核版本不同時(shí),其結(jié)構(gòu)可能不同,可以相看 linux/fs.h頭文件以確定具體的結(jié)構(gòu)。在file_operations的眾多函數(shù)指針成員中,通常只需實(shí)現(xiàn)reax、write、open和 release即可;ioctl可以根據(jù)需要加以實(shí)現(xiàn),以增強(qiáng)對(duì)外圍設(shè)備的控制和管理功能。 3.5 BACnet控制器應(yīng)用層實(shí)現(xiàn) 應(yīng)用邏輯層是建立在嵌入式操作系統(tǒng)之上的具體應(yīng)用。根據(jù)BACnet協(xié)議中定義了3個(gè)級(jí)別的BACnet控制器——樓宇控制器、高級(jí)應(yīng)用控制器和應(yīng)用控制器、實(shí)現(xiàn)不同類(lèi)別BACnet設(shè)備規(guī)定的互操作域(InteroperationArea)。這樣,就可以在應(yīng)用邏輯層中實(shí)現(xiàn)協(xié)議規(guī)定的5個(gè)互操作域。這種方式不僅使協(xié)議的互操作域開(kāi)發(fā)簡(jiǎn)單,而且使互操作域的開(kāi)發(fā)具有可管理性。 這5個(gè)操作域是:數(shù)據(jù)共享、報(bào)警和事件管理、時(shí)序安排、趨勢(shì)記錄及設(shè)備和網(wǎng)絡(luò)管理。 ①數(shù)據(jù)共享功能包括數(shù)據(jù)的文檔存儲(chǔ)、數(shù)據(jù)的表示、監(jiān)測(cè)對(duì)象、設(shè)備點(diǎn)和參數(shù)修改。BACnet控制器要將本地采集的數(shù)據(jù)傳送到操作員工作站上進(jìn)行存儲(chǔ),主要是那些需要查看歷史記錄的值,如模擬輸入/模擬輸出當(dāng)前值屬性等等。對(duì)于數(shù)據(jù)更新的時(shí)間間隔,快速采樣時(shí),用1~5s;對(duì)于慢速過(guò)程,如空間溫度監(jiān)測(cè),采用30~60s間隔。當(dāng)控制器收到了WriteProperty/WritePropertyMultiple,服務(wù),要求控制器重新設(shè)置端點(diǎn)和修改參數(shù)時(shí),就調(diào)用本地方法,修改某些對(duì)象的屬性值。 ②報(bào)警和事件管理支持預(yù)定值改變報(bào)告、值改變通告和事件通知。當(dāng)控制器某一個(gè)對(duì)象的屬性值發(fā)生改變時(shí),它就向預(yù)定這一服務(wù)的設(shè)備發(fā)送值改變通告服務(wù)。告訴接收者這一變化。控制器發(fā)送一個(gè)事件通告服務(wù),通知遠(yuǎn)程設(shè)備有一個(gè)事件發(fā)生。控制器還要支持響應(yīng)GetAlarmSummary,通告報(bào)警狀態(tài)和事件信息。 ③時(shí)序安排??刂破髦С猪憫?yīng)用來(lái)修改設(shè)備的Calendar、Shedular對(duì)象的WriteProperty服務(wù)請(qǐng)求,接收到該服務(wù)后,修改控制器的時(shí)序表。 ④趨勢(shì)記錄。支持響應(yīng)用來(lái)修改TrendLog對(duì)象屬性的WriteProperty服務(wù),接收該服務(wù)后,修改登陸的數(shù)據(jù)點(diǎn)、采樣速度、間隔。 ⑤設(shè)備和網(wǎng)絡(luò)管理。該操作域支持Device CommunicationControl服務(wù),操作員可以通過(guò)該服務(wù)禁止控制器;同時(shí),該操作域還支持響應(yīng)TimeSynchronization和 UTCTimeSynchronization服務(wù),保證時(shí)間同步;支持響應(yīng)AtomicReadFile服務(wù),允許遠(yuǎn)程讀取/修改控制器的配置文件,允許通過(guò)網(wǎng)絡(luò)備份來(lái)恢復(fù)被配置。 結(jié)語(yǔ) BACnet是一種實(shí)用的國(guó)際標(biāo)準(zhǔn)的樓宇控制網(wǎng)絡(luò)協(xié)議。控制器是BACnet控制網(wǎng)絡(luò)中的重要設(shè)備之一。BACnet控制器的開(kāi)發(fā)成功,對(duì)于促進(jìn) BACnet協(xié)議在我國(guó)樓宇自動(dòng)化中應(yīng)用具有重要的意義。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

在電子電路設(shè)計(jì)中,確保電源的穩(wěn)定和安全至關(guān)重要。LTC4365 作為一款出色的過(guò)壓(OV)、欠壓(UV)以及反向極性故障保護(hù)控制器,在眾多領(lǐng)域得到了廣泛應(yīng)用。其能夠?yàn)殡娫摧斎腚妷嚎赡艹霈F(xiàn)過(guò)高、過(guò)低甚至負(fù)值的應(yīng)用場(chǎng)景提供可...

關(guān)鍵字: 控制器 柵極 輸出電壓

ZCC3790 作為一款同步 4 開(kāi)關(guān)升降壓電壓 / 電流調(diào)節(jié)器控制器,展現(xiàn)出了強(qiáng)大的性能。它能夠在輸入電壓高于、低于或等于輸出電壓的復(fù)雜情況下,精準(zhǔn)地調(diào)節(jié)輸出電壓、輸出電流或輸入電流。其恒定頻率、電流模式架構(gòu)賦予了它靈...

關(guān)鍵字: 升降壓 控制器 寬電壓

2025年8月12日 – 專(zhuān)注于引入新品的全球電子元器件和工業(yè)自動(dòng)化產(chǎn)品授權(quán)代理商貿(mào)澤電子(Mouser Electronics) 是Phoenix Contact解決方案的全球授權(quán)代理商。貿(mào)澤供應(yīng)超過(guò)93,000種可訂...

關(guān)鍵字: 樓宇自動(dòng)化 控制器 連接器

在之前的文章“為機(jī)器人技術(shù)的未來(lái)發(fā)展筑牢安全防線:網(wǎng)絡(luò)安全的作用”中,我們?nèi)娼榻B了機(jī)器人控制系統(tǒng)面臨的安全挑戰(zhàn)。文章強(qiáng)調(diào)了遵守機(jī)器人行業(yè)安全標(biāo)準(zhǔn)的重要性,并探索了加強(qiáng)機(jī)器人控制系統(tǒng)保護(hù)所需的基本安全能力。此外,我們還展...

關(guān)鍵字: 機(jī)器人 PLC 控制器

工業(yè)4.0的核心是工廠自動(dòng)化,工業(yè)機(jī)器人、自主移動(dòng)機(jī)器人(AMR)和協(xié)作機(jī)器人對(duì)于實(shí)現(xiàn)現(xiàn)代工業(yè)4.0至關(guān)重要。機(jī)器人正日益智能化,協(xié)作能力不斷增強(qiáng),能夠在有人或無(wú)人干預(yù)的情況下高效完成復(fù)雜任務(wù)。隨著自動(dòng)化程度和機(jī)器人使用...

關(guān)鍵字: 機(jī)器人 工業(yè)4.0 控制器

全新 I/O 解決方案賦予制造商更大的設(shè)計(jì)自由度,打造更智能、更具適應(yīng)性更的設(shè)備

關(guān)鍵字: 控制器 I/O 系統(tǒng)

【2025年7月24日, 德國(guó)慕尼黑訊】全球功率系統(tǒng)和物聯(lián)網(wǎng)領(lǐng)域的半導(dǎo)體領(lǐng)導(dǎo)者英飛凌科技股份公司(FSE代碼:IFX / OTCQX代碼:IFNNY)近日推出新型英飛凌ID Key系列,進(jìn)一步擴(kuò)展其通用串行總線(USB)...

關(guān)鍵字: 控制器 USB 非易失性存儲(chǔ)器

挑戰(zhàn)賽鼓勵(lì)參與者利用 WL-ICLED 技術(shù)展示創(chuàng)意

關(guān)鍵字: LED 控制器

許多電源轉(zhuǎn)換應(yīng)用都需要支持寬輸入或輸出電壓范圍。ADI公司的一款大電流、高效率、全集成式四開(kāi)關(guān)降壓-升壓型電源模塊可以滿(mǎn)足此類(lèi)應(yīng)用的需求。該款器件將控制器、MOSFET、功率電感和電容集成到先進(jìn)的3D集成封裝中,實(shí)現(xiàn)了緊...

關(guān)鍵字: 穩(wěn)壓器 控制器 MOSFET

在電力電子技術(shù)飛速發(fā)展的今天,開(kāi)關(guān)電源憑借高效、小型化、輕量化等優(yōu)勢(shì),廣泛應(yīng)用于通信、計(jì)算機(jī)、工業(yè)控制等領(lǐng)域。而三端 PWM 開(kāi)關(guān)作為開(kāi)關(guān)電源的核心控制部件,其性能直接影響著開(kāi)關(guān)電源的整體表現(xiàn)。本文將深入探討三端 PWM...

關(guān)鍵字: PWM 開(kāi)關(guān)電源 控制器
關(guān)閉