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
相关产品推荐
相关产品推荐

