Por: Omar Gurrola
LabVIEW Sesión #1 (02/02/13)
www.proprojects.wordpress.com
Programacion Grafica con LabVIEW Sesion #1 (02/02/13) Contenido Introducción: ................................................................................................................................................. 2 ¿Qué es LabVIEW? ........................................................................................................................................ 2 ¿En dónde se utiliza LabVIEW? ..................................................................................................................... 2 Ventajas de utilizar LabVIEW ........................................................................................................................ 2 Módulos de Hardware de LabVIEW .............................................................................................................. 3 Instrumento virtual ....................................................................................................................................... 3 Tipos de VI ..................................................................................................................................................... 5 Paletas y Barras de LabVIEW ........................................................................................................................ 6 Pasos para crear un VI................................................................................................................................... 9 Tipos de controles e indicadores básicos...................................................................................................... 9 Tipos de datos ............................................................................................................................................... 9 Conexiones .................................................................................................................................................. 11 Accesos directos con el teclado .................................................................................................................. 12 Ejercicios ..................................................................................................................................................... 17 Tarea ........................................................................................................................................................... 18
Por: Omar Gurrola
LabVIEW Sesión #1 (02/02/13)
www.proprojects.wordpress.com
Introducción: Hola a todos, este semestre estaré llevando un diplomado en programación grafica con LabVIEW, tiene una duración de 3 meses (12 sesiones de 6 horas cada una). El objetivo principal de estos documentos es repasar lo visto en cada sesión y a la vez que sea de utilidad para la comunidad.
¿Qué es LabVIEW? LabVIEW significa “Laboratory Virtual Instruments Engineering Workbench y es un lenguaje de programación grafica de alto nivel, creado por National Instruments en 1986. La última versión disponible es la versión 12 que es con la que se utilizara en estas sesiones.
¿En dónde se utiliza LabVIEW? El fuerte de LabVIEW es interactuar con dispositivos de hardware para el desarrollo de sistemas enfocados a: Adquisición de datos Instrumentación Control LabVIEW no se suele utilizar para el desarrollo de software únicamente, sino para la interacción software y hardware.
Ventajas de utilizar LabVIEW
Fácil de utilizar, flexible y escalable por ser programación gráfica. Facilidad para crear interfaces de usuario para interactuar con hardware. Se puede utilizar con tecnologías estándares de PC. Portabilidad (Windows, Linux, Mac y Sun). Plataforma abierta. Adquisición y filtrado de señales. Facilidad para agregar paquetes de software prediseñados para aplicaciones específicas (procesamiento de imagen, voz, etc.). Facilidad para el manejo y operaciones de arreglos. Manejo de base de datos con SQL. Se puede trabajar diferentes protocolos de comunicaciones (TCP, UTP, OLE, etc.). Cuenta con funciones de probabilidad y estadísticas. Puede utilizar librerías *.dll creadas en cualquier otro lenguaje. La aplicación desarrollada se puede convertir en aplicación *.exe con Application Builder.
Por: Omar Gurrola
LabVIEW Sesión #1 (02/02/13)
www.proprojects.wordpress.com
Módulos de Hardware de LabVIEW
DAQ: Son tarjetas diseñadas para adquisición de datos. Vision: Para manejo de cámaras e imagen. GPIB: Tarjetas para entradas y salidas digitales PXI: Computadora industrial
Instrumento virtual Los instrumentos virtuales (Virtual Instrument) son módulos realizado en LabVIEW que simula el panel frontal de un instrumento común. Todos los programas realizados en LabVIEW son instrumentos virtuales y pueden ser utilizados en otros módulos, cuando se utilizan de esta manera se llaman subVI. Los instrumentos virtuales están formados por cuatro partes: 1. Panel frontal (Es la interface de usuario) 1.1. Controles (Entradas). 1.2. Indicadores (Salidas). 1.3. Interacción con el usuario.
Por: Omar Gurrola
LabVIEW Sesi贸n #1 (02/02/13)
www.proprojects.wordpress.com
2. Diagrama de bloque (Es el programa o c贸digo fuente del VI) 2.1. C贸digo fuente que controla el VI. 2.2. Conexiones.
3. Conector (Son las entradas y salidas del VI) 3.1. Entradas y salidas al usarse como SubVI. 3.2. Las entradas deben ir izquierda o arriba y las salidas derecha o abajo.
4. Icono (Es el dibujo que representa al VI) 4.1. Es el dibujo con el que se representa al usarse como SubVI.
Por: Omar Gurrola
LabVIEW Sesión #1 (02/02/13)
www.proprojects.wordpress.com
Tipos de VI VI Express: Son VIs interactivos con página de dialogo configurable, se distinguen por ser de color azul.
VI Standard: Son VIs modulares y personalizables mediante cableado, se distinguen por ser de color amarillo.
Function: Son elementos fundamentales de operaciones, los cuales no cuentan con panel frontal o diagrama de bloque.
Por: Omar Gurrola
LabVIEW Sesión #1 (02/02/13)
www.proprojects.wordpress.com
Paletas y Barras de LabVIEW Paleta de controles: Se presenta en el panel frontal y sirve para seleccionar entre varios controles e indicadores que se pueden utilizar en la interface de la aplicación.
Por: Omar Gurrola
LabVIEW SesiĂłn #1 (02/02/13)
www.proprojects.wordpress.com
ďƒ˜ Paleta de funciones: Se presenta en el diagrama de bloques y sirve para seleccionar entre varias funciones, VI express, VI standard, etc.
Por: Omar Gurrola
LabVIEW Sesión #1 (02/02/13)
www.proprojects.wordpress.com
Paleta de herramientas: Se presenta tanto en el panel frontal como en el diagrama de bloque y se utiliza para operar y modificar los objetos en general.
Barra de herramienta del panel frontal:
Barra de herramienta del diagrama de bloque:
Por: Omar Gurrola
LabVIEW Sesión #1 (02/02/13)
www.proprojects.wordpress.com
Pasos para crear un VI 1. Desarrollar el panel frontal (colocando controles e indicadores correspondientes). 2. Implementar el diagrama de bloque (colocar funciones, subVI, etc. Correspondientes). 3. Realizar pruebas para asegurar que todo funciona correctamente.
Tipos de controles e indicadores básicos Numéricos: Son utilizados para introducir o mostrar números en cualquier formato (enteros, flotantes, etc.).
Boléanos: Se utilizan prendido/apagado).
para
manejar
datos
digitales
(uno/cero,
Cadenas: Se utilizan para manejar cadenas de caracteres.
Tipos de datos Constant: Es un valor constante y puede ser de cualquiera de los tipos de abajo.
Boolean: Son datos digitales (verdadero/falso).
verdadero/falso,
Por: Omar Gurrola
LabVIEW Sesión #1 (02/02/13)
Numeric: Son numéricos y pueden ser:
o
Float (Extended Precision, Double, Single, Fixed Point).
o
Signed (Quad, Long, Word, Byte).
o
Unsigned (Quad, Long, Word, Byte).
o
Complex (Extended, Double, Single).
String: Son cadenas de texto.
www.proprojects.wordpress.com
Por: Omar Gurrola
LabVIEW Sesión #1 (02/02/13)
www.proprojects.wordpress.com
Paths: Son direcciones a directorios o archivos, básicamente con cadenas.
Array: Se ajustan al tipo de dato que contienen.
Cluster: Es una agrupación de diferentes tipos de datos.
Conexiones Permiten conectar componentes entre si y el flujo de datos es unidireccional, esto quiere decir que va desde el origen hasta una o varias terminales destino. Los colores de las conexiones cambian dependiendo el tipo de dato que fluye a través de él tomando el color descrito en tipos de datos. El grosor de la conexión también puede cambiar en base a si se está transmitiendo un solo dato o un arreglo.
Por: Omar Gurrola
LabVIEW Sesi贸n #1 (02/02/13)
www.proprojects.wordpress.com
Accesos directos con el teclado Keyboard Shortcut Object/Movement Shift-click Arrow keys Shift-Arrow keys Shift-click (drag) Ctrl+K
Description
Selects multiple objects; adds object to current selection. Moves selected objects one pixel at a time. Moves selected objects several pixels at a time. Moves selected objects in one axis. Reorders objects in a stack of objects by moving the selected object one position higher in the stack. Ctrl+J Reorders objects in a stack by moving the selected object one position lower in the stack. Ctrl+Shift+K Reorders objects in a stack by moving the selected object to the top of the stack. Ctrl+Shift+J Reorders objects in a stack by moving the selected object to the back of the stack. Ctrl-click (drag) Duplicates selected object. Ctrl-Shift-click (drag) Duplicates selected object and moves it in one axis. Shift-resize Resizes selected object while maintaining aspect ratio. Ctrl-resize Resizes selected object while maintaining center point. Ctrl-Shift-resize Resizes selected object while maintaining center point and aspect ratio. Ctrl-drag a rectangle in open Adds more working space to the front panel or block diagram. space Ctrl-A Selects all front panel or block diagram items. Ctrl-Shift-A Performs last alignment operation on objects. Ctrl-D Performs last distribution operation on objects. Double-click open space Adds a free label to the front panel or block diagram if automatic tool selection is enabled. Ctrl-mouse wheel Scrolls through subdiagrams of a Case, Event, or Stacked Sequence structure. Spacebar (drag) Disables preset alignment positions when moving object labels or captions. Ctrl-U Reroutes all existing wires and rearranges objects on the block diagram automatically. Ctrl-D While the Quick Drop dialog box is active, creates controls and indicators for all unwired inputs and outputs of the selected block diagram object(s). Ctrl-Shift-D While the Quick Drop dialog box is active, creates constants for all unwired inputs of the selected block diagram object(s). Ctrl-R While the Quick Drop dialog box is active, removes the selected block diagram object(s) and any wires and constants connected to the selected object(s), and connects wires of identical data types that were wired to the inputs and outputs of the deleted object(s). Ctrl-T While the Quick Drop dialog box is active, moves the labels for all control terminals on the top-level block diagram to the left of the terminal and moves the labels for all indicator terminals on the top-level block diagram to the right of the terminal.
Por: Omar Gurrola
LabVIEW Sesi贸n #1 (02/02/13)
www.proprojects.wordpress.com
You also can select multiple objects on the block diagram, display the Quick Drop dialog box, and press <Ctrl-T> to move the labels of only the selected objects. Ctrl-Shift-T While the Quick Drop dialog box is active, moves the labels for all control terminals on the block diagram, including terminals contained in subdiagrams, to the left of the terminal and moves the labels for all indicator terminals on the block diagram, including terminals contained in subdiagrams, to the right of the terminal. Ctrl-P While the Quick Drop dialog box is active, replaces the selected front panel or block diagram object(s) with the object you select in the Quick Drop dialog box. Ctrl-I While the Quick Drop dialog box is active, inserts the object you select in the Quick Drop dialog box on the selected wire(s) on the block diagram. Ctrl-Shift-I While the Quick Drop dialog box is active, inserts a single instance of the object you select in the Quick Drop dialog box on multiple selected wires. Ctrl-B While the Quick Drop dialog box is active, changes the VI Server class of the selected Property Node(s), Invoke Node(s), and/or class specifier constant(s) to the class you enter in the Quick Drop window. Ctrl-Shift-B While the Quick Drop dialog box is active, changes the property or method of the selected Property Node(s) or Invoke Node(s), respectively, to the property or method name you enter in the Quick Drop window. Navigating the LabVIEW Environment Ctrl-F Finds objects or text. Ctrl-Shift-F Displays Search Results window or the Find Project Items dialog box with the previous search results. Ctrl-G Searches VIs for next instance of an object or text. Ctrl-Shift-G Searches VIs for previous instance of VIs, object, or text. Ctrl-Tab Cycles through LabVIEW windows in the order the windows appear onscreen. (Linux) The order of the windows depends on the window manager you use. Ctrl-Shift-Tab Cycles the opposite direction through LabVIEW windows. Ctrl-L Displays the Error list window. Ctrl-Shift-E Displays the current VI in the Project Explorer window. Ctrl-Shift-W Displays the All Windows dialog box. Ctrl-Shift-B Displays the Class Browser window. Navigating Front Panels and Block Diagrams Ctrl-E Displays the block diagram or front panel window. Ctrl-Space Displays the Quick Drop dialog box. On Chinese keyboards, press the <CtrlShift-Space> keys. (Mac OS X) Press the <Command-Shift-Space> keys. Ctrl-# Enables or disables grid alignment. On French keyboards, press the <Ctrl-"> keys. (Mac OS X) Press the <Command-*> keys. Ctrl-/ Maximizes and restores window. Ctrl-T Tiles front panel and block diagram windows. Ctrl-Shift-N Displays the Navigation window. Ctrl-I Displays the VI Properties dialog box. Ctrl-Y Displays the History window.
Por: Omar Gurrola
LabVIEW Sesi贸n #1 (02/02/13)
www.proprojects.wordpress.com
Navigating the VI Hierarchy Window Ctrl-D Redraws the VI Hierarchy window. Ctrl-A Shows all VIs in the VI Hierarchy window. Ctrl-click VI Displays the subVIs and other nodes that make up the VI you select in the VI Hierarchy window. Enter Finds the next node that matches the search string after initiating a search by typing in the VI Hierarchy window. Shift-Enter Finds the previous node that matches the search string after initiating a search by typing in the VI Hierarchy window. Debugging Ctrl-Down arrow Steps into node. Ctrl-Right arrow Steps over node. Ctrl-Up arrow Steps out of node. File Operations Ctrl-N Opens a new, blank VI. Ctrl-O Opens an existing VI. Ctrl-W Closes the VI. Ctrl-S Saves the VI. Ctrl-Shift-S Saves all open files. Ctrl-P Prints the window. Ctrl-Q Quits LabVIEW. Basic Editing Ctrl-Z Undoes last action. Ctrl-Shift-Z Redoes last action. Ctrl-X Cuts selected objects. Ctrl-C Copies selected objects. Ctrl-V Pastes last cut or copied objects. Help Ctrl-H Displays the Context Help window. (Mac OS X) Press the <Command-ShiftH> keys. Ctrl-Shift-L Locks the Context Help window. Ctrl-? or <F1> Displays the LabVIEW Help. Tools and Palettes Ctrl Switches to next most useful tool. Shift Switches to Positioning tool. Ctrl-Shift over open space Switches to Scrolling tool. Spacebar Toggles between two most common tools if automatic tool selection is disabled. Shift-Tab Enables automatic tool selection. Tab Cycles through four most common tools if you disabled automatic tool selection by clicking the Automatic Tool Selection button. Otherwise, enables automatic tool selection. Arrow keys Navigates temporary Controls and Functions palettes. Enter Navigates into a temporary palette. Esc Navigates out of a temporary palette. Shift-right-click Displays a temporary version of the Tools palette at the location of the
Por: Omar Gurrola
LabVIEW Sesi贸n #1 (02/02/13)
www.proprojects.wordpress.com
cursor. SubVIs Double-click subVI Ctrl-double-click subVI Drag VI icon to block diagram Shift-drag VI icon to block diagram Ctrl-right-click block diagram and select VI from palette Execution Ctrl-R Ctrl-. Ctrl-M Ctrl-Run button Ctrl-Shift-Run button Ctrl-Down arrow Ctrl-Up arrow Tab Shift-Tab Wiring Ctrl-B
Displays the subVI front panel. Displays the subVI block diagram and front panel. Places that VI as a subVI on the block diagram. Places that VI as a subVI on the block diagram with constants wired for controls that have non-default values. Opens the front panel of that VI.
Runs the VI. Stops the VI, when used while VI is running. Changes to run or edit mode. Recompiles the current VI. Recompiles all VIs in memory. Moves key focus inside an array or cluster, when used while VI is running. Moves key focus outside an array or cluster, when used while VI is running. Navigates the controls or indicators according to tabbing order, when used while VI is running. Navigates backward through the controls or indicators, when used while VI is running.
Deletes all broken wires in a VI. If you select a structure or area of the block diagram with broken wires, this shortcut deletes the broken wires in only the selected area. Esc, right-click, or click terminal While wiring, cancels a wire you started. Single-click wire Selects one segment. Double-click wire Selects a branch. Triple-click wire Selects the entire wire. A While wiring, temporarily disables automatic wire routing. Double-click While wiring, tacks down wire without connecting it. Spacebar While wiring, switches the direction of a wire between horizontal and vertical. Spacebar While moving objects, toggles automatic wiring. Shift-click Undoes last point where you set a wire. Ctrl-click input on function with Switches the two input wires. two inputs Text Double-click Selects a single word in a string. Triple-click Selects an entire string. Ctrl-Right arrow Moves forward in string by one word when using text that has characters that use single bytes, such as Western character sets. Moves forward in string by one character when using text that has characters that use multiple bytes, such as Asian character sets. Ctrl-Left arrow Moves backward in string by one word when using text that has characters that use single bytes, such as Western character sets. Moves backward in
Por: Omar Gurrola
Home End Ctrl-Home Ctrl-End Shift-Enter
Ctrl-Shift-Enter Esc Ctrl-Enter Ctrl-= Ctrl-Ctrl-0 Ctrl-1 Ctrl-2 Ctrl-3 Ctrl-4
LabVIEW Sesi贸n #1 (02/02/13)
www.proprojects.wordpress.com
string by one character when using text that has characters that use multiple bytes, such as Asian character sets. Moves to the beginning of the current line in a string. Moves to the end of the current line in a string. Moves to the beginning of the entire string. Moves to the end of the entire string. Adds new items when entering items in enumerated type controls and constants, ring controls and constants, or Case structures. In string constants, press the <Shift-Enter> keys on the keyboard to disable autosizing if it is enabled. If autosizing is disabled, press the <Shift-Enter> keys on the keyboard to display a scroll bar in the constant. Duplicates the visible subdiagram of a Case structure when editing the text of the case selector label. Cancels current edit in a string. Ends text entry. Increases the current font size. Decreases the current font size. Displays the Font Style dialog box. Changes to the Application font in the Font Style dialog box. Changes to the System font in the Font Style dialog box. Changes to the Dialog font in the Font Style dialog box. Changes to the current font in the Font Style dialog box.
Por: Omar Gurrola
LabVIEW Sesi贸n #1 (02/02/13)
www.proprojects.wordpress.com
Ejercicios 1. Implementar un VI que realice las siguientes operaciones con A y B: sume, reste, multiplique, divida, compare mayor, menor, igual o si B es igual a cero. 1.1. La interface en el panel de control:
1.2. El diagrama de bloque:
Por: Omar Gurrola
LabVIEW Sesión #1 (02/02/13)
www.proprojects.wordpress.com
Tarea 1. . Crear un VI que sume, reste, multiplique y divida dos números dependiendo de la opción del usuario. Utilizar un control menú ring para que el usuario elija la operación a realizar. 1.1. Panel de control
1.2. Diagrama de bloque
2. Construya un VI para calcular la función
, utilice el nodo de fórmulas. Guarde
el VI como FuncionY, después agréguelo como SubVI en otro VI para graficar la función en un rango de valores de X= 0.0, 0.01, 0.02, 0.03...500. 2.1. Panel de control de la FuncionY
2.2. Panel de control de la GraficaFuncionY
Por: Omar Gurrola
LabVIEW Sesión #1 (02/02/13)
www.proprojects.wordpress.com
2.3. Diagrama de bloque de la FuncionY
2.4. Diagrama de bloque de la GraficaFuncionY
3. Crear un instrumento que grafique un círculo utilizando la gráfica XY (XY Graph). 3.1. Panel de control
Por: Omar Gurrola
LabVIEW Sesión #1 (02/02/13)
www.proprojects.wordpress.com
3.2. Diagrama de bloque
4. Diseñar un algoritmo para resolver una ecuación de segundo grado soluciones o raíces de la ecuación son:
√
, las √
, recordar que
para que la ecuación tenga solución real es preciso que el discriminante sea mayor a cero. 4.1. Panel de control
4.2. Diagrama de bloque
Por: Omar Gurrola
LabVIEW Sesión #1 (02/02/13)
www.proprojects.wordpress.com
5. Implementar un VI para calcular el factorial de un número entre 1 y 100 introducido por el usuario. Si el valor introducido por el usuario está fuera de rango, indicarlo mediante un mensaje de texto. 5.1. Panel frontal
5.2. Diagrama de bloque