使用IOT-Tree接入各种数据转BACnet模拟设备输出

IOT-Tree Server是个开源物联网软件,可以作为组态软件成为自动化系统的上位软件。她提供了各种设备接入、数据组织管理、数据分享使用、消息流控制逻辑和人机交互多个方面的功能。当然,你也可以仅仅使用这个软件作为数据采集终端或边缘计算的软件。

这是IOT-Tree Server相关的系列文章,你可以参考其他文章更多了解IOT-Tree能给你带来的好处:

使用IOT-Tree Server通过PPI协议连接西门子PLC S7-200 Smart

使用IOT-Tree Server连接西门子PLC S7-300/1200/1500

使用IOT-Tree Server通过MC协议连接三菱Q系列PLC

使用IOT-Tree Server通过FINS协议连接欧姆龙CP2E-N系列PLC

系列文章还包含IOT-Tree完成一个具体项目的过程,非常详细,如下:

机房自动化监控手把手分享给你 - 10 项目完成总结

本文介绍的是使用IOT-Tree Server内部BACnet Device服务,支持项目数据通过BACnet模拟设备方式对外提供数据输出。这个功能和OPC UA Server类似------在工业现场运行IOT-Tree的嵌入式设备也可以作为BACnet网关使用。

1 BACnet介绍

BACnet基本概念

BACnet(Building Automation and Control Networks)是一种专为楼宇自动化和控制系统设计的通信协议标准,由ASHRAE(美国采暖、制冷与空调工程师协会)制定。其核心目标是实现不同厂商设备间的互操作性,支持暖通空调(HVAC)、照明、安防等系统的集成。

BACnet协议特点

开放性:协议标准公开,无需授权费用,鼓励多厂商兼容。

灵活性:支持多种物理层(如以太网、RS-485)和通信方式(IP或串行)。

对象模型:通过标准化对象(如Analog Input、Device)描述设备功能,便于数据交换。

服务功能:提供读/写属性、设备发现等标准化服务,简化系统集成。

BACnet网络架构

BACnet/IP:基于IP网络,适合现代楼宇的高带宽需求。

MS/TP(Master-Slave/Token Passing):基于RS-485的低成本解决方案,适用于小型系统。

其他层:如LonTalk、Zigbee可选,但IP和MS/TP为主流。

典型应用场景

HVAC系统:实时监控温湿度、设备状态。

能源管理:集成电表、照明数据,优化能耗。

安防联动:与门禁、消防系统协同工作。

2 IOT-Tree对BACnet输出支持

IOT-Tree Server直接提供对外BACnet设备模拟支持,通过内置BACnet Service方式提供。在IOT-Tree Server管理主界面中,点击"服务程序"的"设置"按钮,就可以在弹出对话框列中看到"BACnet Device"这个服务程序。你可以设置这个服务程序的参数或控制启动停止。如图:

此服务可以对IOT-Tree Server中的一个或多个项目中的组织和数据进行BACnet设备方式的输出。可以为智能楼宇中使用其他工业通信标准的设备数据进行转换,直接通过提供BACnet接入上位系统支持。

3 设置BACnet Device

点击编辑按钮,弹出详细的参数设置界面:

缺省情况下,BACnet Device没有被使能,并且使用端口47808。你可以修改端口,选择BACnet Device使用的本地网络地址,起用BACnet Device。

BACnet设备id和数据节点内部id都是一个整数,你可以设置设备id和修改设备名称。

在对话框下方是本地IOT-Tree运行实例中的项目列表,你可以勾选需要对外提供BACnet访问的项目。

3.1 选择项目并且确定项目内部IID范围

我们勾选一个或多个项目之后,可以看到需要设置每个项目内部IID范围,并且每个项目IID不能重复。

这是因为BACnet的设备要求内部每个数据节点都有整数唯一id,而我们一个IOT-Tree实例中有多个项目,并且输出到一个BACnet模拟设备中。因此,为了保证内部节点id唯一,IOT-Tree把每个项目使用的iid使用1000000为基数进行划分,只需要IID Base是个0-1000的整数且互不相同,那就可以保证输出的节点ID唯一。

IOT-Tree内部每个标签也有一个项目内唯一整数id,只需要把项目内唯一id与这个IID Base相加,就是BACnet输出对应的节点id。

以上参数设置成功之后,在Service列表中,点击启动服务按钮,本IOT-Tree Server运行实例就支持BACnet Device了

4 使用Yabe访问

你可以在你的电脑上安装一个"Yabe (Yet Another Bacnet Explorer)"软件,本文使用此软件用来查看我们的IOT-Tree是否正确模拟出了BACnet设备。

打开软件,点击"Add Channel"图标,在弹出对话框中,选择Local endpoint为本地ip地址,这个地址与上面IOT-Tree设置本地地址相同。如下图:

点击"Start"按钮,可以看到在Devices下方树形组织中找到了我们这个设备,点击这个设备节点,可以在下方的Objects列表中看到发布项目标签数据:

你可以仔细观察每个数据项,可以发现里面的唯一id,就是我们在IOT-Tree设置从配置的范围内。

4.1 数据项说明

点击某个Objects列表中的数据项,在右边的Properties框中,可以看到这个数据项对应的详细属性内容:

其中,Object Name属性使用的是IOT-Tree标签节点的唯一路径,格式为:

项目名称.通道.标签组*.标签名称

而每个IOT-Tree的标签状态(有效性、是否报警),在Status Flags中展示:

Present Value属性代表了当前值。

4.2 数据读取

把读取的数据拖入订阅区,就可以看到当前运行数据。

4.3 数据写入

对于AO 和BO类型的对象------对应于IOT-Tree的可写标签,可以支持写入数据操作:

如对于数据点"watertank.ch1.dio.pstart",这是IOT-Tree内部自带Demo项目中的手工启动水泵标签,选中之后,在Properties区的Present Value属性项,写入1并回车。就会在IOT-Tree端触发写入指令。

相关推荐
Tao____7 小时前
开源物联网平台
java·物联网·mqtt·开源·设备对接
河南博为智能科技有限公司10 小时前
高集成度国产八串口联网服务器:工业级多设备联网解决方案
大数据·运维·服务器·数据库·人工智能·物联网
唐·柯里昂79813 小时前
野火鲁班猫5使用正点原子 RTL8188EUS Wifi模块驱动移植(Linux5.10 Debian系统) 解决zsh报错
linux·c语言·mcu·物联网·ubuntu·硬件工程·软件构建
盟接之桥15 小时前
盟接之桥说制造:“盟接之桥”为何成了“断桥”?——制造企业困局突围的三重思考
大数据·人工智能·物联网·产品运营·制造
御控工业物联网16 小时前
智慧水务新突破:基于工业网关的二次供水泵房物联网采集解决方案
物联网·自动化·数据采集·plc·远程监控·远程控制·多品牌plc数据采集
北京耐用通信16 小时前
传感器“断联”拖垮产线?耐达讯自动化网关让Ethernet IP转CCLink秒通!
人工智能·科技·物联网·网络协议·自动化
DolphinDB智臾科技16 小时前
2025 工业软件趋势解读:国产时序数据库 DolphinDB 如何用“通用底座+AI”重塑工业物联网开发范式?
人工智能·物联网·时序数据库
Acrelhuang16 小时前
直击新能源电能质量痛点:安科瑞 APView500 在线监测装置应用方案
大数据·运维·开发语言·人工智能·物联网
云山工作室16 小时前
基于ZigBee的温室智能控制系统设计(论文+源码)
stm32·单片机·嵌入式硬件·物联网·课程设计
IT_阿水16 小时前
基于STM32的智慧物联网系统板
stm32·物联网·perl