要使用SCPI指令查询双向直流电源当前输出电流序列的触发源,需结合序列模式状态查询与触发源配置指令,以下是具体实现方法与指令示例:
查询序列是否启用
指令:SOURce:LIST:FUNCtion?
返回:ON(已启用)或OFF(未启用),确认序列功能是否激活。
查询当前触发源
指令:TRIGger:SOURce?
返回:触发源类型,常见值包括:
IMMediate(内部软件触发)EXTernal(外部TTL信号触发)BUS(总线触发,如GPIB/LAN)SINGle表示单次触发)。查询触发边沿(仅外部触发时有效)
指令: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? |
SYSTem:EVENT:STATe?)。-400 Parameter Error表示参数超出范围,-107 No Sequence Active表示序列未启用)。Trigger In接口,且信号电平符合电源要求(如TTL高电平≥2.4V)。TRIG:INIT命令启动序列。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()