Skip to main content
控制可编程电源,为您的被测设备设置电压、电流和保护阈值。

导入

方法

方法参考

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。

示例

基本的电源控制

带保护阈值

监视功耗

查看完整状态

受支持的硬件

目前 EA 电源无法通过 Net.get() 使用。set_voltage()、set_current()、set_ovp()、set_ocp()、enable() 和 disable() 会以 “Function not found” 失败。对 EA 电源请使用 lager supply。请参阅 #843。

说明

  • 该 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()