网络层协议报文是指BACnet网络层控制和管理报文,主要用于BACnet路由器配置和管理、路由表的维护、网络层拥塞控制、PTP链路控制和管理以及网络层功能查询等。有10种网络层协议报文,说明如下:1.Who-Is-Router-To-Network报文该报文类型域是X‘00’,有2B的网络号,并可由网络中任意节点产生,用广播方式发送和转发。该类报文由BACnet路由器产生,作用是一个拒绝报文,直接发给生成被拒绝的报文的节点,网络号就是被拒绝报文中的网络号。......
2023-08-29
BACnet路由器和BACnet设备节点进行的数据通信分为本地和远程通信,“本地”通信是指信源节点和信宿节点在同一个BACnet网络中的通信,“远程”通信是指信源节点和信宿节点分处不同的BACnet网络之中。不管是“本地”通信也好,还是“远程”通信,都要遵循网络层协议运行规程。
1.本地数据发送和接收的网络层协议规程
(1)本地数据发送的网络层协议规程
当网络层实体收到来自应用层的一个N-UNITDATA.request原语时,它先检查“目标地址”参数中的DNET字段。如果不存在此字段,表明信宿节点设备与信源节点设备位于同一个BAC-net网络中。并根据“network-priority”参数构造一个DNET域、DADR域、HOP COUNT域、SNET域和SADR域均不存在的Control域的控制字节。再将该控制字节与在N-UNITDATA.request原语中传递来的“data”参数组合并发送一个NPDU报文,发出相应的DL-UNITDATA.request原语。
(2)接收本地数据的网络层协议规程
当网络层实体收到来自数据链路层的一个NPDU时,在验证第1个字节的版本号后,接着检查第2个字节(Control域)的最高位(第7位),来判断NPDU报文类别。不同类别的报文按如下方式进行处理。如果Control域字节的第7位是“0”,表示此报文中包含有APDU。Control域字节的第7位是“1”,表明此报文是网络层报文。
1)对于APDU报文,当不存在DNET域或者存在DNET域而同时包含有全球广播地址X‘FFFF’时,网络实体查找BACnet应用层实体。如果网络实体找到相应的应用层实体,就将来自于数据链路层的报文中的NPCI部分去掉,将其后作为“数据”参数的部分作为一个N-UNIT-DATA.indication原语传送给应用层实体。如果网络层实体不能找到相应的应用层实体并且网络层实体本身位于非路由器节点,则丢弃此报文。当存在DNET域且不是全球广播地址X‘FFFF’时,非路由器节点中的网络层实体丢弃此报文,路由器中的网络层实体的行为在后面介绍。
2)对于本地网络层报文,当不存在DNET域或者存在DNET域而同时包含有全球广播地址X‘FFFF’时,网络层实体解读此报文。如果报文不可解读,就向源设备发送一个Reject-Message-To-Network报文。当存在DNET域且不是全球广播地址X‘FFFF’时,非路由器节点中的网络层实体丢弃此报文。
2.远程数据发送的网络层协议规程
当网络层实体收到来自应用层的一个N-UNITDATA.request原语时,首先检查“目标地址”参数中的DNET字段。如果存在此字段,表明信宿节点设备和信源节点设备在不同的BACnet网络中,必须通过BACnet路由器实现通信。在NPCI控制字节中指明存在DNET、DADR、Hop Count域,但是不存在SNET和SADR域。在“网络优先级”域中,网络层实体填入提供的参数。接着填写相应的地址域。NPCI加在N-UNITDATA.request原语中的“数据”参数(就是NSDU)的前面,形成NPDU,传送给数据链路层,作为数据链路层原语中的“数据”参数。同时向数据链路层发送一个DL-UNITDATA数据链路请求原语。
对于某个特定的DNET,有以下4种建立相应BACnet路由器地址的方法:
1)用人工方式设定。
2)发送一个Who-Is请求报文,并且读取应答的I-Am报文中的“源地址”SA段而得到BACnet路由器地址。
3)使用网络层报文Who-Is-Router-To-Network来获得。
4)向一个远程DNET上的设备发送具有本地广播MAC地址的报文,然后读取远程设备的响应报文中的SA而获得。
3.接收远程数据的网络层协议规程
当网络层实体接收到来自数据链路层的一个DL-UNITDATA.indication原语时,将该原语的“data”参数部分作为一个NPDU,然后检查第二个字节,这是控制NPCI。对于非路由器的BAC-net设备中的网络层实体,如果发现此字节表示存在DNET域且其值不为X‘FFFF’,则丢弃此报文。如果NPCI的Control字节表明存在DNET域,同时网络实体属于BACnet路由器,则网络实体把NPDU按优先级次序放入一个报文队列或多个队列(按优先级分)中,并按照队列顺序进行转发报文。如果NPCI的Control字节表示NPDU包含一个网络层报文,则网络层实体还需进一步查看“报文类型”域。如果此域表示存在一个Reject-Message-To-Network报文,则网络层实体要执行专门的针对此报文的规程。如果存在SNET和SADR域,表示报文来自一个对等的路由器;不存在SNET和SADR域则表示报文来自于与路由器直接连接的网络。对于后一种情况,路由器根据路由表所示的报文来自网络的网络号,将SNET和SADR添加到NPCI中。SADR域设置成等于到达报文的SA。
BACnet路由器和要转发报文的网络连接情况分为:
1)收到报文的路由器直接与DNET所指示的网络相连接。这种情况的应对措施是:网络层实体去掉NPCI中的DNET、DADR和Hop Count域,将DA设置为等于DADR,然后将报文直接发送给目标设备。
2)收到报文的路由器不直接与DNET所指示的网络相连接。网络层实体先将报文的Hop Count域的值减1,如果此值仍然大于0,就将报文沿着目标网络方向传给下一站路由器。如果不知道下一站路由器的位置,就发送一个Who-Is-Router-To-Network报文来确定其位置。如果Hop Count域值为0,则丢弃此报文。
3)DNET表示的是全球广播网络号并且Hop Count域的值大于0,收到报文的路由器使用适合于每种数据链路的广播地址,向除了报文来自于网络以外的所有连接的网络广播此报文。如果Hop Count域的值为0,则丢弃此报文。
有关BACnet标准与楼宇自控系统技术的文章
网络层协议报文是指BACnet网络层控制和管理报文,主要用于BACnet路由器配置和管理、路由表的维护、网络层拥塞控制、PTP链路控制和管理以及网络层功能查询等。有10种网络层协议报文,说明如下:1.Who-Is-Router-To-Network报文该报文类型域是X‘00’,有2B的网络号,并可由网络中任意节点产生,用广播方式发送和转发。该类报文由BACnet路由器产生,作用是一个拒绝报文,直接发给生成被拒绝的报文的节点,网络号就是被拒绝报文中的网络号。......
2023-08-29
两个或多个BACnet子网络通过路由器互联构成BACnet互联网。目前能够到达的网络是指那些在BACnet互联网中已经具有一条有效连接的网络。......
2023-08-29
所有的BACnet设备都应能工作在响应方BACnet用户状态,从而能够接收请求方BACnet用户发来的APDU。事务处理状态机请求方和响应方BACnet用户为每一个事务处理都要创建并且维护一个TSM。为了简化状态机的描述,这里仅给出应用实体所进行分段的情况,应用程序所进行的分段也是存在的。当更新的状态机接收到分段确认PDU,就向应用程序传递一个分段确认指示原语。......
2023-08-29
其中,对象标志符用来惟一标识对象;BACnet设备可以通过广播自身包含的某个对象的对象名称,与包含相关对象的设备建立联系。因此进行BACnet对象的定义,解决楼宇自控设备的互相识别、访问是实现楼宇自控设备互操作的关键。BACnet设备使用相关的对象进行描述,每一对象都有一组属性,设备的特征可以通过属性值表现出来。......
2023-08-29
BACnet标准采用了4层结构:应用层、网络层、数据链路层和物理层,并为数据链路层和物理层提供了6种选择方案,其中一种就是选择主从/令牌传递协议加上EIA-485标准。MS/TP协议定义了MS/TP帧结构,这部分内容如第4章的“MS/TP局域网规范”所述。MS/TP协议还定义了MS/TP网络采用惟一的一种总线拓扑结构和主站点与从站点以及采用令牌机制的媒质访问控制方法。......
2023-08-29
冷水机组台数控制有三种基本方法,其中电流比台数控制方法最精确可靠。冷水机组在运行时的多余冷量从旁通或者平衡管回流,会造成很大的冷量损失,因此仅开启满足冷负荷需求的冷机台数对建筑节能贡献最大。通过BACnet互联得到的数值与机组内部设定值相同,控制逻辑与机组内部控制逻辑一致,相比管道安装的传感器,可能产生偏差外,DDC对冷水机组的起/停控制命令通过BACnet网关送达冷水机组,中间经过冷水机组的内部安全监测。......
2023-08-30
下面简要介绍BACnet标准的各个部分,关于内容的深度分析和讨论放在后面的专门章节中。每一个BACnet设备必须至少包含一个标准对象。网络层的功能就是实现连接两个使用不同数据链路层协议的BACnet局域网。BACnet网络层向应用层提供的服务是不确认的无连接形式的数据单元传送服务。......
2023-08-29
施耐德TAC Vista BAS的一个工作界面如图10-43所示。图10-43 TAC Vista系统的一个工作界面1.TAC BAS架构施耐德TAC Vista系统是基于开放的LonWorks技术的BAS,控制网络使用LonWorks网络,通过LonWorks路由器把分布在不同建筑内和不同楼层的DDC便捷地连接起来。图10-44 施耐德TAC BAS的架构TAC Xenta OP是一个小型的操作终端,通过面板与DDC连接。图10-45 细致的组件连接关系2.控制器及编程软件施耐德TAC BAS中的DDC是TAC Xenta系列控制器。LonWorks网络通信使用3120神经元芯片,中央处理器是32位、10MHz主频的CPU。......
2023-08-30
相关推荐