Documentos de Académico
Documentos de Profesional
Documentos de Cultura
3 Alternativas de Solucion Michael Silva
3 Alternativas de Solucion Michael Silva
DEPARTAMENTO DE ELECTRNICA
AlternativasdeSolucindeProyectode
Titulacin
SimulacinyDiagrama3DdeControly
SupervisindeunSistema
DieselGeneradorMotorHlice
Presentado por:
ROL USM:
Profesor gua:
Fecha:
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
Proyecto de Titulacin
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.
Proyecto de Titulacin
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].
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.
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
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.
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