Top Banner

of 22

Sesion_6_LabVIEW

Jul 07, 2018

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 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