要使用SCPI指令查询双向直流电源输出电流序列的触发源是否有效,需通过触发系统状态查询指令结合序列模式配置指令实现。以下是具体步骤和指令说明:
查询触发源配置
指令:
TRIGger:SOURce?
功能:返回当前触发源类型(如
BUS
、
EXT
、
INT
等),确认是否设置为预期的触发源(如外部触发
EXT
或内部触发
INT
)。
查询触发系统状态
指令:
TRIGger:STATe?
功能:返回触发系统是否启用(
1
表示启用,
0
表示禁用)。若未启用,即使配置了触发源,序列也不会响应触发信号。
查询序列模式触发关联
指令:
SOURce:LIST:TRIGger:SOURce?
功能:确认序列模式是否绑定到特定触发源(部分电源需显式关联序列与触发源)。
查询触发输出状态(可选)
指令:
TRIGger:OUTPut:STATe?
功能:检查触发输出是否激活(适用于需要外部设备同步的场景)。
plaintextSYSTem:REMote // 进入远程控制模式*RST // 复位设备(恢复默认设置)
plaintextSOURce:LIST:COUNt 3 // 设置3个序列点SOURce:LIST:CURRent:DATA1 -5, 2 // 第1点:-5A,持续2秒
SOURce:LIST:CURRent:DATA2 0, 1 // 第2点:0A,持续1秒
SOURce:LIST:CURRent:DATA3 10, 3 // 第3点:10A,持续3秒
SOURce:LIST:FUNCtion ON // 启用序列模式
plaintextTRIGger:SOURce EXT // 设置触发源为外部(EXT)TRIGger:SLOPe POS // 设置触发边沿为上升沿(可选)
TRIGger:STATe ON // 启用触发系统
plaintext// 查询当前触发源类型trigger_source = power.query("TRIG:SOUR?")
print(f"当前触发源: {trigger_source.strip()}")
// 查询触发系统状态
trigger_state = power.query("TRIG:STAT?")
print(f"触发系统状态: {'启用' if trigger_state.strip() == '1' else '禁用'}")
// 查询序列模式触发关联(部分电源支持)
try:
list_trigger_source = power.query("SOUR:LIST:TRIG:SOUR?")
print(f"序列模式触发源: {list_trigger_source.strip()}")
except:
print("该电源不支持直接查询序列模式触发源关联")
plaintextTRIGger:IMMediate // 发送手动触发信号(若触发源为BUS)
plaintextTRIGger:SOURce? // 返回当前触发源(如BUS/EXT/INT)
SOURce:LIST:TRIGger:SOURce EXT
显式关联序列与外部触发。
plaintextTRIG:SOUR? // 返回触发源类型TRIG:STAT? // 返回触发系统状态
TRIG:SOUR EXT
)。
plaintextPROG:TRIG:SOUR? // 查询触发源PROG:TRIG:STAT? // 查询触发状态
PROG:LIST:TRIG:SOUR EXT
绑定序列到外部触发。
plaintextSYSTem:ERRor? // 返回错误信息(如“-400 Parameter Error”表示参数错误)
TRIG:SOUR?
返回的触发源是否与预期一致(如需
EXT
但实际为
BUS
)。
TRIG:STAT?
返回
1
,否则序列不会响应触发。
SOUR:LIST:TRIG:SOUR EXT
绑定序列与触发源。
pythonimport pyvisarm = pyvisa.ResourceManager()power = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR")# 1. 初始化设备power.write("SYST:REM")power.write("*RST")# 2. 配置序列模式power.write("SOUR:LIST:COUN 3")power.write("SOUR:LIST:CURR:DATA1 -5, 2")power.write("SOUR:LIST:CURR:DATA2 0, 1")power.write("SOUR:LIST:CURR:DATA3 10, 3")power.write("SOUR:LIST:FUNC ON")# 3. 配置触发源(外部触发)power.write("TRIG:SOUR EXT")power.write("TRIG:SLOP POS")power.write("TRIG:STAT ON")# 4. 查询触发源有效性trigger_source = power.query("TRIG:SOUR?").strip()trigger_state = power.query("TRIG:STAT?").strip()print(f"当前触发源: {trigger_source}")print(f"触发系统状态: {'启用' if trigger_state == '1' else '禁用'}")# 5. 验证触发功能(手动触发测试)try: power.write("TRIG:IMM") # 发送手动触发(若触发源为BUS) print("已发送手动触发信号")except: print("手动触发不可用,请检查触发源配置")power.close()
TRIG:SOUR?
(查询触发源)、
TRIG:STAT?
(查询触发状态)、
SOUR:LIST:TRIG:SOUR?
(查询序列触发关联)。
PROG:
前缀,ITECH可能省略部分参数)。
通过上述方法,可快速确认双向直流电源的电流序列触发源是否有效,并定位配置问题。