
BACnet产品开发进阶
BACnet协议是针对采暖、通风、空调、制冷控制设备所设计的,常用的两种方式是BACnet ip和BACnet mstp,这块实操资料太少,本专栏针对bacnet-stack-1.0.0协议栈的实际应用和产品开发做分类和详细介绍
章鱼哥嵌入式开发
这个作者很懒,什么都没留下…
展开
-
BACnet协议栈Target_object_instanse和Target_object_index有什么区别和联系
使用Target_object_index,需要指定Object_type为二进制输入对象(Object_type = 1),并指定实例号为1(Target_object_index = 1)。联系:Target_object_instanse和Target_object_index都使用实例号来标识BACnet对象,但Target_object_instanse还包括对象类型。Target_object_instanse相当于Target_object_index和Object_type的组合。原创 2023-06-20 23:57:35 · 207 阅读 · 0 评论 -
BACnet协议栈apdu_set_confirmed_handler函数中的确认型回调函数是如何传参的
参数表示请求的APDU数据单元,它是一个指向字节数组的指针。APDU是BACnet协议中用于传输数据的数据单元,它包含了请求的具体内容,比如读取属性操作的对象ID、属性ID等信息。参数表示请求的APDU数据单元的长度,它是一个无符号16位整数。通过这个参数,我们可以知道APDU数据单元的长度,从而正确解析请求的内容。该结构体包含了请求的源地址信息,比如发送方的网络号、MAC地址等。的回调函数,用于处理读取属性操作的请求。参数表示请求的源地址,它是一个指向。在函数的实现中,我们首先通过。原创 2023-06-13 21:37:35 · 480 阅读 · 1 评论 -
BACnet多态对象详细介绍和应用场景
BACnet多态对象是一种特殊的BACnet对象,它可以用于表示具有相似属性和行为但不同类型的设备。多态对象能够将不同类型的设备组合成一个通用的对象类型,这样可以在BACnet系统中更方便地管理和控制这些设备。对象类型定义了对象的属性和行为,而对象实例号则用于区分不同的对象实例。总之,多态对象提供了一种灵活且可扩展的方法,用于表示具有相似属性和行为但不同类型的设备。多个设备具有相似的属性和行为,但是它们的类型不同,例如,多个不同型号的传感器可以使用多态对象来表示。原创 2023-06-08 23:05:22 · 426 阅读 · 0 评论 -
BACnet command对象介绍和应用场景
实现报警和安全控制:通过Command对象结合其他BACnet对象,例如报警对象、安全对象等,实现报警和安全控制,例如在一定时间内检测设备的状态并执行相应的操作,或者在一定时间内检测传感器的数值是否超过阈值并触发报警等。实现自动化控制:通过Command对象结合其他BACnet对象,例如时间表对象、设备对象等,实现自动化控制,如定时执行某些操作、根据温度传感器的数值自动调节设备温度等。它通常是一个整数值。控制设备的开关、调节温度等操作:通过Command对象发送控制命令,实现对设备的控制和监控。原创 2023-06-07 00:28:07 · 530 阅读 · 0 评论 -
BACNET定时器对象介绍和应用场景
定时器对象可以与其他BACnet对象一起使用,例如时间表对象、设备对象等,以实现更复杂的控制和调度功能。也可以将定时器对象与设备对象结合使用,以控制设备的开关、调节温度等操作。定时器对象还可以用于报警和安全控制等应用场景,例如在一定时间内检测设备的状态并执行相应的操作,或者在一定时间内检测传感器的数值是否超过阈值并触发报警等。Time Interval属性:表示定时器执行操作的时间间隔,即定时器执行操作后等待的时间。Time Delay属性:表示定时器的延迟时间,即定时器开始执行操作前等待的时间。原创 2023-06-05 21:49:08 · 180 阅读 · 0 评论 -
BACNET时间表对象介绍
时间表对象可以与其他BACnet对象一起使用,例如日历对象、定时器对象、设备对象等,以实现更复杂的控制和调度功能。也可以将时间表对象与设备对象结合使用,以控制设备的开关、调节温度等操作。Exception Schedule属性:表示时间表的异常情况,即在某些特定日期或时间段内,时间表应该执行不同的操作。它包含一周中每天的24小时,每小时可以有不同的操作,可以是一个数字、布尔值、枚举值或其他类型的数据。Effective Period属性:表示时间表的有效期,即时间表开始执行的时间和结束执行的时间。原创 2023-06-05 21:43:11 · 263 阅读 · 0 评论 -
如何使用C#语言通过BACnet file对象上传和下载Json文件到控制器
使用BACnet库中的BACnetFile对象获取控制器中的BACnet file对象。BACnetFile对象是BACnet库中提供的一个类,用于管理BACnet file对象。BACnet file对象是BACnet协议中的一个标准对象,用于管理设备中的文件。该方法需要指定文件名、上传路径、要上传的文件内容等参数。在实际使用中,需要根据具体的场景和需求进行相应的调整和优化。同时,需要注意文件上传和下载的安全性和可靠性,以保证数据的完整性和保密性。该方法需要指定文件名、下载路径等参数。原创 2023-05-21 09:05:03 · 410 阅读 · 0 评论 -
BACnet协议相比modbus协议的优势在哪些方面
支持更多的应用领域:BACnet协议不仅可以用于楼宇自动化系统,还可以应用于工业自动化、能源管理、物流管理等领域,而modbus协议主要应用于工业自动化领域。更高的互操作性:BACnet协议是一种开放的标准协议,可以与不同厂商的设备进行互操作,而modbus协议则存在一些兼容性问题。综上所述,BACnet协议在应用范围、可扩展性、互操作性、安全性和数据传输精度等方面都具有优势,适用于更多的应用场景和需求。更强的安全性:BACnet协议支持多种安全机制,如身份认证、数据加密等,可以提高系统的安全性和可靠性。原创 2023-05-18 00:17:54 · 2460 阅读 · 0 评论 -
BACnet MSTP转BACNET IP路由的设计方案
需要注意的是,在BACnet MSTP转BACNET IP路由设计过程中,需要考虑设备的稳定性、安全性和可维护性等问题。例如,采用容错机制保证设备的稳定性,采用加密算法保证数据的安全性,同时提供远程升级和维护接口,以保证设备的持续稳定运行。此外,还需要对设备进行充分测试,确保设备能够正常工作。原创 2023-05-09 07:48:45 · 549 阅读 · 0 评论 -
Modbus转BACnet协议网关的开发步骤
主要技术点包括Modbus和BACnet通信协议的理解和实现、数据转换算法的设计、网络接口的设计和实现、安全性设计和测试和调试等方面。Modbus协议转BACnet协议的网关是将Modbus协议转换为BACnet协议的设备,一般用于不同协议的设备之间进行数据交互。数据转换:实现Modbus协议数据和BACnet协议数据的转换,确保数据的完整性和正确性。网络接口设计:实现网关和Modbus和BACnet设备之间的通信接口,包括物理接口和数据链路层协议。需要定期进行维护和升级,以保证网关的稳定性和安全性。原创 2023-04-30 12:56:38 · 1006 阅读 · 0 评论 -
BACnet IP协议控制器的开发步骤
DDC控制器:DDC控制器是一种用于自动化控制的设备,它通常用于监控和控制空调、照明、安全等方面。总之,开发BACnet IP协议和DDC控制器需要全面的技术知识和经验,需要进行系统化的设计和实现过程,以确保系统的稳定性和可靠性。在进行开发之前,您需要选择合适的开发工具和平台,例如C++、Java、Python等编程语言,以及适当的开发环境、编译器和调试器。实现BACnet IP协议:编写BACnet IP协议的代码,在TCP/IP网络上实现BACnet数据传输。原创 2023-04-25 01:36:41 · 1051 阅读 · 0 评论 -
BACnet Router路由BACnet MS/TP转BACnet/IP实例代码讲解
BACnet路由器,是基于BACnet协议的楼宇自控系统常用的设备,用于在BACnet IP网络与BACnet MS/TP总线间实现通信路由功能,将 BACnet IP 网络与 BACnet MS/TP 网络进行互联并保障通讯,从而监视和控制楼宇自控系统上的各种暖通空调、照明、消防、水阀及其它设备系统,从而使得系统集成者可以在一个BACnet互联网内混合使用BACnet网络技术。本文以ARM-Linux平台下BACnet路由器的开发为例,BACnet协议栈代码bacnet-stack-1.0.0的route原创 2023-03-10 15:22:42 · 900 阅读 · 0 评论 -
BACnet协议栈基本对象BI、BO、AI、AO、AV以及device和File对象介绍
BACnet协议栈基本对象BI、BO、AI、AO、AV以及device和File对象介绍原创 2023-02-20 13:56:50 · 2796 阅读 · 0 评论 -
BACnet MSTP协议485功能测试
BACnet MSTP协议485功能测试原创 2023-02-02 18:01:36 · 2171 阅读 · 6 评论 -
BACnet 文件读写操作和测试方法
文章只列举了部分重要的文件操作函数,如果需要深入研究可以通过vscode软件查看“bacnet-stack-1.0.0”协议栈代码,重点源文件是bacfile.c文件,记得在bacdef.h文件中定义好 BACFILE和PRINT_ENABLED,这样可以开启文件完整功能和串口打印调试功能原创 2023-01-10 17:58:50 · 669 阅读 · 0 评论 -
bacnet 官方协议栈 bacnet-stack-0.8.2关于router例程BACnet MS/TP BACnet IP调试说明
bacnet 官方协议栈 bacnet-stack-0.8.2关于router例程mstp,bacnet ip调试说明原创 2022-10-11 11:47:41 · 1808 阅读 · 0 评论