要通过SCPI命令设置Keysight双向直流电源的过流保护(OCP)阈值,可使用以下核心指令及完整操作流程:
核心SCPI指令
设置过流保护阈值
plaintext
SOURce:CURRent:PROTection:LEVel
示例:设置电流上限为10A:
plaintext
SOURce:CURRent:PROTection:LEVel 10
启用过流保护功能
plaintext
SOURce:CURRent:PROTection:STATe ON
默认状态下,过流保护通常为启用状态(ON),但建议显式确认。
示例:启用电流保护:
plaintext
SOURce:CURRent:PROTection:STATe ON
(可选)设置保护延迟时间
plaintext
SOURce:CURRent:PROTection:DELay
示例:设置延迟时间为100毫秒:
plaintext
SOURce:CURRent:PROTection:DELay 0.1
完整操作流程
初始化与复位
plaintext
SYSTem:REMote // 进入远程控制模式
*RST // 复位设备(可选,清除历史设置)
配置过流保护参数
plaintext
// 设置电流上限为10A,启用保护,延迟100ms
SOURce:CURRent:PROTection:LEVel 10
SOURce:CURRent:PROTection:STATe ON
SOURce:CURRent:PROTection:DELay 0.1
验证设置
查询当前过流阈值:
plaintext
SOURce:CURRent:PROTection:LEVel?
查询保护状态:
plaintext
SOURce:CURRent:PROTection:STATe?
启动输出
plaintext
OUTPut:STATe ON // 开启输出
厂商差异与扩展指令
不同型号的Keysight电源可能支持扩展指令,例如:
N6700系列:
plaintext
SOURce:CURRent:PROTection:CLEar // 清除保护触发状态
IT6000系列:
plaintext
SOURce:CURRent:RANGe:LEVel 10. -10 // 设置双向电流范围(±10A)
验证与调试
模拟触发保护
手动设置超过阈值的电流值(如11A),验证保护功能是否触发。
触发后需清除保护状态(如执行OUTPut:PROTect:CLEar)。
错误处理
使用SYSTem:ERRor?查询错误代码(如502表示OCP触发)。
确保单位一致(如A而非mA),并预留安全裕量(如阈值比负载最大电流高10%)。
示例代码(Python + PyVISA)
python
import pyvisa
rm = pyvisa.ResourceManager()
psu = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR") # 替换为实际电源地址
# 设置过流保护阈值为10A,启用保护,延迟100ms
psu.write("SOURce:CURRent:PROTection:LEVel 10")
psu.write("SOURce:CURRent:PROTection:STATe ON")
psu.write("SOURce:CURRent:PROTection:DELay 0.1")
# 查询当前设置
ocp_threshold = psu.query("SOURce:CURRent:PROTection:LEVel?")
ocp_state = psu.query("SOURce:CURRent:PROTection:STATe?")
print(f"当前过流阈值: {ocp_threshold.strip()}A, 保护状态: {'启用' if ocp_state.strip() == 'ON' else '禁用'}")
psu.close()
注意事项
双向电源配置:若需设置双向电流范围,需结合SOURce:CURRent:RANGe指令(如BI表示双向)。
安全裕量:阈值应高于负载正常工作电流,但低于电源或负载的最大耐受值。
动态调整:部分电源支持在测试过程中动态修改保护阈值(如启动阶段高阈值,稳定后降低)。