Source Meter源表 (KEITHEY)2600系列,2612A程控开发(C++)
基本介绍
主要功能: 通过源表获取源表的测量数值,控制源表的量程等
使用库:VISA库
下载连接: https://download.ni.com/support/nipkg/products/ni-v/ni-visa/21.5/online/ni-visa_21.5_online.exe (安装之后可以使用IO Strace进行抓包, 方便调试)
连接方式: RS232
参考资料:2600AS-900-01_B-Sep2008_User 下载连接: https://download.tek.com/manual/2600AS-900-01_B-Sep2008_User.pdf
不知为啥源表通过LAN口连接不上,可以ping通,也可以进入设备操作网页,使用IO软件扫不到,遂转用RS232串口控制
使用RS232串口通过VISA库发送指令后,没有返回信息,但使用KeySight IO软件可以正常通信,查找资料后发现可以通过NI 的 IO Strace抓包(必须使用NI的VISA库, 使用Kyesight的Visa库抓不到),在网上找到一个labview的程序,发现可以抓到包,就对比了两个程序抓包后的数据,发现使用的发送函数不一样,刚开始我是通过viWrite函数直接发送数据的,通过抓包看可以发现viWrite是写入成功的,但是发送的指令仪器并没有反应,使用viRead函数也获取不到任何信息,使用 *IDN?命令也获取不到机器信息
查阅Visa库资料后发现还有viPrintf函数可以发送指令数据,遂使用viPrintf测试,发现可以发送,并正常接收数据
发送程序
QString cmd = ui->le_cmd->text();
qDebug() << "Send cmd: " << cmd;
status_ = viPrintf(cur_connect_instr_,