GUIA No 2 OBJETIVOS: En esta sección se busca introducir los siguientes aspectos: identificación, manipulación y propiedades de los controles e indicadores tipo booleanos, sting, arrays y clusters, así como las funciones básicas relacionadas con estos tipos de datos. CONTROLADORES E INDICADORES BOOLÉANOS Puede accederse a los controles e indicadores de dos estados desde la opción Boolean de la paleta de controles y algunos adicionales desde Classic Controls. Básicamente se tienen varios tipos de pulsadores e interruptores y visualizadores luminosos. Una propiedad importante para los controles booléanos es la forma en que se accionan, a esto se le llama acción mecánica. Con el click derecho en la propiedad Mechanical Actions se tiene seis opciones. Switch When Pressed: Opera como interruptor cuando se presiona Switch When Released: Opera como interruptor cuando se libera Switch Until Released: Opera como pulsador Latch When Pressed: Genera un pequeño pulso cuando se presiona Latch When Released: Genera un pequeño pulso cuando se libera Latch Until Released: Opera como pulsador pero con retardo en la desconexión Ensaye con las diferentes opciones. Para las tres ultimas, emplee la ejecución con animación para poder observar el pulso. STRING Y PATH Se emplean para el manejo de texto y el trabajo con rutas de directorios. Dentro de las propiedades de los controles e indicadores String es posible cambiar el texto para que aparezca en código Hexadecimal, tipo password (***), para que aparezca una o varias líneas, igualmente está la opción de que el texto escrito se actualice solo al final o que se vaya actualizando mientras se escribe. ARRAYS Y CLUSTERS Pueden formarse arrays de una o varias dimensiones con los diferentes tipos de controles o indicadores, pero todos los elementos deben ser del mismo tipo, por otra parte los cluster permiten dentro de un mismo objeto agrupar diferentes tipos de controles, siendo similar a una estructura dentro de un lenguaje convencional de programación. Para crear un array o cluster se utiliza la respectiva opción dentro de la paleta de controles en el panel, al hacer esto se genera un rectángulo dentro del panel, para escoger los controles que conformarán los elementos, debe arrastrarse dicho elemento dentro del rectángulo tal como lo indica las siguientes figuras. Array vacío Array de controles numéricos FUNCIONES BASICAS Estudiaremos algunas de las funciones básicas que vienen implementadas en LabView, muchas de las otras funciones las iremos trabajando durante el curso. FUNCIONES NUMÉRICAS En la segunda celda de la paleta de funciones denominada Numeric se encuentran las funciones matemáticas básicas. Suma Resta Multiplicación División Incremento Decremento Raíz Cuadrada Negativo Valor Absoluto Redondeo Truncar Inverso X2N Vienen implementadas otras funciones como las que se describen a continuación: Regresa la suma de los elementos de un Array Regresa el producto de los elementos de un Array Entrega el cociente y residuo de una división Genera un número aleatorio de doble precisión entre 0 y 1 Si la entrada N>0 entrega 1. Sí N=0 salida es 0. Sí N<0 salida –1. Ejecuta fórmulas con una sola variable. Para operaciones (+,,x, / ) con varios operándoos 123 Constante numérica creada por el usuario Constantes universales de uso común Constante para representar un color Hay algunas casillas que a su vez proporcionan cada una otro grupo de funciones. Funciones para conversión de un tipo de dato a otro Algunas de estas funciones son: Convierte un número en un array cuyos elementos son el binario del número Pasa un array booleano a uno de enteros convirtiendo True a 1 y False a 0 Devuelve el código ASCII de cada carácter de un string y lo guarda en un Array. Funciones Trigonométricas Funciones Logarítmicas Funciones con números complejos FUNCIONES BOOLEANAS AND OR XOR NOT NAND NOR _____ XOR _ X OR Y Permite funciones lógicas con varios operandos Sí todos los elementos de un array son verdaderos la salida es verdadera. La salida es falsa si todos los elementos son falsos. Para crear constantes Booleanas. FUNCIONES DE COMPARACIÓN La salida es verdadera si la entrada no es un valor numérico, path o referencia Verdadero si es una cadena vacía o un path Verdadero si es un número entre 0 - 9 Verdadero sí es un dígito Hexadecimal Verdadero si es un dígito Octal Verdadero si es un ASCII visible Verdadero sí es un carácter especial Entrega un valor numérico de acuerdo con el tipo de carácter en la entrada. Escoge entre dos entradas para pasarlo a la salida igual que un selector. Los datos de entrada deben ser del mismo tipo. Retorna el valor mayor y el menor entre dos números de entrada. Retorna verdadero si el valor de entrada se encuentra entre dos límites numéricos establecidos. FUNCIONES TIPO STRING Retorna el número de caracteres de la cadena de entrada String Length Une los string de entrada en un solo string de salida Concatenate String String Subset Obtiene un substring de la cadena de entrada, a partir de una posición y longitud establecida. Pasa la cadena de minúscula a mayúscula o viceversa Replace Substring Search and Replace String Match Pattern Scan From String Format into string Inserta borra o reemplaza un substring de la cadena de entrada, a partir de una posición establecida. Sí la longitud es 0, se inserta la cadena; sí la subcadena es vacía se borra el substring de acuerdo con el offset y la longitud. Busca en la cadena de entrada a partir de una posición establecida, un substring de muestra y reemplaza la primera o todas las correspondencias con un substring de reemplazo. Busca en la cadena de entrada una cadena de muestra (puede contener caracteres especiales) y retorna tres string: La cadena antes de la correspondencia, la cadena identificada y la cadena después de la correspondencia. Busca dentro de una cadena los valores numéricos de acuerdo con el formato introducido y los retorna como números. Ej valor = 23.47V+12,78V. Con el formato valor =%fV+%fV retorna los números 23,47 y 12,78 como salidas independientes numéricas 23,47 y 12,78 Inserta valores numéricos dentro de una cadena de caracteres de acuerdo a un formato señalado. Convierte un array numérico de una dimensión a una tabla tipo string. Array to Spreadsheet string Encierra un conjunto de funciones para convertir números en diferentes formatos y tipos a cadenas de string y viceversa. String Number Conversion abc Constante de Cadena de caracteres FUNCIONES PARA ARRAYS Array Size Retorna el tamaño de cada una de las dimensiones de una matriz. Sí es de 2x2 suministra en un vector el número de filas y columnas en ese orden. Retorna el elemento o subarray de acuerdo con la posición indicada por los índices. Index Array Replace Array Subset Insert Into Array De acuerdo con la posición indicada por los índices, se reemplaza el elemento o subarray por el elemento o subarray suministrado en una entrada. A diferencia de la función anterior, el elemento indicado en la entrada se inserta en el array inicial sin borrar ningún dato anterior. Esta función permite crear una matriz con las dimensiones deseadas, inicializada con un único valor indicado en la entrada. Initialize Array Une arrays de diferentes tamaños y retorna un único arreglo. Build Array Rotate 1D Array Rota arreglo de entrada un número de posiciones indicado por el valor n. Si n es positivo rota a la derecha y sí es negativo a la izquierda. Invierte el orden en los elementos del arreglo. Reverse 1D Array Search 1D Array Split 1D Array Busca en el arreglo de entrada un determinado valor y retorna la posición de la primera correspondencia. Divide el arreglo de entrada en dos subarrays de acuerdo con la posición indicada. A partir de esta posición comienza el segundo subarreglo. Retorna un arreglo ordenado en forma ascendente. Sort 1D Array Array Max & Min Retorna el valor máximo y mínimo en el array de entrada junto con sus respectivas posiciones. Retorna la transpuesta de una matriz de dos dimensiones. Transpose 2D Array Interpolate 1D Array Interleave 1D Array Decimate 1D Array Reshape Array Array to Cluster Cluster to Array El valor numérico del índice indica la fracción en que se debe interpolar los valores en posiciones consecutivas de acuerdo con la parte entera del índice. Por ejemplo si el índice x es 3.25 se retorna como valor, la cuarta parte de la diferencia entre el valor de la posición 3 y 4. Obtiene como vector de salida los valores intercalados de los vectores de entrada. Considera la dimensión del arreglo más pequeño. Toma un arreglo de entrada y lo divide en un número determinado de arreglos de salida. Los valores son intercalados en estos vectores. Por ejemplo si en la entrada se tiene el vector 1,2,3,4,..,12 y se tienen tres salidas, entonces los vectores obtenidos serán v1=1,4,7,10 v2= 2,5,8,11 v3= 3,6,9,12 Redistribuye el array o matriz de entrada de acuerdo con las nuevas dimensiones especificadas. Por ejemplo si en la entrada se tiene 1,2,3,4,...,13 Y se definen como nuevas dimensiones 3 y 4 se obtiene a la salida una matriz con tres filas y cuatro columnas truncando el número 13. Convierte un arreglo a un cluster con componentes del mismo tipo y viceversa Se emplea para crear arreglos con valores constantes dentro del diagrama. Array Constant FUNCIONES CON CLUSTERS Unbundle Bundle Permite descomponer un cluster en los elementos que lo conforman. En la salida aparece de acuerdo al orden en que fueron introducidos los elementos en el cluster. Esta función permite ensamblar un cluster a partir de los elementos individuales, también sirve para cambiar el valor de un solo elemento dentro del cluster sin tener que introducir los valores de los demás elementos. Para esto se debe introducir como entrada el cluster que se desea cambiar. Descompone el cluster en sus elementos pero permite el manejo por el nombre de cada uno, sin importar el orden. Unbundle by Name Crea un Arreglo de clusters. Esta sería también la forma de crear un array de arrays por medio de un cluster que contenga como único elemento un array. Build Cluster Array Se introducen como entrada arrays de diferentes tipos y en la salida se obtiene un único array de clusters donde se empaquetan los diferentes tipos de datos. Index & Bundle Cluster array Crea un cluster con elementos constantes dentro del diagrama Cluster Constant FUNCIONES DE TIEMPO Tick Count Wait Wait Next ms Multiple Permite acceder al timer en ms de 32 bits generalmente para propósitos de comparación. Esta función detiene la finalización de la estructura donde se encuentra ubicado, hasta que se finaliza el tiempo en ms especificado en la entrada. Retorna como salida además el valor del timer. Esta función retiene la finalización de la estructura donde se encuentre, hasta que el valor del timer sea múltiplo del valor especificado en la entrada. Esto permite mayor precisión entre los diferentes intervalos, siendo la más adecuada para funciones de control. BOTONES DE DIALOGO One Botton Dialog Two Botton Dialog Genera una caja de dialogo con un mensaje y un boton de aceptación. una salida booleana cuando se presiona el botón. Genera Similar a la opción anterior pero aquí se presentan dos botones, uno para aceptación ( Ok ) y otro para descartar ( Cancel ). Sólo con el primer botón genera la salida booleana.