BACnet通讯协议是楼宇自动控制技术应用的数据通讯网络标准。楼宇自动控制领域在BACnet协议出现之前很长的一段时间都是各个楼宇自动控制厂商使用各自公司自行设计的私有协议。私有协议的使用使各个公司生产的产品之间无法互联。这给产品的维护和扩展带来很大的障碍。
BACnet协议是为了针对以上出现的问题,根据开放系统互联模型(OSI)(ISO7498)而提出的。开放系统互联模型采用分层结构,具有7层,解决了异构网络的互联通信。由于OSI模型所具有的功能是非常全面的,而在楼宇自控领域,我们只需要一些特定的功能,因此我们不需要完整的七层结构。因此,针对不同应用的网络协议都会在这七层的基础上进行剪裁。BACnet协议具有四层结构,而现在应用广泛的TCP/IP通讯协议也是一种具有四层结构的网络。
可见,针对不同应用的网络,对七层的OSI模型进行简化是极其必要的。因为完整的OSI模型将需要大量的软件和硬件成本,提供了大量在应用环境内不需要的功能。
BACnet协议具有四层结构,分别为:物理层,数据链路层,网络层,应用层。BACnet协议与标准OSI模型的各层对应关系如下:
放系统互联模型(OSI) |
BACnet通讯协议 |
|
应用层 |
BACnet应用层 |
|
表示层 |
||
会话层 |
||
传输层 |
||
网络层 |
BACnet网络层 |
|
数据链路层 |
LLC |
BACnet数据链路层 |
MAC |
||
物理层 |
BACnet物理层 |
BACnet协议四层结构的每层功能如下:
BACnet物理层:物理层提供了连接设备和传输数据的比特流的方式。物理层对于通讯协议来说是必不可少的。它是上层所有数据封装后产生可传输信号的层。是信号具体的产生层。
BACnet数据链路层:负责将数据组织成帧(frame)或者分组(packet),管理通信介质的访问、寻址,以及完成一些差错校正和流量控制的任务,这些都是BACnet所需要的,因此数据链路层是必不可少的。
BACnet网络层:在一个或多个网络中进行报文的路由、全局地址解析为局部地址、协调异构网络、流量控制、序列控制、差错控制以及信道复用。
BACnet应用层:应用层为应用程序提供API接口,也就是提供通信服务。BACnet应用层还包括了OSI模型里表示层、会话层和传输层中BACnet所需要的功能。BACnet协议只需要上面三层中的很少一部分功能,因此为了减少成本,将这些功能放在应用层。
一个BACnet网络示意图如下:
其中可以看到一个BACnet网络的示意图,有一些基本的概念:
1、 BACnet设备:任何可以使用BACnet协议进行通信的真实或者虚拟的设备叫BACnet设备。
2、 物理网段:BACnet设备与物理介质相连,物理介质称为物理网段。
3、 网段:一个或多个物理网段通过中继器在物理层相连,形成一个BA