资讯中心

联系我们

深圳市维立信电子科技有限公司
地址:深圳市福田区红荔路第一世界广场A座8D-E
咨询电话:0755-83766766
E-mail:info@welissom.com

如何通过SCPI指令设置双向直流电源序列步进时间与频率的比值?

2026-02-27 10:03:00  点击:

  在 Agilent/Keysight 双向直流电源(如 N6700/N7900 系列)的 List(序列)模式下,SCPI 指令集不提供直接设置“步进时间与频率比值”的命令(如 LIST:RATIO或 LIST:DUTY)。

  这是因为 List 模式本质是“阶梯波”,它由独立的电压/电流值和驻留时间(Dwell Time)组成,没有“频率”或“周期”的全局概念。你必须通过数学计算将你期望的“频率”或“占空比”转换为具体的驻留时间数值,然后使用 SOURce:LIST:DWELl命令进行设置。

  1. 核心逻辑:从“比值”到“时间”的转换

  假设你的需求是设置每个步进(Step)的持续时间(Dwell Time)占整个序列周期(Cycle Time)的比例(即占空比),或者设置步进速率(Step Rate),其转换关系如下:

  

  2. 关键 SCPI 设置指令

  在计算出具体的 Dwell_Time(单位:秒)后,使用以下命令进行设置:

  指令 1:设置所有步进使用相同的驻留时间(Uniform Dwell)

  这是最简单的情况,适用于所有步进时间比例相同(如生成方波)。

  /* 设置通道1的序列驻留时间为 0.01 秒(10ms) */

  SOURce:LIST:DWELl 0.01. (@1)

  指令 2:设置每个步进不同的驻留时间(Variable Dwell)

  如果你的“比值”在每个步进中不同(如生成 PWM 波形),必须传入一个与电压/电流列表长度完全一致的逗号分隔列表。

  /* 设置一个 3 步序列的驻留时间:第1步 0.02s,第2步 0.005s,第3步 0.025s */

  SOURce:LIST:DWELl 0.02. 0.005. 0.025. (@1)

  指令 3:查询当前驻留时间(用于验证)

  SOURce:LIST:DWELl? (@1)

  3. 实战示例:生成一个 10Hz 方波(占空比 50%)

  假设你想在通道 1 输出一个 0V 到 5V 的 10Hz 方波,占空比为 50%。

  计算周期:T = 1 / 10Hz = 0.1 s

  计算高电平(5V)驻留时间:Dwell_High = 0.1 * 0.5 = 0.05 s

  计算低电平(0V)驻留时间:Dwell_Low = 0.05 s(对称方波)

  完整的 SCPI 脚本如下:

  /* 1. 进入 List 模式 */

  SOURce:FUNCtion:MODE LIST, (@1)

  /* 2. 定义电压序列:高电平 -> 低电平 */

  SOURce:LIST:VOLTage 5. 0. (@1)

  /* 3. 设置驻留时间(步进时间/周期 = 0.5) */

  SOURce:LIST:DWELl 0.05. 0.05. (@1)

  /* 4. 设置无限循环(连续输出) */

  SOURce:LIST:COUNt INFinity, (@1)

  /* 5. 开启输出并触发 */

  OUTPut ON, (@1)

  TRIGger:IMMediate (@1)

  4. 重要限制与陷阱(Hardware Limitation)

  在设置极短的驻留时间(对应高频率比值)时,必须查询硬件的最小驻留时间限制,否则设置会失败或波形失真。

  

  查询最小驻留时间指令(用于边界检查):

  SOURce:LIST:DWELl? MIN, (@1)

  结论:没有“一键设置比值”的魔法指令。你必须先在外部控制器(PC/LabVIEW/Python)中执行 Dwell = Ratio * Period的计算,然后将计算结果通过 LIST:DWELl命令发送给电源。