¿Cómo redactar un informe de propuesta sobre el diseño e investigación de un sistema de adquisición de datos basado en MATLAB?
. Y a través de MATI. La interfaz del programa de aplicación AB Mex llama al lenguaje C++ para realizar la lectura y escritura de 12 señales en el lado del hardware en el entorno MATLAB. Con este fin, el autor brindó una introducción detallada al archivo de interfaz Mex, incluidas varias funciones especiales de la interfaz Mex, reglas detalladas de redacción de compilación y requisitos de compilación específicos, explicando específicamente la interfaz Mex en MA y AB. Cómo usarlo en el entorno y llamar a la interfaz Mex. Y basado en las funciones relacionadas de la interfaz Mex. El diseño del sistema de adquisición de datos MATLAB se discutió teóricamente en un intento de ampliar aún más las funciones de MATLAB.
Palabras clave: Investigación sobre sistema de adquisición de datos basado en IVteam TLAB
Wang Hailong, Chen Shanjie, Li Qian, Zhang Peng. Gu Tao, Xu Dahua
(Facultad de Ingeniería, Universidad Agrícola de Nanjing, Nanjing, 210031)
Resumen: Dado que MATLAB no puede escribir directamente en hardware operable, la comunicación entre MATLAB y Las relaciones de hardware son muy complejas.
Resumen: Dado que MATLAB no puede escribir directamente en el hardware para su funcionamiento y carece de tiempo de reescritura, el trabajo de su aplicación se ha visto muy obstaculizado. Las aplicaciones MATLAB se pueden implementar en el entorno MATI.AB para hardware específico
reimplementando la interfaz del lenguaje C++ Mex. Señales de interfaz hardware específicas
en entorno AB. Por lo tanto, el autor de este artículo presenta la interfaz Mex en detalle, integra varias funciones especiales de la interfaz Mex y escribe reglas de traducción específicas en detalle para que la interfaz Mex pueda usarse en el entorno MA'nAB.
uso. El sistema de adquisición de datos Mex.MATIAB fue diseñado de acuerdo con las interfaces funcionales relevantes
y discutido teóricamente, con miras a ampliar aún más las funciones de
MA7n.AB.
Palabras clave: Los productos de la serie MATLAB se utilizan ampliamente, incluido el procesamiento de señales e imágenes
, el diseño de sistemas de control, las comunicaciones, la simulación de sistemas y muchos otros campos.
Una de sus principales características es la gran cantidad de cajas de herramientas y bloques de simulación específicos de aplicaciones, incluido un conjunto completo de herramientas para analizar y diseñar aplicaciones específicas como procesamiento de señales e imágenes, sistemas de control.
capacidades de diseño y redes neuronales. Otros
productos amplían las capacidades de MATLAB para incluir la adquisición de datos, la generación
de informes y la generación de código C/C++ independiente basándose en la programación del lenguaje MATLAB.
Debido a sus poderosas funciones de visualización y computación científica, su
entorno abierto y extensible fácil de usar y varias cajas de herramientas extendidas para diferentes campos
, MATLAB se ha convertido en una herramienta importante para el diseño y análisis asistidos por computadora, la investigación de algoritmos y el desarrollo de aplicaciones en muchas disciplinas.
Es la herramienta y plataforma esencial de elección para el desarrollo de aplicaciones.
Sin embargo, MATLAB también tiene sus limitaciones, es decir, no puede leer y escribir directamente en puertos de hardware, lo que afecta a su ámbito de aplicación en el desarrollo de sistemas de medida y control.
. Pero proporciona una API de interfaz de programación de aplicaciones, a través de la cual
los usuarios pueden completar fácilmente la interacción entre MATLAB y el entorno externo
(como se muestra en la Figura 1). Con este fin, cómo llamar a un programa escrito en su lenguaje de TI a través de un archivo de interfaz (como C_bu}), y luego realizar las operaciones de lectura y escritura en el puerto del hardware, y finalmente en un solo El desarrollo de sistemas de medición y control en el entorno del MAr IIAB se ha convertido en un problema digno de exploración e investigación
.
Formato de archivo de interfaz del programa de aplicación MATLAB
La interfaz del programa de aplicación (APD) MATLAB consta principalmente de tres partes:
archivo Mex (llamada de programa externo 13), archivo Mat (entrada y salida de datos
p>interfaz) y la biblioteca de funciones del motor de cálculo MATLAB. Las funciones generales que implementan son: (1) Llamar a programas escritos en lenguaje C/c++ o FORTRAN en el entorno MATLAB para mejorar la eficiencia del procesamiento de datos
(2) Transmitir datos o recibir datos desde MATLAB; entorno, es decir, realizar la conexión entre el sistema MATLAB y el entorno externo (3) Establecer una relación cliente / servidor entre MATLAB y otras aplicaciones, utilizando MATLAB como motor de cálculo,
se puede llamar; otras aplicaciones para reducir la carga de trabajo de programación.
A continuación se presenta principalmente la aplicación de archivos Mex.
1.1 Canthus
;
(2) Bucles For como FOR__I y OOP
que afectan la velocidad de ejecución de MATLAB. Se pueden escribir programas C correspondientes para completar la misma función y compilarlos en archivos Mex para mejorar la velocidad de ejecución (3) Para tarjetas A/D, tarjetas D/A u otro hardware de PC, puede utilizar el acceso directo a archivos MEX
para ampliar las funciones de MATLAB;
(4) Al utilizar archivos MEX, también puede utilizar algún software, como
recursos de interfaz de usuario de Windows, etc.
1.2 Reglas de programación para archivos MEX
(1) Prepare su propio programa de algoritmo C++;
(2) Prepare el código del archivo fuente MEX;
El archivo fuente del archivo MEX consta principalmente de dos partes:
① Rutina de cálculo. Es una subrutina externa vinculada
que contiene todo el código fuente generado
que realiza la funcionalidad computacional real.
② Subrutina de entrada (rutina de puerta de enlace). Es la interfaz entre la subrutina de cálculo y el entorno MATLAB, utilizada para completar la interacción de datos entre los dos. La rutina de puerta de enlace es la parte de MATLAB necesaria para llamar a la rutina de interpolación C, y la rutina de puerta de enlace puede llamar a la subrutina de cálculo para implementar sus requisitos funcionales específicos. El formato de la subrutina importada es el siguiente:
#include "mex.h" void MexFunction(int nlhs,
mxArray cowpills[],
int nrhs, const mxArray-prhs[])
{
Int nlhs, mxArray-prhs[])
{
Int nrhs , mxArray-prhs[]).p>
{
//Código C
)
donde El nombre de la función del la subrutina de entrada debe ser MexFunction.
prhs es una matriz de punteros de tipo estructura, cuyos elementos apuntan a todos los parámetros de entrada en orden de prioridad
; nrhs es el número de parámetros de entrada<
<; p> Del mismo tipo que prhs, apunta a todos los parámetros de salida; nlhs muestra el número de parámetros de salida. La función obtiene datos de entrada a través de prhs y procesa estos datos de entrada a través de plhs para obtener resultados,
mientras que plhs se utiliza como datos de salida para la interacción de simulación con otros programas.
1.3 Compilar y llamar archivos Mex
Antes de compilar archivos Mex, primero debe instalar el compilador Mex en MATLAB
. Ventana de comandos de MATLAB
En la interfaz mex.setup, siga las indicaciones para instalar paso a paso los asistentes disponibles.
Compile el archivo Mex directamente en la ventana de comandos de MATLAB. La fórmula
es la siguiente: >>nombre del archivo mex y luego presione Enter si la compilación pasa.
, el sistema generará un archivo DLL con el mismo nombre. En programas futuros
puede llamar a esta función tal como llama a la función integrada de MATLAB
en programas futuros<. /p>
Puede llamar a esta función directamente como si llamara a la función integrada de MATLAB.
El principio se muestra en la Figura 2
.
Como se puede ver en lo anterior, los archivos Mex se pueden procesar como la función incorporada
de MATLAB, pero esta función tiene una potente función de interfaz,
Puede completar operaciones de lectura/escritura en señales de puerto de hardware. El proceso general de operaciones de lectura y escritura en el puerto de hardware se muestra en la Figura 3: 2 Diseño conceptual del sistema de adquisición de datos basado en MATLAB
Está previsto utilizar programación interactiva de MATLAB y C para procesar la recopilación de datos
El problema de la recopilación hace que el sistema no solo tenga todas las funciones del sistema informático tradicional de recopilación de datos
, sino que también tenga una gran capacidad de procesamiento de datos.
Constituye un instrumento virtual inteligente t3].
El sistema de diseño preliminar consta de tres módulos. Las funciones del módulo MATLAB
incluyen visualización y acceso gráfico, análisis y procesamiento de datos, etc. El lenguaje C
. módulo principalmente Para realizar la función de comunicación en serie, el dispositivo de hardware completa la conversión razonable de cantidades físicas [4,5 /]. Como se muestra en la Figura 4.
Cuando se determina el objeto de muestreo, también se determina el dispositivo de hardware y la parte del lenguaje C que implementa la función de comunicación también se fija, por lo que todo el procesamiento de datos
La configuración de la función de procesamiento Todos están implementados en la interfaz de interacción persona-computadora en el entorno MATLAB
. Las funciones implementadas por las tres interfaces del sistema son las siguientes.
La interfaz principal consta principalmente de un cuadro gráfico y 4 botones. La caja de gráficos utiliza la función de procesamiento de gráficos de MATLAB para mostrar dinámicamente los datos de muestreo en tiempo real de la mejor manera para realizar la función de osciloscopio automático.
Los cuatro botones se denominan "Establecer puerto serie", "Iniciar adquisición", "Procesamiento de datos" y "Grabación de datos". Las funciones correspondientes se pueden realizar haciendo clic con el mouse.
Seleccione "Configuración del puerto serie" en la interfaz principal y luego ingrese el protocolo de comunicación.
Interfaz de configuración. La interfaz consta de cinco menús emergentes y dos botones
Los nombres y opciones del menú emergente son: selección de puerto
(COMI-COM4), velocidad de baudios (300-). 19200), bit de datos m8), bit de parada (o~2) y bit de paridad (ninguno, impar, par), los dos botones configuran los parámetros o confirman.
Confirmar o modificar los parámetros que se han configurado.
Después de seleccionar "Procesamiento de datos" en la interfaz principal, ingresará a la interfaz de procesamiento de datos
. La función de esta interfaz está relacionada con el objeto de muestreo y requiere que el usuario lo programe de acuerdo con los requisitos de la tarea
. 3 Conclusión
MATLAB tiene una variedad rica de operaciones numéricas y funciones de procesamiento de gráficos
La existencia de una gran cantidad de cajas de herramientas de control prácticas sienta una base sólida para sus aplicaciones de control, mientras que C; idioma Tiene potentes funciones del sistema de hardware
. El lenguaje C tiene potentes
capacidades de procesamiento para sistemas de hardware y puede implementar fácilmente funciones como la recopilación de datos y la comunicación en serie
.
El archivo Mex es una interfaz simple para que MATLAB llame a C++ y otros lenguajes (como
Visual Fortran, etc.), lo que amplía enormemente el alcance de la aplicación de
MATLAB y hace que el sistema MATLAB sea verdaderamente un sistema abierto. El sistema MATLAB se ha convertido en un entorno integrado de programación y procesamiento de datos ISL, verdaderamente abierto, totalmente funcional y autónomo. Referencias
l Wang Zhenglin, Wang Shengkai, Chen Guoshun. MATLAB/Simulink y camiseta de simulación de sistemas de control Beijing: Machinery Industry Press, 2006.
Beijing: Electronic Industry Press, 2005: Prensa de la industria electrónica, 2005: 11-13.
2 Zhang Wei. Camisa de programación MATLAB External Connection 121 Xi'an: Xi'an: Xi'an University of Electronic Science and Technology Press, 2004: 50-85. 3 Liao Liangbin, Yu Fangping. Adquisición de imágenes basada en DSP y USB System Research.
Revista de la Universidad Tecnológica de Wuhan (Edición de Ingeniería y Ciencia del Transporte), 2006, 30(1): 120.123.
[4 Shen Dingcai, Guo Qingping. Investigación distribuida basada en interacción. sobre la aplicación de la recopilación y el análisis de datos en ingeniería geotécnica
Revista de la Universidad Tecnológica de Wuhan (Edición de ciencia e ingeniería del transporte),
2005, 29(6): 974-976. , 992.
5 Wang Zhibing, Li Hanqiang. Diseño e implementación de un sistema de adquisición de datos basado en bus USB.
Revista de la Universidad Tecnológica de Wuhan (Edición de Ingeniería y Ciencia del Transporte), 2005, 29 (5): 758.761.
[6 Yang Yiwei, Jiang Daming, Dai Shenghua. Recopilación de datos del sistema de monitoreo por microcomputador de señales de joroba Yin Wu
Revista de la Universidad Han de. Ciencia y Tecnología (Edición de Ingeniería y Ciencia del Transporte), 2005, .29(1): 154-156.
[7 Yang Jian, Zhang Huihui Recopilación de datos en red y análisis de señales basado en DSP y terminal ARM.
Duantian
p>Ingeniería informática, 2006, 32(8):269-271.
8 Li Yaokun, Shi Zhongke, Graduación, etc. Aplicación de Matlab en un sistema de soporte a la decisión basado en el modelo B/S
Ingeniería Informática, 2006, 32(5): 255-256, 282.