
BACnet写属性示例
5星
- 浏览量: 0
- 大小:None
- 文件类型:DOCX
简介:
本章深入阐述了BACnet写属性命令的详细说明,具体涵盖了语法格式、应用方式和实例解析等内容。通过阅读本章内容,读者能够系统地了解并正确使用BACnet写属性命令的方式。从而,在实际操作过程中,可以更高效、准确地完成相关任务。
BACnet协议具有国际通用性,其主要功能是实现设备间的通信任务。该协议在BACnet-stack-0.8.3库中的具体实现通过`bacwp`程序得以展示。本文旨在提供关于使用该工具实现设备属性读写及其相关参数分析的技术指导。为了在使用`bacwp`之前启动服务端程序`bacserv`,我们需要首先配置设备实例号为1234。这里提供的`bacserv$...$`是一个模拟BACnet设备的示例程序,其主要功能是接收和响应客户端发出的请求信息。
该软件是通过BACnet协议实现属性值更新的一个典型客户端程序。该客户端能够接收一组参数,这些参数指定了需要进行写操作的目标属性。以下是对`bacwp`基本操作流程及所需参数的说明:
- **通信标识符**:这是用于与目标设备进行通信的唯一标识符(如例子所示),设备实例号为1234。
- **操作对象类型**:表示你要控制或操作的对象类型,是BACNET_OBJECT_TYPE数值枚举值。例如,模拟输出的操作对象类型为1。
- **实例号**:每个操作对象都有一个唯一的实例标识符(如例子所示),比如模拟输出实例的实例号为2。
- **属性数值**:要修改的具体属性由BACNET_PROPERTY_ID数值枚举值指定,例如当前值属性的ID 85对应当前值为5.
- **写入优先级**:写入操作时的优先级设置,未指定则默认为最低优先级16。
- **数组索引号**:如果目标属性是数组,则可以指定要写入的具体数组元素索引位置。若无具体索引则表示忽略该操作。
- **数据类型标识符**:表示将要写入的数值类型,例如实数类型的标记为4.
- **具体数值**:最终需要写入的具体数值采用ASCII编码形式表示。
A. 设置设备1234的模拟输出端口0的目标值为100,其优先级配置为16:配置系统中的设备编号1234的开关量输出0置为开启状态(数值设为1),其权重级别设定为16。C. 向设备1234发回放弃指令,在同一目标下使当前数值复位为初始值: .bacwp 1234 1 0 85 16 -1 0 0基于`bacnet scan`工具,可以对施加了`bacwp`命令后的设备属性状态进行分析或确认。BACnet栈的开发基于开源平台提供支持,采用C语言构建BACnet协议栈,并提供如bacserv和bacwp等示例程序以帮助开发者实现与BACnet协议的集成并完成基本功能测试通过命令`bacwp`实现BACnet设备属性的修改功能。该命令需要配置参数包括设备实例、对象类型、对象实例等信息,并设置属性优先级以确保操作正确性。基于Linux平台,调用BACnet-stack库中的相关函数可以方便地完成楼宇自动化系统的设备控制和调试任务。
全部评论 (0)


