总结仪器远程控制相关基础知识以及常见问题。
仪器程控接口有哪些?
网口(LAN)是推荐的程控接口;
当仪器上没有网口,使用USB控制;
GPIB也可使用,需要仪器端和PC端均配置GPIB接口;
RS232串口不推荐使用,除非这是设备端唯一控制接口
要编程控制仪器实现自动化,需要什么软件?
VISA是计算机与仪器的标准软件通信接口协议,是程控的基础必要条件;
软件开发平台:visual studio,python,matlab,labview,labwindows等,这些平台上编程都可以加载VISA
什么是SCPI命令?
可编程仪器标准命令,是仪器程控标准语法和指令集
建立VISA连接后,按照说明书发送仪器SCPI指令,有些成功有些失败?
SCPI命令集跟仪器固件版本相关,旧的固件不支持新的命令;
命令字符串仅支持英文,不支持全角字符
仪器的编程驱动(driver)是必须的吗?
Driver是仪器厂商提供的程控函数库;
Driver不是程控编程的必要条件
R&S仪器程控入门和例程在哪里?
https://www.rohde-schwarz.com/driver-pages/remote-control/drivers-remote-control_110753.html
SOCKET端口连接VISA程控仪器,可连接,但为何询问返回值时超时错误?
suppress end on read不可勾选,即VI_ATTR_SUPPRESS_END_EN=0
如何保证程序指令的顺序执行,避免冲突同时不会浪费时间等待?
使用*WAI或*OPC?或*OPC进行同步。
为什么从矢网或频谱仪中导出的复数电平值,dB表述幅度数值,比仪器上功率dBm显示值低13dB?
原因:接收机导出的复数(I/Q)的线性值单位是V,dB值是经过20lg计算,单位是dBV,与dBm相差13dB(50Ω输入阻抗)
是否可以无需编程远程控制仪器?
浏览器(HTML5)控制,地址栏直接输入仪器的IP地址,支持H5的设备在其说明书中有说明,例如R&S的频谱仪、接收机、信号源等;
内置Windows系统的仪器,可用远程桌面控制remote desktop,例如R&S的频谱仪、接收机、矢网等;
PC上安装VNC客户端进行远程控制,R&S信号源一般已预装VNC server,其它仪器可能要求客户安装VNC server;
R&S的频谱仪、接收机、矢网等,登陆用户名为instrument,密码894129,信号源用户名和密码均为instrument。
USB连接无法识别仪器的可能原因有哪些?
无外接电源的设备,如功率探头等,通常原因是USB供电问题,主机或PC供电不足,或者USB线缆过长,对策是使用辅助供电的USB HUB;
PC须安装设备对应的USB驱动;
受控设备的firmware需要升级
从仪器中读取的数据格式是什么?
ASCII格式:FORMat:DATA ASCii
32位二进制格式:FORMat:DATA REAL,32
64位二进制格式:FORMat:DATA REAL,64
什么时候采用二进制格式读取数据?
仅在批量大数据读取时使用,二进制格式比ASC格式读取速度快得多,例如,一条或多条曲线数据的读取,或者仪器硬盘文件的读取
读取的二进制数据结构是怎样的?
#<m><N><value1><value2> ... <value N>;
#是数据块前缀,m是N的位数,value的个数N;
例如#41024... 指数据块包含1024个32或64位数据
如何在PC上通过指令读取仪器截屏图像?
:HCOP:IMM保存截屏文件到仪器硬盘;
:MMEM:DATA? 按照上述二进制数据结构读取仪器文件到PC内存;
解析上述内存数据,将解析后的value 1...N,在PC端按照源图形文件的格式存盘;
上述步骤是直接使用SCPI命令的方法,仪器厂商提供的driver,包含相应截屏函数,调用此函数就可以直接完成截屏读取工作