通过SCPI指令查询双向直流电源的输出电压范围,需结合电源的编程手册和标准SCPI指令结构,分步骤操作如下:
一、确认电源支持的查询指令
双向直流电源通常提供以下两类指令用于查询输出参数范围:
通用查询指令:如SOURce:VOLTage:RANGe?,用于查询当前设置的输出电压范围。
极限值查询指令:如SOURce:VOLTage:LIMit:MAX?和SOURce:VOLTage:LIMit:MIN?,用于查询电源支持的绝对最大/最小输出电压值。
二、具体操作步骤
1. 查询当前设置的输出电压范围
指令:SOURce:VOLTage:RANGe?
说明:该指令返回电源当前配置的输出电压范围(如0 TO 60 V或具体数值)。
示例:
scpiSEND: "SOURce:VOLTage:RANGe?"READ: "0 TO 60 V" // 返回当前范围
2. 查询绝对最大/最小输出电压值
指令:
最大值:SOURce:VOLTage:LIMit:MAX?
最小值:SOURce:VOLTage:LIMit:MIN?
说明:返回电源硬件支持的绝对电压极限值(如100 V或-100 V,取决于电源是否支持双向输出)。
示例:
scpiSEND: "SOURce:VOLTage:LIMit:MAX?"READ: "100" // 最大输出电压100V
SEND: "SOURce:VOLTage:LIMit:MIN?"
READ: "-100" // 最小输出电压-100V(双向电源)
3. 查询当前输出电压值(非范围,但辅助验证)
指令:MEASure:VOLTage?
说明:返回当前实际输出电压值,用于验证范围设置是否生效。
示例:
scpiSEND: "MEASure:VOLTage?"READ: "24.5" // 当前输出电压24.5V
三、注意事项
指令兼容性:
不同厂商的电源可能使用不同指令(如VOLT:RANG?或VOLTage:RANGe:UPPer?)。
参考具体设备的编程手册(如Keysight、Chroma、ITECH等品牌指令可能不同)。
双向电源的特殊性:
若电源支持双向输出(正负电压),需分别查询正负范围的极限值。
例如:SOURce:VOLTage:LIMit:MAX?返回正极最大值,SOURce:VOLTage:LIMit:MIN?返回负极最小值。
单位处理:
电源可能默认返回无单位数值(如60表示60V),需根据手册确认单位。
部分电源支持通过UNIT:VOLT指令显式设置单位。
错误处理:
若指令无效,电源可能返回-420(查询无效)或-113(未定义指令)等错误代码。
需检查指令拼写或电源是否支持该功能。
四、完整示例(Python + PyVISA)
pythonimport pyvisa# 连接电源rm = pyvisa.ResourceManager()source = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR") # 替换为实际地址# 查询当前电压范围range_response = source.query("SOURce:VOLTage:RANGe?")print(f"当前电压范围: {range_response.strip()}")# 查询绝对最大/最小电压max_volt = source.query("SOURce:VOLTage:LIMit:MAX?")min_volt = source.query("SOURce:VOLTage:LIMit:MIN?")print(f"绝对最大电压: {max_volt.strip()}V")print(f"绝对最小电压: {min_volt.strip()}V")# 关闭连接source.close()
五、替代方案
若电源不支持直接查询范围,可通过以下方法间接获取:
设置极限值并观察报错:尝试设置一个过高/过低的电压值,电源可能返回错误提示实际范围。
查阅手册:直接从设备手册中获取标称的电压范围参数。
通过面板显示:部分电源在前面板显示当前允许的电压范围。