時間:2007-07-16 13:30:00來æºï¼šshixiang
1 引言
20世紀90年代,Internetç¶“æ·äº†çˆ†ç‚¸æ€§ç™¼å±•,æˆç‚ºå£Ÿæ–·å…¨çƒçš„計算機網絡。以Ciscoå’ŒSun為代表的一批公å¸å€ŸåŠ©é€™ä¸€æµªæ½®ç™¼å±•æˆç‚ºä¸–ç•Œä¸Šé ‚å°–çš„å¤§å…¬å¸ã€‚而在智能建ç‘é ˜åŸŸï¼Œä¹Ÿæ£åœ¨é‡ç¾é€™ä¸€éŽç¨‹ã€‚上世紀80å¹´ä»£ï¼Œç›´æŽ¥æ•¸å—æŽ§åˆ¶å™¨ï¼ˆDDC)的出ç¾å¤§å¤§æ”¹å–„äº†å»ºç‘æŽ§åˆ¶ç³»çµ±çš„ç²¾åº¦å’Œéˆæ´»æ€§ã€‚ä½†éš¨è‘—æ™ºèƒ½å»ºç‘æ¶‰åŠé ˜åŸŸçš„䏿–·å»¶ä¼¸ï¼Œå¦‚HVACã€ç…§æ˜Žã€æ¶ˆé˜²ã€å®‰é˜²ç‰ç‰é ˜åŸŸï¼Œåˆ†ç«‹å¼æŽ§åˆ¶è¨å‚™å·²ç¶“ä¸èƒ½æ»¿è¶³è¨å‚™é–“互æ“作和系統間通訊的需求;å¦ä¸€æ–¹é¢ï¼Œéš¨è‘—å»ºç‘æŽ§åˆ¶ç³»çµ±çš„é›†æˆåº¦è¶Šä¾†è¶Šé«˜ï¼Œä¸åƒ…è¦æ±‚一棟樓宇或者一個å°å€çš„è¨å‚™ä¹‹é–“å¯ä»¥é€šè¨Šï¼Œç”šè‡³åœ°å€ã€åœ‹å®¶ä¹ƒè‡³å…¨çƒçš„æŽ§åˆ¶è¨å‚™ä¹‹é–“都å¯ä»¥é€²è¡Œé€šè¨Šã€‚å› æ¤ï¼Œå»ºç«‹ä¸€å€‹å¯ä»¥åœ¨ç•°æ§‹ç³»çµ±ã€ä¸åŒå» 商è¨å‚™ä¹‹é–“的通訊機制,æˆç‚ºå»ºç‘智能化的迫切需求。BACnetå”è°å°±åœ¨é€™æ¨£ä¸€ç¨®æƒ…æ³ä¸‹æ‡‰é‹è€Œç”Ÿäº†ã€‚
2 BACnetå”è°ä»‹ç´¹
BACnet是專門為建ç‘自動控制網絡制定的一種數據通信å”è°ï¼Œæœ€åˆç”±ç¾Žåœ‹åˆ¶å†·é‡‡æš–ç©ºèª¿å·¥ç¨‹å¸«å”æœƒï¼ˆç°¡ç¨±ASHRAE)于1995å¹´åˆ¶å®šã€‚å…¶æœ€æ ¹æœ¬çš„ç›®çš„æ˜¯è¦æä¾›çµ¦å»ºç‘自動控制系統實ç¾äº’æ“作的方法。所謂互æ“作是指一種能力,å¯ä»¥ä½¿å¾—分布的控制系統è¨å‚™é€šéŽç›¸é—œä¿¡æ¯çš„æ•¸å—交æ›ï¼Œèƒ½å¤ å”調地工作,從而完æˆä¸€å€‹å…±åŒçš„目標。BACnet解決了建ç‘自控系統ä¸å˜åœ¨çš„å¤šå» å•†ç³»çµ±å’Œè¨å‚™ä¸å…¼å®¹è€Œé›£ä»¥é›†æˆçš„å•題,æä¾›äº†ä¸åŒå»ºç‘自動控制系統實ç¾äº’æ“作的方法,有望æˆç‚ºæŽ§åˆ¶ç¶²çµ¡ä¸çš„TCP/IPå”è°ã€‚2003å¹´1月,BACnetæˆç‚ºæ£å¼çš„國際標準(ISO 16484標準)。 BACnet有以下特點:
·é–‹æ”¾æ€§ï¼šæ˜¯ç¾Žåœ‹ç¾è¡Œçš„國家標準和ISO國際標準。
·é¢å‘å°è±¡ï¼šBACnetå”è°é‡‡ç”¨é¢å‘å°è±¡çš„æŠ€è¡“ï¼Œå› æ¤å…·æœ‰å¯æ“´å±•性和å¯å¾©ç”¨æ€§ã€‚
·äº’æ“作性:ASHRAEçš„BACnet委員會æå‡ºäº†ä¸€ç¨®æ–°çš„æè¿°è‡ªå‹•控制系統功能性的方法,稱為“互æ“作域(Interoperability Areas)”,其ä¸è¦å®šäº†5個互æ“作域,分別是:數據共享ã€å ±è¦å’Œäº‹ä»¶ç®¡ç†ã€æ™‚åºå®‰æŽ’ã€è¶¨å‹¢è¨˜éŒ„ã€è¨å‚™èˆ‡ç¶²çµ¡ç®¡ç†ã€‚
2.1 BACneté«”ç³»çµæ§‹
BACnet以OSI模型為åƒè€ƒï¼Œçµåˆå»ºç‘è‡ªå‹•æŽ§åˆ¶é ˜åŸŸçš„å¯¦éš›éœ€æ±‚ï¼Œå½¢æˆäº†ä¸€å€‹ç°¡åŒ–模型。BACnetå……åˆ†åˆ©ç”¨ç¾æœ‰æˆç†Ÿçš„網絡技術,在底層兼容5ç¨®ç¶²çµ¡çµæ§‹ï¼Œé™ä½Žäº†é–‹ç™¼æˆæœ¬ï¼ŒåŒæ™‚也利于系統集æˆã€‚
2.2 應用層
應用層å”è°æ•¸æ“šå–®å…ƒï¼ˆAPDU)傳é€åŒ…å«åœ¨æ‡‰ç”¨æœå‹™åŽŸèªžå’Œç›¸é—œåƒæ•¸ä¸çš„ä¿¡æ¯ã€‚å› ç‚ºBACnet采用簡化的OSIé«”ç³»çµæ§‹ï¼Œä¸åŒ…å«ä»»ä½•è¡¨ç¤ºå±¤çš„åŠŸèƒ½ï¼Œå¿…é ˆé 先定義好通信è¨å‚™ä¸€è‡´éµå®ˆçš„編碼è¦å‰‡ã€‚BACnet的編碼è¦å‰‡è¨è¨ˆè€ƒæ…®åˆ°äº†æ¨“宇自動控制體系å°ç°¡å–®åŒ–ã€ç·Šæ¹ŠåŒ–çš„è¦æ±‚ã€‚å› æ¤ï¼Œé€™å€‹ç·¨ç¢¼è¦å‰‡åœ¨ä¸€äº›æ–¹é¢èˆ‡ISO 8825有所ä¸åŒã€‚但是ä»ç„¶å…許使用ASN.1å°BACnetçš„APDU進行編碼。
2.3 網絡層
網絡層æä¾›ç¶²çµ¡è·¯ç”±åŠŸèƒ½ï¼Œä½¿å¾—å ±æ–‡å¯ä»¥è¢«ç›´æŽ¥å‚³éžåˆ°ä¸€å€‹é 程è¨å‚™ã€ä¸€å€‹é 程網絡上的所有è¨å‚™ã€æˆ–者所有網絡上的所有è¨å‚™ã€‚一個BACnetè¨å‚™ç”±ä¸€å€‹ç¶²çµ¡è™Ÿç¢¼å’Œä¸€å€‹MAC地å€å”¯ä¸€ç¢ºå®šã€‚由于BACnetå”è°è¦å®šå…©å€‹BACnetè¨å‚™ä¹‹é–“åªèƒ½æœ‰ä¸€æ¢æœ‰æ•ˆè·¯å¾‘,這個é™åˆ¶å¤§å¤§é™ä½Žäº†ç¶²çµ¡å±¤çš„復雜性,簡化了路由算法。
2.4 數據éˆè·¯å±¤ï¼ˆMS/TP)
數據éˆè·¯å±¤è² è²¬å°‡å ±æ–‡å¾žä¸€å€‹è¨å‚™å‚³é€åˆ°å¦ä¸€å€‹å–®ç¨è¨å‚™ï¼Œæˆ–者所有本地網è¨å‚™ã€‚在本文ä¸ï¼Œåªè¨Žè«–MS/TP網絡。MS/TP使用主/從令牌來控制å°ç¸½ç·šç¶²çµ¡çš„訪å•。MS/TPå”è°å‘上為網絡層æä¾›èˆ‡ISO 8802-2é‚輯éˆè·¯æŽ§åˆ¶å”è°ä¸€æ¨£çš„æœå‹™ï¼›å‘下使用EIA-485物ç†å±¤æä¾›çš„æœå‹™ã€‚
3 程åºå¯¦ç¾
3.1 å”è°æ£§è»Ÿä»¶çµæ§‹
在高端機器(如工作站)上,我們å¯ä»¥å¾ˆå¥½åœ°åˆ©ç”¨C++語言的é¢å‘å°è±¡ç‰¹æ€§ï¼Œå®Œæ•´å¯¦ç¾æ•´å€‹BACnetå”è°æ£§ã€‚但在低端MCU上,程åºç©ºé–“和數據空間éžå¸¸æœ‰é™ï¼Œå› æ¤éœ€è¦ç›¡å¯èƒ½ç°¡åŒ–å”è°æ£§è»Ÿä»¶çš„é«”ç³»çµæ§‹ã€‚åŒæ™‚æ ¹æ“šä¸åŒåž‹è™Ÿçš„DDC,å°å”è°æ£§è»Ÿä»¶é€²è¡Œå‰ªè£é…置。圖2(略)表示了å”è°æ£§è»Ÿä»¶ä¸å„個模塊之間的接å£é—œç³»ã€‚åœ¨æ•´å€‹çµæ§‹ä¸æœ€å¾©é›œçš„æ˜¯æ‡‰ç”¨å±¤æ¨¡å¡Šï¼ŒåŒ…å«BACnetå°è±¡æ¨¡å¡Šï¼ŒåŸºæœ¬æ•¸æ“šé¡žåž‹æ¨¡å¡Šï¼ŒAPDUè§£æž/分發模塊和APDUçµ„è£æ¨¡å¡Šã€‚
3.2 應用層模塊
BACnetå”è°ç‚ºäº†ç°¡åŒ–å…¶å±¤æ¬¡çµæ§‹ï¼Œä½¿å¾—BACnet應用層涵蓋了開放系統互è¯åƒè€ƒæ¨¡åž‹ï¼ˆOSIï¼‰ä¸æœƒè©±å±¤ã€è¡¨ç¤ºå±¤å’Œæ‡‰ç”¨å±¤çš„功能。BACnet應用層模塊是BACnet應用軟件的基礎,它實ç¾BACnetå”è°æ‡‰ç”¨å±¤å…§å®¹ï¼Œè² 責æä¾›å·¥ä½œç«™çš„å„功能模塊與物ç†è¨å‚™ç›´æŽ¥çš„通信æœå‹™ã€‚æ ¹æ“šæ‡‰ç”¨å±¤çš„åŠŸèƒ½åˆ†æžï¼Œå¯ä»¥å°‡æ‡‰ç”¨å±¤åŠƒåˆ†ç‚ºå¦‚ä¸‹å¹¾å€‹æ¨¡å¡Šï¼šå°è±¡æ¨¡å¡Šã€æœå‹™æ¨¡å¡Šã€åŸºæœ¬æ•¸æ“šé¡žåž‹æ¨¡å¡Šã€‚
å°è±¡æ¨¡å¡Šå®šç¾©äº†BACnetå°è±¡ã€‚BACnetå°è±¡æŒ‰å…¶åŠŸèƒ½å¯åˆ†ç‚ºå…©é¡žï¼šä¸€é¡žæ˜¯é‡‡é›†æ•¸æ“šçš„å°è±¡ï¼Œå¦‚模擬輸入/輸出å°è±¡ï¼Œé€™é¡žå°è±¡éœ€è¦è¨ªå•è¨å‚™ç¡¬ä»¶ï¼›å¦ä¸€é¡žå°è±¡æ˜¯åœ¨é‡‡é›†çš„æ•¸æ“šåŸºç¤Žä¸Šå®Œæˆå¾©é›œåŠŸèƒ½ï¼Œå¦‚ç’°å°è±¡ä»¥åŠå…¶ä»–實ç¾å ±è¦äº‹ä»¶åŠŸèƒ½çš„å°è±¡ï¼Œé€™é¡žå°è±¡ä¸éœ€è¨ªå•硬件。å¦å¤–,æŸäº›å°è±¡çš„屬性(如趨勢登錄å°è±¡çš„ç·©å˜å™¨å¤§å°å±¬æ€§ï¼‰éœ€è¦è¨å‚™å» å•†æ ¹æ“šDDC型號進行åˆå§‹é…置,å”è°æ£§æä¾›å°é€™äº›å±¬æ€§çš„é…置函數接å£ã€‚
æœå‹™æ¨¡å¡Šç”¨äºŽè™•ç†å ±æ–‡çš„分發ã€è§£æžå’Œçµ„è£ã€‚å°äºŽå¾žç¶²çµ¡å±¤ä¸Šä¾†çš„APDU,æœå‹™æ¨¡å¡Šæ ¹æ“šAPDU的類型和æœå‹™é¸æ“‡åƒæ•¸ï¼Œèª¿ç”¨ç›¸æ‡‰çš„æœå‹™è§£æžæ¨¡å¡Šã€‚æœå‹™è§£æžæ¨¡å¡Šå°APDU的信æ¯é€²è¡Œè§£ç¢¼ï¼Œå¹¶æ ¹æ“šéœ€è¦èˆ‡DDCä¸çš„BACnetå°è±¡é€²è¡Œäº¤äº’。å¦ä¸€æ–¹é¢ï¼ŒDDCæœƒç™¼å‡ºéŸ¿æ‡‰å ±æ–‡ï¼ˆå¦‚è®€å±¬æ€§éŸ¿æ‡‰ï¼‰ï¼Œæˆ–è€…ä¸»å‹•ç™¼å‡ºæŸäº›å ±æ–‡ï¼ˆå¦‚äº‹ä»¶èˆ‡å ±è¦æœå‹™ï¼‰ï¼Œå› æ¤æœå‹™æ¨¡å¡Šé‚„æä¾›æœå‹™å ±æ–‡çµ„è£çš„函數接å£ã€‚
基本數據類型模塊是一個工具類庫,包å«å°åŸºæœ¬æ•¸æ“šé¡žåž‹çš„定義åŠå…¶ç·¨ã€è§£ç¢¼å‡½æ•¸ã€‚BACnet包å«13種應用數據類型以åŠå…¶ä»–基本數據類型。BACnet應用數據類型å¯ä»¥ç›´æŽ¥é€²è¡Œç·¨ã€è§£ç¢¼ã€‚BACnetåŸºæœ¬æ•¸æ“šé¡žåž‹å°æ‡‰è‘—ASN.1ä¸çš„å¾©åˆæ•¸æ“šé¡žåž‹ï¼Œå®ƒæ˜¯ç”±BACnet應用數據類型é…åˆæ¨™è¨˜æŒ‰ç…§ä¸€å®šçš„çµæ§‹çµ„åˆè€Œæˆã€‚å› æ¤ï¼ŒåŸºæœ¬æ•¸æ“šé¡žåž‹çš„ç·¨/解碼實際上是按一定的è¦å‰‡èª¿ç”¨æ‡‰ç”¨æ•¸æ“šé¡žåž‹ä»¥åŠæ¨™è¨˜çš„ç·¨/解碼方法來實ç¾çš„。
3.3 網絡層模塊
å°äºŽDDCä¾†èªªï¼Œç¶²çµ¡å±¤å‘æ‡‰ç”¨å±¤æä¾›ä¸€å€‹ä¸ç¢ºèªçš„無連接數據單元傳輸æœå‹™ã€‚網絡層與應用層交互的æœå‹™åŽŸèªžæ˜¯ç¶²çµ¡å±¤æ•¸æ“šå–®å…ƒè«‹æ±‚ï¼ˆN-UNITDATA.request)和網絡層數據單元指示(N-UNITDATA.indicationï¼‰ã€‚å…¶åŽŸèªžåƒæ•¸å¦‚下: N-UNITDATA.request(destination_address, data, network_priority,data_expecting_reply) N-UNITDATA.indication(source_address, destination_address,data, network_priority,data_expecting_reply)
ç•¶DDC收到來自éˆè·¯å±¤æ•¸æ“šï¼Œè§£æžå‡ºç›¸æ‡‰çš„地å€ä¿¡æ¯ï¼Œå¹¶æŠŠåœ°å€ä¿¡æ¯å’ŒAPDUç¶å®šèµ·ä¾†å˜æ”¾åˆ°ä¸€å€‹çµæ§‹ä¸å‚³é€çµ¦æ‡‰ç”¨å±¤ï¼Œé€™æ¨£ç•¶æ‡‰ç”¨å±¤éœ€è¦å›žå¾©å ±æ–‡æ™‚å¯ä»¥å¾—到目標地å€ã€‚
3.4 數據éˆè·¯å±¤ï¼ˆMS/TP)模塊
MS/TP是一個主從/令牌傳éžçš„æ•¸æ“šéˆè·¯å”è°ï¼Œç‰©ç†å±¤é‡‡ç”¨RS-485åŠé›™å·¥é€šä¿¡æ¨™æº–。MS/TP層包å«å…©å€‹ç‹€æ…‹æ©Ÿï¼Œåˆ†åˆ¥æ˜¯ä¸»ç¯€é»žç‹€æ…‹æ©Ÿå’ŒæŽ¥æ”¶å¹€ç‹€æ…‹æ©Ÿï¼›æŽ¥æ”¶å¹€ç‹€æ…‹æ©Ÿè² 責幀的接收,如是數據幀則調用與網絡層接å£ä¸Šå‚³çµ¦ç¶²çµ¡å±¤ï¼Œä¸»ç¯€é»žç‹€æ…‹æ©Ÿè² 責幀(包括數據幀和控制幀)的發é€ã€‚兩個狀態機分時實ç¾ï¼Œæ ¹æ“šå…©è€…ä¹‹é–“çš„é—œç³»ï¼ŒæŽ¥æ”¶å¹€ç‹€æ…‹æ©Ÿå¯æ”¾åœ¨ä¸»ç¯€é»žç‹€æ…‹æ©Ÿä¸çµ±ä¸€èª¿åº¦ã€‚圖3(略) BACnet數據éˆè·¯å±¤æ¨¡å¡Šçµæ§‹åœ–,圖3顯示了BACnet數據éˆè·¯å±¤çš„忍¡å¡Šï¼šå…¶ä¸ï¼ŒæŽ¥æ”¶æ¨¡å¡Šå¯¦ç¾æŽ¥æ”¶å¹€ç‹€æ…‹æ©Ÿï¼›ç™¼é€æ¨¡å¡Šå¯¦ç¾ä¸»ç¯€é»žç‹€æ…‹æ©Ÿï¼›ä¸²å£æŽ§åˆ¶æ¨¡å¡Šå¯¦ç¾ä¸²å£é©…動與收發控制,串å£è®€å¯«é‡‡ç”¨ä¸æ–·æ–¹å¼ï¼›
ç¶²çµ¡å±¤æŽ¥å£æ¨¡å¡Šå®šç¾©æŽ¥å£åпޥå£å‡½æ•¸èª¿ç”¨æ¨¡å¡Šï¼Œä½¿ç”¨æœå‹™åŽŸèªžDL_UNITDATA.request()和DL_UNITDATA.indication()來實ç¾ã€‚
4 çµæŸèªž
本文æå‡ºäº†BACnet-MS/TPå”è°åœ¨MCUä¸çš„è»Ÿä»¶å¯¦ç¾æ–¹æ¡ˆï¼Œè§£æ±ºäº†BACnet控制器的通訊功能。如果進一æ¥é‡‡ç”¨åµŒå…¥å¼æ“作系統實ç¾å¤šä»»å‹™è™•ç†ï¼Œé…åˆæ•¸æ“šé‡‡é›†ã€æŽ§åˆ¶å’Œçµ„態模塊,就å¯ä»¥é–‹ç™¼å‡ºå¯¦ç”¨çš„BACnet控制器。
標簽:
上一篇:智能儀表的CAN接å£è¨è¨ˆ
下一篇:微能WIN-V63çŸ¢é‡æŽ§åˆ¶è®Šé »å™¨åœ¨...
ä¸åœ‹å‚³å‹•網版權與å…è²¬è²æ˜Žï¼šå‡¡æœ¬ç¶²æ³¨æ˜Ž[來æºï¼šä¸åœ‹å‚³å‹•ç¶²]的所有文å—ã€åœ–片ã€éŸ³è¦–å’Œè¦–é »æ–‡ä»¶ï¼Œç‰ˆæ¬Šå‡ç‚ºä¸åœ‹å‚³å‹•ç¶²(www.hysjfh.com)ç¨å®¶æ‰€æœ‰ã€‚如需轉載請與0755-82949061è¯ç³»ã€‚任何媒體ã€ç¶²ç«™æˆ–å€‹äººè½‰è¼‰ä½¿ç”¨æ™‚é ˆæ³¨æ˜Žä¾†æºâ€œä¸åœ‹å‚³å‹•ç¶²â€ï¼Œé•å者本網將追究其法律責任。
本網轉載并注明其他來æºçš„稿件,å‡ä¾†è‡ªäº’è¯ç¶²æˆ–æ¥å…§æŠ•稿人士,版權屬于原版權人。轉載請ä¿ç•™ç¨¿ä»¶ä¾†æºåŠä½œè€…ï¼Œç¦æ¢æ“…自篡改,é•è€…è‡ªè² ç‰ˆæ¬Šæ³•å¾‹è²¬ä»»ã€‚
相關資訊