PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es...

82
PROGRAMACIÓN PROGRAMACIÓN ESTRUCTURADA ESTRUCTURADA INTRODUCCIÓN INTRODUCCIÓN

Transcript of PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es...

Page 1: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

PROGRAMACIÓN PROGRAMACIÓN ESTRUCTURADAESTRUCTURADA

INTRODUCCIÓNINTRODUCCIÓN

Page 2: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

IntroducciónIntroducción

• A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número determinado de veces, o que éstas se repitan mientras se cumplan ciertas condiciones.

• También puede ocurrir que queramos ejecutar una u otra sentencia dependiendo de las condiciones fijadas o simplemente forzar que unas se ejecuten siempre antes que otras.

Page 3: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

IntroducciónIntroducción

• Las estructuras son representaciones gráficas de las expresiones de los lazos y casos los lenguajes de programación basados en texto.

• Use las estructuras en el diagrama de bloques para repetir bloques de código y ejecutar código condicionalmente o en un orden específico.

Page 4: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

IntroducciónIntroducción

• Al igual que los otros nodos, las estructuras tienen terminales que los conectan con otros nodos de diagrama, se ejecutan automáticamente cuando los datos de entrada están disponibles, y proveen datos de salida cuando la ejecución se completa

Page 5: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

IntroducciónIntroducción

• La sección del bloque de diagrama dentro de la estructura es llamada subdiagrama.

• Las terminales que alimentan datos de entrada o de salida son llamadas túneles.

• Un túnel es un punto de conexión en el borde de la estructura.

Page 6: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

IntroducciónIntroducción

• Para ello LabVIEW dispone de estructuras fácilmente diferenciables por su apariencia y disponibles en la opción STRUCTURES del menú FUNCTIONS de la ventana DIAGRAM

Page 7: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Programación estructuradaProgramación estructurada

• For Loop

• While Loop

• Case structure

• Sequence structure

• Formula Node.

Page 8: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Programación estructuradaProgramación estructurada

• For Loop — Ejecuta un subdiagrama un determinado número de veces.

• While Loop — Ejecuta un subdiagrama hasta que una condición es encontrada.

Page 9: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Programación estructuradaProgramación estructurada

• Case structure — Contiene múltiples subdiagramas, solamente uno de los cuales se ejecuta dependiendo del valor de entrada para la estructura.

• Sequence structure — Contiene uno o mas subdiagramas, los cuales se ejecutan en un orden secuencial.

Page 10: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Programación estructuradaProgramación estructurada

• Formula Node — Realiza una operación matemática basada en una entrada numérica.

Page 11: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

PROGRAMACIÓN PROGRAMACIÓN ESTRUCTURADAESTRUCTURADA

ESTRUCTURAS INTERACTIVASESTRUCTURAS INTERACTIVAS

Page 12: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Estructuras interactivasEstructuras interactivas

• FOR LOOP

• WHILE LOOP

Page 13: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

FOR LOOPFOR LOOP

• Un FOR LOOP ejecuta un subdiagrama un determinado número de veces.

• Su equivalente en lenguaje convencional es:

FOR i=0 TO N-1

Ejecuta programa.

Page 14: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

FOR LOOPFOR LOOP

• Al colocar un FOR LOOP en la ventana DIAGRAM observamos que tiene dos terminales:

• Terminal contador

• Terminal de iteración

Page 15: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

FOR LOOPFOR LOOP

• Terminal contador: Indica el número de veces que se ha repetido el subdiagrama creado en el interior de la estructura. El valor del contador se fijará externamente.

Page 16: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

FOR LOOPFOR LOOP

• Terminal de iteración: Indica el número de veces que se ha ejecutado la estructura: Cero durante la primera iteración, uno durante la segunda y así sucesivamente hasta N-1.

Page 17: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

WHILE LOOPWHILE LOOP

• Similar al ciclo Haga (Do) o al ciclo Repita-hasta (Repeat-Until) en lenguajes de programación basados en texto, un ciclo Mientras, ejecuta un subdiagrama hasta que la condición sea cumplida.

DO Ejecutar subdiagrama

WHILE condición es TRUE (o FALSE)

Page 18: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

WHILE LOOPWHILE LOOP

La estructura WHILE LOOP tiene dos terminales:

• Terminal condicional

• Terminal de iteración

Page 19: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

WHILE LOOPWHILE LOOP

• Por defecto, el comportamiento y apariencia es CONTINUE IF TRUE. Significa que se ejecuta el subdiagrama hasta que recibe un valor FALSE.

Page 20: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

WHILE LOOPWHILE LOOP

• Se puede cambiar el comportamiento y la apariencia a STOP IF TRUE. Esto es, el subdiagrama se ejecuta hasta que recibe un valor TRUE.

Page 21: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

WHILE LOOPWHILE LOOP

• Dado que el VI checa la terminal condicional al menos una vez, el WHILE LOOP se ejecutará al menos una vez.

Page 22: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Pasos para crear LOOP’sPasos para crear LOOP’s1. Seleccionar el ciclo 2. Encerrar código que va a ser repetido

3. Arrastrar nodos adicionales y luego cablear

Page 23: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

TúnelesTúneles

• Son puntos de acceso para entrada o salida de datos.

• Pueden ser de dos tipos:– Indexado– Simple

Page 24: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

TúnelesTúneles

• Ejemplo de Indexado– Genera N valores

Page 25: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

TúnelesTúneles

• Ejemplo de No Indexado– Genera el último valor, dato N

Page 26: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

PROGRAMACIÓN PROGRAMACIÓN ESTRUCTURADAESTRUCTURADA

REGISTROS DE REGISTROS DE DESPLAZAMIENTODESPLAZAMIENTO

Page 27: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

SHIFT REGISTERS IN LOOPSSHIFT REGISTERS IN LOOPS

• Los registros de desplazamiento son variables locales disponibles tanto en el FOR LOOP como en el WHILE LOOP, que permiten transferir los valores del final de una iteración al principio de la siguiente.

Page 28: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

SHIFT REGISTERS IN LOOPSSHIFT REGISTERS IN LOOPS

• Inicialmente el SHIFT REGISTER tiene un par de terminales colocados a ambos lados del LOOP:

Page 29: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

SHIFT REGISTERS IN LOOPSSHIFT REGISTERS IN LOOPS

• El terminal de la derecha almacena el valor final de la iteración hasta que una nueva hace que este valor se desplace al terminal de la izquierda quedando en el de la derecha el nuevo valor.

Page 30: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

SHIFT REGISTERS IN LOOPSSHIFT REGISTERS IN LOOPS

• Un mismo registro de desplazamiento puede tener más de una terminal en el lado izquierdo, para añadirlo, escogemos la opción ADD SHIFT REGISTER por medio del botón derecho del ratón.

• Cuantos más terminales tengamos en el lado izquierdo más valores de iteraciones podremos almacenar.

Page 31: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

SHIFT REGISTERS IN LOOPSSHIFT REGISTERS IN LOOPS

• Un mismo LOOP puede tener varis registros de desplazamientos siendo conveniente inicializarlos, para que los terminales de la izquierda tengan el valor deseado cuando se produzca la primera iteración.

• Al finalizar la ejecución de todas las iteraciones el último valor quedará en el terminal de la derecha; uniéndolo a un indicador obtendremos su valor

Page 32: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

ActividadesActividades

• Realice las actividades 3-1 a la 3-4

Page 33: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

PROGRAMACIÓN PROGRAMACIÓN ESTRUCTURADAESTRUCTURADAESTRUCTURAS DE CONTROLESTRUCTURAS DE CONTROL

Page 34: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Estructuras de controlEstructuras de control

• Este tipo de estructuras se diferencia de las iterativas en que puede tener múltiples subprogramas, de los cuales solamente uno es visible a la vez.

Page 35: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Estructuras de controlEstructuras de control

• En la parte superior de cada estructura existe una pequeña ventana que muestra el identificador del subprograma que se esta mostrando.

Page 36: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Estructuras de controlEstructuras de control

• A ambos lados de esta ventana existen dos botones que decrementan o incrementan el identificador de forma que podamos ver el resto de subdiagramas.

Page 37: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

CASECASE

• La estructura CASE consta de un terminal llamado selector y un conjunto de subdiagramas, cada uno de los cuales está adentro de un CASE o suceso y etiquetado por un identificador del mismo tipo que el selector.

Page 38: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

CASECASE

• En este caso la estructura CASE engloba dos sentencias diferentes de otros lenguajes convencionales:

1. IF condición TRUE THEN ejecutar CASE TRUE

ELSE ejecutar CASE FALSE

2. CASE SELECTOR OF1: ejecutar CASE 1;

…n: ejecutar CASE nEND

Page 39: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

CASECASE

• CASE no cuenta con los registros de desplazamiento de las estructuras iterativas pero sí podemos crear túneles para sacar o introducir datos.

• Si un CASE o suceso proporciona un dato de salida a una determinada variable será necesario que todos los demás también lo hagan; si no ocurre de esta manera será imposible ejecutar el programa.

Page 40: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

CASECASE

• Si el tipo de selector es boleano, la estructura tiene un caso TRUE y un caso FALSE.

• Si el terminal selector es un entero, la estructura puede tener muchos casos

Page 41: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

CASECASE

• En cualquier caso siempre hemos de cubrir todo el rango posible de valores, y al menos ha de haber un CASE por defecto, el cual se ejecutará en caso que el selector no corresponda a ninguno de los previstos.

Page 42: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

CASECASE

Page 43: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

CASECASE

Seleccionando el CASE, y dando click con el derecho, encontramos las siguiente opciones:

Page 44: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Estructuras de SecuenciaEstructuras de Secuencia

• En la subpaleta de control de ejecución (Execution Control) de la paleta de funciones.

• Ejecuta diagramas secuencialmente.• Presionar botón derecho del mouse para agregar un nuevo cuadro (frame).

Page 45: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Estructuras de SecuenciaEstructuras de Secuencia

• En un lenguaje basado en texto ,las declaraciones del programa se ejecutan en el orden en que aparecen.

• En un flujo de datos, un nodo se ejecuta cuando los datos están disponibles en todas sus terminales de entrada.

Page 46: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Estructuras de SecuenciaEstructuras de Secuencia

• Algunas veces es difícil determinar el orden exacto de ejecución. A menudo, ciertos eventos deben suceder antes que otros.

• Cuando usted necesite controlar el orden de la ejecución del código en su diagrama de bloques, usted puede utilizar una Sequence Structure (estructura de secuencia).

Page 47: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Estructuras de SecuenciaEstructuras de Secuencia

• Una estructura SEQUENCE contiene uno o mas subprogramas o FRAMES, los cuales ejecuta en orden secuencial.

• LA etiqueta del FRAME en la parte superior de la estructura es similar a la etiqueta de la estructura CASE. La etiqueta del FRAME contiene un número de FRAME en el centro y flechas a los lados para incrementa o decrementar los FRAMES disponibles.

Page 48: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Estructuras de SecuenciaEstructuras de Secuencia

• Por ejemplo, en el selector de secuencia, 0 es el número de FRAME actual y [0..2] es el rango de FRAMES.

Page 49: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Estructuras de SecuenciaEstructuras de Secuencia

• Cada subprograma estará contenido en un FRAME o marco y éstos se ejecutarán en orden de aparición: Primero el FRAME 0, luego el 1 y así sucesivamente hasta el último.

Page 50: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Estructuras de SecuenciaEstructuras de Secuencia

• Si un FRAME aporta un dato de salida a una variable los demás no tendrán porque hacerlo.

• Pero tendremos que tener en cuenta que el dato estará disponible cuando se ejecute el último FRAME y no cuando se ejecute el FRAME que transfiere el dato.

Page 51: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Estructuras de SecuenciaEstructuras de Secuencia

• Para pasar datos de un FRAME a cualquier FRAME subsiguiente, use un terminal local de secuencia.

Page 52: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Estructuras de SecuenciaEstructuras de Secuencia

Una flecha señalando hacia fuera aparece en el terminal local de secuencia del FRAME que contiene el dato fuente.

La terminal en FRAMES subsiguientes contienen una flecha señalando hacia adentro, indicando que la terminal es un dato fuente para ese FRAME.

Page 53: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Estructuras de SecuenciaEstructuras de Secuencia

Page 54: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Estructuras de SecuenciaEstructuras de Secuencia

Seleccionando la SEQUENCE, y dando click con el derecho, encontramos las siguiente opciones:

Page 55: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

PROGRAMACIÓN PROGRAMACIÓN ESTRUCTURADAESTRUCTURADA

INTRODUCCIÓN DE FÓRMULASINTRODUCCIÓN DE FÓRMULAS

Page 56: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Nodos de FormulaNodos de Formula

• Algunas veces es preferible programar expresiones matemáticas con funciones basadas en texto, en lugar de hacerlo con iconos (los que pueden tomar mucho espacio en el diagrama).

Page 57: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Nodos de FormulaNodos de Formula

• Nodo de Formula:

Nos permite implementar ecuaciones complicadas usando instrucciones basadas en texto.

• Localizada en la subpaleta de Structures (estructuras).

Page 58: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Nodos de FormulaNodos de Formula

– La cajas pueden cambiar de tamaño para introducir formulas algebraicas directamente a los diagramas de bloque.

– Para agregar variables, se presiona el botón derecho del mouse y se escoge la opción de agregar entrada (Add Input) o agregar salida (Add Output). Hay que nombrar las variables de la misma manera en que serán usadas en la formula. (Los nombres son sensibles a capitalización)

Page 59: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Nodos de FormulaNodos de Formula

Page 60: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Nodos de FormulaNodos de Formula

– Las declaraciones deben terminar con un punto y coma (;)

– Al usar varias formulas en un solo nodo de formula, cada variable asignada (las que aparecen en la parte izquierda de cada formula) deben de tener una terminal de salida en el nodo de formula. Sin embargo, estas terminales de salida no necesitan ser cableadas

Page 61: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Nodos de FormulaNodos de Formula• En la subpaleta de Estructuras (Structures). • Implementa ecuaciones complicadas.• Variables creadas en los márgenes • Nombres de variables son sensibles

(mayúsculas/minúsculas)• Cada declaración debe de terminar con un punto y coma(;)• La ventana de ayuda muestra las funciones disponibles.

Note el Punto y coma

Page 62: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

PROGRAMACIÓN PROGRAMACIÓN ESTRUCTURADAESTRUCTURADA

VARIABLES VARIABLES

LOCALES Y GLOBALESLOCALES Y GLOBALES

Page 63: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

IntroducciónIntroducción

• Las variables son imprescindibles en cualquier tipo de problemas, ya que permiten almacenar la información necesaria para su resolución.

• En LabVIEW todos los controles introducidos en el panel frontal que generan una terminal en la ventana Diagrama van a ser variables, identificables por el nombre asignado en la etiqueta.

Page 64: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

IntroducciónIntroducción

• Puede ocurrir que se quiera utilizar el valor de cierta variable en otro subprograma o en otro VI o, simplemente, que queramos guardar un resultado intermedio.

• La forma más sencilla de hacerlo es generando variables locales y/o globales dependiendo de su aplicación.

Page 65: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Variables LocalesVariables Locales

• En las variables locales los datos se almacenan en algunos de los controles o indicadores existentes en el panel frontal del VI creado.

Page 66: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Variables LocalesVariables Locales

• Con una variable local se puede escribir o leer uno de los controles o indicadores del panel frontal del VI creado.

• Escribir a una variable local tiene el mismo resultado de pasar un dato a la terminal, excepto que se puede escribir aún si es control, o leerlo aún si es un indicador.

Page 67: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Variables LocalesVariables Locales

• Las variables locales están disponibles en el menú STRCTURES de la paleta de funciones.

Page 68: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Variables LocalesVariables Locales

• Una variable local nueva tiene un nodo como el siguiente.

Page 69: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Variables LocalesVariables Locales

• Las variables locales disponen del siguiente menú

Page 70: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Variables LocalesVariables Locales

• VISIBLE ITEMS: Oculta o visualiza la etiqueta de identificación de la estructura.

• FIND: Permite encontrar el control y terminal del cual procede la variable local.

• CHANGE TO READ/TO WRITE: Permite escoger entre leer o escribir al control

• SELECT ITEM: Visualiza una lista con el nombre de todos los controles existentes en el panel frontal.

Page 71: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Variables LocalesVariables Locales

• DESCRIPTION AND TIP: Permite añadir comentarios

• SET BREAK POINT: Pone un punto de ruptura para depuración

• CREATE: Crea un control, indicador o constante conectados a esa local

• REPLACE: Sustituye la variable local por cualquier otra función.

Page 72: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Variables LocalesVariables Locales

• Como ejemplo si se tienen las siguientes variables• Para cada variable local, seleccionamos un ítem.

Page 73: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Variables LocalesVariables Locales

• La siguiente ilustración muestra como múltiples variables locales acceden al mismo control, cada uno tiene un diferente sentido, tanto leer como escribir.

Page 74: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Variables LocalesVariables Locales

• La variable AGE se usa dos veces en el diagrama, una para escribir y otra para leer de ella.

Page 75: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Variables GlobalesVariables Globales

• Las variables globales son un tipo especial de VI, que únicamente dispone de panel frontal, en el cual se define el tipo de dato de la variable y el nombre de identificación imprescindible para después poderse referir a ella.

Page 76: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Variables GlobalesVariables Globales

• Cuando escogemos la función GLOBAL del menú STRUCTURE, creamos un nuevo terminal en el diagrama

Page 77: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Variables GlobalesVariables Globales

• El terminal que aparece corresponde a un VI que inicialmente no contiene ninguna variable

Page 78: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Variables GlobalesVariables Globales

• Para colocar las variables, se hace doble clic en el ícono

Page 79: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Variables GlobalesVariables Globales

• Para usar la variable global en un diagrama de bloques, habrá que asociarla a un control previamente definido el panel de control.

Page 80: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

ActividadesActividades

• Realice las actividades 3-5 a la 3-8

Page 81: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Ejercicio complementario 3.1Ejercicio complementario 3.1

• Hacer un programa que permita encender secuencialmente doce LED’s.

• Apóyese en la guía del libro LabVIEW 6i

Page 82: PROGRAMACIÓN ESTRUCTURADA INTRODUCCIÓN. Introducción A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número.

Ejercicio complementario 3.2Ejercicio complementario 3.2

• Construya un VI que funcione como calculadora. El panel frontal debe tener dos controles para introducir los datos, otro para indicar el tipo de operación (suma, resta multiplicación y división) y un indicador que muestre el resultado