EDA365电子工程师网

标题: 新技能:如何利用Keysight网络分析仪实现数据采集的功能! [打印本页]

作者: 樱桃海弥    时间: 2016-6-22 16:26
标题: 新技能:如何利用Keysight网络分析仪实现数据采集的功能!
本帖最后由 alexwang 于 2018-7-3 09:20 编辑 / G( X+ o% P& P+ M' M+ M
9 Q: B' I- I. B4 |$ j; r. j3 u
新技能:如何利用Keysight网络分析仪实现数据采集的功能!

/ `  E, h# v; |
% u1 r9 ?# j) N8 w
1.先安装一个叫NI-VISA的软件。这个软件是National Instrument的,完全免费。
用编程语言操作仪表的方式类似读写文件,下面以Matlab为例来说。
2.连接仪器的方式有通过GPIB口,LAN口等多种可能,一般Keysight或RS提供的测量方案代码中都会把所有的情况一一考虑进去,不过自己做实验用的话一种方式就够了。通过LAN口连接仪表的方式为(IP地址请自己设置):, r- Q: Q1 H6 ~, }' s; R
; e- p: o1 U) h  h
pna = visa('ni', 'TCPIP::192.168.100.11::INSTR');fopen(pna);+ X7 m. l  q1 ?( i' W1 U% Q
6 g0 K- m. z' g& C1 r% Z
常用的函数有两个,一个是fwrite,一个是query。我的理解,query相当于write and read,给仪器写入指令并且给出一个返回值,例如:2 e5 H' m! X- Y8 [  G

% [; B: k0 d; h, q$ Ical_set_name_list = query(pna, 'CSET:CAT?');& g+ N1 v9 m. ~  `' k

  h4 {1 k3 T  \7 c/ y
这个会返回仪器上当前的校准文件列表。' I1 k3 Q+ R- ~/ y+ ?' ?  t  G
我觉得相对比较复杂的命令式保存数据文件,下面的代码把当前网络的S值保存在一个CSV文件中:1 ~/ X0 B- V5 t( n# @4 b$ o
, y& @# T( `5 z% d$ ]& u
data_file_name = sprintf('%s_%s.csv', path, scene);data_file_type = 'CSV Formatted Data';data_file_scope = 'Displayed';data_file_format = 'DB';save_file_command = sprintf('MMEMory:STOReATA "%s", "%s", "%s", "%s", 1', data_file_name, data_file_type, data_file_scope, data_file_format);fwrite(pna, save_file_command);
关闭连接
" t# |( p* i, l; k8 t
* ]. C; E' y: g1 L" Z/ a5 t
fclose(pna);' y# x7 F4 a( M' u. u, T
, \4 g6 y8 p% O) L. |0 T/ ~
其余的指令请参考帮助手册

, D! |; n+ o; p9 L- L, l" d手册上说的不清楚的,自己试试就明白了。2 F& F( o+ E" w- e+ q/ U  R: L
2 ^+ m! g+ @9 n3 ]6 u# U
另外:安装NI-VISA之后,再安装一个python的库py-visa就可以实现用python控制仪表了,详见地址http://pyvisa-py.readthedocs.io/en/latest/,用法和Matlab类似,不赘述。
: _8 j. J% {2 k8 Z4 B: x: Q+ h

" g* R) Z( ^; I9 l# \7 E! r3 m# N5 ?





欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/) Powered by Discuz! X3.2