Red de conocimiento informático - Material del sitio web - ¿Cómo incrustar programas Matlab en Labview, es decir, cómo usar la programación Matlab y usar Labview para desarrollar interfaces?

¿Cómo incrustar programas Matlab en Labview, es decir, cómo usar la programación Matlab y usar Labview para desarrollar interfaces?

Se puede realizar utilizando la tecnología de programación híbrida LabVIEW y Matlab. Existen varios métodos como los siguientes

1. Basado en la tecnología de intercambio dinámico de datos (DDE).

Intercambio dinámico de datos Es un protocolo basado en mensajes en el sistema operativo Windows, que se utiliza para intercambiar datos dinámicamente entre dos aplicaciones en ejecución en la plataforma Windows. El programa que proporciona servicios de datos se llama programa servidor (Servidor DDE), que solicita datos y. El programa de servicio se llama programa cliente (Cliente DDE). LabVIEW proporciona VI de comunicación DDE. Estos VI se pueden usar para crear un servidor DDE o un cliente DDE para completar funciones como recibir/enviar datos, solicitar/proporcionar servicios, etc. Cuando LabVIEW llama a la función Matlab, debe especificar el nombre del servicio como "Matlab" y el nombre del tema como "Engine". Al mismo tiempo, inicie Matlab o el motor de cálculo de Matlab (ambos en la memoria) antes de ejecutar Matlab. .exe), de lo contrario no será posible la comunicación. Los VI DDE se pueden encontrar en \vi.lib\platform\dde.llb.

2. Basado en tecnología de biblioteca de enlaces dinámicos (DLL)

La biblioteca de enlaces dinámicos es una parte importante de la programación basada en Windows. Consta de una serie de códigos ejecutables internos. Las funciones pueden ser compartidas por otros programas. LabVIEW implementa llamadas a DLL a través de CLF (Call Library Function Node). Por otro lado, el compilador Matlab puede compilar archivos de funciones en código C/C++, y estos códigos se pueden compilar en archivos DLL mediante un compilador C/C++ (como Microsoft Visual C++ 6.0), siempre que la interfaz (entrada y). parámetros de salida) están organizados correctamente. Los algoritmos escritos en Matlab se pueden integrar en aplicaciones de LabVIEW y separarse del entorno operativo de Matlab, lo que resulta en una alta eficiencia de ejecución. Además, la empresa Math Works proporciona un complemento para Microsoft Visual C++ 6.0, que puede completar fácilmente el trabajo anterior. Por supuesto, la interfaz debe ser organizada por el propio desarrollador. CLF se encuentra en la subplantilla "Avanzado" del panel de funciones.

3. Basado en la tecnología del Modelo de objetos componentes (COM)

El núcleo del Modelo de objetos componentes es la especificación de interfaz binaria, que es independiente de los lenguajes de programación y los sistemas operativos. A partir de la versión 6.5, Matlab proporciona un generador COM. El generador COM proporciona una nueva forma de implementar aplicaciones independientes de Matlab. Puede convertir los algoritmos desarrollados por Matlab en componentes. Estos componentes, como objetos COM independientes, pueden ser referenciados directamente por Visual Basic, Visual C++ u otros lenguajes que admitan COM [1]. LabVIEW5.0 y superiores admiten COM. Obtiene una referencia a un componente COM instalado en el sistema a través del identificador de automatización (automation refnum) y luego usa el VI en la subplantilla de función ActiveX para completar el control y la llamada del componente. Las aplicaciones que utilizan tecnología COM para integrar perfectamente LabVIEW y Matlab se ejecutan de manera eficiente, ocupan menos recursos del sistema y son muy propicias para el lanzamiento de software de aplicaciones de usuario. [2]

4. Basado en la tecnología de automatización ActiveX

La automatización ActiveX (automatización) es una de las funciones más importantes de ActiveX. Es la capacidad de un programa para controlar otro programa con sus métodos y atributos. Incluye servidores de automatización y automatización. controladores.

Matlab admite la tecnología de automatización ActiveX. El servidor de automatización de Matlab proporciona una serie de métodos y propiedades que le permiten ejecutar comandos de Matlab y controlar Matlab en otras aplicaciones. LabVIEW5.0 y versiones posteriores brindan soporte para la automatización ActiveX. Hay dos formas de implementar programación híbrida basada en ActiveX y Matlab en LabVIEW. La primera usa nodos de script de Matlab y la segunda usa plantillas de funciones ActiveX. El proceso básico de ambos métodos es el mismo: primero abra el servidor de automatización de Matlab, luego ejecute el comando de Matlab y finalmente cierre el servidor de automatización. Las plantillas de funciones relacionadas con ActiveX en LabVIEW se encuentran en el panel "ActiveX" debajo del subpanel "comunicación" en el panel de funciones.

5. Otros métodos

También existe un método que combina DLL y el motor de cálculo Matlab (basado en tecnología COM). Este método compila el código C que llama al motor de cálculo de Matlab en una DLL para que lo llame LabVIEW. El motor de cálculo de Matlab adopta el modelo cliente/servidor y se conecta a Matlab a través del canal ActiveX en Windows. Por lo tanto, este método es algo similar al método basado en la tecnología de automatización ActiveX. Al realizar programación híbrida, primero abra el motor de cálculo de Matlab, luego ejecute el comando de Matlab y finalmente cierre el motor de cálculo de Matlab. La diferencia es que los datos transferidos utilizando la tecnología de automatización ActiveX son todas variantes, y la aplicación y el servidor Matlab hacen coincidir automáticamente el tipo de datos. El método de llamar al motor de cálculo Matlab a través de la DLL puede transferir datos de tipo variante o tipo C estándar. data. La conversión entre tipos de datos se realiza en la DLL y, por lo tanto, requiere programación adicional por parte del desarrollador. Además de los métodos de programación híbridos mencionados anteriormente, NI y Math Works han cooperado para lanzar un kit de herramientas SIT (Simulation Interface Toolkit) para implementar la programación interactiva de LabVIEW y Simulink. Con este conjunto de herramientas, los ingenieros de diseño pueden crear interfaces de usuario personalizadas para validar interactivamente modelos de Simulink y configurar fácilmente estos modelos en hardware en tiempo real para controlar la creación de prototipos y pruebas de hardware en el bucle, lo que en última instancia ahorra tiempo de comercialización. Pero como sugiere el nombre, solo se usa para comunicarse con Simulink y es un software adicional que debe comprarse por separado.