由于项目所需,要编写上位机控仪器实现所谓一键读取数据的功能。于是乎不得不学习点VISA编程。研究了一阵子手册,明白了发送命令的方式。使用的仪器是安捷伦的DSO-X 3034A。
1、在https://www.keysight.com/main/techSupport.jspx?cc=CN&lc=chi&nid=-32540.1150200&pid=x201847&pageMode=PL&t=79841.g.1 下载Programmer's Guide for InfiniiVision 3000 X-Series Oscilloscopes。 仔细研究手册可以解决大部分问题。
2、下载IO library后,将仪器和电脑用USB连接,既可以在IO library上找到仪器。
3、打开 Interactive IO,之后就可以输入命令了。以输出VPP为例。其测量命令为:MEASure:VPP? CHANNEL1 (测量一通道的VPP的值)
解释:
测量VPP的语句是 :MEASure:VPP? [<source>] 主要是[<source>]令人困惑。而 <source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
该如何理解呢?
在目录里找到 SynTax Elements,而后理解到 [ ],代表可选的。{ }和 其中 | 的组合,表示可选其中的一个值。又注意到 <n>代表数字,所以,
MEASure:VPP? CHANNEL1 就代表测量1通道的峰峰值了。那什么时候取Function 和Math等呢?不得而知。。反正项目里应该用不到。
然后就该上硬菜,进行编程了!