Advertisement

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)

还没有任何评论哟~
客服
客服
  • BACnet开发
    优质
    本项目提供一系列基于BACnet标准的开发示例,旨在帮助开发者理解和实现智能建筑系统中的通信协议。通过具体代码展示如何进行设备间的数据交换和控制。 来自SourceForge的基于C#实现的BACnet开源示例可以使用VTS进行测试,并且不收取费用。
  • C#中利用XML节点值进行XML读操作的代码
    优质
    本篇文章提供了使用C#编程语言处理XML文件的具体方法,重点在于通过XML节点及其属性的操作来实现对XML数据的读取与编写。文中包含详尽的代码实例以帮助开发者更好地理解和应用这些技术。 本段落主要介绍如何使用C#通过XML节点属性及属性值来读取和写入XML文件,供参考使用。
  • Eclipse RCP编辑器
    优质
    本项目为Eclipse Rich Client Platform (RCP)开发环境下的一个属性编辑器实例。展示了如何在RCP应用程序中设计和实现用户界面以方便地修改对象属性,适用于初学者学习参考。 Eclipse RCP属性编辑器实例
  • Vue计算代码
    优质
    本示例介绍了如何在Vue框架中使用计算属性来动态地基于依赖的数据派生出新的数据。通过简洁的JavaScript表达式实现响应式的、高效的视图更新机制。 本段落分享了关于Vue computed(计算属性)的代码实例,供需要的朋友参考。
  • C# Bacnet服务端代码
    优质
    这段资料提供了一个使用C#编写的Bacnet协议服务端示例代码,帮助开发者理解和实现基于Bacnet网络通讯的服务端程序。 Bacnet服务端C# Demo是基于BACnetIP协议实现的一个简单服务器程序,它主要用于演示如何在C#环境中构建一个BACnet服务器。BACnet(楼宇自动化控制网络)是一种广泛应用的工业通信协议,专为楼宇自动化系统设计,用于设备间的数据交换。本Demo旨在帮助开发者理解BACnet协议的基本概念,并提供一个可扩展的基础框架。 我们来深入了解一下BACnetIP协议。BACnetIP是BACnet协议在TCP/IP协议栈上的实现,允许BACnet设备通过以太网或互联网进行通信。它提供了一套标准的消息格式和操作,包括数据对象定义、服务请求和响应、寻址机制等。BACnet服务涵盖了楼宇自动化中的各种功能,如温度控制、照明管理、安全监控等。 C# BacnetIP标签表明这个项目使用了C#编程语言来实现BACnetIP协议。C#是一种面向对象的现代编程语言,尤其适合开发Windows平台的应用程序。在C#中实现BACnet服务端,开发者可以利用.NET框架的强大功能,如事件处理、异步编程和丰富的类库。 在这个文件中,我们可以期待找到以下关键组件: 1. **Bacnet服务实现**:代码会包含对BACnet服务的实现,比如读取、写入、确认和非确认服务。这些服务是BACnet协议的核心,允许设备进行数据交互。 2. **设备对象**:BACnet设备需要定义自己的身份信息,包括设备标识、制造商信息等。这部分代码会描述如何创建和管理这些设备对象。 3. **数据对象**:BACnet协议定义了多种数据对象,如位字符串、整数、浮点数等,它们代表楼宇自动化系统的实际状态。程序将包含如何创建、存储和响应这些数据对象的请求。 4. **网络通信**:BACnetIP通过UDP进行传输,因此代码中会包括网络监听和发送数据的逻辑,可能使用了`UdpClient`或自定义的网络层实现。 5. **事件处理**:BACnet服务器需要处理来自客户端的请求。这通常涉及到事件驱动编程,在代码中会有对特定事件(如读取、写入请求)的处理函数。 6. **扫描工具兼容性**:提到可以使用Bacnetscan工具进行扫描,说明这个服务器程序能够响应BACnet扫描器发出的广播请求,并展示自身的存在和属性。 在学习和使用此Demo时,开发者可以了解BACnet协议的基本结构,在C#中实现网络通信的方法以及如何与BACnet设备进行交互。对于希望在楼宇自动化领域开发应用的程序员来说,这是一个很好的起点。通过这个Demo,你可以逐步扩展功能并实现更复杂的BACnet服务器应用程序。
  • [input的 readOnly设置讲解]
    优质
    本文将详细介绍HTML中input元素的readOnly属性的应用方法及其实例演示,帮助读者掌握如何限制输入框内容被修改。 1. 为` ``` 使用JavaScript: ```javascript var cObj = document.getElementById(content); cObj.setAttribute(readonly, true); // 注意,使用的是 readonly 而不是 readOnly ``` 2. 移除`