You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bitflow BFGTLDevice获取Claxon-CXP1的DeviceTemperature节点无效求助

问题:通过BitFlow SDK获取Basler VNIR高光谱相机温度节点无效且为Null

我尝试从连接Basler VNIR高光谱相机的Claxon-CXP1采集卡读取温度值,参考BitFlow官方文档编写了Python代码,但调用getNode('DeviceTemperature')得到的节点无效且为Null。

环境与前提

  • 相机与帧采集卡已通电,可在其他应用中正常运行
  • 代码在无其他应用/驱动运行的环境下执行
  • 已修正板卡未打开的代码问题,但温度节点问题仍存在

代码实现

import typing
import time
import os
import sys

# 指定BitFlow和CameraLink库的DLL路径
os.add_dll_directory(r"C:\BitFlow SDK 6.5\Bin64")
os.add_dll_directory(r"C:\Program Files\CameraLink\Serial")

import BFModule.BFGTLUtils as BfUtils  # pylint: disable=no-name-in-module, wrong-import-order

def get_vnir_temp()->None:
    """
    参考BitFlow BFGTLDevice文档实现
    """
    device = BfUtils.BFGTLDevice()
    print(f'bordCount: {device.boardCount()}')
    is_open = device.isOpen()
    print(f'isOpen:{is_open}')
    if is_open is not True:
        print('opening device')
        device.Open(1)
        is_open = device.isOpen()
        print(f'isOpen:{is_open}')
        time.sleep(.5)
    try:
        temp_node = device.getNode('DeviceTemperature')
        print(f'NodeName:{temp_node.DisplayName}')
        print(f'Valid:{temp_node.Valid}')
        print(f'IsNull:{temp_node.isNull}')
    except Exception:
            exc_type, exc_obj, exc_tb = sys.exc_info()
            fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1]
            print(f"Exception caught: {exc_type}")
            print(f"   \\_ file: {fname}, line #{exc_tb.tb_lineno}")

get_vnir_temp()

运行输出

Qt: Untested Windows version 10.0 detected!
bordCount: 0
isOpen:0
opening device
isOpen:0
NodeName:Device Temperature
Valid:False
IsNull:True

疑问

  • 温度节点DeviceTemperature无效且为Null的原因是什么?
  • 求相关的调试指导、官方文档补充说明及可用代码示例。

内容的提问来源于stack exchange,提问作者TheDev6

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 21:22:46