标准SCPI指令未直接提供查询双向直流电源输出电流序列触发源历史记录的功能,但可通过以下方法间接实现或验证触发源状态:
plaintextTRIGger:SOURce?
BUS
、
EXT
、
INT
等),确认是否设置为预期的触发源(如外部触发
EXT
)。
EXT
(表示外部触发)。
plaintextTRIGger:STATe?
1
表示启用,
0
表示禁用)。若未启用,即使配置了触发源,序列也不会响应触发信号。
1
(表示触发系统已启用)。
plaintextSOURce:LIST:TRIGger:SOURce?
EXT
或
INT
)。
plaintextTRIGger:OUTPut:STATe?
ON
(表示触发输出已激活)。
plaintextSOURce:LIST:INDEx?
1
表示第1点)。若序列未启动,可能返回错误(如
-107 No Sequence Active
)。
plaintextSOURce:LIST:CURRent:DATA?
n
个序列点的电流值与持续时间(如
SOURce:LIST:CURRent:DATA1?
返回第1点的参数)。
plaintextSYSTem:ERRor?
-400 Parameter Error
表示参数错误,
-107 No Sequence Active
表示序列未启用)。
SOURce:LIST:TRIGger:SOURce EXT
绑定序列与外部触发。
plaintextSOURce:LIST:TRIGger:SOURce? // 返回当前关联的触发源(如EXT)
100μs
(需确认手册)。
LIST:JUMP:INDEx 2
跳转到第2点。
PROG:LIST:CURR:DATA
定义序列点。
plaintextPROG:LIST:CURR:DATA1? // 查询第1点的电流值与时间
pythonimport pyvisarm = pyvisa.ResourceManager()power = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR")# 1. 查询当前触发源类型trigger_source = power.query("TRIG:SOUR?")print(f"当前触发源: {trigger_source.strip()}")# 2. 查询触发系统状态trigger_state = power.query("TRIG:STAT?")print(f"触发系统状态: {'启用' if trigger_state.strip() == '1' else '禁用'}")# 3. 查询序列点索引(验证序列是否启动)try: list_index = power.query("SOUR:LIST:INDEX?") print(f"当前序列点索引: {list_index.strip()}")except: print("无法查询序列点索引,可能序列未启动")# 4. 查询错误代码(排查问题)error_code = power.query("SYST:ERR?")print(f"错误代码: {error_code.strip()}")power.close()
SOURce:LIST:TRIGger:SOURce
,Chroma使用
PROG:LIST:TRIG:SOURce
)。
SOURce:LIST:FUNCtion ON
)且触发源与序列关联(如
SOURce:LIST:TRIGger:SOURce EXT
)。