guia matlab guide

Upload: diego-donatien-munoz-galleguillos

Post on 02-Mar-2016

162 views

Category:

Documents


0 download

TRANSCRIPT

Guia de trabajo Interfaz Grfica de Usuario Matlab GUIDE

Indice temtico

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

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.

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

Check boxcheckbox Indica el estado de una opcin o atributo

Editable Textedit Caja para editar texto

Pop-up menpopupmenu Provee una lista de opciones

List Boxlistbox Muestra una lista deslizable

Push Buttonpushbutton Invoca un evento inmediatamente

Radio Buttonradio Indica una opcin que puede ser seleccionada

Toggle Buttontogglebutton Solo dos estados, on o off

Sliderslider Usado para representar un rango de valores

Static TexttextMuestra un string de texto en una caja

Panel buttonAgrupa botones como un grupo

|Button Group 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.

Propiedades de los elementosLos 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.

Estructura y funcionamiento de las aplicaciones GUI

Una aplicacin GUIDE consta de dos archivos: .m y .fig. El archivo .m es el quecontiene el cdigo con las correspondencias de los botones de control de la interfaz y elarchivo .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.

Funcionamiento de CallbacksEjemplo 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 .masociado a nuestro diseo y nos posiciona en la parte del programa que corresponde a lasubrutina que se ejecutar cuando se realice una determinada accin sobre el elementoque estamos editando.Por ejemplo, al ejecutar View Callbacks>>Callbacks en el Push Button, nosubicaremos 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);

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:

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);

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.

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

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.

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 functionque 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.

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 structureguidata(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)

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 callbacky 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.