BACnet协议MS/TP数据链路层详解

需积分: 10 0 下载量 155 浏览量 更新于2024-07-20 收藏 367KB DOC 举报
"bacnet协议中文版第九章 -1995" BACnet(楼宇自动化控制网络)协议是一个专门用于建筑自动化系统的通信协议,旨在促进不同制造商设备之间的互操作性。1995年的版本是中文版的最后一个更新,包含了重要的第九章内容,这部分主要涉及数据链路/物理层中的主-从/令牌传递(MS/TP)局域网协议。 MS/TP(Master-Slave/Token-Passing)协议设计用于在EIA-485物理层上运行,这是一种常用于工业环境的两线差分通信标准。它提供与ISO8802-2逻辑链路控制(LLC)协议类似的服务,但简化了数据链路层,以适应BACnet网络层的需求。协议的硬件要求包括具备UART(通用异步收发传输器)功能,可禁用的EIA-485收发器,以及至少5毫秒精度的计时器。 本章9.1服务规范部分指出,MS/TP并不意图作为通用的局域网协议,而是专注于提供与ISO8802-2 Type 1协议相匹配的服务,即无连接、不确认的数据传输。MS/TP的数据链路层服务通过抽象的原语和参数来描述,以确保与BACnet网络层的接口一致性,这与ISO8802-2的表述方式相似。 具体到9.1.1 DL-UNITDATA.request原语,它是无连接模式数据传输服务的请求原语,不涉及确认机制。此原语包括以下参数: - source_address(源地址):由MAC地址和LASP逻辑串联组成,但在MS/TP中,由于只支持BACnet网络层,因此只包含设备的MAC地址。 - destination_address(目标地址):同样由MAC地址和LASP组成,但MS/TP中的LASP被忽略。 - data(数据):定义要通过MS/TP实体传输的链路服务数据单元(LSDU)。 - priority(优先级):指定数据单元的优先级,但MS/TP不考虑这个参数。 - data_expecting_reply(期待回复数据):指示数据单元是否需要响应。 当这个原语从网络层发送给MS/TP实体时,它请求MS/TP实体将网络层协议数据单元(NPDU)以不确认的无连接方式发送到远程的设备。 接收此原语后,MS/TP实体会根据参数执行相应的操作,如数据的发送,并可能根据data_expecting_reply参数决定是否等待或期望接收返回的数据单元的确认。这样的设计确保了在网络中的高效且可靠的数据传输,即便是在存在多个设备的复杂环境中。 BACnet协议的这一章节深入阐述了MS/TP协议如何在EIA-485物理层上提供服务,以及如何通过DL-UNITDATA.request原语进行数据传输,这对于理解和实现BACnet系统中的设备通信至关重要。