6. Inicialización de parámetros de Matlab/Simulink

Anuncio
6. Inicialización de parámetros de Matlab/Simulink
Utilizaremos la librería Engine de Matlab para inicializar y modificar los
parámetros que necesitamos para el correcto funcionamiento del programa de pasarela.
Funciones
Objetivo
InicioMatlab
Poner en funcionamiento la aplicación Matlab
AbrirSimulacion
Abre el modelo de Simulink, devuelve error si no es
posible.
Inicializa variables necesarias en el espacio de trabajo
de Matlab para la comunicación, y configura
parámetros de Simulink necesarios para el tiempo
“real”
ConfigParam
Tabla 7. Funciones relacionadas con la configuración de Simulink
El primer paso será abrir la aplicación Matlab utilizando la función: engOpen, en
la función InicioMatlab.
A continuación, dentro de la función AbrirSimulacion, mediante la función
engEvalString podemos escribir órdenes sobre el entorno de trabajo de Matlab.
Mediante la orden open_system(“nombre”), siendo nombre.mdl el modelo de simulink
que queremos ejecutar, abrimos el modelo de Simulink. A continuación la orden
find_system nos devolverá una respuesta de dimensión mayor que cero si se ha abierto
correctamente el modelo. La función engGetArray nos permite obtener la respuesta y
mxGetDimensions permite obtener la dimensión de esta. La función devuelve como
valor el resultado de esta ultima función, de manera que si devuelve un 0 se entiende
como error: no se ha sido capaz de abrir la simulación, quizá porque no exista el
modelo que se intento abrir.
A continuación, si no ha habido error, inicializamos una serie de parámetros
mediante ConfigParam, utilizando engEvalString para dar ordenes en el entorno de
trabajo de Matlab. La orden set_param la utilizamos para fijar el paso de simulación del
modelo de simulink a paso fijo ode1 y paso fijo igual al tiempo de paso deseado, esto se
hace para conseguir acomodar el sistema a cuasi tiempo real, mediante la S-function
tpo.m. Finalmente utilizamos la misma función engEvalString para incluir nuevas
variables en el espacio de trabajo: Tm, utilizado por los bloques S-function, y tantas
entradas y salidas como se indican con el formato: entrada’i’ y salida’i’, para tanto ’i’
como entradas o salidas respectivas queramos. Estas variables serian las que se
encargaran de actuar como paso entre Simulink y nuestra aplicación.
Comunicación entre Simulink y Sistemas de control
Simulink OPC Server
27
Descargar