Cómo utilizar VS2010 para llamar a visa para el control del programa
Configuración del entorno
Sistema: win8.1 con actualización
Entorno de desarrollo: VS2010
Lenguaje de programación: C++
Conocimientos relacionados
Instrucciones SCPI
La abreviatura de Comandos estándar para instrumentos programables, es decir, el conjunto de comandos estándar para instrumentos programables (instrumentos programables). SCPI es una estandarización basada en los estándares existentes IEEE488.1 e IEEE 488.2, y sigue las reglas aritméticas de punto flotante del estándar IEEE754, el símbolo de codificación de 7 bits de intercambio de información ISO646 (equivalente a la programación ASCll) y otros estándares del lenguaje de programación de instrumentos. Utiliza un conjunto de comandos con una estructura jerárquica en forma de árbol, propone un modelo de instrumento universal y adopta mediciones orientadas a señales. Sus reglas de generación mnemotécnica son simples, claras y fáciles de recordar.
Interfaz de programación VISA
NI-VISA (Virtual Instrument Software Architec-ture, en adelante denominada "VISA") es una interfaz de programación desarrollada por la estadounidense National Instruments NI (NationalInstrument) empresa Una interfaz de programación de aplicaciones de alto nivel que se comunica con varios buses de instrumentos. El software VISA bus I/O es un paquete de software integral que es independiente de la plataforma, el bus y el entorno y se puede utilizar para configurar, programar y depurar sistemas USB, GPIB, serie, VXI, PXI y Ethernet. VISA es un software de interfaz de E/S del sistema de instrumentos virtuales. VISA, basado en el modelo estructural ascendente, crea una forma unificada de conjunto de funciones de control de E/S. Por un lado, para principiantes o diseñadores de tareas simples, VISA proporciona un conjunto de funciones de control simple y fácil de usar, que es bastante simple en forma de aplicación; por otro lado, para constructores de sistemas complejos, VISA proporciona Muy poderoso; Funciones de control de instrumentos y gestión de recursos.
Cómo usar la biblioteca de Visa en VS2010
1 Primero instale la biblioteca de controladores proporcionada por NI en la computadora y luego busque los archivos de biblioteca y encabezados correspondientes en la computadora. p>
Directorio de archivos: C:\Program Files (x86)\IVI Foundation\VISA\WinNT
Los archivos lib son: lib\msc\visa32.lib y ivi.lib
El archivo de encabezado está en: incluir
2. Agregue la biblioteca al proyecto
El blogger copió directamente el archivo de la biblioteca y el archivo de encabezado correspondiente al directorio del proyecto, y luego lo agregué al proyecto. Para hacer referencia a la biblioteca lib, la operación para hacer referencia a la biblioteca visa en vs2010 es la siguiente:
1 elemento de menú->Propiedades->Propiedades de configuración->Enlazador-->Entrada- Dependencias adicionales, agregue el nombre de la biblioteca, como: visa32.lib;
O reemplácelo con el código #pragma comment(lib,"visa32.lib") en el archivo fuente cpp. La recompilación generará un error: error fatal LNK1104: No se puede abrir el archivo "my_API.lib", la razón debería ser que el compilador no sabe dónde encontrar nuestra biblioteca, resolvámoslo a continuación
2 Luego agregue la ruta del archivo de biblioteca al proyecto y agregue la ruta de biblioteca adicional:
"Proyecto—>Propiedades—>Propiedades de configuración—>Conector—>General—>Directorio de biblioteca adicional" Haga clic en la flecha hacia abajo a la derecha y Agregue la ruta donde se encuentra nuestra biblioteca aquí F:\my_program\meiyong\PPPP_Decode_ETIM; o ../../PPPP_Decode_ETIM, y después de la prueba, el directorio donde se encuentra el archivo del proyecto .vcxproj es el directorio actual. para configurarlo en el directorio actual. Esto está bien.
3. En Uso de la biblioteca Visa en el proyecto
En el siguiente código, en VS2010, se llama a la biblioteca Visa. enviar *IDN? para consultar el ID del instrumento
#include "visa/include/visa.h "
#include "visa/include/ivi.h"
#pragma comentario(lib,"visa32.lib")
#pragma comentario(lib,"ivi.lib")
/*------ ---------------------- ---------------------- -----------*/
/* Declaración de definición de macro*/
/*----- ---------------------- ---------------------- ----------------------*/
#define MAX_SCPI_LENGTH 255 // Comando SCPI máximo
#define DEFAULT_TIMEOUT 5000 // Tiempo de espera: 5000 ms
int main(void)
{ p>
ViStatus nReturnStatus = 0;
ViSession rmSessi
on = 0,pnInstrHandle;
ViUInt32 retCnt = 0;
ViByte wrtBuf[MAX_SCPI_LENGTH] // Búfer de escritura
ViByte rdBuf[MAX_SCPI_LENGTH]; Búfer de lectura
int Return_Count;
nReturnStatus = viOpenDefaultRM (&rmSession);
nReturnStatus = viOpen (rmSession, "TCPIP0::172.141.114.6:: 5001: :SOCKET", VI_NULL, VI_NULL, &pnInstrHandle);
/*- Configurar E/S formateadas VISA ----------------------- --- ------------------*/
nReturnStatus = viSetAttribute (pnInstrHandle, VI_ATTR_TMO_VALUE, DEFAULT_TIMEOUT // Establecer tiempo de espera
<); p> nReturnStatus = viSetAttribute (pnInstrHandle, VI_ATTR_SUPPRESS_END_EN, VI_FALSE); // No enviar terminadoresnReturnStatus = viSetAttribute (pnInstrHandle, VI_ATTR_SEND_END_EN, VI_FALSE); nReturnStatus = viQueryf (pnInstrHandle, "*IDN?\n", "%s", rdBuf);
viClose (pnInstrHandle);
viClose (rmSession
);devuelve 0;
}