Manual del Usuario de MikroPLAN Versión 2019.1 Incluye Adquisición y Señalización Digital con Arduino desde STEP7 Micro
Views 187 Downloads 2 File size 8MB
Manual del Usuario de MikroPLAN Versión 2019.1
Incluye Adquisición y Señalización Digital con Arduino desde STEP7 MicroWin, FluidSIM y LabVIEW
Jorge García Aguirre
2 ÍNDICE CAPÍTULO 1. EL ENTORNO DE PROGRAMACIÓN DE MikroPLAN
6
1.1
DESCRIPCIÓN DEL SOFTWARE
6
1.2
DESCRIPCIÓN DEL FIRMWARE
7
1.3
PROGRAMACIÓN Y OPERACIÓN DEL BIOS
9
1.4
LO QUE HAY DE NUEVO EN ESTA VERSIÓN
10
1.4.1 Resumen del historial
11
INSTALACIÓN DEL PROGRAMA
13
1.5.1 Requerimientos
13
1.5.2 Descarga y descompresión de archivos
13
1.6
CARGA DEL FIRMWARE PLCmDuino EN LA TARJETA Arduino
15
1.7
DETECCIÓN DEL BIOS DESDE MikroPLAN
20
1.8
PLCmDuino EN MODO DE EVALUACIÓN
24
1.9
MODALIDADES DE LICENCIAS
24
1.9.1 Modalidad “UNPLUGGED”
24
1.9.2 Modalidad “PLUGGED”
25
1.9.3 Modalidad “PLUGGED PLUS”
25
1.9.4 Modalidad “DISTRIBUTABLE”
26
1.5
1.10 GENERACIÓN DE LA SOLICITUD DE LICENCIA DE USO DE PLCmDuino
26
1.10.1
Ejemplo de solicitud de licencia de uso de primera vez
27
1.10.2
Ejemplo de solicitud de licencia con referencia heredada
32
1.10.3
Ejemplo de solicitud de licencia de uso compartido
35
1.11 RECEPCIÓN E INSTALACIÓN DEL ARCHIVO DE LICENCIAS
40
1.12 ACTIVACIÓN, CREACIÓN DE CÓDIGOS Y VINCULACIÓN DEL BIOS
41
1.12.1
Licencia “UNPLUGGED”
42
1.12.2
Licencia “PLUGGED”
46
1.12.3
Licencia “PLUGGED PLUS”
50
1.12.4
Licencia “DISTRIBUTABLE”
52
CAPÍTULO 2. PROGRAMACIÓN CON DIAGRAMAS DE ESCALERA
54
2.1
CAPTURA DE UNA RED DE ARRANQUE Y PARO
54
2.2
ASIGNACIÓN DE ENTRADAS Y SALIDAS
58
2.3
GUARDADO DEL PROGRAMA
64
2.4
SIMULACIÓN DEL PROGRAMA EN KOP
65
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
3 2.5
CIRCUITO DE PRUEBA CON LA TARJETA ARDUINO PARA EL PROGRAMA DE ARRANQUE Y PARO
71
2.6
CARGA DEL PROGRAMA EN LA TARJETA ARDUINO
71
2.7
EMULACIÓN DEL PROGRAMA EN AWL O KOP
77
CAPÍTULO 3. PROGRAMACIÓN CON DIAGRAMAS DE CIRCUITOS LÓGICOS
78
3.1
CAPTURA DEL ESQUEMA DEL CIRCUITO
78
3.2
ALAMBRADO DE LOS COMPONENTES
84
3.3
ETIQUETADO DE LAS TERMINALES
86
3.4
ASIGNACIÓN DE PUERTOS DE ENTRADA Y SALIDA
87
3.5
GUARDADO DEL DOCUMENTO
88
3.6
CONFIGURACIÓN DE LOS PINES DE ARDUINO
88
3.7
SIMULACIÓN DEL FUNCIONAMIENTO DEL CIRCUITO
89
3.8
CIRCUITO DE PRUEBA CON LA TARJETA ARDUINO
92
3.9
CARGA DEL PROGRAMA EN LA TARJETA ARDUINO
93
CAPÍTULO 4. CARACTERÍSTICAS ADICIONALES DE MikroPLAN 4.1
CONTROL DEL PROGRAMA CARGADO EN ARDUINO
99
4.1.1 Detención del programa
99
4.1.2 Corrida del programa
100
4.1.3 Borrado del programa
101
4.1.4 Paro forzado al arranque
102
CONEXIÓN DE MikroPLAN Y PLCmDuino VÍA BLUETOOTH
105
4.2.1 Emparejamiento de dispositivos Bluetooth
107
SIMULACIÓN DE PERIFÉRICOS
112
4.3.1 El ADC (Analog to Digital Converter – Convertidor Analógico a Digital)
112
4.3.2 El receptor infrarrojo (Infrared receiver)
117
CAPÍTULO 5. CARACTERÍSTICAS DEL BIOS
122
5.1
MARCAS ESPECIALES
122
5.1.1 Marca de ejecución continua
122
5.1.2 Marca de primer ciclo
122
5.1.3 Marca de reloj de 1 minuto
123
5.1.4 Marca de reloj de 1 segundo
123
5.1.5 Marca de conmutación de ciclo
123
4.2
4.3
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
4 5.2
REGISTROS IMAGEN DE LAS ENTRADAS
123
5.3
REGISTROS IMAGEN DE LAS SALIDAS
123
5.4
REGISTROS EN MEMORIA
124
5.5
CONTADORES
124
5.6
TEMPORIZADORES
124
5.7
PILA
124
5.8
JUEGO DE INSTRUCCIONES AWL
124
CAPÍTULO 6. PLCmDuino Y MobilePorts
127
6.1
INSTALACIÓN DE MobilePorts EN UN TELÉFONO MÓVIL
127
6.2
EMPAREJAMIENTO DEL MÓDULO BLUETOOTH CON EL MÓVIL
131
6.3
CONTROL DEL PROGRAMA EN PLCmDuino DESDE MobilePorts
132
6.3.1 Conexión de MobilePorts con PLCmDuino
132
6.3.2 Arranque, paro y estado de un programa desde MobilePorts
135
CAPÍTULO 7. PLCmDuino Y STEP7 MicroWin
140
7.1
141
EJEMPLO DE SIMULACIÓN/EMULACIÓN
CAPÍTULO 8. PLCmDuino Y FluidSIM
154
8.1
PREPARACIÓN DE FluidSIM PARA LA COMUNICACIÓN CON MikroPLAN
155
8.2
ADQUISICIÓN DE DATOS Y SEÑALIZACIÓN CON PLCmDuino DESDE
8.3
8.4
FluidSIM
157
8.2.1 Preparación de FluidSIM como maestro
157
8.2.2 Preparación de PLCmDuino como esclavo
162
8.2.3 Activación de MikroPLAN como interfaz de comunicación
163
CONTROL DE PROTOTIPOS VIRTUALES EN FluidSIM DESDE PLCmDuino
169
8.3.1 Preparación de FluidSIM como esclavo
169
8.3.2 Preparación de PLCmDuino como maestro
170
8.3.3 Activación de MikroPLAN como interfaz de comunicación
173
CONTROL DE PROTOTIPOS VIRTUALES EN FluidSIM DESDE MikroPLAN
177
8.4.1 Preparación de FluidSIM como esclavo
177
8.4.2 Activación de MikroPLAN como maestro
177
CAPÍTULO 9. PLCmDuino Y LabVIEW
182
9.1
INSTALACIÓN DE LA PALETA PLCmDuino DACQS
182
9.2
ACCESO A PLCmDuino DESDE LabVIEW
186
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
5 9.2.1 Corrida del instrumento virtual
193
9.3
ESCRITURA DE UN BIT A UN PUERTO DE SALIDA
194
9.4
ESCRITURA DE UN BYTE A UN PUERTO DE SALIDA
197
9.5
ESCRITURA DE UNA PALABRA A UN PUERTO DE SALIDA
199
9.6
LECTURA DE UN BIT DE UN PUERTO DE ENTRADA
200
9.7
LECTURA DE UN BYTE DE UN PUERTO DE ENTRADA
202
9.8
LECTURA DE UNA PALABRA DE UN PUERTO DE ENTRADA
203
9.9
LECTURA DE UN CANAL ANALÓGICO
205
CAPÍTULO 10. PLCmDuino SIN Arduino
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
210
6
CAPÍTULO 1 EL ENTORNO DE PROGRAMACIÓN DE MikroPLAN
1.1 DESCRIPCIÓN DEL SOFTWARE MikroPLAN es una aplicación de 32 bits para Windows™ que permite al usuario programar a la tarjeta Arduino UNO o MEGA 2560 en los siguientes lenguajes: - KOP (kontaktplan – esquema de contactos) también conocido como lenguaje de escalera (ladder). Utiliza algunos símbolos similares a los utilizados para programar los PLC (Programmable Logic Controller – Controlador de Lógica Programable) SIMATIC 21X - AWL (Anweisungsliste – Lista de Instrucciones). Utiliza mnemónicos que representan los boques que se utilizan en KOP
- HDLduino Es una versión simplificada del HDL (Hardware Description Language – Lenguaje de Descripción de Hardware) que se utiliza para programar los FPGA (Field Programmable Gate Array – Arreglos de Compuertas Programables en Campo). En particular, esta versión se desarrolló para programar la tarjeta Arduino desde MikroPLAN utilizando una descripción de circuitos digitales a través de un listado de red o un archivo de texto.
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
7 - DGC (Digital Circuit). Es un lenguaje gráfico también exclusivo de MikroPLAN que permite al usuario describir un circuito digital mediante la interconexión de símbolos que representan dispositivos lógicos, algunos de ellos utilizados en el estándar americano. Cada bloque de este lenguaje tiene su correspondiente mnemónico en lenguaje HDLduino.
Para los diagramas de escalera, MikroPLAN le permite al usuario capturar el esquema de su estrategia de control de su programa en KOP. Para los esquemas DGC, MikroPLAN le permite al usuario capturar un circuito digital basado en compuertas, flip-flops e incluso en algunos dispositivos TTL (Transistor Transistor Logic – Lógica Transistor Transistor) como contadores, multiplexores, etc.
1.2 DESCRIPCIÓN DEL FIRMWARE Independientemente del tipo de lenguaje, después de capturado el esquema de la estrategia de programación o el listado de instrucciones, MikroPLAN lo traducirá a códigos numéricos (ByteCode) y los enviará a la tarjeta Arduino. Para ello se requiere que en la tarjeta se encuentre alojado un software embebido o BIOS (Basic Input Output System – Sistema Básico de Entrada y Salida) que recibirá los códigos y los grabará en la memoria de Arduino. Este software recibe el nombre de PLCmDuino. De esta forma, MikroPLAN no requiere la utilización del IDE (Integrated Develoment Environment – Entorno de Desarrollo Integrado) original de Arduino para cargarle un programa previo en C++ para emular la estrategia del usuario en escalera.
Dependiendo del tipo de lenguaje con el que se desee trabajar, se deberá cargar en la tarjeta Arduino la versión del BIOS que corresponda. Si el usuario desea trabajar con KOP o AWL, su tarjeta deberá alojar el BIOS LADDER adecuado a su tarjeta (UNO o MEGA). Si el usuario desea trabajar con diagramas de circuitos lógicos utilizando el lenguaje DGC o HDLduino, su tarjeta deberá alojar el BIOS GATES correspondiente.
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
8 Los archivos HEX que corresponden a las versiones del BIOS y que se incluyen en el paquete, se generaron con la versión 1.6.5.r5 del IDE de Arduino. Por tanto, si es la primera vez que vas a cargar el BIOS en tu Arduino, verifica ANTES que puedas grabar algún programa con la versión del IDE mencionada. Si no es posible, entonces tendrás que actualizar el “bootloader” de tu Arduino con esa versión ANTES de que puedas cargar cualquier versión del BIOS PLCmDuino. Por el momento, MikroPLAN permite programar únicamente las tarjetas Arduino UNO R3 con el micro ATMEGA328P-PU y la tarjeta Arduino MEGA 2560 cuyas fotos se muestran en las figura 1.1 y 1.2 respectivamente. Además, MikroPLAN incorpora la simulación para todos los lenguajes que soporta.
Figura 1.1. Tarjeta Arduino UNO R3
Figura 1.2. Tarjeta Arduino MEGA 2560
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
9 Tu mismo(a) puedes cargar el firmware PLCmDuino en cualquier tarjeta Arduino (UNO o MEGA 2560) y con MikroPLAN programarla en modo evaluación mediante KOP, AWL, HDLduino o DGC. Esto significa que tendrás acceso a todas las características que el firmware te ofrece para cada lenguaje pero el programa que cargues en Arduino solamente se grabará en RAM. Por tanto, al desenergizar la tarjeta, el programa se perderá.
Para eliminar la restricción que presenta el trabajar el firmware en modo evaluación y hacer que un programa permanezca en la memoria no volátil del Arduino, requieres de una licencia de uso. El procedimiento para solicitarla se describe más adelante en este manual.
1.3 PROGRAMACIÓN Y OPERACIÓN DEL BIOS En este documento, se explica de manera simplificada, cómo programar la tarjeta Arduino utilizando los lenguajes KOP o DGC soportados por MikroPLAN. Para el análisis de más ejemplos de programación en uno u otro lenguaje, se sugiere consultar los libros “Programación de Arduino con Diagramas de Escalera utilizando MikroPLAN” y “Programación de Arduino con Diagramas de Circuitos Digitales utilizando MikroPLAN”. Estos documentos están en preparación y se publicarán en línea entre los meses de abril y mayo de este año 2019.
Además de permitir la programación en cualquiera de los lenguajes descritos, el BIOS también permite utilizar la tarjeta Arduino como sistema de adquisición y señalización digital. Esto se puede realizar desde LabVIEW, FluidSIM y de dos aplicaciones también de diseño original: STEPControl y MobilePorts.
STEPControl es una aplicación de escritorio que permite acceder al BIOS de la tarjeta Arduino (UNO o MEGA 2560) desde el programa STEP7 MicroWin 5.5. En esta liberación del software, se está adecuando STEPControl al nuevo manejador de licencias, por lo cual aún no está incluida la nueva versión en el paquete.
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
10 MobilePorts es una aplicación que permite interactuar desde tu móvil con el programa que hayas cargado en tu Arduino con MikroPLAN mediante un enlace Bluetooth.
También es posible realizar aplicaciones HIL (Hardware In the Loop) con el BIOS PLCmDuino y FluidSIM. En este caso, el usuario puede cargar alguna estrategia de control en el Arduino, ya sea en diagramas de escalera o de circuitos lógicos, y a través de MikroPLAN, comunicarse con FluidSIM para controlar el prototipo virtual de algún sistema neumático implementado en esta plataforma.
1.4 LO QUE HAY DE NUEVO EN ESTA VERSIÓN Versión 2019.1; liberación 11/03/2019 - Se manejan solamente dos versiones del firmware, adaptadas para Arduino UNO o MEGA, dependiendo de la necesidad del usuario: “LADDER” que soporta código AWL y KOP, y “GATES” que soporta código HDLduino y DGC. De hecho, para el caso de la versión de PLCmDuino para la tarjeta Arduino MEGA, la separación del BIOS se debió también al incremento de instrucciones en HDLduino y DGC por lo cual, la versión del firmware para Arduino MEGA que antes soportaba los lenguajes de escalera y de circuitos lógicos, se separó en dos versiones; cada una de ellas soportando un solo tipo de lenguaje.
- Se modificó el manejador de licencias. Las licencias STATIC y UNPLUGGED se fusionan en una versión mejorada de esta última para todas las versiones del firmware. La licencia PREMIUM cambia a PLUGGED PLUS y se crea la nueva licencia DISTRIBUTABLE que permite distribuir una licencia UNPLUGGED en varias tarjetas Arduino con la finalidad de que cada una de ellas pueda programarse, como producto terminado, por usuarios diferentes.
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
11
1.4.1 Resumen del historial Versión 2018.9; liberación 22/10/2018 En el software MikroPLAN se incorporó un editor de circuitos digitales, junto con un manejador de archivos con extensión DGC que se utiliza para guardar este tipo de esquemas. También se desarrolló el compilador respectivo a ByteCode. El nombre de la opción de compilación para el lenguaje de descripción de hardware que se utiliza en MikroPLAN cambió a “HDLduino”. Este nombre describe mejor el enfoque que se pretende dar a este lenguaje como una herramienta de síntesis de circuitos digitales a través de Arduino. Por tanto, el nombre anterior “VHDL” (Very High Speed Integration Circuits Hardware Description Language – Lenguaje de Descripción de Hardware para Circuitos Integrados de Alta Velocidad) se reserva en MikroPLAN a una opción adicional de compilación que actualmente ya está en desarrollo y que estará orientada a la emulación de código nativo VHDL que se utiliza para programar los PLD (Programmable Logic Device – Dispositivo de Lógica Programable) y los FPGA (Field Programmable Gate Array – Arreglos de Compuertas Programables en Campo) mediante la tarjeta Arduino MEGA 2560. Además, al compilador HDLduino se le añadió el soporte de más elementos digitales como flip-flops, multiplexores, demux, etc., así como también de algunos dispositivos TTL. También se modificó la secuencia en la descripción de los nodos de entrada y de salida en HDLduino, quedando primero la captura de los nodos de entrada y luego los de salida. Este orden es diferente al que se utilizó en la primera versión de HDL en donde primeramente se anotaban los nodos de salida y luego los de entrada. En el firmware HDLduino para cualquiera de las dos tarjetas (UNO o MEGA 2560), se agregó el código correspondiente para soportar los nuevos elementos de programación que se agregaron a MikroPLAN en los compiladores HDLduino a ByteCode y DGC a HDLduino.
Por otro lado, a partir de esta versión de MikroPLAN, el usuario puede acceder desde la aplicación a noticias en línea y a tutoriales en vídeo.
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
12 Finalmente, se depuró un error de secuencia lógica que sucedía únicamente en el simulador de KOP al conectar contactos NOT.
Versión 2018.7; liberación 23/07/2018 En el editor KOP de MikroPLAN se permite la introducción de comentarios para cada red. Además, se permite la captura de instrucciones para una versión simplificada de VHDL. También se reintroducen las licencias por tiempo ilimitado.
Versión 2018.6; liberación 11/06/2018 Con la versión 2018.6 de MikroPLAN se soportan licencias en línea para cada una de las versiones del BIOS: UNO, UNO XT y MEGA. Versión 2018.5; liberación 15/05/2018 Desde MikroPLAN se permite seleccionar el pin de disparo para el bloque PWM
Versión 2018.4; 16/04/2018 Se simplificó la secuencia de carga y detección del BIOS en la tarjeta Arduino
Versión 2018.3; 26/03/2018 Se corrigieron omisiones de máscaras en MikroPLAN para la activación de puertos tanto en la simulación como en la grabación de los programas en modo evaluación así como para el acceso de los mismos desde FluidSIM para el BIOS MEGA 2560
El BIOS para cada una de sus dos versiones se adaptó para su acceso desde LabVIEW utilizando las bibliotecas PLGDCOM32 y PLGDCOM64 en sus versiones de 32 bit y 64 bit respectivamente. El acceso desde LabVIEW es más rápido en comparación con los bloques VISA de la versión anterior por lo cual los bloques con estos elementos ya no están soportados. En cambio se agregaron los SubVIs correspondientes para las bibliotecas mencionadas
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
13
1.5 INSTALACIÓN DEL PROGRAMA 1.5.1 Requerimientos - Versiones de Windows XP, 7, 8, 8.1 y 10 para equipos de 32 o 64 bits - La versión redistribuible más reciente de Visual Studio o al menos la versión 2010 como mínimo
1.5.2 Descarga y descompresión de archivos MikroPLAN y todas las aplicaciones que se describen en este documento se encuentran en un archivo ZIP que puedes descargar del blog: programaciondearduinoconlenguajedeplc.blogspot.com
Una vez que hayas descargado el archivo, sigue los siguientes pasos: 1. Copia el contenido de la carpeta comprimida ProyexDuino.ZIP a la unidad “C” de tu computadora, de tal manera que en el directorio raíz quede la carpeta como: c:\ProyexDuino
OBSERVACIONES a. El contenido de la carpeta ZIP debe descomprimirse en el directorio raíz de unidad “C” de tal manera que quede como se muestra en la siguiente figura
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
14
b. NO descomprimas el contenido en “Archivos de Programa”; ni en alguna memoria USB o en otra ubicación. De lo contrario, MikroPLAN no funcionará adecuadamente o no se ejecutará
2. En la carpeta: c:\ProyexDuino\Proyectos\PLCmDuino\Programación\
Ubica el programa MikroPLAN.exe
Y crea un acceso directo desde el escritorio. Eso es todo.
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
15
1.6 CARGA DEL FIRMWARE PLCmDuino EN LA TARJETA Arduino Una vez que hayas instalado los “drivers” para acceder a la tarjeta Arduino en tu computadora, necesitas cargar el firmware PLCmDuino en tu tarjeta Arduino. Sigue los siguientes pasos:
1. Dentro de la carpeta c:\ProyexDuino
Ubica y ejecuta la aplicación de escritorio JOGATECHProyex.exe
2. Aparecerá la ventana principal del programa. Después se mostrará una ventana emergente de presentación
A continuación aparecerá un cuadro de diálogo para que selecciones la versión de Windows en la que estás trabajando. Después oprime “Aceptar”
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
16
3. En el menú principal, selecciona la opción “Firmware”->”Cargar …”
4. Aparecerá el siguiente cuadro de diálogo
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
17
Lee cuidadosamente el texto. Si es la primera vez que vas a cargar algún firmware JOGATECH y tu tarjeta cumple con los requerimientos que se mencionan en el apartado correspondiente, oprime “Sí” para continuar
5. Aparecerá un cuadro de diálogo. Introduce el número de puerto COM que Windows haya asignado a tu tarjeta
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
18
6. Haz clic en “Firmware” y, de acuerdo a la tabla 1.1, selecciona la versión del software embebido que desees cargar en tu Arduino y que será el BIOS de tu tarjeta con el que se comunicarán JOGATECHProyex o MikroPLAN. Tabla 1.1. Versiones del BIOS soportadas por MikroPLAN Tarjeta
Firmware
Versión
Lenguajes soportados
Actual Arduino UNO R3 Arduino MEGA 2560
PLCmDuino UNO R3 LADDER
4.75
AWL, KOP
PLCmDuino UNO R3 GATES
1.95
HDLduino, DGC
PLCmDuino MEGA 2560 LADDER
1.95
AWL, KOP
PLCmDuino MEGA 2560 GATES
1.95
HDLduino, DGC
6. Oprime “Cargar”. Aparecerá otro cuadro de diálogo
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
19
Oprime “Sí”. Aparecerá una ventana que te indicará que se está cargando el BIOS en tu tarjeta
Después aparecerá otra ventana que te indicará que “JOGATECHProyex.exe” está intentando detectar el BIOS que se cargó
Si la detección tuvo éxito, aparecerá un cuadro de diálogo que te informará el nombre del BIOS que se grabó en la tarjeta
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
20
7. Oprime “Aceptar”. Los campos “Controlador” y “Versión BIOS” mostrarán la información que proporciona el firmware PLCmDuino que cargaste en tu Arduino
1.7 DETECCIÓN DEL BIOS DESDE MikroPLAN Una vez cargado el BIOS, comprueba que MikroPLAN puede acceder a él. Para ello realiza un proceso de detección de la tarjeta 1. Haz doble clic sobre el icono de MikroPLAN
2. Aparecerá la ventana principal del programa y después un cuadro emergente de presentación
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
21
3. A continuación aparecerá un cuadro de diálogo solicitándote que elijas la versión de Windows™ bajo la cual está corriendo el programa:
Por defecto, están enfocadas las versiones de Windows 10, 8.1, 8, 7 y Vista. Oprime “Aceptar” para continuar
4. Finalmente aparecerá un cuadro de diálogo semejante al que se mostró en la aplicación “JOGATECHProyex”, con el que podrás detectar el BIOS.
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
22
5. Introduce el valor del puerto COM. Si vas a utilizar la tarjeta Arduino UNO, asegúrate que la casilla “Esperar inicialización del BIOS antes de detectar” esté desactivada. Para el caso de la tarjeta Arduino MEGA 2560, pudiera ser que requieras activar la casilla si observas que tu tarjeta tiene el chip de comunicación CH340G. La apariencia de este tipo de tarjeta se muestra a continuación
Esto es necesario ya que cuando MikroPLAN accede a este tipo de tarjeta, el BIOS podría reinicializarse y por ello la aplicación debe esperar a que termine este proceso. Oprime entonces “Detectar”. Si la detección tuvo éxito aparecerá el cuadro de diálogo
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
23
Y PLCmDuino responderá con la información que se muestra abajo
Oprime “Salir” para continuar. Entonces MikroPLAN intentará acceder a un servidor para descargar información de noticias y tutoriales en línea. Procura que tu equipo tenga una conexión a Internet, ya que mientras no se descarguen las noticias, MikroPLAN intentará acceder al servidor cada vez.
OBSERVACIÓN Cada vez que vayas a cargar un programa en PLCmDuino o realizar cualquier otra acción que involucre acceder al BIOS, MikroPLAN realiza un procedimiento de detección. Por tanto, es indispensable que te asegures que el software puede detectar correctamente el BIOS de acuerdo a la configuración que proporciones en el cuadro de diálogo de arriba
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
24
1.8 PLCmDuino EN MODO DE EVALUACIÓN Una vez que hayas detectado con éxito PLCmDuino, puedes programarlo sin necesidad de utilizar una licencia de uso. En este caso, estarás utilizando PLCmDuino en modo de evaluación. Todas las funciones de PLCmDuino están habilitadas en este modo. Sin embargo, los programas que cargues se almacenarán únicamente en la RAM disponible de Arduino. Esto significa que al desenergizar la tarjeta, el código del programa se perderá. Si deseas programar PLCmDuino en modo de evaluación ve al capítulo 2, ya que el procedimiento que se explica ahí se aplica tanto para cuando tienes una licencia o cuando trabajas en modo evaluación.
1.9 MODALIDADES DE LICENCIAS Necesitas una licencia de uso del BIOS PLCmDuino si deseas que los programas se carguen en la memoria no volátil de tu tarjeta Arduino. Para cada una de las cuatro versiones del BIOS que se muestran en la tabla 1.1, hay cuatro modalidades de licencia: “UNPLUGGED”, “PLUGGED”, “PLUGGED PLUS” y “DISTRIBUTABLE”.
1.9.1 Modalidad “UNPLUGGED” Esta modalidad te permitirá cargar cualquier programa en la memoria no volátil de tu tarjeta Arduino de forma indefinida. Siempre y cuando en ella prevalezca el código de activación que se generó cuando realizaste la solicitud de licencia para esa tarjeta. Además, podrás programarla únicamente desde la computadora que utilizaste para generar la solicitud de licencia. Para programar el BIOS, no requieres una conexión a Internet. Esta modalidad también se aplica a otras aplicaciones embebidas de JOGATECH no programables mediante MikroPLAN como el firmware AlarmDuinoSMS.
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
25
1.9.2 Modalidad “PLUGGED” Este tipo de licencia te permitirá cargar cualquier programa en la memoria no volátil de tu tarjeta Arduino durante un período especificado en semanas que tú defines cuando solicitas la licencia. Cada vez que vas a programar tu tarjeta, se verifica a través de una cuenta en línea, si tu acceso es aún vigente. Por tanto, requieres una conexión a Internet. La programación SOLAMENTE se podrá realizar en la tarjeta Arduino para la cual solicitaste la licencia y desde la computadora que utilizaste para generar la solicitud de licencia.
Una vez que haya concluido tu período de acceso, MikroPLAN funcionará en modo de evaluación, por lo que los programas se grabarán solamente en la RAM de la tarjeta. En cualquier instante, puedes realizar la renovación de licencia, la cual consiste en contratar otro período para acceder a la programación de PLCmDuino, cuya duración puede ser incluso diferente al que hayas solicitado anteriormente.
Con esta modalidad, puedes solicitar activaciones adicionales del BIOS que te permitirán activar otras tarjetas Arduino o bien, reactivar la original que utilizaste por primera vez en caso de que el código de activación de aquella se haya borrado o dañado. Esto podría suceder si es que programaste tu tarjeta ya activada con otra plataforma diferente a MikroPLAN como el IDE (Integrated Development Environment – Entorno de Desarrollo Integrado) original de Arduino.
1.9.3 Modalidad “PLUGGED PLUS” Esta modalidad te permitirá cargar un programa en la memoria no volátil de CUALQUIER tarjeta Arduino que tenga el firmware para el cual hayas solicitado la licencia de primera vez, independientemente si la tarjeta tiene o no el código de activación que se creó durante la generación de la solicitud. Sin embargo, la programación puede realizarse únicamente desde la computadora para la cual
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
26 generaste la solicitud de primera vez. Además, cada vez que vayas a programar alguna tarjeta Arduino, se verifica a través de una cuenta en línea si tu acceso a la programación está aún vigente. Por tanto, al igual que en la modalidad “PLUGGED”, también requieres una conexión a Internet.
1.9.4
Modalidad “DISTRIBUTABLE”
Esta modalidad te permitirá distribuir una activación “UNPLUGGED” en varias tarjetas Arduino para una cantidad igual de usuarios. Por ejemplo, para escuelas o institutos que desean adquirir paquetes de licencias de uso para 2 o más estudiantes. Requiere una conexión a Internet únicamente cuando desde la cuenta del administrador se desea activar el firmware para la tarjeta de un usuario.
1.10
GENERACIÓN DE LA SOLICITUD DE LICENCIA DE USO DE PLCmDuino
Para obtener una licencia para programar cualquiera de las versiones del firmware y en cualquiera de sus cuatro modalidades necesitas generar una solicitud de licencia de activación. Éste es un archivo con la extensión SOL que se crea desde la aplicación “JOGATECHProyex” y que deberás enviar al e-mail: [email protected]
Una vez que se acredite el depósito de tu pago (checa el precio para cada versión en el blog desde donde descargaste el programa), te enviaré un archivo DLL (Dynamic Link Library – Biblioteca de Enlace Dinámico) que corresponde a la licencia de uso que solicitaste. Dicho archivo contiene un código de referencia que está vinculado a un código de activación que se graba en la tarjeta Arduino que aloja el firmware. Incluye también un sello digital del equipo de cómputo que se utiliza para programarlo. Por tanto, independientemente de la licencia que hayas solicitado para tu Arduino para cualquiera de las cuatro versiones del BIOS
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
27 disponibles, te será útil para programarla únicamente desde el equipo de cómputo que utilizaste para generar la solicitud. Hay tres tipos de solicitudes:
1. Solicitud de licencia de uso de primera vez. Se requiere cuando vas a programar por primera vez la nueva copia del firmware o del BIOS PLCmDuino que cargaste en tu tarjeta Arduino desde la computadora con la cual vas a generar la solicitud de licencia. En este proceso, “JOGATECHProyex” genera un código de activación y lo graba en la tarjeta Arduino que aloja el BIOS. Además genera un sello digital para el equipo desde el cual se realiza la solicitud
2. Solicitud de licencia con referencia heredada. Se requiere cuando deseas adquirir una licencia para una versión del BIOS diferente para la tarjeta que ya habías activado y para la cual tienes una licencia válida. A través de esta opción, “JOGATECHProyex” importa el código de referencia de la licencia válida del BIOS con la que programas tu tarjeta y lo hereda a la solicitud de licencia para la nueva versión del BIOS que vas a utilizar.
3. Solicitud de licencia de uso compartido. Se requiere cuando deseas programar PLCmDuino en una computadora diferente a la que utilizaste para generar la solicitud de licencia de primera vez. En este tipo de solicitud, “JOGATECHProyex” genera solamente un sello digital único para el equipo desde el que se realiza la solicitud. Durante el proceso no se graba ni se modifica el código de activación que esté presente en tu tarjeta Arduino
Para generar una solicitud para cualquier tipo de licencia y para cualquier modalidad, no se requiere conexión a Internet.
1.10.1
Ejemplo de solicitud de licencia de uso de primera vez
En el ejemplo que sigue se generará una solicitud de licencia de primera vez para
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
28 utilizar la versión del BIOS “PLCmDuino UNO R3 LADDER” utilizando la modalidad UNPLUGGED. 1. Entra a la aplicación “JOGATECHProyex”. Si ya tienes cargado el firmware, ve al siguiente paso. Si no , conecta tu tarjeta Arduino UNO R3 y carga el firmware PLCmDuino UNO R3 LADDER en una tarjeta. Checa el apartado “1.6
CARGA
DEL FIRMWARE PLCmDuino EN LA TARJETA ARDUINO” 2. Selecciona la opción “Firmware”->”Detectar”. El proceso para detectar el BIOS en PLCmDuino desde esta aplicación es el mismo que hiciste en MikroPLAN. Sigue los pasos 4 y 5 del apartado 1.7. 3. En el menú principal selecciona la opción “Licencias”->”Solicitar licencia de uso de primera vez”
4. Aparecerá un cuadro de diálogo que te permitirá seleccionar el producto (firmware) para el cual deseas solicitar la licencia de uso
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
29
5. En “Licencias disponibles”, selecciona la opción “PLCmDuino UNO R3 LADDER”. La caja de opciones “Modalidad” cambiará como se muestra
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
30 6. En “Modalidad”, asegúrate que esté seleccionada la opción “UNPLUGGED”. Después oprime “Generar”. Aparecerá el siguiente cuadro de diálogo.
Puesto que es la primera vez que vas a generar la licencia, oprime “Si”
OBSERVACIÓN Solamente cuando se genera una solicitud de licencia “DISTRIBUTABLE”, la aplicación te proporciona un ID de vinculación.
Éste es un código que la aplicación “JOGATECHProyex” te solicitará cuando desees realizar el proceso de vinculación de la tarjeta en caso de que la hayas activado previamente de forma remota. Checa esto en el apartado
1.12.4.
También se te solicitará cuando desees vincular una tarjeta Arduino que hayas adquirido con alguna versión del BIOS previamente activado por el desarrollador.
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
31 7. Oprime “Aceptar”. Aparecerá el cuadro de diálogo
8. Oprime “Aceptar”. Aparecerá otro cuadro de diálogo solicitando que cambies, si así lo deseas, el nombre del archivo de solicitud generado (extensión SOL).
Te sugiero que no lo modifiques y únicamente ubiques la carpeta en donde guardarlo.
Si
lo
deseas,
puedes
guardarlo
“c:\ProyexDuino\Solicitudes”. Después oprime “Guardar”
9. Aparecerá finalmente el cuadro
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
en
la
carpeta
32
1.10.2
Ejemplo de solicitud de licencia con referencia heredada
En el ejemplo que sigue se generará una solicitud para el BIOS “PLCmDuino UNO R3 GATES” a partir de la licencia que se solicitó para el BIOS “PLCmDuino UNO R3 LADDER” en el apartado 1.10.1. 1. Entra a “JOGATECHProyex”. Realiza una operación de detección de la tarjeta y selecciona la licencia desde la cual vas a heredar o transferir su código de referencia para la nueva licencia. 2. Selecciona la opción “Licencias” -> ”Solicitud de licencia con referencia heredada”
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
33
3. Aparecerá e siguiente cuadro de diálogo
4. Oprime “Sí”. “JOGATECHProyex” se asegurará que el código de activación de tu tarjeta coincide con su referencia en la licencia seleccionada actual. Si no hubo error aparecerá el siguiente cuadro de diálogo
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
34
5. Selecciona la otra versión del BIOS con la cual podrás acceder utilizando el mismo código de activación de tu tarjeta. Para el ejemplo, se seleccionó “PLCmDuino UNO R3 GATES” con la modalidad “UNPLUGGED”
OBSERVACIÓN Puedes seleccionar una modalidad diferente
6. Oprime “Generar”. Aparecerá el cuadro de diálogo
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
35
7. Oprime “Guardar”. Aparecerá el cuadro de diálogo
1.10.3
Ejemplo de solicitud de licencia de uso compartido
En el ejemplo que sigue se supondrá que deseas utilizar la tarjeta Arduino que ya habías activado con la licencia para la versión del BIOS “PLCmDuino UNO R3 LADDER” en su modalidad “PLUGGED” en una computadora (computadora
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
36 origen) pero ahora deseas utilizarla en otra computadora (computadora destino). 1. Descomprime el contenido de la carpeta “ProyexDuino_AAAAMMDD.zip” en la computadora destino 2. Ubica el archivo “JOGATECHLicencias.dll” en la computadora origen y cópialo a la computadora destino en la carpeta c:\ProyexDuino\DLL
3. Conecta la tarjeta Arduino que ya habías activado en la computadora origen a la computadora destino 4. En la computadora destino, ejecuta la aplicación “JOGATECHProyex.exe” y después realiza el proceso de detección de la tarjeta
OBSERVACIÓN Si la única licencia que tienes es la de primera vez, ve directamente al paso 6 5. Elije la opción “Licencias”->”Seleccionar ...”. Aparecerá la lista de licencias disponibles como anteriormente se mostró. Selecciona la licencia cuyo código de referencia coincide con el que marcaste en tu tarjeta y que conectaste a la computadora destino. Oprime “Aceptar” para cerrar la lista 6. En el menú principal haz clic en la opción “Licencias”->”Solicitar licencia de uso compartido”
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
37
7. Aparecerá el cuadro de diálogo
8. Oprime “Sí”. Si la referencia de la clave de activación está registrada en la licencia actual, aparecerá el mensaje
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
38
9. Oprime “Aceptar”. Aparecerá el cuadro de diálogo
OBSERVACIÓN Este cuadro de diálogo es meramente informativo de la licencia en la que se incluirá el sello digital del equipo, por lo que no se te permitirá modificar o seleccionar alguno de los campos
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
39 10. Oprime “Generar”. Como antes, aparecerá un cuadro de diálogo a través del cual deberás nombrar y ubicar el lugar en donde deseas guardar el archivo
11. Nuevamente te sugiero que no cambies el nombre y lo guardes en la carpeta de tu preferencia para que después lo envíes a un servidor
OBSERVACIONES a. Si intentas generar la licencia de uso compartido desde la misma computadora que utilizaste para generar la licencia de primera vez, aparecerá el mensaje
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
40
b. Si la clave de activación de PLCmDuino no coincide con la de su referencia en la licencia de activación seleccionada, aparecerá el mensaje
Y después de hacer clic en “Aceptar”, aparecerá el mensaje
1.11
RECEPCIÓN E INSTALACIÓN DEL ARCHIVO DE LICENCIAS
Independientemente de la modalidad de licencia que hayas solicitado, recibirás por parte del desarrollador un archivo DLL cuyo nombre es:
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
41 JOGATECHLicencias.DLL Para instalar el archivo de licencias en tu equipo, solamente asegúrate de que ni “MikroPLAN” ni “JOGATECHProyex” estén corriendo y copia el archivo a la carpeta. c:\ProyexDuino\DLL Ahí ya estará un archivo con el mismo nombre que es el original que está en la carpeta ZIP y que no tiene licencia alguna, por tanto simplemente deja que Windows lo reemplace.
Para las modalidades UNPLUGGED, PLUGGED y PLUGGED PLUS, la licencia te permitirá programar la memoria no volátil de tu tarjeta Arduino ÚNICAMENTE desde el equipo de cómputo que se utilizó para generar la solicitud.
La licencia en la modalidad DISTRIBUTABLE te permitirá activar cualquier número de tus tarjetas Arduino en la modalidad UNPLUGGED. Después tendrás que vincular cada una de ellas al equipo que se vaya a utilizar para programarlas que, por supuesto, puede ser distinto en cada caso.
1.12
ACTIVACIÓN, CREACIÓN DE CÓDIGOS Y VINCULACIÓN DEL BIOS
Ejecuta “JOGATECHProyex” y después del proceso de detección, selecciona la opción “Licencias->Seleccionar …”. Aparecerá el selector de licencias que es una ventana que contiene una lista con las licencias disponibles para ese equipo. Sin embargo, al descargar por primera vez la carpeta ZIP, el archivo DLL no tiene licencia alguna, por lo cual, al hacer clic en esta opción en el menú principal aparecerá el cuadro de diálogo
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
42
Dependiendo de la licencia que solicitaste, deberás realizar alguna de las siguientes acciones. Sin embargo, antes de acceder al selector de licencias, asegúrate de tener instalado Visual Studio 2010, pues se puede producir puede un error interno en JOGATECHProyex o MikroPLAN y se cerrarán
1.12.1 Licencia “UNPLUGGED” El selector de licencias tendrá la apariencia que se muestra
OBSERVACIONES a. Si tienes un antivirus residente, podría ser que al tratar de acceder a tu cuenta por primera vez, MikroPLAN te muestre un error. Intenta acceder nuevamente o desactiva tu antivirus y reintenta otra vez
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
43 b. Puesto que no hay límite en el número de licencias que desees solicitar, se te sugiere encarecidamente que etiquetes la tarjeta Arduino que aloja al BIOS activado con el código de referencia que aparece en la tercera columna de la lista de licencias disponibles
c. La indicación de la disponibilidad de la licencia en la columna de extrema derecha de la lista significa únicamente que el equipo que vas a utilizar para programar PLCmDuino está registrado en la licencia seleccionada, por lo que puedes programar la tarjeta Arduino con él. Sin embargo, no significa que la clave de referencia que aparece ahí esté efectivamente ligada al código de activación de la tarjeta Arduino que estés utilizando. Esto último lo podrás comprobar únicamente al momento de grabar cualquier programa en ella
d. Cuando solicites una nueva licencia, el archivo de licencia que recibirás contendrá la o las licencias que hayas adquirido previamente más la nueva licencia solicitada. De esta forma las licencias que hayas solicitado anteriormente se conservan
e. Del archivo de licencias, no se pueden eliminar referencias no válidas o que ya no utilices
Para que puedas programar la memoria no volátil de tu Arduino a través de esta licencia, debes realizar primero la activación del BIOS y después su vinculación.
Activación local del BIOS 1. En el selector de licencias, oprime el pulsador “Activar localmente”. Aparecerá el cuadro de diálogo para que introduzcas el puerto COM en donde está conectada tu tarjeta.
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
44
2. Oprime “Activar”. Después de detectarse la tarjeta, aparecerá el cuadro de diálogo.
3. Oprime “Sí”. Iniciará el proceso de activación de la tarjeta. Al concluir el proceso, si no hubo error, aparecerá el cuadro
Vinculación del BIOS 1. En
el menú principal, selecciona la opción “Firmware”->”Vincular a este
equipo…”
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
45
2. Aparecerá el cuadro de diálogo
3. Oprime “Vincular”. Después de detectarse la tarjeta, aparecerá el cuadro de diálogo
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
46
4. Oprime “Sí”. Se realizará la vinculación
ADVERTENCIA Después de que hayas activado y vinculado el BIOS con una licencia UNPLUGGED, NO intentes generar una nueva solicitud con esa tarjeta o actualizar el BIOS a una nueva versión, pues esto destruirá el código de activación así como el proceso de vinculación en tu tarjeta Arduino. Y ambos no podrán recuperarse.
1.12.2
Licencia “PLUGGED”
El selector de licencias tendrá la apariencia que se muestra
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
47
Para programar el BIOS con esta licencia, no se requiere activarlo. Sin embargo, cada vez que desees programar tu tarjeta Arduino con MikroPLAN, se verificará si tu tarjeta tiene un código de activación válido y el acceso a la programación es aún vigente.
Vigencia y activaciones Puedes checar esto último haciendo clic en el pulsador “Vigencia y activaciones”
OBSERVACIONES a. La vigencia de acceso para las licencias PLUGGED es de 14 días cada vez que se solicita
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
48 b. La obtención de un código de activación tiene el costo que se especifica en el blog desde el que descargaste el paquete
Obtención de códigos de activación Cuando solicitas por primera vez una licencia de este tipo, se crea un código de activación en tu tarjeta y no se registran códigos de respaldo en tu cuenta en línea. Sin embargo, puedes adquirir códigos de activación adicionales de respaldo en caso de que por alguna razón el actual se pierda o se destruya. Esto podría suceder, por ejemplo, si cargas un programa con el lenguaje nativo del IDE original de Arduino o con cualquier otra plataforma de programación distinta a la de MikroPLAN. También puedes hacerlo cuando deseas programar una tarjeta diferente. Para ello, sigue los siguientes pasos:
1. Conecta la tarjeta para la cual deseas obtener un código de activación. Haz clic en el botón “Obtener código de activación”. Primero, el programa accederá a tu cuenta y aparecerán la vigencia y el número de instancias de activación disponibles
2. Oprime “Aceptar”. Aparecerá el cuadro de diálogo
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
49
3. Oprime “Sí”. Se registrará en tu cuenta, la petición para la obtención del código de activación.
4. Oprime “Aceptar”. “JOGATECHProyex” esperará la confirmación del servidor de que tu petición se validó. Si es correcta, la aplicación mostrará el cuadro de diálogo con las activaciones del BIOS restantes
OBSERVACIÓN En caso de que el servidor no responda con la actualización correcta de datos, “JOGATECHProyex” mostrará el cuadro de diálogo
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
50
Si oprimes “No” o “Cancelar”, el código de activación ya no se grabará en tu tarjeta y se perderá esta instancia para la obtención del mismo.
5. Oprime “Aceptar”. Se creará entonces un nuevo código de activación en tu tarjeta. Al finalizar aparecerá el cuadro de diálogo.
1.12.3
Licencia “PLUGGED PLUS”
El selector de licencias tendrá la apariencia que se muestra
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
51
Para programar el BIOS con esta licencia, no se requiere activarlo. Sin embargo, cada vez que desees programar tu tarjeta Arduino con MikroPLAN, se verificará si tu tarjeta tiene un código de activación válido y el acceso a la programación es aún vigente.
Vigencia y activaciones Puedes checar esto último haciendo clic en el pulsador “Vigencia y activaciones”
OBSERVACIÓN La vigencia de acceso para las licencias PLUGGED PLUS es de 1 día cuando se solicita por primera vez
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
52
Obtención de códigos de activación Con este tipo de licencia puedes crear códigos de activación para una cantidad ilimitada de tarjetas durante el tiempo que dure tu vigencia. El proceso es el mismo que se describió para la licencia PLUGGED.
1.12.4
Licencia “DISTRIBUTABLE”
El selector de licencias tendrá la apariencia que se muestra
Esta licencia solamente te servirá para realizar activaciones UNPLUGGED de acuerdo al número que de ellas tengas registradas en tu cuenta. Una vez que actives cada tarjeta Arduino, deberás realizar el proceso de vinculación del BIOS para ésta tal como se describió para la licencia UNPLUGGED. Para ello deberás utilizar el código de vinculación que JOGATECHProyex te proporcionó cuando solicitaste esta modalidad de licencia.
Vigencia y activaciones Puedes checar la vigencia y activaciones disponibles, haciendo clic en el pulsador correspondiente.
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
53
OBSERVACIONES a. La vigencia de esta licencia es de 28 días. Pasado este tiempo, ya no podrás acceder a tu cuenta y el número de activaciones que se registrará en tu cuenta será de cero. El número de activaciones que no hayas realizado durante la vigencia no se guarda ni es acumulable.
b. El número de activaciones disponibles será igual al número de activaciones solicitadas menos una. Esto es así, ya que al realizar la solicitud, se genera automáticamente un código de activación para la tarjeta Arduino que utilizaste para generarla. Por tanto, esa tarjeta se considera también como parte de las activaciones disponibles. En el ejemplo, si solicitaste 100 activaciones, en tu cuenta aparecerán 99.
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
54
CAPÍTULO 2 PROGRAMACIÓN CON DIAGRAMAS DE ESCALERA 2.1 CAPTURA DE UNA RED DE ARRANQUE Y PARO Se realizará un esquema que representa una red de arranque y paro 1. Entra a MikroPLAN y después del procedimiento de detección, en la barra de botones de acceso rápido oprime el botón
OBSERVACIÓN Para la captura del diagrama o para la simulación de su funcionamiento no se requiere realizar una detección de la tarjeta, por lo cual puedes omitir esta acción
2. Aparecerá el editor de esquemas de contactos
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
55
3. En el extremo izquierdo de la barra de iconos aparecen botones que identifican los grupos en los que se encuentran agrupados los elementos disponibles en el editor KOP de MikroPLAN. A su derecha aparecen los elementos que conforman el grupo seleccionado. Observa en el área clara del editor que aparece el cursor resaltado mostrado como un rectángulo de color rojo
Para insertar un símbolo, simplemente coloca el cursor en la posición deseada. Después selecciona el grupo y el elemento que desees agregar. Por ejemplo para la red de arranque y paro procedemos primero a agregar dos contactos
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
56
4. Agrega después una bobina. Primero elije el grupo
Después selecciona la bobina
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
57
5. Agrega otro contacto en la parte inferior
6. Coloca el cursor en el primer contacto que agregaste y luego oprime
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
58
Se realizará la conexión hacia el contacto de abajo
2.2 ASIGNACIÓN DE ENTRADAS Y SALIDAS En MikroPLAN, los bits del mismo peso en los puertos de entrada y salida comparten un mismo pin en la tarjeta Arduino. Por ejemplo, el bit 0 del puerto I0 y el bit 0 del puerto Q0 comparten el pin 2. El bit 1 del puerto I0 y el bit 1 del puerto Q0 comparten el pin 3 y así sucesivamente. Por tanto, si en la tarjeta Arduino vas a utilizar el pin 2 como entrada, entonces tendrás que configurar ese pin de esa manera pero ya no lo podrás utilizar como salida. La designación de los pines como entradas o salidas se define a través de una cadena de caracteres de configuración que deberás introducir en el cuadro de diálogo que se activa oprimiendo el botón “ARDUINO” en el editor KOP
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
59
Al hacer clic en ese el botón, aparecerá el cuadro de diálogo
Para el ejemplo, captura entonces la siguiente cadena de configuración en el campo “2 a 12 (IW0/QW0)”:
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
60
El carácter ‘i’ se utiliza para designar una entrada y los caracteres ‘q’ u ‘o’ se utilizan para designar una salida. Si deseas que en la lectura del estado lógico de un pin se invierta, entonces escribe ‘I’. Si deseas que su estado lógico se invierta a la salida, escribe ‘Q’. Para los bits y puertos que no se utilizan, puedes escribir ‘x’ o ‘X’ Para la configuración mostrada en el cuadro de diálogo anterior, los pines 2 y 3 se asignarán a los bits I0.0 e I0.1 respectivamente y el pin 4 a Q0.2. Ninguno de ellos tendrá un estado lógico invertido. OBSERVACIONES a. Para PLCmDuino, los registros asociados a los puertos de entrada/salida digitales disponibles para la tarjeta Arduino son:
I0/Q0
Registros imagen de 16 bits asignados a los pines 2 a 12 de la tarjeta Arduino UNO o MEGA (bits 0 a 10). Para ambas tarjetas, los bits 11 a 15 de ambos puertos no están asociados a ningún pin
I1/Q1
Registros imagen de 16 bits asignados a los pines 14 a 19 para la tarjeta Arduino UNO (terminales A0 a A5) y a los pines 54 a 69 (terminales A0 a A15) para la Arduino MEGA. Para la Arduino UNO, los bits 6 a 15 no están asociados a ningún pin
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
61 I3/Q3
Registros imagen de 16 bits asignados a los pines 14 a 29 de la tarjeta Arduino MEGA únicamente
I4/Q4
Registros imagen de 16 bits asignados a los pines 30 a 45 de la tarjeta Arduino MEGA únicamente
I5/Q5
Registros imagen de 16 bits de los cuales sólo los primeros 8 bits están asignados a los pines 46 a 53 de la tarjeta Arduino MEGA únicamente
b. I2/Q2 son puertos de entrada y salida respectivamente de 16 bits pero no tienen conexión física hacia el exterior y son independientes entre sí. Están soportados para las dos versiones del BIOS (UNO y MEGA 2560). Se utilizan en la aplicación del usuario para recibir o enviar datos vía Bluetooth desde o hacia MobilePorts. También se utilizan para que PLCmDuino controle prototipos virtuales en FluidSIM a través de MikroPLAN. En este caso, a través de I2, PLCmDuino puede monitorear el estado del prototipo virtual en FluidSIM y con los bits de Q2 puede accionarlo. En este caso, la tarjeta Arduino actúa como maestro; FluidSIM como esclavo y MikroPLAN como interfaz entre ellos
c. A los puertos I0/Q0, I1/Q1, I3/Q3, I4/Q4 e I5/Q5 también se les puede acceder desde FluidSIM cuando esta aplicación funciona como maestro y PLCmDuino como esclavo. En este caso, Arduino funciona como tarjeta de adquisición y señalización digitales y MikroPLAN como interfaz en este enlace de comunicación
d. Los pines 0 y 1 está reservados para la comunicación serial con la computadora cuando se programa PLCmDuino. También para cuando se conecta la tarjeta con otros Arduinos o bien para la comunicación Bluetooth de PLCmDuino con MobilePorts
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
62 e. El pin 13 está reservado para mostrar el estado del programa. Si hay un programa corriendo (RUN), el LED conectado a este pin estará encendido. Si está apagado, indicará que el programa está detenido (STOP) o no hay programa cargado
2. Para terminar con el diagrama en el editor KOP captura los identificadores para los pines. Haz clic sobre el signo de interrogación y escribe el que corresponda
OBSERVACIÓN Puedes utilizar etiquetas para designar los bits para los pulsadores. En el editor KOP oprime el botón “ETIQUETAS”
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
63
Aparecerá un cuadro de diálogo. En la primera columna anota el nombre de la etiqueta y en la segunda, el bit que desees asignarle
Una vez hecho esto, ya puedes utilizar esas etiquetas para la designación de los pines. Sustituye entonces las marcas con las etiquetas que ya definiste. El diagrama quedaría entonces como:
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
64
2.3 GUARDADO DEL PROGRAMA 1. En la barra de botones de acceso rápido, oprime el botón
2. Aparecerá el cuadro de diálogo solicitándote que cambies el nombre del archivo
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
65
3. Ubica la carpeta y selecciona el nombre para el archivo. Después oprime “Guardar”
2.4 SIMULACIÓN DEL PROGRAMA EN KOP Ésta se realiza utilizando una máquina virtual de PLCmDuino integrada en MikroPLAN. De esta manera, la forma en que se ejecute el código en la PC, es como se ejecutará en PLCmDuino. Por supuesto, debido a la arquitectura RISC (Reduced Instruction Set Computer – Computadora con Conjunto Reducido de Instrucciones) del micro de Arduino, el código se ejecutará más rápido en la tarjeta que en la PC. 1. Haz clic en la opción “Simulación”->”Tarjeta” y selecciona el tipo de tarjeta que se utilizará en la simulación
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
66
2. Aparecerá después un cuadro de diálogo en el cual podrás habilitar los puertos que se mostrarán en el tablero de simulación, así como el tipo de BIOS que se utilizará en la simulación.
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
67 OBSERVACIONES a. Por defecto, cuando creas o abres un archivo KOP, la tarjeta se configura a la Arduino UNO R3 y la versión de BIOS se pone en “LADDER”
b. El tipo de tarjeta utilizado en la simulación es independiente del tipo de tarjeta que MikroPLAN detecta antes de cargar el programa
c. Para el caso de Arduino MEGA 2560 podrás seleccionar el byte alto del puerto Q1, así como los puertos I3/Q3 a I5L/Q5L
3. Oprime el icono
4. Se generará el código AWL equivalente del diagrama y se realizará la compilación del mismo. Si no hubo error, aparecerá la ventana
5. Oprime “Aceptar”. Aparecerá un tablero que tiene pulsadores para generar las entradas al autómata e indicadores para mostrar el estado lógico de las salidas del autómata durante la simulación
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
68
6. Observa que en el diagrama se muestran resaltados en color ciano los valores de las marcas y de los registros que estés utilizando en el diagrama de escalera. En color amarillo se muestra el estado lógico del contacto cuando está cerrado
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
69
7. Oprime el pulsador I0.0
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
70 8. Libera el pulsador I0.0. Checa que en color rojo se muestra resaltada la bobina así como también la trayectoria del diagrama que la está energizando (enclavamiento)
9. Oprime el pulsador I0.1. Checa cómo se realiza el desenclave
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
71
10. Para terminar la simulación, oprime el botón
2.5
CIRCUITO DE PRUEBA CON LA TARJETA ARDUINO PARA EL PROGRAMA DE ARRANQUE Y PARO
Arma el circuito que se muestra en la figura 2.1
Figura 2.1. Circuito de prueba para el programa de arranque y paro
OBSERVACIONES a. En los pines 2 y 3 se han colocado dos pulsadores que corresponderán a los contactos I0.0 e I0.1 del diagrama en KOP
b. En el pin 4 se ha colocado un LED que corresponderá a la bobina Q0.2
2.6 CARGA DEL PROGRAMA EN LA TARJETA ARDUINO 1. Elige la opción del menú “PLCmDuino”->”Cargar programa”
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
72
También puedes cargar el programa oprimiendo
2. Si no tienes una licencia, se generará el código AWL del diagrama en KOP y aparecerá un cuadro de diálogo informándote sobre la compilación
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
73
3. Oprime “Aceptar” para continuar. Se te informará el espacio ocupado por tu estrategia de control
4. Oprime “Aceptar”. Se cargará el código del programa en la RAM de la tarjeta y aparecerá el cuadro de diálogo
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
74
5. Por otro lado, si tienes una licencia “PLUGGED” o “PLUGGED PLUS”, aparecerá el cuadro de diálogo
6. Oprime “Sí”. MikroPLAN intentará acceder a tu cuenta en línea y si no hubo error aparecerá después un cuadro de diálogo informándote sobre la vigencia y el número de activaciones disponibles en tu cuenta
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
75 7. Oprime “Aceptar”. Ahora MikroPLAN intentará cargar el programa en la tarjeta Arduino que tienes conectada a tu PC. Si el código de activación de tu tarjeta coincide con su referencia en la licencia seleccionada, el programa se cargará en la memoria no volátil de tu Arduino
OBSERVACIÓN Si pudiste cargar el programa con una licencia en línea (PLUGGED o PLUGGED PLUS), MikroPLAN te permitirá programar la tarjeta nuevamente sin requerir acceder a tu cuenta en línea por un espacio de 60 minutos. Transcurrido ese tiempo, MikroPLAN intentará acceder nuevamente a tu cuenta en línea para corroborar la vigencia de tu licencia
8. Si no coincide, o conectaste una tarjeta que tiene una versión del BIOS no activada, aparecerá el siguiente cuadro de diálogo si tienes una activación de respaldo disponible
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
76 9. Si oprimes “Sí”, se activará el BIOS de la tarjeta pero el número de activaciones en tu cuenta en línea se decrementará y luego se cargará el programa en la memoria no volátil de tu tarjeta. Si oprimes “No”, el programa se cargará solamente en RAM y no se realizará cambio alguno en tu cuenta
10. Ahora bien, si conectaste una tarjeta cuyo código de activación no coincide con su referencia en la licencia seleccionada o no está activada, pero en tu cuenta en línea ya no tienes activaciones disponibles, aparecerá el cuadro de diálogo
11. Ahora bien si tu licencia ya expiró, aparecerá el mensaje
12. Si el programa se pudo cargar, PLCmDuino lo ejecutará inmediatamente. En el circuito de prueba de la figura 1.1 verifica el funcionamiento del programa. Al oprimir el pulsador I0.0 deberá encenderse el LED colocado en Q0.2 y deberá permanecer así hasta que se oprima el pulsador I0.1, que es cuando el LED deberá apagarse
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
77
2.7 EMULACIÓN DEL PROGRAMA EN AWL O KOP En este modo se efectúa la simulación del código AWL o del diagrama en KOP desde la computadora, pero realizando simultáneamente la adquisición de datos y señalización digital en tiempo real en PLCmDuino. Como ya se había comentado, necesitas tener conectada la tarjeta Arduino junto con una licencia de activación válida. Para emulación KOP oprime
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
.
78
CAPÍTULO 3 PROGRAMACIÓN CON DIAGRAMAS DE CIRCUITOS LÓGICOS 3.1 CAPTURA DEL ESQUEMA DEL CIRCUITO Como ejemplo de captura esquemática utilizando el editor DGC de MikroPLAN, se realizará el diagrama de un flip – flop con compuertas NOR. 1. Entra a MikroPLAN. En la barra de iconos de acceso rápido, haz clic en
.
Aparecerá la ventana del editor DGC. El editor tiene 3 modos de operación: - Modo edición o selección - Modo de alambrado - Modo de edición de nodos
Por defecto, el modo activo del editor es el de edición o selección. Puedes conmutar entre estos modos haciendo clic en los iconos
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
79 También puedes conmutar los modos oprimiendo SHIFT-E para conmutar al modo edición; SHIFT-A para el modo de alambrado o conexionado y finalmente SHIFT-N para el modo en el cual puedes agregar nodos al diagrama.
2. En el extremo izquierdo del editor, se muestran 15 iconos que representan los grupos en los que se encuentran distribuidos los elementos gráficos que soporta MikroPLAN
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
80
3. Haz clic en el grupo “Inversores” representado por derecha, los elementos que pertenecen a ese grupo
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
. Aparecerán a su
81 4. En el área de elementos de grupo, haz clic en el elemento “NOR2”
5. Coloca el cursor en el área de edición y haciendo clic en cada caso, agrega dos compuertas NOR como se muestra en la imagen
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
82
6. Haz clic en el icono “terminales” representado por terminal de entrada de 1 bit representado por elementos de grupo
7. Agrega dos terminales de entrada de 1 bit como se muestra
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
y después en la en área de los
83
8. Selecciona ahora
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
y agrega dos terminales de salida
84
3.2 ALAMBRADO DE LOS COMPONENTES 1. Activa el alambrado de los componentes haciendo clic en
. Realiza
las conexiones de las terminales de entrada y salida a las compuertas
2. Realiza ahora una conexión desde el enlace que conecta la salida de la compuerta inferior con su terminal de salida
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
85
3. Hasta el nodo de entrada que está libre de la compuerta superior
4. Ajusta la conexión recién realizada, agregando un nodo a la unión vertical conmutando al modo de edición de nodos. Haz clic en haz clic en la unión vertical
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
y después
86
5. Conmuta nuevamente al modo alambrado y ahora realiza una conexión desde el nodo de entrada libre de la compuerta inferior hacia la unión horizontal de la compuerta superior con su terminal de salida. Agrega también otro nodo como se muestra
3.3 ETIQUETADO DE LAS TERMINALES 1. Conmuta al modo de edición. Haz clic en el signo “?” de la terminal de entrada que está a la izquierda de la compuerta superior. Captura la etiqueta “RESET”
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
87
2. Captura en cada terminal, el nombre para cada una de ellas como se muestra
3.4 ASIGNACIÓN DE PUERTOS DE ENTRADA Y SALIDA Oprime
y captura las etiquetas que añadiste al circuito, asignándole a
cada una de ellas los nombres de los bits de los puertos de PLCmDuino como se muestra
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
88
Oprime “Actualizar” para cerrar el cuadro de diálogo
3.5 GUARDADO DEL DOCUMENTO En la barra de iconos de acceso rápido, haz clic en
y guarda el documento
con algún nombre válido en la ubicación que desees. No es necesario que agregues la extensión del archivo. Automáticamente se guardará con la extensión DGC.
3.6 CONFIGURACIÓN DE LOS PINES DE ARDUINO Oprime el botón puertos
I0/Q0
. Introduce la cadena de configuración de pines los de Arduino.
Consulta el apartado
1.9.2
del documento
“Programación de Arduino con Diagramas de Escalera” para detalles de cómo construir la cadena.
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
89
3.7 SIMULACIÓN DEL FUNCIONAMIENTO DEL CIRCUITO 1. Haz clic en la opción “Simulación”->”Tarjeta”->”Arduino UNO R3”
2. Aparecerá un cuadro de diálogo. Selecciona la versión BIOS que vas a utilizar para la simulación.
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
90
Oprime después “Aceptar”
OBSERVACIÓN Cuando cargas o creas un archivo HDL, la configuración para la simulación se pone a la tarjeta Arduino UNO R3 y la versión BIOS a GATES
3. Haz clic en el icono
. MikroPLAN realizará los dos procesos de compilación
que se comentaron al principio y si no hubo error, aparecerá un cuadro de diálogo informándote el espacio que ocupará tu programa en la memoria del Arduino
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
91 4. Oprime “Aceptar”. Aparecerá el tablero de control de la estrategia e iniciará la simulación del funcionamiento del circuito
OBSERVACIONES a. Además del tablero de control, MikroPLAN mostrará el listado de red del circuito en código HDLduino.
b. El listado de red se guarda en un archivo con extensión HDL en la misma ubicación del archivo DGC
c. Cuando el archivo HDL se genera desde el compilador a partir del editor DGC, no se puede editar. Puedes hacerlo solamente si cierras el editor DGC y lo cargas después desde la ventana principal de MikroPLAN
5. La tabla de verdad de un flip – flop con compuertas NOR se muestra a continuación Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
92 RESET
SET
Qn
QPn
0
0
Qn-1
QPn-1
0
1
1
0
1
0
0
1
1
1
Condición no permitida 0
0
Interactúa con el circuito a través del tablero. Verifica que la simulación cumpla con la tabla de verdad
3.8 CIRCUITO DE PRUEBA CON LA TARJETA ARDUINO En la figura 3.1 se muestra el circuito que se utilizará para probar el circuito del flip – flop.
Figura 3.1
Circuito de prueba para el flip – flop con compuertas NOR
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
93
OBSERVACIONES a. En los pines 2 y 3 se han colocado dos pulsadores que corresponderán a los contactos I0.0 e I0.1 del diagrama en KOP
b. En el pin 4 se ha colocado un LED que corresponderá a la bobina Q0.2
3.9 CARGA DEL PROGRAMA EN LA TARJETA ARDUINO Antes de cargar el programa, en la tarjeta Arduino debe estar alojado el firmware GATES según la tarjeta que vayas a utilizar. 1. Elige la opción del menú “PLCmDuino”->”Cargar circuito”
También puedes cargar el programa oprimiendo
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
94
2. Si no tienes una licencia, se generará el código HDLduino del esquema DGC y aparecerá un cuadro de diálogo informándote sobre la compilación
3. Oprime “Aceptar” para continuar. Se te informará el espacio ocupado por tu estrategia de control
4. Oprime “Aceptar”. Se cargará el código del programa en la RAM de la tarjeta y aparecerá el cuadro de diálogo Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
95
5. Por otro lado, si tienes una licencia “PLUGGED” o “PLUGGED PLUS”, aparecerá el cuadro de diálogo
6. Oprime “Sí”. MikroPLAN intentará acceder a tu cuenta en línea y si no hubo error aparecerá después un cuadro de diálogo informándote sobre la vigencia y el número de activaciones disponibles en tu cuenta
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
96 7. Oprime “Aceptar”. Ahora MikroPLAN intentará cargar el programa en la tarjeta Arduino que tienes conectada a tu PC. Si el código de activación de tu tarjeta coincide con su referencia en la licencia seleccionada, el programa se cargará en la memoria no volátil de tu Arduino
OBSERVACIÓN Si pudiste cargar el programa con una licencia en línea (PLUGGED o PLUGGED PLUS), MikroPLAN te permitirá programar la tarjeta nuevamente sin requerir acceder a tu cuenta en línea por un espacio de 60 minutos. Transcurrido ese tiempo, MikroPLAN intentará acceder nuevamente a tu cuenta en línea para corroborar la vigencia de tu licencia
8. Si no coincide, o conectaste una tarjeta que tiene una versión del BIOS no activada, aparecerá el siguiente cuadro de diálogo si tienes una activación de respaldo disponible
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
97 9. Si oprimes “Sí”, se activará el BIOS de la tarjeta pero el número de activaciones en tu cuenta en línea se decrementará y luego se cargará el programa en la memoria no volátil de tu tarjeta. Si oprimes “No”, el programa se cargará solamente en RAM y no se realizará cambio alguno en tu cuenta
10. Ahora bien, si conectaste una tarjeta cuyo código de activación no coincide con su referencia en la licencia seleccionada o no está activada, pero en tu cuenta en línea ya no tienes activaciones disponibles, aparecerá el cuadro de diálogo
11. Ahora bien si tu licencia ya expiró, aparecerá el mensaje
12. Si el programa se pudo cargar, PLCmDuino lo ejecutará inmediatamente. En el circuito de prueba de la figura 1.1 verifica el funcionamiento del programa. Al oprimir el pulsador I0.0 (RESET), se apagará el LED colocado en Q0.2 y se encenderá el LED colocado en Q0.3, permaneciendo los LED así cuando ningún pulsador esté oprimido
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
98 Al oprimir I0.1 (SET) se encenderá el colocado en Q0.2 y se apagará el de Q0.3, permaneciendo los LED así cuando ningún pulsador esté oprimido
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
99
CAPÍTULO 4 CARACTERÍSTICAS ADICIONALES DE MikroPLAN 4.1 CONTROL DEL PROGRAMA CARGADO EN ARDUINO 4.1.1 Detención del programa Para detener el programa que se está ejecutando en PLCmDuino, desde tu equipo de cómputo, elige la opción “PLCmDuino”->”STOP”
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
100 Aparecerá el mensaje
4.1.2 Corrida del programa Para
ejecutar
el
programa
“PLCmDuino>”RUN”
Aparecerá el mensaje
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
cargado
en
Arduino,
elige
la
opción
101
4.1.3 Borrado del programa Cuando deseas utilizar PLCmDuino como interfaz para utilizar Arduino como tarjeta de adquisición de datos o señalización digital desde otros programas como LabVIEW, Visual Basic o FluidSIM, deberás borrar el programa previamente cargado ahí. Para ello elije la opción “PLCmDuino”->”Borrar programa”
Aparecerá un mensaje solicitándote la confirmación de la operación
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
102
Si estás seguro, haz clic en “Sí”. Después de unos segundos aparecerá otro mensaje
OBSERVACIÓN La operación de borrado del programa no elimina ni modifica el código de activación
4.1.4 Paro forzado al arranque En el código AWL o en los esquemas KOP con PLCmDuino, es posible compartir el módulo de comunicación serial a través del cual se comunica con MikroPLAN. Así, el usuario puede utilizar los bloques de comunicación serial incluidos en este software tanto para transmitir datos o bien para recibirlos y procesarlos en sus propias aplicaciones. Sin embargo, en tu aplicación deberás evitar una transmisión permanente de datos hacia el puerto serie ya que si esto llega a suceder se bloqueará la comunicación entre PLCmDuino y MikroPLAN.
En la figura 4.1 se muestra un programa que después de cargarse en PLCmDuino, bloqueará la comunicación con MikroPLAN
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
103
Figura 4.1. Programa que bloqueará la comunicación de PLCmDuino con MikroPLAN
En el diagrama, SM0.0 es la marca de ejecución continua del autómata y tiene siempre un valor de 1. Esta marca es compatible con los PLC SIMATIC 21X. El bloque RS232.TX transmite la cadena de caracteres que aparece en su nodo de entrada cuando se activa su nodo de habilitación “EN”. Puesto que cuando la tarjeta Arduino se energiza, PLCmDuino ejecuta cualquier programa que se encuentre cargado en memoria, el contacto siempre permanecerá cerrado en la red, haciendo entonces que el bloque transmita continuamente el mensaje “ESTE PROGRAMA ESTA INCORRECTO” desde PLCmDuino. Esto impedirá que PLCmDuino pueda comunicarse apropiadamente con MikroPLAN y por tanto, NO HABRÁ POSIBILIDAD de detenerlo desde MikroPLAN ni tampoco se podrá cargar otro programa.
Una situación similar puede ocurrir cuando el código del programa del usuario se corrompe, por ejemplo, cuando sucede una inestabilidad del voltaje en el riel de alimentación de la tarjeta. Si bien PLCmDuino tiene un algoritmo interno para verificar la integridad del código del programa alojado en la memoria de tu tarjeta, pudiera suceder que aún así no se llegaran a reconocer adecuadamente los códigos de instrucción, haciendo entonces que la ejecución del programa sea incorrecta o errática. Si esto llegara a suceder, se deberá realizar un procedimiento de paro forzado al arranque o en frío del programa defectuoso como se describe a continuación:
1. Desconecta la tarjeta de cualquier fuente de alimentación y de cualquier
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
104 conexión externa
2. Realiza un puente entre el pin 0 de la tarjeta y tierra de tal manera que después puedas removerlo manualmente de forma rápida y sin dificultad tal como se muestra en el diagrama de la figura 4.2
Figura 4.2. Conexión del puente para realizar el paro forzado del programa al arranque
3. Energiza
la
tarjeta.
El
LED
indicador
del
pin
13
se
encenderá
momentáneamente y luego deberá apagarse. Esto significa que el programa se ha detenido (condición de STOP) y ya no se ejecutará
4. Con la tarjeta energizada, remueve rápidamente el puente que colocaste. En el primer instante en que PLCmDuino detecte que el pin 0 ya no está conectado a tierra, el LED se encenderá y realizará tres parpadeos en un tiempo aproximado de 1.5 s (0.5 s por parpadeo). Después de ese período, PLCmDuino habilitará el módulo de comunicación serial. El BIOS proporciona este intervalo de tiempo al usuario para remover el puente, pues pasado ese tiempo, si se detecta que el pin 0 aún sigue conectado a tierra, el módulo de comunicación serial pudiera no inicializarse
correctamente,
impidiéndose
así
que
PLCmDuino
pueda
comunicarse posteriormente con MikroPLAN. Si esto llegara a suceder, repite el
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
105 procedimiento mencionado aquí desde el paso 1
OBSERVACIONES a. El paro forzado al arranque únicamente detiene la ejecución del programa más no lo borra. Para borrarlo, tendrás que hacerlo desde el menú principal de MikroPLAN como se explicó en el apartado 4.1.3
b. Si realizaste el paro forzado y mantienes energizada la tarjeta, ya no podrás ordenar a PLCmDuino desde MikroPLAN que ejecute el programa almacenado a no ser que cargues otro programa o bien que apagues la tarjeta y la energices nuevamente
4.2 CONEXIÓN DE MikroPLAN Y PLCmDuino VÍA BLUETOOTH La carga de un programa en PLCmDuino incluyendo las acciones de paro, arranque, detección y estado del autómata pueden realizarse de forma inalámbrica desde MikroPLAN utilizando un enlace vía Bluetooth. De esta manera también se pueden realizar todas las acciones de adquisición de datos y señalización digital desde FluidSIM, LabVIEW y VisualBasic hacia PLCmDuino. Para ello deberá utilizarse el módulo HC-05 o HC-06 de comunicación Bluetooth que se muestra en la figura 4.3.
(a)
(b) Figura 4.3. Módulo de comunicación Bluetooth HC-06: (a) Anverso y (b) reverso
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
106 Este dispositivo es fabricado por la empresa HC Information Technology Co. Ltd y sus claves pueden ser HC-05 o HC-06. El módulo HC-05 puede programarse en modo maestro o esclavo. Generalmente, el modo esclavo es el que viene programado por defecto para este dispositivo. El HC-06 no es programable y viene configurado de fábrica en sólo uno de los dos modos posibles. Para este caso se debe conseguir el HC-06 en modo esclavo. En la figura 4.4 se muestra la conexión de este módulo a la tarjeta Arduino UNO R3.
Figura 4.4. Conexión del módulo HC-05 o HC-06 a la tarjeta Arduino
OBSERVACIONES a. Cuando se conecta el módulo Bluetooth, el enlace de comunicación a través del cable USB ya no es posible, pues el puerto COM asignado a la comunicación alámbrica interferirá con el puerto COM asignado al módulo HC. Por tanto, el cable USB solamente te servirá para energizar la tarjeta. Sin embargo, desde
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
107 MikroPLAN puedes seguir realizando todas las acciones que tienen que ver con PLCmDuino como la detección y carga de programas pero ahora lo realizarás de forma totalmente inalámbrica. De hecho, podrías colocar una fuente de alimentación exclusiva para tu tarjeta y de esa manera podrías acceder a ella de forma remota desde tu equipo de cómputo
b. Las terminales 0 (RX) y 1 (TX) de Arduino se han conectado respectivamente a las terminales TX y RX del módulo
Debería ser claro que para realizar el enlace Bluetooth con PLCmDuino desde MikroPLAN, la PC deberá tener integrado un módulo para este tipo de conexión. Si embargo, si esto no es así, se puede utilizar un radio Bluetooth o “dongle” de bajo costo que se puede conectar a cualquier PC. Este dispositivo es básicamente “plug-and-play” por lo cual el proceso de instalación del software para acceder a este dispositivo desde Windows inicia al momento que tu equipo detecta su conexión. En la figura 4.5 se muestra una imagen de un radio genérico Bluetooth.
Figura 4.5. Radio Bluetooth o “Bluetooth dongle” de uso genérico
4.2.1
Emparejamiento de dispositivos Bluetooth
Una vez que la tarjeta y el módulo HC-06 estén debidamente interconectados y energizados, así como la conectividad Bluetooth de la PC esté funcionando correctamente, el paso siguiente es agregar el módulo a las conexiones Bluetooth disponibles en tu PC. Esto es, se tiene que “emparejar” o “vincular” el dispositivo Bluetooth con tu PC. Desde Windows Vista™, los pasos para el emparejamiento son los siguientes:
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
108 1. En la barra de tareas, haz clic en
y luego en la opción “Agregar un dispositivo
Bluetooth”. Aparecerá el siguiente cuadro de diálogo
Suponiendo que el HC-06 sea el único dispositivo activo, el cuadro de diálogo de emparejamiento de dispositivos tendrá la apariencia que se muestra arriba. El dispositivo HC-06 tiene el nombre “linvor”. 2. Selecciónalo y después oprime el botón “Siguiente”. Aparecerá el siguiente cuadro de diálogo
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
109
3. Haz clic en la opción “Escribir el código de emparejamiento del dispositivo”. Aparecerá el siguiente cuadro de diálogo
4. En el campo de captura de texto anota los números “1234”. Después oprime “Siguiente”. Una vez que Windows termine de instalar el software de
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
110 emparejamiento, aparecerá el siguiente cuadro de diálogo.
5. A continuación, hay que asegurarse de que se haya instalado también un puerto de comunicación serie para el acceso al dispositivo. Haz clic nuevamente sobre el icono de Bluetooth y elige la opción “Mostrar dispositivos Bluetooth”. En el cuadro de diálogo deberá aparecer el nombre “linvor” como uno de los dispositivos que ya se han vinculado.
6. Haz clic con el botón derecho sobre el dispositivo “linvor”. Aparecerá un menú
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
111 emergente. Selecciona la opción “Propiedades”. Aparecerá un cuadro de diálogo. Selecciona entonces la ficha “Servicios”
7. Deberá aparecer una casilla y la leyenda ‘Puerto serie (SPP) “Dev B”’, junto con el identificador del puerto serie a través del cual se puede acceder al módulo. Este valor es el que se deberá de utilizar desde MikroPLAN, LabVIEW o Visual Basic para acceder de forma inalámbrica a la tarjeta Arduino cargada con PLCmDuino 8. Finalmente, oprime “Aceptar”.
OBSERVACIÓN Si no aparece el puerto, quita el dispositivo de la lista de equipos vinculados y vuelve a repetir el proceso de instalación para el módulo HC-06. Si el problema persiste, apaga o reinicia el equipo y repite el proceso
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
112
4.3 SIMULACIÓN DE PERIFÉRICOS A continuación se muestra cómo utilizar algunas herramientas de simulación que proporciona MikroPLAN. Se utilizarán ejemplos de circuitos digitales.
4.3.1 El ADC (Analog to Digital Converter – Convertidor Analógico a Digital) 1. Desde el editor DGC, haz clic en elemento
(periféricos grupo 1) y luego en el
. Agrégalo a la zona de edición como se muestra
OBSERVACIONES a. Este bloque representa una rutina del BIOS que realiza la conversión analógica a digital del voltaje presente en alguno de los canales analógicos de la tarjeta Arduino. b. La entrada “E” de un bit permite la habilitación del ADC (Analog to Digital Converter – Convertidor Analógico a Digital) c. La entrada “CH” de un byte selecciona el canal. Para la tarjeta Arduino UNO R3, el valor puede ir desde 0 a 5. Para la tarjeta Arduino MEGA 2560, el valor puede ir desde 0 a 15 c. La salida “OUT” del tamaño de un ‘word’, proporciona 10 bits resultado de la conversión
2. Agrega tres terminales. Una de entrada de un BIT; otra de entrada de un BYTE y una de salida de tamaño WORD
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
113
3. Alámbralas
OBSERVACIÓN Las uniones más anchas indican que su posición puede modificarse por el usuario haciendo clic sobre ella; manteniendo el botón izquierdo del cursor y haciendo el desplazamiento. Las uniones verticales indican que la ubicación puede variar hacia la izquierda o hacia la derecha. Las uniones horizontales indican que la ubicación puede variar hacia arriba o hacia abajo
4. Captura las etiquetas en las terminales como se muestra
OBSERVACIONES a. VCC es una constante definida por HDLduino que equivale a un “1” lógico. Las constantes definidas se escriben SIN comillas
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
114 b. “0” es el número del canal ADC utilizando por Arduino. Las constantes numéricas o de tipo cadena se escriben entre comillas
5. Define en “PORTS” la etiqueta de salida como se muestra
6. Agrega la cadena de configuración para los pines de Arduino
7. Corre la simulación
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
115
8. Haz clic en la opción “Simulación”->”ADC…”
9. Aparecerá una ventana con una persiana para que el usuario proporcione un valor de 10 bits a alguno de los canales ADC de la tarjeta Arduino
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
116
10. Haz clic sobre la persiana con la cual podrás modificar el valor que se proporcionará al ADC y varía el valor hasta obtener 300. Observa que el puerto Q se activan los LED de acuerdo al valor binario de entrada
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
117
4.3.2 El receptor infrarrojo (Infrared receiver) 1. Desde el editor DGC, haz clic en el grupo elemento
(comunicaciones) y luego en el
. Agrégalo a la zona de edición
OBSERVACIONES a. Este bloque representa un rutina del BIOS que recibe datos enviados desde el transmisor inalámbrico por infrarrojos RM-4 de la marca STEREN que se muestra en
Figura 2.1 Transmisor inalámbrico por infrarrojos RM-4
b. La entrada “EN” habilita el dispositivo c. La salida “DA” proporciona un “1” si el receptor recibió un dato. “0” en caso contrario d. La salida “CD” proporciona un valor de 1 byte que contiene el código de la tecla que el usuario oprimió en el transmisor Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
118 e. La salida “ID” proporciona un valor de 1 byte que contiene el identificador del transmisor
2. Haz clic en el grupo
(Operaciones con bytes). Selecciona el elemento
(transferir byte) y agrégalo al editor
3. Agrega terminales como se muestra y alámbralas
4. Captura las etiquetas que se muestran
5. Define en “PORTS” la etiqueta de salida como se muestra
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
119
6. La configuración de los pines para la tarjeta Arduino sería como:
OBSERVACIÓN Para el circuito físico, el dispositivo receptor se colocaría en el pin 3 de la tarjeta Arduino. Es por ello que ese pin se configura como entrada
7. Corre la simulación. Después selecciona “Simulación”->”IR TX …”
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
120
8. Desde la ventana de simulación del IRTX presiona cualquier tecla. Aparecerá en los bits del puerto Q1 el valor en binario respectivo de la tecla que oprimas desde el IRTX. El valor se mantendrá hasta que oprimas otra tecla diferente
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
121
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
122
CAPÍTULO 5 CARACTERÍSTICAS DEL BIOS Lo que a continuación se describe es válido para las versiones del BIOS tanto para la tarjeta Arduino UNO R3 como para la MEGA 2560.
5.1 MARCAS ESPECIALES MikroPLAN soporta tres registros de marcas especiales: SM0 a SM2. Cada uno de ellos de 16 bits. Las marcas que están en el byte SM0.H (byte superior de SM0) y todas las marcas que están en los registro SM1 y SM2 están reservadas para uso de PLCmDuino. Se describirán más adelante en este manual. Por otra parte, cinco de las 8 marcas del registro SM0L (byte inferior de SM0) son compatibles con los PLC SIMATIC 21X y se describen a continuación.
5.1.1 Marca de ejecución continua Es la marca SM0.0 y siempre se encuentra en 1. Esta marca se utilizó en el diagrama de la figura 1.4.
5.1.2 Marca de primer ciclo Es la marca SM0.1. Se pone en 1 solamente en el primer ciclo del programa. Luego se pone en 0. Se utiliza comúnmente para inicializar algunos bloques de función.
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
123
5.1.3 Marca de reloj de 1minuto Es la marca SM0.4. Conmuta entre 1 y 0 cada 30 segundos por lo que a partir de esta marca se puede generar una señal de reloj de período de 1 minuto
5.1.4 Marca de reloj de 1 segundo Es la marca SM0.5. Conmuta entre 1 y 0 cada medio segundo por lo que a partir de esta marca se puede generar una señal de reloj de frecuencia de 1 Hz.
5.1.5 Marca de conmutación de ciclo Es la marca SM0.6. El estado inicial de este bit es de 1 en el primer ciclo. Después conmuta a 0 en el segundo ciclo. En los siguientes ciclos conmuta a 1 (número de ciclo impar) o 0 (número de ciclo par). Esto se repite de forma permanente mientras PLCmDuino ejecuta el programa del usuario.
Las otras tres marcas: SM0.2, SM0.3 y SM0.7 están reservadas para PLCmDuino
5.2 REGISTROS IMAGEN DE LAS ENTRADAS Son cinco registros de 16 bits: I0, I1, I3, I4 e I5 cuya utilidad ya se describió en el capítulo 1. Como ya se comentó, el registro I2 es la imagen de los datos que PLCmDuino recibe de la aplicación para Android MobilePorts cuando PLCmDuino se enlaza con ella vía Bluetooth. Esto se comentará más ampliamente en el capítulo 3. Su función como interfaz para recepción de datos de prototipos virtuales se comentará en el capítulo 5.
5.3 REGISTROS IMAGEN DE LAS SALIDAS Son cinco registros de 16 bits: Q0, Q1, Q3, Q4 y Q5 cuya utilidad ya se describió en el capítulo 1.
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
124
5.4 REGISTROS EN MEMORIA PLCmDuino soporta 40 registros “M” cada uno de una longitud de 16 bits y se pueden utilizar cualquier tipo de dato.
5.5 CONTADORES Tiene 16 contadores de 16 bits cada uno: C0 a C15. Cualquiera de ellos puede ser programado para conteo hacia arriba, hacia abajo o con ambos modos.
5.6 TEMPORIZADORES Tiene 16 temporizadores de 16 bits cada uno y separados en dos grupos: 8 temporizadores de 10 ms (T33 a T36 y T97 a T100) y 8 temporizadores de 100 ms (T56 a T63). Cualquiera de ellos puede ser programado en modo TON, TOFF o TONR.
5.7 PILA La pila de PLCmDuino es de 16 bits.
5.8 JUEGO DE INSTRUCCIONES AWL PLCmDuino soporta 90 instrucciones en AWL. De éstas, 56 instrucciones, tienen una sintaxis en AWL y un funcionamiento que es similar al que tienen algunas de las instrucciones de los PLC SIMATIC 21X aunque sus mnemónicos pueden ser diferentes. Ellas se muestran en la tabla 5.1.
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
125 Tabla 5.1
Instrucciones AWL de PLCmDuino compatibles con algunas instrucciones de los PLC SIMATIC 21X
Grupo
Instrucciones AWL
Total
Contactos de comparación
LDB>=, OB>=, AB>=, LDB=, OB=, AB=,
18
LDB=, LDW=, OW=, AW=, LDWOK”
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
139
El programa en PLCmDuino, se detendrá totalmente y bajo esta condición, todas las terminales de PLCmDuino se habilitarán como entradas, por lo que cualquier dispositivo conectado a las terminales que se hayan configurado como salidas se desactivará. Oprime ahora “Estado”. Aparecerá brevemente el mensaje “STATUS>STOP”. Esto te indica que PLCmDuino está en modo de alto.
Oprime
“RUN”.
Aparecerá
brevemente
reanudándose la ejecución del programa.
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
el
mensaje
“RUN>OK”
140
CAPÍTULO 7 PLCmDuino Y STEP7 MicroWin STEPControl es una aplicación de escritorio que funciona como interfaz entre STEP7 MicroWin 5.5 y PLCmDuino para realizar acciones de adquisición de datos y señalización digital desde una PC. Para realizar esto, el usuario utiliza el software STEP7 MicroWin 5.5 para crear una estrategia de control en cualquier de los lenguajes soportados por esa aplicación (AWL, KOP o FUP) que posteriormente podrá cargar en el simulador. Después, desde el módulo software denominado STEPDuino que ya está incorporado en la aplicación STEPControl, el usuario podrá correr el programa que se cargó al simulador de STEP7 MicroWin 5.5. La aplicación STEPDuino se comunicará entonces con este programa y también con PLCmDuino de tal manera que los datos que le envíe el simulador de MicroWin, los enviará a la tarjeta Arduino para generar señalización en sus terminales de salida. También STEPDuino recibirá datos que le envía PLCmDuino para que los envíe al simulador de MicroWin. Los requerimientos para trabajar con STEPControl son: 1. Visual Basic 2010 Express o posterior 2. STEP7 MicroWin 5.5 3. Licencia de activación de PLCmDuino 4. Licencia de activación de STEPDuino
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
141
7.1 EJEMPLO DE SIMULACIÓN/EMULACIÓN 1. Ejecuta el Administrador de SIMATIC de STEP7 MicroWin 5.5
2. Haz clic en el botón “Cancelar” si aparece el asistente de STEP7
3. Desde el manejador de proyectos, abre el archivo que se encuentra en la carpeta: c:\ProyexDuino\Proyectos\STEPControl\Ejemplos\STEPDuino\Controlador de Nivel de Agua
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
142
4. Haz doble clic sobre el elemento OB1
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
143 5. Aparecerá el diagrama KOP de un programa de control de nivel de agua todo o nada con histéresis
OBSERVACIÓN El programa realiza la acción de control de llenado de un tinaco semejante al que se explicó en el ejemplo del capítulo 5
6. En el administrador, haz clic sobre el icono del simulador
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
144
7. Aparecerá el simulador
Si lo deseas, configura las ventanas de selección de registros a los que requiera tu aplicación. Los registros que utiliza el software STEP7 MicroWin 5.5 y sus equivalentes con STEPDuino y PLCmDuino se muestran en la siguiente tabla
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
145 STEP7 MicroWin 5.5
STEPDuino/PLCmDuino
E0.0 a E0.7 (EB0)
I0.0 a I0.7 (IOL)
E1.0 a E1.7 (EB1)
I0.7 a I0.15 (IOH)
E2.0 a E2.7 (EB2)
I1.0 a I1.7 (I1L)
E3.0 a E3.7 (EB3)
I1.8 a I1.15 (I1H) - Sólo Arduino MEGA
A0.0 a A0.7 (AB0)
Q0.0 a Q0.7 (Q0L)
A1.0 a A1.7 (AB1)
Q0.8 a Q0.15 (Q0H)
A2.0 a A2.7 (AB2)
Q1.0 a Q1.7 (Q1L)
A3.0 a A3.7 (AB3)
Q1.8 a Q1.15 (Q1H) – Sólo Arduino MEGA
8. Arma el circuito de prueba que se muestra en la figura 6.1. Representa un simulador hardware para un sistema de control de nivel de agua cuyo control se realizará desde STEP7 MicroWin. En la tabla 6.1 se muestra la correspondencia entre los pines de la tarjeta con las entradas y salidas al diagrama en KOP
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
146
Figura 6.1. Simulador hardware para el programa de control de nivel de agua utilizando MicroWin
Tabla 6.1. Correspondencia de entradas y salidas entre el circuito de la figura 6.1 y STEP7 MicroWin
Etiqueta en MicroWin
Bit en PLCmDuino
Bit en MicroWin
FONDO
I0.0
E0.0
TOPE
I0.1
E0.1
PASO_DE_AGUA
I0.2
E0.2
RESET
I0.3
E0.3
BOMBA
Q0.4
A0.4
FALLA_SENSOR_SUCIO
Q0.5
A0.5
FALLA_PASO_DE_AGUA
Q0.6
A0.6
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
147 9. Corre la aplicación STEPControl. Aparecerá una pequeña ventana para que selecciones la versión Windows de tu equipo
10. Oprime “Aceptar”. Aparecerá la ventana principal de STEPControl
10. Activa el editor KOP de MicroWin y carga el programa al simulador haciendo clic en el icono del mismo
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
148
11. Activa STEPControl. Establece la conexión entre esta aplicación y el simulador de STEP7 haciendo clic en el botón “Conectar”
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
149 12. Selecciona la pestaña “Conexión con PLCmDuino”
13. Selecciona las licencias para STEPDuino y PLCmDuino haciendo clic en los botones correspondientes
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
150
14. Prepara la comunicación con PLCmDuino. Introduce el valor del puerto de comunicación. Si vas a utilizar la tarjeta Arduino UNO, asegúrate que la casilla “Esperar inicialización del BIOS” esté desactivada. Recuerda que si vas a utilizar una tarjeta MEGA 2560 con el chip CH340G, es posible que tengas que activarla. Después oprime “Detectar”
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
151
14. Configura los pines de Arduino de acuerdo al circuito de la figura 2.1
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
152 15. Oprime “RUN” para correr el programa cargado en el simulador desde STEPControl. Si las dos conexiones tuvieron éxito, se activará la pestaña “Panel” e iniciará la corrida del programa
Los LEDs en el circuito con Arduino deberían encenderse de acuerdo al algoritmo de tu diagrama KOP en STEP7. Además, el programa debería responder a las señalizaciones a mano que realices a través de los pulsadores. El pulsador en I0.2 simula un sensor de paso de agua. Si no se detecta paso de agua, el controlador activará el LED en Q0.2 indicando falla de paso de agua. Oprime I0.3 para reiniciar la acción del controlador. Si presionas el pulsador I0.0 y luego presionas I0.1, la bomba (Q0.4) se apagará, ya que esto simula que el tinaco se ha llenado. Si presionas I0.1 sin presionar I0.0, la bomba se apagará y se encenderá el LED en Q0.1 indicando que el sensor de fondo está sucio.
OBSERVACIONES a. Si solamente se tiene alguna de las dos licencias, aparecerán algunos mensajes de error
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
153
Oprime “Aceptar”. Aparecerá el siguiente cuadro de diálogo
Por tanto, el programa correrá en modo evaluación por lo que únicamente tendrán efecto en el comportamiento del programa las entradas presentes en Arduino y no se realizará señalización alguna (no se activarán los LEDs) b. Para detener la simulación, oprime “STOP”. STEPControl detendrá el simulador de STEP7 pero no se perderá el enlace con el simulador ni con PLCmDuino. Esto te permitirá conmutar al editor KOP; modificar tu programa; volverlo a cargar al simulador y después correrlo desde STEPDuino c. Oprime “Salir” para suspender la conectividad de STEPDuino con STEP7; con PLCmDuino y para que después se cierre la aplicación
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
154
CAPÍTULO 8 PLCmDuino Y FluidSIM FluidSIM puede comunicarse con PLCmDuino utilizando MikroPLAN como interfaz de comunicación o intérprete. La comunicación entre MikroPLAN y FluidSIM se realiza utilizando peticiones o solicitudes por medio de un enlace DDE (Dynamics Data Exchange – Intercambio Dinámico de Datos). La comunicación entre MikroPLAN y PLCmDuino, se realiza a través de comandos y puede darse entre dos modos:
Modo 1.
FluidSIM es maestro y PLCmDuino es esclavo. En este modo FluidSIM puede acceder a los puertos de PLCmDuino (hasta 6 puertos de 8 bits para la versión UNO y hasta 20 puertos de 8 bits para la versión MEGA) y enviarles o recibir datos hacia o desde ellos. De esta manera, Arduino junto con PLCmDuino actúa como una tarjeta de adquisición de datos y señalización digitales
Modo 2.
PLCmDuino es maestro y FluidSIM es esclavo. En este modo, PLCmDuino puede controlar el prototipo virtual de un circuito neumático implementado en FluidSIM. Para ello, PLCmDuino se comunica con FluidSIM utilizando 4 puertos de 8 bits
Para ambos modos de comunicación, se requiere la licencia “PLCmDuino UNO
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
155 XT” o una licencia para “PLCmDuino MEGA”.
Adicionalmente se puede utilizar MikroPLAN para controlar el prototipo virtual en FluidSIM. En este caso, MikroPLAN actúa como maestro y FluidSIM como esclavo de la misma forma a cómo la realiza PLCmDuino en el modo 2. De esta forma se puede simular el funcionamiento del programa que se cargaría en PLCmDuino para controlar el prototipo virtual en FluidSIM. Este modo de operación de MikroPLAN es libre y no se requiere licencia alguna para trabajar con ella.
8.1 PREPARACIÓN DE FluidSIM PARA LA COMUNICACIÓN CON MikroPLAN Las versiones 3.6 y 4.2 de FluidSIM son las soportadas por MikroPLAN para realizar la interfaz DDE de comunicación entre ese software y PLCmDuino. En lo que sigue se trabajará con la versión 4.2 de este programa. Realiza los siguientes pasos: 1. Ejecuta FluidSIM y elige la opción “Options”->”EasyPort/OPC/DDE Connection”
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
156
2. Aparecerá el cuadro de diálogo
Activa la opción “DDE mode”. Asegúrate que en los campos “Servidor” y “Topic”
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
157 aparezcan respectivamente las palabras: “FLSIMP” y “IOPanel” tal como se muestra en la siguiente figura (estas palabras deberían aparecer por defecto al activar esa opción). Luego oprime “Aceptar”
8.2 ADQUISICIÓN DE DATOS Y SEÑALIZACIÓN DIGITAL CON PLCmDuino DESDE FluidSIM 8.2.1 Preparación de FluidSIM como maestro Para que MikroPLAN pueda comunicarse con FluidSIM, este software incorpora dos elementos gráficos de interfaz. El bloque “FluidSIM OUT” a través del cual FluidSIM enviará a MikroPLAN los datos que desea que aparezcan en alguno de los puertos de salida de PLCmDuino
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
158
0
1
2
3
4
5
6
7
Auto
FluidSIM Out Module 1 - Port 1
Y el bloque “FluidSIM In” a través del cual FluidSIM recibirá datos de MikroPLAN que corresponden a los que aparecen en alguno de los puertos de entrada de PLCmDuino
Auto
FluidSIM In Module 1 - Port 1 0
1
2
3
4
5
6
7
Ubica estos elementos en el panel de iconos y agrégalos al documento de la estrategia que va a utilizar PLCmDuino. En la tabla 8.1 se muestran los puertos de PLCmDuino a los que se puede acceder desde FluidSIM en este modo. Todos los puertos son de 8 bits.
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
159 Tabla 8.1. Acceso a los puertos de salida de PLCmDuino desde FluidSIM. El carácter ‘L’ al final de la designación del puerto indica el byte bajo del puerto de 16 bits que corresponda. El carácter ‘H’ designa el byte alto Puertos de salida
Tipo de puerto
en PLCmDuino
Designación del puerto en
Disponibilidad en Arduino
FluidSIM
I0L
Entrada
PLCmDuino_I0L
UNO, MEGA
I0H
Entrada
PLCmDuino_I0H
UNO, MEGA
I1L
Entrada
PLCmDuino_I1L
UNO, MEGA
I1H
Entrada
PLCmDuino_I1H
MEGA
I3L
Entrada
PLCmDuino_I3L
MEGA
I3H
Entrada
PLCmDuino_I3H
MEGA
I4L
Entrada
PLCmDuino_I4L
MEGA
I4H
Entrada
PLCmDuino_I4H
MEGA
I5L
Entrada
PLCmDuino_I5L
MEGA
Q0L
Salida
PLCmDuino_Q0L
UNO, MEGA
Q0H
Salida
PLCmDuino_Q0H
UNO, MEGA
Q1L
Salida
PLCmDuino_Q1L
UNO, MEGA
Q1H
Salida
PLCmDuino_Q1H
MEGA
Q3L
Salida
PLCmDuino_Q3L
MEGA
Q3H
Salida
PLCmDuino_Q3H
MEGA
Q4L
Salida
PLCmDuino_Q4L
MEGA
Q4H
Salida
PLCmDuino_Q4H
MEGA
Q5L
Salida
PLCmDuino_Q5L
MEGA
Para demostrar el acceso de los puertos de PLCmDuino cuando FluidSIM funciona como maestro, realiza el siguiente ejemplo: 1. Una vez que hayas agregado los elementos gráficos de interfaz a tu estrategia, completa el diagrama como se muestra en la figura de abajo
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
160
2. Haz doble clic en el bloque “FluidSIM Out”. Aparecerá un cuadro de diálogo. Modifica la etiqueta que aparece ahí por “PLCmDuino_Q1L”
3. Ahora haz doble clic en el bloque de “FluidSIM In” y modifica la etiqueta que ahí aparece por defecto por la etiqueta “PLCmDuino_I0L”
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
161
4. Oprime “OK”. El diagrama debería tener la apariencia que se muestra
OBSERVACIONES a. A través del bloque “FluidSIM Out”, MikroPLAN hará que los datos digitales que
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
162 aparecen a la entrada de ese bloque en FluidSIM se transfieran al puerto Q0L (8 bits menos significativos de Q0) de PLCmDuino b. A través del bloque “FluidSIM In”, MikroPLAN hará que los datos digitales presentes en el puerto I1L (8 bits menos significativos de I1) de PLCmDuino se transfieran a las salidas de ese bloque en FluidSIM
8.2.2 Preparación de PLCmDuino como esclavo Cuando MikroPLAN acceda a PLCmDuino en este modo, cualquier programa que esté cargado se borrara. También debes asegurarte que las terminales de Arduino estén conectadas a los elementos que vas a utilizar para tu proyecto. Para el ejemplo, arma el circuito que se muestra en la figura 8.1 en donde se está utilizando la tarjeta Arduino MEGA 2560 como hardware de adquisición y señalización digital.
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
163
Figura 8.1. Circuito de prueba para FluidSIM en modo maestro
8.2.3 Activación de MikroPLAN como interfaz de comunicación 1. Conecta la tarjeta Arduino con el BIOS PLCmDuino a tu PC 2. Sin salirte de FluidSIM, corre MikroPLAN. Elige la opción “PLCmDuino” -> “Detectar” y realiza la detección de la tarjeta 3. En el menú principal de MikroPLAN, elige la opción “Licencias”->”Seleccionar” y escoge la licencia adecuada
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
164
4. Elige ahora la opción “Interfaz”->”FluidSIM (M) – MikroPLAN – PLCmDuino (E)”
5. Aparecerá un cuadro de diálogo
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
165
6. Oprime “Sí”. Se realizará la detección de la tarjeta y aparecerá el cuadro de diálogo
7. Oprime “Aceptar”. Aparecerá el cuadro de diálogo
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
166 8. Escribe las cadenas de configuración de los pines que vas a utilizar de acuerdo al circuito de la figura 7.1. Selecciona también los puertos que vas a utilizar en FluidSIM
9. Sin salirte de MikroPLAN, activa FluidSIM y corre la simulación del circuito oprimiendo
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
167 10. Activa MikroPLAN y en el cuadro de diálogo del paso 8, oprime “Iniciar”. Aparecerá el cuadro de diálogo
11. Oprime “Aceptar”. Activa FluidSIM. Oprime el pulsador “Q1.0”. Deberá encenderse en bit correspondiente en el circuito de la figura 8.1
12. Ahora en el circuito de la figura 8.1, oprime el pulsador “I0.0”. Deberá activarse el indicador luminoso correspondiente en el circuito en FluidSIM
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
168
OBSERVACIONES a. En la tarjeta Arduino, los LED indicadores de comunicación serial, tanto RX como TX, deberán estar encendidos. Esto indica que la comunicación entre MikroPLAN y PLCmDuino es correcta
b. Si en FluidSIM, oprimes el botón de paro
, únicamente suspenderás la
simulación de la estrategia neumática, más no la adquisición y señalización que MikroPLAN está realizando con PLCmDuino. Para terminar esta acción, activa MikroPLAN y oprime después el botón “Terminar”. Se suspenderá la adquisición y señalización. Después se cerrará el cuadro de diálogo
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
169
8.3 CONTROL DE PROTOTIPOS VIRTUALES EN FluidSIM DESDE PLCmDuino
8.3.1 Preparación de FluidSIM como esclavo En la estrategia de control que se grabará en PLCmDuino, se deberá utilizar el puerto Q2 para generar señales digitales que accionarán dispositivos neumáticos en el prototipo virtual en FluidSIM. Este puerto se distribuye en 2 puertos de 8 bits cada uno: Q2L y Q2H. Por tanto, para que FluidSIM pueda obtener el estado lógico de los bits de cualquiera de esos puertos se deberá utilizar el bloque
Auto
FluidSIM In Module 1 - Port 1 0
1
2
3
4
5
6
7
Por otro lado, es a través del puerto I2 que PLCmDuino podrá monitorear el estado lógico de algún elemento electro neumático en el prototipo virtual. Este puerto se divide también en dos puertos de 8 bits cada uno: I2L e I2H. Por tanto, para que PLCmDuino pueda obtener el estado lógico de los elementos electro neumáticos que se deseen monitorear en el prototipo virtual, se deberá utilizar el siguiente bloque con cualquiera de esos puertos
0
1
2
3
4
5
6
7
Auto
FluidSIM Out Module 1 - Port 1
A continuación se realizará un ejemplo. 1. Abre FluidSIM y captura el siguiente esquema del prototipo virtual a controlar.
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
170 Se trata de un circuito neumático que consta de un cilindro de doble efecto que está conectado a una válvula 5/2. El cilindro tiene dos sensores S2 y S3. Cuando el usuario presione el pulsador I0.0 en Arduino y el vástago se encuentre en la posición del detector de fin de carrera S2, la válvula se energizará. Cuando el vástago alcance el detector de fin de carrera S3, el sensor enviará una señal a PLCmDuino. El autómata des energizará la válvula. Esto hará que el vástago regrese a S2. Modifica las etiquetas en los bloques de entrada y salida como se muestra
2. Corre el programa en FluidSIM. Tu prototipo virtual estará esperando los datos enviados por PLCmDuino
8.3.2 Preparación de PLCmDuino como maestro 1. Captura la siguiente estrategia de control con MikroPLAN. Para probar el circuito, puedes utilizar el mismo hardware de la figura 7.1
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
171
Figura 8.2. Estrategia en KOP para controlar el prototipo virtual en FluidSIM del cilindro de doble efecto
2. Agrega las etiquetas:
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
172 3. La cadena de configuración para este programa es:
4. Guarda el programa y después cárgalo en Arduino. Al correr el programa en tu tarjeta, el LED Q1.0 se encenderá pero después de dos segundos aproximadamente se apagará ya que por el momento no se ha activado aún la conexión entre PLCmDuino y FluidSIM
OBSERVACIONES a. La red 1 activa al inicio la marca especial SM1.15 identificada con la bobina “PV_CONEXION”. Esto permite que PLCmDuino le indique a MikroPLAN que desea conectarse con el prototipo virtual en FluidSIM. Si en dos segundos, PLCmDuino no recibe respuesta de MikroPLAN, desactivará esa marca. Como se puede observar en las demás redes del programa, esta marca está conectada en serie con los demás contactos, por lo cual al desactivarse, evitará la activación de las bobinas o salidas en las demás redes. Esta red deberá incluirse SIEMPRE en cualquier aplicación de este tipo
b. La red 2 activa un LED (Q1.0) dependiendo del estado de la marca SM1.15. Esto permite que desde el hardware conectado a la tarjeta Arduino se visualice si hay o no conexión con el prototipo virtual. Se recomienda que esta red se incluya también en aplicaciones de este tipo
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
173 c. En la red 3 se ha colocado también un LED (Q1.1) que en Arduino se activará cuando la bobina “Q2.0” activa la válvula en el prototipo virtual
8.3.3 Activación de MikroPLAN como interfaz de comunicación 1. En el menú principal de MikroPLAN, elige la opción “Licencias”->”Seleccionar” y escoge la licencia adecuada
2. En el menú principal, elije la opción “Interfaz”->”PLCmDuino (M) – MikroPLAN – FluidSIM (E)”
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
174
3. Aparecerá el siguiente cuadro de diálogo
4. Oprime “Sí”. Se detectará la tarjeta y aparecerá el siguiente cuadro de diálogo.
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
175
5. Oprime “Aceptar”. Aparecerá el siguiente cuadro de diálogo. Selecciona los puertos con los que se realizará la comunicación. Oprime “Iniciar”
6. Aparecerá un cuadro de diálogo que te informará que se estableció la comunicación con el prototipo virtual en FluidSIM
7. Oprime “Aceptar”. Comenzará la comunicación entre PLCmDuino y FluidSIM a Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
176 través de MikroPLAN. En el circuito de la figura 8.1, pulsa el interruptor I0.0. Puesto que FluidSIM ya estaba corriendo, observa que la válvula se energiza. Además, en el circuito de la figura 8.1, el LED se deberá encender
Después de activarse el cilindro y cuando el pistón llega a S3, el pistón se desenclava
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
177
8.4 CONTROL DE PROTOTIPOS VIRTUALES DESDE MikroPLAN 8.4.1 Preparación de FluidSIM como esclavo Para la simulación del control de tu prototipo virtual en FluidSIM desde MikroPLAN no se requiere licencia alguna. La preparación del prototipo virtual en FluidSIM es la misma que se comentó para cuando PLCmDuino se comporta como maestro.
8.4.2 Activación de MikroPLAN como maestro 1.
Asegúrate de que esté corriendo la simulación del prototipo en FluidSIM
2.
En la barra de botones de acceso rápido, haz clic en
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
178
3. Aparecerá el cuadro de diálogo
4. Por el momento, la única aplicación disponible para hacer el enlace es FluidSIM. Selecciona los puertos que vas a utilizar en la simulación y después oprime “Iniciar”
5. Aparecerá otro cuadro de diálogo
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
179
6. Oprime “Sí”. Se activará el enlace con FluidSIM
7. Oprime “Aceptar”. Se compilará el programa
8. Oprime “Aceptar”. Se realizará la simulación del programa
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
180
9. Observa que el LED “Q1.0” está activo. Esto indica que el enlace entre FluidSIM y MikroPLAN es correcto. Oprime el pulsador “I0.0”. La válvula se activará en FluidSIM y el LED en Q1.1 en el tablero se encenderá indicando esto
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
181 10. Verifica en FluidSIM que el cilindro se haya activado y que el vástago alcance el sensor S3
En FluidSIM el prototipo funcionará como cuando PLCmDuino funcionó en modo maestro
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
182
CAPÍTULO 9 PLCmDuino y LabVIEW Al cargar PLCmDuino en tu tarjeta Arduino, también puedes utilizarla como sistema de adquisición de datos y señalización digital al que puedes acceder desde LabVIEW. Para este caso no se requiere licencia alguna, pero asegúrate de que PLCmDuino no tenga grabado algún programa antes de utilizarla con el software. Los subVI’s para acceder a PLCmDuino se encuentran en la carpeta: “c:\ProyexDuino\Proyectos\PLCmDuino\Señalización y adquisición\LabVIEW\Bibliotecas\DACQS”
Están agrupados en dos carpetas: “x32” y “x64”. Dependiendo de la versión que utilices de LabVIEW, deberás utilizar los de la carpeta “x32” para versiones de 32 bits y los de la “x64” para versiones de 64 bits. Sólo para este último caso deberás instalar previamente la versión redistribuible de Visual Basic 2017. Los subVI’s utilizan los archivos PLGDCOM32.DLL y PLGDCOM64.DLL que están incluídos en la carpeta “c:\ProyexDuino\DLL”.
9.1 INSTALACIÓN DE LA PALETA PLCmDuino DACQS Esta paleta te permitirá acceder a los subVI’s que te permitirán realizar acciones de adquisición de datos y señalización digital con Arduino utilizando PLCmDuino. Sigue los siguientes pasos:
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
183 1. Entra a LabVIEW. Crea un nuevo VI (Virtual Instrument) y desde el menú principal del diagrama de bloques haz clic en la opción “Tools”->”Advanced”>”Edit Palette Set …”
2. Aparecerán tres cuadros de diálogo. Elige el cuadro “Functions” y haz clic con el botón derecho sobre él. Elige la opción “Insert”->”Subpalette”
3. Aparecerá el cuadro de diálogo de abajo. Elige la opción “Link to an existing palette file (.mnu)”. Luego oprime “OK”
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
184
4. Aparecerá un cuadro de diálogo para que elijas el archivo de menú. Selecciona el archivo “PLCmDuino_DACQS.mnu”. Se encuentra en la misma carpeta “c:\ProyexDuino\Proyectos\PLCmDuino\Señalización y adquisición\LabVIEW\Bibliotecas\DACQS”
5. En el cuadro de diálogo “Functions” aparecerá el icono
6. También aparecerá el cuadro de diálogo de abajo. Selecciona “Save changes”
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
185
7. Aparecerá otro cuadro de diálogo informándote sobre la adición del menú a la paleta de funciones de LabVIEW. Oprime “Continue”
8. Observa que en la paleta de funciones de LabVIEW se ha añadido el grupo “PLCmDuino DACQS”
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
186
9.2 ACCESO A PLCmDuino DESDE LabVIEW Los ejemplos que se analizarán a continuación se encuentran en la carpeta que ya se había especificado anteriormente: “c:\ProyexDuino\Proyectos\PLCmDuino\Señalización y adquisición\LabVIEW\Ejemplos\DACQS”
Todos se realizaron con la versión 2014 de LabVIEW en sus modalidades de 32 y 64 bits. El circuito de prueba para estos ejemplos es el que aparece en la figura 8.1 y que por conveniencia se muestra aquí nuevamente en la figura 9.1
Figura 9.1. Circuito de prueba para adquisición y señalización digital con PLCmDuino desde LabVIEW
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
187 En el ejemplo que sigue, se mostrarán los elementos que deberán añadirse invariablemente en cualquier instrumento virtual (VI – Virtual Instrument) que utilice PLCmDuino
1. Crea un nuevo VI y activa el diagrama de bloques 2. Haz clic sobre lapaleta “PLCmDuino DACQS”. Aparecerán dos subgrupos
Haz clic en el grupo “x32”. Elige el subVI “PLGDCOM32_Open”. Arrástralo y pégalo en algún lugar del diagrama de bloques
La designación de pines para este elemento es:
3. Crea controles en los nodos “Wait for BIOS Initialization” y “COM Port”
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
188
4. Crea un indicador de tipo “boolean” (booleano) en el nodo “Error” y dos indicadores de tipo “string” (cadena) en los nodos “Controller” y “BIOS Version”
5. Agrega ahora el subVI “PLGDCOM32_GetErrorMessage”. Sus nodos son:
Alámbralo al anterior como se muestra a través del nodo “error out”
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
189
6. Agrega un indicador en el nodo “Error Message”
7. Agrega el elemento “PLGDCOM32_Close” y alámbralo como se muestra
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
190
OBSERVACIONES a. El subVI “PLGDCOM32_Open” se utiliza para abrir el acceso a PLCmDuino desde LabVIEW. Este elemento genera una señal de error en el nodo “Error” en caso de que haya habido algún error al acceder a PLCmDuino b. El subVI PLGDCOM32_GetErrorMessage” muestra un mensaje de error en caso de por alguna razón no se haya abierto el enlace a PLCmDuino c. El “subVI PLGDCOM32_Close”
8. En la paleta de funciones, elige “Data Communication”->”Local Variable”
Agrega dos de estos elementos 9. Haz clic sobre uno de ellos con el botón izquierdo y elige la opción “BIOS
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
191 Version”
El elemento tendrá la apariencia que se muestra
10. Acerca el cursor en el nodo de la variable local, Haz clic con el botón “Empty String Constant”
El elemento tendrá ahora la apariencia
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
192 11. Repite las acciones anteriores con la otra variable local pero ahora elige el elemento “Controller”
OBSERVACIONES Se agregaron estas variables locales para que al comienzo de la ejecución del instrumento, se limpie el contenido de los indicadores “BIOS Version” y “Controller”
12. El diagrama de bloques debería tener la apariencia que se muestra
Y el panel frontal
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
193
9.2.1 Corrida del instrumento virtual 1. Conecta tu tarjeta Arduino con PLCmDuino a la PC 2. En el panel frontal, en el indicador “COM Port” escribe el puerto COM que utilizará LabVIEW para comunicarse con tu Arduino
3. Únicamente en caso de que vayas a utilizar la tarjeta Arduino MEGA 2560 con el chip CH340G puede que requieras oprimir el interruptor “Wait for BIOS Initialization” antes de correr el instrumento
4. Oprime el botón de corrida de una sola vez
5. Los indicadores “Controller” y “BIOS Version” deberían contener la info que se muestra resultado de la respuesta de PLCmDuino
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
194
9.3 ESCRITURA DE UN BIT A UN PUERTO DE SALIDA El instrumento que se analiza a continuación realiza la escritura de un bit a uno de los puertos de salida de Arduino 1. Carga el instrumento “Ejemplo 02x32 Escritura de Bit a puerto”
2. El diagrama de bloques es
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
195
OBSERVACIONES a. El elemento
Se utiliza para configurar los pines de la tarjeta Arduino como entradas o como salidas. A través del parámetro “N Port” se especifica el número de grupo de pines o puerto que se va a configurar de acuerdo a la siguiente tabla
Grupo
Puerto
Pines
0
I0/Q0
2 a 11 (UNO/MEGA)
1
I1/Q1
A0 a A5 (UNO) A0 a A15 (MEGA)
3
I3/Q3
14 a 29 (MEGA)
4
I4/Q4
30 a 45 (MEGA)
5
I5/Q5
46 a 53 (MEGA)
A través del nodo “Pins Configuration” se especifica la configuración de los pines del puerto como una cadena de caracteres. En el panel frontal
El primer carácter a la izquierda especifica el bit menos significativo o bit 0. El segundo carácter el bit 1 y así sucesivamente. El carácter “o” especifica una salida; “i” especifica una entrada. Si utilizas mayúsculas, la salida o la entrada se invertirán. Puedes especificar los 16 bits del puerto, pero dependiendo de la tarjeta que utilices, sólo se tomarán en cuenta los que tienen salida física al exterior (los primeros 5 para Arduino UNO o 16 para MEGA 2560)
b. Para este instrumento y de acuerdo al circuito de la figura 8.1 se utilizará el
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
196 puerto 1 para escribir datos
c. La estructura
Representa un ciclo “While”. La acción de todos los elementos que se coloquen dentro de la estructura se repetirá continuamente hasta que la entrada al elemento
sea cierta. En este VI, el ciclo se suspende cuando el usuario
oprime el botón “Alto” desde el panel frontal o cuando ocurre algún error al intentar escribir el valor del bit
d. El elemento
Se utiliza para activar o desactivar un bit en el número puerto (N Port) y número de bit (N Bit) especificados de acuerdo al valor booleano dado por “Value”
2. El panel frontal deberá tener la apariencia que se muestra
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
197
OBSERVACIÓN En el control “N bit” se especifica el número de bit del puerto que puede ser desde 0 hasta 15
3. Corre el instrumento. Modifica el valor “N bit” y conmuta el interruptor “Valor”. Observa cómo se enciende o se apaga el LED conectado al pin que corresponde al bit que estás activando o desactivando
9.4 ESCRITURA DE UN BYTE A UN PUERTO DE SALIDA 1. Carga el instrumento “Ejemplo 03x32 Escritura de Byte a puerto.vi”
2. El diagrama de bloques es
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
198
OBSERVACIÓN El elemento
Escribe un valor de un byte dado por el parámetro “Value” en el puerto especificado por “N Port”. Si la entrada “(F) Low Byte/(T) High Byte” es falsa, el valor se escribe en el byte menos significativo (byte bajo), Si es cierta, se escribe en el byte más significativo (byte alto)
2. El panel frontal debe tener la apariencia que se muestra
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
199
9.5 ESCRITURA DE UNA PALABRA A UN PUERTO DE SALIDA 1. Carga el instrumento “Ejemplo 04x32 Escritura de Word a puerto.vi”
2. El diagrama de bloques es
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
200
OBSERVACIÓN El elemento
Escribe el valor de una palabra de 16 bits dado por “Valor” al puerto especificado por “N Port”
3. El panel frontal es
9.6 LECTURA DE UN BIT DE UN PUERTO DE ENTRADA 1. Carga el instrumento “Ejemplo 05x32 Lectura de Bit de puerto.vi”
2. El diagrama de bloques es
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
201
OBSERVACIÓN El elemento
Lee el valor del bit dado por “N Bit” del puerto “N Port”. El valor leído se proporciona en “Value”
3. El panel frontal es
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
202
9.7 LECTURA DE UN BYTE DE UN PUERTO DE ENTRADA 1. Carga el instrumento “Ejemplo 06x32 Lectura de Byte de puerto.vi”
2. El diagrama de bloques es
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
203
OBSERVACIÓN El elemento
Lee un byte, alto o bajo dependiendo de la entrada “(F) Low Byte/(T) High Byte”, del puerto especificado por “N Port” y lo proporciona en la salida “Value”
3. La apariencia del panel frontal es
9.8 LECTURA DE UNA PALABRA DE UN PUERTO DE ENTRADA 1. Carga el instrumento “Ejemplo 07x32 Lectura de Word de puerto.vi”
2. El diagrama de bloques es
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
204
OBSERVACIÓN El elemento
Lee la palabra de 16 bits del puerto especificado por “N Port” y lo proporciona en “Value”
3. El panel frontal tiene la apariencia que se muestra
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
205
9.9 LECTURA DE UN CANAL ANALÓGICO 1. Carga el instrumento “Ejemplo 08x32 Lectura de canal analógico.vi”
2. El diagrama de bloques es
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
206
OBSERVACIÓN El elemento
Lee un valor de 10 bits (0 a 1023) correspondiente al voltaje presente en cualquiera de los 6 canales analógicos (A0 a A5) para el Arduino UNO o de cualquiera de los 16 canales analógicos (A0 a A15) para Arduino MEGA 2560 especificado por “N Channel” y lo proporciona en “Value”
3. El panel frontal es
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
207
CAPÍTULO 10 PLCmDuino SIN Arduino Es posible utilizar únicamente el BIOS PLCmDuino sin el hardware de Arduino. Esta característica es muy útil cuando se desean realizar aplicaciones embebidas de bajo costo de un solo chip. En la figura 10.1 se muestra un esquema en donde aparecen las conexiones mínimas que requiere el microcontrolador ATMEL 328PPU para poder trabajar con PLCmDuino sin requerir el hardware de la tarjeta Arduino.
Figura 10.1 Sistema mínimo con el microcontrolador ATMEL 328P-PU
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
208 La lista de componentes del diagrama de la figura 10.1 se muestra en el listado 10.1. 1 1 1 2 1 1 1 1 1
microcontrolador ATMEGA328P-PU cargado con el BIOS PLCmDuino-UNO módulo de comunicación Bluetooth HC-06 esclavo cristal de cuarzo de 16 MHz capacitores de 22 pf resistor de 10 kOhm ¼ W LED de color verde resistor de 1 MOhm ¼ W capacitor electrolítico de 1 F 16V conector hembra (jack) USB tipo “A” para circuito impreso Listado 10.1. Lista de material para armar el circuito de la figura 13.1
El módulo HC-06 permite la programación inalámbrica de PLCmDuino desde MikroPLAN. En la figura 10.2 se muestra el diagrama electrónico del autómata PLCmDuino basado en el microcontrolador ATMEG328P-PU con alimentación al conector USB o con alimentación auxiliar desde una fuente de CD o CA externa.
Figura 10.2 Autómata PLCmDuino basado en el microcontrolador ATMEGA328P-PU
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
209 Si tienes la versión R3 de la tarjeta Arduino UNO con el micro ATMEGA 328P-PU en su versión DIP, puedes probar cualquiera de los circuitos anteriores desmontando cuidadosamente el chip de la tarjeta.
En los diagramas de la figuras 10.1 y 10.2, el módulo Bluetooth puede omitirse para una aplicación embebida que no requiera conexión Bluetooth. Además, si no se desea comunicación inalámbrica, este módulo puede reemplazarse con cualquier adaptador USB a serie.
Es importante mencionar que para el caso de utilizar un chip nuevo ATMEGA 328P-PU, se debe cargar el “bootloader” original de Arduino en el dispositivo antes de cargar PLCmDuino. Consulta el sitio www.arduino.cc para conocer cómo cargar el “bootloader” a un nuevo microcontrolador desde una tarjeta Arduino.
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019
210
APÉNDICE 1 Hoja de datos del LCD 16x2
Versión 2019.1 Fecha de creación: 1/8/2016 Fecha de última revisión: 01/04/2019