资讯中心

联系我们

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

如何用SCPI指令设置双向直流电源输出电流序列的重复次数为0?

2025-12-22 09:34:47  点击:

要使用SCPI指令将双向直流电源的电流序列重复次数设置为 0(无限循环) 或 指定次数(包括0次),需通过 SOURce:LIST:CYCLe 或 SOURce:LIST:COUNt(部分设备) 指令实现。以下是具体方法及注意事项:


核心指令与参数

1. 设置序列循环次数

  • 指令SOURce:LIST:CYCLe <N>
    • 功能:定义序列的重复次数。
      • <N> = 0:无限循环(持续运行直到手动停止)。
      • <N> = 1:运行一次后停止。
      • <N> = N:运行N次后停止。
    • 示例
      scpiSOURce:LIST:CYCLe 0  ; 无限循环

2. 查询当前循环次数(可选)

  • 指令SOURce:LIST:CYCLe?
    • 功能:返回当前设置的循环次数。
    • 示例
      scpiprint(power.query("SOUR:LIST:CYCLe?"))  # 输出如 "0"(无限循环)

完整操作流程

步骤1:进入远程模式

scpiSYSTem:REMote

步骤2:复位设备(可选)

scpi*RST

步骤3:配置序列参数

  • 设置序列点数
    scpiSOURce:LIST:COUNt 3  ; 定义3个序列点
  • 定义电流序列
    scpiSOURce:LIST:CURRent 0, 5, -5  ; 电流值(单位:A)
  • 设置每个点的持续时间
    scpiSOURce:LIST:DWELl 2, 5, 3  ; 持续时间(单位:秒,依设备而定)

步骤4:设置循环次数为0(无限循环)

scpiSOURce:LIST:CYCLe 0

步骤5:启用序列模式

scpiSOURce:LIST:FUNCtion ON

步骤6:启动输出

  • 内部触发(软件启动)
    scpiTRIGger:SOURce IMMediateTRIGger:INITiate
  • 外部触发(如TTL信号)
    scpiTRIGger:SOURce EXTernalTRIGger:SLOPe POSitive
    OUTPut:STATe ON  ; 准备输出,等待触发

厂商差异与注意事项

1. 指令兼容性

  • Keysight N6700系列
    • 支持 SOURce:LIST:CYCLe,且 0 表示无限循环。
    • 示例:
      scpiSOUR:LIST:CYCL 0  ; 无限循环
  • ITECH IT6000系列
    • 可能使用 LIST:CYCLe:COUNt 或类似指令,需参考手册。
    • 示例:
      scpiLIST:CYCL:COUN 0  ; 无限循环(假设指令格式)
  • Chroma 62000P系列
    • 可能通过 PROG:LIST:REPeat 设置循环次数。
    • 示例:
      scpiPROG:LIST:REPeat 0  ; 无限循环

2. 停止无限循环序列

  • 手动停止
    scpiOUTPut:STATe OFF  ; 关闭输出
  • 通过触发信号停止(部分设备支持)
    scpiTRIGger:ABORt  ; 发送中止信号

3. 查询序列状态

  • 当前循环次数
    scpiSOURce:LIST:CYCLe:COUNt?  ; 返回已完成的循环次数(部分设备支持)
  • 输出状态
    scpiOUTPut:STATe?

示例脚本(Python + PyVISA)

pythonimport pyvisarm = pyvisa.ResourceManager()power = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR")  # 替换为实际电源地址# 配置序列power.write("SYST:REM")power.write("*RST")power.write("SOUR:LIST:COUN 3")power.write("SOUR:LIST:CURR 0, 5, -5")  # 电流序列power.write("SOUR:LIST:DWEL 2, 5, 3")   # 持续时间power.write("SOUR:LIST:CYCL 0")         # 无限循环power.write("SOUR:LIST:FUNC ON")# 启动输出(内部触发)power.write("TRIG:SOUR IMM")power.write("TRIG:INIT")# 停止输出(示例:5秒后停止)import timetime.sleep(5)power.write("OUTP:STAT OFF")power.close()

总结

  • 关键指令SOURce:LIST:CYCLe 0(设置无限循环)。
  • 停止方法:通过 OUTPut:STATe OFF 或触发中止信号。
  • 厂商适配:需参考具体设备手册确认指令格式(如ITECH/Chroma可能不同)。
  • 验证:使用查询指令(如 SOUR:LIST:CYCLe?)确认设置生效。