flowol manual

26
7/22/2019 Flowol Manual http://slidepdf.com/reader/full/flowol-manual 1/26 CURSO 05-06 IES MATEO HERNÁNDEZ SALAMANCA Página 1 de 26 DEPARTAMENTO DE TECNOLOGÍA  CONTROL POR ORDENADOR Fundamentos de control programado con Flowol Contenidos:  1. Introducción a Flowol 2. El entorno de Flowol. 3. Control de los actuadores: programación de las salidas 4. Control de los sensores: programación de las entradas  5. Variables y expresiones 6. Programación estructurada: subprogramas 1. Introducción a Flowol Flowol es un lenguaje de programación orientado al manejo de interfaces de control o controladoras.  Una controladora es la conexión entre los sensores y actuadores del sistema de control con el ordenador . Existen varios modelos comerciales, entre los que se pueden mencionar:  Interfaz FlowGo, de Data Harvest.  Interfaz intelligent interface de Fischertechnik . Flowol se caracteriza por:  consta de un conjunto de instrucciones gráficas, tomando el aspecto de un ordinograma o diagrama de flujo, por tanto no es un lenguaje textual, las instrucciones no son de texto, sino elementos gráficos.  es posible utilizar subprogramas ; o subrutinas.  proporciona la posibilidad de programar procesos simultáneos . característica propia de los lenguajes orientados al control automático y la robótica. Un ejemplo de programa sencillo: Con él, transcurrido 1 segundo desde en inicio de la ejecución del programa, activamos durante 2 segundos una salida digital de un dispositivo (no especificado por el momento), y anunciamos previamente la activación de la salida mediante un sonido. En este programa observamos algunos de los principales elementos de la programación gráfica con Flowol como son: -los bloques terminadores . -los bloques de realización de un proceso (por ejemplo, una espera) -los bloques que activan alguna salida

Upload: karen-videla-rodriguez

Post on 10-Feb-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Flowol Manual

7/22/2019 Flowol Manual

http://slidepdf.com/reader/full/flowol-manual 1/26

CURSO 05-06IES MATEO HERNÁNDEZ

SALAMANCAPágina 1 de 26 DEPARTAMENTO DE TECNOLOGÍA 

CONTROL POR ORDENADOR 

Fundamentos de control programado con Flowol 

Contenidos: 

1.  Introducción a Flowol 2.  El entorno de Flowol. 3.  Control de los actuadores: programación de las salidas 4.  Control de los sensores: programación de las entradas 5.  Variables y expresiones 6.  Programación estructurada: subprogramas 

1. Introducción a Flowol

Flowol es un lenguaje de programación orientado al manejo de interfaces de control ocontroladoras. 

Una controladora es la conexión entre los sensores yactuadores del sistema de control con el ordenador.Existen varios modelos comerciales, entre los que sepueden mencionar:

•  Interfaz FlowGo, de Data Harvest.•  Interfaz intelligent interface de

Fischertechnik.

Flowol se caracteriza por:

•  consta de un conjunto de instrucciones gráficas, tomandoel aspecto de un ordinograma o diagrama de flujo, portanto no es un lenguaje textual, las instrucciones no sonde texto, sino elementos gráficos.

•  es posible utilizar subprogramas; o subrutinas.•  proporciona la posibilidad de programar procesos

simultáneos. característica propia de los lenguajesorientados al control automático y la robótica.

Un ejemplo de programa sencillo:

Con él, transcurrido 1 segundo desde en inicio de la ejecución delprograma, activamos durante 2 segundos una salida digital de undispositivo (no especificado por el momento), y anunciamospreviamente la activación de la salida mediante un sonido.

En este programa observamos algunos de los principaleselementos de la programación gráfica con Flowol como son:

-los bloques terminadores.

-los bloques de realización de un proceso (por ejemplo, una espera)

-los bloques que activan alguna salida

Page 2: Flowol Manual

7/22/2019 Flowol Manual

http://slidepdf.com/reader/full/flowol-manual 2/26

CURSO 05-06IES MATEO HERNÁNDEZ

SALAMANCAPágina 2 de 26 DEPARTAMENTO DE TECNOLOGÍA -las líneas (flechas) que conectan los distintos bloques

-las etiquetas (texto en letra cursiva a la derecha de los bloques), que constituyen loscomentarios del lenguaje.

Como se observa, un programa de Flowol es simplemente una pantalla gráfica en la que se

acumulan de forma ordenada bloques que se conectan secuencialmente mediante líneas con flechas.

En la siguiente tabla se recogen la nomenclatura y la representación gráfica de los distintoselementos del lenguaje Flowol.

Elemento  Definición 

Terminador(Inicio/Alto/Páralo Todo) 

Bloque que marca el inicio o el fin del código de un programa o de un subprograma.Un programa debe empezar necesariamente por un bloque Inicio y terminar con Al to (o Páralo Todo).

En caso de que haya más de un bloque Inicio en el programa, de modo que existan varios procesos ejecutándosesimultáneamente, el bloque Páralo Todo los detiene a todos.

Salida 

Bloque que realiza una acción sobre alguna salida de control de una interfaz de control: activación/desactivación deun actuador, cambio del sentido de giro de un motor ...

Proceso Bloque que realiza una operación en el programa. Puede ser de tres clases:

•  asignación de valores a variables (bloque Fijar )

•  retardo -espera durante un determinado período de tiempo- (bloque Tardar )

•  llamada a subprograma (bloque Sub)

Decisión Bloque que permite bifurcar el flujo del programa en función del resultado de una expresión condicional que dependede:

•  el valor instantáneo de las entradas de la interfaz de control (analógicas y/o digitales), o

•  las variables 

En definitiva, este bloque permite realizar lo que se denomina un control de flujo en el programa.

Línea de flujo 

Conecta secuencialmente dos bloques ejecutables. Puede ser de tres clases:

•  línea ("siempre")

•  línea "SI"

•  línea "NO"

Las líneas SI y NO sólo se aplican a las salidas del bloque Decisión, mientras que las líneas ("siempre") se aplican a laentrada y la salida de cualquier bloque (excepto a las salidas del bloque decisión).

Etiqueta, comentario 

ej.

No ejecuta ninguna acción en el programa.Se utiliza como un texto explicativo que contribuye a clarificar el código y a recordar más tarde lo que se hizo.

Número  Designa a valores numéricos enteros que toman valores entre 0 y 9.999.999

Variable 

Una variable es un "contenedor" con nombre (por ejemplo, a, b, c , d, n, x, y, z) para un número. Son el medio

para que el programa "recuerde" valores. A la variable se le puede asignar un valor entero, o el resultado de unaoperación entre dos variables o entre una variable y un número entero.

Page 3: Flowol Manual

7/22/2019 Flowol Manual

http://slidepdf.com/reader/full/flowol-manual 3/26

CURSO 05-06IES MATEO HERNÁNDEZ

SALAMANCAPágina 3 de 26 DEPARTAMENTO DE TECNOLOGÍA 

2. El entorno de Flowol.

-La barra de menú: Como cualquier aplicación deestilo Windows, las opciones de este menú permiten

acceder a las distintas funciones del entorno.-El área de trabajo: Flowol cuenta con un área deedición de programas que representa, a la hora deimprimir, el equivalente a 4 hojas DIN-A4. Hayespacio para diseñar un programa que incluya 220símbolos.

-La barra de herramientas: Contiene los elementosgráficos del lenguaje (bloques y líneas) además de laopción Borrar (para eliminar elementos delprograma), Ejec (para comenzar a ejecutar unprograma o un conjunto de bloques del mismo) y

(mano, para seleccionar, mover, etc., algunosde los elementos).

Edición de un programa 

Para iniciar un nuevo programa de Flowol utiliza la opción Nuevo delmenú Archivo  de la barra de menú. Ésta limpia la ventana de edición siestaba ocupada con un programa anterior:

Para introducir un nuevo elemento en un diagrama de programa no hay más que pulsar elbotón con el símbolo que identifica el bloque o elemento deseado en la barra deherramientas. Una vez pulsado, al mover el ratón aparecerá un bloque móvil que se puedearrastrar y soltar en el lugar deseado del área de trabajo:

Una vez colocado en el lugar adecuado, se deben establecer la características particulares delbloque o elemento seleccionado.

Page 4: Flowol Manual

7/22/2019 Flowol Manual

http://slidepdf.com/reader/full/flowol-manual 4/26

CURSO 05-06IES MATEO HERNÁNDEZ

SALAMANCAPágina 4 de 26 DEPARTAMENTO DE TECNOLOGÍA Por ejemplo, para insertar un bloque de inicio en un programa, no hay más que pulsar en el

icono de la barra de herramientas, , y, una vez se ha soltado, aparece el siguientecuadro de diálogo:

Si en éste se pulsa el botón Inicio , se obtiene el bloque:

que constituye el punto de arranque de un programa principal. Análogamente, si se pulsa elbotón Al to se da fin al flujo de un programa.

Si, por ejemplo, el bloque insertado es de Proceso, tras soltarlo en el lugar preciso se debeindicar si se trata de establecer un temporizador (Tardar), de dar valor a una variable (Fijar )o de llamar a un subprograma (Sub):

Y tras ello, aún habría que indicar la duración de la temporización del bloqueTardar .

Tras acumular los bloques necesarios en el diagrama para conseguir los efectosdeseados, hay que unirlos con las líneas pertinentes, que deciden por dóndetranscurrirá el flujo o la secuencia del programa. Para introducir alguna de dichaslíneas, no hay más que hacer clic en el botón correspondiente de la barra deherramientas y tras ello, pulsar en el bloque origen y en el bloque destinoconsecutivamente.

Las líneas se dibujan automáticamente siguiendo un recorrido determinado por Flowol. Si loque se desea es dibujar las líneas siguiendo un recorrido elegido por el usuario no hay más

que pulsar primeramente en el bloque origen y, seguidamente, ir haciendo clic en losdistintos puntos del área de trabajo por donde se desea que transcurran las líneas de flujo;finalmente, hay que hacer clic en el bloque destino.

Las características de un bloque insertado previamente se pueden cambiar en cualquier

momento. Para ello hay que seleccionarlo; ello se consigue pulsando el icono Mano :

y haciendo clic con el ratón sobre el bloque deseado (o también, haciendo directamente clicsobre el bloque deseado con el botón derecho del ratón). Se abrirá entonces un cuadro dediálogo que permitirá cambiar las propiedades del bloque. Este cuadro depende de cadabloque en particular y se trata en los distintos apartados de esta documentación.

Page 5: Flowol Manual

7/22/2019 Flowol Manual

http://slidepdf.com/reader/full/flowol-manual 5/26

CURSO 05-06IES MATEO HERNÁNDEZ

SALAMANCAPágina 5 de 26 DEPARTAMENTO DE TECNOLOGÍA 

Nota: para modificar un bloque debes borrar primero sus propiedadesanteriores para volver a definirlas. Esto se puede hacer con el botón Borrar  del cuadro de diálogo de Edición.

Si lo que deseas es eliminar completamente un bloque o una línea del diagrama deprograma, debes seleccionar primero el elemento deseado con el icono Mano y borrarlo

después pulsando el botón Borrar :

Igualmente, puedes borrar un conjunto de elementos seleccionándolos simultáneamente(pulsando primero sobre el icono Mano y después sobre el área de trabajo arrastrando elratón hasta que queden seleccionados todos los elementos deseados -aparece un cuadro quelos engloba-) y haciendo clic sobre el botón Borrar .

Los comentarios del programa se introducen pulsando el botón de la barra deherramientas, haciendo clic después con el cursor en el punto del área de trabajo en el quese desea situar el comentario, y escribiendo el texto (máximo de 56 caracteres) en el cuadrode diálogo Edi t a r e t iqueta que aparece:

lo que da como resultado un texto en cursiva:

Es importante que el código del programa esté bien documentado, de tal forma que si se lopasamos a otra persona pueda entenderlo sin grandes dificultades. Si se abandonatemporalmente y en el futuro se quiere retocar el programa es muy probable el olvido de porqué se hizo tal o cual cosa (pasa muy a menudo) y es preciso desperdiciar un montón detiempo descifrando algo que en su día estaba entendido perfectamente. Es necesario inculcaruna actitud de orden y claridad en la programación.

Cuando se editan programas con cierto grado de complejidad, resulta de ayuda la utilizaciónde la función de copiado y pegado de un conjunto de bloques. Supongamos que se quiereduplicar un conjunto de bloques para reutilizarlos en una sección distinta del programa. Paraconseguirlo no hay más que seleccionarlos mediante el icono Mano , seguidamente arrastrarlos

mientras se mantiene pulsada la tecla Shift (⇑), y soltarlos en el punto deseado de la ventanade edición.

Page 6: Flowol Manual

7/22/2019 Flowol Manual

http://slidepdf.com/reader/full/flowol-manual 6/26

CURSO 05-06IES MATEO HERNÁNDEZ

SALAMANCAPágina 6 de 26 DEPARTAMENTO DE TECNOLOGÍA 

Nota: desgraciadamente esta función no permite copiar un bloque o unconjunto de bloques y pegarlo desde un programa a otro diferente. El copiadoy pegado sólo son funcionales dentro de un mismo programa.

Cuando el número de símbolos en un programa empieza a ser importante, éste puede superarlos límites de la ventana de edición, de modo que no pueda ser observado al completo. En tal

caso, es útil usar la opción Vista Zoom ... del menú Ventana :

que permite ampliar/reducir el área visible de edición, según las necesidades.

Cuando se ha terminado la edición de un programa, éste puede ser almacenado en disco conlas opciones Guardar y/o Guarda r como ... del menú Archivo . Una vez elegido un nombrerepresentativo para el programa, éste se guarda en la carpeta de disco deseada con extensión. FLO. Cuando se desee acceder de nuevo a este programa, se puede abrir desde dentro de lainterfaz gráfica de Flowol con la opción Abr i r del menú Archivo , o haciendo directamentedoble clic sobre el archivo en el disco (sin abrir antes Flowol), de modo que se inicia Flowolcon el programa cargado en la ventana de edición.

Ejecución de un programa 

No hay más que tenerlo cargado en la ventana de edición y pulsar el

botón "Ejecución" de la barra de herramientas:

La ejecución se puede producir en dos modos:

•  modo simulación •  modo "en-línea" o activo 

En el modo simulación no se envía ninguna orden a la interfaz de control, de modo que sepuede comprobar el funcionamiento del programa sin ningún efecto físico. Para entrar enmodo simulación (el modo por defecto cuando se inicia Flowol), no hay más que marcar laopción Simular del menú Control.

Existe una extensión de Flowol para el modo simulación denominada Mimics. Se trata de unmódulo de software que permite simular la ejecución de un programa sobre un "fondo omaqueta virtual", comprobando los efectos del programa sin necesidad de dispositivos físicos.

Page 7: Flowol Manual

7/22/2019 Flowol Manual

http://slidepdf.com/reader/full/flowol-manual 7/26

CURSO 05-06IES MATEO HERNÁNDEZ

SALAMANCAPágina 7 de 26 DEPARTAMENTO DE TECNOLOGÍA Para ejecutar el programa enviando las órdenes a la interfaz de control (modo "en-línea" oactivo), no hay más que quitar la marca de la opción Simular del menú Control.

Si se desea detener un programa en ejecución antes de que termine su secuencia lógica  (es decir, antes de alcanzar un terminador Alto o Páralo todo) se puede pulsar el botón Alto:

Con algunas interfaces de control, todavía se puede ejecutar un programa de un tercer modo:

•  modo descarga (descargándolo previamente a la memoria de la interfaz).

Esto es cierto, en particular, con la interfaz FlowGo. Para ello, se debe pulsar el botón verde

que aparece a tal efecto bajo el botón Ejecutar con el nombre de la interfaz:

El programa se puede ejecutar desde la interfaz, incluso desconectado del ordenador, sin másque pulsar en el botón que a tal efecto se encuentra en la interfaz de control (en el caso deFlowGo existe un botón denominado Go ).

Es necesario indicar que el programa persiste en la memoria aunque la interfaz sea apagada.Permanece en ella hasta que un nuevo programa sea descargado y sobrescriba la memoria. Enla interfaz FlowGo cuando se pulsa el botón Go el LED verde anejo parpadea en tanto dure laejecución del programa; cuando éste finaliza el LED permanece encendido. Si deseamosinterrumpir la ejecución de un programa mientras está en activo, no tenemos más que volvera presionar el botón Go .

Page 8: Flowol Manual

7/22/2019 Flowol Manual

http://slidepdf.com/reader/full/flowol-manual 8/26

CURSO 05-06IES MATEO HERNÁNDEZ

SALAMANCAPágina 8 de 26 DEPARTAMENTO DE TECNOLOGÍA 

3 Control de los actuadores: programación de lassalidas.

Para enviar instrucciones a los actuadores de un sistema, conectados a las salidas de unainterfaz de control, Flowol cuenta con el bloque "Salida" 

Éste permite modificar el estado de las salidas que proporciona la interfazde control en uso.

Para insertar este bloque en un punto del programa, no hay más que pulsarsobre el símbolo indicado en la figura adjunta de la barra de herramientas,arrastrarlo y hacer clic en el punto seleccionado. En este momento se abreel cuadro de diálogo Edi t a r sa l ida  que permite introducir los datosnecesarios para manejar las salidas.

El botón E/S (que debería denominarse propiamente S ) permite el control de las:

•  salidas digitales, con dos estados: on/off, encendido/apagado;•  salidas analógicas (de motor), con tres estados:

o  encendido y girando en sentido antihorario,o  encendido y girando en sentido horario, yo  apagado,

y regulación de potencia de la salida (cuando la interfaz lo permite).

El botón Sonido da lugar a la emisión de señales acústicas.

Control de las salidas digitales 

Si en el cuadro de diálogo Editar salida se pulsa el botón E/S , se tiene acceso al siguientecuadro:

Page 9: Flowol Manual

7/22/2019 Flowol Manual

http://slidepdf.com/reader/full/flowol-manual 9/26

CURSO 05-06IES MATEO HERNÁNDEZ

SALAMANCAPágina 9 de 26 DEPARTAMENTO DE TECNOLOGÍA 

Si, a su vez, se pulsa el botón Salida , se obtiene una lista de tantas salidas digitales como lasque dispone la interfaz en uso:

Al pulsa en una de ellas, por ejemplo, la nº 1, ésta puede ser activada/desactivada sin más

que pulsar los botones act iva /desact :

Este bloque facilita el control de hasta cuatro salidas simultáneamente, de modo que sepueden seguir activando/desactivando otras salidas. Si, por ejemplo, se pulsa el botón 3:

se desactiva esta salida mediante desact :

y finalmente se pulsa Aceptar se obtiene el bloque:

cuyo resultado consiste en activar la salida digital nº 1 y desactivar la nº 3.

Page 10: Flowol Manual

7/22/2019 Flowol Manual

http://slidepdf.com/reader/full/flowol-manual 10/26

CURSO 05-06IES MATEO HERNÁNDEZ

SALAMANCAPágina 10 de 26 DEPARTAMENTO DE TECNOLOGÍA 

Control de las salidas analógicas (motores) 

Si en el cuadro de diálogo Editar salida se pulsa el botón E/S se tiene acceso al siguientecuadro:

Análogamente al control de las salidas digitales, se pueden controlar los motores sin más quepulsar el botón Motor , de modo que se obtiene un cuadro con la lista de motores disponiblespara la interfaz en uso:

Cada motor se identifica con una letra del alfabeto: a, b, c, d (ojo, no confundir estanomenclatura con la de las variables del lenguaje).

Si, por ejemplo, se selecciona el motor a, se obtiene un cuadro que permite activarlo ensentido directo (adel ), inverso (at rás , reverse) o detenerlo (desact ):

Si, por ejemplo, se pulsa adel , se obtiene:

Nota: girar hacia adelante significa para la interfaz FlowGo, alimentar elconector izquierdo de la salida de motor (A1 o B1) en negativo y el derecho(A2 o B2) en positivo; en el caso de la interfaz fischertechnik, girar haciaadelante significa alimentar el conector superior de la salida de motor ennegativo y el inferior en positivo. En ambas interfaces girar atrás significa,obviamente, alimentar los conectores de la salida de motor con una polaridadinversa a la descrita. Si se tiene en cuenta esto, los programas escritos parauna interfaz serán igualmente válidos para la otra.

Page 11: Flowol Manual

7/22/2019 Flowol Manual

http://slidepdf.com/reader/full/flowol-manual 11/26

CURSO 05-06IES MATEO HERNÁNDEZ

SALAMANCAPágina 11 de 26 DEPARTAMENTO DE TECNOLOGÍA Los botones numéricos de la parte inferior permiten introducir números entre 0 y 100(realmente, hasta 999, pero se interpretan como 100) cuyo significado es el de establecer lapotencia a la que se alimentará el motor en porcentaje de la potencia máxima disponible) y,por tanto, regular su velocidad de giro. Si, por ejemplo, se introduce el valor 80, y se pulsaAceptar se obtiene:

En caso de que no se especifique la potencia que regula la velocidad, en esta mismainstrucción se puede manejar simultáneamente otro motor, de modo que si se selecciona el by se detiene con desact , se obtiene el bloque:

Caso de que el interfaz en uso no disponga de regulación de velocidad para las salidas demotor, las únicas acciones disponibles para un motor son el giro directo, el inverso y laparada. Éste es el caso de la interfaz fischertechnik, que no proporciona regulación develocidad en las salidas de motor, mientras que la interfaz FlowGo sí lo hace.

Emisión de señales acústicas 

Si en el cuadro Edit ar sal ida se pulsa el botón Sonido :

se obtiene el cuadro de diálogo Sonidos :

que permite asignar para posterior uso 10 archivos de sonido que se encuentren en el

ordenador. Por ejemplo, pulsando el botón Examinar y explorando el disco en la formahabitual de Windows se pueden establecer los sonidos 0 y 1:

Page 12: Flowol Manual

7/22/2019 Flowol Manual

http://slidepdf.com/reader/full/flowol-manual 12/26

CURSO 05-06IES MATEO HERNÁNDEZ

SALAMANCAPágina 12 de 26 DEPARTAMENTO DE TECNOLOGÍA 

y cuando se cierra la anterior ventana (haciendo clic en el aspa) se obtiene:

de modo que pulsando 0 y Aceptar aparece finalmente el bloque:

cuyo resultado es emitir el sonido deseado.

Es conveniente decir que el sonido lo emite el sistema de sonido (o el altavoz) delordenador y no la interfaz (aunque hay algunas interfaces que incorporan un pequeñoaltavoz).

Nota:

Para asegurarse de que el sonido se reproduce en su integridad esconveniente añadir tras el bloque de sonido un bloque de espera por untiempo igual a la duración del sonido (esta la podemos obtener desde elreproductor de Windows). Para introducir un retardo (temporización) no haymás que introducir un bloque de Proceso :

pulsar el botón Tardar y fijar una espera mediante los botones numéricos:

Page 13: Flowol Manual

7/22/2019 Flowol Manual

http://slidepdf.com/reader/full/flowol-manual 13/26

CURSO 05-06IES MATEO HERNÁNDEZ

SALAMANCAPágina 13 de 26 DEPARTAMENTO DE TECNOLOGÍA 

Si, por ejemplo, pulsamos 2 , . , 5 y Aceptar , consecutivamente, obtenemosel bloque:

Por supuesto, este bloque no se aplica solamente a la reproducción de sonidossino a cualquier proceso que necesite la aplicación de una temporización.Flowol no permite más de 16 valores diferentes de retardo. Por ejemplo, si

se usa Tardar 2. 5 cinco veces en el programa esto se cuenta como un solovalor de retardo. Si por ejemplo se usa  Tardar 1, Tardar 2, Tardar 3,esto se contabiliza como tres valores de retardo.

Así pues, la programación de la emisión de un sonido queda, por ejemplo:

El segundo bloque asegura que el programa no ejecutará otras acciones hasta que el sonido sehaya reproducido completamente (si es eso lo que deseamos).

Page 14: Flowol Manual

7/22/2019 Flowol Manual

http://slidepdf.com/reader/full/flowol-manual 14/26

CURSO 05-06IES MATEO HERNÁNDEZ

SALAMANCAPágina 14 de 26 DEPARTAMENTO DE TECNOLOGÍA 

4. Control de los sensores: programación de lasentradas 

Para comunicarse con los sensores de un sistema mediante una interfaz de control, Flowolcuenta con el bloque "Decisión" (o Condición): 

que permite comprobar el estado de los sensores conectados a las entradas de la interfaz. Lomás habitual cuando se lee el estado de las entradas es tomar una decisión sobre el uso de losactuadores en función del valor que toman los sensores. Por ello, este bloque permite evaluar

una condición dependiente del valor que toman los sensores y tomar una decisión entre dosalternativas de actuación.

Edición de una condición 

El bloque "Decisión" realiza la operación lógica: "Si se cumple una condición, entoncesdirígete a...., si no, dirígete a ..." (equivale a la instrucción I F de otros lenguajes textuales,como BASIC o C).

Se trata de un bloque con una entrada y dos salidas. Permite bifurcar el flujo del programaentrante entre dos vías de salida alternativas (o una o la otra, pero no ambas). La elección deuna u otra depende de si la evaluación de la condición especificada resulta en un valorverdadero o falso.

Para insertar este bloque en un punto del programa, no hay másque pulsar sobre el "rombo" de la barra de herramientas,arrastrarlo y hacer clic en el punto seleccionado. En estemomento se abre el cuadro de diálogo Editar decisión quepermite introducir la condición que dará lugar a la bifurcación.

Page 15: Flowol Manual

7/22/2019 Flowol Manual

http://slidepdf.com/reader/full/flowol-manual 15/26

CURSO 05-06IES MATEO HERNÁNDEZ

SALAMANCAPágina 15 de 26 DEPARTAMENTO DE TECNOLOGÍA Para editar la condición se pulsará en el botón Es del cuadro anterior, de modo que seobtiene:

Con éste cuadro se puede construir la condición en función del valor que toman:

•  las entradas digitales (botón Entrada )•  las entradas analógicas (botón Val ), o la diferencia entre dos de las entradas

analógicas (botón Margen )

aunque también se puede construir una condición en base a:

•  el valor de las variables utilizadas en el programa (a, b , . . . . , x , y , z )

Por ejemplo, para comprobar si el 2º sensor digital está en activo habría que seguir lasecuencia:

pulsar el botón Entrada  

pulsar el botón 2  

pulsar el botón act iva  

con lo que se tiene:

y al pulsar Aceptar se obtiene:

Page 16: Flowol Manual

7/22/2019 Flowol Manual

http://slidepdf.com/reader/full/flowol-manual 16/26

CURSO 05-06IES MATEO HERNÁNDEZ

SALAMANCAPágina 16 de 26 DEPARTAMENTO DE TECNOLOGÍA 

En el caso de sensores analógicos se actúa de forma similar pero pulsando el botón Val :

y una vez seleccionado el nº de sensor,

construir la condición utilizando los operadores relacionales:

•  > (mayor que)•  < (menor que)•  = (igual que)•  != (distinto de)

para llegar a un resultado del tipo:

Análogamente, para construir condiciones dependientes del valor de las variables habría quepulsar los botones a , b , ..., x , y , z :

para obtener condiciones del tipo:

Page 17: Flowol Manual

7/22/2019 Flowol Manual

http://slidepdf.com/reader/full/flowol-manual 17/26

CURSO 05-06IES MATEO HERNÁNDEZ

SALAMANCAPágina 17 de 26 DEPARTAMENTO DE TECNOLOGÍA 

Bifurcación condicional 

La bifurcación del flujo entrante en función del valor de la condición se lleva a caboañadiendo dos líneas de salida al bloque "Decisión". Una línea sigue el flujo del programa en

caso de que la respuesta a la condición sea verdadera y otra línea en caso de que sea falsa.En Flowol la primera línea se denomina línea SÍ y la segunda línea NO.

Para incluir una línea SÍ no hay más que pulsar el botón SI de la barra de herramientas y hacerclic primero en el bloque "Decision" y segundo en el bloque que se desea ejecutarinmediatamente después de evaluar la condición verdadera.

Análogamente, para trazar la línea NO no hay más que pulsar el botón NO y unir el bloque"Decisión" con el bloque destino en caso de condición falsa:

Page 18: Flowol Manual

7/22/2019 Flowol Manual

http://slidepdf.com/reader/full/flowol-manual 18/26

CURSO 05-06IES MATEO HERNÁNDEZ

SALAMANCAPágina 18 de 26 DEPARTAMENTO DE TECNOLOGÍA 

Realización de bucles o lazos 

Un bucle es un conjunto de instrucciones que se ejecutan repetidamente hasta que severifica una condición de fin de bucle, o condición de salida del bucle. Se trata de una

estructura utilizada muy frecuentemente en programación.

•  Programación de un bucle MIENTRAS  

Supongamos que queremos ejecutar un proceso (por ejemplo, que un motor conectado a laprimera salida gire) mientras que uno de los sensores digitales (por ejemplo, la entradadigital 1) esté activo. Para lograrlo, no tenemos más que insertar un bloque "Decisión" quecompruebe el valor del sensor y, si está activo (condición SI), enlace con el bloque "Salida"que activa el motor, realimentando de nuevo la entrada del bloque "Decisión". Por elcontrario, si el sensor se ha desactivado (condición NO), debe seguir el flujo principal delprograma:

En muchos lenguajes de programación, a un proceso iterativo de este tipo se le denominabucle WHILE (se repite MIENTRAS que se cumple una determinada condición)

•  Programación de un bucle HASTA 

Análogamente al caso anterior, supongamos que queremos ejecutar un proceso (por ejemplo,que un motor conectado a la primera salida gire) hasta que uno de los sensores digitales (porejemplo, la entrada digital 1) se encuentre activo, suponiendo que no lo estaba inicialmente.Para lograrlo, no tenemos más que insertar un bloque "Decisión" que compruebe el valor delsensor y, si no está activo (condición NO), siga esperando, realimentando de nuevo la entradadel bloque "Decisión". Por el contrario, si el sensor se ha activado (condición SI), debe activarel motor y seguir el flujo principal del programa:

Nota: para conectar un bloque "consigo mismo" mediante una línea (ya sea SI,NO o siempre) no hay más que escoger el símbolo flecha de la barra deherramientas y pulsar en el bloque una vez y, tras ésta, otra más.

En muchos lenguajes de programación, a un proceso iterativo de este tipo se le denominabucle UNTIL (se repite HASTA que se cumple una determinada condición)

Page 19: Flowol Manual

7/22/2019 Flowol Manual

http://slidepdf.com/reader/full/flowol-manual 19/26

CURSO 05-06IES MATEO HERNÁNDEZ

SALAMANCAPágina 19 de 26 DEPARTAMENTO DE TECNOLOGÍA 

5. Variables y expresiones

Las variables son contenedores con nombre que almacenan temporalmente valores parasu uso en el programa. Son el medio para que el programa "recuerde" datos.

Se pueden utilizar 8 variables distintas (nombradas como a, b, c, d, n, x, y, z), aunque el nºtotal disponible en cada momento depende de la interfaz de control que se esté usando(por ejemplo, con la interfaz FlowGo sólo están disponibles las variables x e y, mientras quecon la interfaz Fischetechnik todas se hallan disponibles).

En Flowol, a una variable se le puede asignar un valor entero, o el resultado de unaoperación entre dos variables o entre una variable y un número entero. La manera dehacerlo consiste en utilizar el bloque "Proceso":

Para insertar este bloque en un punto del programa, no hay más que pulsar sobreel símbolo indicado en la figura adjunta de la barra de herramientas, arrastrarlo yhacer clic en el punto seleccionado. En este momento se abre el cuadro de diálogoEdit ar Proceso que permite introducir los datos necesarios para manejar lassalidas.

El botón Fi ja r permite acceder a la una instrucción (similar a la correspondiente LET deBASIC) que proporciona el medio para asignar un valor a una de las ocho variables disponibles,cuyos nombres son a, b, c , d , n , x , y , z .

Asignación de valores enteros 

Si en el cuadro de diálogo anterior pulsas el botón del nombre de la variables deseada, porejemplo, a , obtienes:

Page 20: Flowol Manual

7/22/2019 Flowol Manual

http://slidepdf.com/reader/full/flowol-manual 20/26

CURSO 05-06IES MATEO HERNÁNDEZ

SALAMANCAPágina 20 de 26 DEPARTAMENTO DE TECNOLOGÍA 

y observa que este cuadro presenta el botón , que da acceso a la asignación de valores:

Si pulsas los botones numéricos hasta obtener el valor que deseas asignar:

y pulsas el botón Aceptar , obtienes un resultado como:

Observa que el cuadro anterior sólo permite introducir números enteros entre 0 y 9999999.

Flowol no permite más de 16 diferentes definiciones de una variable. Por ejemplo, si seusa Fi j ar a=327 cinco veces en un programa esto cuenta como una sola definición. Si seusa Fi j ar x=0, Fi j ar x=1, Fi j ar x=2, esto cuenta como tres definiciones diferentes.

Puedes observar a tiempo real el valor de las variables durante la ejecución de un programapor medio de la ventana de monitorización de variables (accesible mediante la opción demenú Ventana/Variables...):

Page 21: Flowol Manual

7/22/2019 Flowol Manual

http://slidepdf.com/reader/full/flowol-manual 21/26

CURSO 05-06IES MATEO HERNÁNDEZ

SALAMANCAPágina 21 de 26 DEPARTAMENTO DE TECNOLOGÍA 

Utilización de expresiones aritméticas 

Al igual que se asignan valores numéricos a una variable, se le puede asignar el resultado deuna operación aritmética entre un número y otra variables o entre dos variables.

Para conseguirlo, no hay más que partir del cuadro de diálogo:

y pulsar alguno de los botones de variables para construir el segundo miembro de la operaciónde asignación. Por ejemplo, pulsamos el botón b y obtenemos un nuevo cuadro que permiteacceder a los operadores aritméticos disponibles:

que son:

•  adición (+) •  sustracción (-) •  multiplicación (*) •  división (/) 

Pulsando los botones pertinentes y finalmente Aceptar  se pueden conseguir expresionescomo:

que realiza una operación aritmética de sólo dos operandos (variable y número), o como:

que involucra una operación de dos variables. Con ello, al pulsar el botón OK se obtiene unbloque como:

Page 22: Flowol Manual

7/22/2019 Flowol Manual

http://slidepdf.com/reader/full/flowol-manual 22/26

CURSO 05-06IES MATEO HERNÁNDEZ

SALAMANCAPágina 22 de 26 DEPARTAMENTO DE TECNOLOGÍA 

Un caso particular muy útil del uso de expresiones aritméticas es el incremento odecremento del valor de una variable. Supón que quieres llevar la cuenta del número deveces que se activa un pulsador conectado a la primera entrada digital. Para ello puedesescribir el siguiente código:

Observa la asignación x=x+1. Aunque como expresión matemática es incorrecta, susignificado en programación es el de incrementar en una unidad, a la salida del bloqueAsignar, el valor que poseía la variable x a la entrada del mismo. En este sencillo ejemplo,

cada vez que la entrada 1 se activa, la variable x se incrementa y su valor se actualiza en laventana Variables. Después, el programa aguarda la desactivación de la entrada, para volverde nuevo a esperar su activación.

Page 23: Flowol Manual

7/22/2019 Flowol Manual

http://slidepdf.com/reader/full/flowol-manual 23/26

CURSO 05-06IES MATEO HERNÁNDEZ

SALAMANCAPágina 23 de 26 DEPARTAMENTO DE TECNOLOGÍA 

6. Programación estructurada: subprogramas

Los subprogramas son rutinas, procedimientos o conjuntos de instrucciones que realizanuna labor específica.

Los subprogramas o subrutinas nacieron de la necesidad de no repetir innecesariamente untrabajo ya hecho. Pueden llamarse desde el cuerpo del programa principal cuantas veces sedesee.

Permiten la descomposición de un problema complejo en subproblemas más sencillosabordables de forma independiente.

Cuando un programa principal llama a un subprograma el flujo normal se detiene y continúaen el comienzo del subprograma. Cuando el subprograma se termina, se retoma el flujonormal del programa principal.

Supongamos, por fijar ideas, que necesitamos encender una lámpara (conectada a la 1ª salida

de la interfaz de control) 3 veces durante medio segundo cada vez y con intervalos de 1segundo. Un programa que realiza este proceso puede ser:

Como observamos, se repite 3 veces un mismo conjunto de instrucciones, de modo quepodemos definir un subprograma (llamado lamp, pro ejemplo) cuya acción sea simplementeencender y apagar la lámpara con los períodos adecuados e invocar este subprograma 3 vecesdesde el programa principal:

Page 24: Flowol Manual

7/22/2019 Flowol Manual

http://slidepdf.com/reader/full/flowol-manual 24/26

CURSO 05-06IES MATEO HERNÁNDEZ

SALAMANCAPágina 24 de 26 DEPARTAMENTO DE TECNOLOGÍA 

Como observamos, este nuevo programa es más económico a la hora de programar y resulta

mucho más legible. Cuando un programa contiene muchas instrucciones esta forma deprogramar se convierte en indispensable para obtener un código eficiente y fácil deinterpretar por el programador.

Edición de un subprograma 

Para definir un subprograma no hay más que insertar un bloque terminador y pulsar el botónSub en el cuadro de diálogo que aparece:

En el cuadro de texto que aparece en blanco se puede introducir el nombre deseado para elsubprograma:

Page 25: Flowol Manual

7/22/2019 Flowol Manual

http://slidepdf.com/reader/full/flowol-manual 25/26

CURSO 05-06IES MATEO HERNÁNDEZ

SALAMANCAPágina 25 de 26 DEPARTAMENTO DE TECNOLOGÍA 

de modo que se obtiene el bloque:

(si no se hubiese introducido ningún nombre, el subprograma sería reconocido simplementepor Sub 1).

El cuerpo del subprograma se completa arrastrando y soltando los bloques necesarios y sefinaliza insertando un terminador Al to .

En Flowol se pueden definir hasta 16 diferentes subprogramas, con un grado de anidamientomáximo de 8 niveles.

En particular, un subprograma se puede llamar a sí mismo. Esto se conoce como recursividad.No se suele utilizar dado que consume una gran cantidad de recursos de la computadora.

Llamada desde el programa principal 

Una vez se tienen definidos uno o más subprogramas, cualquiera de ellos puede ser invocadodesde el programa principal.

Para ello es preciso insertar el bloque Proceso en un punto delprograma: no hay más que pulsar sobre el símbolo indicado en lafigura adjunta de la barra de herramientas, arrastrarlo y hacer clicen el punto seleccionado. En este momento se abre el cuadro dediálogo Edit ar Proceso que permite introducir los datos necesariospara manejar las salidas.

El botón Sub da acceso a una lista de los subprogramas previamente definidos, de forma quese puede seleccionar a cuál de ellos se desea invocar.

Page 26: Flowol Manual

7/22/2019 Flowol Manual

http://slidepdf.com/reader/full/flowol-manual 26/26

CURSO 05-06IES MATEO HERNÁNDEZ

SALAMANCAPágina 26 de 26 DEPARTAMENTO DE TECNOLOGÍA 

Si, por ejemplo, se selecciona el denominado 1(Nom_sub), se obtiene el bloque:

de modo que pulsando Aceptar se tiene el bloque:

que interrumpe el flujo del programa principal paracomenzar a ejecutar el contenido del subprograma.Cuando se alcanza el bloque terminador Al to del mismo,el programa principal continúa su ejecución en el puntodonde lo dejó.

Si en el anterior cuadro Editar Proceso  se hubiesepulsado alguno de los botones numéricos (1-9), porejemplo, el 5, se hubiese obtenido el bloque:

Este, ejecuta el nº de veces elegido (en este caso 5), lasinstrucciones contenidas en el subprograma antes dedevolver el control al programa principal. Utilizando esterecurso, el programa presentado anteriormente se puederescribir de manera muy compacta: