qt实现visa的仪器类控制
Posted 道亦无名
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt实现visa的仪器类控制相关的知识,希望对你有一定的参考价值。
#include <QCoreApplication>
#include <visa.h>
#include <iostream>
using namespace std;
#define MAX_SCPI_LEN 255
#define DEFAULT_TMO 5000
int main(int argc, char *argv[])
QCoreApplication a(argc, argv);
/* Visa Session*/
ViStatus nRetStatus;
ViSession rmSession = 0;
ViSession pInstrHandle;
/* Visa communicate buffer */
ViByte wrBuff[MAX_SCPI_LEN];
ViByte rdBuff[MAX_SCPI_LEN];
int retCount = 0;
/* open device and get visa Handle */
nRetStatus = viOpenDefaultRM( &rmSession);
nRetStatus = viOpen( rmSession, "TCPIP0::127.0.1.1::8088::SOCKET", VI_NULL, VI_NULL, &pInstrHandle); /* set visa Format */
nRetStatus = viSetAttribute( pInstrHandle, VI_ATTR_TMO_VALUE, DEFAULT_TMO);
nRetStatus = viSetAttribute( pInstrHandle, VI_ATTR_SUPPRESS_END_EN, VI_FALSE);
nRetStatus = viSetAttribute( pInstrHandle, VI_ATTR_SEND_END_EN, VI_FALSE); /* Query device IDN */
nRetStatus = viQueryf( pInstrHandle, "*IDN?\\n", "%s", rdBuff);
cout << rdBuff << endl;
/* Close */
viClose( pInstrHandle);
viClose( rmSession);
return a.exec();
小demo,可以试试。
以上是关于qt实现visa的仪器类控制的主要内容,如果未能解决你的问题,请参考以下文章