8/18/2019 Sesion_6_LabVIEW
1/22
Universidad Nacional Mayor de San Marcos – CEMACURSO DE PROGRAMACIÓN GRAFICA – LABVIEW
PROGRAMA 01Coloque un Array Booleano y un Menú Ring.
En el diagrama adicione los elementos que se observa.
Initialize Array; Crea un Array de n-dimensiones en el cual cada elemento es inicializado para elvalor del elemento.
Replace Array Subset; Reemplaza el elemento o sub-array en un array en el punto queespecifica el ndice.
Ing. Vlademir Asencios Cerna 1
8/18/2019 Sesion_6_LabVIEW
2/22
Universidad Nacional Mayor de San Marcos – CEMACURSO DE PROGRAMACIÓN GRAFICA – LABVIEW
PROGRAMA 02
Anote todos los pasos para la personalizaci!n de ob"etos.
Ing. Vlademir Asencios Cerna 2
8/18/2019 Sesion_6_LabVIEW
3/22
Universidad Nacional Mayor de San Marcos – CEMACURSO DE PROGRAMACIÓN GRAFICA – LABVIEW
PROGRAMA 03
En este programa se puede simular animaciones# como un spinner que va rotando cada cierto
tiempo el cual puede indicar el funcionamiento de una bomba.$ara nuestro caso cada vez que se presiona el bot!n booleano# el spinner visto en lapartederec%a empezara a rotar a una velocidad determinada.
En el diagrama podremos observar que cada estructura case enva un valor de V o F elcual servir& para activar y desactivar el booleano '# el cual es un control personalizadocon dos spinner en diferentes posiciones# de tal manera que al cambiar de estado dic%o spinneraparenta que este girando.
Ing. Vlademir Asencios Cerna 3
8/18/2019 Sesion_6_LabVIEW
4/22
Universidad Nacional Mayor de San Marcos – CEMACURSO DE PROGRAMACIÓN GRAFICA – LABVIEW
PROGRAMA 04
VARIA!"S G!O A !"S
PROGRAMA 4#1(raba"aremos con variables globales como medio de intercambio de informaci!n entre )*.En el panel frontal en la categora $u%eric eli"a un &n'b# y en la categora c(art un )a*e+'r%
,(art#
$ara crear una variable global %acemos clic derec%o en el diagrama de programaci!n#
aparecer& el submenu +unciones# elegimos la categora ,tructureslobal )ariable.
y lo colocamos en el panel de programaci!n. /acemos dobleclic sobre este icono y aparecer& un panel frontal.
Ing. Vlademir Asencios Cerna 4
8/18/2019 Sesion_6_LabVIEW
5/22
Universidad Nacional Mayor de San Marcos – CEMACURSO DE PROGRAMACIÓN GRAFICA – LABVIEW
0uego en este panel %aga clic derec%o y del submenu de controles# eli"a 1umeric1umericControl y coloque control en este panel. uarde este panel y cierrelo.0uego en el diagrama de programaci!n %aga clic sobre el icono de variable global# y eli"a a lavariable global creada. El icono cambiar& al nombre de la variable global creada# complete el
diagrama de programaci!n como se muestra2
PROGRAMA 4#2
En el panel frontal muestre como sigue.
Ing. Vlademir Asencios Cerna 5
8/18/2019 Sesion_6_LabVIEW
6/22
Universidad Nacional Mayor de San Marcos – CEMACURSO DE PROGRAMACIÓN GRAFICA – LABVIEW
El diagrama de $rogramaci!n es como sigue y se utiliza la variable global del programa anterior2
E"ecute los dos programas a la vez y observe el comportamiento de la variable global.
Ing. Vlademir Asencios Cerna 6
8/18/2019 Sesion_6_LabVIEW
7/22
Universidad Nacional Mayor de San Marcos – CEMACURSO DE PROGRAMACIÓN GRAFICA – LABVIEW
CCoommuunniicacacciioonneses enen uunana RREDED LLANAN
A.A. ElEl SSeer r vividdor or
DescripciónEste programa genera datos que son enviados por una red local !os datos sonenviados cuando se a"re una cone#i$n por un puerto especi%icado desde otro
programa &cliente' !os datos que se env(an pueden ser datos de una se)al aleatoriaEste *+ termina su e,ecuci$n si despu-s de 5 segundos no se detecta alguna cone#i$n
a. Panel Frontal
.oloque en el panel %rontal/Un Digital control para indicar el port de cone#i$n Un text ring para seleccionar la data a enviar por la red 0tro Digital control para determinar la cantidad dedatos a enviar am"i-n coloque un "ot$n de stop para terminar la e,ecuci$n del *+El panel %rontal quedara como sigue
ara evitar algn pro"lema el control para indicar el port de"e ser tipo entero sin signo por ello modi%ique si aun no esta aciendo clic dereco con el cursor u"icado enel
o",etoaga lo mismo para el control que determina el nmero de puntos+ngrese en el text ring las tres opciones/ Random, Sine, Chrip.
b. Diagrama de programación: +nserte el "loque TCP Listen.vi el cual crea un escuca para aceptar una cone#i$n
. por el puerto que se indica El port ser7 determinado desde el panel%rontal mediante el control num-rico y el tiempo de espera &timeout' por unacone#i$n ser7 una constante de 5888 ms
Ing. Vlademir Asencios Cerna 9
8/18/2019 Sesion_6_LabVIEW
8/22
Universidad Nacional Mayor de San Marcos – CEMACURSO DE PROGRAMACIÓN GRAFICA – LABVIEW
El ca"leado ser7 el siguiente/
.ree un While Loop y dentro de ella una Structure Case como se muestra/
.onecte el control Función en el signo :;: endremos 3 casos &812' y esto secon%igura al ca"lear con el text ring &Función'
ara el caso 8 coloque dentro de un For Loop un
8/18/2019 Sesion_6_LabVIEW
9/22
Universidad Nacional Mayor de San Marcos – CEMACURSO DE PROGRAMACIÓN GRAFICA – LABVIEW
.oloque el "loque
ESE BLO!UE ENV"A DAOS A UNA CONE#IÓN CP!os punto a conectar en este "loque son la cone$ión ID dada del "loque de escucala %&t& que se desea enviar %&t& in
Notar que se necesita dos &2' de estos "loques para enviar el t&'&(o %e )& %&t& quese env(a y la %&t& propi&'ente dica
uesto que la data entregada por el c&*e son valores num-ricos estos de"enser convertidos en una cadena de caracteres con el "loque/
donde se conecta la data ' y el tipo de dato al que quiero convertir >qu( la data Num-rica es cast en una dato string y se env(a v(a CP Write
• UN> *E? .0N*E@+A0 EN SRING !> A>> > @>NSM++@ SE0B+ENE E! >M>C0 AE !> A>> .0N E! B!0DUE
el cual nos da la cantidad de data enviar Esta longitud es transmitida por el "loque CP +rite y luego tam"i-n se env(a la data convertida en string conotro "loque CP Write
Las conexiones hasta este punto son como se muestra en la !igura"
Notar que se a agregado un temporiador de 188 milisegundos
Finalmente la condici$n del +,i)e )oop se vera a%ectado por el estado del "ot$n *top
o por la producci$n de algn tipo de error -Un.un%)e B/ N&'e' or elloutiliamos un OR
Ing. Vlademir Asencios Cerna G
8/18/2019 Sesion_6_LabVIEW
10/22
Universidad Nacional Mayor de San Marcos – CEMACURSO DE PROGRAMACIÓN GRAFICA – LABVIEW
> la salida del +,i)e )oop se de"e cerrar la cone#i$n del puerto ara ello usamos el "loque C)o*e connection una ve que el dato a sido enviado
Finalmente el diagrama %inal es el siguiente
.. ELEL CCLL!!ENEN"E"E
Descripción
Este programa se encarga de reci"ir la data que es enviado por la red local por el programa que genera datos &servidor' ara ello de"er7 a"rir una cone#i$n por el puerto espec(%ico y colocar la direcci$n o nom"re de la . servidor Una ve reci"idola data son visualiados en la pantalla
a. Panel Frontal.oloque en el panel %rontal/Un numeric control para indicar el port de cone#i$n Un string para indicar la direcci$no nom"re de la . servidor Un Wave!orm Chart para visualiar la data reci"idaam"i-n coloque un "ot$n de stop para terminar la e,ecuci$n del *+
Ing. Vlademir Asencios Cerna 18
8/18/2019 Sesion_6_LabVIEW
11/22
Universidad Nacional Mayor de San Marcos – CEMACURSO DE PROGRAMACIÓN GRAFICA – LABVIEW
b. Diagrama de programación!o primero que de"emos acer es a"rir una cone#i$n . por un puerto espec(%ico El puerto ser7 el canal de comunicaci$n l$gica por donde el servidor enviara datos alcliente Ello lo realiamos con el "loque CP Open Connection
colocaremos la %irección del servidor que viene de un control del panel %rontal yel numero del port que tam"i-n viene de un control del panel %rontal como se muestra/
>dicione un W,i)e Loop y dentro de el coloque los "loques de lectura de datos por unacone#i$n . El "loque de lectura es el siguiente/
Ing. Vlademir Asencios Cerna 11
8/18/2019 Sesion_6_LabVIEW
12/22
Universidad Nacional Mayor de San Marcos – CEMACURSO DE PROGRAMACIÓN GRAFICA – LABVIEW
!as cone#iones importantes son la de connection ID y el numero de "ytes a leer ./te*to re&% y la salida error0 En el diagrama se muestra la cone#i$n de los "loques CPRe&%0
Notar que la condici$n del W,i)e )oop esta como en el caso del servidor 0 ErrorcecHing se veri%ica en el caso de que un error de cone#i$n ocurre y detendr7 el loop
rimero adquiere del CP Re&% el tama)o del dato y el segundo CP Re&% lee el datoy pasa al cart
.omplete el diagrama como se muestra en la %igura/
!ee el dato en el puerto especi%icado y convierte el dato en una representaci$nnum-rica empleando el "loque /pe C&*t1 como en el programa anterior Notar que el tipo de conversi$n es una array constante de tipo dou"le &Arr&/ Con*t&nt'
Ing. Vlademir Asencios Cerna 12
8/18/2019 Sesion_6_LabVIEW
13/22
Universidad Nacional Mayor de San Marcos – CEMACURSO DE PROGRAMACIÓN GRAFICA – LABVIEW
1- PROGRAMA PARA AP!I,A,I.$ I$/SRIA!
Panel Fr'ntalA continuaci!n simularemos la respuesta escal!n de una determinada magnitud de un sistemade segundo orden.
/iara%a e Pr'ra%acin5El sistema que simularemos es el siguiente2
C3z4 5 6.789 : z - 6 .::;:
R3z4 z' < =.>:'9z?6.8869
*mplementaremos el siguiente sistema pero en ecuaciones de diferencias.
Ing. Vlademir Asencios Cerna 13
8/18/2019 Sesion_6_LabVIEW
14/22
Universidad Nacional Mayor de San Marcos – CEMACURSO DE PROGRAMACIÓN GRAFICA – LABVIEW
2- IMP!"M"$A,I.$ /"! A!GORIMO PI/
$ara el algoritmo de control PI que se implementar& para la planta Anterior# se tiene que tenerlas siguientes consideraciones2
c6 5 )ariable del $rocesou6 5 )alor de ,alidae6 5 ErrorS#P 5 ,et $oint.&i 5 )alor *ntegral&p 5 )alor $roporcional
Como notamos la salida actual del controlador depende de valores pasados# por tanto podemosusar s%ift register 3registros de desplazamiento4.
En la figura se muestra c!mo es el algoritmo implementado con registros de desplazamiento.1otar que el valor del proceso deber& ser la informaci!n que se mide del sensor y 6.= es elperiodo de muestreo.
Ing. Vlademir Asencios Cerna 14
8/18/2019 Sesion_6_LabVIEW
15/22
Universidad Nacional Mayor de San Marcos – CEMACURSO DE PROGRAMACIÓN GRAFICA – LABVIEW
Ing. Vlademir Asencios Cerna 15
8/18/2019 Sesion_6_LabVIEW
16/22
Universidad Nacional Mayor de San Marcos – CEMACURSO DE PROGRAMACIÓN GRAFICA – LABVIEW
Mane7' el Puert' Paralel' ese !a b Vie8
,i vemos el conector @B'> del puerto paralelo por la parte posterior de la $C podemos observarlos '> pines# dentro de la cual corresponde a las entradas y salidas.0as direcciones del puerto se muestran en la figura2
@onde2$uerto de @atos POR 999: desde /ata 0 %asta /ata
8/18/2019 Sesion_6_LabVIEW
17/22
Universidad Nacional Mayor de San Marcos – CEMACURSO DE PROGRAMACIÓN GRAFICA – LABVIEW
1otas2 n dato en alto es un =# un dato en ba"o es un 6. 0a entrada y salida son desde el puntode vista del $C.
I#> "S,RIRA /"! P"RO PARA!"!O
a# Panel Fr'ntalbtenga los siguientes elementos para el panel frontal2 $u%eric ,'ntr'l paradeterminar la direcci!n del puerto acceder 36:9D en caso del puerto paralelo4. n$u%eric ,'ntr'l para fi"ar el valor entero a enviar por el puerto paralelo. un bot!nstop para detener la e"ecuci!n del vi.Coloque un nu%eric c'ntr'l
/acer clic derec%o y cambiar la representaci!n del tipo de dato# y escogerlarepresentacin entera de =8 bits.
0uego vuelva %acer clic derec%o y esco"a en +'r%at precisin para que el control seencuentre en representaci!n %eadecimal.
Ing. Vlademir Asencios Cerna 19
8/18/2019 Sesion_6_LabVIEW
18/22
8/18/2019 Sesion_6_LabVIEW
19/22
Universidad Nacional Mayor de San Marcos – CEMACURSO DE PROGRAMACIÓN GRAFICA – LABVIEW
b# /iara%a e Pr'ra%acinbtenga un )(ile !''p y coloque dentro de los controles creados desde el panelfrontal. Adem&s inserte el bloque Out P'rt#*i el cual nos permite enviar sobre el puertoparalelo.
El bloque Out P'rt#*i se encuentra desde la librera A*ance?P'rt I?O5
El diagrama quedara como sigue2
Ing. Vlademir Asencios Cerna 1G
8/18/2019 Sesion_6_LabVIEW
20/22
Universidad Nacional Mayor de San Marcos – CEMACURSO DE PROGRAMACIÓN GRAFICA – LABVIEW
"7e%pl' e aplicacin5
Modifique el panel frontal de manera que pueda activar o desactivar un bit de salida delpuerto paralelo. $ara ello coloque en el panel frontal un array booleano2
En el diagrama de programaci!n deber& modificar algunas cosas. ,e sugiere utilizar elsiguiente bloque 2
+inalmente el $rograma queda como se muestra2
Ing. Vlademir Asencios Cerna 28
8/18/2019 Sesion_6_LabVIEW
21/22
Universidad Nacional Mayor de San Marcos – CEMACURSO DE PROGRAMACIÓN GRAFICA – LABVIEW
I#> !",RA /"! P"RO PARA!"!O
a# Panel Fr'ntalColoque los siguientes elementos que observa en el panel frontal2 n nu%eric
,'ntr'l: un $u%eric Inica'r y un Bot!n st'p#
b# /iara%a e Pr'ra%acinColoque un )(ile l''p y dentro de el inserte el bloque In P'rt #*i el cual nospermite leer la informaci!n que est& ingresando por el puerto paralelo.
El diagrama quedara como sigue2
Ing. Vlademir Asencios Cerna 21
8/18/2019 Sesion_6_LabVIEW
22/22
Universidad Nacional Mayor de San Marcos – CEMACURSO DE PROGRAMACIÓN GRAFICA – LABVIEW
"7e%pl' e aplicacin5Modifique el panel frontal de manera que pueda ver la activaci!n de un bit de entrada delpuerto paralelo. $ara ello coloque en el panel frontal un array b''lean' como indicador2
,e sugiere %acer uso del siguiente elemento en el diagrama de programaci!n
+inalmente el $rograma queda como se muestra2