N6705C+N6781A 的输出记忆(MEM)触发,本身没有 “多次触发 / 重复触发” 的专用 SCPI 命令,但可以通过「触发模式」+「状态查询」间接判断是否支持多次触发。
下面分三部分讲:命令、返回含义、如何判断 “能否多次触发”。
一、核心 SCPI:查询输出记忆触发模式(含单次 / 重复)
1. 选通道(双向通道一般是 OUT1)
scpi
:INSTrument:SELect OUTPut1
2. 查询触发 “模式 / 类型”(关键)
scpi
:OUTPut:MEMory:TRIGger:TYPE?
返回值与含义(直接关系到是否能多次触发)
表格
简单记: EXT / BUS / AUTO → 支持多次触发;IMM → 不支持。
二、查询 “记忆触发是否已启用”
scpi
:OUTPut:MEMory:STATe?
返回 ON:记忆触发功能打开
返回 OFF:关闭(自然谈不上多次触发)
三、查询 “触发后是否自动 rearme(自动准备下次触发)”
虽然没有 :REPeat?,但AUTO/EXT/BUS 模式默认就是自动重触发,只要:
记忆保持时间(:OUTP:MEM:DWELL)结束
输出回到正常值
条件再次满足 → 再次触发
你可以用下面两条命令组合判断 “当前是否处于可再次触发状态”:
查是否正在触发动作中:
scpi
:OUTPut:MEMory:ACTive?
1:正在执行记忆输出(保持时间内)
0:已恢复正常,可以再次触发
查最近一次触发次数(间接):
scpi
:ELOG:COUNt?
事件日志计数,如果不断增加 → 确实在多次触发
四、完整查询脚本(Python+VISA,直接可用)
python
运行
import pyvisa
rm = pyvisa.ResourceManager()
inst = rm.open_resource('TCPIP0::192.168.1.100::inst0::INSTR')
# 1. 选双向通道
inst.write(':INST:SEL OUT1')
# 2. 查询记忆触发状态
state = inst.query(':OUTP:MEM:STAT?').strip()
print("记忆触发状态:", state)
# 3. 查询触发类型(关键:判断是否支持多次触发)
trig_type = inst.query(':OUTP:MEM:TRIG:TYPE?').strip()
print("触发类型:", trig_type)
# 4. 查询是否正在触发动作中
active = inst.query(':OUTP:MEM:ACT?').strip()
print("是否正在触发动作中:", active)
# 5. 解读:是否支持多次触发
if trig_type in ('EXT', 'BUS', 'AUTO'):
print("✅ 支持多次触发(条件/信号可反复触发)")
else:
print("❌ 不支持多次触发(仅立即触发)")
inst.close()
五、一句话总结(便于你写测试逻辑)
用 :OUTP:MEM:TRIG:TYPE? 查类型:EXT/BUS/AUTO → 支持多次触发;IMM → 不支持。
用 :OUTP:MEM:ACT? 看是否空闲:返回 0 → 可以再次触发。