
bacnet
文章平均质量分 83
高迪的生命之光
这个作者很懒,什么都没留下…
展开
-
使用VTS分析bacnet协议的ReadProperty(二)
第一个报文和第二个报文的信息是相同的,第三个和第四个也是相同的,他们的区别仅仅是发送的方向不同。由于在中已经对第一个报文进行分析,这里就选取了第四个报文进行分析。 在下图中,上图是第一个报文的信息,下图是第四个报文的信息。通过比较可知,两者的区别就在于BVLC Length的值和Network control Octet。由于这是一个应答报文,所以需要携带present-valu原创 2016-03-22 09:12:54 · 2323 阅读 · 0 评论 -
BACnet WHO-IS服务协议栈代码分析(2) ------ whois_decode_service_request(....)函数
在有了第一篇分析之后,whois_decode_service_request这个函数理解起来就简单很多了。1、int whois_decode_service_request(uint8_t * apdu, unsigned apdu_len, int32_t * pLow_limit, int32_t * pHigh_limit){ int len = 0; uint8_原创 2016-03-10 10:17:05 · 1034 阅读 · 0 评论 -
BACnet WHO-IS服务协议栈代码分析(1)------whois_encode_apdu(....)函数
在BACnet协议栈中,发送方使用WHO-IS服务确定在同一个互联网上其它的BACnet设备的设备对象标识符和网络地址,Who-Is服务是一个无证实服务,这个服务有两种使用情况(1)、确定在网络上的所有设备的对象标识符和网络地址;(2)、确定某个设备标识符但是不知其网络地址的设备的网络地址。 在bacnet的协议栈中,whois.c是 用于编码(encode)/ 解码(dec原创 2016-03-09 15:48:27 · 2586 阅读 · 0 评论 -
BACnet对象类型
1、AnalogInput 模拟输入对象2、AnalogOutput 模拟输出对象3、AnalogValue 模拟值对象4、Binary Input 二进制输入对象5、Binary Output 二进制输出对象6、Binary Value原创 2016-03-02 14:28:39 · 6247 阅读 · 0 评论 -
BACnet学习笔记
BACnet是一种用于自动化建筑和控制网络的数据通信协议。(Building Automation and Control Networks)自控网络通信协议基本体系:CAN -- 只定义了通信标准BACnet = BAC Model and Message + Network Layer + LANsThe prot原创 2016-03-01 10:56:17 · 3704 阅读 · 0 评论 -
结合VTS和BACnet协议栈源码分析Write Property读属性
协议栈主要是针对应用层的编码,因此我们只需要结合VTS中的 BACnet Application Layer Detail 来对源码进行分析, 读属性源文件是wp.c,这个文件中一共包含以下函数:int wp_encode_apdu( uint8_t * apdu, uint8_t invoke_id , BACNET_WRITE_PROPERTY_DATA * wpdata);in原创 2016-03-22 14:18:44 · 2349 阅读 · 0 评论 -
使用VTS分析bacnet协议的ReadProperty(一)
首先我们先在VTS中设定一个设备如下图所示: 并且在设备中新建一个analog-input(模拟输入),将其属性present-value设为85: 我的port设定如下图所示:这里我使用的是虚拟网卡,大家可以根据自身需要进行选择。设备设置为之前新建的MyDevice,网络数设为1 在N原创 2016-03-21 14:19:26 · 6383 阅读 · 8 评论 -
分析bacnet协议栈中的Device Communication Control服务
Device Communication Control服务,是一个客户端的BACnet用户使用设备通信控制服务向一个远程设备发送指令,指示这个设备在一个规定的时间内停止其起始和响应除了设备通信控制或者重新初始化设备之外的所有APDU。DCC主要由操作者用来进行设备诊断。 在dcc.c文件中,先是定义了BACNET_COMMUNICATION_ENABLE_DISABLE这个枚原创 2016-03-24 09:58:05 · 1164 阅读 · 0 评论 -
分析bacnet协议栈源码 AtomicReadFile 服务
一个客户端的BACnet用户使用基本读文件服务对某个文件进行一个“打开--读出--关闭”的操作。访问的文件可以是字节流,也可以是编号记录。以下是基本读文件的服务原语: 这是在基本读文件中定义的数据结构:typedef struct BACnet_Atomic_Read_File_Data { BACNET_OBJECT_TYPE objec原创 2016-03-28 14:11:44 · 1819 阅读 · 1 评论