VISA编程问题
问题是这样的:
我现在用的是VISA COM,工具是VC6,目的是从Agilent测温机中读取温度数据。首先我用这样一组命令配置参数
"MEASUREMENT:SINGLE:STATE 0"
"CONFIGURE:MEASUREMENT:SETTING:PRESET"
"CONFIGURE:MEASUREMENT:SETUP:CHANNEL 1"
"CONFIGURE:MEASUREMENT:SETUP:MTIME 30"
":CONFigure:MEASurement:SETup:ITUTime 10"
"CONFIGURE:MEASUREMENT:SETUP:STARTDIST 0m"
"CONFIGURE:MEASUREMENT:SETUP:SPAN 139m"
":CONFigure:MEASurement:SETup:SINTerval 1"
":CONFigure:MEASurement:SETup:SRESolution 1"
":conf:meas:sens:sect1:arat 0.33"
":conf:meas:sens:sect1:tgc 1.0"
":conf:meas:sens:sect1:toc 0"
":conf:meas:sens:sect1:rind 1.46"
":conf:meas:sens:sect1:sfac 1"
配置后测温"MEASUREMENT:SINGLE:STATE 1",测温完成后发"READ:TRAC:DATA? 1"请求,问题就是我不知道该如何接收温度值。
如果我用IFormattedIO488Ptr::ReadString(),获取一组字符串,开头的一组字符是#3560...,表示这之后的560个字节是温度数据,我试图将此后字符串直接转换为float的温度值,但是我发现这个字符串长度只有549,就是说根本不完整,即不能用ReadString()函数读取数组数据
我看到ReadIEEEBlock和ReadList似乎是用来读数组数据的,但实在不知道如何用,文档中也没有实例,望指教
[解决办法]
SF,友情帮顶了,