【问题标题】:Reading value from Real BACnet Device on using BAC0使用 BAC0 从真实 BACnet 设备读取值
【发布时间】:2023-01-25 23:36:14
【问题描述】:

我试图在 python 3 中使用 BAC0 包从 BACnet 网络中可用的 BACnet 设备获取价值。

导入 BAC0 bacnet = BAC0.lite(ip='192.168.5.10/24' ,port=47809)

value = bacnet.read("192.168.5.13:47808 analogInput 1 presentValue")

其中 192.168.5.10 是我的本地 PC 主机地址,192.168.5.13 是 BACnet 设备的 ip 地址

收到错误:

BAC0.core.io.IOExceptions.NoResponseFromController:APDU 中止原因:超时

【问题讨论】:

    标签: networking bacnet bac0


    【解决方案1】:

    首先 - 为了他人的利益,您在“导入 BAC0”语句之后缺少换行符。

    我刚刚测试了一个轻微的变体(- 并不是说​​我是 Python 开发人员),但它似乎有效;我已经屏蔽了我测试过的确切 IP 地址):

    import BAC0
    
    BAC0.log_level('info')
    
    bacnet = BAC0.lite(ip = '192.168.n.h/24', port = 47809)
    
    value = bacnet.read("195.n.n.h:47808 analogInput 1 presentValue")
    
    print(value)
    
    

    你确定你有正确的(IP 地址和)端口号吗?

    是否在“服务器”/服务/目标设备上设置了默认网关(至少在 BACnet 客户端和服务器位于不同子网的情况下)?

    您确定此目标/“服务器”设备没有与之关联的 DNET 和 DADR 值对 - 即也需要指定它们吗?

    是否有 F/W 阻止通信?

    该设备当前(标记为)“停止服务”(或遇到问题)吗?

    它是否获得了有效的 BACnet 许可证和/或应用了 BACnet 配置?

    您可能需要使用 Wireshark 进一步诊断,以查看发回了哪些响应八位字节/字节(如果有的话 - 甚至可能发送了哪些“服务”请求八位字节/字节);或者甚至是“VTS”(可视化测试外壳)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-10-22
      • 1970-01-01
      • 1970-01-01
      • 2022-06-14
      • 2019-06-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多