亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于路由功能的BACnet/Modbus協(xié)議轉(zhuǎn)換器設(shè)計(jì)

        2012-09-07 02:10:52李春旺孫育英吳義民
        關(guān)鍵詞:通信協(xié)議以太網(wǎng)報(bào)文

        李春旺,孫育英,吳義民,施 方

        (1.北京聯(lián)合大學(xué)生物化學(xué)工程學(xué)院,北京100023;2.北京工業(yè)大學(xué),北京100022;3.北京施能通智能科技開發(fā)有限公司,北京100081)

        0 引言

        BACnet協(xié)議是樓宇自控網(wǎng)絡(luò)協(xié)議領(lǐng)域的唯一ISO標(biāo)準(zhǔn)(ISO 16484-5),幾十家著名公司開發(fā)了相關(guān)產(chǎn)品,在工程中得到廣泛應(yīng)用[1].Modbus通信協(xié)議作為規(guī)范工業(yè)自動(dòng)化網(wǎng)絡(luò)協(xié)議的國家標(biāo)準(zhǔn)之一,成為樓宇機(jī)電設(shè)備控制器和測(cè)控儀表串行通信接口的常規(guī)配置.傳統(tǒng)BACnet/Modbus網(wǎng)關(guān)的設(shè)計(jì)思路是在BACnet和Modbus兩種通信協(xié)議之間通過數(shù)據(jù)共享來實(shí)現(xiàn)數(shù)據(jù)交換,即Modbus通過輪詢方式獲取數(shù)據(jù)后暫存在數(shù)據(jù)共享區(qū),當(dāng)BACnet發(fā)出請(qǐng)求時(shí),直接從數(shù)據(jù)共享區(qū)讀取數(shù)據(jù)并進(jìn)行相應(yīng)的解析和封裝處理,保證BACnet和 Modbus協(xié)議的正確映射[2].但這種方式存在2個(gè)問題:①軟、硬件資源占用大,真正需求數(shù)據(jù)的實(shí)時(shí)轉(zhuǎn)換效率不高;②從BACnet軟件或硬件環(huán)境中,無法直接識(shí)別Modbus側(cè)設(shè)備,導(dǎo)致Modbus設(shè)備管理產(chǎn)生盲區(qū).針對(duì)以上問題,筆者研制了一種具有路由定向功能的BACnet/Modbus協(xié)議轉(zhuǎn)換器,可以實(shí)現(xiàn)Modbus設(shè)備與BACnet軟件或硬件之間的數(shù)據(jù)透明傳輸,并將Modbus設(shè)備封裝成BACnet設(shè)備,可直接支持各種BAC-net軟件或硬件對(duì)Modbus設(shè)備進(jìn)行的管理和操作功能,實(shí)現(xiàn)了真正意義的無縫集成.

        1 BACnet Ethernet與Modbus報(bào)文

        1.1 BACnet Ethernet報(bào)文結(jié)構(gòu)[3]

        BACnet協(xié)議具有應(yīng)用層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層和物理層4層架構(gòu).在數(shù)據(jù)鏈路層和物理層提供5種選擇,其中以太網(wǎng)選擇之一是由ISO 88O2 Type 1定義的邏輯連接控制協(xié)議、媒體訪問控制MAC和物理層協(xié)議組合在一起.ISO 88O2 Ethernet協(xié)議的報(bào)文比IP通信協(xié)議報(bào)文短,通信效率較高,可以避開使用IP地址技術(shù)的一些弊端,是路由器、網(wǎng)關(guān)以太網(wǎng)端口的通信協(xié)議首選.圖1所示的BACnet Ethernet通信協(xié)議報(bào)文由6個(gè)部分構(gòu)成:應(yīng)用層協(xié)議數(shù)據(jù)單元(APDU),網(wǎng)絡(luò)層協(xié)議控制信息(NPDU),數(shù)據(jù)鏈路層數(shù)據(jù)單元(LPDU),邏輯鏈路控制(LLC),X82X82X03是服務(wù)訪問點(diǎn)信息,物理層報(bào)文負(fù)責(zé)具體硬件收發(fā)字節(jié)內(nèi)容.

        1.2 Modbus報(bào)文結(jié)構(gòu)

        標(biāo)準(zhǔn)的Modbus網(wǎng)絡(luò)通信可以設(shè)置成ASCII或RTU兩種傳輸模式.Modbus報(bào)文結(jié)構(gòu)包括設(shè)備地址、功能代碼、所要發(fā)送的數(shù)據(jù)和錯(cuò)誤檢測(cè)域.Modbus通信使用主從方式,即主設(shè)備能發(fā)送查詢報(bào)文幀進(jìn)行查詢,從設(shè)備根據(jù)主設(shè)備查詢提供的數(shù)據(jù)發(fā)送回應(yīng)報(bào)文幀作出反應(yīng).查詢報(bào)文幀中的功能代碼告之被選中的從設(shè)備要執(zhí)行何種功能,數(shù)據(jù)段包含了從設(shè)備要執(zhí)行功能的任何附加信息,錯(cuò)誤檢測(cè)域?yàn)閺脑O(shè)備提供了一種驗(yàn)證消息內(nèi)容是否正確的方法[4].如果從設(shè)備產(chǎn)生正常的回應(yīng),在回應(yīng)報(bào)文幀中的功能代碼是在查詢消息中的功能代碼的回應(yīng),數(shù)據(jù)段包括了從設(shè)備收集的數(shù)據(jù),如寄存器值或狀態(tài),如果有錯(cuò)誤發(fā)生,功能代碼將被修改以用于指出回應(yīng)報(bào)文是錯(cuò)誤的,同時(shí)數(shù)據(jù)段包含了描述此錯(cuò)誤信息的代碼.錯(cuò)誤檢測(cè)域允許主設(shè)備確認(rèn)消息內(nèi)容是否可用.

        圖1 BACnet Ethernet通信協(xié)議的報(bào)文結(jié)構(gòu)Fig.1 BACnet Ethernet communication protocol message structure

        2 基于BACnet路由功能的報(bào)文轉(zhuǎn)換方法

        2.1 BACnet Ethernet報(bào)文轉(zhuǎn)化為Modbus報(bào)文的解析和封裝

        圖2為BACnet Ethernet報(bào)文轉(zhuǎn)化為Modbus報(bào)文的過程.圖2所示,BACnet NPDU報(bào)文中的NPCI存放的是Modbus設(shè)備地址,當(dāng)BACnet軟件或BACnet以太網(wǎng)設(shè)備發(fā)出BACnet NPDU報(bào)文時(shí),直接將Modbus設(shè)備地址解析出來,傳遞給處理Modbus設(shè)備通信協(xié)議的任務(wù)中,Modbus設(shè)備通信處理任務(wù)的下一次指令則直接針對(duì)這個(gè)地址的Modbus設(shè)備進(jìn)行主從查詢,即發(fā)出對(duì)這個(gè)地址的Modbus設(shè)備的查詢指令字節(jié).

        2.2 Modbus報(bào)文轉(zhuǎn)化為BACnet Ethernet報(bào)文的解析和封裝

        圖3所示,將Modbus設(shè)備回復(fù)的應(yīng)答數(shù)據(jù)報(bào)文中的Modbus設(shè)備地址直接解析出來,傳遞給處理BACnet設(shè)備通信協(xié)議的任務(wù)中,其下一次任務(wù)執(zhí)行則回復(fù)給查詢軟件或其它以太網(wǎng)設(shè)備所查詢的Modbus設(shè)備的地址及數(shù)據(jù)內(nèi)容.

        2.3 BACnet路由功能的實(shí)現(xiàn)

        2.3.1 BACnet“I am”響應(yīng)功能

        當(dāng)轉(zhuǎn)換器收到BACnet軟件或其它BACnet以太網(wǎng)設(shè)備發(fā)出的BACnet對(duì)象“Who is”查詢指令時(shí),轉(zhuǎn)換器根據(jù)已經(jīng)在線Modbus設(shè)備的地址,為每個(gè)Modbus設(shè)備自動(dòng)分配生成BACnet通信協(xié)議必需的器件編號(hào).例如,假設(shè)Modbus設(shè)備所在的RS485通信網(wǎng)絡(luò)被定義為BACnet通信網(wǎng)絡(luò),網(wǎng)絡(luò)編號(hào)為61,則硬件地址為1的Modbus設(shè)備的BACnet器件編號(hào)為6101,硬件地址為2的Modbus設(shè)備的BACnet器件編號(hào)為6102,…,依此類推,將每個(gè)在線的Modbus設(shè)備均分配一個(gè)獨(dú)立的BACnet通信時(shí)唯一辨識(shí)的編號(hào),完成了Modbus設(shè)備的BACnet封裝的基本條件準(zhǔn)備.然后,就在Modbus設(shè)備地址的前后封裝網(wǎng)絡(luò)編號(hào)和其器件編號(hào),組成標(biāo)準(zhǔn)的BACnet報(bào)文,并向BACnet軟件或其它BACnet以太網(wǎng)設(shè)備發(fā)回“I am”回應(yīng)報(bào)文.如圖4所示.

        2.3.2 BACnet“Read”響應(yīng)功能

        當(dāng)BACnet軟件或其它BACnet以太網(wǎng)設(shè)備收到轉(zhuǎn)換器發(fā)出的“I am”回應(yīng)報(bào)文后,發(fā)出查詢?cè)揗odbus設(shè)備型號(hào)、數(shù)據(jù)等信息的 BACnet報(bào)文.當(dāng)轉(zhuǎn)換器收到該報(bào)文時(shí),將報(bào)文中的NPCI網(wǎng)絡(luò)報(bào)文頭部中的Modbus設(shè)備地址信息解析出來,立即啟動(dòng)Modbus側(cè)的查詢?nèi)蝿?wù),將查詢?cè)摰刂吩O(shè)備相關(guān)信息的Modbus報(bào)文發(fā)送出去.當(dāng)收到查詢結(jié)果時(shí),封裝為BACnet報(bào)文進(jìn)行回復(fù),實(shí)現(xiàn)對(duì)BACnet的“Read”響應(yīng)功能.當(dāng)轉(zhuǎn)換器收到查詢地址1 Modbus設(shè)備型號(hào)的報(bào)文時(shí),回復(fù)的響應(yīng)報(bào)文,如圖5所示.

        3 協(xié)議轉(zhuǎn)換器的設(shè)計(jì)與實(shí)現(xiàn)

        3.1 協(xié)議轉(zhuǎn)換器的硬件設(shè)計(jì)

        圖6所示電路包括控制單元、以太網(wǎng)接口、串行接口和系統(tǒng)電源.控制單元采用TI的微控制器Lm3s6911+實(shí)現(xiàn),用于路由定向、Modbus與BAC-net Ethernet報(bào)文的雙向解析和封裝.在通信方面,Lm3s6911+有3個(gè)可編程的UART,2個(gè)同步串行接口SSI和可編程MAC地址的10/100 MHz以太網(wǎng)控制器.其中2個(gè)同步串口做為Modbus的通信端口,MAX485CPA芯片分別與Lm3s6911+的PA2和PA3引腳連接,用于接收和發(fā)送封裝好的Modbus網(wǎng)絡(luò)數(shù)據(jù).100 MHz以太網(wǎng)接口做為BACnet Ethernet通信端口.本設(shè)計(jì)中,系統(tǒng)電源提供標(biāo)準(zhǔn)5 V和3.3 V兩種電壓,5 V用于給接口電路供電,3.3 V用于給控制單元供電,再通過Lm3s6911+中可編程片內(nèi)低壓差穩(wěn)壓器調(diào)整到2.75 V以滿足芯片的要求.

        3.2 協(xié)議轉(zhuǎn)換器軟件設(shè)計(jì)

        轉(zhuǎn)換器軟件為BACnet和Modbus通信協(xié)議的實(shí)現(xiàn)各分配一個(gè)獨(dú)立任務(wù),在兩個(gè)任務(wù)之間建立路由關(guān)系,傳遞Modbus設(shè)備的通信協(xié)議地址和數(shù)據(jù)內(nèi)容.為實(shí)現(xiàn)多任務(wù)功能,軟件系統(tǒng)架構(gòu)采用免費(fèi)開源的嵌入式操作系統(tǒng)ucOSII,具有小巧、可裁減、實(shí) 時(shí) 的 特 點(diǎn)[5-6].將 ucOSII 移 植 到Lm3s6911+微控制器上,并根據(jù)轉(zhuǎn)換器的需要對(duì)其內(nèi)核進(jìn)行配置,連同用ANSI C編寫的應(yīng)用程序一同編譯下載到控制單元,實(shí)現(xiàn)了可同時(shí)偵聽和處理BACnet Ethernet通信協(xié)議幀和Modbus通信協(xié)議幀的功能.

        轉(zhuǎn)換器Modbus側(cè)的任務(wù)要同步跟隨BACnet側(cè)的需求,當(dāng)BACnet側(cè)查詢某個(gè)地址的Modbus設(shè)備信息時(shí),轉(zhuǎn)換器的路由功能則唯一定向在這個(gè)地址上,啟動(dòng)Modbus側(cè)的查詢?nèi)蝿?wù),并將查詢結(jié)果BACnet封裝后返回BACnet側(cè).為了實(shí)現(xiàn)上述任務(wù)的協(xié)同工作,轉(zhuǎn)換器在軟件設(shè)計(jì)上采用了“消息”機(jī)制,即在BACnet和Modbus通信協(xié)議處理任務(wù)中分別建立了“消息”標(biāo)記,用來同步BACnet報(bào)文中的NPCI段和Modbus報(bào)文地址段,及BACnet報(bào)文的APDU段和Modbus報(bào)文數(shù)據(jù)段的相關(guān)信息.

        需要注意的是,為了提高通信效率,轉(zhuǎn)換器需要每次Modbus查詢能回復(fù)該Modbus設(shè)備的全部寄存器表數(shù)據(jù),因此Modbus設(shè)備必須支持批讀查詢指令,而且能夠提供寄存器表內(nèi)的全部數(shù)據(jù)值的固定格式,以便于解析封裝為對(duì)應(yīng)的BACnet點(diǎn)位AV或BV值.

        圖6 硬件電路原理圖Fig.6 Hardware circuit principle diagram

        4 實(shí)驗(yàn)測(cè)試

        4.1 Modbus設(shè)備封裝為BACnet設(shè)備測(cè)試

        傳統(tǒng)的 BACnet/Modbus網(wǎng)關(guān),在 BACnet軟件環(huán)境下只能顯示該網(wǎng)關(guān)及其全部已經(jīng)完成數(shù)據(jù)共享的Modbus數(shù)據(jù),而無法看到每個(gè)Modbus設(shè)備的狀態(tài).筆者采用帶 Modbus通信接口的YD2010數(shù)字電表做為Modbus設(shè)備,典型的Navigator樓宇自動(dòng)化組態(tài)軟件做為BACnet設(shè)備.圖7所示,新型協(xié)議轉(zhuǎn)換器直接將Modbus設(shè)備封裝為具有BACnet對(duì)象屬性的BACnet設(shè)備,Navigator軟件將YD2010數(shù)字電表等同于BACnet DDC設(shè)備進(jìn)行管理,并正常顯示了讀取的全部數(shù)據(jù).

        4.2 實(shí)時(shí)性測(cè)試分析

        基于路由功能的BACnet/Modbus轉(zhuǎn)換器,通過路由功能直接根據(jù)Modbus設(shè)備地址進(jìn)行地址定向查詢,無需將資源浪費(fèi)在沒有查詢需求的Modbus設(shè)備數(shù)據(jù)上,保證了BACnet設(shè)備讀取的均為實(shí)時(shí)值.圖8為采用邏輯分析儀對(duì)查詢-響應(yīng)速度測(cè)試的結(jié)果,白色數(shù)據(jù)塊為電表回復(fù)字節(jié)信息,可以看出回復(fù)內(nèi)容本身需要100 ms左右的發(fā)送時(shí)間.白色數(shù)據(jù)塊之間的黑色間隔時(shí)間長度加上白色數(shù)據(jù)塊的時(shí)間長度則為軟件發(fā)送查詢命令的間隔時(shí)間,約為200 ms左右,達(dá)到了每秒鐘查詢5塊Modbus電表內(nèi)的所有電量值的速度.若采用傳統(tǒng)的BACnet/Modbus網(wǎng)關(guān),則無法保證實(shí)時(shí)性和效率.以集成30個(gè)聯(lián)網(wǎng)的Modbus數(shù)字電表為例,每秒鐘順序查詢5個(gè)Modbus電表內(nèi)所有數(shù)據(jù),則需要6 s完成網(wǎng)關(guān)內(nèi)數(shù)據(jù)共享區(qū)的所有數(shù)據(jù)更新,從而導(dǎo)致BACnet設(shè)備通過網(wǎng)關(guān)讀取的Modbus電表數(shù)據(jù)已經(jīng)滯后實(shí)時(shí)值6 s,還未必都是BACnet側(cè)所需查詢數(shù)據(jù).

        5 結(jié)論

        采用嵌入式技術(shù)實(shí)現(xiàn)基于路由功能的BAC-net/Modbus轉(zhuǎn)換器,直接將Modbus設(shè)備封裝為具有BACnet對(duì)象屬性的BACnet設(shè)備,可以利用現(xiàn)有的各種BACnet軟件進(jìn)行管理和操作,彌補(bǔ)了傳統(tǒng)Modbus網(wǎng)關(guān)管理不透明的缺陷,提高了實(shí)時(shí)性,方便了在BACnet環(huán)境中Modbus設(shè)備的調(diào)試和維護(hù),提高了系統(tǒng)集成的價(jià)值.

        [1]董春橋,劉賢德,惠曉實(shí).樓宇自動(dòng)控制網(wǎng)絡(luò)通信協(xié)議BACnet實(shí)現(xiàn)模型的研究[J].計(jì)算機(jī)工程與應(yīng)用2003,39(5):172 -174.

        [2]廖方誠,周祖德.基于BACnet和Modbus協(xié)議轉(zhuǎn)換器的設(shè)計(jì)[J].武漢理工大學(xué)學(xué)報(bào).2009,31(23):89-91.

        [3]ANSI/ASHARE Standard 135 -2001:BACnet-A Data Communication Protocol for Building Automation and Control Networks,USA 2001.

        [4]線巖團(tuán),許江淳,鄢大鵬.基于單片機(jī)的MODBUS的協(xié)議實(shí)現(xiàn)[J].云南大學(xué)學(xué)報(bào):自然科學(xué)版.2009,31(S2):120 -124.

        [5]張桂,金國強(qiáng),李輝.基于ARM平臺(tái)Modbus RTU協(xié)議的研究與實(shí)現(xiàn)[J].電力科學(xué)與工程,2011,27(1):23 -27.

        [6]邵貝貝.嵌入式實(shí)時(shí)操作系統(tǒng)ucOSII[M].北京:北京航空航天出版社,2006.

        猜你喜歡
        通信協(xié)議以太網(wǎng)報(bào)文
        基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
        汽車電器(2022年9期)2022-11-07 02:16:24
        基于1500以太網(wǎng)養(yǎng)豬場(chǎng)的智能飼喂控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        CTCS-2級(jí)報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
        淺析反駁類報(bào)文要點(diǎn)
        中國外匯(2019年11期)2019-08-27 02:06:30
        基于Z-Stack通信協(xié)議棧的紅外地溫采集電路設(shè)計(jì)
        談實(shí)時(shí)以太網(wǎng)EtherCAT技術(shù)在變電站自動(dòng)化中的應(yīng)用
        電子制作(2017年24期)2017-02-02 07:14:44
        ATS與列車通信報(bào)文分析
        基于DMX512通信協(xié)議的多路轉(zhuǎn)發(fā)器設(shè)計(jì)與研究
        基于NS-3的PLC多頻通信協(xié)議仿真平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
        一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計(jì)
        国产一品二品三品精品久久| 啪啪无码人妻丰满熟妇| 中文在线а√天堂官网| 日韩中文字幕网站| 国产成人精品一区二区不卡| 狠狠躁18三区二区一区| 99精产国品一二三产品香蕉| 国产熟女精品一区二区三区| 国产精品一区二区三区三| 夜夜高潮夜夜爽夜夜爱爱一区| 国产黄在线观看免费观看不卡| 国产精品爽爽va在线观看网站| 日本一级二级三级在线| 成人影院在线视频免费观看| 亚洲色欲综合一区二区三区 | 在线视频中文字幕乱人伦| 黄页免费人成网址大全| 99国产精品99久久久久久| 久久久久久国产精品美女| 99福利影院| 中文字幕乱码亚洲在线| 久久久久国产综合av天堂| 欧美一级三级在线观看| 激情视频在线观看免费播放| 精品一区二区三区四区国产| 日韩人妻无码一区二区三区| 日韩av一区二区毛片| 久久一区二区av毛片国产| 99精品久久精品一区二区| 国产精品亚洲一区二区无码国产| 日韩精品中文字幕免费人妻| 又黄又刺激的网站久久| 国产亚洲人成a在线v网站| 天堂Av无码Av一区二区三区| 中文字幕一区二区三区四区| 老太脱裤子让老头玩xxxxx | 91九色中文视频在线观看| 亚洲av午夜福利精品一区二区 | 99久久精品国产一区二区| 日本一区二区不卡视频| 国产一区二区三区资源在线观看|