Está en la página 1de 3

3.

Matlab/Simulink
Matlab (Matriz Laboratory) presenta un entorno de programacin para computacin tcnica basado en el modelo matemtico de clculos sobre matrices. El sistema Matlab consta de: Lenguaje Matlab, nos permite manipular datos en forma de escalares, vectores, matrices, etc. El mismo lenguaje se usa tanto en el espacio de trabajo como en el desarrollo de programas (M-file). Espacio de trabajo de Matlab, en el se realizan los clculos y se almacenan los datos, para su intercambio y manipulacin. Entono grfico, nos permite la visualizacin de de datos en 2 y 3 dimensiones, as como animaciones. Su uso se apoya el procesamiento matemtico tanto desde el espacio de trabajo como de programas M-file o toolboxes que lo precisen. Funciones de librera, funciones que nos permiten un gran nmero de operaciones tiles. Utilice la orden help para comprender la utilidad y el resultado de cada una. Matlab Application Program Interface, nos permite extender el uso de las facilidades ofrecidas por Matlab a otro tipo de entornos de programacin, permitiendo la comunicacin con otras aplicaciones. Toolboxes de Matlab, herramientas en forma de aplicaciones ejecutables desde Matlab y apoyadas en la potencia de calculo del propio lenguaje Matlab, pero facilitando el interfaz con el usuario o incrementando la potencia del sistema Matlab.

Todos los tipos de datos manejados en Matlab son realmente declarados sobre un mismo tipo de objeto: Matlab Array. Este tipo de datos tambin puede ser declarada en un programa en C: mxArray. La estructura de este tipo de dato ser: tipo, dimensin, dato asociado, indicador de si la variable es real o compleja, ndice en matrices, nmero de campos y nombre de estos en estructuras de datos. Las libreras C MX-Functions de Matlab API nos facilitan el manejo de las Matlab Array desde programas en C. Funcin
mxCreateDoubleMatrix mxSetName mxGetPr mxGetDimensions

Resultado Creacin de una estructura mxArray Cambia el nombre asociado a la mxArray, para ser utilizado como variable de Matlab Obtiene el valor asociado a mxArray, el valor como variable Obtener las dimensiones del mxArray indicado

Comunicacin entre Simulink y Sistemas de control Simulink OPC Server

15

mxDestroyArray

Elimina la mxArray
Tabla 2. Funciones de C MX-Functions utilizadas

3.1. Simulink
Simulink es una toolbox de Matlab que se utiliza para simular, modelar y analizar sistemas dinmicos. Se pueden simular modelos lineales o no lineales, en tiempo continuo o no continuo. Adems permite un interfaz grfico sencillo y una librera de objetos muy completa con fuentes de datos, operadores, sistemas, y sumideros de datos que permitan por ejemplo visualizar resultados. Tambin permite le desarrollo de nuevas funciones, por ejemplo mediante las S-function. Se permite tambin el manejo de parmetros de cada modelo desde el espacio de trabajo de Matlab.

3.2. S-function
La S-function es un bloque que permite extender funciones a Simulink. Permite una adaptacin del funcionamiento de archivos dll a Simulink. Una S-function se puede escribir en C o Matlab. Para utilizar la S-funcin en Simulink tiene que ser compilada como MEX-file, se puede hacer mediante la orden mex archivo.c. Las S-function escritas en C se dividen en tres partes importantes, una para inicializar, una que se ejecutara de manera peridica durante la simulacin y una que se ejecutara para finalizar correctamente la simulacin. En la inicializacin se declara el funcionamiento del comienzo, nmero de entradas y las salidas y el tiempo de muestreo del bloque. Cada una de las partes es implementada sobre algunas funciones cuyo funcionamiento describimos a continuacin. Funcin
mdlInitializeSizes mInitializeSampleTimes mdlStart mdlOutputs mdlUpdate mdlTerminate

Objetivo Define el nmero de puertos de entrada y salida del bloque, as como la dimensin de estos Define el tiempo de actualizacin de los valores de entrada y salida al bloque Solo se ejecuta al iniciar la simulacin Calcula las salidas en cada actualizacin Actualiza valores intermedios en cada actualizacin Solo se ejecuta al terminar la simulacin
Tabla 3. Funciones ejecutadas en una S-function

En nuestro caso no necesitamos implementar todas las funciones para desarrollar las S-function.

Comunicacin entre Simulink y Sistemas de control Simulink OPC Server

16

Figura 9. Funcionamiento de una S-function

Comunicacin entre Simulink y Sistemas de control Simulink OPC Server

17