Académique Documents
Professionnel Documents
Culture Documents
LabVIEW (Laboratory Virtual Instrument Engineering Workbench), de National Instruments, es un sistema de programacin gr ico dise!ado para el desarrollo de distintas aplicaciones como el anlisis de datos, la ad"uisicin de datos y el control de instrumentos #$%& La 'ersin de LabVIEW utili(ada para este proyecto es la )&*& +l ser LabVIEW un lengua,e de programacin gr ico y basado en un sistema de 'entanas, muchas 'eces es ms sencillo de utili(ar "ue otros lengua,es ms t-picos& .ucha gente "ue habitualmente no intentar-a dise!ar una aplicacin puede conseguirlo con LabVIEW Este tipo de lengua,e se desarroll a partir de la aparicin de la inst !"#nta$i%n &i t!a', es decir , con el uso de los ordenadores para reali(ar medidas (temperatura, presin, caudal, etc), apro'echando las caracter-sticas de /stos 0ltimos (potencia de clculo, producti'idad, capacidad de 'isuali(acin gr ica y capacidad de cone1in con otros dispositi'os), para optimi(ar los resultados En de initi'a, se puede concluir diciendo "ue con un ordenador personal, un hard2are adecuado (placas de ad"uisicin de datos), unos 3dri'ers4 y un so t2are como LabVIEW, se pueden obtener datos muy pro'echosos y me,ores "ue si se utili(an instrumentos tradicionales tales como osciloscopios, generadores de se!al, anali(adores de espectros, anali(adores 'ectoriales, etc&
+56*
3.1.- V !"a.a' / ('a$ Lab,& 0 7eguidamente se 'an a describir las 'enta,as de usar este tipo de lengua,e de programacin8 6 La primera 'enta,a de usar LabVIEW es "ue es compatible con herramientas de desarrollo similares y puede traba,ara la 'e( con programas de otra rea de aplicacin, como .atlab o E1cel& +dems se puede utili(ar en muchos sistemas operati'os, incluyendo Windo2s y 9NI:, siendo el cdigo transportable de uno a otro& 6 ;tra de las 'enta,as ms importantes "ue tiene este lengua,e de programacin es "ue permite una cil integracin con hard2are, espec- icamente con tar,etas de medicin, ad"uisicin y procesamiento de datos (incluyendo ad"uisicin de imgenes)&
6 Es muy simple de mane,ar, debido a "ue est basado en un nue'o sistema de programacin gr ica, llamado '#n(!a)# *& 6 Es un programa en ocado hacia la instrumentacin 'irtual, por lo "ue cuenta con numerosas herramientas de presentacin, en gr icas, botones, indicadores y controles, los cuales son muy es"uemticos y 'erstiles& Estos ser-an complicados de reali(ar en bases como <== donde el tiempo para lograr el mismo e ecto ser-a muchas 'eces mayor& 6Es un programa "ue contiene librer-as especiali(adas para mane,os de >+? (tar,etas de ad"uisicin de datos), @edes, <omunicaciones, +nlisis Estad-stico, <omunicacin con Aases de >atos (0til para una automati(acin de una empresa a ni'el total)& 6 <omo se programa creando subrutinas en mdulos de blo"ues, se pueden usar otros blo"ues creados anteriormente como aplicaciones por otras personas&
+56B
+ continuacin se representa una tabla "ue describe otro tipo de 'enta,as del instrumento 'irtual rente al instrumento tradicional8
3.1.3 A1l&*a*&#! ' / LabVIEW Lab'ie2 tiene su mayor aplicacin en sistemas de medicin, como monitoreo de procesos (como en el caso de este proyecto, ya "ue se representan las cur'as de luide( y 'iscosidad de di'ersos luidos) y para aplicaciones de control& +dems, LabVIEW se utili(a bastante en el procesamiento digital de se!ales, en el procesamiento en tiempo real de aplicaciones biom/dicas, manipulacin de imgenes y audio, automati(acin, dise!o de iltros digitales, generacin de se!ales, entre otras, etc&
+565
<on la llegada del so t2are de programacin gr ica LabVIEW de National Instruments el proceso de reali(acin de un programa se ha acilitado en gran medida al minimi(arse el tiempo (costes) de desarrollo de las aplicaciones& La orma de programar en LabVIEW es muy distinta a otros lengua,es de programacin "ue se basan en te1to, como < , VI79+L A+7I< o C;@D@+N& La principal di erencia con respecto a los anteriores lengua,es de programacin es "ue LabVIEW utili(a los s-mbolos gr icos, denominados iconos, para representar el programa de acciones& Los programas de LabVIEW se denominan VI VIEs (Visual Instruments), instrumentos 'irtuales (programas), debido a "ue su aspecto y operacin reproducen a instrumentos tradicionales #F%como osciloscopios, generadores de se!ales, anali(adores, etc (Cigura *)&
Cigura *8 e,emplo de instrumento tradicional (osciloscopio)& 9n instrumento 'irtual (programa) se de ine como un mdulo de so t2are "ue simula el panel rontal del instrumento, y ayudndose en elementos hard2are accesibles por un ordenador (tar,etas de ad"uisicin de datos, como es en el caso de este proyecto,
+56G
instrumentos accesibles '-a HIIA, Heneral Iurpose Inter ace Aus, puerto serie, etc) , reali(a una serie de medidas "ue e"ui'alen a las "ue se obtendr-an en un instrumento real& >e este modo, cuando se e,ecuta un programa "ue act0a como un instrumento 'irtual o 3VI4, el usuario o usuaria 'e en la del ordenador personal un panel cuya uncin es id/ntica a la de un instrumento -sico, acilitando as- la 'isuali(acin y el control del aparato& 9n programa creado en LabVIEW consta de dos partes#$%8
E' +an#' , -nta' (Cigura Ba) E' .ia( a"a .# b'-/!#s (Cigura Bb)&
En el panel rontal, el cual simula el panel rontal de un instrumento -sico, se dise!a la inter a( con el usuario y contiene los elementos "ue 'an a caracteri(ar el programa& En /l se 'en los datos y all- se controlan y se manipulan& En cambio, en el diagrama de blo"ues se aprecia la estructura del programa, su uncin y algoritmo, de orma gr ica en lengua,e H, en el cual los datos 3 luyen4 a tra'/s de l-neas&
+56)
I+LED+7 >E D@+A+J; Danto en el panel rontal como en el diagrama de blo"ues, e1iste una paleta de herramientas, "ue sir'e tanto para editar el programa, o e,ecutarlo seg0n el modo de traba,o "ue se tenga& En el panel de control e1iste la +a'#ta .# $-nt -'#s 3<ontrols Ialettte4( igura 5), "ue contiene indicadores pudi/ndolos 'isuali(ar como tablas, gr icos en B> o 5>, etc , y controles "ue pueden ser booleanos, num/ricos, strings, un arreglo matricial de /stos o una combinacin de los anteriores &
Cigura 58 Ialeta de controles e indicadores& En el diagrama de blo"ues hay tres paletas di erentes8 primero se tiene la +a'#ta .# ,!n$i-n#s 3Cunctions Ialette4 ( igura G), la cual contiene todas las unciones "ue se 'an a utili(ar en la programacin (se describirn algunas ms delante)&
+56K
Cigura G & Ialeta de unciones en el diagrama de blo"ues& Las unciones constan de entradas y salidas e igual "ue en un lengua,e de programacin estndar, procesan las entradas y entregan una o 'arias salidas& LabVIEW tiene programas de ad"uisicin de datos e imgenes, de comunicaciones, de procesamiento digital de se!ales, de unciones matemticas simples, hasta unciones "ue utili(an otros programas como .atlab o E1cel& +dems, para resol'er problemas ms comple,os, e1isten otro tipo de unciones llamados Lnodos de rmulaL "ue se utili(an para la resolucin de ecuaciones, editando directamente, como si se tratara de lengua,e de programacin tradicional, de iniendo las entradas y las salidas& ;tra paleta, llamada +a'#ta .# 0# a"i#ntas 3Dools Ialette4( igura )), contiene una serie de elementos "ue ayudan a la con eccin del diagrama de blo"ues (cone1iones de los blo"ues mediante $ab'#a.-, a!adir te1to para una me,or comprensin de cada parte del programa, e1amen de resultados, entre otros)& El cableado es muy importante "ue se realice correctamente ya "ue debe estar todo conectado para "ue no d/ errores al compilar el programa&
+56M
Ior 0ltimo e1iste la +a'#ta #n "-.- .# #)#$!$i%n (Cigura K), "ue contiene 'arios botones principales8 (los dems casi no se utili(an)
.odo sucesi'o
Nighlight
E,ecucin
7top
Iausa
6<on el botn 3E,ecucin4 se e,ecuta una 'e( el programa& <uando est e,ecutando, se cambia a rayado y aparece un botn de 37top4 con el cual se puede detener el programa& Normalmente no se para el programa con este botn, sino "ue se crea un botn de paro booleano& 7i lecha de e,ecucin aparece rota indica "ue hay un error en el programa& +l hacer clic con el ratn se muestra una lista de errores, y al hacer click en cada uno de los errores se mostrar dnde se encuentra dicho error&
+56$
4 3.odo sucesi'o4 hace "ue el programa e,ecute el programa inde inidamente hasta "ue se presione el botn de stop& 4 El botn 3Iausa4 detiene momentneamente la e,ecucin del programa hasta "ue se 'uel'e a presionar el mismo& 4 +l presionar 3Nighlight4 muestra como luyen los datos y cmo son esos datos a tra'/s del cableado del programa& +dems, el programa se e,ecuta de orma lenta para tener una me,or resolucin&
CL9J; >E >+D;7 Nay "ue tener en cuenta "ue cuando se reali(a una cone1in en un programa, para "ue e1ista concordancia con el lu,o de datos, esta cone1in se identi ica por un tipo de dato especi ico "ue debe coincidir con el tipo de dato de la entrada del programa& Esto no es necesariamente cierto ya "ue puede haber 'arios tipos de datos conectados, como por e,emplo un con,untos de 'ariables distintas, denominado 3<luster4 (Cigura M)&
Cigura M8 >ato tipo 3<luster4& Iuede contener 'ariables 7D@INH, INDEHE@, etc
+56F
E' ,'!)- .# .at-s &a .# i1/!i# .a a .# #$0a en el diagrama de blo"ues y esta determinado por las operaciones o unciones "ue procesan los datos& 7e puede obser'ar en dicho diagrama cmo se calculan los datos en cada parte del programa cuando se reali(a una e,ecucin de /ste paso a paso& +dems se 'e "ue la e,ecucin del programa es secuencial, es decir, !na ta #a n- s# ini$ia 0asta n- t#n# #n t-.-s s!s &a iab'#s .# #nt a.a in,- "a$i%n - /!# 'as ta #as /!# '# + #$#.#n 0a2an t# "ina.- .# #)#$!ta s# (Cigura $)&
Cigura $8 e,ecucin secuencial del programa de la igura B a y Bb& En un programa, las 'ariables se representan mediante una igura tanto en el panel rontal como en el diagrama de blo"ues ('er igura anterior)& >e esta manera, se puede obser'ar su respuesta en el inter a( del usuario y en el lu,o de datos del cdigo del programa&
3.1.5 T&1#' / /a"#' % '"$(*"($a' ! LabVIEW *) DII;7 >E >+D;7 +l elegir los controladores e indicadores en LabVIEW se les asigna automticamente una clase de datos& 7e presentan dos tipos de datos, los n#st !$t! a.-s (no di'isibles en componentes) y los #st !$t! a.-s (di'isibles en componentes)& <ada dato en el panel de control tiene su dibu,o en el diagrama de blo"ues& a) >atos no estructurados o escalares8
+56*O
Este tipo de dato se caracteri(an por"ue no se pueden di'idir en otros componentes ms pe"ue!os& Estos tipos, denominados estndar, no necesitan de inirse en el programa, ya "ue se asume "ue son conocidos , en incluyen los 'alores lgicos (A;;LE+N) , los n0meros enteros (INDEHE@), los n0meros reales (@E+L) y los con,untos de caracteres (<N+@)& 9n e,emplo de /stos se puede obser'ar en la igura F8
Cigura F8 E,emplo de dato no estructurado, en este caso, @eal b) >atos estructurados8 9n dato estructurado se de ine como el con,unto de 'ariables reunidas ba,o un 0nico nombre en com0n& Estas estructuras de datos se construyen a partir de los tipos de datos elementales ya 'istos en el apartado anterior& Los datos estructurados en LabVIEW son los siguientes8 matrices (+@@+P7), <L97DE@7, controles e indicadores 7D@INH, y icheros de END@+>+Q 7+LI>+& b&*) +@@+P7 9n 3+rray4 es una coleccin de datos, todos ellos del mismo tipo, pudiendo tener una o ms dimensiones& +dems e1isten una serie de unciones (construccin de un array, creacin de un subarray de un array, reempla(ar una parte de un array, entre otras), con las "ue se pueden manipular estos arrays (Ciguras *O a y b)&
+56**
b&B) <L97DE@7 9n 3<luster4 es una coleccin ordenada de uno o ms elementos& + di erencia de los 3+rrays4, un 3<luster4 puede contener cual"uier combinacin de tipo de datos& Iara acceder al cluster es necesario aplicar una serie de unciones espec- icas de /stos "ue descomponen o unen los datos (Cigura ** a y b)&
Este tipo son controles e indicadores de cadenas de caracteres +7<II& 7e puede acceder a ellos mediante la paleta de controles e indicadores, y como los anteriores, poseen di'ersas unciones para cambiarlos ('er igura *B a y b)&
+56*B
b&G) CI<NE@;7 >E END@+>+Q7+LI>+ Los icheros de Ent a.a3Sa'i.a permiten el almacenamiento y la recuperacin de in ormacin a y desde un disco& En la paleta de unciones de LabVIEW e1isten una gran 'ariedad de unciones (suprogramas) para tratar las di erentes operaciones con icheros, los cuales son8 almacenamiento de datos en un archi'o nue'o, almacenamiento en un archi'o ya e1istente, recuperacin de datos desde un archi'o y almacenamiento de resultados (Cigura *5)&
Cigura *58 E,emplos de subprogramas de ichero END@+>+ Q7+LI>+ en el diagrama de blo"ues de LabVIEW
B) DII; >E E7D@9<D9@+7 EN L+AVIEW E1isten dos tipos de programacin en LabVIEW8 la programacin estructurada y la programacin modular& a) Irogramacin Estructurada8 La programacin estructurada se basa en el uso de cuatro con,untos de estructuras8
+56*5
a&*) E7D@9<D9@+ 7E<9EN<I+L La estructura S#$!#n$ia' se compone de una serie de acciones elementales "ue se e,ecutan en el orden "ue se han descrito& 7e ilustra como diapositi'as o negati'os de una pel-cula, e,ecutndose los diagramas de blo"ues de orma secuencial En LabVIEW este tipo de estructura se denomina 37E?9EN<E4, y est ormada por una serie de "a $-s o , a"#s "ue se e,ecutan seg0n el orden de aparicin ('er igura *G)& Nay "ue tener en cuenta "ue en LabVIEW esta estructura se e,ecutar cuando se disponga de todos los datos de entrada&
Cigura *G& E,emplo de estructura secuencial 37E?9EN<E4 a&B) E7D@9<D9@+ <;N>I<I;N+L La estructura C-n.i$i-na' se emplea cuando dos o ms acciones alternati'as dependen de una condicin (se denomina 3<+7E4 en LabVIEW, 'er igura *))& El t/rmino de entrada "ue 'a a determinar "u/ condicin se cumple estar unido al selector indicado con una interrogante #R% ('er caracter-stico de esta estructura es "ue est igura *))&Lo ms ormada por m0ltiples
subdiagramas, de los "ue slo es 'isible uno a la 'e( , identi icndose por un 'alor en su parte superior&
+56*G
7elector
Los subdiagramas se e,ecutarn seg0n "u/ 'alor tome el identi icador dentro de los 3n4 posibles & +dems dentro de estos subdiagramas se pueden crear 3t0neles4 para sacar o introducir datos & a&5) E7D@9<D9@+ IDE@+DIV+ La estructura It# ati&a - R#+#titi&a es otro tipo de programacin "ue puede aparecer, la cual se compone de acciones "ue implican una repeticin sistemtica de un proceso& E1isten dos tipos de estructuras iterati'as en LabVIEW di erentes entre s-, la estructura 3WNILE L;;I4 y la estructura 3C;@ L;;I4#*O%8 en una estructura 3WNILE L;;I4 la accin se repite mientras "ue la condicin de entrada a la estructura sea cierta& 7i es alsa nunca se e,ecutar& En cambio, para una estructura 3C;@ L;;I4, la accin se repite tantas 'eces como indi"ue una 'ariable "ue act0a de contador ('er Ciguras *K y *M)&
+56*)
a&G) E7D@9<D9@+ C;@.9L+ N;>E Esta estructura posee caracter-sticas similares a las estructuras 'istas anteriormente, pero "ue, en lugar de contener subdiagramas, posee una o ms rmulas separadas por punto y coma& 7e utili(ar sobre todo el C;@.9L+ N;>E cuando se "uiera e,ecutar rmulas matemticas "ue ser-an complicadas de reali(ar mediante las herramientas matemticas incluidas en LabVIEW (Cigura *$)&
b)Irogramacin .odular8
La programacin modular se basa en di'idir el programa en partes "ue tengan una personalidad propia, es decir, en di'idir el programa en LabVIEW en 'arios subprogramas "ue ahorren tiempo y es uer(o a la hora de reali(ar y e,ecutar el programa& Los subprogramas tienen las mismas propiedades "ue un programa y se utili(an mediante la creacin de iconos y conectores "ue acilitan la lectura y la interpretacin del instrumento 'irtual global& En el proyecto se utili(ar una me(cla de ambas programaciones, tanto modular como estructurada&
+56*K
3.-.1 PRO6RAMA CURVAS78LU El programa consta de dos 'entanas, el panel de control y el diagrama de blo"ues& El panel de control es el 3panel 'irtual4 "ue se ocupa del control del programa, mientras "ue el diagrama de blo"ues contiene toda la programacin& PANEL DE CONTROL >E7<@II<ITN HENE@+L (Cigura *)8
+56*M
Cigura *& Ianel de control del programa 3<9@V+7SCL94 (ensayo para el ketchup)& <omo se puede 'er en la igura *, en el panel de control de 3<9@V+7SCL94, insertando un cierto tiempo de medida, unos puntos determinados para representar las cur'as, el n0mero de canales "ue se usan de la tar,eta de ad"uisicin#M% y el rango de 'elocidad utili(ado, se obtienen inalmente las cur'as de luide( y 'iscosidad&
<;ND@;LE7 E IN>I<+>;@E78 Este panel de control contiene cinco controladores y dos indicadores, cada uno de ellos con su correspondiente s-mbolo en el diagrama de blo"ues (a la hora de crear el programa, la inclusin de controles e indicadores en el panel es lo primero "ue se hace)8 6 <ontrolador 3Diempo48 se utili(a para poner el tiempo en segundos "ue se "uiere "ue dure el ensayo& 6 <ontrolador 3N0mero de puntos48 con este controlador se a!ade la cantidad de puntos con "ue se representarn cada una de las gr icas&
+56*$
<ontrolador 3.emoria interna48 se utili(a para se!alar el tama!o del bu er de puntos (con un m1imo de BOO puntos) "ue 'a a guardar los resultados para representar con ellos las cur'as a tiempo real&
<ontrolador 3@ango de Velocidad de >e ormacin48 con este interruptor se decide a "u/ 'elocidad se "uiere "ue traba,e el 'iscos-metro (ba,a, media o alta)& <uanto ms 'iscoso sea el luido menor 'elocidad de de ormacin se aplicar ya "ue si no se saldr de rango y no se podr representar gr icamente& Iuede ser a 'elocidades ba,as (para 'iscosidades aparentes altas, de *OOOO mIaUs a *OOOOO mIaUs), a 'elocidades medias (para 'iscosidades de KOO mIaUs a *OOOO mIaUs) y a 'elocidades altas (para 'iscosidades aparentes ba,as, hasta KOO mIaUs)& Estos rangos se han obtenido a partir de los distintos ensayos& +dems, hay "ue tener en cuenta "ue este selector se debe poner igual "ue el del 'iscos-metro&
<ontrolador 3<on iguracin del canal48 es un 3<luster4 (agrupacin de datos de distinto tipo) donde se introducen el n0mero de canales de la tar,eta de ad"uisicin, "ue se 'an a utili(ar para ad"uirir las se!ales de es uer(o cortante y 'elocidad de de ormacin pro'enientes del 'iscos-metro, y el n0mero del canal por el "ue se empie(a a ad"uirir los datos&
Indicador 3Hr ica de es uer(o cortante 's& Velocidad de de ormacin48 representar la cur'a de luide( del luido, utili(ando un indicador 3:P Hraph4 similar al caso anterior&
Indicador 3Hr ica de 'iscosidad 's& 'elocidad de de ormacin48es una gr ica "ue representar la cur'a de 'iscosidad de un luidos (los resultados obtenidos al e,ecutar el programa)& LabVIEW posee indicadores "ue presentan gr icas de los datos obtenidos en el programa& Estos se encuentran en el submen0 3Hraph4 en el men0 de controles& Iara cada uno se pueden con igurar muchos parmetros como escala de la gr ica, autoescala, color de
+56*F
las l-neas, n0mero de l-neas en una gr ica, presentacin de letreros, paletas de control, indicadores, etc& En este caso necesitamos un indicador 3 XY * a+0#**%8 /ste es una gr ica en donde los datos entran por pares ordenados en una matri( bidimensional, o una matri( de clusters de dos datos cada uno (:, P)& El resultado "ue se obtiene es una secuencia de puntos&
DIA6RAMA DE 9LOQUES:
>E7<@II<ITN HENE@+L El diagrama de blo"ues se considera el cora(n del programa ya "ue contiene todas las unciones, subprogramas (Cigura B)& y cone1iones (mediante 3cableado o cables de trasmisin4) "ue se re"uieren para el correcto uncionamiento de toda la secuencia
+56BO
El diagrama de blo"ues se puede obser'ar "ue e1iste un programa general (<9@V+7SCL9), y tres subprogramas (subprograma 3*4, subprograma G4 y el subprograma 3:P <hart Au er&'i4) "ue lo complementan y "ue sern e1plicados con orme se detalle el programa& IN8ORME DETALLADO DEL PRO6RAMA CURVAS78LU El programa 3<9@V+7SCL94 se 'a a di'idir, para una e1plicacin ms clara, en $!at - blo"ues8 >ise!o del selector de 'elocidades de de ormacin& >ise!o del subprograma 3*4& Aucle 3C;@4, en el "ue se incluyen8 o ;btencin de resultados mediante la tar,eta de ad"uisicin& o 7ubprograma3G4& o 3Au er :P4& o <oncatenacin de resultados en una matri( +lmacenamiento de resultados en archi'o tipo &D:D&
&: DISE;O DEL SELECTOR DE VELOCIDADES DE DE8ORMACIN La primera estructura "ue se crea a la hora de dise!ar el programa es el selector ('er igura en panel de control), el cual nos 'a a decir con "u/ 'elocidad de de ormacin se "uiere traba,ar para obtener las di'ersas cur'as, lle'ando el resultado al bucle 3C;@4& Iara su dise!o se ha utili(ado una estructura 3<+7E4 (Cigura 5), ormada por tres casos, 3O, * y B4& Iara e,ecutar uno de los tres se ayuda del 'alor de la 'ariable 395B4&
+l bucle C;@
+56B*
La 'ariable 395B4 representa, en lengua,e LabVIEW, un 'alor entero, sin signo y con una memoria m1ima de almacenamiento de d-gitos de 5B bits& En el panel de control representan los n0meros 3*, *O y *OO4 "ue se obser'an en el selector ('er igura)& Lo "ue hace la estructura 3<+7E4 es e,ecutar a"uel caso de los tres "ue hay (+LD;, .E>I; o A+J;) "ue se a,uste a lo "ue diga la 'ariable 395B4& Es decir, si esta 'ariable 'ale 3*4, el 3<+7E4 "ue se e,ecutar ser el de 'alor .E>I; y el 'alor "ue sale de la estructura ser 3*&O4 (un n0mero entero siempre), el cual se utili(ar ms adelante en el bucle 3C;@4&
&&: DISE;O DEL SU9PRO6RAMA 1 El diagrama de blo"ues (Cigura G) siguiente representa la estructura interna del subprograma 3*4 (tambi/n llamado en otros lengua,es subrutina) 8
+56BB
+l bucle C;@
Cigura G8 diagrama de blo"ues del subprograma 3*L& Este subprograma calcula el per-odo de muestreo de los puntos "ue se 'an a representar en ambas cur'as ( luide( y de 'iscosidad)&Los resultados se ontienen en milisegundos (ms)& +dems tambi/n se tiene como 'ariable de salida el 3N0mero de puntos4, la cual se usar dentro del bucle 3C;@4& Las 'ariables de entrada son el 3Diempo4 en segundos y el 3N0mero de puntos4& Estos dos datos de entrada son controladores del programa, como el selector de 'elocidades anterior, luego, se deben introducir antes de iniciarse la e,ecucin del programa& Las unidades de la 'ariable 3Diempo4 deben ser segundos, mientras "ue 3N0mero de puntos4 no tiene unidades& Estas 'ariables son de tipo entero con signo y con una memoria de almacenamiento de *K bits, menor "ue en el caso de 395B4( en LabVIEW se denominan 3I*K4)& El modo de operacin es el siguiente8 se introducen por pantalla un tiempo en segundos y un n0mero de puntos & Este tiempo se multiplica por *OOO para obtener milisegundos, y se a!aden 5OOO ms para dar un tiempo de paso inicial ya "ue al e,ecutar el programa y el 'iscos-metro siempre hay un cierto error al no conectarlos a la 'e( (se hace manualmente)& 7i se di'ide este tiempo por el n0mero de puntos totales se obtiene
+56B5
el per-odo de muestreo (en ms)& Este tiempo representa los milisegundos "ue deben pasar entre la toma de un punto y otro&
N0mero de puntos
&&&: DISE;O DEL 9UCLE 8OR <omo se ha dicho antes, el bucle 3C;@4 se puede di'idir en cuatro blo"ues8 La obtencin de resultados mediante la tar,eta de ad"uisicin& El subprograma 3*4& El 3:P chart bu er4& La concatenacin de resultados en una matri(& El bucle 3C;@4 es la parte ms importante del programa ya "ue en /l se ad"uieren los datos del 'iscos-metro a partir de la tar,eta de ad"uisicin y se gra ican inalmente, reali(ando un arti icio matemtico anteriormente y ayudndose de un bu er de datos& +dems los resultados se guardan en una matri( para ser mandados posteriormente a un archi'o de te1to& +"u- se debe obser'ar tambi/n "ue dentro del bucle 3C;@4 las unciones y los subprogramas se 'an a repetir tantas 'eces como n0mero de puntos se hayan seleccionado por pantalla&
+56BG
En la siguiente igura se pueden obser'ar las cuatro unciones con las "ue se programa la tar,eta& 7e pueden llamar tambi/n subprogramas ya "ue act0an como si uesen subrutinas dentro del programa general&
+l subprograma 3G4
Cigura )8 Iarte del programa 3<9@V+7SCL94 con las unciones de la tar,eta& 6 La + i"# a ,!n$i%n o subprograma de la tar,eta se denomina 3>e'ice ;pen&'i4 (Cigura K)&
Cigura K8 Icono de representacin de la uncin 3>e'ice;pen&'i4 Esta uncin abre el puerto especi icado por un n0mero, para la entrada de datos a la tar,eta, los cuales 'ienen del 'iscos-metro, mediante el cable de cone1in& El n0mero * (llamado 3>e'Num4) debe ser introducido a la hora de con igurar por primera 'e( los 3dri'ers4 de la tar,eta de ad"uisicin de datos I<L6M**A de +d'antech& Los cables de salida se deben cablear
+56B)
siempre a las siguientes unciones de la tar,eta, para "ue no se produ(ca error al compilar& 6 La s#(!n.a ,!n$i%n "ue se utili(a es 3.+I<on ig&'i4 (Cigura M)&
Cigura M8 Icono de la uncin 3.+I<on ig&'i4 3.+I<on ig&'i4 con igura los datos de entrada para canales analgicos especi icados& En la entrada 3.+I<on ig&'i4 hay "ue crear un cluster de datos con la misma orma "ue tiene <;NCIH9@+<ITN >E <+N+L, con el n0mero de canales y su ganancia, cero en este caso ('er igura B)& En este caso, se deben con igurar para dos canales ya "ue se "uiere obtener los datos de es uer(o cortante y de 'elocidad de de ormacin los cuales pro'ienen del 'iscos-metro& +dems, los cables de entrada se deben unir a los de salida del 3>e'ice;pen&'i4 para "ue no se produ(can errores posteriores& 6 La t# $# a ,!n$i%n se llama 3.+IVoltageIn&'i4 (Cigura $)8
Cigura $8 Icono de la uncin 3.+I'oltageIn&'i4 Este subprograma es el ms importante de todos los "ue estn relacionados con la tar,eta& @ecibe como entrada la con iguracin de los rangos de entrada de los canales (a tra'/s del 3.+IVoltageIn&'i4), es decir, lee las entradas analgicas de los dos canales y de'uel'e como salida el resultado en 'oltios& >icho resultado en 'oltios se acumula en una matri( llamada 3VoltageList4 , la cual posee una columna y dos ilas para almacenar dos 'alores de 'olta,e&
+56BK
Estos 'alores se lle'an inalmente al subprograma 3G4& Los cables de salida 3>e'Nandle4 y 3error out4 se deben alambrar a la siguiente uncin& Nay "ue tener en cuenta "ue esta uncin 'a incluida en el bucle 3C;@4, luego su accin se repetir tantas 'eces como indi"ue el n0mero de puntos 3N4& 6La $!a ta ,!n$i%n "ue aparece relacionada con la tar,eta es
3>e'ice<lose&'i4(Cigura F)8
Esta 0ltima uncin 'a a cerrar el puerto especi icado, es decir, la tar,eta de ad"uisicin, colocndose uera del bucle 3C;@4 ya "ue si no se cerrar-a antes de lo esperado&
B) 79AI@;H@+.+ 3G4 <on este subprograma (Cigura *O) se 'an a separar los 'alores "ue se obtienen en 3.+IVoltageIn&'i4 y, reali(ando una serie de operaciones, se 'an a obtener los resultados buscados8 es uer(o cortante, 'elocidad de de ormacin y 'iscosidad, /sta 0ltima en uncin de los dos anteriores& Cinalmente se lle'arn a unas gr icas para representarlos y a una matri( para reagruparlos otra 'e(&
Viene de .+IVolta,eIn
+56BM
+ bu er
+ una matri(
El subprograma unciona de la siguiente manera8 las 'ariables de entrada son el resultado "ue da la estructura 3<+7E4 (un n0mero real) y la matri( de dos elementos
+56B$
Cigura **8 Cuncin 3Inde1 +rray4 + la uncin entra una matri( de orden B y sale el elemento "ue indi"ue el 'alor del 3inde14& El primer elemento de la matri( ocupa el puesto cero, mientras "ue el segundo ocupa el puesto uno y as- sucesi'amente si la matri( tu'iera ms elementos& Esta uncin se utili(a dos 'eces, dando lo siguiente8 el es uer(o cortante en la posicin 3O4 y la 'elocidad de de ormacin en la posicin 3*4 (salen as- ordenados debido a las entradas de la cla'i,a procedentes del 'iscos-metro)& + continuacin se debe reali(ar un cambio de 'ariable con cada resultado debido a "ue la tar,eta de ad"uisicin opera entre X)V y = ) V, mientras "ue el 'iscos-metro operan en un rango de OV a *OV& 7e obtiene i y >i (es uer(o cortante y 'elocidad de de ormacin respecti'amente)8 i V elemento en orden O de la matri(W(6*)=) >i V elemento en orden * de la matri(W(6*)=) El actor "ue multiplica a cada resultados debe ser tenido en cuenta tambi/n8 para el #s,!# 1- $- tant# hay "ue multiplicar su 'alor por 3466 (sus unidades son en Iascales), ya "ue es la constante "ue nos da el resultado en sus unidades reales (con el 'iscos-metro se mide el Y de es uer(o cortante, "ue debe ser multiplicado por dicha constante para dar el es uer(o )& En cambio, para la &#'-$i.a. .# .#,- "a$i%n, el 'alor por el "ue se debe multiplicar (O&*, *, o *O) depende de si se ha seleccionado por pantalla un rango de 'elocidades ba,o, medio o alto& +dems, se debe multiplicar el
+56BF
'alor del es uer(o cortante por *OOO para "ue nos d/ el resultado en milipascales, "ue es la unidad ms utili(ada en reolog-a& Cinalmente, se obtienen los puntos ( y >),los cuales se representarn ms adelante en las correspondientes gr icas8 ('alores enteros) V iW5&BBW*OOO en mIa >V >iW 'alor del <+7E en s6* +hora, se di'ide el 'alor del es uer(o cortante rente a la 'elocidad de de ormacin para obtener el 'alor de la 'iscosidad aparente ( ) como resultado adicional (en milipascales por segundo)8
V Q > (mIaUs) + continuacin, los datos se unen dos a dos con una uncin llamada 3Aundle4 (Cigura *B) de la siguiente orma8 34 y 3>4 por un lado, y 34 y 3>4 por otro&
Cigura *B8 Cuncin Aundle 9na uncin tipo 3Aundle4 agrupa los dos elementos "ue entran en ella en un cluster de dos componentes& Este cluster es una agrupacin de datos, de di erente tipo, como ya se hab-a mencionado, en donde todos los cables se ,untan en uno solo para acilitar el cableado en el diagrama de blo"ues& Cinalmente, los tres datos "ue se han obtenido antes se lle'an a una matri( para agruparlos, pero esto ocurre ya uera del subprograma 3G4&
+565O
5) 3:P <N+@D A9CCE@4 El subprograma 3:P <hart Au er4 (Cigura *G a y b) sir'e para almacenar datos "ue pro'ienen del 3<luster4&
Viene del subprograma 3G4 Cigura *G b8 +l otro :P bu er Este subprograma toma como 'ariables de entrada obligadas el 3<luster4 de datos "ue pro'iene del 3Aundle4 y el n0mero de puntos "ue almacenar el 3bu er4 (.emoria Interna)& Las dems entradas son opcionales y no se utili(an a"u-& Lo "ue hace este subprograma es almacenar los datos "ue le 'an llegando para "ue se puedan representar posteriormente como una cur'a continua en tiempo real, ya "ue si no e1istiera el bu er aparecer-an slo una serie de puntos en las gr icas de orma discontinua& +dems se debe introducir por pantalla la cantidad de puntos para hacer ms o menos precisa la medida& 7i se est midiendo y se acaban los puntos, 3:P <hart Au er4 borrar los primeros para poder almacenar ms puntos& Nay "ue denotar "ue al estar dentro del bucle 3C;@4 se 'a a repetir tantas 'eces como indi"ue 3N4, "ue es el n0mero de puntos& Icono del suprograma3:P <hart Au er&'i4
+565*
<omo 'ariable de salida de 3:P <hart Au er4 se obtiene un dato tipo 3:P Hraph4, es decir, una matri( de datos, los cuales se representan inalmente en una gr ica tipo 3:P4 de orma continua& <omo resultado, se obtienen las 3<ur'as de luide( y de 'iscosidad4(Cigura *)), "ue son uno de los ob,eti'os de la reali(acin de este proyecto
G) <;N<+DEN+<ITN >E @E79LD+>;7 EN 9N+ .+D@IZ Los 'alores de salida del subprograma 3G4, es decir, el es uer(o cortante, la 'elocidad de de ormacin y la 'iscosidad (aparente) se almacenan en una matri( mediante la uncin 3Auild +rray4 (Cigura *K a y *K b)8
+565B
Cigura *K b8 Icono de la uncin 3Auild +rray4 <omo esta uncin est incluida dentro del bucle 3C;@4, se 'an almacenando los datos tantas 'eces como indi"ue 3N4a la salida de dicho bucle& Entonces, el n0mero de ilas de la matri( coincidir con el n0mero de puntos introducidos, mientras "ue el n0mero de columnas coincidir con el n0mero de resultados buscados (Es uer(o cortante, la 'elocidad de de ormacin y la 'iscosidad aparente)& >I.EN7ITN >E L+ .+D@IZ V N[.E@; >E I9ND;7 1 5& &&&: ALMACENAMIENTO DE RESULTADOS EN ARC<IVO TIPO .TXT. Iara almacenar los resultados se utili(a el subprograma 3Write to 7preadsheet Cile&'i4 (Cigura *M)&
Cigura *M8 Icono y estructura del subprograma 3 Write to 7preadsheet Cile&'i4& No se utili(an todas las 'ariables de entrada& Nay una serie de 'alores por de ecto& Lo "ue hace este subprograma es con'ertir la matri( "ue 'iene del subprogram anterior, de 3>I.EN7ITN V N[.E@; >E I9ND;7 1 54, en una cadena de te1to,
+5655
con el mismo ormato "ue la matri(& \ste guarda los caracteres en orma de n0meros (con una precisin de 5 en coma lotante), los 'a escribiendo de tres en tres (son los 'alores de 34 , 3>4 y 34) y luego cambia de l-nea)&El nombre del nue'o archi'o de te1to (Cile Iath) es 3>8]]WIN>;W7]Escritorio]>atosNaake&t1t4,o 3>atosNaake4& E1iste otra 'ariable de entrada "ue se utili(a en el programa, "ue es 3append to ile4& Es de tipo booleano y se de ine como 3Calse4 ya "ue de esta orma, el subprograma escribir siempre los resultados en un archi'o nue'o o reempla(ar el e1istente& 7i se de iniese como 3Drue4, a!adir-a los resultados al ichero e1istente, pero lo "ue se "uiere siempre es "ue se reemplace dicho ichero& Las dems 'ariables de entrada se de,an con sus 'alores por de ecto8 el 'alor de 3 ormat4 indica la cantidad de caracteres "ue irn detrs de la coma lotante (tres por de ecto) y 3transpose4 se de,a Calso para "ue no se transpongan los datos antes de a!adirlos al ichero&
El programa consta de dos 'entanas8 el +an#' .# $-nt -', el cual contiene los controladores del programa y la gr ica indicadora con los resultados, y el .ia( a"a .# b'-/!#s, muy similar al de 3<9@V+7SCL94, "ue contiene los subprogramas en los "ue se basa toda la programacin en lengua,e LabVIEW&
+565G
Cigura *$8 Vista general del panel de control de 3@EL+J+<ITN4 , en este caso para el gel de manos&
En la Cigura *$ se puede obser'ar "ue, insertando un n0mero de puntos, la memoria interna (igual al n0mero de puntos) y el rango de 'elocidades, se obtiene la gr ica de 'iscosidad rente al tiempo& En los ensayos de aplica un cambio brusco instantneo de 'elocidad y luego una disminucin e"ui'alente, para poder 'er re le,ado el tiempo de rela,acin y el de recuperacin en la misma gr ica&
<;ND@;LE7 E IN>I<+>;@E7 <omo se puede 'er en la igura *$, el panel de control contiene cuatro controladores y un indicador, teniendo cada uno de ellos su correspondiente s-mbolo en el diagrama de blo"ues&
+565)
<ontrolador 3N0mero de puntos48 este controlador se usa para a!adir los puntos "ue ormarn la gr ica&
<ontrolador 3.emoria interna48 como en el anterior programa, se utili(a para se!alar el tama!o del bu er "ue 'a a guardar los puntos para representarlos de orma continua y a tiempo real&
<ontrolador 3@ango de Velocidad de >e ormacin48 con este selector se escoge la 'elocidad de de ormacin de traba,o&Diene el mismo uncionamiento "ue en el anterior programa&
<ontrolador 3<on iguracin del canal48 se trata de un 3<luster4 (con,unto de datos de di'ersos tipos) "ue contiene la cantidad de canales de la tar,eta de ad"uisicin y el canal de partida al ad"uirir los datos, de la misma orma "ue en el anterior programa&
Indicador 3 Hr ica de Viscosidad aparente 's& Diempo48 con este indicador se representar la 'iscosidad aparente rente al tiempo, ayudndose de un indicador 3:P Hraph4& >icha gr ica ser autoescalable ('ar-a la escala con orme se 'an obteniendo los resultados) para una 'isin ms compacta de todo el con,unto&
+565K
Num& ptos
7i se obser'a el diagrama de blo"ues, se puede 'er un gran parecido al anterior programa debido a "ue se ha apro'echado la estructura general del programa 3<9@V+7SCL94 para crear el diagrama de 3@EL+J+<ITN4& >ebido a ello, algunas e1plicaciones se reali(arn de orma resumida ya "ue se han detallado anteriormente&
IN8ORME DETALLADO DEL PRO6RAMA RELA=ACIN El programa 3@EL+J+<ITN4 se compone de tres blo"ues, alguno seme,ante al programa anterior, pero con alguna 'ariacin8 >ise!o del selector de 'elocidades de de ormacin& Aucle 3C;@4, el cual incluye8 o >ise!o de la ad"uisicin de datos& o o >ise!o del per-odo de ensayo& <lculo de operaciones&
+565M
o 3Au er :P4& o +lmacenamiento de datos en una matri(& @ecopilacin de resultados en un archi'o &D:D& Dodos los elementos son los mismos "ue los del programa anterior a e1cepcin del dise!o temporal y el almacenamiento de datos en una matri(&
&:DISE;O DEL SELECTOR DE VELOCIDADES DE DE8ORMACIN El dise!o (Cigura BO) es el mismo "ue el de la igura 5 del programa 3<9@V+7SCL948 se utili(a una estructura 3<+7E4 para poder elegir el rango de 'elocidades de de ormacin, uncionando de la misma manera&
Cigura BO8 7elector de 'elocidades del programa 3@EL+J+<ITN4& Es igual "ue el de 3<9@V+7SCL94 El 'alor de salida de la estructura 3<+7E4 es un n0mero real, "ue multiplicar, dentro del Aucle 3C;@4, a la 'elocidad de de ormacin &&:DISE;O DEL 9UCLE 8OR El bucle 3C;@4 es tambi/n seme,ante al creado en 3<9@V+7SCL948 dicho bucle (Cigura *F) se repite tantas 'eces como indi"ue el n0mero de puntos& Los elementos "ue lo componen son8
+565$
*) >I7E^; >E L+ +>?9I7I<ITN >E >+D;7 +l igual "ue en el 3<9@V+7SCL94 , se obtiene una matri( de dos elementos (es uer(o cortante y 'elocidad de de ormacin, en 'oltios) "ue son ad"uiridos mediante G subprogramas "ue contiene la tar,eta (Cigura B*)&
.atri( de B elementos Cigura B*8 El dise!o de la ad"uisicin de datos es el mismo "ue en 3<9@V+7 CL94
B) >I7E^; >EL IE@_;>; >E EN7+P; Esta parte (Cigura BB) no e1ist-a en el programa anterior& <on este dise!o se consigue i,ar el tiempo "ue dura el ensayo (BF,M segundos ya "ue empie(a a contar desde O,5O segundos e 3i4 igual a O)&
+565F
Lo "ue hace esta seccin es guardar un 'alor de tiempo cada 5OO milisegundos pasando los milisegundos a segundos multiplicando por O&OO*, y por el 'alor de 3i4& Los resultados se guardan en una matri( y se lle'an a una 3gr ica :P4 mediante un 3Au er4 de datos& <on esta operacin, se puede representar cilmente el tiempo de ensayo& Los 'alores de tiempo se 'an multiplicando cada 'e( por el 'alor 3i4, el cual aumenta desde O al n0mero de puntos& Ior e,emplo, si se "uieren 'er *OO puntos, el tiempo de ensayo ser de casi 5O segundos (BM&F s)& 5) <`L<9L; >E ;IE@+<I;NE7 Los 'alores (en 'oltios) del es uer(o cortante y de la 'elocidad de de ormacin deben ser tratados para "ue sus unidades sean 3mIa4 y 3s 6*4 & Iara ello, se ha introducido el diagrama de blo"ues del subprograma 3G4 , cambiando alguna cosa (Cigura BB)& +l igual "ue en el programa 3<9@V+7SCL94, antes de su tratamiento, se deben separar los 'alores mediante 3Inde1 +rray4
+ bu er
Cigura BB8 >etalle del <lculo de operaciones& El dise!o temporal no in luye en el clculo
+56GO
La igura BB se di erencia del subprograma G en "ue los resultados "ue se almacenan en la matri( son distintos& +hora se guardan en dicha matri( los 'alores del es uer(o cortante, la 'iscosidad aparente y el tiempo de ensayo, /ste 0ltimo 'enido del apartado anterior& Los resultados "ue 'an al 3Au er :P o :P <hart Au er4 son ahora la 'iscosidad y el tiempo de ensayo (en 3<9@V+7SCL94 los resultados "ue se lle'aban al bu er eran, por un lado, el es uer(o cortante y la 'elocidad de de ormacin, y por otro, la 'iscosidad aparente y la 'elocidad de de ormacin)& G) EL A9CCE@ :P >icho bu er es el mismo "ue el de la igura *G, as- "ue no hace alta 'ol'erlo a representar& +l bu er llegan los datos de 'iscosidad aparente y el tiempo de ensayo mediante una estructura ya 'ista anteriormente, un 3Aundle4, y estos datos se lle'an a una gr ica tipo :P (:P Hraph) para representarlos en tiempo real& La gr ica "ue se obtiene inalmente es la cur'a de 'iscosidad aparente rente al tiempo (Cigura B5) 8 Visco&ap (mIaUs)
Diempo (s) Cigura B58 <ur'a de ensayo de 'iscosidad rente al tiempo, aplicando cambios bruscos de 'elocidad de de ormacin&
+56G*
)) +L.+<EN+.IEND; >E >+D;7 EN 9N+ .+D@IZ >espu/s del dise!o del per-odo de ensayo y del clculo de operaciones, se procede a guardar los resultados en una matri( ('er igura *K), "ue tendr de dimensin igual al n0mero de puntos (N) por el tipo de resultado (5) &
&&&:LA RECOPILACIN DE RESULTADOS EN UN ARC<IVO .TXT. Cinalmente se guardan en un archi'o de te1to los resultados mediante el subprograma 3Write to 7preadsheet Cile&'i4 (Cigura BG), de la misma manera "ue en el programa 3<9@V+7SCL94&
>atos en orma de matri( Cigura BG8 Vista del subprograma 3Write to 7preadsheet Cile&'i4 <omo se puede 'er en esta igura, los resultados se guardan en un ichero llamado 3>8]]WIN>;W7]Escritorio]>atos&t1t4&
+56GB