资讯中心

联系我们

深圳市维立信电子科技有限公司
地址:深圳市福田区红荔路第一世界广场A座8D-E
咨询电话:0755-83766766
E-mail:info@welissom.com

如何通过SCPI指令查询Keysight双向直流电源输出序列长度?

2026-03-09 10:55:37  点击:

  要通过SCPI指令查询Keysight双向直流电源的输出序列长度,需使用SOURce:LIST:COUNt?命令,该命令会返回序列中定义的总点数。以下是详细说明和操作示例:

  核心指令

  查询序列总点数:

  SOURce:LIST:COUNt?

  返回序列中定义的总点数(如返回3表示序列包含3个点)。

  完整查询流程

  确认序列功能已启用:

  发送指令检查序列是否激活:

  plaintextSOURce:LIST:FUNCtion?

  返回ON表示序列已启用,OFF则需先启用序列功能。

  查询序列总点数:

  发送指令获取序列总点数:

  plaintextSOURce:LIST:COUNt?

  若返回3.表示序列包含3个输出点。

  (可选)查询当前序列点位置:

  发送指令获取当前执行的序列点序号(从1开始计数):

  plaintextSOURce:LIST:ADVance:COUNter?

  若返回2.表示当前处于第2个序列点。

  (可选)查询循环状态与剩余次数:

  检查循环是否启用:

  plaintextSOURce:LIST:CYCLe:STATe?

  返回ON表示启用循环模式。

  查询剩余循环次数(部分型号支持):

  plaintextSOURce:LIST:CYCLe:COUNt:REMaining?

  返回剩余循环次数(若设置为无限循环,可能返回INF或特定值)。

  Python脚本示例(PyVISA)

  pythonimport pyvisa# 连接电源rm = pyvisa.ResourceManager()power_supply = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR")  # 替换为实际地址# 查询序列状态is_list_active = power_supply.query("SOURce:LIST:FUNCtion?").strip() == "ON"print(f"序列是否启用: {is_list_active}")if is_list_active:    # 查询序列总点数    total_points = int(power_supply.query("SOURce:LIST:COUNt?").strip())    print(f"序列总点数: {total_points}")    # 查询当前序列点位置(可选)    current_point = int(power_supply.query("SOURce:LIST:ADVance:COUNter?").strip())    print(f"当前序列点: {current_point}/{total_points}")    # 查询循环状态(可选)    try:        is_loop_enabled = power_supply.query("SOURce:LIST:CYCLe:STATe?").strip() == "ON"        remaining_loops = power_supply.query("SOURce:LIST:CYCLe:COUNt:REMaining?").strip()        print(f"循环启用: {is_loop_enabled}, 剩余循环次数: {remaining_loops}")    except:        print("循环查询指令不支持或未启用")else:    print("序列未启用,请先配置并启动序列")# 关闭连接power_supply.close()

  注意事项

  指令兼容性:不同型号的Keysight电源可能支持略有差异的SCPI指令,建议参考具体设备的手册(如N6700系列需结合SOURce:LIST:STATe?查询序列状态)。

  错误处理:若序列未启用,查询状态可能返回错误代码(如-107 No Sequence Active),需通过异常处理(如try-except)避免程序中断。

  实时性:部分电源的查询结果可能存在延迟,需根据实际需求调整查询频率。