导入
方法
方法参考
Net.get(name, type=NetType.PowerSupply)
按名称获取一个电源 Net。
返回: 电源 Net 实例
set_voltage(value)
设置输出电压。
set_current(value)
设置输出限流值。
voltage()
读取实测的输出电压。
float - 实测电压,单位伏特
current()
读取实测的输出电流。
float - 实测电流,单位安培
power()
读取实测的输出功率。
float - 实测功率,单位瓦特
enable()
打开电源输出。
disable()
关闭电源输出。
set_ovp(limit)
设置过压保护阈值。当实测电压超过该阈值时,输出会被自动关闭。在 Keithley 2281S 上,低于电压设定值的 OVP 会引发错误。其他驱动会接受它。
set_ocp(limit)
设置过流保护阈值。当实测电流超过该阈值时,输出会被自动关闭。
get_ovp_limit()
获取已配置的 OVP 限值。
float - OVP 阈值,单位伏特
get_ocp_limit()
获取已配置的 OCP 限值。
float - OCP 阈值,单位安培
is_ovp()
检查过压故障是否已触发。
bool - OVP 故障已触发时为 True
is_ocp()
检查过流故障是否已触发。
bool - OCP 故障已触发时为 True
clear_ovp()
清除过压保护故障。
clear_ocp()
清除过流保护故障。
state()
打印完整的电源状态,包括通道、是否已打开、模式(CV/CC)、实测电压/电流/功率,以及保护状态。
该调用在 Box 的硬件服务中运行。文本写入 Box 上的 /tmp/lager-hardware-service.log,而不是您的脚本,并且调用返回 None。若要在脚本中读取状态,请使用 get_monitor_state()。请参阅 #845。
get_full_state()
打印扩展状态,包括全部测量值、已配置的设定值、保护限值和硬件最大额定值。与 state() 一样,它打印到硬件服务日志并返回 None。
state() 多出的字段:
- Voltage_Set / Current_Set - 已配置的设定值
- Voltage_Max / Current_Max - 硬件通道的额定值
get_monitor_state(channel)
一次调用读取一个通道的完整状态,并以 dict 返回。这是在脚本中读取状态的方法。
请传入该 Net 的通道。不传通道时,DP832 这样的多通道电源会读取其前面板上选中的输出(#846)。
get_monitor_states([1, 2]) 读取多个通道,并返回 {'1': {...}, '2': {...}}。
disable_ocp(channel) / disable_ovp(channel)
关闭过流或过压保护。用 set_ocp() 或 set_ovp() 设置限值会重新打开保护。
请传入该 Net 的通道。不传通道时,多通道电源会作用于其前面板上选中的输出(#846)。设置了
max_voltage 安全限值的 Net 会拒绝关闭 OVP,设置了 max_current 的 Net 会拒绝关闭 OCP。
示例
基本的电源控制
带保护阈值
监视功耗
查看完整状态
受支持的硬件
说明
- 该 Net 必须配置为
NetType.PowerSupply - 设置好电压/电流之后,请调用
enable()打开输出 - 结束时请务必调用
disable() - 保护故障会自动关闭输出;处理完故障之后,请用
clear_ovp()或clear_ocp()清除 - 在 Keithley 2281S 上,低于电压设定值的 OVP 会引发错误
- 电压和电流的上限取决于硬件能力
- 多通道电源:每个通道配置为一个单独的 Net
state()和get_full_state()打印到 Box 的硬件服务日志并返回None;在代码中取值请用voltage()、current()、power()或get_monitor_state()

