Vous êtes sur la page 1sur 15

Guia de trabajo

Interfaz Grfica de Usuario Matlab GUIDE

Elaborado por Diego Muoz G.

Indice temtico

IntroduccinPg. 3 Elementos de la interfaz graficaPg. 4 Propiedades de los elementos..Pg. 5 Estructuras y funcionamiento GUI.Pg. 6 Funciones y Callbacks.Pg. 7-12 PushbuttonPag.7 Slider....Pag.8 Listbox.Pag.10 Edit text..Pag.11 Static Text...Pag.12 Funciones de Apertura y cierrePg. 13 Barras de Men..Pg. 15

Elaborado por Diego Muoz G.

Introduccin

La interfaz grafica de usuario de Matlab o GUIDE simplemente es una herramienta de programacin visual de Matlab similar a visual Basic de Microsoft, que provee una programacin interactiva de aplicaciones sin necesidad de extensos cdigos.

Elaborado por Diego Muoz G.

Elementos de GUI de Matlab Los componentes de gui de Matlab corresponden a los elementos interactivos y funcionales dentro del entorno, los cuales son los siguientes:

Control Check box Editable Text Pop-up men List Box Push Button Radio Button Toggle Button Slider Static Text Panel button |Button Group

Valor de estilo checkbox edit popupmenu listbox pushbutton radio togglebutton slider text

Descripcin Indica el estado de una opcin o atributo Caja para editar texto Provee una lista de opciones Muestra una lista deslizable Invoca un evento inmediatamente Indica una opcin que puede ser seleccionada Solo dos estados, on o off Usado para representar un rango de valores Muestra un string de texto en una caja Agrupa botones como un grupo Permite exclusividad de seleccin con los radio button

El Programa creado llamado NuevoCnc.Fig corresponde a una interfaz utilizada para maniobrar un Router cnc que ser utilizado a modo de ejemplo a travs de la gua.

Elaborado por Diego Muoz G.

Propiedades de los elementos Los componentes dentro del entorno en s tienen diversas propiedades. El inspector de propiedades ofrece desde personalizaciones de fuente, colores del elemento e incluso funciones y propiedades que aumentan la complejidad del propio elemento.

Las propiedades que pueden destacarse en las propiedades base (Base Properties) son creaciones de funciones, visibilidad, Tags y datos de usuario. En control, existen funciones de cierre, funciones de accionamiento, entre otras. En Data, Se observa la ruta del archivo, el nombre y unidades de operacin. Finalmente en Estilo y apariencia, se modifican colores, Barras de herramientas, posicin, etc.

Elaborado por Diego Muoz G.

Estructura y funcionamiento de las aplicaciones GUI

Una aplicacin GUIDE consta de dos archivos: .m y .fig. El archivo .m es el que contiene el cdigo con las correspondencias de los botones de control de la interfaz y el archivo .fig contiene los elementos grficos.

El script mostrado en el editor corresponde al archivo .m de Nuevocnc. Este contiene las diversas funciones de callbacks, subrutinas y funciones para dar interaccin entre componentes y sus valores funcionales que harn posible la ejecucin del programa.

Elaborado por Diego Muoz G.

Funcionamiento de Callbacks Ejemplo de accionamiento de Pushbutton: Funciones: Assignin, Get, Fprintf.

Al hacer click derecho en el elemento ubicado en el rea de diseo, una de las opciones ms importantes es Callbacks, la cual, al ejecutarla, abre el archivo .m asociado a nuestro diseo y nos posiciona en la parte del programa que corresponde a la subrutina que se ejecutar cuando se realice una determinada accin sobre el elemento que estamos editando. Por ejemplo, al ejecutar View Callbacks>>Callbacks en el Push Button, nos ubicaremos en la parte del programa: function pushbutton1_Callback(hObject, eventdata, handles)
valorboton_x=get(handles.textt,'string'); if valorboton_x >0 boton_x_mas=get(handles.textt,'string'); assignin('base','boton_x_mas',boton_x_mas); end cus='q'; qus=strcat(cus,boton_x_mas); fprintf(handles.serConn, qus);

Elaborado por Diego Muoz G.

El Cdigo del push button presentado, tiene la siguiente funcion: La variable valorboton_x ser obtenida mediante un textbox evaluado por el accionamiento de un slider. Este valor del slider si es mayor a cero, creara una variable en workspace llamada Boton_x_mas, con su propio valor. Luego de esta asignacin de variable, esta es enviada impresa a una variable local de comunicacin serie serConn. La funcion GET descrita tiene la finalidad de obtener un valor de una variable u objeto, esta funciona de la siguiente manera: Get(handles.TAG,String) Desde el handles.Tag o la ubicacin, obtendremos el valor o string. Con este valor podemos manejar y asignarlo en otra variable local tal como se asigno a continuacin.
Valor_boton_x=get(handles.textt,'string');

Ejemplo de funcionamiento de Deslizador Seleccionando en el deslizador su callback, podemos crear una funcion que permita asignar un valor numrico dado el deslizamiento. En este programa se realiza dicha funcion y se muestra en un textbox su valor.

Se observa la funcion set que permite asignar un valor de string determinado, este funciona de la siguiente manera:

Elaborado por Diego Muoz G.

Set(handles.TAG,String,Variable); El tal corresponde al identificador de cada elemento, por lo que se llama mediante el handles para editar un valor o string a otro elemento o variable. Estas funciones Get y Set, son unas de las principales para obtener y asignar valores y poder manejarlos dentro del entorno como fuera de el. Por lo que resulta interesante usarlo conjunto a simulink o workspace. De acuerdo a esto, podemos utilizar las siguientes funciones: Para simulink
set_param(nombre_del_programa/nombre_del_bloque,parmetro,valor) Escribe en un bloque, dentro de un parmetro el valor deseado. Por ejemplo es posible asignar un valor numrico desde GUIDE a un bloque constante de simulink. get_param(nombre_del_programa/nombre_del_bloque,parmetro,valor) Obtiene un valor desde un bloque de simulink. Por ejemplo obtener un valor de un bloque de constante.

Para Workspace Es posible crear variables de entorno entre la herramienta de workspace y GUI. Para eso existe la funcion Assignin, que crea una variable y es posible manipularla mediante GUI. Por ejemplo:
assignin('base','boton_x_menos',boton_x_menos);

Para obtener dicha variable existe la funcion Evalin que hace lecturas de workspace.
Por ejemplo: evalin('base',boton_x_menos);

Elaborado por Diego Muoz G.

Funcionamiento de Listbox El listbox provee un listado de valores seleccionables, que permite utilizar diversas opciones. En el ejemplo ya mostrado, puede verse un listado de puertos de comunicacin serial seleccionables para ejecutar los procedimientos de Guide.

Se observa que dentro de las propiedades asignables dentro del inspector de propiedades son efectuar valores mltiples de string, por lo que para realizar ese listado visto anteriormente, debe previamente asignarse los puertos com existentes y posibles para utilizar.
Elaborado por Diego Muoz G.

Funciones de Texto, estticos y editables

Los editores de texto o Editext permiten la lectura y escritura, adems de su observacin fsica de dichas acciones. El editext seleccionado de nuevocnc.fig presenta la posibilidad de escribir cadenas de texto o strings y el envo posterior mediante una funcion fprintf de impresin a travs del puerto serie.

TxText es una variable local obtenida mediante la funcion get proveniente de Tx.send (el editext utilizado), Luego se realiza una impresin serial fprintf, a la variable de comunicacin serie SerConn. La finalidad es enviar cualquier tipo de texto desde este editext sin importar su magnitud ni formato a puerto serie

Elaborado por Diego Muoz G.

El Texto esttico tiene una diferencia prctica que radica en la nula posibilidad de escribir un valor en su ejecucin, lo que nicamente permite un valor constante previamente establecido para su operacin.

La manipulacin posible de los textos estticos como se menciono es solo lectura y puede modificarse mediante el inspector de propiedades en la seccin String. En la imagen se destaca un cuadro de text esttico, que tiene la finalidad de entregar los valores del deslizador en su ejecucin, pero no es posible acceder a el dentro de la ejecucin por ser un elemento de solo lectura. De igual manera, la forma para escribir en ellos mediante cdigo es a travs de la funcion set y para su obtencin mediante la funcion get.

Elaborado por Diego Muoz G.

Funciones de Apertura y cierre de aplicacin Existe la posibilidad de crear funciones o callbacks que se ejecuten sin necesidad de llamarlos ni mediante los mtodos realizados anteriormente, sino al momento de iniciar o cerrar la aplicacin. Para la apertura existe al inicio del archivo .m, una funcion llamada opening function que permitir su ejecucin en el momento de apertura.

La utilizacin que suele darse es la declaracin de variables globales al inicio de programa que podrn ser utilizadas de manera continua en su ejecucin, sin necesidad de ejecutar otras funciones dependientes. En la imagen se puede apreciar la funcion set, que como se ha explicado anteriormente, escribe valores dentro de una variable, en este caso escribe en forma de vector el valor com 1-12 en el Listbox . La finalidad es crear estas variables seleccionables en la apertura del programa, para posteriormente elegir el puerto necesario dada la seleccin.

Elaborado por Diego Muoz G.

Es importante sealar que los valores modificados dentro del handles, deben almacenarse luego de su modificacin, por lo que siempre es necesario actualizar sus valores de la siguiente forma:
% Update handles structure guidata(hObject, handles);

Para la funcion de cierre, debe crearse una funcion Close request funcion en el espacio de trabajo. Con la funcion delete, que tiene como finalidad borrar cualquier objeto dentro del entorno, debe utilizarse de la siguiente forma: delete(hObject)

Elaborado por Diego Muoz G.

Barras de men Es posible crear una barra de men con diversas funciones seleccionables. En la imagen se observa el editor de men, que permite crear opciones y subsecciones de men. Para crear el callback necesario para su aplicacin debe seleccionarse View callback y aparecer el script o cdigo disponible.

function abrir_Callback(hObject, eventdata, handles) [archivo ruta]=uigetfile({'*.ngc'},'Abrir Documento'); if archivo==0 return; else %rutacompleta= strcat(ruta, archivo); fid = fopen('test.ngc'); assignin('base','fid',fid); tline = fgetl(fid); assignin('base','tline',str2double(tline));

la funcion uigetfile permite abrir un directorio de windows y cargar archivos de texto para procesarlos posteriormente, como en el caso del recuadro, que obtiene de la ruta un archivo .ngc que es una extension del software inkscape para leer comandos de procesamiento G code.

Elaborado por Diego Muoz G.

Vous aimerez peut-être aussi