从工程技术的角度分析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