要通过SCPI指令查询双向直流电源当前输出电流序列的状态,需结合序列索引、输出状态、触发状态等关键参数,使用设备支持的查询指令获取实时信息。以下是具体方法与指令示例:
SOURce:LIST:INDEx?plaintextSOURce:LIST:INDEx? ; 返回当前序列点索引(如"3"表示第3点)
SOURce:LIST:COUNt?)判断剩余点数。OUTPut:STATe?1为开启,0为关闭)。plaintextOUTPut:STATe? ; 返回"1"表示输出已开启,"0"表示关闭
SOURce:LIST:FUNCtion?1为启用,0为禁用)。plaintextSOURce:LIST:FUNCtion? ; 返回"1"表示序列模式已激活
SOURce:LIST:CYCLe?1为循环,0为单次)。plaintextSOURce:LIST:CYCLe? ; 返回"1"表示序列循环执行
SOURce:LIST:CURRent:DATA#?(#为序列点编号)0,2表示0A持续2秒)。plaintextSOURce:LIST:CURR:DATA3? ; 返回第3点的电流参数(如"10,2")
TRIGger:STATe?1为就绪,0为触发中或未配置)。plaintextTRIGger:STATe? ; 返回"1"表示触发系统已准备好
OUTPut:PROTect:CLEar? 或 SYSTem:STATus?plaintextOUTPut:PROTect:CLEar? ; 返回"0"表示无保护,非零值表示保护类型SYSTem:STATus? ; 返回详细状态寄存器(需解析二进制位)
plaintextSOURce:LIST:FUNCtion? ; 确认序列模式已启用SOURce:LIST:INDEx? ; 获取当前序列点索引
plaintextOUTPut:STATe? ; 确认输出是否开启OUTPut:PROTect:CLEar? ; 检查是否触发保护
plaintextSOURce:LIST:CYCLe? ; 确认序列是否循环TRIGger:STATe? ; 检查触发系统状态(外部触发模式)
pythonimport pyvisarm = pyvisa.ResourceManager()device = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR")# 查询序列状态is_sequence_active = int(device.query("SOURce:LIST:FUNCtion?")) == 1current_index = int(device.query("SOURce:LIST:INDEx?"))is_output_on = int(device.query("OUTPut:STATe?")) == 1is_protected = int(device.query("OUTPut:PROTect:CLEar?")) == 0print(f"序列模式: {'启用' if is_sequence_active else '禁用'}")print(f"当前点索引: {current_index}")print(f"输出状态: {'开启' if is_output_on else '关闭'}")print(f"保护状态: {'触发' if is_protected else '正常'}")
SOURce:LIST:GOTO? 查询跳转目标点。LIST:STATus? 返回序列状态摘要。PROG:LIST:CURR:DATA#? 查询序列点参数。OUTPut:PROTect:POLarity?)。-420“Query Unterminated”),检查指令语法或设备是否支持。SYSTem:ERRor? 获取详细错误代码(如参数越限、序列未启动)。通过上述指令组合,可全面监控双向直流电源的序列输出状态,适用于自动化测试、故障诊断及动态调整场景。