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