Integración de LabVIEW y C# 1
Este artículo pretende repasar los conceptos básicos de la integración de C# con LabVIEW. En este artículo vamos a ir sobre la creación de una clase muy básica de C#, la compilación de una DLL, y el acceso a esa clase de LabVIEW. Vamos a utilizar Visual Studio 2010 y LabVIEW 2010 en Windows 7.
Puede acceder a todo el código para LabVIEW y Visual Studio en el siguiente repositorio de GitHub: https: //github.com/erdosmiller/lvcstut1
Creación de una DLL en Visual Studio
Abre Visual Studio 2010 y crea un nuevo proyecto. Queremos una aplicación de consola Visual C# (o biblioteca de clases.)
Cambie el nombre del proyecto a "LabVIEWInterface" y la Solución a "LabVIEWIntegration.
"
Edite su información de montaje para que la versión de la biblioteca se incremente automáticamente con cada compilación. Esto ayudará a la hora de interconectar la DLL con LabVIEW, ya que será capaz de detectar el cambio. Modifique su AssemblyInfo.cs para que se vea así al final.
También es una buena idea rellenar la información general. Aquí está la nuestra.
No necesitamos "Program.cs", así que vamos a seguir adelante y eliminarlo. Su solución ahora debe tener este aspecto.
Queremos que la salida de nuestro proyecto sea una DLL y no un EXE, así que tenemos que modificar la configuración del proyecto. Haga clic derecho sobre el proyecto para acceder a sus propiedades. Cambie el "Output Type" a "Class Library". Además, a partir de este escrito, LabVIEW 2010 no es compatible con el tiempo de ejecución .NET 4, por lo que tendremos que cambiar nuestro marco de destino a .NET 3.5. También queremos cambiar nuestro Assembly Name y Default Namespace. Cambie el Nombre de ensamblado y el Espacio de nombres predeterminado para que sean "LabVIEWInterface". Cuando guarde su configuración, puede que le advierta, pero puede ignorarlo.
Ahora vamos a añadir nuestra clase. Haz clic con el botón derecho en el proyecto, desplázate hasta "Add" y elige class. En el menú "Añadir nuevo elemento", elige Clase y pulsa "Añadir". Verás que se ha creado una nueva clase con el espacio de nombres por defecto que especificamos. Ahora intenta construir tu proyecto. Haz clic con el botón derecho en el proyecto y selecciona "Abrir carpeta en el Explorador de Windows". Luego navega a "bin/Debug". Deberías ver la DLL compilada, "LabVIEWInterface.dll".
Ahora vamos a hacer que nuestra clase haga algo útil; añadiremos nuestra función coseno. Modifica tu código para que tenga este aspecto. También, renombra tu archivo de clase a "MyMath.cs" y construye el proyecto de nuevo.
Si la construcción se ha realizado correctamente, entonces estás listo para pasar a la parte de LabVIEW del tutorial.
Llamando a la DLL desde LabVIEW
Abre LabVIEW 2010 y crea un nuevo proyecto vacío, guarda ese proyecto en algún lugar de tu espacio de trabajo como "CSInterface.lvproj".
Vamos a recuperar nuestra DLL de Visual Studio. Vuelve a Visual Studio, y haz clic derecho en tu proyecto. Elige "Abrir carpeta en el Explorador de Windows" y busca "bin/Debug". Copia "LabVIEWInterface.dll" donde guardaste tu proyecto LabVIEW.
Ahora añade la DLL a tu proyecto LabVIEW. Haga clic derecho en "Mi PC" en el proyecto LabVIEW, seleccione "Agregar" y luego "Archivo". Busque y seleccione la DLL.
Ahora vamos a crear un VI en blanco. Haga clic derecho en "Mi PC" y seleccione "Nuevo" y luego "VI". Cuando se abra el VI, guárdalo en el mismo directorio que la DLL como "CSInterface.vi"
Ahora vamos a llamar a nuestra DLL, abre el diagrama de bloques y haz clic con el botón derecho. Despliega todo el menú de funciones y busca "Conectividad y luego ".NET". Fija la paleta .NET a la pantalla.
Lo primero que tenemos que hacer para interactuar con nuestra clase es instanciar una instancia. Coloque un "Nodo Constructor" .NET en el diagrama de bloques. Cuando coloques el nodo en el diagrama de bloques, se te presentará un menú, por defecto te muestra DLLs que LabVIEW ya conoce. Haga clic en "Examinar" en la esquina superior derecha, busque donde guardó su proyecto y DLL, y abra la DLL. LabVIEW le presentará un diálogo que muestra los objetos disponibles en el espacio de nombres. Seleccione el constructor "MyMath" que hemos creado. Ahora tienes un "Nodo Constructor" en el diagrama de bloques que apunta a tu clase "MyMath".
Ahora necesitamos añadir un "Nodo Invocar" para que podamos llamar a nuestra función MyCos. Coloca un Nodo Invoke en el diagrama de bloques y conéctalo al Nodo Constructor MyMath. Notarás que el texto del Nodo Invocar es negro, esto representa que aún no hemos seleccionado un método. Haz click en él una vez y selecciona el método "MyCos". Ahora se nos presenta el argumento de entrada a la izquierda y el de salida a la derecha.
Ahora vamos a añadir un control para la entrada y un indicador para la salida. Haz clic derecho en cada lado, a la izquierda elige "Crear Control", a la derecha elige "Crear Indicador".
Lo último que tenemos que hacer es deshacernos de nuestra referencia a la clase. Coloca un bloque "Close Reference" de la paleta .NET en el diagrama y conéctalo a la derecha del nodo Invoke.
Ahora ve al Panel Frontal "Ctrl-E" y organiza tus controles e indicadores. Aquí está el nuestro:
¡Ahora estamos listos para ejecutar el código! Introduce un valor para X y pulsa ejecutar. Cuando ejecutamos con "x" como "0″, obtenemos "1″ de la función MyCos como se esperaba.
Ahora que nuestro ejemplo básico está funcionando, es hora de cerrar este tutorial. Esperamos que este tutorial te haya dado una visión básica de la interfaz entre C# y LabVIEW, y que puedas usarlo como punto de partida para construir aplicaciones que hagan algo interesante.
Si necesita consultoría sobre LabVIEW, puede adquirir un pequeño conjunto de horas directamente en nuestro sitio web. Más información
Autores:
Kenneth Miller
Cofundador e Ingeniero de Diseño - CLD - ken@erdosmiller.com
Nathan Hartman
Desarrollador de software - nathan@erdosmiller.com