资讯中心

联系我们

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

如何通过SCPI指令查询双向直流电源当前输出电流序列的触发源?

2025-12-22 09:52:06  点击:

要使用SCPI指令查询双向直流电源当前输出电流序列的触发源,需结合序列模式状态查询与触发源配置指令,以下是具体实现方法与指令示例:

一、核心查询指令

  1. 查询序列是否启用
    指令:
    SOURce:LIST:FUNCtion?
    返回:ON(已启用)或OFF(未启用),确认序列功能是否激活。

  2. 查询当前触发源
    指令:
    TRIGger:SOURce?
    返回:触发源类型,常见值包括:

    • IMMediate(内部软件触发)
    • EXTernal(外部TTL信号触发)
    • BUS(总线触发,如GPIB/LAN)
    • 部分电源可能返回其他值(如SINGle表示单次触发)。
  3. 查询触发边沿(仅外部触发时有效)
    指令:
    TRIGger:SLOPe?
    返回:POSitive(上升沿触发)或NEGative(下降沿触发)。

二、完整查询流程示例

plaintext# 1. 确认序列已启用SOUR:LIST:FUNC?  # 返回"ON"表示序列功能激活

# 2. 查询当前触发源
TRIG:SOUR?       # 返回"EXT"表示外部触发,"IMM"表示内部触发

# 3. 若触发源为外部,查询触发边沿
TRIG:SLOP?       # 返回"POS"表示上升沿触发

三、厂商差异与指令扩展

不同厂商电源的SCPI指令可能存在差异,以下为常见品牌的适配指令:

品牌/型号查询触发源指令查询边沿指令
Keysight N6700系列TRIG:SOUR?TRIG:SLOP?
ITECH IT6000系列LIST:TRIG:SOUR?LIST:TRIG:SLOP?
Chroma 62000P系列PROG:TRIG:SOUR?PROG:TRIG:SLOP?
通用指令SOURce:LIST:TRIGger:SOURce?SOURce:LIST:TRIGger:SLOPe?

四、关键注意事项

  1. 指令兼容性
    • 部分电源可能不支持直接查询触发源,需通过状态寄存器或事件日志间接获取(如Keysight的SYSTem:EVENT:STATe?)。
    • 若指令执行失败,检查错误代码(如-400 Parameter Error表示参数超出范围,-107 No Sequence Active表示序列未启用)。
  2. 触发源状态验证
    • 外部触发时,确认触发信号已正确连接至电源的Trigger In接口,且信号电平符合电源要求(如TTL高电平≥2.4V)。
    • 内部触发时,确认已发送TRIG:INIT命令启动序列。
  3. 动态序列修改
    • 若序列运行过程中修改了触发源(如从外部切换为内部),需重新查询并验证状态。

五、Python脚本示例(PyVISA)

pythonimport pyvisarm = pyvisa.ResourceManager()power = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR")  # 替换为实际地址# 查询序列状态is_list_active = power.query("SOUR:LIST:FUNC?").strip() == "ON"if is_list_active:    # 查询触发源    trigger_source = power.query("TRIG:SOUR?").strip()    print(f"当前触发源: {trigger_source}")    # 若触发源为外部,查询边沿    if trigger_source.upper() == "EXT":        trigger_slope = power.query("TRIG:SLOP?").strip()        print(f"触发边沿: {trigger_slope}")else:    print("序列未启用,请先配置并启动序列")power.close()