我试图通过发送以下命令从DPO3034范围中检索数据:
else
我得DATA:SOURCE CH1
DATA:ENCDG ASC
DATA:START
CURVE?
如何将这些ASCII格式的值转换为电压?
我也尝试检索二进制格式的数据
98, 98, 98, 97, 97, 98, 98,...
我得DATA:SOURCE CH1
DATA:ENCDG RIBINARY
DATA:START
CURVE?
如何将这些转换为正确的数据点?
{{3}}
答案 0 :(得分:1)
您使用CURVE?
读取的这些值是具有增益和偏移量的数字值,用于将它们转换为(通常)伏特。
您还应该阅读这些值:
double YZero = double.Parse(io.Query("WFMO:YZE?"));
double YMult = double.Parse(io.Query("WFMO:YMU?"));
double YOff = double.Parse(io.Query("WFMO:YOF?"));
然后你应该从rawValue
获得的数组中的每个值CURVE?
计算实际电压:
double voltValue = YZero - YOff * YMult + (YMult * double.Parse(rawValue));
二进制数据也一样,只需将其解析为int16(取决于每个数字的位长)
P.S。 我相信您的手册不是最新的,我建议您从Tektonix网站下载这些手册。