Вы находитесь на странице: 1из 10

Departamento de Tecnologa Electrnica

Universidad de Mlaga

Introduccin al CVI (Clase 11 Dic 13)


(Un primer instrumento virtual mnimo)

Qu es el CVI? Un entorno de programacin " con diversos complementos para la creacin de instrumentos virtuales# especialmente la creacin de paneles virtuales$ Componentes principales del CVI

!ntorno de pro"ramacin C
!estin de entorno de tra%a&o '(or)space* + de pro+ectos ,erramienta de edicin de programas "# -ic.ero $.# / ,erramientas de depuracin '%reac)points# paso a paso# /* ,erramientas de programacin 'compilacin# %uild# /* 0i%reras clsicas '1nsi "# Utilit+# 2ormating and /I3#/* 0i%reras espec-icas '456232# !7I8# T"7# Internet# /* 0i%reras especiales para mane&o de paneles 'User Inter-ace* 7antalla interactiva para mane&o de li%reras

Instrumentacin Electrnica

2013/201

!raduado en Ingeniera Electrnica

Departamento de Tecnologa Electrnica

Universidad de Mlaga

!dicin # creacin de paneles virtuales (!spec$ico de CVI)


,erramienta de edicin de paneles + %arras de men9

%tros
Instrumentos '0i%reras para mane&o de instrumentos espec-icos 1ctive :# I;I# D1<m= tas)# /

Instrumentacin Electrnica

2013/201

!raduado en Ingeniera Electrnica

Departamento de Tecnologa Electrnica

Universidad de Mlaga

Creacin de un instrumento virtual


1$ Especi-icacin# creacin + dise>o del panel 2$ 7rograma " de aplicacin 'inclu+endo mane&o del panel* !speci$icacin& creacin ' dise(o del panel En el men9 de 2ile ?e@ User Inter-ace 'A$uir*

"on ello se crea un panel + se entra en el editor de paneles$ En el editor podremos crear ms paneles +/o incorporar elementos en el 'los* mismo's* 8sicamente podremos a>adir dos tipos de elementosB Indicadores 'Elementos para visualiCar valores 'Depsitos# diodos led# te=to# /* "ontroladores 'Elementos para introducir valores '7otencimetros# te=to# conmutadores# /*

De todos los elementos 'paneles# indicadores + controladores* se pueden editar sus propiedades con un do%le clic) en el mismo$ 0as propiedades de cada uno dependern del elemento 'elementos numDricos podrn con-igurarse en rango# tipo de varia%le 'dou%le# -loat# int# /*# valores por de-ecto# /# elementos %ooleanos no tienen tipo de varia%le 'son %oolean* ni rango# / 'slo on/o--*# /

Instrumentacin Electrnica

2013/201

!raduado en Ingeniera Electrnica

Departamento de Tecnologa Electrnica

Universidad de Mlaga

Todos tienen una propiedad 380I!1T34I1 E ?E"E514I1 Constant )ame Fue ser el nom%re Fue le identi-icar a la .ora de ser re-erenciado por las -unciones Fue se encargarn de actuar so%re el panel + sus elementos$

Una veC creado un panel + sus componentes + editadas las propiedades de cada elemento 'incluido el "onstant ?ame de T3D35* se guarda con su nom%re 'nom%re$uir* + se incorpora al pro+ecto '2ile 1dd -ic.ero$uir to 7ro&ect*

"uando guardamos un -ic.ero $uir automticamente se crea un -ic.ero de te=to del mismo nom%re + e=tensin $. 'nom%re$.*$ Este -ic.ero contiene una lista de Gde-ine para cada elemento del panel# incluido el propio panel# donde se de-ine cada identi-icacin del elemento asociado a un n9mero 'de 1 en adelante*$ 0a identi-icacin del elemento serB ?om%re de constante del panel H nom%re de constante del elemento 'E&emplosB 71?E01H1IU5TE# 71?E01H0ED# 71?E01H510I4# /*

Este -ic.ero DE8E4J I?"0UI45E 10 "3MIE?K3 del programa " para Fue las -unciones Fue mane&an el panel puedan re-erirse a los elementos del mismo$

Instrumentacin Electrnica

2013/201

!raduado en Ingeniera Electrnica

Departamento de Tecnologa Electrnica

Universidad de Mlaga

El -ic.ero $. ser de la -ormaB

Donde se o%serva Fue cada elemento del panel est asociado a un n9mero$ El -ic.ero $. no de%e editarse +a Fue se crea/modi-ica automticamente cada veC Fue se modi-iFue el $uir

7ara incorporar el -ic.ero$. al pro+ecto# como +a est creado# lo a%rimos + lo incorporamos al pro+ecto '2ile 2ic.ero$. to 7ro&ect*

!dicin del pro"rama C ?uevamente# 2ile ?e@ 5ource 'A$c*/

Entraremos en un editor de te=to tpico para edicin de programa " 'deteccin automtica de sentencias# declaraciones# / cam%io de colores# /*

Instrumentacin Electrnica

2013/201

!raduado en Ingeniera Electrnica

Departamento de Tecnologa Electrnica

Universidad de Mlaga

*i+reras ' ventana interactiva 1dems de escri%ir el programa " con las -unciones + estructuras clsicas '@.ile# -or# declaracin de varia%les# / * se puede recurrir a las li%reras Fue nos -acilitarn la construccin de las -unciones + sus parmetros a travDs de la ventana interactivaB 5eleccionando una -uncin de la li%rera

5e a%rir la ventana o pantalla interactiva de la misma

En esta pantalla interactiva podemos introducir los parmetros de la -uncin Fue se irn constru+endo en la lnea in-erior$ Una veC construida podemos incluso e&ecutarla individualmente para pro%arla$ 7ara ello se pueden declarar varia%les Fue tam%iDn se pueden insertar en el -ic.ero$c Fue se est editando$ "uando tengamos la -uncin deseada con sus parmetros podemos decirle Fue inclu+a esa lnea en donde .a+amos de&ado el curso en la pantalla de edicin de te=to desde la Fue a%rimos la li%reraB

Esto nos ser mu+ 9til a la .ora de construir las -unciones# recordar su sinta=is# sus parmetros# la posicin de estos/

Instrumentacin Electrnica

2013/201

!raduado en Ingeniera Electrnica

Departamento de Tecnologa Electrnica ,ccediendo al panel ' sus controles desde el pro"rama C

Universidad de Mlaga

7ara el mane&o + control de los paneles e=iste una li%rera espec-ica B User Inter$ace

Antes de entrar en el control de paneles procede hacer una aclaracin: El manejo de paneles (interfaz de usuario) puede hacerse de dos modos diferentes: Por acceso desde funciones del programa. (El programa controla todos los eventos y evolucin de las acciones a realizar.) Por Call ac! El primer modo ser" el #ue se utilizar" en este primer tutorial de manejo "sico de paneles. El modo Call ac! consiste$ "sicamente$ en #ue$ en el panel$ se puede asociar a cada elemento (tipo hot) una funcin especial propia del mismo. (% s&rvese$ en las propiedades de los elementos en el editor de uir$ de ajo del Constant 'ame se puede indicar el nom re de una funcin Call ac!. En nuestro caso no hemos puesto nada por#ue no vamos a usar este sistema de control). (i se opta por este modo$ el programa principal se reduce a cargar el panel$ visualizarlo y ejecutar una funcin especial denomidada )un*ser+nterface ()$ momento a partir del cual cedemos el control del programa a la misma. El funcionamiento general consistir" en #ue cada vez #ue un usuario provo#ue un evento actuando so re alg,n elemento hot$ se ejecutar" la funcin respectiva. (% viamente de en de e-istir la declaracin y definicin de las funciones respectivas). Estas funciones tienen tam i&n una declaracin especial. En el directorio .directorio del C/+ samples userint0 se puede encontrar un ejemplo "sico de este modo de funcionamiento. (call ac!.c1s)

Instrumentacin Electrnica

2013/201

!raduado en Ingeniera Electrnica

Departamento de Tecnologa Electrnica

Universidad de Mlaga

En este tutorial %sico utiliCaremos el modo control por programa$ E=isten inconta%les -unciones para el mane&o de los paneles# controles# pop6pups# / pero vamos a empeCar con el mnimo necesario$ Este mnimo consistir en los siguientes conceptosB A "argar un panel guardado '0oad7anel* 'aFuDl Fue previamente editamos + guardamos con el editor de uir$ TDngase en cuenta Fue podemos tener varios -ic.eros + paneles creados +# en un programa dado cargar aFuDl o aFuellos Fue nos interesen$ 0a carga del panel no tiene ms e-ecto Fue su apertura en el disco$ 5i al cargarlo se produce un error 'el -ic.ero llamado no est# tiene error# en Dl no e=iste el panel llamado# /* nos devolver un n9mero negativo correspondiente al error producido$ Es conveniente analiCar este valor devuelto porFue si es negativo no .a+ Fue seguir el programa +a Fue no .a+ panel cargado so%re el Fue actuar/ 5i la carga se produce sin error la -uncin nos devolver el identi-icador del panel cargado 'el n9mero correspondiente Fue vemos en -ic.ero$. Fue se cre*$ Este valor nos servir para re-erirnos al panel en las siguientes -unciones de acceso al mismo$ En nuestros e&emplos de clase esta varia%le ser LpanelM$ "uando +a no utilicemos un determinado panel# podemos recurrir a la -uncin complementaria de descargar el panel para li%erar recursos$ 'Discard7anel* A Visuali-ar un panel 'Displa+7anel*$ Esta -uncin s Fue tiene por e-ecto Fue# cuando la invoFuemos# se presentar en pantalla el panel correspondiente$ 1s mismo# el panel presentado ser operativo para el usuario 'el mismo podr interactuar con Dl*$ Tendremos tam%iDn una -uncin para ocultar paneles ',ide7anel* si en un momento dado Fueremos ocultarlo$ 5e pueden visualiCar/ocultar varios paneles simultneamente durante la e&ecucin del programa$ A *eer el valor de un control del panel '!et"trl;al*$ ?os permitir adFuirir el valor Fue tenga un elemento 'tipo control* del panel$ A !scri+ir un valor en un indicador del panel '5et"trl;al*$ ?os permitir darle valor a un elemento indicador del panel$ Este elemento visualiCar dic.o valor 'por e&emplo si es un led podremos apagarlo/encenderlo 'varia%le %ooleana# le pasaremos 1 o 0*# si es un depsito podremos esta%lecerle un valor Fue se mostrar en su nivel pasndole el valor deseado 'dentro de su rango + tipo '-loat# dou%le# /* A .odi$icar atri+utos de los elementos del panel '5et"trl1ttri%ute*$ "on este comando podremos cam%iar dinmicamente# durante la e&ecucin del programa# atri%utos de los controles 'propiedades como in.i%irlo/activarlo# colores# parpadeo# /* A 2inalmente# tendremos la -uncin !etUserEvent Fue nos permitir conocer si se /an producido eventos en el panel durante su e&ecucin 'Fue el usuario .a+a actuado so%re alg9n control .ot*$ Esta -uncin nos devolver el identi-icador del elemento so%re el Fue se .a actuado + el del panel correspondiente$ 7ara ello le pasaremos por re-erencia las direcciones de dos varia%les nuestras donde nos de&ar dic.os datos$ 'En nuestro e&emplo de clase son las varia%le id + .andler* ?otaB 0a ventana interactiva de las -unciones del inter-aC de usuario nos permitir acceder directamente a los
parmetros sin tener Fue recordarlos en un momento dado$ 7ara ello# al colocarnos en la casilla del parmetro Fue no recordamos# si le damos al Lcarr+ returnM en %lanco# nos saldr un desplega%le con las opciones$

Instrumentacin Electrnica

2013/201

!raduado en Ingeniera Electrnica

Departamento de Tecnologa Electrnica !0emplo +1sico

Universidad de Mlaga

El siguiente es un e&emplo mu+ %sico pero Fue contempla las principales -unciones mencionadasB "rearemos un instrumento Fue consistir en un control 'potencimetro 'dial** + en un depsito en el Fue visualiCaremos el valor Fue el usuario -i&e so%re el potencimetro$ 2asos "rear un @or)space nuevo En Dl# crear un pro+ecto nuevo 'o renom%rar el Fue aparece por de-ecto 'untitled* "rear un -ic.ero nuevo $uir donde incorporaremos un control 'dial*# un indicador 'depsito* + un %otn de comando para salir$ "on-igurar todos los elementos creados sin olvidar darle a cada uno su constant name$ 'se conviene utiliCar ma+9sculas# aunFue no es o%ligatorio# pero no olvidemos Fue son etiFuetas# no constantes*$ Una veC creado# darle nom%re# guardarlo e incorporarlo al pro+ecto$ 1l guardarlo se .a creado automticamente el -ic.ero $. respectivo$ Incorporar el -ic.ero $. al pro+ecto e incluirlo en la ca%ecera del -ic.ero $c principal$ "rear el -ic.ero $c principal Fue se encargar del control del panel$ En nuestro caso este control consistir en cargar el panel# visualiCarlo + entrar en un %ucle donde leeremos el dial + pasaremos su valor directamente al depsito$ El programa saldr del %ucle + -inaliCar cuando pulsemos el %otn de salida$ Darle nom%re al -ic.ero $c e incorporarlo al pro+ecto$ E&ecutarlo$ 7anel e&emploB

2ic.ero $. creado automticamente al guardar el panel $uir

Instrumentacin Electrnica

2013/201

!raduado en Ingeniera Electrnica

Departamento de Tecnologa Electrnica 2ic.ero $c de control

Universidad de Mlaga

"on este primer pro+ecto .a%remos utiliCado las -unciones mnimas para crear# depurar + e&ecutar un instrumento virtual %sico$

'El contenido de este tutorial es el correspondiente a la clase del 11 de diciem%re + servir de %ase para sucesivas clases$ En la pr=ima sesin de grupo reducido se realiCar una prctica relacionada$*

Instrumentacin Electrnica

2013/201

!raduado en Ingeniera Electrnica

Вам также может понравиться