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