RM新时代官方网站

    <object id="iftz9"></object>
        BACnet-MS/TP協(xié)議棧及其實現(xiàn)

          智能建筑領域Bacnet協(xié)議已成為主流通信協(xié)議標準,是海思重要的發(fā)展方向之一,應用Bacnet總線技術開發(fā)基于Bacnet MS/tp協(xié)議的終端設備,以及基于其它總線技術的節(jié)點設備接入Bacnet MS/tp或Bacnet IP網(wǎng)絡所需的通信協(xié)議轉換器,是海思重要的課題之一。

        一、BACnet協(xié)議描述

           BACnet是專門為建筑自動控制網(wǎng)絡制定的一種數(shù)據(jù)通信協(xié)議,最初由美國制冷采暖空調(diào)工程師協(xié)會(簡稱ASHRAE)于1995年制定。其最根本的目的是要提供給建筑自動控制系統(tǒng)實現(xiàn)互操作的方法。所謂互操作是指一種能力,可以使得分布的控制系統(tǒng)設備通過相關信息的數(shù)字交換,能夠協(xié)調(diào)地工作,從而完成一個共同的目標。BACnet解決了建筑自控系統(tǒng)中存在的多廠商系統(tǒng)和設備不兼容而難以集成的問題,提供了不同建筑自動控制系統(tǒng)實現(xiàn)互操作的方法,有望成為控制網(wǎng)絡中的TCP/IP協(xié)議。20031月,BACnet成為正式的國際標準(ISO 16484標準)。

        BACnet有以下特點:

        ·開放性:是美國現(xiàn)行的國家標準和ISO國際標準。

        ·面向對象:BACnet協(xié)議采用面向對象的技術,因此具有可擴展性和可復用性。

        ·互操作性:ASHRAEBACnet委員會提出了一種新的描述自動控制系統(tǒng)功能性的方法,稱為“互操作域(Interoperability Areas)”,其中規(guī)定了5個互操作域,分別是:數(shù)據(jù)共享、報警和事件管理、時序安排、趨勢記錄、設備與網(wǎng)絡管理。

        1.1 BACnet體系結構

        BACnetOSI模型為參考,結合建筑自動控制領域的實際需求,形成了一個簡化模型。BACnet充分利用現(xiàn)有成熟的網(wǎng)絡技術,在底層兼容5種網(wǎng)絡結構,降低了開發(fā)成本,同時也利于系統(tǒng)集成。

        1.2 應用層

        應用層協(xié)議數(shù)據(jù)單元(APDU)傳送包含在應用服務原語和相關參數(shù)中的信息。因為BACnet采用簡化的OSI體系結構,不包含任何表示層的功能,必須預先定義好通信設備一致遵守的編碼規(guī)則。BACnet的編碼規(guī)則設計考慮到了樓宇自動控制體系對簡單化、緊湊化的要求。因此,這個編碼規(guī)則在一些方面與 ISO 8825有所不同。但是仍然允許使用ASN.1BACnetAPDU進行編碼。

        1.3 網(wǎng)絡層

        網(wǎng)絡層提供網(wǎng)絡路由功能,使得報文可以被直接傳遞到一個遠程設備、一個遠程網(wǎng)絡上的所有設備、或者所有網(wǎng)絡上的所有設備。一個BACnet設備由一個網(wǎng)絡號碼和一個MAC地址唯一確定。由于BACnet協(xié)議規(guī)定兩個BACnet設備之間只能有一條有效路徑,這個限制大大降低了網(wǎng)絡層的復雜性,簡化了路由算法。

        1.4 數(shù)據(jù)鏈路層(MS/TP

        數(shù)據(jù)鏈路層負責將報文從一個設備傳送到另一個單獨設備,或者所有本地網(wǎng)設備。在本文中,只討論MS/TP網(wǎng)絡。MS/TP使用主/從令牌來控制對總線網(wǎng)絡的訪問。MS/TP協(xié)議向上為網(wǎng)絡層提供與ISO 8802-2邏輯鏈路控制協(xié)議一樣的服務;向下使用EIA-485物理層提供的服務。

        二、程序實現(xiàn)

        2.1 協(xié)議棧軟件結構

        在高端機器(如工作站)上,我們可以很好地利用C++語言的面向對象特性,完整實現(xiàn)整個BACnet協(xié)議棧。但在低端MCU上,程序空間和數(shù)據(jù)空間非常有限,因此需要盡可能簡化協(xié)議棧軟件的體系結構。同時根據(jù)不同型號的DDC,對協(xié)議棧軟件進行剪裁配置。在整個結構中最復雜的是應用層模塊,包含BACnet對象模塊,基本數(shù)據(jù)類型模塊,APDU解析/分發(fā)模塊和APDU組裝模塊。

        2.2 應用層模塊

        BACnet協(xié)議為了簡化其層次結構,使得BACnet應用層涵蓋了開放系統(tǒng)互聯(lián)參考模型(OSI)中會話層、表示層和應用層的功能。BACnet應用層模塊是BACnet應用軟件的基礎,它實現(xiàn)BACnet協(xié)議應用層內(nèi)容,負責提供工作站的各功能模塊與物理設備直接的通信服務。根據(jù)應用層的功能分析,可以將應用層劃分為如下幾個模塊:對象模塊、服務模塊、基本數(shù)據(jù)類型模塊。

        對象模塊定義了BACnet對象。BACnet對象按其功能可分為兩類:一類是采集數(shù)據(jù)的對象,如模擬輸入/輸出對象,這類對象需要訪問設備硬件;另一類對象是在采集的數(shù)據(jù)基礎上完成復雜功能,如環(huán)對象以及其他實現(xiàn)報警事件功能的對象,這類對象不需訪問硬件。另外,某些對象的屬性(如趨勢登錄對象的緩存器大小屬性)需要設備廠商根據(jù)DDC型號進行初始配置,協(xié)議棧提供對這些屬性的配置函數(shù)接口。

        服務模塊用于處理報文的分發(fā)、解析和組裝。對于從網(wǎng)絡層上來的APDU,服務模塊根據(jù)APDU的類型和服務選擇參數(shù),調(diào)用相應的服務解析模塊。服務解析模塊對APDU的信息進行解碼,并根據(jù)需要與DDC中的BACnet對象進行交互。另一方面,DDC會發(fā)出響應報文(如讀屬性響應),或者主動發(fā)出某些報文(如事件與報警服務),因此服務模塊還提供服務報文組裝的函數(shù)接口。

        基本數(shù)據(jù)類型模塊是一個工具類庫,包含對基本數(shù)據(jù)類型的定義及其編、解碼函數(shù)。BACnet包含13種應用數(shù)據(jù)類型以及其他基本數(shù)據(jù)類型。 BACnet應用數(shù)據(jù)類型可以直接進行編、解碼。BACnet基本數(shù)據(jù)類型對應著ASN.1中的復合數(shù)據(jù)類型,它是由BACnet應用數(shù)據(jù)類型配合標記按照一定的結構組合而成。因此,基本數(shù)據(jù)類型的編/解碼實際上是按一定的規(guī)則調(diào)用應用數(shù)據(jù)類型以及標記的編/解碼方法來實現(xiàn)的。

        2.3 網(wǎng)絡層模塊

        對于DDC來說,網(wǎng)絡層向應用層提供一個不確認的無連接數(shù)據(jù)單元傳輸服務。網(wǎng)絡層與應用層交互的服務原語是網(wǎng)絡層數(shù)據(jù)單元請求(N-UNITDATA.request)和網(wǎng)絡層數(shù)據(jù)單元指示(N-UNITDATA.indication)。其原語參數(shù)如下:
        N-UNITDATA.requestdestination_address, data, network_priority,data_expecting_replyN-UNITDATA.indicationsource_address, destination_address,data, network_priority,data_expecting_reply

        DDC收到來自鏈路層數(shù)據(jù),解析出相應的地址信息,并把地址信息和APDU綁定起來存放到一個結構中傳送給應用層,這樣當應用層需要回復報文時可以得到目標地址。

        2.4 數(shù)據(jù)鏈路層(MS/TP)模塊

        MS/TP是一個主從/令牌傳遞的數(shù)據(jù)鏈路協(xié)議,物理層采用RS-485半雙工通信標準。MS/TP層包含兩個狀態(tài)機,分別是主節(jié)點狀態(tài)機和接收幀狀態(tài)機;接收幀狀態(tài)機負責幀的接收,如是數(shù)據(jù)幀則調(diào)用與網(wǎng)絡層接口上傳給網(wǎng)絡層,主節(jié)點狀態(tài)機負責幀(包括數(shù)據(jù)幀和控制幀)的發(fā)送。兩個狀態(tài)機分時實現(xiàn),根據(jù)兩者之間的關系,接收幀狀態(tài)機可放在主節(jié)點狀態(tài)機中統(tǒng)一調(diào)度。圖3(略) BACnet數(shù)據(jù)鏈路層模塊結構圖,圖3顯示了BACnet數(shù)據(jù)鏈路層的子模塊:其中,接收模塊實現(xiàn)接收幀狀態(tài)機;發(fā)送模塊實現(xiàn)主節(jié)點狀態(tài)機;串口控制模塊實現(xiàn)串口驅動與收發(fā)控制,串口讀寫采用中斷方式;

        網(wǎng)絡層接口模塊定義接口及接口函數(shù)調(diào)用模塊,使用服務原語DL_UNITDATA.request()和DL_UNITDATA.indication()來實現(xiàn)。

        三、功能拓展

        本文提出了BACnet-MS/TP協(xié)議在MCU中的軟件實現(xiàn)方案,解決了BACnet控制器的通訊功能。如果進一步采用嵌入式操作系統(tǒng)實現(xiàn)多任務處理,配合數(shù)據(jù)采集、控制和組態(tài)模塊,就可以開發(fā)出實用的BACnet控制器。

        返回頂部

        海思BACnet模塊

        海思iGate400系列Modbus轉Bacnet網(wǎng)關

        海思iGate105型Modbus轉LonWorks網(wǎng)關

            版權所有:南京海思自動化系統(tǒng)有限公司    網(wǎng)站地圖:Sitemap        蘇ICP備13027346號-1
        電話:025-52804590 52804690 地址:南京市秦淮區(qū)白下高新技術產(chǎn)業(yè)園區(qū)光華路162號研發(fā)孵化綜合樓2樓 網(wǎng)址: eat001.com
        版權所有:南京海思自動化系統(tǒng)有限公司
        總機:025-52804590 / 52804690
        市場部:8008分機  售后部:8006分機
        手機:18905184663(市場)  郵箱:highsys@163.com
        南京市秦淮區(qū)白下高新技術產(chǎn)業(yè)園區(qū)光華路162號研發(fā)孵化綜合樓2樓
        RM新时代官方网站

          <object id="iftz9"></object>

                <object id="iftz9"></object>
                    RM新时代是骗人的吗 新时代游戏官方网站 RM新时代正常可以出正常提 RM新时代还能玩多久 RM新时代投资官网