跳转到主要内容

BACnet脚本框架,用于测试DDC控制器

项目描述

BAC0 Build & Test Coverage Documentation Status

Join the chat at https://gitter.im/ChristianTremblay/BAC0

BAC0是一个异步的Python 3(3.10及以上)脚本应用程序,使用BACpypes3来处理IP网络上的BACnet™消息。这个库提供了简单的命令来浏览BACnet网络,从BACnet设备读取属性或将属性写入设备。

Python是一种易于学习的语言,是数据处理的一个非常强大的工具。与BACnet结合使用,它成为测试设备和与控制器交互的强大工具。

BAC0的名字来源于BACnet/IP通信使用的默认IP端口,即端口47808。十六进制表示为0xBAC0。

DDC控制器的测试驱动开发(TDD)

BAC0是为建筑自动化系统(BAS)程序员设计的。在这个领域中使用的控制器通常被称为DDC控制器(直接数字控制)。

典型的控制器可以根据制造商的不同以不同的方式编程(例如,块编程、基本“类似”脚本、C代码等)。BAC0 是一种统一的方法,使用 Python 语言和 BACnet/IP 通信,一旦构建了它们的序列,就可以与这些控制器交互。

BAC0 允许用户在没有连接到控制器的传感器的情况下简单测试应用程序。使用 out_of_service 属性,可以轻松地将值写入输入,使控制器认为输入已连接。

还可以在输出上执行“手动命令”(通常称为覆盖)。实际上,每个变量都由 BAC0 暴露并可见,可以使用简单的脚本语言或完整的单元测试套件(如 Pytest)与之交互。

如果没有像 BAC0 这样的程序,您可以依靠您的 DDC 编程工具...但它通常很慢,每个测试都必须手动执行。这也意味着,如果您想重复测试,测试越复杂,您能够做到这一点的机会就越小。

现在您可以编写测试并按需运行。我们将向您展示它是如何工作的。

更好的数据采集启动

正如您将发现的,当您在 BAC0 中定义控制器时,您将能够访问控制器中每个变量的历史数据。默认情况下,每个点每10秒趋势一次。这意味着您可以在启动过程中对一切进行分析。这允许您快速查看性能和问题。

这使得 BAC0 不仅是一个在办公室测试您的序列的好工具,而且还是一个真正好的启动、测试和平衡辅助工具。使用 Jupyter Notebook,您甚至可以直接从代码中创建美观的报告。

InfluxDB 原生支持

直接将 BAC0 历史数据连接到 InfluxDB v2.0 实例。然后可以使用 Grafana 来探索您的数据。

注意: BACnet™ 是 ASHRAE 的商标。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

bac0-2024.9.20.tar.gz (92.8 kB 查看哈希值)

上传时间

构建分布

BAC0-2024.9.20-py3-none-any.whl (113.7 kB 查看哈希值)

上传时间: Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面