VOLTage:PROTection:LEVel? ; 查询OVP设定值
VOLTage:PROTection:STATe? ; 查询OVP是否启用
VOLTage? ; 查询当前电压设定值
MEASure:VOLTage? ; 查询实际输出电压
OUTPut:PROTection:TRIPped? ; 查询保护是否已触发
| 命令 | 功能 | 返回值示例 |
|---|---|---|
VOLT:PROT:LEV? | 查询OVP阈值电压 | 160.0(V) |
VOLT:PROT:STAT? | 查询OVP开关状态 | ON / OFF |
VOLT:PROT:DELay? | 查询OVP触发延迟时间 | 0.01(s) |
VOLT:PROT:MODE? | 查询OVP响应模式(如支持) | TRIP / CLAMP |
; 1. 查询OVP是否启用
VOLTage:PROTection:STATe?
; 返回 ON
; 2. 查询OVP设定阈值
VOLTage:PROTection:LEVel?
; 返回 165.0(假设150V量程,OVP设为110%)
; 3. 查询当前电压设定值
VOLTage?
; 返回 150.0
; 4. 查询实际输出电压
MEASure:VOLTage?
; 返回 149.8
; 5. 检查OVP是否已触发
OUTPut:PROTection:TRIPped?
; 返回 0(未触发)或 1(已触发)
; 6. 若已触发,查询具体状态
STATus:QUEStionable:EVENt?
; 解析位定义确认过压
import pyvisa
rm = pyvisa.ResourceManager()inst = rm.open_resource('TCPIP0::192.168.1.10::inst0::INSTR')def query_ovp_status():
"""查询过压保护状态"""
# OVP开关状态
ovp_enabled = inst.query('VOLT:PROT:STAT?').strip()
# OVP阈值
ovp_level = float(inst.query('VOLT:PROT:LEV?'))
# 当前电压设定
volt_set = float(inst.query('VOLT?'))
# 实际输出电压
volt_meas = float(inst.query('MEAS:VOLT?'))
# 保护触发状态
tripped = int(inst.query('OUTP:PROT:TRIP?'))
# 计算余量
margin = ovp_level - volt_meas
margin_pct = (margin / ovp_level) * 100
print(f"OVP状态: {'启用' if ovp_enabled == 'ON' else '禁用'}")
print(f"OVP阈值: {ovp_level:.2f} V")
print(f"电压设定: {volt_set:.2f} V")
print(f"实际输出: {volt_meas:.2f} V")
print(f"OVP余量: {margin:.2f} V ({margin_pct:.1f}%)")
print(f"保护触发: {'是' if tripped else '否'}")
if tripped:
print("⚠️ 过压保护已触发!")
# 可选:清除保护
# inst.write('OUTP:PROT:CLE')
return {
'ovp_enabled': ovp_enabled,
'ovp_level': ovp_level,
'voltage_set': volt_set,
'voltage_meas': volt_meas,
'tripped': bool(tripped)
}query_ovp_status()
; 设置OVP阈值为180V
VOLTage:PROTection:LEVel 180.0
; 启用OVP
VOLTage:PROTection:STATe ON
; 设置OVP触发延迟(如支持)
VOLTage:PROTection:DELay 0.01
| 项目 | 说明 |
|---|---|
| OVP范围 | 通常可设为量程的10%-110%,具体限制查阅规格书 |
| 双向电源特性 | N8900在源模式和能量回馈模式下OVP均有效 |
| 保护触发后 | 输出关闭,需发送 OUTP:PROT:CLE 清除 |
| 校准关联 | OVP阈值与电压校准精度相关,校准后OVP触发点更准确 |
| 需求 | 命令 |
|---|---|
| 查询OVP阈值 | VOLT:PROT:LEV? |
| 查询OVP开关 | VOLT:PROT:STAT? |
| 查询实际电压 | MEAS:VOLT? |
| 查询保护触发 | OUTP:PROT:TRIP? |
| 设置OVP阈值 | VOLT:PROT:LEV <value> |
| 清除保护 | OUTP:PROT:CLE |
CAL:DATE? 记录的校准日期前后的OVP设定值。