You are on page 1of 10
AAG SIMUMNRY SimpowerSysiems = | tes lel botn. Ademés, en la propiedad Tag se escribe el nombre del uicontrol al cual se hace referencia cuando se crean las funciones asociadas. Para dar color a los dis- tos ulcontrols se seeeciona el color en la propiedad BackgroundColor del ins | pector de propiedades | \ i Asi, el interfaz desarrollado tiene el aspecto que se muestra en la Figu- | TT om i VE I ny r i I = t te tN | i] | Fura 3.29 ] Aspecto del intertaz Finalmente, se asignan las acciones a realizar por cada botén. Si la accién se puede deseribir mediante na tinica sentencia, bastaria con introducir esta en la propiedad Callback del inspector de propiedades. Como no es el caso del ejem- plo presentado, se emplea el M-File Editor. Para su uso, resultan de gran utilidad las siguientes funciones: + gcbo: retorna el identificador del objeto (uicontrol) seleccionado para el | que se van a definir las acciones a realizar, + gebf: retorna el identificador de la figura seleccionada para la que se v definir las acciones a realizar. Para abrir el M-File Editor, primero hay que guardar el disefto del interfaz con el nombre circuitoRLC fig. Automaticamente se genera un fichero .m llamado cir cuitoRLC.m | fichero .m creado contiene: * Un cédigo de inicializacién no editable. + Un conjunto de funciones asociadas a los distintos objetos que han sido introducidos en el interfaz. n el ejemplo desarrollado, el fichero circuitoRLC.m contiene el siguiente codi- go de inicializaciér us| Simulacién de sistemas Gea Tae 1 a = ai ibac a Tras este cédigo inicial aparecen todas las funciones generadas automética mente a medida que se han introducido los diferentes objetos en el interfaz. Para 1 ejemplo desarrollado, se han creado las siguientes funciones: Fu don Fun del ee MATLAB Simulink ySimPowersystems | us Funciones de apertura del interfaz { «+ function circuitoRLC_OpeningFen(hObject, eventdata, handles, varar: \ gin) { Se cjccuta justo antes de que la ventana se haga visible y actualiza los han- i des. En esta funci6n se pueden afiadir las Grdenes que se desea sean ejecu- { tadas de forma previa a la visualizacién del interfaz, / + function varargout = circuitoRLC_OutputFen (hObject, eventdata, han. dies) Obtiene las salidas de los handles actualizados Funciones asociadas a la creaci6n de los uicontrols del tipo Edit Text + function tension_CreateFen(hObject, eventdata, handles) 1 * function resistencia_CreateFen(hObject, eventdata, handles) * function capacidad_CreateFen(hObject, eventdata, handles) + function inductancia_CreateFcn(hObject, eventdata, handles) + function fasetens_CreateFen(hObject, eventdata, handles) + function intensidad_CreateFcn(hObject, eventdata, handles) + function VR_CreateFen(hObject, eventdata, handles) i + function VC_CreateFen(hObject, eventdata, handles) * function VL_CreateFen(hObject, eventdata, handles) + function faseintens_CreateFcn(hObject, eventdata, handles) | + function faseVR_CreateFen (hObject, eventdata, handles) {| + function faseVC_CreateFen (hObject, eventdata, handles) + function faseVL_CreateFen(hObject, eventdata, handles) donde, por defecto, dichas ventanas tienen el fondo blanco. Funciones en las que se deben escribir las acciones a realizar por cada uno de los uicontrols + function tension_Callback(h, eventdata, handles) + function resistencia_Callback(h, eventdata, handles) + function capacidad_Callback(h, eventdata, handles) + function inductancia_Callback(h, eventdata, handles) | + function fasetens.Callback(h, eventdata, handles) + function calcular_Callback(hObject, eventdata, handles) + function intensidad_Callback(hObject, eventdata, handles) + function VR Callback(hObject, eventdata, handles) + function VC_Callback(hObject, eventdata, handles) * function VL_Callback(hObject, eventdata, handles) | + function faseintens_Callback(hObject, eventdata, handles) + function faseVR_Callback(hObject, eventdata, handles) + function faseVC_Callback(hObject, eventdata, handles) + function faseVL_Callback(hObject, eventdata, handles) Como se desea que al pulsar el botén Calcular se realicen los célculos de las magnitudes del circuito, es necesario introducir las oportunas sentencias dentro de la funcion caleular_Callback asociada a dicho bot6n. Asi, con el M-File Editor se introducen las siguientes sentencias: ar_Callback (hObject data, handles to be dine future v su nana’ with nd user da F ot . EL VALOR NUMERI: Los DATOS INTRODUC Mi SE CONVIERTE A qu adouble (get (hand el rad (handles. faaetens, string} m X-omega*L-1/(omega*C ba (2 gle (2) *180/pi angl= 2 vangulo de riente en grados ; casi 8 SE MUFSTRAN LOS VALORES CALCULADOS. PARA ELLO non ie ‘Tag pon ungate (2) unt andles.VR, ‘string’ ,mumaetr (VR) ) ; inte MATLAB, Simulink y SimPowerSystems a7 Para completar el ejemplo, se afiade a la barra de mentis existente en la parte superior, un ment que permita seleccionar distintas graficas con los resultados y otro con la opcién de salir del programa ¢ el editor de mentis y se pincha con el raton en la opcién New Menu, escribiéndose en la casilla correspondiente a Label el nombre de! ment que se quiere que aparezca en la cabecera (en este caso Grificas), en la casilla Tag, el nombre identificador del objeto y en la casilla Callback se escribe automética- mente la funci6n de llamada, tal y como se muestra en la Figura 3.30. mars | Figura 3.30 reacion dl ment \ continuacién, teniendo seleccionado el uimenu creado, se pincha en la casilla New Menu Item para crear los subments. Se escribe en la casilla Label el nombre que se quiere que aparezca en cada submenti (Intensidad) y en la casilla Tag, el nombre de la funcién de llamada (menu_intensidad). Se repite el proceso poniendo los labels VR,VC y VL para el resto de subments. Finalmente se aftade un nuevo meng llamado Salir, tal como se muestra en la Figura 3.31 Al crear los meniis anteriores, se modifica el fichero circuitoRLC.m asociado al interfaz, aftadiéndose las siguientes funciones, una para cada uno: ue | simula de sal ERO ; ze mn seat etm Pa Fiquea sy | sees [Same reacion del mer =) Ce * function menu_graficas_Callback(hObject, eventdata, handles) * function menu_intensidad_Callback(hObject, eventdata, handles) + function menu_VR Callback(hObject, eventdata, handles) * function menu_VC_Callback(hObject, eventdata, handles) * func enu_VL_Callback(hObject, eventdata, handles) * function menu_salir_Callback(hObject, eventdata, handles) En cada una de las funciones anteriores se escriben los comandos que se quie- ren ejecutar al seleccionar cada opcién. En el ejemplo desarrollado: Para el subment Grdficas=sIntensidad function menu_Antensidad_Caliback entdata, handles) 2 ure with handles and user data (see GUID Para 49 Para el submenét Gréificas>VL no sc el int fu 8 grados De \ ieee ‘creado "i Yo tambié ment, Para el ment Si HAUARSIMMIMRYSimPowersysiems = | 151 Por tiltimo, como se quiere que el meni Graficas esté deshabilitado mientras no se pulse el botn Calcular, se afiade el siguiente c6digo en la funcién que abre el interfaz: function circuitoRLC_Openii Fen (hObject, eventdata, handles, varargin) handles.menu_graficas, Yen la funcién del botén Calcular se afiade este otro c6digo: function calcular_Callback(hObject, eventdata, handles) handles.menu_graficas, ‘Enable’, 0 De este modo, mientras no se pulse el botén Calcular, el aspecto del interfaz creado es el indicado en la Figura 3.32 Y cuando se pulse el botén Calcular, se obtienen los resultados numéricos y también los resultados graficos, en funcién de la grafica que se seleccione en el ment, como se muestra para el caso de la intensidad en la Figura 3.33. Figura 3.32 Aspeco de interaz ejecutindose Deus. aanse Oe eo 2 1 vires Figura 335 r Ejecucin del intefax - my 7 Descripcién del entorno de trabajo de Simulink Para comenzar a trabajar con Simulink se debe ejecutar previamente MATLAB, Asi, si se teclea la orden simulink desde el prompt de MATLAB aparece la venta- na del navegador de librerias de Simulink, mostrada en la Figura 3.34, mediante la cual se puede acceder a las librerias de los bloques de las diferentes blocksets de Simulink

You might also like