3.3

Control de los actuadores:
programación de las salidas

 

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

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

Para insertar este bloque en un punto del programa, no hay más que pulsar sobre 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 abre el cuadro de diálogo Editar salida que permite introducir los datos necesarios 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:

    • encendido y girando en sentido antihorario,

    • encendido y girando en sentido horario, y

    • 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.

 

1. 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 siguiente cuadro:

Si, a su vez, se pulsa el botón Salida, se obtiene una lista de tantas salidas digitales como las que 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 activa/desact:

Este bloque facilita el control de hasta cuatro salidas simultáneamente, de modo que se pueden 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.

 

2. 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 siguiente cuadro:

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

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

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

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

Nota: girar hacia adelante significa para la interfaz FlowGo, alimentar el conector 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 hacia adelante significa alimentar el conector superior de la salida de motor en negativo y el inferior en positivo. En ambas interfaces girar atrás significa, obviamente, alimentar los conectores de la salida de motor con una polaridad inversa a la descrita.
Si se tiene en cuenta esto, los programas escritos para una interfaz serán igualmente válidos para la otra.

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 la potencia 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 pulsa Aceptar se obtiene:

En caso de que no se especifique la potencia que regula la velocidad, en esta misma instrucción se puede manejar simultáneamente otro motor, de modo que si se selecciona el b y 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 de motor, las únicas acciones disponibles para un motor son el giro directo, el inverso y la parada. Éste es el caso de la interfaz fischertechnik, que no proporciona regulación de velocidad en las salidas de motor, mientras que la interfaz FlowGo sí lo hace.

 

3. Emisión de señales acústicas

Si en el cuadro Editar salida 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 forma habitual de Windows se pueden establecer los sonidos 0 y 1:

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 insistir en que el sonido lo emite el sistema de sonido (o el altavoz)  del ordenador y no la interfaz (aunque hay algunas interfaces que incorporan un pequeño altavoz). La presente versión de Flowol prácticamente sólo permite la reproducción de archivos de sonido con formato .wav (WAVEform audio format, audio digital, normalmente sin compresión de datos, muy extendido)

Nota:

Puesto que el sonido lo emite el sistema operativo en segundo plano (es decir, mientras Flowol sigue su ejecutando su flujo con normalidad), para asegurarse de que se reproduce en su integridad puede ser conveniente añadir tras el bloque "Sonido" un bloque de espera por un tiempo igual a la duración del sonido (ésta la podemos conocer mediante el reproductor de Windows Media, por ejemplo). Para introducir un retardo (temporización) no hay más que introducir un bloque de Proceso:

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

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

Por supuesto, este bloque no se aplica solamente a la reproducción de sonidos sino 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 solo valor 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 se haya reproducido completamente (si es eso lo que deseamos).

Pero si el bloque Tardar establece un retardo inferior a la duración real del sonido, éste se seguirá reproduciendo aún cuando el retardo haya finalizado. Así, si el sonido escogido tiene una duración de 6 s y hemos programado un retardo de 2.5 s, el sonido continuará reproduciéndose otros 3.5 después de haber finalizado el bloque Tardar. Por tanto, debemos escoger un sonido de la duración precisa que necesitamos porque, en caso contrario, puede resultar demasiado corto o demasiado largo.

Nota: Observa que, puesto que un bloque "Sonido" hace referencia a un archivo de sonido particular que reside en una ubicación concreta de tu disco, cuando pretendes utilizar tu programa de Flowol en un ordenador distinto, puede que el archivo que se está referenciando no exista en el nuevo disco o que no se halle en la misma localización que el primero. Así pues, si cambias de ordenador, puede resultar conveniente archivar el sonido junto con el programa para situar el primero en la misma dirección en la que se hallaba en el disco original.


Fuentes
 

Control y Robótica. Tema: El lenguaje de control Flowol. Curso provincial. Víctor R. González, Asesoría de Tecnología y FP, CFIE Valladolid II.

volver a Inicio