GUIA DE LABVIEW Programacin general y uso en Control Aplicacin en Ingeniera Biomedica !UBE" #!E$% AL&A!A' Proyecto de grado presentado como re(uisito parcial para optar al ttulo de Ingeniero SACRAMENTO UNIVERSIDAD ESTATAL DE CALIFORNIA FACULTAD DE INGENIERIAS 1997 Nota de Acetac!"# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ P%e&!de#te de' ()%ado ()%ado $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ()%ado $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ INTRODUCCION Al estudiar pro)undamente la con)iguracin de los sistemas de ad(uisicin de datos modernos DA* +Data Ac(uisition ,ystem-. /asados en e(uipos PC +Personal Computer-. se aprecia (ue una de las partes (ue componen dic0os sistemas. es el so)t1are (uien controla y administra los recursos del computador. presenta los datos. y participa en el an2lisis Viendolo de este modo. el so)t1are es un tpico muy importante (ue re(uiere de especial cuidado Para los sistemas DA* se necesita de un so)t1are de instrumentacin. (ue sea )le3i/le para )uturos cam/ios. y pre)eri/lemente (ue sea de )acil mane4o. siendo lo mas poderoso e ilustrati5o posi/le Programas y lengua4es de programacin (ue cumplan con lo dic0o e3isten en gran n6mero en el mercado actual. como por e4emplo el Visual Basic. el C. el C7 7. el Visual C77. Pascal. La/Windo1s CVI. La/5ie1. y muc0os otros con)eccionados espec)icamente para las aplicaciones (ue los necesiten Para ela/orar los algoritmo de control y toma de datos en los proyectos de ssmica. se consider (ue el lengua4e m2s apto es el La/VIEW +La/oratory Virtual Engineering 1or8/enc0-. y las ra9ones son 5arias: Es muy simple de mane4ar. de/ido a (ue est2 /asado en un nue5o sistema de programacin gr2)ica. llamada lengua4e G Es un programa en)ocado 0acia la instrumentacin 5irtual. por lo (ue cuenta con numerosas 0erramientas de presentacin. en gr2)icas. /otones. indicadores y controles. los cuales son muy es(uem2ticos y de gran elegancia Estos seran complicados de reali9ar en /ases como c77 donde el tiempo para lograr el mismo e)ecto sera muc0as 5eces mayor Es un programa de muc0o poder donde se cuentan con li/reras especiali9adas para mane4os de DA*. !edes. Comunicaciones. An2lisis Estadstico. Comunicacin con Bases de Datos +;til para una automati9acin de una empresa a ni5el total- Con este las 0oras de desarrollo de una aplicacin por ingeniero. se reducen a un ni5el mnimo Como se programa creando su/rutinas en modulos de /lo(ues. se pueden usar otros /lo(ues creados anteriormente como aplicaciones por otras personas Es un programa (ue permite pasar las aplicaciones entre di)erentes plata)ormas como &acintos0 y seguir )uncionando #omando en cuenta todo lo anterior. se considera de gran utilidad para los estudiantes. los docentes y empleados de la uni5ersidad tener un conocimiento /2sico del m<todo de programacin y del mane4o de estructuras (ue posee. por tanto este li/ro trata de ser una gua /2sica. (ue puede usarse para intruducirse en el mane4o del La/Vie1 ,e de4an algunos e4emplos aclaratorios 6tiles en control. dri5ers. y para concluir se e3plica como )unciona el programa desarrollado so/re La/Vie1 para la aplicacin de Ingeniera Biomedica para poder asi darle soporte REQUERIMIENTOS Como la plata)orma m2s usada en nuestro medio son los PC. en t<rminos de los mismos. lo mnimo para correr La/Vie1. es: Un micro =>? con coprocesador Como se re(uieren muc0as operaciones de punto )lotante. es indispensa/le el coprocesador Los modelo a parir del @>?D3A en adelante 5ienen con el coprocesador incluido en si mismos Por uso de memoria. se recomienda usar > megas de !A& mnimo ,i se usa un Demo con A megas en disco duro /asta Para el pa(uete completo es /ueno disponer entre @B y CB megas de espacio en disco duro Como se aprecia el re(uerimiento es alto. pero 0oy en da es posi/le conseguir un computador de este tipo a un precio mnimo. y en decenso da a da CARGANDO LABVIE* Despu<s de 0a/er instalado e3itosamente La/Vie1. e3istir2 un grupo de iconos correspondientes en Windo1s DEl La/Vie1 es el programa principal DWIBIC es un programa para con)igurar puertos de tipo GPIB DWDA*Con) es usado por La/Vie1 para con)igurar las tar4etas inserta/les de la "acional Instruments (ue se usan en la ad(uisicin de datos
1+ INTRODUCCION AL LABVIE* El La/Vie1 es un lengua4e de programacin de alto ni5el. de tipo gr2)ico. y en)ocado al uso en instrumentacin Pero como lengua4e de programacin. de/ido a (ue cuenta con todas las estructuras. puede ser usado para ela/orar cual(uier algoritmo (ue se desee. en cual(uier aplicacin. como en an2lisis. telem2tica. 4uegos. mane4o de te3tos. etc Cada programa reali9ado en La/Vie1 ser2 llamado Instrumento Virtual +VI-. el cual como cuales(uier otro ocupa espacio en la memoria del computador USO DE LA MEMORIA: La memoria usada la utili9a para cuatro /lo(ues di)erentes como son: EL PA"EL E!%"#AL: Donde se 5en los datos y se manipulan y controlan EL DIAG!A&A DE BL%*UE,: En este se aprecia la estructura del programa. su )uncin y algoritmo. de una )orma gr2)ica en lengua4e G. donde los datos )luyen a tra5<s de lneas EL P!%G!A&A C%&PILAD%: Cuando se escri/e en La/Vie1. el algoritmo escrito de )orma gr2)ica no es e4ecuta/le por el computador. por tanto. La/Vie1 lo anali9a. y ela/ora un cdigo asem/ler. con /ase en el cdigo )uente de tipo gr2)ico Esta es una operacin autom2tica (ue ocurre al e4ecutar el algoritmo. por tanto no es importante entender como sucede esto Lo (ue si es algo para apreciar. es (ue en este proceso. se encuentran los errores de con)eccin (ue son mostrados en una lista de errores. donde con solo darle do/le clic8 al error. se aprecia en el diagrama de /lo(ues. donde ocurre <ste. para su correccin L%, DA#%,: Como el algoritmo mane4a datos. re(uiere de un espacio en memoria para estos. lo (ue 0ace tomar en cuenta (ue el computador usado de/e tener la memoria su)iciente para mane4arlos Por e4emplo. cuando se usan grandes matrices en calculos se puede re(uerir de muc0o espacio "ota: A un programa VI terminado se le puede /orrar el diagrama de /lo(ues para (ue ocupe menos memoria. y no pueda ser editado. y seguir2 )uncionando El panel nunca puede ser /orrado INSTRUMENTOS VIRTUALES Un programa creado en La/VIEW es llamado como Instrumento Virtual y consta de tres partes a crear El Panel )rontal . donde estar2n u/icados todos los indicadores y controles (ue el usuario podr2 5er cuando el programa este en )uncionamiento Por e4emplo /otones. perillas. gr2)icas.etc Barra de despla9amiento Gr2)ica #tulo Icono &enus Paleta de 0erramientas Boton Control El diagrama de /lo(ues muestra el programa en cdigo gr2)ico G. el cual es el o/4eti5o de aprendi9a4e en un ni5el /2sico. en este li/ro ,e usan en este diagrama estructuras de programacin. y )lu4o de datos entre las di)erentes entradas y salidas. a tra5es de lneas En este las su/rutinas son mostradas como iconos de ca4as negras. con unas entradas y unas salidas determinadas. donde en el interior se cumple una )uncin espec)ica El )lu4o se aprecia. como se di/u4ara en un /os(ue4o de sistemas. cuando se 0a/la de teora de sistemas. donde cada su/sistema se representa como un cuadro con entradas y salidas #odos los indicadores y controles u/icados en el panel )rontal est2n respaldados por un terminal de coneccin en el diagrama de /lo(ues tal como si se tu/iera un ta/lero de control de una m2(uina o un a5in. donde por el )rente se 5en los indicadores y por el lado posterior se aprecian todos los ca/les y terminales de conneccin El cono de coneccin ,e usa para utili9ar el programa creado como su/rutina en otro programa. donde el cono ser2 la ca4a negra. y las entradas son las conecciones a los controles del programa su/rutina. y las salidas son las conecciones a los indicadores del mismo su/programa Al crear el cono. se conecta a tra5<s del alam/re de soldadura a los indicadores y controles en la )orma (ue se desee (ue se distri/uyan las entradas y salidas en la ca4a negra. tal como en un circuito integrado algunos pines corresponden a alguna )uncin en <l La idea es crear un sistema de programacin modular. donde cada rutina creada llame otras rutinas. y estas a su 5es otras de menor ni5el. en una cadena 4er2r(uica con cual(uier lmite deseado As cuando se use un mdulo. no se re(uiere sa/er como )unciona interiormente. simplemente solo /asta conocer sus entradas y salidas para ser as usado Para sa/er el uso de los su/5is. la 5entana de F0elpG o)rece la in)ormacin pertinente a las entradas y salidas Esta 5entana se puede o/tener presionando CtrlD0 o por medio del menu FWindo1sG Actualmente e3iste una asociacin de usuarios de La/Vie1 donde los miem/ros estan creando ca4as negras de di)erentes )unciones. las cuales pueden ser usadas para utilidades propias PALETAS DE TRABAJO #anto en el panel )rontal como en el diagrama de /lo(ues. e3iste una paleta de erramientas. (ue sir5e tanto para editar el VI. o e4ecutarlo seg6n el modo de tra/a4o (ue se tenga Cuando se trabaja en modo de ejecucin la paleta es la de la figura. E4ecutar &odo ,top Corrido sucesi5o Punto de paro &odo de corrido Hig0lig0t Imprimir Panel Gra/ar Panel Con el /otn ,E-ec)ta%. se corre una 5es el programa Cuando est2 e4ecutando. se cam/ia a rayado como se aprecia en la )igura y aparece un /otn de ,Sto. con el cual se pede detener el programa "o es recomendado 0acer esto. es pre)eri/le crear un alagoritmo de paro del programa. con un /otn destinado esclusi5amente para esto Algunos programas al terminar de/en de e4ecutar algunas operaciones de cierre. como puede ser en la programacin de tar4etas de ad(uisin de datos. o en el cierre de arc0i5os. por tanto si se usa el /otn de stop. este parar2 el programa totalmente. en el punto en el (ue se encontra/a y no permitir2 (ue complete sus rutinas de cierre. pudiendo incurrir en errores y perdida de la in)ormacin Cuando la )lec0a aparece rota indica (ue 0ay un error en el programa Al 0acer clic8 se muestra una lista de errores. y al 0acer clic8 en cada uno de los errores se apreciar2 en el diagrama la u/icacin de la )alla ,Modo. cam/ia entre modo de edicin y modo de e4ecucin As est2 en modo de e4ecucin ,Co%%!do &)ce&!/o. 0ace (ue el programa e4ecute una 5es tras otra 0asta (ue se le de un paro con el /oton de stop ,P)#to de a%o. al ser presionado cam/ia a ,0.. as. al ser llamado como su/rutina. a/rir2 el panel )rontal para mostrar como cam/ia. para encontrar errores de lgica. o por simple 5isuali9acin ,Modo de co%%!do. Al ser presionado cam/ia a una linea por pasos. as el programa e4ecutar2 paso a paso cada paso se dar2 al oprimir el icono de un solo paso ,1!23'!23t. &uestra como )luyen los datos y (ue datos. a tra5<s de las lneas del diagrama de /lo(uesG ,I4%!4!% Pa#e'. Imprime el panel )rontal actual cuando termina de e4ecutar el programa ,G%a5a% Pa#e'. Almacena en un arc0i5o L%G el estado actual del panel )rontal En el modo de edicin la paleta es la siguiente. E4ecucin &odo %perador Posicionador #e3to Alam/rador Color ,Oe%ado%. ,ir5e para accionar los controles e indicadores ,Po&!c!o#ado%. ,ir5e para cam/iar de posicin los di)erentes elementos en las di)erentes pantallas #am/i<n permite cam/iar el tamaIo de estos ,Te6to. Permite crear te3tos y eti(uetas. tanto como cam/iar los 5alores de las escalas de las gr2)icas ,A'a45%ado%. ,ir5e para conectar los elementos en el diagrama de /lo(ues. y para conectar los controles e indicadores a los pines del cono del programa ,Co'o%. Permite colorear los di)erentes elementos MENUS DE TRABAJO Haciendo clic8 en los menus superiores se aprecian las aplicaciones necesarias para tra/a4ar con La/VIEW. como gra/ar o cargar programas. como editarlos. tipos de letra etc Los menus se muestran a continuacin F!'e+ En este men6 se encuentran las 0erramientas para el mane4o de arc0i5amiento. impresin. y guardado de in)ormacin de los los programas creados en La/Vie1 En el menu Ed!t se tienen los comandos para cortar. copiar. pegar y /orrar partesJ eliminar ca/les malos y editar controlesJ alinear y distri/uir o/4etosJ cam/iar o/4etos entre di)erentes planosJ y dar las )re)erencias de mane4o del La/Vie1 En el menu Oe%ate se encuentran erramientas para e4ecutar y detener los programas. asi como cam/iar el modo de tra/a4o. y 0acer (ue todos los 5alores en los controles e indicadores (ueden como 5alores iniciales al ser guardado el programa En el menu Co#t%o'& aparecen todos los tipos de controles e indicadores (ue se pueden colocar en el panel )rontal. como son: K "um<ricos: Permiten la entrada y salida de datos y 5alores medi/les de tipo num<rico. ya sea en un n6mero real. enteros. naturales positi5os Por e4emplo un medidor de ni5el gra)icado como un tan(ue. donde el ni5el es el 5alor dado. o un termmetro. donde la temperatura es un 5aria/le continua A Boleanos: Permiten la salida y la entrada de datos de tipo discreto. onDo)). como es el caso de los pulsadores. s1ic0es. ledLs indicadores = ,tring M #a/le: permite entrar y sacar datos de tipo al)anum<rico. 5istos en un indicador o control. o en una ta/la (ue tam/ien puede cumplir las dos )unciones @ List M !ing: ,on controles e indicadores (ue presentan listas de opciones donde el item seleccionado se entrega como un 5alor al programa C Array M Clusters: Permite agrupar datos para )ormar matrices ya sean de entrada o salida Estas matrices pueden ser de tipo num<rico. o de tipo /oleano #am/ien se pueden agrupar datos de di)erentes tipos de control o de di)erentes tipos de indicador. en un cluster. el cual es una agrupacin (ue posee una sola terminal en el diagrama de /lo(ues. seme4ante a un conector de un computador. el cual siendo un solo conector lle5a muc0as lineas (ue lle5an di)erentes seIales en las matrices todas las seIales son del mismo tipo ? Grap0: Controles e indicadores de gr2)icas Pueden ser gr2)icas de /arrido. gra)icas NO. o de tonos de colores P Pat0 M !e)num: Controles 6tiles en el mane4o de arc0i5os > Decorations: ,e disponen alementos de decorati5os para el panel )rontal Q Controles: Adem2s de poderse u/icar los controles e indicadores presentados en los menus anteriores. tam/i<n se pueden usar controles editados por el programador. como por e4emplo el di/u4o de una /om/a. o un pistn neum2tico KB Error Cluster: Controles de entrada y salida. para par2metros de algoritmos mane4adores de errores KK Visa #ransition: Utiles para comunicacin VI,A "o son de uso normal para principiantes En el men6 *!#do7& se encuentran las 0erramientas para 0acer cam/ios entre 5entanas de tra/a4o &ostrar diagrama o panel. seg6n la 5entana en la (ue se encuentre &ostrar la 0istoria de los cam/ios en el programa Visuali9ar la lista de los errores (ue posee el VI o programa Desplegar el contenido del Clip/oard &ostrar el orden 4erar(ueco. en el cual un programa llama su/Vis Adem2s 0ay 0erramientas para ordenar las 5entanas. a/rir programas (ue (ue son usados por el VI principal. y otros
El menu Te6t se encuentran todas las utilidades para seleccionar tipos. colores. estilos y tamaIos de letra El menu 1e' presenta las ayudas necesarias so/re el programa. y o)rece la opcion para desplegar una 5entana donde se e3plica cada o/4eto solo con seIalarlo En la 5entana mencionada se e3plica como son las entradas y salidas de cada su/Vi. y de cada )uncin El menu de F)#ct!o#& o)rece todas las posi/ilidades de )unciones (ue se pueden utili9ar en el diagrama de /lo(ues. donde al 0acer clic8 se esco4e y u/ica dentro del programa K ,tructs M Constants: Contiene las estructuras /2sicas de programacin como son las secuencias. los casos. los ciclos EorD"e3t y &ientras. las 5aria/les de tipo glo/al y local. y las constantes de todo tipo. como son las num<ricas. las al)anum<ricas. las /oleanas. y algunos numeros especiales. FeF por e4emplo A Arit0metic: Presenta las operaciones /2sicas aritm<ticas como son suma. resta. multiplicacin. n6meros al a9ar. 5alor a/soluto. compuertas and. or. not y muc0as otras Para 5er la )uncin de cada una usar la 5entana de Help RctrlDHS = #rig M Log: presenta )unciones trigonometricas y logaritmicas @ Comparison: Eunciones de comparacin (ue de5uel5en un 5alor de 5erdadero o )also seg6n se cumpla dic0a comparacin C Con5ersion: Con5ersiones de tipos de 5aria/les. de un )ormato a otro. por e4emplo con5ertir un n6mero a otro (ue ocupe =A /its en memoria. o con5ertir un n6mero a una matri9 de /oleanos cuya representacin en /inario corresponda al n6mero ? ,tring: presenta 0erramientas para manipular cadenas de caracteres Por e4emplo conn5ertir todos los caracteres a may6sculas. o reportar el 5alor de la longitud de la cadena P Array M Cluster: &ane4a las 0erramientas para el uso de matrices y agrupaciones E4 dar las dimensiones de una matri9. en otra de una sola dimensin E4 agrupar un con4unto de ca/les en uno solo par manipular menos lneas El mane4o de matrices y clusters ser2 me4or esplicado adelante > Eile IT%: Para el mane4o de arc0i5os y almacenamiento de in)ormacin en disco
Q #ime M Dialog: !eportadores de tiempo. esperas. )ec0as. y cuadros (ue dan anuncios KB &iscellaneous: Blo(ues de llamada a codigos en C. o a li/reras din2micas de 1indo1s DLL Con5ersin de datos a /inarioJ mane4adores de ocurrencias para ordenar el )lu4o de datos O otras )unciones de uso mas a5an9ado
KK Vi: Para llamar /lo(ues creados como rutinas KA Analysis: Eunciones a5an9adas de procesamiento de seIales. estadsticas. 2lge/ra lineal. )iltros. regresin y otras (ue re(uieren de un /uen entendimiento matem2tico K= DA*: Para la ad(uisicin de datos. lectura y escritura de datos a las tar4etas inserta/les. toma y control de seIales an2logas y digitales. y control de los circuitos contadores (ue 0ay en algunas tar4etas K@ Instrument IT%: Comunicacin con instrumentos medidores a tra5<s de puertos GPIB. serial o VI,A KC "et1or8: Para la comunicacin de computadores en red. y enlace entre di)erentes aplicaciones. como es el caso del DDE. Dynamic Data E3c0ange. (ue puede ser5ir para enla9ar aplicaciones de La/Vie1 con Bases de datos como ACCE,. para actuali9arlas simultaneamente los 0ec0os 5an ocurriendo %tros parametros son los de comunicacin #CP y UDP para comunicacin en red #odo esto re(uiere de un aprendi9a4e especial K? #utorial Erramientas para el uso de e4emplos de ad(uisicin de datos sin tener las tar4etas inserta/les KP Utility: Utiles para el mane4o y an2lisis de errores en los programas creados Utiles para el control de los VI +A/rir un VI por e4emplo- &ane4adores especiales de arc0i5os &ane4adores de puertos inport y outport
DDE +Dynamic Data E3c0ange- PC +Personal Computer-. VI +Instrumento Virtual-8 La/VIEW +La/oratory Virtual Engineering 1or8/enc0-. DA* +Data Ac(uisition ,ystem-. 9+ COMO CREAR PROGRAMAS PANEL FRONTAL Al desarrollar una aplicacin o una su/rutina primero se de/e tener un claro conocimiento de (ue 5alores se 5an a utili9ar. cuales 5an a ser las entradas y cuales las salidas. para as de)inir como se 5an a entrar y sacar estos 5alores Por e4emplo si simplemente se desea reali9ar un programa (ue tome dos n6meros y entregue como resultado la suma de estos 0asta (ue se pulse un /otn de stop. al )inal diga (ue termin. se sa/e (ue de/e 0a/er un instrumento de control para la entrada de cada 5alor. y un indicador (ue muestre el resultado Crear lo anterior se logra simplemente u/icandose en el panel )rontal y sacando dos controles y un indicador del menu Controls Esto se 0ace uno a uno. y se de/e ir nom/rando cada elemento en el la/el. a medida (ue se 5an posicionando Control num<rico Control Boleano Indicador "um<rico La/el ,e aprecia como en estos instrumentos digitales se di)erencian los controles del indicador por(ue estos cuentan con unas )lec0as para manipularlos cuando el programa est2 corriendo #am/i<n se pueden cam/iar escri/iendo so/re ellos Estos controles se pueden con)igurar sacando el PopDmenu de cada uno. seIalandolo y oprimiendo el /otn derec0o del mouse. as si por e4emplo se comete un error al nom/rar el instrumento y no se alcan9a a escri/ir el nom/re. en este menu en la su/seccin &3o78 'a5e'8 se puede 0acer (ue reapare9ca la marca para as escri/ir so/re ella DIAGRAMA DE BLOQUES En <ste se 5e el )lu4o del programa. y se compone de cinco tipos de elementos Las terminales de coneccin de los indicadores y de los controles del panel )rontal ,e nota (ue las lneas del di/u4o de la coneccin de los controles es m2s gruesa (ue la de los indicadores. para di)erenciarlos Las constantes Las )unciones y ca4as negras. donde se pocesan las seIales Las estructuras de programacin Los ca/les (ue conducen las di)erentes seIales. los cuales 5aran seg6n la seIal (ue conducen Estructura #erminal del control #erminal del indicador Lineas de seIal Euncin Ca4a negra Constante Al)anum<rica Para reali9ar el diagrama de /lo(ues se /uscan las estructuras necesarias en el menu de )unctions. estructuras y constantes. donde se encuentra el ciclo mientras +W0ile-. el cual ser2 esplicado luego Posteriormente se u/ican las )unciones necesarias en el menu de Eunctions. como en este caso el sumador y el negador en el su/menu arit0metic. y el cuadro de di2logo en el su/menu #ime M Dialog Los terminales aparecen autom2ticamente en el digrama de /lo(ues al armar el panel )rontal Por 6ltimo se 0acen las conecciones con ayuda de la 0erramienta de alam/rado CONECCION DE ICONO ,i se desea (ue el programa reali9ado sir5a como su/rutina para otro VI de mayor 4erar(ua. como primero se de/e reali9ar un Icono (ue represente el VI. y luego 0acer las conecciones entre los terminales del cono y los istrumentos del panel )rontal Ca/e anotar (ue se conectan solo los deseados Los (ue no se conecten tomaran el 5alor (ue poseen como De)ault. o 5alor propio inicial correspondiente. para las )unciones y operaciones (ue se de/an reali9ar Para editar el icono se selecciona con el /otn derec0o del mouse en el icono del panel )rontal y se selecciona :Ed!t Ico#; En este editor se puede di/u4ar el cono deseado
Despu<s de tener el icono deseado se muestran los conectores por medio de :&3o7 co##ecto%; en el mismo popDup menu y con la 0erramienta de alam/rar se 0acen las conecciones con los dispositi5os del panel 0aciendo primero clic8 en el indicador o control y luego en el pin del cono deseado Es recomenda/le conectar las entradas a la i9(uierda y las salidas a la derec0a ,i se re(uieren mas conectores. se puede cam/iar el es(uema de conecciones. por medio de Patte%#& en el popDup menu. cuando est2 mostrando los pines Cuando est2 lista la coneccin la 5entana de 0elp muestra como (uedan las entradas y salidas
Luego de terminar el programa solo es sal5arlo GUARDAR PROGRAMAS Y CARGARLOS P!%PIEDADE, DE L%, VI Antes de guardar un VI. se puede con)igurar <ste para (ue cuando sea cargado e4ecute inmediatamente. sin presionar ning6n /otn ,e puede tam/i<n lograr (ue cuando e4ecute. no muestre paletas. o la /arra de ttulo. (ue (uede centrado. o (ue no se le pueda modi)icar el tamaIo a la 5entana del panel #odo esto por medio de la opcin VI<Set) en el popDup men6 del icono principal En la lista se escoge el tipo de par2metro a con)igurar +1indo1. e3ecution. 0istory- LI,#A DI!EC#%!I%, DE AL&ACE"A&IE"#% Por mane4o de memoria. la/5ie1 permite almacenar los datos. programas y otros. en dos tipos di)erentes de directorios. entendi/les por La/Vie1 Los directorios normales en los (ue se almacenan los programas con e3tensin 5i. y el nom/re no puede tener m2s de oc0o caracteres para los PC E3isten un arc0i5o ll/ el cual es una li/reria en la (ue solo La/Vie1 es capa9 de almacenar. y el cual el la entiende como un directorio #iene la 5enta4a de tener internamente comprimidos los programas. economi9ando memoria en disco Adem2s los nom/res de los programas no tienen restricciones %PCI%" DE GUA!DA! Por medio de la opcin ,AVE A,. se despliega un menu con los directorios y las li/rerias en las cuales se puede almacenar programas Dando clic8 en "EW. se puede crear un directorio nue5o o una li/rera nue5a "om/re Directorios Li/rerias Directorio Actual Dri5e Crear Directorio o Li/reria #ipo de arc0i5o El proceso para cargar es de la misma )orma. por medio de %PE" El comando ,a5e 1it0 %ptions permite gra/ar en una li/rera todos los arc0i5os re(ueridos para correr una aplicacin. pero esto corresponde a un ni5el m2s a5an9ado =+ MANE(O DE DATOS EN UN VI TIPOS DE VARIABLES Y DATOS NUMRICOS "U&E!% DE BI#, E" U" "U&E!% El computador posee una memoria compuesta de una gran lista de n6meros. los cuales son llamados /ytes. (ue son un con4unto de unos o ceros. llamados /its Cada /yte se compone de oc0o /its los cuales pueden representar un n6mero de B a ACC Para poder almacenar n6meros mayore se re(uere de m2s /ytes. donde se tengan K? o =A /its Este n6mero se relaciona con el n6mero de /its con los (ue puede tra/a4ar el microprocesador del computador. en cuanto a la 5elocidad de operacin Adem2s un n6mero de m2s /its ocupa mayor espacio en memoria #omando en cuenta esto. si se desea mane4ar el AC>. y se usa un /yte +> /its-. el n6mero o/tenido es ACC. perdiendo toda la e3actitud ,e de/en usar K?/its ,IG"% E" EL "U&E!% Como se tiene un cdigo /inario. 0ay m<todos para dar el caracter de positi5o o negati5o a un n6mero. de4ando /its (ue representen el signo Cuando se opera con n6meros con signo el m<todo es di)erente a como se 0ace con n6meros sin signo "U&E!%, E!ACCI%"A!I%, Igual (ue con el pro/lema del signo. se re(uieren de algunos m<todos para representar la coma en un cdigo /inario. y las operaciones tam/i<n 5aran De 0ec0o se re(uiere de muc0os m2s c2lculos para un microprocesador para sumar dos n6meros de coma )lotante +(ue posean coma. )raccionarios-. (ue para sumar dos enteros sin signo Para esto el microprocesador se 5ale del coprocesador matem2tico. (ue 0ace operaciones de coma )lotante a gran 5elocidad Los n6meros de coma )lotante dependen del n6mero de /its. para tener una mayor e3actitud ,eg6n lo anterior 0ay n6meros de tipo entero UIL de >. K? y =A /its. de tipo sin signo +unsigned U- de >. K?. =A. o de coma )lotante de tipo simple +,GL K?-. do/le +DBL =A-. y E3tendido +EN# ?@ /its- Igualmene n6meros comple4os simples. do/les y e3tendidos El tipo de n6mero se aprecia en la terminal de coneccin de los controles o indicadores. pues aparece inscrito. y el color de las conecciones de punto )lotante son anaran4adas o ro4as. mientras (ue en los enteros y sin signo son a9ules ,e recomienda usar datos de menor n6mero de /its. siempre y cuando no se pierda precisin. para (ue no se ocupe muc0a memoria Los c2lculos de punto )lotante restan 5elocidad El tipo de dato (ue mane4an los indicadores y controles se con)igura en el popD up menu de cada control por la opcin %e%e&e#tat!o#. igualmente con las constantes DATOS BOLEANOS Y ALFANUMERICOS Los datos /oleanos tam/i<n tienen su tipo de conector Para /oleanos El color de las conecciones y los ca/les es de color 5erde. y para las de tipo al)anum<rico son de color rosado MATRICES Las matrices son con4untos de datos de una misma especie Para crear una matri9 se u/ica en el panel )rontal un cuadro de matri9 +Array o arreglo- sacado del men6 A!!AO M CLU,#E!. y dentro se u/ica el control o indicador (ue se mostrar2 ,e puede estirar el cuadro para (ue muestre 5arios datos pertenecientes a la misma matri9 ,i se estira el display lateral se aumenta el n6mero de dimensiones El conector ser2 uno solo para la matri9 con todos los datos. y se di)erencia de los otros conectores por tener el tipo de datos di/u4ado entre V W. en lugar de un recuadro. as se puede poseer una matri9 de cual(uier clase de n6mero. sea do/le. al)anum<rico. /oleano. etc Las lneas o ca/les (ue conducen matrices son m2s gruesos y aumentan de espesor seg6n sea el n6mero de dimensiones (ue mane4en
Cuadro de &atri9 Dimensin X dim Control AGRUPACIONES O ESTRUCTURAS Las agrupaciones o estructuras son con4untos de datos pero de di)erente tipo Para crear una agrupacin se u/ica en el panel )rontal un cuadro de agrupacin +cluster o estructura- sacado del men6 A!!AO M CLU,#E!. y dentro se u/ican los controles o indicadores (ue se mostrar2n El conector ser2 uno solo para la agrupacin con todos los datos. y se di)erencia de los otros conectores por tener di/u4ado unos cuadritos. en lugar del tipo de dato. as se puede poseer una agrupacin con cual(uier clase de n6meros. sean do/les. al)anum<ricos. /oleanos. todos me9clados. tal como se agrupan un con4unto de ca/les del circuito el<ctrico de un automo5il. donde cada ca/lecito dentro del ca/le grande lle5a un tipo de dato. y se conecta a un toma donde cada pin tiene un uso. pero en total un solo toma Las lneas o ca/les (ue conducen agrupaciones son m2s gruesos y parecen como mangueras con /ur/u4as #am/i<n se pueden crear matrices de agrupaciones. y agrupaciones de matrices
Cuadro de Cluster Control CABLES DE TRASMISIN Como se 0a mencionado los ca/les lle5an la in)ormacin de un lado a otro El ca/le cam/ia seg6n el dato (ue lle5e. pero esta es una opcin autom2tica (ue sir5e para 5isuali9ar en el momento de 0acer las conecciones Lnea de agrupacin Lnea de dato normal Lnea de /oleano Lnea de al)anum<rico Lneas de matrices K dimensin Lneas de matrices = dimensines POLIMORFISMO Como se 0a mencionado e3isten n6meros con di)erente )ormato de representacin. y seg6n esto al sumar u operar con dos n6meros de di)erente clase no es correcto ,i se trata de sumar un n6mero unsignado de K? y uno de > /its. no se tendr2 un resultado correcto Como en el lengua4e C. para 0acer este tipo de operaciones se de/e con5ertir el de menor precisin a la mayor para no perder e3actitud en el resultado Una di5isin siempre genera n6meros de punto )lotante. por tanto lo correcto es usar este tipo de 5aria/les Para con5ertir datos se usa un /lo(ue especial. el cual se encuentra en el menu de )unciones de con5ersin ,in em/argo La/Vie1 permite parra muc0as )unciones operar con n6meros de di)erente clase en la entrada. sin tomarse como un error (ue impida la e4ecucin del programa. lo (ue se llama polimor)ismo Cuando esto sucede se aprecia un punto gris +dot- en la coneccin. (ue indica el con)licto &irar di/u4o en la e3plicacin del diagrama de /lo(ues FLUJO DE DATOS EN FUNCIONES A di)erencia de los lengua4es escritos en algoritmo de te3to continuo. el La/Vie1 es un lengua4e (ue en cierta )orma se puede llamar multiproceso. pues puede e4ecutar 5arias rutinas al mismo tiempo. esto se logra por(ue el procesador gasta partes de tiempo en cada rutina. dentro de un inter5alo de tiempo As seg6n un sistema de prioridades se 5a e4ecutando parte de cada programa Como se 5e en la )igura cuando se corre el programa los dos ciclos corren simultaneamente. +cosa (ue no es cierta en t<rminos de nanosegundos. pero se puede a)irmar en segundos- Para 0acer (ue un ciclo corra despu<s de otro se re(uiere de una estructura (ue permita esto como es la de secuencia. donde dentro de cada cuadro se u/ica el ciclo (ue se 5a a reali9ar El )lu4o de datos a tra5<s del programa. se 0ace a tra5<s de los ca/les (ue lle5an la in)ormacin a las )unciones y a los datos de control a las estructuras Una )uncin no se e4ecuta sino 0asta (ue 0an llegado todos los datos de entrada. as. en la )igura el signo de menor arro4ar2 un dato de 5erdadero o )also solo cuando 0allan llegado los datos de entrada a esta )uncin Los datos de salida solo sur4en cuando 0a cumplido la )incin su operacin. as mismo ocurre con las estructuras %sea (ue el dato de salida de la estructura )luir2 al resto del programa cuando esta 0alla concluido. para el caso de la )igura. cuando el ciclo 0aya cumplido todo su n6mero de 5ueltas ,e puede usar un ciclo W0ile. o un EorD"e3t para acomular datos en la )rontera de salida. y as cuando terminen las iteraciones. tener una matri9 como resultado. lo (ue se logra dando clic8 con el /oton derec0o en la coneccin de salida del ciclo y seleccionando ,E#a5'e I#de6!#2. Con dos ciclos anidados se tendr2 una matri9 de dos dimensiones de tamaIo seg6n el n6mero de 5ueltas Para (ue no almacene datos en la )rontera. seleccionar ,D!&a5'e I#de6!#2.. en el mismo popDup mun6 Para 5er como )luyen los datos a tra5<s de el diagrama de /lo(ues se puede 0acer clic8 en el /oton de 0ig0Dlig0t u/icado en la paleta de 0erramientas. para 5er como unos puntos luminosos indican los mo5imientos en dic0o diagrama ,i se desea (ue esta re5isin se 0aga paso a paso. se de/e presionar el icono de marc0a a pasos. y presionar en el cono de un paso para o/tener el paso siguiente Cuando se llega a una su/rutina. normalmente no se 5e lo (ue ocurre adentro ,i se desea (ue cuando se e4ecute <sta por(ue llegan los datos a ella se a/ra el panel de esta y se detenga. para 5er el )lu4o dentro. se de/e gra/ar <sta con el cono de Pa%o co# L'a4ada :+++; Cuando esto se 0ace el cono cam/ia a ,0. Hig0Dlig0t Paro cuando es llamado A5an9ar paso a paso A5an9ar un paso >+ ESTRUCTURAS ? ELEMENTOS DE PROGRAMACIN Para reali9ar un programa dentro de cual(uier lengua4e se re(uiere de conocer el mane4o de las estructuras (ue go/iernan un algoritmo En el La/Vie1 como lengua4e tam/ien cunta con estas La estructuras en La/Vie1 son: Los ciclos W0ile Los ciclos EorD"e3t Los cuadros de casos Las secuencias %tros elementos de programacin son las 5aria/les. (ue pueden ser de tipo glo/al o local. y los cuadros de )rmula LOS CICLOS WHILE GE"E!AL: ,ir5en para 0acer (ue una secuencia de instrucciones se repitan una cantidad de 5eces. siempre y cuando una a)irmacin sea 5erdadera En el La/Vie1 se e4ecutar2n las )unciones (ue se encuentren dentro del cuadro de ciclo. tomando los 5alores (ue (uedaron almacenados en la )rontera de entrada. y sacando los resultados a la )rontera de salida Por e4emplo si se desea contar a partir de un n6mero UaL. durante una cantidad de 5eces U/L. e ir mostrando el n6mero de conteo en un indicador UdL. y 5er el 6ltimo n6mero contado en UcL. el programa sera el siguiente El t<rmino UiL en el ciclo es un contador (ue se incrementa una unidad cada 5es (ue se repite el ciclo La )lec0a circular es el parametro (ue al reci5ir un 5alor de true +5erdadero-. permite repetir el ciclo. y al reci/ir un )also. lo detiene para (ue el dato (ue 0aya en la )rontera de salida 5alla al indicador c
Los datos a. y / solo llegan una 5es a )rontera de entrada y alli (uedan almacenados en un /u))er para ser usados todas las 5eces (ue el ciclo repita Estos datos siempre ser2n iguales En el programa se sumar2 en cada loop el 5alor de UaL con el contador (ue en cada iteracin es mayor en uno El dato se mostrar2 en UdL. y se lle5ar2 a la )rontera de salida. donde se almacena 0asta (ue termine el ciclo En la iteracin siguiente un nue5o dato llega a la )rontera /orrando el anterior. as cuando el loop para. solo el ultimo 5alr pasa a UcL Constantemente se e5alua si el n6mero U/L es mayor o igual al contador Cuando este contador alcan9a a /. la comparacin se 5uel5e )alsa y el ciclo se detiene
I"DENI"G: Los ciclos se pueden utili9ar para crear matrices simplemente acomulando los datos en la )rontera de salida. sin permitir (ue el 6ltimo /orre el primero. y m2s /ien apilandolos uno tras otro en matri9 Esto se logra sacando el popDup men6 de el punto negro de la )rontera de salida. el cual es el elemento de memoria o /u))er. y seleccionande FEna/le inde3ingG ,e aprecia (ue el ca/le de salida a0ora es mas grueso. y de/e lle5ar los datos a un indicador de matri9 ,HIE# !EGI,#E!: ,e puede 0acer (ue los resultados de un ciclo sir5an como datos para la pr3ima iteracin. mediante unas memorias llamadas ,0i)t !egister. las cuales se crean sacando el popDup men6 del ciclo en una de las )ronteras ,e crean unas memorias en las )ronteras de entrada y salida Desp6es del ciclo el dato resultado colocado en el s0i)t de la )rontera de salida. pasa a ocupar el lugar del s0i)t de la )rontera de entrada para participar en las )unciones del ciclo el tipo de dato mane4ado puede ser cual(uiera. como se 5e en el e4emplo. se mane4a un dato /oleano de 5erdadero )also El dato inicial siempre de/e ser de)inido. pues en la primera iteracin estas memorias de entrada se encuentran 5acas Esto se logra conectando un 5alor a las memorias En el e4emplo primero se le agrega un U)alsoL al s0i)t. despu<s en el ciclo es negado y el resultado U5erdaderoL se muestra en un /om/illo indicador UrL. y se coloca en el s0i)t de salida. el cual ser2 el pro3imo 5alor en el s0i)t de entrada. en el pr3imo ciclo ,e toma el 5alor del s0i)t de entrada. se niega. y se muestra en el indicador U)alsoL y de nue5o al s0i)t de salida Asi sucesi5amente. se tiene como resultado un tren de pulsos )also 5erdadero y un /om/illo titilando Es posi/le almacenar no solo datos de la 6ltima iteracin. sino de la pen6ltima. y muc0as anteriores. agregando s0i)tLs a la entrada. por medio del popDup men6 del s0i)t. con Add S3!@t Re2!&te% Asi el e4emplo muestra como tener una secuencia donde se genera una cantidad de n6meros al a9ar y se calcula el promedio de los tres 6ltimos n6meros El indicador UdL muestra el 5alor actual al a9ar y los s0i)t almacenan los dos anteriores Para el caso inicial estos se llenan con cero El resultado del n6mero al a9ar se coloca en el s0i)t de salida para (ue en la pr3ima iteracin pase a la entrada del 5alor anterior. y en el otro ciclo pase al trasDanterior CICLO FOR-NEXT ,e comporta similar al ciclo W0ile Este 0ace un n6mero de)inido de iteraciones el cual esta dado por el 5alor (ue se coloca en el parametro U"L Este siempre de/e ser de)inido. pues de no suceder as el programa no corre #am/i<n se puede usar para crear matrices. y tam/i<n puede usar 5alores de ciclos anteriores con los ,0i)t register #iene la des5enta4a respecto al ciclo 10ile de tener (ue cumplir todas las iteraciones para terminar. mientras (ue en el 10ile. se termina dependiendo de una condicin. por tanto se puede crear un algoritmo (ue cuando detecte un error termine el ciclo &ientras (ue el )orDne3t es un ciclo ciego. el 10ile siempre se est2 c0e(ueando
El ciclo EorD"e3tD tam/i<n cunta con un elemento UiL (ue sir5e de contador para decir en (ue ciclo 5a El programa anteriormente reali9ado con un ciclo W0ile es e(ui5alente al mostrado en la )igura A <ste se le 0a agregado un contador (ue suma un 5alor inicial U0L con el contador. para mostrar en el indicador FiGDBL. un n6mero (ue 5a desde 0 0asta 07/ / es el n6mero de 5eces (ue se e4ecuta el ciclo por ser el 5alor (ue entra a U"L CUADROS DE CASOS CASE E, una estructura de comparacin y e4ecucin condicionada donde de acuerdo a alg6n par2metro se reali9an las operaciones de un cuadro u otro ,i el par2metro de condicin es del tipo 5erdaderoD)also cuando <ste es 5erdadero se e4ecuta un contenido. y cuando es )also se e4ecuta otro De esta )orma solo son posi/le dos opciones de e4ecucin ,i el parametro es un n6mero. se e4ecuta un cuadro cuyo n6mero de identi)icacin corresponde al 5alor de entrada En este caso pueden 0a/er tantas opciones de e4ecuciones como se desee Para o/tener esta estructura. /uscarla en el su/men6 de e&t%)ct)%a& A co#&ta#te&. en el men6 de )unciones Indicador de n6mero de caso
Para agregar un cuadro de caso cuando se usa un par2metro de seleccin num<rico. solo /asta seleccionar el popDup men6 de la estructura. dando clic8 con el /otn derec0o y seleccionando FAdd Case A)terG para un caso de n6mero siguiente. o FAdd Case Be)oreG Dentro de este pop men6. se encuentran otros par2metros de control de estas estructuras Para 5er el contenido de cada caso. solo /asta seleccionarlo con las )lec0as del indicador del caso En el e4emplo se aprecian los cuadros de caso de tipo /oleano y los de tipo Fs1itc0G donde la entrada es num<rica Con solo conectar la entrada. se crea el tipo de caso Para cada caso en el e4emplo. se conecta una constante a el indicador. (ue corresponde al caso (ue se e4ecuta LAS SECUENCIAS Como el La/Vie1 es un lengua4e de tipo multiproceso. puede e4ecutar 5arias partes del programa simultaneamente Adem2s las )unciones se 5an operando cuando llegan todos los par2metros de entrada de cada una lo (ue no da muc0a certe9a de (ue )uncin se reali9a primero Pero si por alguna ra9n se desea (ue un cun4unto de operaciones se reali9e antes (ue otro. se puede agregar una estructura de secuencias. la cual e4ecuta el contenido del primer cuadro. luego el del segundo. y as sucesi5amente tal como en una cinta de )otos para cine. cada )oto sigue a la otra Para agregar un cuadro adicional tal camo en las estructuras case. se logra por medio del popDup men6 en el /orde del marco. Add Erame Para seleccionar el cuadro en el (ue se edita se usa el indicador en el e3tremo superior del marco Un truco posi/le para lograr (ue una )uncin siga a la otra sin usar cuadros de secuencias. es usando ca/les (ue delimiten un )lu4o o/ligatorio
En el e4emplo se aprecian dos ciclos los cuales al e4ecutarlos lo 0acen simultaneamente. as al presionar el /otn de estop de cada uno. se detienen independientemente Los ciclos simplemente cuentan n6meros ,i se desea (ue primero pase el ciclo uno y al presionar el estop de <ste pase el segundo. se puede lograr tal e)ecto con los cuadros de secuencia as: Indicador de n6mero de cuadro
El mismo e)ecto se logra en algunos casos con el truco antes mencionado. como en la )igura. pero no siempre es com5eniente. por lo (ue es me4or usar la secuencia. adem2s de (ue <sta reduce la e3tensin del diagrama
VARIABLES Los parametros de entrada para una )uncin pueden lograrse a tra5<s de controles. indicadores. e incluso 5aria/les Las salidas pueden usarse para mostrarse en indicadores o simplemente para ser almacenadas en los mismos elementos los cuales son las 5aria/les Estas se usan para almacenar datos y pueden ser de dos tipos seg6n su uso. de tipo Local o de tipo Glo/al L%CALE, ,on 5aria/les asociadas a alg6n control o indicador dentro de un programa VI. en el cual son usadas Cuando se escri/e en una de <stas. elcontenido del indicador o control cam/ia El uso de estas 5aria/les )acilita la 5isuali9acin en el digrama cuando se 5a a accesar 5arias 5eces un mismo dato. puesto (ue e5ita llenar de ca/les conductores la pantalla. (ue conduscan el 5alor desde el control al lugar re(uerido ,on una )orma adecuada de escri/ir so/re un control. desde el algoritmo Las 5aria/les locales solo son entendidas por el programa VI (ue las posee. ninguna su/rutina entiende el contenido de <stas. ni ning6n programa VI di)erente Para o/tener una de estas 5aria/les. se /usca por el men6 de estructuras y constantes. L%CAL Para seleccionar el indicador o control (ue se accesa. seleccionar por medio del popDup men6 de la 5aria/le. ,ELEC# I#E& ,i se desea leer un 5alor de la 5aria/le seleccionar en el popDup menu CHA"GE #% !EAD El cono de la 5aria/le mostrar2 las paredes laterales mas gruesas (ue en el caso de la 5aria/le a la (ue se escri/e Para escri/ir seleccionar en el popDup men6 CHA"GE #% W!I#E En el e4emplo se aprecia como para no tener (ue lle5ar ca/les desde el terminal del /otn de stop al otro ciclo. para detenerlo simult2neamente. simplemente se lee el dato de una 5aria/le asociada En el primer cuadro se muestra un cono de una 5aria/le para ser escrita con un dato. pero como no est2 conectado a ninguna )uente de 5alores. se genera un error (ue no permite e4ecutar el programa. lo (ue se puede notar por la )lec0a de e4ecucin rota
GL%BALE, La di)erencia con las 5aria/les locales radica en (ue estas pueden ser entendidas por cual(uier programa yTo su/rutina VI. y pueden ser actuali9adas por los mismos Estas se almacenan en un arc0i5o di)erente de e3tensin +GLB (ue consta 6nicamente de un panel )ront2l donde se encuentran todas las 5aria/les asociadas a dic0o arc0i5o. lo (ue (uiere decir (ue en un arc0i5o se pueden guardar numerosas 5aria/les Para crear una 5aia/le glo/al. se selecciona del munu de estructuras y constantes Luego con el popDup men6 se da la orden de a/rir el panel )rontal de esta 5aria/le. y all se colocan todos los indicadores y controles (ue almacenan los datos deseados Posteriormente se gra/a como cual(uier otro programa VI. pero con e3tensin DBL Con la 5aria/le creada solo es seleccionar en el popDup men6 del cono de la 5aria/le con ,ELEC# I#E&. el 5alor al (ue se lee o escri/e Para colocar en el diagrama otra 5aria/le glo/al de el mismo dato. a0ora se 0ace por medio de la opcion VI. en el men6 de )unciones. tal como si se )uera a usar una su/rutina ya creada ,e 5e como la paleta de las 5aria/les glo/ales y el cono principal cam/ia
En el e4emplo el dato del /otn stop se escri/e a una 5aria/le glo/al. (ue se lee en otros lados del programa #am/i<n puede ser leido en otro su/programa Los cam/ios entre lectura y escritura. son id<nticos al procedimiento con las 5aria/les locales Igualmente se aprecia (ue el cono en estado de lectura es di)erente al de escritura CUADROS DE FRMULA Cuando se reali9an operaciones matem2ticas comple4as donde 0ay muc0os c2lculos distintos. tener un cono por cada operacin puede ser comple4o e implicar muc0os ca/les y conecciones. (ue di)icultan el entendimiento del diagrama y alargan el tiempo de programacin Un me4or camino es tomar todas esas )unciones y 4untarlas en un cuadro de )rmula. donde se escri/e la operacin de una )orma te3tual Al cuadro se le agregan unos conectores de entrada y salida de datos. con el nom/re de los par2metros inscritos. y de alli se alam/ran los conductores Para agregar entradas o salidas 0acerlo por medio del popDup men6 Add I#)t o Add O)t)t Para escri/ir y corre4ir usar la 0erramienta de te3to Como regla despues de cada )uncin se de/e colocar un punto y coma FJG El cuadro de )rmula se encuentra en el men6 de )unciones. estructuras y constantes
En el e4emplo se aprecia una )rmula complicada con muc0os alam/res. la 5ersin con cuadro de )rmula (ueda as: B+ FUNCIONES8 MATRICES8 STRINGS8 FILE8 ICO En <ste capitulo se tratan algunos tipos de )unciones especiales como son las usadas para mane4ar &atrices +Arrays-. ,trings o cadenas de caracteres. Arc0i5os. y )ormas de entrada y salida como es el sistema DA* MATRICES Las matrices son con4untos de datos los cuales se almacenan uno detr2s de otro. en )ila o columna. si se 0a/la de una dimensin. y en cuadros para matrices /idimensionales Las matrices o arreglos pueden tener tantas dimenciones como se desee El mane4o de c2lculos y operaciones con matrices es tema de materias como Alge/ra Lineal. por lo cual no se esplica a )ondo su comportamiento Las matrices son la /ase de los grandes c2lculos reali9ados por el computador. (uien se puede decir (ue posee su memoria en )orma de matri9. donde cada 5alor est2 u/icado en un lugar de la memoria Como se 0a mencionado se pueden usar ciclos para )ormar matrices de datos. e incluso ciclos anidados para )ormar matrices de 5arias dimensiones ,e recomienda mirar los e4emplos de mane4o de matrices. arrays. en el directorio de ENA&PLE,. GE"E!AL A!!AO,LLB. en la carpeta de Arc0i5o del LABVIEW. y cargar los VI (ue son de ayuda para comprender m2s a )ondo Como se 0a 5isto los ca/les (ue conducen datos de matrices son m2s gruesos Hay )unciones para multiplicar matrices por una constante. sacar el 5alor determinante. sacar una su/matri9 (ue contenga parte de los elementos. a5eriguar un elemento de la matri9. reempla9arlo. o agregar uno nue5o Para el La/Vie1 una matri9 puede ser de dos dimensiones as una de las dimensiones sea de un elemento. osea (ue un 5ector se puede tomar como matri9 /idimencional. siempre y cuando se especi)i(ue as Es per)ectamente )acti/le tomar 5arios elementos y por medio de una )uncin BUILD A!!AO 4untarlos en una matri9
#odos los elementos de la matri9 de/en ser del mismo tipo. de no ser as como en el e4emplo. la matri9 )ormada si los tendr2. produciendose un cam/io polimr)ico (ue puede ser traer consecuencias de impresicin ,i se desea unir un elemento a una matri9. se puede usar la misma )uncin Build Array para encadenarlos.esto se logra entrando la matri9 inicial como arreglo y no como elemento Para esto seleccionar el popDup men6 de la entrada de Buid Array. y seleccionar C3a#2e to A%%aD ,e nota como la e/trada cam/ia en su con)iguracin para aceptar una matri9
,i se da entrada a dos o m2s matrices de una dimensin. del mismo tamaIo. como elementos. se crea una matri9 de dos dimensiones. como apilando capas de )ilas ,i se da entrada a dos o m2s matrices de dos dimensin. del mismo tamaIo. como elementos. se crea una matri9 de tres dimensiones. como apilando capas de planos As sucesi5amente Para agregar una dimensin al control solo /asta cam/iar el tamaIo de los indicadores de ndice de la matri9. con la 0erramienta de posicionamiento Para sacar una su/matri9 de otra mayor. se puede usar la )uncin Array ,u/set. dando los ndices de la matri9 a sacar. y el tamaIo &atri9 Principal ,u/matri9
Las )unciones para operar con matrices se encuentran dentro de los menus de )unciones. Array M Cluster. y Analysis Para crear un control de &atri9. o un indicador. solo 0ace )alta seleccionarlo en el panel )rontal del men6 Controls. Array M Cluster. A!!AO. y u/icarlo Luego colocar dentro el tipo de control o indicador deseado. sea num<rico. o /oleano
CLUSTERS Un Cluster es una agrupacin de datos. de di)erente tipo. como ya se 0a/a mencionado. donde todos los ca/les se 4untan en uno solo para )acilitar el ca/leado en el diagrama de /lo(ues Para 4untar los datos se usa la )uncin Boundle. y para separarlos la )uncin Un/undle Igual (ue en una coneccin electrica de un automo5il. tam/i<n es posi/le sacar una sola lnea de todo el ramal. si se sa/e como se llama la linea. por medio de la )uncin Un/undle By "ame Cuando se usa la )uncin Bundle. se de/e conectar todos los terminales Cuando se usa la )uncin Un/undle. la dimensin de las conecciones de/e coincidir con el n6mero de ca/les (ue <ste lle5a. lo (ue se logra cam/iandole el tamaIo por medio de la 0erramienta de posicionar Fla )lec0a de la paletaG. alargando en una es(uina Cuando se usan las )unciones Bundle y Un/undle. se de/e tener especial cuidado con el orden en (ue los instrumentos son conectados dentro de los controles o indicadores de cluster. pues esto determina el orden de los ca/les en los conectores Bundle y Un/undle. y dentro de los mismos ca/les para conectar con otros cluster Para cam/iar el orden interno se puede 0acer por el popDup men6 del marco de cluster dentro del panel de control. con la )uncin Cluster %rder. y cam/iando el n6mero de orden de cada elemento dentro del cuadro Errores de compati/ilidad de ca/les pueden resultar de un orden inadecuado En el e4emplo se aprecia como un ca/le de cluster pro5eniente de una entrada. se des/arata en todos sus elementos y se 5uel5e a agrupar Luego a este ca/le grueso se accesa el conductor U"6meroL y en este se coloca el dato del indicador "6mero El resultado se lle5a al cuadro cluster de salida En el e4emplo tam/i<n se aprecia como un con4unto de datos se agrupan en un ca/le. y a este mayor se accesa el dato U"6meroAL el cual se 5isuali9a en el indicador de resultado STRINGS Los string o cadenas de caractere son con4untos de datosal)anum<ricos como lo son letreros. anuncios y ta/las de letras El almacenamiento de estos es en cdigo A,CII. en modo de te3to %perar con strings tiene muc0a similitud con el mane4o de matrices Hay )unciones para dar la longitud de la cadena. para com5ertir parte de la cadena a n6meros. para sacar una su/seccin de la cadena. y para 4untar cadenas menores para lograr una mayor. entre muc0as otras Es muy di)erente almacenar un FKG como n6mero (ue como caracter. pues como n6mero representa el 5alor uno. usado para c2lculos. mientras (ue como caracter se almacena en memoria como su identi)icador A,CII. el cual e un cdigo con un n6mero muy distinto (ue se encuentra entre B y ACC. el cual es el rango de este cdigo. ya (ue posee un solo /yte Generalmente almacenar caracteres ocupa poco espacio en memoria. pues un solo /yte es menos (ue lo ocupado por un n6mero tipo DBL donde se usan 5arios Bytes para tenerlo en memoria
En el e4emplos se muestra como tomar un ,tring inicial dado en el string control. y por medio de una )uncin de ,tring ,u/set. se saca un tro9o de letrero de una longitud de doce caracteres a partir de el caracter n6mero doce. y el tro9o se 5isuali9a en el indicador #am/i<n se encuentra un e4emplo donde se con5ierte una cadena de caracteres en una matri9 de n6meros cuyo 5alor A,CII representa la cadena en el control FILE ,on )unciones (ue permiten accesar in)ormacin guardada en disco duro o dis(uettes. por medio de los directorios Con estas instrucciones se pueden almacenar datos o/tenidos en el transcurso de la e4ecucin del VI ,e recomienda mirar los e4emplos so/re el mane4o de estas )unciones en el Directorio de E3amples. EILE. en el La/VIEW. para tener una /uena comprensin Para mane4ar arc0i5os. se de/e seguir 5arios pasos D,a/er (ue arc0i5o se 5a a mane4ar Esto se puede lograr tomando una lista de directorio en el lugar donde el arc0i5o se encuentre DA/rir el Arc0i5o Por medio de una instruccin %pen ,i el arc0i5o no e3iste. se de/e crear. con la )uncin "EW Cuando el arc0i5o est2 a/ierto se le asigna un n6mero de identi)icacin. para escri/ir o leer /a4o este concepto DEscritura o lectura en el arc0i5o. /a4o el n6mero de identi)icacin dado DCerrado del arc0i5o ,i el arc0i5o no se cierra. permanece a/ierto. limitando la posi/ilidad de tra/a4ar en otros. y ocupando al computador En el e4emplo se aprecia como /ra/ar un grupo de datos de una )uente senoidal. en un arc0i5o /inario Para 0acer uso de cada )uncin /uscar su mane4o en la 5entana de 0elp Dentro de las )unciones de mane4o de arc0i5os 0ay algunas listas para escri/ir en )ormato de 0o4as de c2lculo. como las usadas en E3cel. donde los datos entre columnas se saparan por ta/ulaciones. y entre )ilas por UenterL DAQ I!O Y OTRAS" La/Vie1 cuenta adem2s de las )unciones normales de programacin. con otras en )orma de VI para ser usadas como su/rutinas en aplicaciones de grado m2s comple4o. como son las 0erramientas usadas para comunicaciones Estas )unciones cuentan con los programas Dri5er. para mane4ar dispositi5os (ue se conectan al computador. como /alan9as. osciloscopios. y muc0os m2s Como se tienen estos Dri5er. no se 0ace necesario conocer a )ondo el m<todo de programacin de estos e(uipos. solo /asta usar las rutinas (ue los mane4an Un programa Dri5er consta de los siguientes elementos: Iniciador o Con)igurador: Entrega el modo de empleo. y como ser2 la comunicacin al instrumento o tar4eta Esta/lece metodos de gatilleo. y con)iguracin del dispositi5o para (ue )uncione Iniciador de medicin y presentador de estado: %rdena a la tar4eta o dispositi5o (ue tome datos. o tome su propio estado #rasladar datos: Lle5ar o traer los datos del dispositi5o al computador. para ser usados como sea necesario Utiles: Para leer errores. resetear el peri)erico. o pedir autoc0e(ueo y autocali/racin Cerrar: Cerrar la comunicacin con el dispositi5o. para (ue se mantenga en un estado esperado En comunicaciones e3isten numerosos m<todos de tra/a4o. como son: Co4)#!cac!"# co# ta%-eta& DAQ+ Las tar4etas DA* son tar4etas inserta/les (ue permiten la entrada y salida de datos del computador a otros aparatos. donde se conectan sensores. y actuadores. para interactuar con el mundo real Los datos (ue entran y salen pueden ser seIales digitales o an2logas. o simplemente conteos de ocurrencias digitales. tanto de entrada. como de salida Las tar4etas se comportan como si )ueran un puerto m2s en el computador. y poseen todo un protocolo y sistema de mane4o. por lo (ue entender cada tar4eta. como su )uncionamiento. al igual (ue cual(uier instrumento. re(uiere de tiempo y cuidado E3isten tar4etas de alto desempeIo. y de /a4o Las de alto son programa/les. y )acilitan altas ratas de mane4o de in)ormacin. pues son en cierta )orma inteligentes y su)icientes. tal como un sistema ,tand Alone. y por tanto no comprometen muc0o la 5elocidad y rendimiento del computador Las tar4etas de /a4o desempeIo re(uieren de un control directo del computador. y se 5en limitadas por la 5elocidad de <ste El 1indo1s en cierta )orma es un sistema operati5o (ue no tra/a4a en tiempo real. para operaciones donde la rata de muestreo es muy alta. como en aplicaciones de audio. radar. 5i5raciones y 5ideo. aun(ue para aplicaciones de lentitud considera/le es /ueno. como en controles de 0ornos En aplicaciones lentas Windo1s y tar4etas simples /astan por(ue los tiempos perdidos por el sistema de interrupciones de Windo1s +sea por mo5er el mouse o cual(uier otra cosa- no a)ectan comparati5amente Para aplicacines de alta 5elocidad y tiempo real. se re(uiere de 0ard1are especial. osea tar4etas inteligentes. (ue se programen. y trans)ieran los datos a memoria. ya sea por rutinas de D&A +acceso directo a memoria-. o por rutinas de interrupciones al procesador Las tar4etas como cual(uier otro peri)<rico. re(uiere de sus par2metros de programacin. y 0asta protocolos de comunicacin. por lo (ue se re(uiere de un so)t1are Dri5er (ue mane4e lo /a4o de programacin. y de4e en la super)icie. la posi/ilidad de programar aplicaciones con los /ene)icios de dic0as tar4etas. de una )orma sencilla La/VIEW o)rece acceso a los dri5er desde las rutinas de con)iguracin Los dri5er disponi/les son para las tar4etas de la "I "ational Instruments. pero en el mercado se consiguen dri5er para otras marcas como PCDLAB La con)iguracin se 0ace a tra5<s del programa ane3o a La/Vie1. "IDDA* Co4)#!cac!"# a t%a/E& de' )e%to &e%!a'+ ,e trasmite la in)ormacin por un puerto (ue puede ser el C%&K o el C%&A. de )orma serial. osea a tra5<s de un solo ca/le. y cada /it pasa uno tras otro a alta 5elocidad Para la comunicacin entre computadores se esta/lece un protocolo com6n para (ue la in)ormacin sea entendida por am/os ,e de/e de)inir el tamaIo de los BUEEE! para almacenar datos mientras se reali9a la comunicacin #am/i<n se de/e de)inir si 0ay Hands0a8ing. el cual consiste en (ue el (ue reci5e cuando 5alla a tener lleno el /u)er de in)ormacin mande una instruccin +,i es por so)t1are es un comando RctrlD,S. si es por 0ard1are por una linea- para detener la trasmisin. y otra para reanudar la transmisin de in)ormacin +Por so)t1are RCtrlD*S. por 0ard1are una linea- ,e de/e tener cuidado al trasmitir caracteres como RCtrlD*S y RCtrlD,S por(ue pueden ser tomados como isntrucciones La/Vie1 cuenta con )unciones para iniciar. escri/ir y leer el puerto serial Co4)#!cac!"# a t%a/E& de )# )e%to de GPIB+ EL GPIB +General Purpose Inter)ace Bus A",ITIEEE @>>K y @>>A-. es un puerto diseIado por la He1lett Pac8ard. para esta/lecer comunicacin con instrumentos de medicin &uc0os de los instrumentos como son Balan9as. %sciloscopios. multmetros y e(uipos de tipo F,tand AloneG +(ue no re(uieren de un computador para )uncionar. son independientes- cuentan con este tipo de puerto Los mane4os de este puerto y los protocolos y controles de so)t1are Dri5er para GPIB son comple4os y no se esplicaran en este li/ro. por ser <ste simplemente una introduccin para los principiantes ,i se desea tener un me4or conocimiento )a5or remitirse a los cat2logos y manuales del La/Vie1 Esta capacidad de comunicacin es uno de los )uertes del La/Vie1. pues este 5iene con 5ariedad de li/reras de so)t1are dri5er. controlador de los instrumentos. con los protocolos de comunicacin (ue mane4a cada uno. as no se re(uiere de conocer el ni5el m2s /a4o de programacin de dic0os instrumentos. simplemente es mirar si se tiene el dri5er de dic0o instrumento. y conectarlo
Co4)#!cac!o#e& co# %ede& TCP8 UDP Para comunicacin de e(uipos en red Ea5or remitirse al manual Co4)#!cac!o#e& d!#F4!ca& e#t%e %o2%a4a& de *!#do7& DDE+ ,i se tiene una /ase de datos a/ierta. es posi/le accesar datos de esta. y usarlos por el La/Vie1. y 5ice5ersa. lo (ue sir5e para una actuali9acin din2mica Ver los e4emplos en el directorio de E3amples ,e recomienda tener un conocimiento claro del uso de aplicacines en Windo1s. como es Acces. y tenerlo cargado y )uncionando !emitirse al manual Pa%a )&)a%!o& co# INPORT8 OUTPORT+ ,i simplemente se tiene conectada una tar4eta )a/ricada en casa. y se conoce la direccin de memoria del puerto al (ue est2 conectada. y solo 0ace )alta leer o escri/ir datos en esta locali9acin. se puede 0acer por medio de los comandos I"P%!# u %U#P%!#. dando el 5alor a escri/ir. oreci/iendo el 5alor a leer. dando la direccin. y especi)icando si se lee o escri/e un solo /yte. o dos +W%!D-
G+ PANEL FRONTAL DE CONTROL PRESENTACION DEL PANEL FRONTAL El panel )rontal es el medio con el (ue el programa interactua con el usuario &ientras m2s es(uem2tico sea. m2s 0umano. m2s entendi/le. y m2s cerca del usuario se encuentre. muc0o me4or Posi/lemente (uien use el programa no tenga la menor idea de como usar un computador. por lo (ue en aplicaciones como en la automati9acin de plantas. si se contara con un di/u4o mmico del proceso )acilitara muc0o el tra/a4o del operario La/Vie1 como lengua4e gr2)ico cuenta con m6ltiples 0erramientas de diagramacin y presentacin de la in)ormacon. de una )orma clara. como son los indicadores num<ricos. los de tipo /oleano. strings. arrays. ta/las. etc y los controles e(ui5alentes #odo indicador se puede usar como control si se con)igura como <ste. por medio del popDup men6 del mismo. con la opcin C3a#2e to Co#t%o' Lo mismo con los controles con C3a#2e to I#d!cato% Los controles e indicadores son colorea/les con la 0erramienta de color para una me4or presentacin El men6 de Controls cunenta con un su/men6 de decoracines (ue pueden ayudar con la presentacin I"DICAD%!E, O C%"#!%LE, "U&Y!IC%, Algunos controles e indicadores "um<ricos son los digitales. los de perilla. los de desli9ador. y otros tal como se encuentran en los e(uipos de sonido u otros aparatos comunes Cada control tiene sus di)erentes par2metros para con)igurar a tra5<s del popD up men6 propio ,e puede lograr (ue muestre un la/el o letrero con el nom/re. mostrar un display con el dato marcado. (ue muestre o no la escala #am/i<n es posi/le agregar una in)ormacin de e3plicacin e in)ormacin Escala Para cam/iar la escala solo 0ace )alta usar la 0erramienta de te3to. para usarla so/re la escala del control directamente y alli escri/ir los 5alores m23imos y mnimos deseados Un control num<rico se puede con)igurar para (ue muestre los 5alores en n6meros %C#ALE,. HENADECI&ALE,. BI"A!I%,. DECI&ALE,. si el dato (ue mane4a es de tipo entero con o sin signo. por medio dela opcin Eormat M Presicion del popDup menu del control ,i es de tipo punto )lotante. se puede 5ariar el EIN o n6mero de ceros decimales. adem2s de mostrar notaciones cient)icas o de ingeniera. a tra5<s de la msma opcin
I"DICAD%!E, B%LEA"%, Los s1ic0es /oleanos son controles (u retornan solo dos 5alores al programa. o uno o cero. 5erdadero o )also Los indicadores solo muestran esas posi/ilidades Indicadores /oleanos e3isten muc0os. como son los /om/illos piloto. los LED. y otros ,1ic0es tam/ien e3isten de numerosos tipos. como son palancas. pulsadores. /otones. etc Entre los /otones y pulsadores 0ay numerosas con)iguraciones de )uncionamiento. como por e4emplo (ue el /otn retorne un 5erdadero despu<s de oprimir y soltar. o (ue retorne el 5erdadero al oprimir y al soltar regrese a su posicin de )also. etc Para cam/iar la con)iguracin del /oleano. 0acerlo por su popDup men6 a tra5<s del su/men6 Mec3a#!ca' Act!o# A!!AO M CLU,#E! Los indicadores y controles de array y cluster son cuadros donde se colocan otros indicadores o controles. para el mane4o de estas estructuras Un control solo sir5e como control. y un indicador solo sir5e como indicador Para 0acer el cam/io 0acerlo como cual(uier otro control Para agregar dimensines a las matrices 0acerlo con la 0erramienta de posicionamiento. agrandando el indicador de las dimensiones Un cluster puede contener un Array interno . 4unto con otros elementos Un array o matri9 puede estar )ormada de clusters Esto es 6til en aplicaciones de /ases de datos G!AEICAD%!E, La/Vie1 cuenta con algunos controles o indicadores (ue presentan gr2)icas de los datos o/tenidos en el programa Estos se encuentran en el su/men6 Grap0 en el men6 de controles Para cada uno se pueden con)igurar muc0os par2metros como escala de la gr2)ica. autoescala. color de las lneas. n6mero de lneas en una gr2)ica. presentacin de letreros. paletas de control. indicadores. etc La/el Leyenda Display ,croll Bar Escala Paleta de Herramientas
Entre los gra)icadores se encuentran: Wa5e)orm C0arts: Como el anteriormente di/u4ado permite entrar datos de a un n6mero. o en una matri9 de una dimensin Gra)ica dando automaticamente la secuencia en el e4e N. simplemente por el dato (ue sigue al anterior. osea por pasos El e4e N siempre corresponde a tiempo ,i se gra)ican dos o m2s datos al tiempo se de/en entrar como un ca/le cluster. como se muestra en la )igura ,i se deseea entrar todos los datos al tiempo para llenar un /u))er de la gr2)ica. 0acerlo como una matri9. y si se desea gra)icar llenando /u))ers de 5arias gra)icas simultaneamente. entrar los datos como una matri9 de clusters Wa5e)orm Grap0: De comportamiento similar a la Wa5e)orm C0art. pero con esta ya se puede de)inir la escala en el tiempo. a los 5alores deseados. mientras (ue en la anterior la escala en N es propiamente de pasos. m2s (ue tiempo NO Grap0: En <sta se entran los datos por pares ordenados en una matri9 /idimensional. o una matri9 de clusters de dos datos cada uno N.O Permite gra)icar )unciones matem2ticas. circulos. etc. dando una secuencia de puntos. N.O Intensity Grap0 e Intensity C0art: Para gra)icar planos de di)erentes colores. para matrices de dos dimensiones. donde los 5alores contenidos corresponden a un color ATRIBUTOS DE LOS CONTROLES Cuando se crean controles e indicadores se puede desear (ue estos cam/ien su con)iguracin durante el curso del programa. para e)ectos de 5isuali9acin #am/i<n se puede desear o/tener datos del estado de los controles Por e4emplo (ue al oprimir un /otn apare9ca un panel adicional de controles. sin necesidad de llamar una su/rutina. o (ue con un /otn se tenga el 9oom de una gr2)ica #odo esto se logra a tra5<s de un nodo de atri/utos. el cual se o/tiene por medio del popDup men6 de cada control. por la opcin C%eate Aat%!5)te Node Cuando esto se 0ace aparece un cono asociado al control en el diagrama de /lo(ues. el cual puede usarse para reci/ir o entregar datos En el e4emplo se tiene un nodo asociado al indicador del tan(ue Este nodo constantemente controla si se 5e o no. el tan(ue en el panel )rontal +UVisi/leL- Esta operacin es independiante a lo (ue muestra el tan(ue. una serie de n6meros aleatorios. 0asta (ue se de stop al programa Los atri/utos de nodos pueden controlar muc0os )actores en los controles Para cam/iar entre los posi/les )actores a 5ariar o leer en el nodo. 0acerlo por medio del popDup del men6 del modo. a tra5<s de la opcin Se'ect Ite4 A tra5<s de estos nodos esposi/le leer la posicin de un gursor dentro del gra)icador. y muc0o m2s Para tener una me4or idea de los "odos de Atri/utos. mirar los e4emplos en el directorio de E3amples. General. Atri/ute del La/Vie1
EDICION DE CONTROLES ,i los controles o)recidos por el La/Vie1 no parecen satis)actorios. se pueden editar para lograr (ue tengan una presentacin como se desee Por e4emplo (ue muestren el mmico de una /om/a en estado de prendido. y una /om/a en el estado de apagado Es tal el grado de edicin (ue no sera am/icioso esperar (ue un control )uera el rostro de una persona guiIando un o4o. donde este mo5imiento sera de tipo /oleano Para editar controles se de/e seleccionar con la 0erramienta de posicionamiento un control con )unciones y caractersticas similares al control (ue se desea o/tener Luego en el mun6 de edit seleccionar Ed!t Co#t%o' Aparecera una nue5a 5entana para editar el control y modi)icarlo El control nue5o se puede gra/ar como un arc0i5o de e3tensin C#L Por e4emplo se 5e la carta de Po8er lograda desde un control de )iguras Pict !ing El panel mostrado presenta 0erramientas similares a las del panel )rontal en modo de edicin pero en 5es de tener un /otn para e4ecutar posee uno de %Z para aceptar cuando est2 listo El /otn de cam/io de modo 5ara entre un modo de edicin general tal como en el panel )rontal. y un modo de despie9e del control ,e aprecia con )orma de lla5e inglesa En este modo se puede tomar cada parte del control y modi)icarlo independiente ,i se tiene un di/u4o dentro del ClipDBoard. con el popDup men6 de cada parte se puede usar la opcin I4o%t P!ct)%e para reempla9ar esa parte por el di/u4o en el Clip Para u/icar los controles ya gra/ados en el panel )rontal. 0acerlo por la opcin Co#t%o'+++ en el men6 de controles 7+ PROGRAMAS E(EMPLO A" CONTROL DE UN MOTOR PASO A PASO: E"U"CIAD% La idea es controlar un motor de pasos el cual est2 conectado a una tar4eta (ue sale del puerto paralelo del computador. la cual est2 locali9ada en la posicin de memoria H=P> El motor consta de cuatro /o/inas (ue se de/en emergi9ar intercaladamente. seg6n una secuencia dada (ue determina el sentido de giro y el tamaIo del paso Como son cuatro /its. son K? las posi/les com/inaciones de las cuales se usan oc0o La com/inacion esta dada asi en orden: KBKB. KBBB. KBBK. BBBK. BKBK. BKBB. BKKB. BBKB. de )orma (ue si el coam/io 5a de i9(uierda a derec0a el motor sigue una direccin. con mo5imientos de medio paso ,i 5a de derec0a a i9(uierda. el motor gira en sentido contrario. tam/i<n de a medio paso Para 5ariar pasos enteros se de/e saltar un n6mero en la secuencia. de cdigo /inario ,e de/e controlar el n6mero de pasos (ue se desea dar. la 5elocidad del motor. y se de/e determinar con un /otn el sentido de giro. y con otro /otn si a5an9a de a uno o medio paso Como cada puesta en un cdigo implica estar en una )ase de estado entre oc0o posiciones. se de/e reportar en (ue )ase (ued al )inal. y al empe9ar de nue5o el programa de/e comen9ar por la )ase en (ue termin anteriormente. para e5itar /lo(ueos del motor De/e mostrar La com/inacin de /its en (ue pasa a cada momento. y el n6mero de pasos (ue 0a dado actualmente DE,A!!%LL% K Crear el p2nel )rontal con los /otones y controles deseados: "6mero de pasos. Puerto. ,entido. &edio Paso. Velocidad. Bits de Control. Ease. "6mero de pasos actuales. #omando en cuenta cuales son controles y cuales indicadores +)ase. Bits de cont. "um de pasos actuales- Como n6mero de pasos no es )raccionario. se con)igura como un entero de =A /its. (ue es lo (ue entiende un ciclo EorD"e3t #omar en cuenta (ue ,entido y &edio Paso son controles /oleanos Bits de Control es un array de indicadores /oleanos LED A Crear el diagrama de /lo(ues o programas Un ciclo EorD"e3t repetir2 su contenido el n6mero de pasos o mediopasos (ue se 5allan a dar
Un ,0i)t !egister almacenar2 el estado de )ase en el (ue se encuentra y ser5ir2 para alimentar un cuadro de casos del uno al P. donde seg6n el n6mero de estado permitir2 a un n6mero /inario ir al cuadro outport %utport escri/e dentro de la locali9acin del puerto. el n6mero dado por el cuadro Case El n6mero /inario se traduce a una matri9 de /oleanos por medio de un con5ersor. y es mostrado en la matri9 Bits de Control
,eg6n el sentido de giro se resta o suma un 5alor al n6mero de estado para (ue pase al estado siguiente. y este 5alor se lle5a al ,0i)t !egister para (ue sea el n6mero (ue realmente dice el estado actual ,i el nue5o estado es un numero menor (ue cero. el estado actual de/e 5ol5erse siete. y si es mayor (ue siete de/e 5ol5erse cero. para (ue nunca 0allan 5alores (ue se salgan del rango
,i se trata de un paso entero se sumar2 o restar2 dos estados y si se trata de medio paso se sumar2 o restar2 uno al 5alor del estado El indicador de n6mero de pasos se conecta al contador del ciclo para sa/er cuantos ciclos se 0an dado El control de 5elocidad se conecta a un tempori9ador (ue 0ace (ue pasen determinado n6mero de milisegundos entre ciclo y ciclo Al terminar todos los ciclos el contenido del ,0i)t !egister pasa al indicador de )ase para 5er en (ue )ase (uedo ,e aprecia como el contenido del ,0i)t inicial sale de una 5aria/le local asociada al contenido de la )ase. as cuando comie9a el programa en el s0i)t inicial entra el contenido de esta 5aria/le. (ue no es m2s (ue el contenido de la )ase )inal de la 6ltima 5e9 (ue se corri el programa Este algoritmo es una de las posi/les solucines a este pro/lema. aun(ue e3isten muc0as mas soluciones Una me4ora (ue se de4a al usuario es 0acer (ue cuando 5alla en el estado siete y trate de aumentar un paso. tratando de pasar al Q y como este no e3iste pasa al cero. de/iendo pasar al uno. 0aciendo (ue de so/resaltos el motor Esto se logra 0aciendo (ue en 5es de cam/iar el estado por cero. simplemente reste oc0o &uy similar para el sentido contrario = Crear el cono del programa. y 0acer las conecciones del panel )rontal con los conectores del cono. para poder ser llamado como su/rutina. y gra/ar el VI B" PROGRAMA DRIVER DE UN ENCODER DE DOS BITS" E"U"CIAD% ,e tiene un sensor encoder el cual consta de una regla per)orada. dos emisores de lu9 y dos )otosensores ,eg6n alternen las seIales en los )otosensores. con lu9. no lu9. uno y cero. se puede detreminar el mo5imiento de los sensores respecto a la regla. seg6n la secuencia Entre cam/io y cam/io de estado e3iste medio paso de a5ance de la regla. donde un paso es el anc0o de un 0ueco. o el anc0o entre separaciones de 0uecos Los )otosensores estan separados paso y medio La secuencia es BB. BK. KK. KB en retroceso. y KB. KK. BK. BB en a5ance 0acia adelante ,e desea (ue el programa muestre el estado de los sensores. muestre la posicin a/soluta respecto al origen de la regla. permita resetear el origen al lugar donde e encuentra. y detener el programa K Crear el p2nel )rontal con los controles e indicadores re(ueridos. Dos LED,. uno para el estado de cada sensor. un indicador para la posicin. un /otn de stop. y un de reset
A Crear el diagrama de /lo(ues Como se de/e c0e(uear constantemente 0asta (ue se detenga el programa. se 0a/re una estructura W0ile. y se conecta al /otn de stop a tra5<s de un elemento negador. para (ue cuando el /oton sea presionado se 0aga 5erdadero. y al negar se 0aga )alsa la entrada al control del ciclo para (ue se detenga El /oton 0a sido con)igurado como pulsador. por medio de la opcin &ec0anical Action en el pop men6 del stop Como se trata de un elemento con memoria donde se compara un estado actual con uno anterior. se colocan dos ,0i)t register para almacenar el estado anterior de los sensores y actuali9ar esta in)ormacin con lo leido desde el puerto %tro ,0i)t almacena la posicin respecto el origen. y mediante los cam/ios se actuali9a El nue5o estado de los sensores es tomado por la su/rutina import a la cual se le da como par2metro. el puerto en el (ue de/e leer. y retorna los dos /its deseados. (ue son lle5ados a los s0i)t de nue5o 5alor. pero siendo antes mostrados por los indicadores de estado actual de los sensores #anto los /its de estado anterior como los del nue5o estado leido son agrupados en una matri9a de dos /its. por medio de las )unciones Build Array. y estas matrices son traducidas a n6meros por medio de un con5ersor ,eg6n estos n6meros se anali9a (ue pasa cuando cam/ia el estado de los sensores a tra5<s de cuadros case anidados. donde seg6n el estado anterior se e5alua el nue5o estado. y se retorna o no un cam/io en la posicin Por e4emplo si el estado anterior es KK y el nue5o es KK. simplemente los cuadro case de4an pasar el 5alor de posicin sin 5ariarlo ,i el anterior es BB y el nue5o es KK. es por(ue 0u/o un error pues )sicamente es imposi/le. entonces los cuadros no alteran el 5alor. y adem2s lan9an un anuncio diciendo (ue algo pas ,i es caso anterior es KK y el sigiente es KB es por(ue se est2 retrocediendo. entoncesse resta uno a la posicin y por 6ltimo si el caso anterior es KK y el nue5o BK. se suma uno a la posicin En total son K? com/inaciones de las cuales KA son )sicamente posi/les ,eg6n el /otn de reset se controla un case. (ue en caso de no presionar. de4a pasar el 5alor de posicin. y en caso de dar reset. coloca un cero en la linea de posicin. para (ue se almacene en el s0i)t Einalmente el resultado de posicin se di5ide en dos para dar el 5alor en terminos del paso. pues con a5an9ar medio paso 0ay un cam/io de estado en los sensores
Para lograr traer los /its 0ay (ue 0acer la rutina de import ,e aplica el mismo procedimiento de crear VI. primero el panel de control. con los /it de salida y el puerto de entrada Luego el diagrama. donde el 5alor del puerto se lle5a a una rutina import el resultado se con5ierte a una matri9 de /oleanos La matri9 se traduce en un ca/le de cluster para (ue por medio de la )uncin Un/undle se puedan sacar los dos /its deseados para lle5arlos a los indicadores
Luego se crea el cono. y se 0ace la coneccin del panel )rontal con el icono en los conectores (ue este posee Einalmente se gra/a Desde el VI del encoder se llama la su/rutina inport a tra5<s de la opcin VI del men6 de )uncines. y se enla9a con el diagrama de /lo(ues Por 6ltimo gra/ar el dri5er del encoder ,i este se desea usar como su/rutina. no se de/e ol5idar crear el cono de este y 0acer las conecciones del caso con el panel )rontal