qt+visa实现程控实例
軟件環境
- 系統: windows 10
- 開發環境: Qt 5.80
- visa庫版本: visa 6.0
軟件下載
- Qt
- NI MAX
- IVI
步驟
1. 添加依賴庫
在Demo.pro中添加依賴
win32 {
INCLUDEPATH += "C:\Program Files (x86)\IVI Foundation\VISA\WinNT\Include"
LIBS += "C:\Program Files (x86)\IVI Foundation\VISA\WinNT\lib\msc\visa32.lib"
}
2. Demo
#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.0.1::5000::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();
}
轉載于:https://www.cnblogs.com/xbotao/p/6622419.html
總結
以上是生活随笔為你收集整理的qt+visa实现程控实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java 中去除字符串中空格的方法
- 下一篇: 文件系统:使用 yum 安装软件包