我使用 34972A + 34908A 40ch 开关。出于某种原因“*OPC?” 命令(AC测量请求后等待操作完成停止工作。
测量仍在执行,但“*OPC?” 命令回复立即发送,不等待实际测量结束。我知道,因为当我在代码中引入额外的时间延迟时,它会起作用,但延迟必须足够长才能完成测量。
它在测量 DC 时效果很好。然后我切换到 AC 并使用相同的 MUX 通道进行测量。第一次试验可以,第二次也可以,但接下来的不是。
下面是来自 Wireshark 的转储:
直流
SENS:FUNC "VOLT:DC", (@222)
路由:扫描 (@222)
ROUT:CHAN:DEL:AUTO ON
触发:SOUR IMM
*OPC?
数据:点?
无错误 +1\n
数据:REM?1
无错误 -2.54063640E+01\n
AC一审
SENS:FUNC "VOLT:AC", (@222)
路由:扫描 (@222)
ROUT:CHAN:DEL:AUTO ON
触发:SOUR IMM
*OPC?
数据:点?
无错误 +1\n
数据:REM?1
+2.78389330E+01\n
交流二审
SENS:FUNC "VOLT:AC", (@222)
路由:扫描 (@222)
ROUT:CHAN:DEL:AUTO ON
触发:SOUR IMM
*OPC?
数据:点?
无错误 +1\n
数据:REM?1
无错误 +2.78847200E+01\n
交流三审
SENS:FUNC "VOLT:AC", (@222)
路由:扫描 (@222)
ROUT:CHAN:DEL:AUTO ON
触发:SOUR IMM
*OPC?
数据:点?
无错误 +0\n
在最后一种情况下,如果我在发送 DATA:POIN? 之前等待了足够长的时间,它将返回 +1。但是,这意味着 *OPC? 不能正常工作
我在我的设置中发现了一个错误,我应该将交流带宽设置为 200Hz,现在它可以工作了。
不过,我还是不明白这种错误的行为。