Вы находитесь на странице: 1из 6

Comunicación

entre Simulink
y sistemas de
control

Simulink OPC
Server

José Joaquín Acevedo Báñez

Departamento de
Ingeniería de Sistemas y Automática
de la Escuela Superior de Ingenieros
de la Universidad de Sevilla,
Sevilla (España)
Departamento de Ingeniería Documento
Proyecto Fin de Carrera
de Sistemas y Automática
de la Escuela Superior de
Ingenieros de la Universidad
de Sevilla, Sevilla (España) Fecha
Julio de 2007
Autor Tutor
José Joaquín Acevedo Báñez Guillermo Heredia
Información de contacto
e-mail: jose_joaquin2@hotmail.com
Teléfono: 685 516 440
Título
Comunicación entre Simulink y Sistemas de control
Simulink OPC Server
Resumen

El fundamento principal de este proyecto es realizar el control interactivo en


tiempo real del modelo de un proceso en Simulink a través de un sistema de control.
El control sobre un modelo puede ser útil para probar sistemas de control en su
fase de desarrollo, así como probar comportamientos y situaciones límites sobre el
proceso, sin poner a este en peligro.
Lo deseable será obtener un sistema altamente compatible con multitud de
sistemas de control, la utilización sobre sistemas abiertos. Para ello aprovechamos el
interfaz como cliente OPC presente en la mayoría de los SCADAS actuales. OPC
ofrece un interfaz desarrollado sobre las librerías COM para la comunicación de
procesos, basado en el modelo cliente/servidor. El problema por tanto supone la
implementación de un Servidor OPC.
La implementación del proyecto supone el desarrollo de una serie de interfaces
para llevar información entre Matlab/Simulink y Servidor OPC. En primer lugar
desarrollamos la comunicación entre Simulink y el espacio de trabajo de Matlab a
través de S-functions utilizando las C MEX-Functions de las Matlab API. A
continuación es necesario comunicar el espacio de trabajo de Matlab con la aplicación
desarrollada, para ellos se usa las librerías Engine de Matlab API. Las Matlab API se
construyen sobre Active X.
Por ultimo, se construye un servidor OPC con esta información desarrollado
sobre el kit de desarrollo LightOPC.
La pasarela entre Simulink y OPC se construye, por tanto, en 3 pasos, sobre C
(S-functions) y C++ (Simulink OPC Server).

Lenguaje Numero de páginas


Español 78
Resumen
El fundamento principal de este proyecto es realizar el control interactivo en
tiempo real del modelo de un proceso en Simulink a través de un sistema de control.

El control sobre un modelo puede ser útil para probar sistemas de control en su
fase de desarrollo, así como probar comportamientos y situaciones límites sobre el
proceso, sin poner a este en peligro.

Lo deseable será obtener un sistema altamente compatible con multitud de


sistemas de control, la utilización sobre sistemas abiertos. Para ello aprovechamos el
interfaz como cliente OPC presente en la mayoría de los SCADAS actuales. OPC ofrece
un interfaz desarrollado sobre las librerías COM para la comunicación de procesos,
basado en el modelo cliente/servidor. El problema por tanto supone la implementación
de un Servidor OPC.

La implementación del proyecto supone el desarrollo de una serie de interfaces


para llevar información entre Matlab/Simulink y Servidor OPC. En primer lugar
desarrollamos la comunicación entre Simulink y el espacio de trabajo de Matlab a través
de S-functions utilizando las C MEX-Functions de las Matlab API. A continuación es
necesario comunicar el espacio de trabajo de Matlab con la aplicación desarrollada, para
ellos se usa las librerías Engine de Matlab API. Las Matlab API se construyen sobre
Active X.

Por ultimo, se construye un servidor OPC con esta información desarrollado


sobre el kit de desarrollo LightOPC.

La pasarela entre Simulink y OPC se construye, por tanto, en 3 pasos, sobre C


(S-functions) y C++ (Simulink OPC Server).

Comunicación entre Simulink y Sistemas de control 1


Simulink OPC Server
Índice
Preámbulo…………………………………………………………………………….4
Agradecimientos……………………………………………………………………...4

PLANTEAMIENTO DEL PROBLEMA

1. Introducción…………………………………………………………………….5
1.1. ¿Qué beneficios trae este proyecto?..................................................................5
1.2. Sistemas abiertos. OPC.....................................................................................6
1.3. Introducción a OPC...........................................................................................8
1.3.1. Evolución histórica de OPC……….…………………………………..9

ESTADO DEL ARTE

2. OPC…………………………………………………………………………….11
2.1. Arquitectura básica OPC……………………………………………...……...13
2.2. OPC DA……………………………………………………………………...13

3. Matlab/Simulink……………………………………………………………….15
3.1. Simulink………………………………………………………………………16
3.2. S-function………………………………………………………………….....16

4. Bloques básicos del Sistema…………………….……………………………..18


4.1. Cliente OPC…………………………………………….…………...………..18
4.2. Servidor OPC…………………………………………………………………19
4.2.1. LightOPC……………………………………………………………...19
4.3. Aplicación de pasarela………………………………………………………..21
4.4. Modelo del proceso en Simulink………………………………………….….22

TRABAJO REALIZADO

5. Desarrollo del servidor OPC…………………………….…………………….23


5.1. Clase myClassFactory………………………………………………………...23
5.2. Inicialización del driver………………………………………………………24
5.3. WriteTags…………………………………………….……………………….25
5.4. Finalización del driver………………………………….…………………….26

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

7. Temporización………………………………………………………………….28
7.1. Bucle principal del programa. Timer……………………….………………...28
7.2. Simulación en tiempo cuasi real………………………………………...……28

8. Intercambio de datos………………………………...………………………...30
8.1. Simulink /Espacio de trabajo de Matlab……………………………………...30
8.1.1. S-function: entrada.c………………………………………………….30
8.1.2. S-function: salida.c……………………………………………………31
8.2. Espacio de trabajo de Matlab/Simulink OPC Server…………………………32

Comunicación entre Simulink y Sistemas de control 2


Simulink OPC Server
8.2.1. Hacia Matlab……………………………………………………………32
8.2.2. Desde Matlab…………………………………………………………..33
8.3. Simulink OPC Server/Servidor OPC………………………………………..34
8.3.1. Desde Servidor OPC………………………………………….………..34
8.3.2. Hacia Servidor OPC…………………………………..….……………35

9. Interfaz de usuario y programación basada en eventos……………………....37


9.1. Menú…………………………………………………………………...……37
9.2. DialogoPideArchivo……………………………………………………...…39
9.3. DialogoTpoMuestreo………………………………………………………..39
9.4. DialogoNumPtos…………………………………………………………….40
9.5. Ventana principal. Creación de ventanas…………………….……………...41
9.5.1. Botón Conectar…………………………………………………….….42
9.5.2. Botón Desconectar…………………………………………………….43
9.5.3. Ventana estática para indicar número y sentido de variables………...43
9.5.4. Ventana estática para visualizar datos actualizados………………….43
9.5.5. Ventana estática de información sobre conexión de clientes…………44

RESULTADOS

10. Ejecución de la aplicación……………………………………………………..46

11. Resultados obtenidos por el proyecto…………………………………...……48

12. Creación de modelos Simulink………………………………………………..49

13. Manual de uso………………………….………………………………………52

CONCLUSIONES

14. Conclusiones……………………………………………………………………53

LÍNEAS FUTURAS DE INVESTIGACIÓN


15. Posibles Mejoras………………………………………………………...……..54

DOCUMENTOS

16. Referencias………………………………………………………………….….56

ANEXO I: Código fuente del software desarrollado: Simulink OPC Server….57

ANEXO II: S-functions desarrolladas……………………………………………71

ANEXO III: Ejemplo Simulink: Temperatura de un tanque  ejemplo.mdl…77

Comunicación entre Simulink y Sistemas de control 3


Simulink OPC Server
Preámbulo
Este documento describe el problema de la comunicación de un sistema de
control con un modelo simulado en Simulink, a través del interfaz OPC. Detalla el
desarrollo y funcionamiento de la aplicación implementada Simulink OPC Server como
posible solución.

Agradecimientos
Quiero agradecer a mis hermanos, a la memoria de mi padre y, en especial, a mi
madre el apoyo y esfuerzo realizado para permitirme la formación académica que ha
culminado con este proyecto como primer resultado.

También quiero agradecer a todos mis profesores a lo largo de todos estos años,
por todos los conocimientos y valores que me hayan podido transmitir.

Comunicación entre Simulink y Sistemas de control 4


Simulink OPC Server

Вам также может понравиться