Está en la página 1de 16

UNIVERSIDAD TCNICA FEDERICO SANTA MARA

DEPARTAMENTO DE ELECTRNICA

AlternativasdeSolucindeProyectode
Titulacin
SimulacinyDiagrama3DdeControly
SupervisindeunSistema
DieselGeneradorMotorHlice

Presentado por:
ROL USM:
Profesor gua:
Fecha:

Michael Silva Muoz


2621003-8
Sr. Alejandro Surez Sotomayor
23/05/2011

Proyecto de Titulacin

INTRODUCCIN
Enelpresentedocumentosedarnaconocerlasalternativasdesolucinconsideradas
parallevaracaboelProyectoSimulacinyDiagrama3DdeControlySupervisindeun
Sistema DieselGeneradorMotorHlice, concentrndose en cmo se lograr supervisar la
simulacin del sistema mediante una interfaz hombre mquina (HMI). Dicha simulacin se
considerarentonces,comodisponibleenunaaplicacinMatlab,radicandoelproblemaencmo
ingresar/exportardatosaesteesquemadesde/haciaotraaplicacinqueimplementelaHMI,como
semuestraeneldiagramadelaFigura1.

Sistema en Matlab

HMI

PC

Usuario

Figura1.DiagramadeFlujodeDatosMatlabHMIUsuario

ALTERNATIVASDESOLUCIN
Se revisarn tres aplicaciones que permiten confeccionar una HMI, y que tienen la
propiedad de poder intercambiar datos con Matlab: LabView mediante Simulation Interface
Toolkit,FixDmacsmedianteconexinDDEyLabViewmedianteconexinDDE.Comono
existeunafuentedeinformacinquecompareexplcitamentelasalternativas,sedesarrollaren
laexposicindecadaunadeellas,unresumendelascaractersticasprincipalesdelaaplicacin,
elprocedimientobasedetalladoquesenecesitaraparapoderrealizarlaconexinentreMatlaby
laHMI(Conelfindepoderanalizarconmayorautoridadcadaalternativa),ylasconclusiones
respectodelasventajasydesventajasqueofrececadaunadelasopciones.

Proyecto de Titulacin

ALTERNATIVAN1:LABVIEWMEDIANTESIMULATIONINTERFACETOOLKIT

LabView es una herramienta diseada especialmente para monitorizar, controlar,


automatizar y realizar clculos complejos de seales analgicas y digitales capturadas a travs de
tarjetas de adquisicin de datos, puertos serie y GPIBs (Buses de Intercambio de Propsito
General).
Es un lenguaje de programacin de propsito general, como es el Lenguaje C o Basic,
pero con la caracterstica que es totalmente grfico, facilitando de esta manera el entendimiento y
manejo de dicho lenguaje para el diseador y programador de aplicaciones tipo SCADA
(Supervisory Control And Data Adquisition).
Incluye libreras para la adquisicin, anlisis, presentacin y almacenamiento de datos,
GPIB y puertos serie, adems de otras prestaciones, como la conectividad con otros programas,
por ejemplo de clculo, y en especial Matlab, que es la aplicacin que se le dara en este
proyecto.
Est basado en la programacin modular, lo que permite crear tareas muy complicadas a
partir de mdulos o sub-mdulos mucho ms sencillos. Adems estos mdulos pueden ser usados
en otras tareas, con lo cual permite una programacin ms rpida y provechosa [1].
Conexin Simulink a LabView mediante Simulation Interface Toolkit [2]
LaherramientaSimulationInterfaceToolkit(SIT)deLabView,permiteconstruiruna
interfaz de usuario para un modelo realizado en Simulink. Esto lo lleva a cabo al generar
automticamenteuncdigoLabView,locualselograconfigurandoprimeroelmodeloSimulink
pararealizarlacomunicacin,yluegocreandoenLabViewunhostVI(InstrumentoVirtual)que
automticamentellama,correeinteractacondichomodelo.
ParaconfigurarelmodeloenSimulinksedebenseguirlossiguientespasos:
1. Guardar los archivos Simulink (.mdl) y LabView (.VI). (Ej. sinewave.mdl y Sine
Wave.VI).
2. AbrirMatlabyverificarquelaventanadecomandosmuestraelsiguientemensaje:

Proyecto de Titulacin

STARTING THE SIT SERVER ON PORT 6011


SIT SERVER STARTED
Simulation Interface Toolkit automticamente instalar el SIT Server, por lo que si
este mensaje no se ve, la Toolkit no ha sido correctamente instalada.
3. Abrir Simulink desde la ventana de comandos de Matlab.
4. Seleccionar File >> Open y abrir el archivo .mdl (Siguiendo el ejemplo, abrir el
archivo sinewave.mdl).
El modelo de la simulacin debera parecerse al siguiente diagrama:

Figura 2. Ejemplo de diagrama Simulink para simulacin


5. En la figura 2, se ha incorporado un bloque llamado SignalProbe. Este bloque debe ser
puesto en la capa superior del diagrama de simulacin, para que pueda ser encontrado
por la librera NI SIT Blocks de LabView.
6. Configurar los parmetros de simulacin seleccionando Simulation >> Simulation
Parameters. En la ayuda LabView Simulation Interface Toolkit Help puede
encontrarse la forma de cambiar estos parmetros desde la HMI.
7. Guardar el modelo Simulink.

Proyecto de Titulacin

AlcompletarlospasosdeconfiguracindelmodeloSimulink,seestencondicionesde
crearlainterfaceenLabView,manteniendotodalapotenciaoperacionalqueotorgaMatlabpara
lasimulacin.Paraellosedebeseguirelsiguienteprocedimiento:
1. AbrirLabViewycrearunnuevoVI(InstrumentoVirtual).
2. Poner en el Panel Frontal (HMI de LabView) los controles necesarios para la simulacin
(En el ejemplo, podra ser dos perillas para establecer la amplitud y frecuencia de una
onda sinusoidal de la simulacin).
3. Poner los Waveform Chart (Grficos en LabView) para observar las seales que se
quieren analizar en la simulacin. Para el caso de la onda sinusoidal, el eje Y podra
representar la amplitud de la onda, y X tiempo, con lo que se tendra un Panel Frontal
como el de la Figura 3:

Figura 3.

Ejemplo de HMI en LabView para la simulacin de una onda sinusoidal

4. Se pueden crear asignaciones entre el VI y el modelo Simulink,. Para ello, se debe


seleccionardesdeelVI,Tools>>SITConnectionManager.

Proyecto de Titulacin

5. En la categora Model and Host, seleccionar Simulation Environment bajo Host


Execution.ElHostExecutioneslamquinaenlacualelservidorSITestcorriendo.Para
seleccionarRealTimeTargetoDriverVIenelLocalHost,primerosedebeconvertirel
modeloSimulinkaDLL,antesdecrearlasasignaciones.
6. En Current Model, seleccionar Browse y luego el archivo .mdl en el cual est la
simulacin.(Ej.sinewave.mdl).
7. EnProjectDirectory,seleccionarBrowseuluegolacarpetaenlacualsedeseacontener
elproyecto(VI).Idealmente,estadeberaserlamismacarpetaenlacualelmodeloest
localizado.
8. EnCategoryList,seleccionarMappingsparamostrarlahojadeasignaciones.Latablade
asignacionesactualesmuestraloscontroleseindicadoresquesehancreadoantesenel
PanelFrontal.EstahojaseutilizarparamapearlostemsdelPanelFrontalalmodelo
Simulink,comoseobservaenlaFigura4.

Figura4.TabladeAsignacionesdetemsdePanelFrontalamodeloSimulink
9. SeleccionarelControlquesedeseamapear,desdelatablaCurrentMappings,yhacer
clickenelbotnChangeMappings.EstoabrirelcuadrodedilogoSpecifyParameters,
dondesepodrconfigurardichocontrol(Ej:Abrirelcuadrodedilogodelcontrolde
FrecuenciaparalaSealsinusoidal).

Proyecto de Titulacin

10. Enelcuadrodedilogodelcontrol,seleccionarelControlaconfigurarseleccionando
archivo.mdl >> archivo.VI, y presionar OK (Ej. sinewave.mdl >> Sine Wave
>>Frecuency).
11. Repetirlos pasos 9y10paramapeartodosloscontroles eindicadoresquesedesea
comunicarentreSimulinkyLabView.
12. Presionar el botn OK para cerrar el cuadro de dilogo SIT Connection Manager y
generarelcdigodediagramadebloquesparaelVI.Loscontrolesquepermitenmanejar
lasimulacin(ModelControls)aparecenautomticamenteenelpanelfrontalcomose
observaenlaFigura5.

Figura5.PanelFrontaldeLabViewqueincorporacontrolesparasimulacinen
Simulink

Proyecto de Titulacin

13. Alobservareldiagramadebloques,seobservaqueelSITgeneruncdigoLabView.En
estecdigonosedebecambiarningnelementoquetengaetiquetaverde.
AlcompletarlaconfiguracindelaHMIenLabView,lasimulacinseencuentralistaparaser
comandada desde el Panel Frontal. De acuerdo al ejemplo que se ha desarrollado, los controles de
Frecuencia y Amplitud pueden ser usados para cambiar la seal sinusoidal de salida.
El procedimiento aqu descrito no requiere MathWorks Real Time Workshop (RTW). Este VI usa
Simulink para correr la simulacin. Tambin podra utilizarse SIT junto con RTW para construir
el modelo en una aplicacin dll, donde la simulacin corre por si sola. En este caso, se necesitara
Simulink y RTW para construir el modelo en un archivo dll, y configurar la interfaz de usuario.
Para aplicaciones prototipo, se puede correr el modelo dll in LabView Real Time para obtener
entradas y salidas en tiempo real.
Ventajas y Desventajas de la alternativa
Deacuerdoaloantesexpuesto,laalternativadedisearlaHMImedianteSITdeLabView
presentalassiguientescaractersticas:

ComoLabViewyMatlabpuedenfuncionarenambienteWindows,elproyectopodra
realizarseenambienteWindows,elcualesmuyamigablealusuario.

LaconfiguracindelaHMIessimple.Nosenecesitaserexpertoenprogramacin,sino
quesloseguirelprocedimientoantesexpuesto.

ExistebastanteinformacinenlaWEBrespectodecmoseutilizaSITparacomunicar
LabViewconMatlab.

EstaalternativaestsujetaaladisponibilidadquesetengadeLabViewyenespecialde
su aplicacin Simulation Interface Toolkit, puesto que ya se dispone de Simulink de
Matlab.

Proyecto de Titulacin

ALTERNATIVAN2:FIXDMACSMEDIANTECONEXINDDE
Proficy HMI/SCADA - Fix es una poderosa solucin HMI/SCADA diseada por
Intellution, basada en una arquitectura Cliente/Servidor, que provee visualizacin de los procesos,
adquisicin de datos y control y supervisin de procesos de manufactura y produccin. Fix ofrece
un motor SCADA robusto, con varias opciones de conectividad, arquitectura abierta, altamente
escalable y con modelo de red distribuida. Es usado en una amplia gama de aplicaciones en
diversas industrias, y puede ser utilizado para aplicaciones simples como una tpica HMI que
captura y muestra datos, hasta complejas aplicaciones SCADA como el manejo de lotes de
produccin, alarmas y control en tiempo real [1].

Conexin DDE entre Matlab y FIX DMACS [3]


La conexin entre Matlab y Fix DMACS aqu expuesta se realiza mediante conexin
DDE. La conexin DDE (Dynamic Data Exchange) es un mtodo de comunicacin que usa
memoria compartida para intercambiar datos entre aplicaciones en ambiente Windows, que
permite el intercambio de datos en tiempo real. Los programas que tienen la posibilidad de
trabajar con esta conexin son muy verstiles al momento de necesitar algn componente de otro
software, como lo son Fix y Matlab en el caso de este proyecto, ya que se pueden utilizar la
potencia matemtica de Matlab en conjunto con la potencia de interfaz con el usuario de FIX.
LaideaespodermanejarlasimulacinenMatlabdesdeunaHMIFIX,demodoqueFix
envacomandosaMatlabvaDDE,estelosprocesaylosenvadenuevoaFixconDDE,para
queestelosdespliegueenformaamigablealusuario.Esteprocedimientoserealizaenforma
cclicaycontinadurantetodoelprocesodesimulacin,oalmenoshastaquesedefinauna
interrupcindeseadaenelalgoritmo.
LosprogramasquesoportanelDDEutilizanlasintaxisATI,queserefiereaApplication
Topic Item. El ATI es un formato estndar de identificacin de la informacin DDE y la
descripcindelasintaxises:
=Application|Topic!Item.
8

Proyecto de Titulacin

LaApplicationeselnombredelaaplicacinDDEdondeseencuentranlosdatos,elcual
enmuchasaplicacionescorrespondealnombredelprograma.Topiceselnombredelgrupode
datos a leer, y generalmente corresponde al nombre del archivo. El Item representa la
estructuradelosdatosatransferir,ysunombredependedelaaplicacin.EnelcasodeMatlabel
formatoATIpodraser:
=MATLAB|ENGINE!Z
EnelsiguienteejemplosemuestralaprogramacinrealizadaparalacomunicacinDDE
entreFIXyMatlab,conelobjetivodeincorporarunBloquedeControlDifuso(Disponibleen
MatlabperonoenFIX)paraelcontroldetemperatura.LaprogramacinenFIXserealizaconel
LenguajedeComandos,elcualesunaherramientaparaautomatizaroperacionesatravsdeuna
seriedeinstrucciones,comosemuestraenlaFigura6:

Figura6.ProgramacinenFIXparacomunicacinDDEconMatlab

Elcdigomuestraladeclaracindelavariable#RETRIEVEcomounacadenadecaracteresy
#RESULTADOcomounavariablenumrica.Lavariable#RETRIEVEseutilizadebidoaque
FIXrecibelosdatosenformadecadenadecaracteres.LainstruccinGETVALcargaenla
variable#RETRIEVEeldatoenviadoporMatlabllamadoZ.EnSTRTONUMseconviertela
cadenadecaracteresenunvalornumrico.FinalmenteconSETVALsecolocaelvalornumrico
en #RESULTADO en el punto de la base de datos que en el ejemplo est definido con
FIX:DATO_RECIBIDO_DE_MATLAB.F_CV.ConelGOTOsevuelveaejecutardenuevola
peticindedatos.
LaFigura7muestralaprogramacinenMatlabparagenerarelenlace:

Proyecto de Titulacin

%Inicializacin de Variables
b=0;
%Se cargan todas las variables del Controlador Difuso
a=readfis(temperarura);
while~=100
%Inicializa el canal para la conversacin con FIX
chan=ddeinit(dmdde,data);
%Solicita el dato a FIX
data=ddereq(chan,fix.DATO_ENVIADO_A-MATLAB.f_cv);
b=data;
%Retardo para cargar dato en memoria
pause(.1)
%Finaliza conversacin
rc=ddeterm(chan);
%Evaluacin del Control Difuso
Z=exp(b);
end

Figura7.CdigoMatlabparaestablecercomunicacinDDEconFIX
La programacin en Matlab se realiza en este caso en un archivo de instrucciones con
extensin*.m,elcualseencargadeestablecerlacomunicacinDDEyejecutalafuncinque
implementaelcontroladordifuso(Sesuponeestafuncinhasidopreviamentediseada).El
cdigo consta de una parte de inicializacin de variables, una para cargar las variables de
controlador difuso con la instruccin readfis, y luego de un ciclo continuo que realiza la
peticin de los datos a FIX. El formato ATI para FIX es: La Application es dmdde, el
TopicesdatayelItemeselnombreenlabasededatosdeFIX.
UnavezrealizadaslasprogramacionesenMatlabyFIX,seestencondicionesdeejecutar
la aplicacin que implementa el controlador difuso, relacionando en tiempo real las
potencialidadesdecadasoftware.Enestecaso,FIXutilizalasherramientasmatemticasenel

10

Proyecto de Titulacin

desarrollo de un controlador difuso dado por Fuzzy Logic ToolBox, mientras que Matlab
aprovechalacapacidaddeadquisicinymanejodedatosqueofreceunprogramaSCADA.

Ventajas y Desventajas de la alternativa


Deacuerdoaloantesexpuesto,laalternativadedisearlaHMImedianteFixDmacs
presentalassiguientescaractersticas:

ComoFixDmacsyMatlabpuedenfuncionarenambienteWindows,elproyectopodra
realizarseenesteambientequeesmuyamigablealusuario.

LoscdigosquepermitencomunicarlaHMIconMatlabrequierendeconocimientosde
de ambos lenguajes de programacin (Fix y Matlab), lo que podra ralentizar su
implementacin.

LainformacinqueexisteenlaWEBrespectodecmorealizarunaconexinDDEentre
MatlabyFixesreducidaodifcildeencontrar.

EstaalternativaestsujetaaladisponibilidadquesetengadeFixDmacs,puestoqueya
sedisponedeMatlab.

11

Proyecto de Titulacin

ALTERNATIVAN3:LABVIEWMEDIANTECONEXINDDE
Las caractersticas principales del ambiente LabView han sido descritas en la Alternativa
N: LabView mediante Simulation Interface Toolkit. A continuacin se ver cmo se realiza la
conexin entre LabView y Matlab mediante conexin DDE
Conexin Matlab a LabView mediante conexin DDE [4]
EnestaaplicacinLabViewserlainterfazdecomunicacinconelusuarioHMIycapturar
losdatosdesdeMatlab demaneraanlogaacomoloharaparaunsistemarealmedianteuna
tarjetadeadquisicin,mientrasqueMatlab,simularalaplanta(ConexinDieselGenerador
MotorHlice),juntoconsucontrolador,lainstrumentacinylatarjetadeadquisicindedatos.
Como se vio en la alternativa anterior, Windows proporciona la herramienta DDE
(Intercambio Dinmico de Datos), el cual se trata de un protocolo de comunicacin entre
aplicacionesquepermiteestablecerundilogoentreellas,quepuedeconstardedatosoincluso
comandos para su ejecucin. Dicho protocolo organiza a las aplicaciones en dos grupos: la
aplicacinclienteserlaencargadaderealizarunadeterminadapeticin(laejecucindealgn
comandooeltraspasodealgntipodedatos),mientrasquelaotraaplicacinactuarcomo
servidor,recibiendolaspeticionesdelclienteyactuandoenconsecuencia.Lasdosaplicaciones
utilizadas,LabViewyMatlabaceptanesteprotocolo.
UnaopcinesescogerLabViewparaactuarcomoclienteyaMatlabcomoservidor,conla
consideracindequelafuncindeesteltimoseraceptarlaspeticionesdelusuarioatravsde
laHMI,paraproporcionarlosqueseobtengandelasimulacin.Conesto,segn[4],seevita
todotipodeprogramacinespecialenMatlab.EncuantoalaprogramacinenLabView,se
muestracomoejemplo(Verfigura8)elcdigoempleadopararequeriraMatlablaestimacinde

12

Proyecto de Titulacin

unsistemaapartirdeunos datos previamentegrabados enunficherodediscoconformato


ASCII.

Figura8.DiagramaLabViewpararequerirserviciosdeMatlab
EnprimerlugaresnecesarioabriruncanaldecomunicacionesparaadvertiraWindowsque
sevaaemplearDDE.ParalaaperturaseindicaaWindowselnombreytpicodelservicioque
se va a solicitar (stos dependen del programa servidor y se obtienen de los manuales del
software.EnestecasosonMatlabyEngine).Acambio,Windowsproporcionaunhandleo
nmerodecanal(Deformaquevariasaplicacionespuedanusardistintosserviciosalavez)que
deberserempleadoentodaslascomunicacionesposteriores.
Unavezabiertoelcanalyasepuedenenviarcomandosparaserejecutados(funcinEXEC),
opeticionesdetransferenciadedatos(funcinREQST).Ambasfuncionesaceptancomoentrada
unliteralquecontendrelcomandoaserejecutado(Talcomoloescribiraunusuarioenla
ventanadeMatlab)obien,enelcasodeunapeticindetransferenciadedatos,elnombredel
datoquesedesearecibir.UncasoespecialeseldatomatrizEnsgStringResult,detipostring,que
contiene la salida por pantalla que ha producido el ltimo comando ejecutado va DDE.
Finalmente,esnecesariocerrarelcanalparaliberarmemoriaynodejarsaturadoelsistema.
Ventajas y Desventajas de la alternativa

13

Proyecto de Titulacin

Deacuerdoaloantesexpuesto,laalternativadedisearlaHMImedianteLabViewcon
conexinDDEaMatlabpresentalassiguientescaractersticas:

ComoLabViewyMatlabpuedenfuncionarenambienteWindows,elproyectopodra
realizarseenesteambientequeesmuyamigablealusuario.

La configuracin de la comunicacin se realiza mediante programacin grfica en


LabView,peroademsserequiereconocerloscomandosparainiciarlaconexinDDE,
loquepodraralentizarsiimplementacin.

ExisteinformacinsuficienteenlaWEBrespectodecmoutilizarlasmdulosDDEde
LabViewydeMatlabporseparado,peroreducidaencuantoalaconexinespecfica
entreambossoftware.

EstaalternativaestsujetaaladisponibilidadquesetengadeLabView,puestoqueyase
disponedeMatlab.

CONCLUSIONES
Sehanpresentadotresalternativasdesolucinquepermitenestablecerunacomunicacin
entreunsistemamodeladoenMatlabyunaaplicacinqueimplementeunaHMI,revisandosus
caractersticasprincipales,susprocedimientosbsicosparaestablecerlaconexin,yenbasea
ellosdeterminarlasventajasydesventajasdecadaopcin.Conlainformacinpresentadaeneste
documento,elpasoprximoenelavancedeesteproyecto,consisteenevaluarcualalternativaes
laqueconvienedesarrollar,determinandoquecualidadesodefectossonmsomenosrelevantes
almomentodetomarladecisin,yquecalificacinlogracadaalternativaencadaunodedichos
tpicos.

14

Proyecto de Titulacin

REFERENCIAS
[1]HenryMendiburuDaz,SistemasScada,enlacehttp://www.galeon.com/hamd/pdf/scada.pdf
[2]PginaWebdeNationalInstrumentsDeveloperZone,enlace
http://zone.ni.com/devzone/cda/tut/p/id/3057
[3]PanayotisS.TremanteM.,MercedesTorresR.,JosAlonsoS.,ConexinDDEentreMatlab
y Fix Dmacs (Software de supervisin, control y adquisicin de datos SCADA) para un
controladordifuso, Departamentode Electrnica yControl, Escuela deIngenieraElctrica,
UniversidadCentraldeVenezuela.
[4] Antonio Manuel Lzaro, Contribucin a la Caracterizacin Automtica de Funciones de
Transferencia en Presencia de Ruido. Conversin Continua-Continua, Departament d'Enginyeria
Electrnica, Universitat Politcnica de Catalunya

15

También podría gustarte