bacnet router 相关资料收集
The BASrouter is used to route messages between BACnet/IP, BACnet Ethernet and BACnet MS/TP networks. It supports 5 BBMD entries. This compact DIN-rail mounted unit is used for fixed installations.
楼控-西门子insight BBMD设置
BBMD设置的目的就是让两个不同网段的设备可以同时在一个系统中访问的操作。
比如你有两个bacnet的网络,但是一个是192.168.0.1-192.168.0.255的网段,另一个是10.0.0.1-10.0.0.255的网段,那么你就需要设置BBMD才能使两个网段的
设备能相互访问。
不管在那个品牌的系统中,在大型的组网中,BBMD的设置都是必须的,可以实现全局控制器的控制,也便于复杂控制逻辑的实现。
以下图片为官方教程
https://www.cnblogs.com/weloveshare/p/4013491.html
1.3.4 Who-Has和I-Have服务
一个发送的BACnet用户使用Who-Has服务确定一些其它BACnet设备的设备对象标识符和网络地址,设备使用I-Hava服务响应Who-Has服务请求,或者通告自己有一个具有给定的对象名称属性或者对象标识符属性的对象。
1.3.5 Who-Is和I-Am服务
一个发送方BACnet用户使用Who-Is服务确定在同一个互联网上的其它BACnet设备的设备对象标识符和网络地址,Who-Is服务是一个无证实服务。I-Am服务也是一个无证实的服务,这个服务用于响应Who-Is服务请求。
-
前言:
BACnetLib是一个以C语言实现核心代码,通过接口调用,实现C++,C#,Java语言开发的一个第三方开发包,想正确使用此开发包,必须先了解下其面向对象的类结构,说来其实也简单,其类结构并不像MFC那样复杂,多重继承,只是一个简单的外壳封装,以方便用户能快速开发bacnet产品;
【BACnet】4.bacnet-stack-0.8.0工程与BACnet标准协议之间的代码关系(网络层)
https://blog.csdn.net/zhengxianghdu/article/details/8712465
4.网络层协议数据单元:
BACnet网络层协议数据单元NPDU包括网络层协议控制信息NPCI和网络层用户数据部分NUD。NPCI用于网络层协议本身的管理和控制,如初始化路由表,网络层流量控制,路由表查询等;NUD主要用于传输应用层协议数据单元。大多数网络层协议管理和控制报文NPDU是BACnet路由器信息交换的单元,只由路由器进行处理
DNET 2Byte 最终目的网络号,取值1~65535,为0XFFFF表示全局广播,缺省表示本地广播
DLEN 1Byte 最终目的MAC地址长度,为0表示远程广播报文,非0表示DADR的长度
DADR 可变 最终目的MAC地址。长度由DLEN确定,不同局域网有不同的MAC地址,在远程广播报文中该域缺省
bacpypes.npdu.RoutingTableEntry
[22] <bacpypes.npdu.RoutingTableEntry object at 0x7f84cbd45d90>
rtDNET = 1005
rtPortID = 2
rtPortInfo = ''
[23] <bacpypes.npdu.RoutingTableEntry object at 0x7f84cbd45dd0>
rtDNET = 1
rtPortID = 2
rtPortInfo = ''
[24] <bacpypes.npdu.RoutingTableEntry object at 0x7f84cbd45e10>
rtDNET = 3001
rtPortID = 4
rtPortInfo = ''
]
https://www.ccontrols.com/basautomation/basrouter.php
https://www.ccontrols.com/basautomation/basrouter.php
BACnet与Internet的互联