问题标签 [bacnet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
47 浏览

python - 创建 Bacnet 客户端变量自动化

对不起我的英语不好。

因此,我使用带有 MERVIS 软件的自动化程序,并使用 Bacnet 服务器将变量保存在我的 IHM(带有 Easybuilder Pro 的 weintek 平板电脑)中。

所以我所做的一切都很好并且可以工作,但我对 EasyBuilder pro 不满意,我想制作自己的 HMI。我决定用 C++ 中的 QT 制作我的应用程序。

但我一开始是医生,所以一点一点地学习(我有 python、c++、structur 文本的基础)。我对如何构建 bacnet 客户端一无所知,你知道我在哪里可以找到一些与我的 PLC 通信的简单示例,因为我什么也没找到,我需要学习并将其应用于我的项目。

所以我有我的PLC,通过以太网链接到我的PC,我在那里制作我的hmi。将来我想把这个应用程序放在 PANEL PC 触觉工作的窗口中,并用 MERVIS 软件链接到我的 PLC。

0 投票
1 回答
54 浏览

python - 在 volttron 中设置执行器代理

我已经使用 Master Driver Agent 从 BACnet IP 设备读取数据。但现在想用 Volttron 写回设定点。

我从阅读文档和查看 Volttron 上的视频/演示文稿中了解到,我必须使用执行器代理来回写。在 BACnet 注册表文件中,我已将可写值设置为 TRUE。

无法将其配置为写回数据。

我怎样才能做到这一点?

谢谢。

0 投票
0 回答
139 浏览

python - BAC0 python: BAC0.device APDU 超时

我们有这个应用程序可以在设备上进行按需 bacnet 扫描并获取其初始点和设备信息。在我们进行全局广播(使用 bbmd 设备)之后,我们遍历已发现设备的列表并尝试从其中的每个设备中获取设备信息和点。它在前 2 台设备(有时只有 1 台)上工作,然后引发以下错误:

2021-03-10 22:54:18,661 - 警告 | 连接错误:APDU 中止原因:超时 2021-03-10 22:54:18,676 - 警告 | 离线:提供数据库名称以加载存储的数据。2021-03-10 22:54:18,679 - 警告 | 前任。controller.connect(db = '备份')

有没有办法延长超时值?还是不推荐我们对可能的 100 个设备执行 BAC0.device 的方案?感谢反馈!

BAC0 来源:https ://github.com/ChristianTremblay/BAC0

0 投票
1 回答
102 浏览

python - 如何在 Python 中创建 BACnet 模拟值和 BAC0?

首先,我不得不说我是 Python 和 BAC0 库的绝对初学者。

我想用我的 python 脚本创建一个 Bacnet 模拟值,该脚本应该发送到另一个(物理)Bacnet 设备。现在我只用bacnet = BAC0.lite()命令“创建”了一个 Bacnet 设备。这不是很多,但它的工作原理。

我花了很多时间浏览文档,但找不到让脚本发送模拟值的正确方法。

任何人都可以帮忙吗?

背景:我有一个能够非常容易地将模拟值(0 ... 10 V)发送到 MQTT 代理的设备。现在我想让 Raspi 接收该模拟值并将其“转换”为 Bacnet 模拟值。这个 Bacnet 模拟值将被发送到 DDC 以控制泵的功率。为此,我需要在 python 脚本中“创建”Bacnet 模拟值的正确命令/代码。

0 投票
0 回答
26 浏览

python - BACpypes - 无法从模拟输入中检索描述属性

我正在尝试使用 BACpypes 库检索模拟输入对象的属性。但是,我注意到该库不包含“描述”属性。我使用了提供的示例脚本,尤其是“ReadAllProperties.py”。

我认为是因为此属性是可选的,但还返回了其他可选属性。我怎样才能找回description财产?

0 投票
1 回答
68 浏览

python - Volttron,BACnet 设备不支持分段

你好,

希望你过得很好。

我正在从 AHU 读取数据,但在获取对象列表时出现错误:segmentationNotSupported。在发送 WhoIsIAm ( bacnet_scan.py) 时,我收到以下回复:

我的客户端应用程序 ( grab_bacnet_config.py) 的配置是:

我将 maxApduLengthAccepted 更改为远程设备的。还试图使其足够大以供其他设备使用。阅读其他问题,尝试使用 bacpypes github repo 提供的 ReadProperty 进行调试。

还尝试使 APDU 长度足够大并等于远程设备的长度,但仍然无法读取 objectList。我能够读取单个属性及其值,但不能读取对象的整体列表。我可以读吗?我需要将它们放在@volttron 中获取grab_bacnet_config.py脚本。有没有办法调整 apdu 长度或分段的东西?

问候, 穆罕默德·阿纳斯·拉扎

0 投票
1 回答
60 浏览

plc - 倍福 CP6606 通讯

我有一个客户想要将 CP6606 连接到 BACnet/IP 网络上的 SCADA 服务器。
简而言之,这个 CP6606 正在控制一个自动废物收集系统,现在客户希望将所有警报等发送到这个充当中央操作单元的 SCADA 系统。

我们是否需要网关,或者这可以通过 TwinCAT 完成吗?
如何进行?

0 投票
1 回答
67 浏览

volttron - VOLTTRON 从多个 BACnet IP 读取数据到 MSTP 路由器使楼宇管理系统停机

我有一个 BACnet 网络,其中使用了多个 BACnet IP 到 MSTP 路由器。

网络配置如下:

网络配置草图

现在我正在尝试使用 Volttron 从网络读取数据。以前没有读取数据,所以我尝试更改use_read_multiple:false驱动程序配置。仍然使我更改的网络的请求更小max_per_request: 1

现在它正在读取数据,但一段时间后它显示错误并关闭 BMS。这意味着我们无法读取甚至发现 BMS 上的设备,也无法在 VOLTTRON 中提供数据。

在连接了大多数 AHU、FCU 的路由器上会出现错误。我尝试只测试那个路由器(假设它的标识符是 4900,现在大多数设备,如 4900:1、4900:3 等)开始在 BMS 和我的笔记本电脑上都出现错误。

我也尝试通过将 2-5 个设备分组并将平台驱动程序配置中的“group_offset_interval”设置为某个非常高的值来进行分组,以了解这是否是 MSTP 网络上的网络拥塞问题。有时它开始工作,但过了一段时间(一个小时),它也开始在 BMS 和 VOLTTRON 双方都出现错误。尽管设备处于开启状态。

它在不同的路由器上给出错误,有时许多路由器停止工作。

我该如何解决这个问题?

感谢期待。

规格:

0 投票
0 回答
41 浏览

bacnet - 如何使用 bacnet4j Jar 在 yabe 中自动读取和写入值

我是 bacnet 自动化和 bacnet4j 的新手,我们有一个广播 bacnet 点的 bacnet 服务器,我可以通过添加设备在 yabe 中手动看到它。在这种情况下,我的笔记本电脑和服务器连接到同一个网络。我怎样才能自动化呢?我需要读取和写入值。我应该从哪里开始?谁能帮忙

0 投票
0 回答
58 浏览

python - 使用 Bacpypes 到 AnalogValueObject 的 JSON 字符串

我目前正在使用树莓派来处理传输 JSON 字符串的设备,并使用 Bacpypes 通过 Bacnet IP 传输数据。我在分解 JSON 字符串时遇到问题,以便可以将多个数据点作为 Bacnet 模拟值对象发送。JSON 字符串类似于:

{'sn':1, 'sampletime'123, 'device_1':{'p1':100,'p2':200}, 'device_2':{'p1':100,'p2':200}, 'temp ':50,'嗡嗡声':23}

现在我可以将字符串传递给一个列表,我可以一次访问一个数据点。这个单一的数据点被传递给我们 Bacnet 系统上的所有对象。

我试图弄清楚如何分解这个 JSON 字符串,以便我可以将每个数据点列为它自己的 Bacnet 对象,或者将整个字符串作为单个对象传递。

任何帮助或提示将不胜感激!