<< Chapter < Page Chapter >> Page >
Este módulo proporciona la información necesaria para poder utilizar las sentencias de selección, secuenciación y repetición de LabVIEW.

Sentencias de selecciÓN

Se trata de un tipo de sentencia que permite ejecutar un código dado u otro, según el valor que tenga la variable de entrada de la sentencia de selección. Este tipo de sentencia se llama Case Structure y se encuentra en Functions/Programming/Structures . Esta sentencia puede ser utilizada para dos casos, o para más de dos o casos múltiples.

En el ejemplo que se muestra en , se pretenden obtener solo los valores aleatorios entre 0 y 0'7 a partir de la función que genera números aleatorios entre 0 y 1 ( Functions/Programming/Numeric/Random Number ). Entonces, se recurre a la función de comparación Greater or Equal? de la paleta Functions/Programming/Comparison , ya queésta proporciona una salida booleana true , si 0'7 es mayor o igual que el valor aleatorio generado, y false , si no es así. En este sentido, la salida en el caso true seráel valor aleatorio generado, y en caso contrario, 0'7 , ya que en ese caso el valor aleatorio es superior aéste.

Para los casos de más de dos entradas, es decir, los de entradas múltiples, se inserta una sentencia case en el diagrama. Inicialmenteéste estáconfigurada para el primer caso, con lo que tendremos que modificarlo. En primer lugar, se cambia la entrada de tipo booleano a tipo constante entero: se crea una constante de tipo entero en el diagrama desde Functions/Programming/Numeric/Numeric Constant . Si se desea que este elemento pase a ser un control, solo hay que sustituirlo por un elemento de ese tipo. Seguidamente, clickando sobre el Selector Label con el botón derecho se elige la opción Duplicate Case , donde al repetir la operación se van añadiendo los caso 2, 3, 4…, . Ahora solo queda incluir en cada caso el módulo de código correspondiente.

Para borrar uno de los casos, se repite la operación, pero ejecutando en ese caso Delete Case . La muestra el panel resultado final en funcionamiento.

Sentencias de secuenciaciÓN

Se trata de un tipo de sentencia que garantiza la ejecución secuencial (uno detrás de otro) de varios módulos de código. Cuando en el diagrama de LabVIEW son definidos varios módulos de código, en realidad no se sabe en quéorden van a ser ejecutados, es decir, no se sabe cuál de ellos se ejecutaráen primer lugar y cuál en elúltimo lugar. Hay aplicaciones en las que este orden de ejecución no es importante, pero en otras es de vital importancia. Por ello, en las aplicaciones donde el orden de ejecución de los distintos módulos es crítico, resulta imprescindible utilizar las sentencias de secuenciación para garantizar esa secuencia de ejecución de los módulos.

La herramienta de desarrollo de aplicaciones LabVIEW ofrece dos sentencias de secuenciación. La primera es la Flat Sequence Structure y se encuentra en Functions/Programming/Structures . Cuando es insertada en el diagrama de nuestra aplicación, aparece con unaúnica ventana o Frame : es la unidad o elemento donde iráun módulo dado del código de nuestra aplicación. Para añadir más ventanas, se pulsa sobre la ventana con el botón derecho del ratón y se ejecuta Add Frame Before o Add Frame After , para añadir la ventana antes o después de la actual, respectivamente. Veamoslo con un ejemplo. Pensemos en dos operaciones aritméticas, suma y producto, que han de realizarse con dos operandos independientes en cada caso, donde primero se tiene que realizar la suma y luego el producto, . Notar que las conexiones de los operandos han de realizarse desde los controles o exterior, hacia el interior de las ventanas.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Primeros pasos con labview. OpenStax CNX. Oct 29, 2008 Download for free at http://cnx.org/content/col10592/1.2
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Primeros pasos con labview' conversation and receive update notifications?

Ask