使用VISA读写二进制数据
本示例探讨使用Tektronix对VISA对象进行二进制读写操作®TDS210示波器。
VISA对象支持7个接口:ser万博1manbetxial、GPIB、VXI、PXI、USB、serial、TCP/IP和Socket。本例探讨了使用VISA-GPIB对象的二进制读写操作。但是,所有接口的二进制读写操作都是相同的。因此,您可以使用相同的命令。唯一的区别是VISA构造函数中指定的资源名visadev
.
VISA-Serial对象的二进制读写操作与串口对象的二进制读写操作相同。因此,要了解如何对VISA-Serial对象执行二进制读写操作,请参见读写串口数据.
连接到仪器
使用如下所示的VISA资源字符串创建一个VISA- gpib对象。
V = visadev(“GPIB0:: 2:: INSTR”)
v =带有属性的GPIB: ResourceName: "GPIB0::2::INSTR"别名:"OSCOPE"供应商:"TEKTRONIX"型号:"TDS 210" BoardIndex: 0 PrimaryAddress: 1 SecondaryAddress: 0显示所有属性,函数
写入二进制数据
使用写
函数将二进制数据写入仪器。以下命令配置并向仪器发送一个正弦波。
writeline (v,“数据:目的地RefB”);writeline (v,“数据:Encdg SRPbinary”);writeline (v,“数据:宽度2”;writeline (v,“数据:开始1”);T = (0:499) .* 8 * PI / 500;数据=整数(sin(t) * 90 + 127);writeline (v,“曲线# 3500”);写(v、数据“int16”)
的写
函数挂起MATLAB®方法所指定的超时发生之前,一直执行超时
的属性visadev
对象。
默认情况下,写
函数将二进制数据写入为uint8
数据。有关指定其他数据类型的详细信息,请参见写
.
请注意
在执行写操作时,应该从值而不是字节的角度考虑传输的数据。一个值由一个或多个字节组成。例如,一个uint32
Value由四个字节组成。
读取二进制数据
使用读
函数从仪器读取二进制数据。使用以下命令从仪器读取正弦波。
writeline (v,“数据:CH1源”);writeline (v,“数据:Encdg SRIbinary”);writeline (v,“数据:宽度2”);writeline (v,“数据:开始1”);writeline (v,“曲线?”)数据=读取(v,1200,“int16”);
的读
函数暂停MATLAB的执行,直到发生以下情况之一:
方法指定的超时发生
超时
财产输入缓冲区已填满
读取指定数量的值
EOI线被断言
方法指定的结束符接收
《终结者》
财产
默认情况下,读
函数读取二进制数据为uint8
数据。有关指定其他数据类型的详细信息,请参见读
.
请注意
在执行读取操作时,应该从值而不是字节的角度考虑接收到的数据。一个值由一个或多个字节组成。例如,一个uint32
Value由四个字节组成。
清理
当您完成VISA-GPIB对象的处理后,清除它。
清晰的v