BacNet IP开发过程
BACnet上層不依賴于物理層。BACnet物理層使BACnet可以在不同的網絡上實現。BACnet物理層已指定用于以下內容:
?ARCNET
?以太網
?IP隧道
?BACnet / IP
?RS-232
?RS485
? Lonworks / LonTalk
1、Bacnet IP和Bacnet Ethernet的區別
從工程技術的角度分析2者的差別:
1、主要的相同點如下。
a、NPDU的內容是一樣的。以讀Binary-output 1的Object-Name屬性為例。
NNPU為:01 04 00 05 01 0c 0c 01 00 00 01 19 4d
b、通訊的物理介質相同。都是通過網口
2、不同點如下:
BACnet IP采用UDP協議,滿足網絡7層,通過Socket編程,開發相對容易。缺點就是通訊效率相對于BACnet Ethernet效率要低點。
從抓取的數據包來看。很明顯訪問同樣的屬性,需要發送的請求幀內容要多不少。
BACnet Ethernet只用了網絡分層中的數據鏈路層和物理層。需要直接操作網口,編程相對復雜得多。 數據鏈路層的內容如下:
LLC層: 82 82 03
以下是MAC層
目標Mac地址如下:
00 0c 29 19 74 88
源Mac地址如下:
00 19 db c9 d5 e0
而00 10 表示后面跟的數據一共是16個字節。
參考資料: (十六進制表示)
BACnet IP的數據幀
00 0c 29 19 74 88 00 19 db c9 d5 e0 08 00 45 00
00 2d 15 14 00 00 80 11 00 00 c0 a8 64 73 c0 a8
64 16 ba c0 ba c0 00 19 63 15 81 0a 00 11 01 04
00 05 01 0c 0c 01 00 00 01 19 4d
BACnet Ethernet的數據幀
00 0c 29 19 74 88 00 19 db c9 d5 e0 00 10 82 82
03 01 04 00 05 01 0c 0c 01 00 00 01 19 4d
2、BacNet IP開發過程
1、采集軟件(主站)UDP監聽47808 端口 ,同時向從站的網絡47808端口廣播召喚儀表(whois)
2、從站收到召喚指令向主站回復(IAM)
3、主站收到從站IAM之后,接著發送readproperty(propertylist指令),問詢從站所有的數據點屬性列表
4、從站回復讀屬性列表,主站接著(批量)讀取屬性的presentvalue
3、網絡的協議棧和數據流
PDU:Protocol Data Unit,協議數據單元,是指對等層次之間傳遞的數據單位。
APDU:Application Protocol Data Unit,應用協議數據單元。
NPDU:Network Protocol Data Unit ,網絡協議數據單元。
LPDU:Link Protocol Data Unit,鏈路協議數據單元。
MPDU:MAC Protocol Data Unit,MAC協議數據單元。
PPDU:Presentation Protocol Data Unit,表示協議數據單元。
BACnet網絡協議使用先進的面向對象技術,通過封裝在APDU內的對象數據進行通訊。BACnet擁有23個對象,每個對象擁有三個屬性值:Object_Identifier 、Object_Name、Object_Type。其中“設備對象”對于每個設備都是必須的,并且只能有一個。這23個對象是:
序號 對象名稱 應用實例
01 Accumulator 累加器
02 Analog Input 模擬輸入對象
03 Analog Output 模擬輸出對象
04 Analog Value 模擬值對象
05 Averaging 平均器
06 Binary Input 二進制輸入對象
07 Binary Output 二進制輸出對象
08 Binary Value 二進制值對象
09 Calendar 日期表對象
10 Command 命令對象
11 Device 設備對象
12 Event Enrollment 事件登錄對象
13 Event Log 事件日志對象
14 File 文件對象
15 Global Group 全局組對象
16 Group 組對象
17 Life Safety Point 生命安全監測點的信息檢測
18 Life Safety Zone 生面安全區域的信息檢測
19 Loop 控制環對象
20 Multi-State Input 多態輸入對象
21 Multi-State Output 多態輸出對象
22 Multi-State Value 多態值對象
23 Notification Class 通告類對象
24 Program 程序對象
25 Pulse Converter 脈沖轉換器
26 Schedule 時間安排對象
27 Trend Log 趨勢記錄對象
28 Trend Log Multiple 多趨勢記錄對象
總結
以上是生活随笔為你收集整理的BacNet IP开发过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: POJ 1658
- 下一篇: 计算机u盘 硬盘无法读取,硬盘无法识别怎