0% encontró este documento útil (0 votos)
212 vistas6 páginas

Estructuras de Ejecución en LabVIEW

Este documento describe diferentes estructuras de ejecución en LabVIEW como ciclos, estructuras de casos y otras estructuras. Explica cómo funcionan los ciclos while, for y las estructuras de casos, así como cómo agregar temporización a los ciclos y manejar ciclos infinitos. También cubre el uso de túneles de estructura y cómo seleccionar diferentes casos en una estructura de casos.
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
212 vistas6 páginas

Estructuras de Ejecución en LabVIEW

Este documento describe diferentes estructuras de ejecución en LabVIEW como ciclos, estructuras de casos y otras estructuras. Explica cómo funcionan los ciclos while, for y las estructuras de casos, así como cómo agregar temporización a los ciclos y manejar ciclos infinitos. También cubre el uso de túneles de estructura y cómo seleccionar diferentes casos en una estructura de casos.
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd

Estructuras de Ejecucin en NI LabVIEW

Contenido de esta Seccin

Ciclos Estructuras de Casos Otras Estructuras

Las estructuras de ejecucin contienen secciones de cdigo grfico y controlan cmo y dnde el cdigo dentro se ejecuta. Las estructuras de ejecucin ms comunes son Ciclos While, Ciclos For y Estructuras de Casos los cuales puede usar para ejecutar la misma seccin del cdigo varias veces o para ejecutar una seccin diferente del cdigo basada en alguna condicin.

Ciclos Video: Crear Ciclos en LabVIEW Ciclos While


Similar a un Ciclo Do o a un Ciclo Repeat-Until en lenguajes de programacin basados en texto, un Ciclo While, que se muestra en la Figura 1, ejecuta el cdigo que contiene hasta que ocurre una condicin.

1 Ciclo While de LabVIEW

2 Diagrama de Flujo

3 Cdigo Pseudo

La Figura 1 muestra un Ciclo While en LabVIEW, un diagrama de flujo equivalente a la funcionalidad de Ciclo While y un cdigo de ejemplo pseudo de la funcionalidad del Ciclo While. El Ciclo While est ubicado en la paleta Structures. Seleccione el Ciclo While en la paleta, despus use el cursor para arrastrar una seleccin rectangular alrededor de la seccin del diagrama de bloques que desea repetir. Cuando suelte el botn del mouse, un borde del Ciclo While encierra la seccin que seleccion. Aada objetos del diagrama de bloques al Ciclo While al arrastrarlos dentro del Ciclo While. El Ciclo While ejecuta el cdigo que contiene hasta la terminal condicional, una terminal de entrada, recibe un valor Booleano especfico. Tambin puede realizar manejo bsico de error usando la terminal condicional de un Ciclo While. Cuando cablea un cluster de error a la terminal condicional, solamente el valor True o False del parmetro de estatus del cluster de error pasa a la terminal. Tambin, los elementos del men Stop if True y Continue if True cambian a Stop if Error y Continue while Error.

La terminal de iteracin es una terminal de salida que contiene el nmero de iteraciones terminadas. La cantidad de iteraciones para el Ciclo While siempre comienza en cero. Nota: El Ciclo While siempre se ejecuta por lo menos una vez.

Ciclos Infinitos
Los ciclos infinitos son un error comn de programacin que involucra un ciclo que nunca se detiene. Si la terminal condicional es Stop if True, usted coloca la terminal de un control Booleano afuera de un Ciclo While y el control es FALSE cuando el ciclo comienza, provoca un ciclo infinito.

Figura 2. Control Booleano Fuera del Ciclo While Cambiar el valor del control no detiene el ciclo infinito ya que el valor es solamente de lectura, antes de que el ciclo comience. Para poder usar un control para detener un ciclo while debe colocar la terminal de control dentro del ciclo. Para detener un ciclo infinito, debe abortar e VI al dar clic en el botn Abort Execution de la barra de herramientas. En la Figura 3 el Ciclo While se ejecuta hasta que la salida de la funcin Random Number es mayor o igual que 10.00 y el control Enable esTrue. La funcin Aadir regresa True solamente su ambas entradas son True. De lo contrario, regresa False. En la Figura 3, hay un ciclo infinito ya que la funcin Random nunca va a generar un valor mayor que 10.0.

Figura 3. Ciclo Infinito

Tneles de Estructura
Los tneles alimentan datos desde y hacia estructuras. El tnel aparece como un bloque slido en el borde el Ciclo While. El bloque es el color del tipo de datos cableado al tnel. Los datos que salen fuera del ciclo despus de que el ciclo termina. Cuando un tnel pasa datos a un ciclo, el ciclo se ejecuta solamente despus que los datos llegan al tnel. En la Figura 4, la terminal de iteracin est conectada a un tnel. El valor en el tnel no pasa al indicador de iteraciones hasta que el Ciclo While termina de ejecutarse.

Figura 4. Tnel de Ciclo While Solamente el ltimo valor de la terminal de iteracin se muestra en el indicador de iteraciones.

Ciclos For Video: Usar Ciclos For en LabVIEW


Un Ciclo For ejecuta un subdiagrama un nmero de veces establecido. La Figura 5 muestra un Ciclo For en LabVIEW, un diagrama de flujo equivalente a la funcionalidad de Ciclo For y un cdigo de ejemplo pseudo de la funcionalidad del Ciclo For.

1 Ciclo For de LabVIEW

2 Diagrama de Flujo Figura 5. Ciclo For

3 Cdigo Pseudo

El Ciclo For est ubicado en la paleta Structures. Tambin puede colocar un Ciclo While en el diagrama de bloques, dar clic con botn derecho en el Ciclo While y seleccionar Replace with For Loop en el men de acceso directo para cambiar un Ciclo While Loop a Ciclo For.

La terminal de conteo es una terminal de entrada cuyos valores indican cuantas veces se repite el subdiagrama.

La terminal de iteracin es una terminal de salida que contiene el nmero de iteraciones terminadas. La cantidad de iteraciones para el Ciclo For siempre comienza en cero. El Ciclo For difiere del Ciclo While en que el Ciclo For ejecuta un nmero de veces establecido. Un Ciclo While detiene la ejecucin solamente si existe el valor en la terminal condicional. El Ciclo For en la Figura 6 genera un nmero aleatorio cada segundo por 100 segundos y muestra los nmeros aleatorios en un indicador numrico.

Figura 6. Ejemplo de Ciclo For

Aadir temporizacin a los Ciclos


Cuando un ciclo termina de ejecutar una iteracin, inmediatamente comienza la prxima iteracin, a menos que alcance una condicin de paro. A menudo se necesita controlar la frecuencia y la temporizacin de la iteracin. Por ejemplo, si est adquiriendo datos y desea adquirir los datos una vez cada 10 segundos, necesita una manera temporizar las iteraciones del ciclo para que ocurran una vez cada 10 segundos. An si no necesita que la ejecucin ocurra a una cierta frecuencia, necesita proporcionar al procesador el tiempo para completar otras tareas, como responder a la interfaz de usuario. Funcin de Espera Coloque una funcin de espera dentro del ciclo para permitir que un VI se duerma por un cierto tiempo. Esto permite que su procesador maneje otras tareas durante el tiempo de espera. Las funciones de espera utilizan el reloj de milisegundos del sistema operativo.

La funcin de Espera (ms) espera hasta que el contador de milisegundos cuenta una cantidad igual a la entrada que usted especific. Esta funcin genera que la razn de ejecucin del ciclo sea por lo menos la cantidad de la entrada que usted especific.

Estructuras de Casos
Regresar al inicio

Video: Usar Estructuras de Casos en LabVIEW

Una estructura de Casos tiene dos o ms subdiagramas o casos. Solamente un subdiagrama es visible a la vez y la estructura ejecuta solamente un caso a la vez. Un valor de entrada determina cual subdiagrama se ejecuta. La estructura de Caso es similar a las instrucciones del interruptor o las instrucciones si...despus... en lenguajes de programacin basados en texto.

La etiqueta del selector de caso en la parte superior de la estructura de Caso contiene el nombre del valor del selector que corresponde al caso en el centro y a las flechas de incremento y reduccin a cada lado. Haga clic en las flechas de incremento y reduccin para desplazarse en los casos disponibles. Tambin puede hacer clic la flecha hacia abajo a lado del nombre del caso y seleccionar un caso en el men desplegable.

Cablee un valor de entrada o selector a la terminal del selector para determinar qu caso se ejecuta.

Debe cablear un entero, valor Booleano, secuencia o valor de tipo enumerado a la terminal del selector. Puede colocar la terminal del selector en cualquier parte del borde izquierdo de la estructura de Casos. Si el tipo de datos de la terminal del selector es Booleano, la estructura tiene un caso True o un caso False. Si la terminal del selector es un entero, secuencia o valor de tipo enumerado, la estructura tiene cualquier nmero de casos. Nota: Los valores de cadena de caracteres que cablea a la terminal del selector son sensibles a las maysculas/minsculas de forma predeterminada. Para mostrar resultados no sensibles a las maysculas/minsculas, cablee un valor de caracteres a la terminal del selector, haga clic con botn derecho en el borde de la estructura de Casos y seleccione Case Insensitive Match del men. Si no especifica un caso de forma predeterminada para la estructura de Casos para manejar los valores fuera del rango, debe enlistar de forma explcita cada valor de entrada. Por ejemplo, si el selector es un entero y usted especifica los casos para 1, 2 y 3, debe especificar un caso de forma predeterminada a ejecutar si el valor de entrada es 4 o cualquier otro valor entero no especificado. Nota: Usted no puede especificar un caso de forma predeterminada si cablea un control Booleano al selector. Si hace clic con botn derecho en la etiqueta del selector de casos, Make This The Default Case no aparece en el men. Haga el control Booleano TRUE o FALSE para determinar cul caso se ejecuta. haga clic con botn derecho en el borde de la estructura para aadir, duplicar, eliminar o reorganizar casos y para seleccionar un caso predeterminado.

Seleccionar un Caso
La Figura 7 muestra un VI que utiliza una estructura de Caso para ejecutar cdigo diferente dependiendo si el usuario selecciona C o F para las unidades de temperatura. El diagrama de bloques de arriba muestra el caso True en primer plano. En el diagrama de bloques del centro, el caso Falso es seleccionado. Para seleccionar un caso, proporcione el valor en el identificador del selector de casos o use la herramienta de Etiquetado para editar los valores. Despus que seleccion otro caso, ese caso se ve en el diagrama de bloques, como se muestra en la parte inferior del diagrama de bloques Figura 7.

Figura 7. Cambiar la Vista de Casos de una Estructura de Casos

Si usted proporciona un valor de selector que no es del mismo tipo que el objeto cableado a la terminal del selector, el valor aparece en rojo. Esto indica que el VI no se ejecutar hasta que elimine o edite el valor. Tambin, por el posible redondeo de error inherente a la aritmtica de punto flotante, no puede usar los nmeros de punto flotante como valores de selector de casos. Si cablea un valor de punto flotante al caso, LabVIEW redondea el valor al entero ms cercano. Si escribe un valor de punto flotante en la etiqueta del selector de casos, el valor aparece en rojo para indicar que debe eliminar o editar el valor antes que la estructura pueda ejecutarse.

Tneles de Entrada y Salida


Puede crear mltiples tneles de entrada y salida para una estructura de Casos. Las entradas estn disponibles para todos los casos, pero los casos no necesitan usar cada unidad. Sin embargo, debe definir un tnel de salida para cada caso. Considere el siguiente ejemplo: una estructura de Casos en el diagrama de bloques tiene un tnel de salida, pero por lo menos en uno de los casos, no hay valor de salida cableado al tnel. Si ejecuta este caso, LabVIEW no sabe qu valor regresar a la salida. LabVIEW indica este error al dejar el centro del tnel en blanco. El caso no cableado no debe ser el caso que est visible actualmente en el diagrama de bloques. Para corregir este error, muestre los casos que contienen el tnel de salida sin cablear y cablear una salida al tnel. Tambin puede dar clic con botn derecho en el tnel de salida y seleccionar Use Default If Unwired en el men para usar el valor predeterminado para el tipo de datos de tnel para todos los tneles no cableados. Cuando la salida est cableada en todos los casos, el tnel de salida est en color slido. Evite usar la opcin Use Default If Unwired. Al usar esta opcin no documenta el diagrama de bloques bien y puede confundir a otros programadores que utilizan su cdigo. La opcin Use Default If Unwired tambin hace difcil la depuracin del cdigo. Si utiliza esta opcin, tome en cuenta que el valor predeterminado usado es el valor predeterminado para el tipo de datos que es cableado al tnel. Por ejemplo, si el tipo de datos Booleano, el valor predeterminado es FALSE. Tipo de Datos Numrico Booleano Cadena de caracteres Valor Predeterminado 0 FALSE vaco () Tabla 1. Valores Predeterminados de Tipo de Datos

También podría gustarte