Hasta hace poco sólo era posible la utilización de entornos de simulación, adquisición y control de datos en tiempo real gracias a costosas herramientas bajo licencias con restricciones de uso (como por ejemplo Labview, Flow View, etc.). Pero en la actualidad y gracias a MyOpenLab, una herramienta GNU abierta y gratuita, ahora es posible competir en el terreno educativo y profesional con las grandes herramientas de programación visual.
¿Qué es MyOpenLab? Se trata de una herramienta libre cuyo proyecto fue iniciado por Carmelo Daniel Salafia y transferido en 2017 al actual desarrollador, el ingeniero Javier Velásquez. Dicha herramienta está disponible gratuitamente bajo una licencia GNU General Public License y ha sido traducida y documentada al español por el profesor José Manuel Ruiz Gutiérrez. Las posibilidades gráficas de MyOpenLab, así como su potencia de cálculo y proceso de datos, incluso en tiempo real, la convierten en una herramienta adecuada para experimentación y elaboración de prototipos en el laboratorio y en el aula. Además, los entusiastas de la realización de proyectos con Arduino así como también profesionales y profesores de Tecnología descubrirán con este curso online las enormes posibilidades de MyOpenLab en conjunción con estas tarjetas. De hecho, Arduino + MyOpenLab conforman un sistema de Adquisición de datos barato, fiable y poderoso para realizar prototipos de modelos de control con Interfaces. Además está desarrollada en lenguaje JAVA por lo que resulta portable a distintas plataformas y escrita en varios idiomas (alemán, inglés y español).

¿Dónde se puede usar MyOpenLab? Dado que MyOpenlab es un entorno orientado a la simulación y modelado de sistemas físicos, electrónicos y de control, existe un amplio campo de aplicaciones:
- Simulación de Instrumentos.
- Control de Elementos Físicos mediante Interfaces.
- Simulación de Robots.
- Modelado de Fenómenos Físicos.
- Simulación de Automatismos.
- Simulación de Circuitos digitales.
- Simulación de Circuitos Analógicos.
- Tratamiento de Imágenes y Sonidos.
- Operaciones con matrices y vectores 2D y 3D.
En el campo del modelado y simulación es muy interesante contar con una herramienta flexible como MyOpenLab que, a partir de una amplia biblioteca de bloques funcionales, permita realizar modelos a base de conectar bloques funcionales. Así pues, la presentación de los resultados y/o el control de las simulaciones se hace mediante un potente conjunto de bloques de función de visualización y/o interacción capaz de manejar todo tipo de datos (analógicos, digitales, matrices, vectores, imágenes, sonidos, etc.). De esta manera es posible diseñar instrumentos virtuales a través de los cuales realizar una aproximación a los sistemas de medida y control de una manera mas realista. La realización de una simulación se hace mediante dos pantallas o áreas de trabajo: Panel Circuito y Panel Visualización. En el primero se diseña el algoritmo de simulación mediante "bloques" o "elementos de función" y en el segundo se muestran los datos o se generan los estímulos cuando se está en el modo de "simulación".

MyOpenLab es capaz de conectarse al mundo físico mediante: conexión directa I/O, con tarjetas de interfaces comerciales (K8055 de Valleman, MSE-PCIO-4E4S de MKE, etc.), con Arduino a través de la librería Firmata, con Raspberry Pi, conexión a través del puerto Serie, etc. Estos son los bloques de la librería de Comunicación de MyOpenLab...

Los entusiastas de la realización de proyectos con Arduino así como también profesionales y profesores de Tecnología pueden descubrir, sin realizar costosas inversiones, las enormes posibilidades de MyOpenLab. Sus principales características son:
- Facilidad de uso. Sólo se requieren conocimientos básicos de Programación y Electrónica para usar la herramienta.
- Biblioteca de funciones. Amplia
biblioteca de funciones tanto para manejo de señales analógicas como
digitales. Tratamiento de los tipos de datos y operaciones con estos.
- Biblioteca de objetos gráficos.
Posee una potente biblioteca de objetos gráficos tipo “canvas” mediante
la que se puede dotar de movimiento a cualquier objeto o imagen
asociándola a variables de los modelos a simular.
- Encapsulamiento. Realización de las aplicaciones mediante el uso de bloques de función con la posibilidad de encapsularlos en “macros”.
- Pantallas de visualización. Facilidad para crear pantallas de visualización que recojan el estado de las variables y eventos de las simulaciones.
- Posibilidad de añadir componentes. Posibilidad de ampliación de su librería de componentes, editándolos en código JAVA.
- Submodelos. Posibilidad de creación de “submodelos de panel” y “submodelos de circuito” encapsulados.
Dada la versatilidad y potencia de esta herramienta, en el Campus Tecnológico hemos querido ofrecer un curso en línea y tutorizado por el profesor José Manuel Ruiz Gutiérrez (autor de la traducción y documentación al español) dirigido a estudiantes de nivel Bachillerato, FP e ingenierías; profesores Educacion Secundaria, FP e Ingeniería y profesionales que estén interesados en utilizar esta herramienta y exprimir todas sus posibilidades. El inicio del curso está previsto para el próximo lunes 13 de ABRIL.
Dicho curso contiene más de 600 páginas de texto de estudio en formato PDF, más de más de 100 ejemplos de programas y aplicaciones resueltos y más de 100 ejercicios propuestos y preguntas de tipo test.
¿Cúal es el temario del curso?
Para hacernos una idea de lo práctico y provechoso que resulta el
curso, ahí va una lista de contenidos prácticos que se abordarán en el
curso:
- Tema 1: Tratamiento de datos. Con los
contenidos de esta primera unidad el alumno conocerá el entorno
MyOpenLab para poder manejarlo y además estudiará el tratamiento de los
datos que hace el programa repasando los principales bloques de
librerías que se encargan de dicho tratamiento. Ejercicios: Tipos
de Datos - Datos String - Tratamiento de Cadenas de texto - Operaciones
matemáticas - Operaciones de comparación - Calculadoras - Generador
señal
- Tema 2: Interacción. Los objetivos que se
persiguen con esta unidad es reconocer y utilizar los distintos objetos
que permitan la interacción del usuario de MyOpenLab con la herramienta
a través del teclado, ratón, sonido, etc. Se estudiarán objetos de
visualización de estados así como generadores de estímulos (datos
Booleano, Decimales y Enteros). Ejercicios: Visualización de
estados - Interacciona visual booleana - Control desde el teclado -
Interacción ratón - Mensajes - Sonido Beep - Sonido micrófono - Demo
sonido - Ejecutar aplicación externa - Librerías de interacción - Carga
de datos manual en un fichero
- Tema 3: Tratamiento de imágenes.
En esta unidad vamos a estudiar las posibilidades que ofrece MyOpenLab
para realizar simulaciones en las que intervengan objetos gráficos
animados. El uso de las herramientas de animación resulta muy
interesante en aquellas simulaciones en las que tengamos intención de
mostrar un sinóptico animado o queramos ver la evolución de un objeto o
imagen en la pantalla movido en función de los valores de las variables
de un modelo matemático que pueda ser el núcleo de la simulación. Ejercicios:
Formas de cargar imagen en el panel - Tratamiento de imagenes - Colocar
objetos en el área canvas - Color - Movimiento de un objeto en el panel
- Mover y rotar imagen - Control desplazamiento vertical - Posicionar
imagen con ratón
- Tema 4: Circuitos Temporales.
En numerosas aplicaciones es preciso suministrar al modelo una variable
independiente, normalmente el tiempo, que es preciso generar. Para ello
se recurre al establecimiento de circuitos contadores que con una
cadencia temporal modificable se encargan de esta tarea. MyOpenLab posee
una librería de funciones que prestan este servicio de una manera fácil
y potente. Ejercicios: Retardo, Impulso Retardo, Generador,
Contador, Contador Impulsos, Temporizador, Temporizador Impulsos,
Temporizador/Contador, Contador Adelante/Atrás, Calendario,...
- Tema 5: Medidores y Trazadores de Señal. El
objetivo de esta unidad es dar a conocer los objetos de librería que
permiten realizar el trazado de señales analógicas y digitales en tiempo
real, así como también el estudiar objetos que emulan instrumentos de
medida de valor analógico. Ejercicios: Medidores - Trazadores - Ejemplos display - Dígitos
- Tema 6: Circuitos Digitales.
En esta unidad se da a conocer los objetos de librería "Operadores
Digitales" que permiten realizar aplicaciones muy conocidas y utilizadas
en el estudio de la Electrónica Digital. Se estudiarán circuitos muy
conocidos tanto combinacionales como secuenciales. Ejercicios:
Operadores básicos - Ecuación lógica - Circuito Combinacional -
Biestable RS con Nand - Biestable RS - Biestable RS con varias entradas -
Contador BCD - Contador 4 Bits - Display 7 segmentos - Contador con
Display - Contador BCD 2 Dígitos - Multiplexor/Demultiplexor -
Codificador binario a decimal - Codificador decimal a binario
- Tema 7: Programación con Diagramas de Flujo.
En esta unidad se estudian los bloques más conocidos y clásicos de los
lenguajes de programación mediante diagramas de flujo. Se realizan
ejemplos prototipo que implementan los algoritmos más utilizados en la
programación. Ejercicios: Hola Mundo - Sumar - Comparar cadenas -
Decisiones booleanas - Decisión double - Ejecución simultánea -
Intermitente - Contadores básicos - Bucle For Next - Procedimientos -
Bucle While/When - Mover imagen - Termostato - Generador Impulsos
- Tema 8: Automatismos y Robótica.
Se dan a conocer los elementos de la librería de Automatismos para
aplicarlos a la hora de realizar una simulación, así como también las
características del elemento de librería de MyOpenLab llamado Robi2D,
con el que se facilita al usuario un primer contacto con el mundo de la
Robótica en dos dimensiones. Ejercicios: Barrera - Cilindro
neumático - Cilindro neumático secuencial - Cinta transportadora -
Control Barrera - Control Motor - Puerta - Depósito - Cinta con sensores
- PLC Paro Marcha - PLC Intermitente - PLC Generador n Impulsos
- Tema 9: Arduino.
En esta unidad se da a conocer la librería de conexión con Arduino a
través del protocolo Firmata con la que se puede realizar distintas
aplicaciones que permiten la adquisición y el control de datos de
actuadores y sensores conectados a la tarjeta Arduino. Ejercicios:
Entrada Digital - Entrada Analógica - Salida Digital - Control salida
desde el teclado - Escalar analógica - Trazado canal analógico - Trazado
canal digital - Comparador de dos canales analógicos - Blink - Blink
frecuencia variable - Blink con bloque librería element - Blink con
bloque librería panel - PWM_SERVO - PWM_SERVO control ratón - Funcion
AND - Biestable - Ascensor - Control Robot - Termostato - Generador de
impulsos - Secuenciador 4 bits - Secuenciador decimal - Captura de datos
- Tema 10: Encapsulación y creación de librerías.
Cuando se diseña un modelo y se realiza la simulación a veces es
necesario realizar un seguimiento (trazado) de los valores que van
adoptando determinas señales del modelo. Para conseguir este objetivo
MyOpenlab dispone de la posibilidad de añadir puntos de test. Además, en
los casos en los que el modelo que se tenga que diseñar sea muy grande,
MyOpenLab permite crear submodelos que respondan a varias funciones del
modelo y que se encapsulen en un único componente (Sub-VM). Estos
submodelos quedan incorporados en el árbol de carpetas de ejemplos y
después podrán ser incorporados en otras nuevas simulaciones (VM). Ejercicios: Anidado de VMs - Uso de Sub-VM - Encapsulación - Puntos de test.
Curso de "Diseño y Simulación con MyOpenLab". Lunes 13 de abril. Si deseas más información, no dudes en echar un vistazo a la siguiente página: https://myopenlab.es
Este es un curso tutorizado y on-line:tutorizado porque está atendido por un tutor experto que te guiará en la realización de las actividades, te aclarará los conceptos y resolverá tus dudas diariamente a través de la mensajería interna del campus; y on-line porque su formato permite que cada alumno acceda desde su casa y haga un aprovechamiento del curso a su ritmo, con el horario que más le convenga según sus circunstancias personales o profesionales. El curso tiene una fecha de inicio y de finalización porque es el tiempo de tutoría que dispondrás en el curso y te ayudaremos a que lo termines en ese plazo (si no puedes terminarlo a tiempo, ningún problema: solicita un emplazamiento o prorroga).
El Muro