TECNICO PLC MANUAL SIEMENS ARDUINO MICROPLAN

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

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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