Llamar a una DLL de LabVIEW desde un proyecto LabWindows ™ / CVI ™ u C

Actualizado el Dec 15, 2022

Ambiente

Software

  • LabVIEW Full
  • LabVIEW Base

Compilé una biblioteca de enlace dinámico (DLL) en LabVIEW, pero no puedo descubrir cómo llamarla desde LabWindows ™ / CVI ™, Visual C / C ++ u otro entorno de desarrollo de Windows. ¿Cómo puedo llamar a una DLL de LabVIEW en LabWindows / CVI u otro proyecto de C?

Cuando construyes una DLL en LabVIEW, se crean tres archivos: un archivo DLL, un archivo LIB y un archivo H. El archivo DLL contiene la funcionalidad que programó en LabVIEW. El archivo LIB, conocido como una biblioteca de importación, contiene un código auxiliar para cargar y llamar a las funciones DLL. El archivo H, o archivo de encabezado, contiene un prototipo de función para llamar a la función que está contenida en el archivo LIB, que en última instancia llama a la DLL.

Para usar el código en otro entorno, puede llamar a la DLL directamente usando las funciones LoadLibrary () y GetProcAddress () en el SDK de Windows, o puede vincular su proyecto con el archivo LIB y el archivo H, de manera que simplemente llame a la función por nombre como si ya estuviera en tu proyecto. En este caso, debe asegurarse de que la DLL se encuentre en el mismo directorio que el ensamblaje de la llamada y de que esté en la carpeta de Resource Files en su proyecto CVI (cree la carpeta si no existe). El siguiente método es un ejemplo creado en LabWindows / CVI que ilustra el proceso para una llamada directa a una DLL creada en LabVIEW:
  1. Agregue el archivo .lib y .h al proyecto yendo a Edit> Add File to Project...> Incluir (.h) ... o Biblioteca (.lib) ...
  2. En la parte superior del archivo fuente en el que desea llamar a su DLL, incluya el archivo H usando la directiva #include preprocesador.
  3. Incluya otros archivos de LabVIEW H como extcode.h , fundtypes.h y platdefines.h en el subdirectorio C: \ Archivos de programa (x86) \ National Instruments \ LabVIEW \ cintools . Los archivos de encabezado anteriores definen ciertos tipos utilizados por LabVIEW y algunas veces se pasan dentro y fuera del código de LabVIEW dependiendo de su DLL. Si LabVIEW no está instalado en la máquina de desarrollo, deberá copiar estos archivos H del directorio cintools a una ubicación donde la computadora de desarrollo pueda encontrarlos.
  1. Llame a la función por su nombre y parámetros como se especifica en el archivo de encabezado.

Additional Information

LabVIEW Run-Time Engine incluye funciones de soporte que se requieren para cualquier código creado con LabVIEW y utilizado en otra computadora. Se requiere la versión apropiada del motor de tiempo de ejecución para ejecutar un DLL.