Está en la página 1de 348

Jorge García Aguirre

Manual del Usuario de


MikroPLAN
Versión 2021.18
2

ÍNDICE

CAPÍTULO 1. EL ENTORNO DE PROGRAMACIÓN DE MikroPLAN 7


1.1 DESCRIPCIÓN DEL SOFTWARE 7
1.2 DESCRIPCIÓN DEL FIRMWARE 8
1.3 PROGRAMACIÓN Y OPERACIÓN DEL BIOS 10
1.4 LO QUE HAY DE NUEVO EN ESTA VERSIÓN 11
1.4.1 Resumen del historial 11
1.5 INSTALACIÓN DEL PROGRAMA 18
1.5.1 Requerimientos 18
1.5.2 Descarga y descompresión de archivos 18
1.6 CARGA DEL FIRMWARE PLCmDuino EN LA TARJETA Arduino 20
1.7 DETECCIÓN DEL BIOS DESDE MikroPLAN 25
1.8 PLCmDuino EN MODO DE EVALUACIÓN 29
1.9 TIPOS DE LICENCIAS 30
1.9.1 Licencia individual 30
1.9.2 Licencia genérica 30
1.10 MODALIDADES DE LICENCIAS 31
1.10.1 Licencia individual en la modalidad local 31
1.10.2 Licencia individual en la modalidad remota 31
1.10.3 Licencia individual en la modalidad distribuible 32
1.10.4 Licencia genérica en la modalidad local 33
1.10.5 Licencia genérica en la modalidad remota 33
1.10.6 Reprogramación del Arduino con su IDE original 33
1.11 GENERACIÓN DE LA SOLICITUD DE LICENCIA DE USO
DE PLCmDuino 34
1.11.1 Ejemplo de solicitud de licencia de uso de primera vez 35
1.11.2 Ejemplo de solicitud de licencia con referencia heredada 40
1.11.3 Ejemplo de solicitud de licencia de uso compartido 43
1.12 RECEPCIÓN E INSTALACIÓN DEL ARCHIVO DE LICENCIAS 47
1.13 ACTIVACIÓN, CREACIÓN DE CÓDIGOS Y VINCULACIÓN DEL BIOS 49
1.13.1 Licencia individual local 50
1.13.2 Licencia individual remota 54
1.13.3 Licencia individual distribuible 58
1.13.3 Licencia genérica local 67
1.13.4 Licencia genérica remota 68
1.14 PROGRAMACIÓN DE ARDUINO UTILIZANDO UNA LICENCIA 69

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
3

CAPÍTULO 2. PROGRAMACIÓN CON DIAGRAMAS DE ESCALERA 71


2.1 CAPTURA DE UNA RED DE ARRANQUE Y PARO 71
2.2 ASIGNACIÓN DE ENTRADAS Y SALIDAS 75
2.3 GUARDADO DEL PROGRAMA 81
2.4 SIMULACIÓN DEL PROGRAMA EN KOP 82
2.5 CIRCUITO DE PRUEBA CON LA TARJETA ARDUINO PARA EL PROGRAMA
DE ARRANQUE Y PARO 87
2.6 CARGA DEL PROGRAMA EN LA TARJETA ARDUINO 88

CAPÍTULO 3. PROGRAMACIÓN CON DIAGRAMAS DE CIRCUITOS


LÓGICOS 95
3.1 CAPTURA DE LOS COMPONENTES DEL DIAGRAMA 95
3.2 ALAMBRADO DE LOS COMPONENTES 100
3.3 ETIQUETADO DE LAS TERMINALES 103
3.4 ASIGNACIÓN DE PUERTOS DE ENTRADA Y SALIDA 104
3.5 CONFIGURACIÓN DE LOS PINES DE ARDUINO 104
3.6 GUARDADO DEL DOCUMENTO 105
3.7 SIMULACIÓN DEL FUNCIONAMIENTO DEL CIRCUITO 105
3.8 CIRCUITO DE PRUEBA CON LA TARJETA ARDUINO 108
3.9 CARGA DEL PROGRAMA EN LA TARJETA ARDUINO 109

CAPÍTULO 4. PROGRAMACIÓN CON DIAGRAMAS DE FLUJO 116


4.1 CAPTURA DE LOS BLOQUES DEL DIAGRAMA 116
4.2 CONEXIONADO DE LOS BLOQUES 120
4.3 INTRODUCCIÓN DE DATOS 121
4.4 CONFIGURACIÓN DE PINES 122
4.5 GUARDADO DEL DOCUMENTO 122
4.7 SIMULACIÓN DEL PROGRAMA 123
4.8 CIRCUITO DE PRUEBA CON LA TARJETA ARDUINO 126
4.9 CARGA DEL PROGRAMA EN LA TARJETA ARDUINO 126

CAPÍTULO 5. CARACTERÍSTICAS ADICIONALES DE MikroPLAN 133


5.1 CONTROL DEL PROGRAMA CARGADO EN ARDUINO 133
5.1.1 Detención del programa 133
5.1.2 Corrida del programa 134
5.1.3 Borrado del programa 135

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
4

5.1.4 Paro forzado al arranque 136


5.2 CONEXIÓN DE MikroPLAN Y PLCmDuino VÍA BLUETOOTH 139
5.2.1 Emparejamiento de dispositivos Bluetooth 141
5.3 SIMULACIÓN DE PERIFÉRICOS 145
5.3.1 El ADC (Analog to Digital Converter – Convertidor Analógico a Digital) 145
5.3.2 El receptor infrarrojo (Infrared receiver) 150

CAPÍTULO 6. CARACTERÍSTICAS DEL BIOS 155


6.1 MARCAS ESPECIALES 155
6.1.1 Marca de ejecución continua 155
6.1.2 Marca de primer ciclo 155
6.1.3 Marca de reloj de 1 minuto 156
6.1.4 Marca de reloj de 1 segundo 156
6.1.5 Marca de conmutación de ciclo 156
6.2 REGISTROS IMAGEN DE LAS ENTRADAS 156
6.3 REGISTROS IMAGEN DE LAS SALIDAS 156
6.4 REGISTROS EN MEMORIA 157
6.5 CONTADORES 157
6.6 TEMPORIZADORES 157
6.7 PILA 157
6.8 JUEGO DE INSTRUCCIONES AWL 157

CAPÍTULO 7. PLCmDuino Y MobilePorts 160


7.1 INSTALACIÓN DE MobilePorts EN UN TELÉFONO MÓVIL 160
7.2 EMPAREJAMIENTO DEL MÓDULO BLUETOOTH CON EL MÓVIL 163
7.3 CONTROL DEL PROGRAMA EN PLCmDuino DESDE MobilePorts 165
7.3.1 Conexión de MobilePorts con PLCmDuino 165
7.3.2 Arranque, paro y estado de un programa desde MobilePorts 168

CAPÍTULO 8. PLCmDuino Y LabVIEW 173


8.1 INSTALACIÓN DE LA PALETA PLCmDuino DACQS 173
8.2 ACCESO A PLCmDuino DESDE LabVIEW 177
8.2.1 Corrida del instrumento virtual 184
8.3 ESCRITURA DE UN BIT A UN PUERTO DE SALIDA 185
8.4 ESCRITURA DE UN BYTE A UN PUERTO DE SALIDA 188
8.5 ESCRITURA DE UNA PALABRA A UN PUERTO DE SALIDA 190

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
5

8.6 LECTURA DE UN BIT DE UN PUERTO DE ENTRADA 191


8.7 LECTURA DE UN BYTE DE UN PUERTO DE ENTRADA 193
8.8 LECTURA DE UNA PALABRA DE UN PUERTO DE ENTRADA 194
8.9 LECTURA DE UN CANAL ANALÓGICO 196

CAPÍTULO 9. PLCmDuino Y FluidSIM 198


9.1 PREPARACIÓN DE FluidSIM PARA LA COMUNICACIÓN CON MikroPLAN 200
9.2 ADQUISICIÓN DE DATOS Y SEÑALIZACIÓN CON PLCmDuino DESDE
FluidSIM 202
9.2.1 Preparación de FluidSIM como maestro 202
9.2.2 Preparación de PLCmDuino como esclavo 206
9.2.3 Activación de MikroPLAN como interfaz de comunicación 207
9.3 CONTROL DE PROTOTIPOS VIRTUALES EN FluidSIM DESDE PLCmDuino 212
9.3.1 Preparación de FluidSIM como esclavo 212
9.3.2 Preparación de PLCmDuino como maestro 214
9.3.3 Activación de MikroPLAN como interfaz de comunicación 217
9.4 CONTROL DE PROTOTIPOS VIRTUALES EN FluidSIM DESDE MikroPLAN 221
9.4.1 Preparación de FluidSIM como esclavo 221
9.4.2 Activación de MikroPLAN como maestro 221

CAPÍTULO 10. PLCmDuino Y SIMATIC STEP7 227


10.1 ADQUISICIÓN DE DATOS Y SEÑALIZACIÓN DIGITAL 227
10.1.1 Preparación de S7-PLCSIM 228
10.1.2 Circuito para la señalización y adquisición de datos 232
10.1.3 Preparación de JOGATECHConex 234
10.1.4 Corrida del programa en S7-PLCSIM y comunicación con Arduino 238

CAPÍTULO 11. CONTROL DE MOVIMIENTO 243


11.1 INTRODUCCIÓN 243
11.2 CONFIGURACIÓN DE PINES PARA EL ACCIONAMIENTO DE MOTORES 247
11.3 CADENA DE CONFIGURACIÓN 248
11.3.1 Ejemplos 249
11.4 ACCIONAMIENTO DE DOS MOTORES A PASOS 251
11.5 ACCIONAMIENTO DE DOS SERVOMOTORES Y UN MOTOR A PASOS 254

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
6

CAPÍTULO 12. CONTROL DE PROTOTIPOS VIRTUALES EN 3D 257


12.1 INTRODUCCIÓN 257
12.2 DEFINICIÓN DE LA ESTRATEGIA DE AUTOMATIZACIÓN 259
12.3 CREACIÓN DEL PROGRAMA DE CONTROL 260
12.4 CREACIÓN DEL PROTOTIPO 262
12.4.1 Adición de la banda transportadora 264
12.4.2 Adición de dos postes 267
12.4.3 Adición del detector de cruce 269
12.4.4 Adición de la unidad de trabajo 270
12.4.5 Adición de interacciones 271
12.4.6 Definición de las conexiones de la banda 285
12.4.7 Definición de la conexión del detector de cruce 287
12.5 CREACIÓN DEL PANEL DE CONTROL 287
12.6 CORRIDA DE LA SIMULACIÓN 290
12.7 EDICIÓN DE MODELOS DE COMPONENTES 296
12.7.1 Creación del modelo 296
12.7.2 Guardado del modelo 302
12.7.3 Manipulación del modelo 303
12.8 INCLUSIÓN DEL MODELO EN LA ESTRATEGIA DE AUTOMATIZACIÓN 305
12.9 CORRIDA DE LA ESTRATEGIA 312

CAPÍTULO 13. MikroPLAN y FACTORY I/O 315


13.1 PREPARACIÓN DE FACTORY I/O 317
13.2 ENLACE AL SERVIDOR DE FACTORY I/O UTILIZANDO COMO CLIENTE
LA SIMULACIÓN DEL PROGRAMA DEL USUARIO 322
13.3 ENLACE AL SERVIDOR DE FACTORY I/O UTILIZANDO COMO CLIENTE
LA TARJETA ARDUINO CON EL BIOS PLCmDuino 329
13.4 ENLACE AL SERVIDOR DE FACTORY I/O UTILIZANDO COMO CLIENTE
CUALQUIER DISPOSITIVO PROGRAMABLE EN UN PUERTO COM 337

CAPÍTULO 14. PLCmDuino SIN Arduino 346

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
7

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 la tarjeta Arduino UNO o MEGA 2560 en los siguientes lenguajes:

- KOP (kontaktplan – esquema de contactos) es un lenguaje gráfico también


conocido como lenguaje de escalera (ladder). La versión de MikroPLAN 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). Es un lenguaje textual que


utiliza mnemónicos que representan los boques que se utilizan en KOP

- HDLduino Es un lenguaje textual basado en 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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
8

- 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. El editor gráfico permite la inclusión en el
diagrama del usuario de de compuertas lógicas, flip-flops y también de algunos
dispositivos TTL (Transistor Transistor Logic – Lógica Transistor Transistor)
como contadores, multiplexores, etc.

- FCH (Flow Chart). Es un lenguaje gráfico basado en las diagramas de flujo


estándar.

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 el lenguaje gráfico de su elección.

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 los lenguajes DGC o HDLduino, su tarjeta deberá alojar el BIOS
GATES correspondiente. Finalmente, si el usuario desea programar la tarjeta

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
9

Arduino con diagramas de flujo, deberá cargarle el BIOS FCHART.

Los archivos HEX para las versiones del BIOS de las tarjetas Arduino UNO y
MEGA que se incluyen en el paquete, se generaron con la versión 1.6.5 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 figuras 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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
10

Figura 1.2. Tarjeta Arduino MEGA 2560

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, DGC y FCH. 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 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, DGC y FCH soportados por MikroPLAN.
También se explica cómo utilizar la tarjeta Arduino con el BIOS PLCmDuino para
realizar operaciones de adquisición de datos y señalización digital desde
LabVIEW, FluidSIM y de la aplicación móvil MobilePorts. Esta aplicación permite
interactuar desde tu móvil con el programa que hayas cargado en tu Arduino con
MikroPLAN mediante un enlace Bluetooth.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
11

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; de circuitos lógicos o
de diagramas de flujo, y a través de MikroPLAN, comunicarse con FluidSIM para
controlar el prototipo virtual de algún sistema neumático implementado en esta
plataforma o en 3D utilizando el editor de prototipos virtuales de MikroPLAN.

1.4 LO QUE HAY DE NUEVO EN ESTA VERSIÓN


Paquete ProyexDuino_20210727
- MikroPLAN 2021.18
* Se depuró la activación de motores a pasos a nivel simulación
* Se eliminó el comando DISPLAY en la lista de conexiones
* Se incluyó el escalamiento de modelos virtuales
* Se depuró el manejo de ventanas para los controladores de robots y
componentes multieje
* Se depuró el proceso de adición de componentes virtuales

1.4.1 Resumen del historial


Paquete ProyexDuino_20210714
- MikroPLAN 2021.12
* Se agregaron las clases “PLANO INCLINADO” y “VENTOSA”.
* Se agregaron características adicionales a la clase “ANILLO”
* En las interacciones sólo basta definir a los elementos actuadores.
* Se incorporó el accionamiento de hasta 6 motores a pasos mediante el driver
A4988 en las rutinas de control de movimiento para los tres lenguajes de
programación.
* Se permite el control de modelos virtuales con ensambles diferentes.
* Se mejoró el manejo de las ventanas de edición de un proyecto y de
componentes desde la ventana principal de MikroPLAN.
* Se agregó la funcionalidad HIL (Hardware-In-The-Loop) a la bobina NOP

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
12

para que una aplicación en KOP interactúe en tiempo real con un dispositivo
programable conectado a un puerto de comunicación serial.
* Se incorporó la función “Importar/Exportar prototipo” en el menú principal de
la aplicación. Esto permite compartir prototipos virtuales entre proyectos
realizados con los diferentes lenguajes de programación que soporta
MikroPLAN.
* Se depuró un error de conectividad entre prototipos virtuales y estrategias de
control con circuitos digitales.
* Se agregó la selección de componentes desde la ventana de presentación
visual del prototipo virtual.
- PLCmDuino
* Se incorporaron las modificaciones de las rutinas de control de movimiento
para soportar el driver A4988 en todas las versiones del BIOS para las
tarjetas Arduino UNO y MEGA.

Paquete ProyexDuino_20210211
- MikroPLAN 2021.02
* Los sensores de cruce y de proximidad en los prototipos virtuales pueden
detectar cualquier objeto en una escena sin necesidad de definir
explícitamente la interacción de esos sensores con cada uno de los objetos.
* En la interacción de los prototipos en MikroPLAN con otros controladores a
través del puerto COM, se corrigió la omisión de cerrarlo al terminar la corrida
de la simulación.

Paquete ProyexDuino_20210117
- MikroPLAN 2021.01
* Se añadió el registro de conexiones para la clase MOTOR_POLEA
* Se mejoró la función de selección de caras en el editor de prototipos

Paquete ProyexDuino_20201125
- MikroPLAN 2020.25

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
13

* Se depuraron algunos errores de fase en el editor de diagramas de flujo

Paquete ProyexDuino_20201122
- MikroPLAN 2020.24.
* Permite enlazar en tiempo real el BIOS PLCmDuino y cualquier dispositivo
en algún puerto COM con servidores ModBus TCP/IP.
* Se depuró un error de compatibilidad entre la simulación de diagramas en
KOP con su correspondiente implementación con la máquina virtual.
- JOGATECHConex 2020.03
* Se eliminó la opción de comunicación que había desde Arduino hacia la
aplicación FACTORY I/O ya que ésta se introdujo en la nueva versión de
MikroPLAN.

Paquete ProyexDuino_20201106
- MikroPLAN 2020.20
* Soporta comunicación con servidores ModBus TCP/IP durante la simulación
de estrategias de control realizadas con cualquiera de los lenguajes gráficos
que soporta MikroPLAN.
* Se agregaron botones de acceso rápido para compilar aplicaciones de
control para prototipos en FluidSIM y servidores ModBus.

Paquete ProyexDuino_20200906
- JOGATECHProyex 2020.05
* Soporta la creación de licencias a partir de archivos de concesión

Paquete ProyexDuino_20200816
- JOGATECHProyex 2020.04
* Soporta la nueva modalidad de licencia DISTRIBUIBLE
- MikroPLAN 2020.16
* Adaptación del software al nuevo tipo de licencia
* Instructivo para el nuevo tipo de licencia

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
14

Paquete ProyexDuino_20200708
- JOGATECHConex 2020.02
* Se actualizaron todas las versiones del BIOS para las tarjetas Arduino UNO y
MEGA para hacerlas compatibles con la nueva versión de
JOGATECHConex.

Paquete ProyexDuino_20200719
- MikroPLAN 2020.14
* Se depuraron errores en el compilador de diagramas de flujo.
Se corrigieron algunos errores de sintaxis en los mensajes de error e
información.
Por compatibilidad para futuras aplicaciones, se cambió el nombre de la
aplicación STEPControl a JOGATECHConex.

Paquete ProyexDuino_20200714
- MikroPLAN 2020.12
* Se depuró un error en el temporizador del manejador de licencias remotas
que no permitía mantener la validez de la licencia por un tiempo fijo.

Paquete ProyexDuino_20200713
- MikroPLAN 2020.11
* En MikroPLAN se depuró un error en el control de prototipos virtuales desde
estrategias de control con diagramas de circuitos digitales.
Se incorporó la aplicación STEPControl V2020.01 a la familia de programas
ProyexDuino que permite la adquisición y señalización digital desde las
versiones 5.5 y 5.6 de STEP7 MicroWin.

Paquete ProyexDuino_20200626
- MikroPLAN 2020.10
* Se depuró un error de fase en la compilación de circuitos digitales.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
15

Paquete ProyexDuino_20200611
- MikroPLAN 2020.09
* Se mejoró la base de tiempo de MikroPLAN para hacer las velocidades más
precisas en los prototipos virtuales durante las corridas de simulación.

Paquete ProyexDuino_20200311
- MikroPLAN 2020.8
* Se mejoraron las rutinas de control de movimiento para los lenguajes KOP y
DGC.

Paquete ProyexDuino_20200224
- MikroPLAN 2020.7
* Se optimizó el procedimiento de acceso al sistema remoto de licencias

Paquete ProyexDuino_20200221
- MikroPLAN 2020.6
* Se aumentó la velocidad de corrida de la simulación de los prototipos
virtuales
* Se mejoró la simulación de la programación de movimientos lineales en la
muñeca del robot
* Se simplificaron las condiciones de interacciones entre objetos
* Se cambió la presentación de parámetros para la adición de componentes
virtuales

Paquete ProyexDuino_20200204
- MikroPLAN 2020.2
* En lo que respecta a los prototipos virtuales, se añadió en la ventana de
“Recursos” la opción de “Ensambles” lo que permite simular distintos tipos de
acoplamientos entre componentes.

Paquete ProyexDuino_20200110

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
16

- MikroPLAN 2020.1
* Se añadió un editor de componentes que permiten al usuario crear modelos
virtuales de dispositivos mecatrónicos que se pueden incorporar a las
estrategias de automatización.
* Se actualizaron todas las versiones del BIOS.

Paquete ProyexDuino_20191209
- MikroPLAN 2019.2
* Se añadió la programación de Arduino mediante diagramas de flujo en el IDE
de MikroPLAN con el firmware FCHART para las versiones UNO y MEGA de
la tarjeta Arduino
* Se añadió un editor de prototipos virtuales en 3D que pueden interaccionar
con programas de control utilizando los tres lenguajes gráficos de
MikroPLAN: diagramas de escalera; de circuitos lógicos y de flujo
* Se incluyen dos tipos de licencia: individual y genérica
* Se redujeron las modalidades LOCAL y REMOTA para los tipos de licencias

Paquete ProyexDuino_20190311
- MikroPLAN 2019.1
* 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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
17

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.

Paquete ProyexDuino_20181022
- MikroPLAN 2018.9
* 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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
18

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. Finalmente, se depuró un error de secuencia lógica
que sucedía únicamente en el simulador de KOP al conectar contactos NOT.
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

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
- Versión redistribuible 2010 o más reciente de Visual Studio
- Framework .NET versión 3.5

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:

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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
19

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

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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
20

Y crea un acceso directo desde el escritorio. Eso es todo.

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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
21

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”

3. En el menú principal, selecciona la opción “Firmware”->”Cargar …”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
22

4. Aparecerá el siguiente cuadro de diálogo

Lee cuidadosamente el texto. Si es la primera vez que vas a cargar algún firmware

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
23

JOGATECH y tu tarjeta cumple con los requerimientos que se mencionan en el


apartado I, 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

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


Número de
Lenguajes
Tarjeta Firmware Versión Versión
soportados
genérica Actual
PLCmDuino UNO R3 LADDER LADDER 5.10 AWL, KOP

Arduino HDLduino,
PLCmDuino UNO R3 GATES GATES 2.30
UNO R3 DGC

PLCmDuino UNO R3 FCHART FCHART 1.30 FCH

PLCmDuino MEGA 2560 LADDER LADDER 5.10 AWL, KOP


Arduino HDLduino,
PLCmDuino MEGA 2560 GATES GATES 2.30
MEGA 2560 DGC
PLCmDuino MEGA 2560 FCHART FCHART 1.30 FCH

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
24

7. Oprime “Cargar”. Aparecerá otro cuadro de diálogo

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 está


intentando detectar el BIOS que se cargó

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
25

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

8. 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 puedas acceder a él también desde

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
26

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

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:

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
27

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.

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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
28

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

Y PLCmDuino responderá como lo hizo con JOGATECHProyex y como se


muestra a continuación.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
29

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.

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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
30

se explica ahí se aplica tanto para cuando tienes una licencia o cuando trabajas en
modo evaluación.

1.9 TIPOS 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 obtenerla necesitas
generar una solicitud de licencia. Se trata de un archivo que creas desde la
aplicación JOGATECHProyex y que deberás enviar al autor del programa para
que te proporcione como respuesta un archivo de licencia. Más adelante se
describe el procedimiento para generación de la solicitud. A partir de esta versión,
las licencias se clasifican en dos tipos:
- Individual
- Genérica

1.9.1 Licencia individual


La licencia individual te permitirá programar una sola tarjeta Arduino o varias
tarjetas de un solo modelo para el caso de la modalidad DISTRIBUIBLE. Por
ejemplo, si solicitas una licencia para utilizar el BIOS PLCmDuino LADDER en una
tarjeta Arduino MEGA 2560, solamente te será útil para programar esa tarjeta con
esa versión del BIOS y no para otra, aún del mismo modelo.

1.9.2 Licencia genérica


Este tipo de licencia te permitirá programar un número ilimitado de tarjetas Arduino
para una versión genérica del BIOS (LADDER, GATES o FCHART)
independientemente del modelo de tarjeta (UNO o MEGA 2560). Por ejemplo, si
solicitaste una licencia para programar el Arduino con diagramas de flujo, podrás
programar cualquier tarjeta, ya sea UNO R3 o MEGA 2560 que tenga cargado el
firmware PLCmDuino FCHART correspondiente.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
31

Para cualquier tipo, sin embargo, la licencia te permitirá programar las tarjetas
Arduino únicamente desde la computadora que utilizaste para generar la solicitud
de licencia.

1.10 MODALIDADES DE LICENCIAS


Para cada uno de los tipos de licencia, hay dos modalidades: local y remota.
Además, a partir de la versión 2020.04 de JOGATECHProyex, se incorpora la
modalidad distribuible.

Para el caso de la licencia individual, las tres modalidades se aplican para cada
una de las seis versiones del BIOS de la tabla 1.1.

Para el caso de la licencia genérica, las dos modalidades se aplican para los tres
géneros de firmware soportados por MikroPLAN: LADDER, GATES y FCHART.

1.10.1 Licencia individual en la modalidad local


La modalidad local en este tipo de licencia te permitirá cargar programas en la
memoria no volátil de una sola tarjeta Arduino de forma indefinida y para una sola
versión del BIOS. Siempre y cuando en ella prevalezcan los códigos de activación
y vinculación que se generaron cuando realizaste estos procesos tras recibir la
licencia. Además, podrás programarla SOLAMENTE 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. No soporta actualizaciones del BIOS.

1.10.2 Licencia individual en la modalidad remota


La licencia remota te permitirá cargar programas en la memoria no volátil de tu
tarjeta Arduino durante un período especificado de 28 días naturales (4 semanas)

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
32

como mínimo. 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 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.
Esta modalidad soporta actualizaciones del BIOS.

1.10.3 Licencia individual en la modalidad distribuible


Esta modalidad permite que desde una cuenta en línea se puedan activar en
forma local la cantidad de tarjetas Arduino que el cliente desee. Una vez que se
activa cada tarjeta, ésta puede vincularse a cualquier equipo distinto al que se
utilizó para generar la cuenta, con el propósito de que dicha tarjeta pueda
programarse en esa computadora a través de una licencia individual local.
Para solicitar una licencia de este tipo, se debe seleccionar la versión BIOS que se
utilizará en todas las tarjetas; el modelo de tarjeta (UNO R3 o MEGA 2560) y la
cantidad de activaciones que se registrarán en la cuenta del usuario.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
33

1.10.4 Licencia genérica en la modalidad local


La modalidad local para este tipo de licencia te permitirá programar CUALQUIER
tarjeta Arduino UNO o MEGA 2560 para un mismo género del BIOS pero
SOLAMENTE desde la computadora que se utilizó para generar la solicitud de
primera vez. La vigencia de la licencia es ilimitada. No requiere conexión a Internet
y soporta actualizaciones del BIOS.

1.10.5 Licencia genérica en la modalidad remota


La modalidad remota para este tipo de licencia te permitirá programar
CUALQUIER tarjeta Arduino UNO o MEGA 2560 para un mismo género del BIOS
pero SOLAMENTE desde la computadora que se generó la solicitud de primera
vez. Se requiere conexión a Internet cada vez que vayas a programar el Arduino
para verificar la vigencia del acceso de la licencia según el período que hayas
elegido. Soporta actualizaciones del BIOS.

1.10.6 Reprogramación del Arduino con su IDE original


Si adquieres una licencia individual local, YA NO SERÁ POSIBLE programar tu
Arduino con su IDE original. De hacerlo, se destruirán la activación y vinculación
del BIOS y no podrán recuperarse. La licencia ya no será útil y sólo podrás
programarla con MikroPLAN en modo evaluación.

Si adquieres una licencia individual remota, el reprogramar el Arduino con su IDE


original, podría dañar su código de activación, por lo cual, a menos que tengas
activaciones disponibles en tu cuenta, la activación original ya no podrá
recuperarse y la licencia ya no será útil. Sólo podrás programarla con MikroPLAN
en modo evaluación.

Si adquieres una licencia genérica, en cualquiera de sus modalidades, puedes


seguir programando tu Arduino con su IDE original.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
34

1.11 GENERACIÓN DE LA SOLICITUD DE LICENCIA DE USO DE


PLCmDuino
Como ya se había comentado anteriormente, para obtener una licencia para
programar cualquiera de las versiones del firmware en sus diferentes tipos y
modalidades, necesitas generar una solicitud de licencia de uso. É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:

jogatech.mi@gmail.com

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 versiones del BIOS disponibles,
te será útil para programarla únicamente desde el equipo de cómputo que
utilizaste para generar la solicitud. Hay tres tipos de licencias:

1. Solicitud de Licencia de uso de primera vez. Se requiere cuando necesitas


una licencia para programar por primera vez la nueva copia del firmware o del
BIOS PLCmDuino que cargaste en tu tarjeta Arduino. 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 y desde el cual únicamente se podrá programar la
tarjeta. Ésta solicitud se aplica para ambos tipos de licencia (individual o
genérica) y para cualquiera de sus modalidades.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
35

2. Solicitud de licencia con referencia heredada. Se requiere cuando deseas


programar tu tarjeta con diferentes géneros del BIOS pero utilizando una misma
tarjeta. A través de esta opción, JOGATECHProyex importa el código de
referencia de una licencia válida del BIOS y lo hereda a la solicitud de licencia
para la nueva versión del BIOS que vas a utilizar. Esta solicitud se aplica para la
licencia individual remota únicamente.

3. Solicitud de licencia de uso compartido. Se requiere cuando deseas


programar tu tarjeta 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. Esta
solicitud se aplica únicamente para la licencia individual en sus dos
modalidades.

Para generar una solicitud para cualquier tipo de licencia y para cualquier
modalidad, no se requiere conexión a Internet.

1.11.1 Ejemplo de solicitud de licencia de uso de primera vez


Este procedimiento se aplica para generar una solicitud de licencia para ambos
tipos de licencia: individual o genérica. En el ejemplo que sigue se generará una
solicitud de licencia individual de primera vez para utilizar la versión del BIOS
“PLCmDuino UNO R3 LADDER” utilizando la modalidad local.

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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
36

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


JOGATECH para el cual deseas solicitar la licencia de uso

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
37

OBSERVACIONES
a. Para las licencias individuales, selecciona el catálogo “BIOS”. Para las licencias
genéricas selecciona el catálogo “Software”. En este último caso, las licencias
genéricas LADDER, GATES y FCHART corresponden a los productos
MikroPLAN_LADDER, MikroPLAN_GATES y MikroPLAN_FCHART
respectivamente

b. Para las licencias genéricas NO se requiere conectar tarjeta alguna a la PC

5. En “Productos”, selecciona la opción “PLCmDuino_UNO_R3_LADDER”. La caja


de opciones “Modalidad” cambiará como se muestra

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
38

6. En “Modalidad”, asegúrate que esté seleccionada la opción “LOCAL”. 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”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
39

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


deseas guardar el archivo. Si lo deseas, puedes guardarlo en la carpeta
“c:\ProyexDuino\Solicitudes”. Después oprime “Guardar”

9. Aparecerá finalmente el cuadro

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
40

1.11.2 Ejemplo de solicitud de licencia con referencia heredada


En el ejemplo que sigue se generará una solicitud para una licencia individual
remota del BIOS “PLCmDuino UNO R3 GATES” a partir de una licencia individual
remota para el BIOS “PLCmDuino UNO R3 LADDER”.

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
41

3. Aparecerá el 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

5. Selecciona la otra versión del BIOS y la modalidad con la cual podrás acceder
utilizando el mismo código de activación de tu tarjeta. Sólo recuerda que la
modalidad de la nueva licencia debe ser la misma que para la licencia que ya
tienes; esto es; la modalidad también debería ser remota.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
42

6. Oprime “Generar”. Aparecerá el cuadro de diálogo

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
43

7. Oprime “Guardar”. Aparecerá el cuadro de diálogo

1.11.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 individual para la versión del BIOS “PLCmDuino
UNO R3 LADDER” en su modalidad local en una computadora (computadora
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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
44

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”

7. Aparecerá el cuadro de diálogo

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
45

8. Oprime “Sí”. Si la referencia de la clave de activación está registrada en la


licencia actual, aparecerá el mensaje

9. Oprime “Aceptar”. Aparecerá el cuadro de diálogo

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
46

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

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
47

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.12 RECEPCIÓN E INSTALACIÓN DEL ARCHIVO DE LICENCIAS


A partir de la versión 2020.05, JOGATECHProyex soporta la generación local de
una licencia a partir de un archivo llamado concesión de licencia el cual es enviado
al cliente por parte del desarrollador. Para esto hay que seguir los siguientes
pasos.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
48

1. Entra a JOGATECHProyex y selecciona la opción “Licencias”->”Generar


licencia desde archivo de concesión …”

2. Aparecerá un cuadro de diálogo. Ubica y selecciona el archivo de concesión


(extensión jhc)

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
49

3. Si no hubo error al cargar el archivo, aparecerá el mensaje

4. Oprime “Sí”. Si no hubo error, aparecerá el mensaje

Oprime “Aceptar”.

1.13 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 de licencias 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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
50

Dependiendo de la licencia que solicitaste, deberás realizar alguna de las acciones


que se describen a continuación cuando recibas el archivo de concesión de
licencia. Sin embargo, antes de acceder al selector de licencias, asegúrate de
tener instalada al menos la versión redistribuible de Visual Studio 2010, pues se
puede producir puede un error interno en las aplicaciones JOGATECHProyex o
MikroPLAN el cual podrá originar que alguna de ellas se cierre.

1.13.1 Licencia individual local


El selector de licencias tendrá la apariencia que se muestra

OBSERVACIONES
a. 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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
51

activado con el código de referencia que aparece en la tercera columna de la


lista de licencias disponibles

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

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

d. 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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
52

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
53

2. Aparecerá el cuadro de diálogo

3. Oprime “Vincular”. Después de detectarse la tarjeta, aparecerá el cuadro de


diálogo

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
54

4. Oprime “Sí”. Se realizará la vinculación

1.13.2 Licencia individual remota


El selector de licencias tendrá la apariencia que se muestra

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
55

Para programar el BIOS con esta licencia, no se requiere activarlo. Sin embargo,
cada vez que desees programar tu tarjeta Arduino con MikroPLAN, la aplicación
accederá a Internet para verificar si el acceso a la programación es aún vigente.
Además se comprobará si tu tarjeta tiene un código de activación válido.

Vigencia y activaciones
Puedes checar esto último haciendo clic en el pulsador “Vigencia y activaciones”

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

b. La vigencia de acceso para las licencias remota es de 28 días (4 semanas)


cada vez que se solicita. Pasado el tiempo de acceso, las activaciones que aún
no hayas utilizado se perderán por lo que el contador de activaciones se pondrá
en 0.

c. La obtención de un código de activación adicional tiene el costo que se


especifica en el blog desde el que descargaste el paquete

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
56

Activación remota del BIOS


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 con este tipo de licencia. Una vez que hayas solicitado activaciones
disponibles, puedes activar una tarjeta en forma remota cada vez. 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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
57

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
58

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.13.3 Licencia individual distribuible


El selector de licencias tendrá la apariencia que se muestra

Como ya se había comentado antes, a través de esta licencia puedes activar la


cantidad de tarjetas Arduino para que puedas programarla a través de una licencia
individual local en una computadora distinta a la que se utilizó para generar la

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
59

solicitud de licencia. Por tanto, esta licencia sólo te servirá para activar una tarjeta
Arduino cada vez pero no para programar el BIOS de esa tarjeta, aun la misma
tarjeta que utilizaste para generar la solicitud de licencia. De hecho, esa tarjeta
también tendrá que activarse.

Vigencia y activaciones
Supongamos que solicitaste una licencia distribuible con 20 activaciones. Al hacer
clic en el botón “Vigencia y activaciones” aparecerá el cuadro de diálogo

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

b. La vigencia de acceso para las licencias remota es de 28 días (4 semanas)


cada vez que se solicita. Pasado el tiempo de acceso, las activaciones que aún
no hayas utilizado se perderán por lo que el contador de activaciones se pondrá
en 0.

c. La obtención de un código de activación adicional tiene el costo


correspondiente a una licencia individual local.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
60

Activación remota del BIOS


Cuando solicitas por primera vez una licencia distribuible, se crea un código de
activación en tu tarjeta y se registran en tu cuenta la cantidad de códigos de
activación que hayas solicitado. Para activar el BIOS desde esta licencia sigue los
siguientes pasos.

1. Conecta la tarjeta Arduino con el BIOS que deseas activar.

2. Realiza una detección del BIOS y selecciona la licencia distribuible. Luego haz
clic en el botón “Activar remotamente”. 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”. Si la tarjeta que vas a activar es la que utilizaste para generar
la solicitud, aparecerá el mensaje

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
61

3. Oprime “Si”. Aparecerá el cuadro de diálogo

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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
62

OBSERVACIÓN
En caso de que el servidor no responda con la actualización correcta de datos,
JOGATECHProyex mostrará el cuadro de diálogo

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.

6. Oprime “Aceptar”. Se realizarán los dos pasos de activación de la tarjeta tal


como se realiza para la activación local. Al terminar el proceso, aparecerá el
mensaje

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
63

7. Oprime “Aceptar”. Aparecerá el mensaje

8. Oprime “Aceptar”. Aparecerá un mensaje con un código

Anota la clave que aparece ahí, con números y guiones. Este será el código
que se utilizará en el proceso de vinculación que se describe a continuación
para generar la licencia local en la computadora que se utilizará para programar
la tarjeta.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
64

Vinculación del BIOS


Cuando se activa una tarjeta con una licencia distribuible, se requiere vincularla
también a la computadora que se va a utilizar para programarla. Ésta puede ser
incluso distinta a la computadora que se utilizó para solicitar la licencia de
distribuible. Para ello sigue los siguientes pasos.
1. Conecta la tarjeta Arduino que activaste remotamente a través de la licencia
distribuible a la computadora que vas a utilizar para programarla.

2. Entra a JOGATECHProyex y elige la opción “Firmware”->”Vincular a este


equipo …”

3. Aparecerá un cuadro de diálogo. Introduce el puerto COM que utilizará la


aplicación para comunicarse con la tarjeta Arduino que activaste remotamente

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
65

4. Oprime “Vincular”. Aparecerá el mensaje

5. Oprime “Aceptar”. Aparecerá el mensaje

6. Oprime “Sí”. Aparecerá una ventana solicitando que introduzcas el ID de


vinculación que te proporcionó la aplicación cuando concluyó la activación
remota de la tarjeta. Introduce el código tal como se te proporcionó con
números y guiones medio.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
66

7. Oprime “Aceptar”. Aparecerá el mensaje

8. Oprime “Aceptar”. Aparecerá el mensaje

9. Oprime “Aceptar”. JOGATECHProyex se cerrará. Entra nuevamente a la


aplicación y haz clic “Licencias”->”Seleccionar …”. Aparecerá la licencia en la
modalidad local con la cual podrás programar tu tarjeta desde MikroPLAN.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
67

1.13.4 Licencia genérica local


El selector de licencias tendrá la apariencia que se muestra

Para este tipo de licencia, no necesitas realizar los procesos de activación y


vinculación de tu Arduino. Simplemente cuando desees programar alguna tarjeta
desde MikroPLAN, se creará una clave para acceder al BIOS con el propósito de
que la memoria no volátil de tu Arduino UNO o MEGA pueda programarse.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
68

1.13.5 Licencia genérica remota


El selector de licencias tendrá la apariencia que se muestra.

Para este tipo de licencia, tampoco necesitas realizar los procesos de activación y
vinculación. Simplemente cuando desees programar tu tarjeta desde MikroPLAN,
la aplicación accederá a Internet para verificar si tu acceso está vigente. En caso
de que esto sea así, se creará una clave para acceder al BIOS con el propósito de
que la memoria no volátil de tu Arduino UNO o MEGA pueda programarse.

Puedes consultar la vigencia de la licencia haciendo clic en el botón “Vigencia”.

ADVERTENCIAS

1. Después de que hayas activado y vinculado el BIOS con una licencia


individual LOCAL o mediante una licencia DISTRIBUIBLE, 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.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
69

2. Si tienes una tarjeta activada o vinculada mediante una licencia individual,


NO la programes mediante una licencia genérica. De hacerlo, la tarjeta
podrá ser programada después únicamente mediante la licencia genérica
y ya no mediante la licencia individual

1.14 PROGRAMACIÓN DE ARDUINO UTILIZANDO UNA


LICENCIA
Una vez que tengas una licencia, podrás cargar programas con MikroPLAN en la
memoria no volátil de tu Arduino. Para ello la aplicación verificará si la licencia que
seleccionaste es la adecuada para programar tu tarjeta.

Si tienes una licencia en la modalidad local, la verificación se realizará de forma


inmediata. Si la modalidad de tu licencia es remota, se accederá a Internet para
verificar la vigencia de tu licencia. Si es aún vigente, se activará un temporizador
que permitirá el acceso a la programación de la memoria no volátil por espacio de
1 hora.

En caso de que la licencia no sea la adecuada o ya no esté vigente, la


programación se realizará en modo evaluación o MikroPLAN no te permitirá
programar la tarjeta. Si esto último ocurre, en esa aplicación deberás activar la
opción en el menú “Licencias“->Ignorar (Forzar modo evaluación)”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
70

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
71

CAPÍTULO 2

PROGRAMACIÓN CON
DIAGRAMAS DE ESCALERA

Para programar tu Arduino con diagramas de escalera, debes cargarle el firmware


PLCmDuino UNO R3 LADDER si tu tarjeta es Arduino UNO R3 o PLCmDuino
MEGA 2560 LADDER si es la Arduino MEGA 2560.

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
72

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

OBSERVACIÓN
Para visualizar más espacio de edición, puedes ocultar la barra de noticias,
oprimiendo “Noticias”->”Ocultar”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
73

4. Agrega después una bobina. Primero elije el grupo

Después selecciona la bobina

5. Agrega otro contacto en la parte inferior

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
74

6. Coloca el cursor en el primer contacto que agregaste y luego oprime

Se realizará la conexión hacia el contacto de abajo

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
75

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
76

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
77

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

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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
78

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 o en 3D a través de MikroPLAN. En este caso, a través de
I2, PLCmDuino puede monitorear el estado del prototipo virtual y con los bits de
Q2 puede accionarlo. En este caso, la tarjeta Arduino actúa como maestro y
FluidSIM o el prototipo virtual como esclavos y MikroPLAN como interfaz de
comunicación entre ambos

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

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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
79

OBSERVACIÓN
Puedes utilizar etiquetas para designar los bits para los pulsadores. En el editor
KOP oprime el botón “Puertos”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
80

Aparecerá un cuadro de diálogo. En la primera columna anota el identificador del


bit del puerto que vas a utilizar y en la segunda columna la etiqueta que deseas
utilizar para nombrar dicho bit

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
81

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
82

3. Ubica la carpeta y selecciona el nombre para el archivo. Después oprime


“Guardar”

2.4 SIMULACIÓN DEL PROGRAMA EN KOP


La simulación 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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
83

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

OBSERVACIONES
a. Por defecto, cuando creas o abres un archivo KOP, la tarjeta se configura a la
Arduino UNO R3
b. El tipo de tarjeta utilizado en la simulación es independiente del tipo de tarjeta

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
84

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á otro cuadro de diálogo informando el tamaño del


programa que ocupará en Arduino.

6. 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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
85

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
86

7. Oprime el pulsador I0.0

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)

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
87

9. Oprime el pulsador I0.1. Checa cómo se realiza el desenclave

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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
88

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. Antes de cargar algún programa en tu tarjeta, asegúrate que puedas detectarla
desde MikroPLAN. Sigue el procedimiento del apartado 1.7 “DETECCIÓN DEL
BIOS DESDE MikroPLAN”

2. Si tienes una licencia, haz clic en “Licencias”->”Seleccionar …” y elige la


correcta si tu licencia es individual

O genérica

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
89

En cualquiera de sus dos modalidades: local o remota.

3. Elige la opción del menú “PLCmDuino”->”Cargar programa”

También puedes cargar el programa oprimiendo

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
90

4. Se generará el código AWL del diagrama en KOP y si no tienes licencia alguna,


aparecerá el siguiente cuadro de diálogo

Oprime “Aceptar”. Aparecerá un cuadro de diálogo informándote sobre la


compilación

5. Oprime “Aceptar” para continuar. Se te informará el espacio ocupado por tu


estrategia de control

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
91

6. Oprime “Aceptar”. Se cargará el código del programa en la RAM de la tarjeta y


aparecerá el cuadro de diálogo

7. Por otro lado, si tienes una licencia local, aparecerá el cuadro de diálogo

8. Si tienes una licencia remota aparecerá el cuadro de diálogo

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
92

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

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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
93

OBSERVACIÓN
Si pudiste cargar el programa con una licencia remota, 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

11. 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 activaciones de
respaldo disponible

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

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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
94

14. Ahora bien si tu licencia ya expiró, aparecerá el mensaje

15. 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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
95

CAPÍTULO 3

PROGRAMACIÓN CON
DIAGRAMAS DE CIRCUITOS
LÓGICOS

Para programar tu Arduino con diagramas de circuitos lógicos, debes cargarle el


firmware PLCmDuino UNO R3 GATES si tu tarjeta es Arduino UNO R3 o
PLCmDuino MEGA 2560 GATES si es la Arduino MEGA 2560.

3.1 CAPTURA DE LOS COMPONENTES DEL DIAGRAMA


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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
96

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 para este lenguaje.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
97

3. Haz clic en el grupo “Inversores” representado por . Aparecerán a su


derecha, los elementos que pertenecen a ese grupo

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
98

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
99

6. Haz clic en el icono “terminales” representado por y después en la

terminal de entrada de 1 bit representado por en área de los


elementos de grupo

7. Agrega dos terminales de entrada de 1 bit como se muestra

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
100

8. Selecciona ahora y agrega dos terminales de salida

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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
101

2. Realiza ahora una conexión desde el enlace que conecta la salida de la


compuerta inferior con su terminal de salida

3. Hasta el nodo de entrada que está libre de la compuerta superior

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
102

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 y después


haz clic en la unión vertical

5. Conmuta nuevamente al modo alambrado y ahora realiza una conexión desde

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
103

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”

2. Captura en cada terminal, el nombre para cada una de ellas como se muestra

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
104

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

Oprime “Actualizar” para cerrar el cuadro de diálogo

3.5 CONFIGURACIÓN DE LOS PINES DE ARDUINO

Oprime el botón . Introduce la cadena de configuración de pines los


puertos I0/Q0 de Arduino. Consulta el apartado 2.2 para detalles de cómo
construir la cadena.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
105

3.6 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.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 a través del cual podrás seleccionar los


puertos que se mostrarán en el tablero de simulación (Arduino MEGA).

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
106

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

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

4. Oprime “Aceptar”. Aparecerá el tablero de control de la estrategia e iniciará la


simulación del funcionamiento del circuito

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
107

OBSERVACIONES
a. Además del tablero de control, MikroPLAN mostrará el listado de red del circuito
en código HDLduino si está activada la opción “Edición”->”Ver código HDL”

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
108

RESET SET Qn QPn


0 0 Condición de memoria
Qn-1 QPn-1
0 1 1 0
1 0 0 1
1 1 Condición no permitida
0 0

“Qn” y “QPn” indican el estado de las salidas del flip – flop en un instante actual
y “Qn-1” y “QPn-1” indican el estado de las salidas en un instante anterior.

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
109

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


1. Antes de cargar algún programa en tu tarjeta, asegúrate que puedas detectarla
desde MikroPLAN. Sigue el procedimiento del apartado 1.7 “DETECCIÓN DEL
BIOS DESDE MikroPLAN”

2. Si tienes una licencia, haz clic en “Licencias”->”Seleccionar …” y elige la


correcta si tu licencia es individual

O genérica

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
110

3. Elige la opción del menú “PLCmDuino”->”Cargar programa”. También puedes

cargar el programa oprimiendo

4. Si no tienes una licencia, aparecerá el cuadro de diálogo

Oprime “Aceptar”.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
111

5. Oprime “Aceptar” para continuar. Se te informará el espacio ocupado por el


código generado para simular el circuito

6. Oprime “Aceptar”. Se cargará el código del programa en la RAM de la tarjeta y


aparecerá el cuadro de diálogo

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
112

7. Por otro lado, si tienes una licencia local, aparecerá el cuadro de diálogo

8. Si tienes una licencia remota aparecerá el cuadro de diálogo

9. 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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
113

10. 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 remota, 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

11. 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 activaciones de
respaldo disponible

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
114

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

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

14. Ahora bien si tu licencia ya expiró, aparecerá el mensaje

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
115

15. Si el programa se pudo cargar, PLCmDuino lo ejecutará inmediatamente. En


el circuito de prueba de la figura 3.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

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

Para más ejemplos de programación utilizando diagramas de circuitos lógicos,


consulta el documento “Programación de Arduino con Diagramas de Circuitos
Digitales utilizando MikroPLAN” el cual estará disponible a principios del año
próximo.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
116

CAPÍTULO 4

PROGRAMACIÓN CON
DIAGRAMAS DE FLUJO

Para programar tu Arduino con diagramas de flujo, debes cargarle el firmware


PLCmDuino UNO R3 FCHART si tu tarjeta es Arduino UNO R3 o PLCmDuino
MEGA 2560 FCHART si es la Arduino MEGA 2560.

4.1 CAPTURA DE LOS BLOQUES DEL DIAGRAMA

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
117

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 7 iconos que representan los


grupos en los que se encuentran distribuidos los elementos gráficos que
soporta MikroPLAN para este lenguaje

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
118

3. Haz clic en el icono del grupo de bloques de control . Se mostrarán los


elementos que conforman ese grupo. Haz clic en el bloque de inicio.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
119

4. Haz clic en el icono del grupo de operaciones y luego en el bloque de

transferencia . Después añade dos bloques de asignación como se


muestra

5. Haz clic en el grupo de condicionales y después en el icono de

verificación de bit . Añade dos bloques como se muestra.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
120

4.2 CONEXIONADO DE LOS BLOQUES

1. Haz clic en icono y conecta los bloques como se muestra

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
121

2. Haz clic en el icono de nodos y agrega dos nodos como se


muestra

3. Haz clic en el icono y alambra los nodos

4.3 INTRODUCCIÓN DE DATOS

Haz clic en el icono de edición y agrega identificadores en cada uno


de los bloques. Para ello en cada bloque, haz clic en el signo “?”.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
122

4.4 CONFIGURACIÓN DE PINES

1. Haz clic en y escribe la cadena de configuración como se muestra

4.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
FCH.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
123

4.6 SIMULACIÓN DEL PROGRAMA


1. Haz clic en la opción “Simulación”->”Tarjeta”->”Arduino UNO R3”

2. Aparecerá un cuadro de diálogo. Selecciona los puertos que se mostrarán en el


tablero de simulación.

Oprime después “Aceptar”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
124

OBSERVACIÓN
Cuando cargas o creas un archivo FCH, la configuración para la simulación se
pone a la tarjeta Arduino UNO R3

3. Haz clic en el icono . MikroPLAN realizará la traducción del diagrama de


flujo a bytecode y si no hubo error, aparecerá un cuadro de diálogo
informándote el espacio que ocupará tu programa en la memoria del Arduino

4. Oprime “Aceptar”. Aparecerá el tablero de simulación.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
125

5. En el tablero oprime el pulsador I0.2, se activará la salida Q0.1

6. Oprime ahora el pulsador I0.3, se activará la salida Q0.0

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
126

4.7 CIRCUITO DE PRUEBA CON LA TARJETA ARDUINO


En la figura 4.1 se muestra el circuito que se utilizará para probar el diagrama de
flujo.

Figura 4.1 Circuito de prueba para el diagrama de flujo

4.8 CARGA DEL PROGRAMA EN LA TARJETA ARDUINO


1. Antes de cargar algún programa en tu tarjeta, asegúrate que puedas detectarla
desde MikroPLAN. Sigue el procedimiento del apartado 1.7 “DETECCIÓN DEL
BIOS DESDE MikroPLAN”

2. Si tienes una licencia, haz clic en “Licencias”->”Seleccionar …” y elige la


correcta si tu licencia es individual

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
127

O genérica

3. Elige la opción del menú “PLCmDuino”->”Cargar circuito”. También puedes

cargar el programa oprimiendo

4. Si no tienes una licencia, aparecerá el cuadro de diálogo

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
128

Oprime “Aceptar”. Se generará el código HDLduino del esquema y aparecerá


un cuadro de diálogo informándote sobre la compilación

5. Oprime “Aceptar” para continuar. Se te informará el espacio ocupado por tu


estrategia de control

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
129

6. Oprime “Aceptar”. Se cargará el código del programa en la RAM de la tarjeta y


aparecerá el cuadro de diálogo

7. Por otro lado, si tienes una licencia local, aparecerá el cuadro de diálogo

8. Si tienes una licencia remota aparecerá el cuadro de diálogo

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
130

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

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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
131

OBSERVACIÓN
Si pudiste cargar el programa con una licencia remota, 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

11. 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 activaciones de
respaldo disponible

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

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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
132

14. Ahora bien si tu licencia ya expiró, aparecerá el mensaje

15. Si el programa se pudo cargar, PLCmDuino lo ejecutará inmediatamente. En


el circuito de prueba de la figura 4.1 verifica el funcionamiento del programa.
Se trata de un biestable pero realizado con diagramas de flujo.

Al oprimir el pulsador I0.2, se apagará el LED colocado en Q0.0 y se


encenderá el LED colocado en Q0.1, permaneciendo los LED así cuando
ningún pulsador esté oprimido

Al oprimir I0.1, se encenderá el LED conectado en Q0.0 y se apagará el


conectado en Q0.1, permaneciendo los LED así cuando ningún pulsador esté
oprimido

Para más ejemplos de programación con diagramas de flujo, consulta el


documento “Programación de Arduino con Diagramas de Flujo utilizando
MikroPLAN” que estará disponible a inicios del año próximo.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
133

CAPÍTULO 5

CARACTERÍSTICAS
ADICIONALES DE MikroPLAN

5.1 CONTROL DEL PROGRAMA CARGADO EN ARDUINO

5.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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
134

Aparecerá el mensaje

5.1.2 Corrida del programa


Para ejecutar el programa cargado en Arduino, elige la opción
“PLCmDuino>”RUN”.

Aparecerá el mensaje

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
135

5.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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
136

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

5.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 5.1 se muestra un programa que después de cargarse en PLCmDuino,


bloqueará la comunicación con MikroPLAN

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
137

Figura 5.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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
138

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 5.2

Figura 5.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
procedimiento mencionado aquí desde el paso 1

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
139

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

5.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 5.3.

(a)

(b)

Figura 5.3. Módulo de comunicación Bluetooth HC-06: (a) Anverso y (b) reverso

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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
140

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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
141

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 5.5 se muestra una imagen de un radio genérico Bluetooth.

Figura 5.5. Radio Bluetooth o “Bluetooth dongle” de uso genérico

5.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:

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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
142

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
143

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
emparejamiento, aparecerá el siguiente cuadro de diálogo.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
144

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ú
emergente. Selecciona la opción “Propiedades”. Aparecerá un cuadro de
diálogo. Selecciona entonces la ficha “Servicios”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
145

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

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

5.3.1 El ADC (Analog to Digital Converter – Convertidor


Analógico a Digital)

1. Desde el editor DGC, haz clic en (periféricos grupo 1) y luego en el

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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
146

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

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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
147

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

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 “Puertos” la etiqueta de salida como se muestra

6. Agrega la cadena de configuración para los pines de Arduino

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
148

7. Corre la simulación

8. Haz clic en la opción “Simulación”->”ADC…”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
149

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
150

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

5.3.2 El receptor infrarrojo (Infrared receiver)

1. Desde el editor DGC, haz clic en el grupo (comunicaciones) y luego en el

elemento . 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 la figura 5.1

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
151

Figura 5.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
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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
152

4. Captura las etiquetas que se muestran

5. Define en “Puertos” la etiqueta de salida como se muestra

6. La configuración de los pines para la tarjeta Arduino sería como:

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
153

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
154

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
155

CAPÍTULO 6

CARACTERÍSTICAS DEL BIOS

Lo que a continuación se describe se aplica a cualquier versión del BIOS.

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

6.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 5.1.

6.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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
156

6.1.3 Marca de reloj de 1 minuto


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

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

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

6.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 7. Su función como interfaz para recepción de datos de prototipos
virtuales se comentará en los capítulos 9 y 10.

6.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 2.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
157

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

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

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

6.7 PILA
La pila de PLCmDuino es de 16 bits.

6.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 6.1.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
158

Tabla 6.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<=, OB<=, AB<=, LDW>=, OW>=,
AW>=, LDW=, OW=, AW=, LDW<=, OW<=,
AW<=
Contactos LD, O, A, LDN, ON, AN, NOT, EU, EP 9
Operaciones lógicas, de transferencia y de MOVB, ANDB, ORB, XORB, INVB, SLB, 9
SRB, RLB, RRB
corrimiento con palabras de 8 bits
Operaciones aritméticas con palabras de ADDW, SUBW, INCW, DECW 4
16 bits
Control de pila LPP, LPS, LRD, LSS, ALD, OLD 6
Operaciones aritméticas con palabras de 8 ADDB, SUBB, INCB, DECB, MOVB 5
bits
Bobinas =, S, R, NOP 4
Temporizadores TON, TOFF, TONR 3
Control de programa MEND, STOP 2
Contadores CTU, CTUD 2
Total 62

Las otras 28 instrucciones son exclusivas para PLCmDuino y pueden o no tener


correspondencia con instrucciones de otros autómatas. Ellas se muestran en la
tabla 6.2.

A excepción de las 6 instrucciones de control de pila, las demás instrucciones de


las tablas 6.1 y 6.2 tienen su correspondiente representación en KOP.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
159

Tabla 6.2. Instrucciones AWL particulares para PLCmDuino

Grupo Instrucciones AWL Total


Accionamiento de motores a pasos y SERVO_PARAMS, SERVO_MOVETO, 8
SERVO_INCAX,
servomotores
SERVO_DECAX, SERVO_MOVE0,
SERVO_MOVEAX, SERVO_MOVE,
SERVO_ENABLE

Manejo del LCD LCD_EN, LCD_MSG, LCD_CLR, LCD_CMD 4


Comunicación con MobilePorts vía MPORTS_SMS_TX, MPORTS_SMS_RX, 4
MPORTS_RX, MPORTS_TX
Bluetooth utilizando los pines 0 y 1 de
Arduino
Contactos de comparación para cadenas LDSTR=, OSTR=, ASTR= 3
de caracteres
Comunicación alámbrica o inalámbrica por RS232_TX, RS232_RX 2
RS232 utilizando los pines 0 y 1 de
Arduino
Infrarrojos utilizando los pines 2 o 3 de IR_RX 1
Arduino
Conversión analógica a digital de 10 bits ADC 1
Contador rápido de eventos externos XCNT 1
Modulación de Ancho de Pulso PWM_CFG, PWM_WIDTH, PWM_ONOFF 3
Total 27

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
160

CAPÍTULO 7

PLCmDuino Y MobilePorts

MobilePorts es una aplicación móvil para Android desarrollada específicamente


para interactuar con PLCmDuino. La aplicación te permitirá correr o detener el
programa cargado en Arduino y además te permitirá interactuar con él. El paquete
de instalación para tu móvil (archivo APK) está ubicado en la carpeta:

c:/ProyexDuino/Proyectos/PLCmDuino/Señalización y adquisición/Android

7.1 INSTALACIÓN DE MobilePorts EN UN TELÉFONO MÓVIL


1. Transfiere al archivo MobilePorts.apk a tu teléfono

2. En tu móvil selecciona “Ajustes”->”Seguridad” y activa la casilla “Fuentes


desconocidas”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
161

6. Ubica la carpeta en donde se descargó MobilePorts. Haz clic sobre el nombre


del archivo

Aparecerá una pantalla con un mensaje preguntándote si deseas instalar la


aplicación. Elige “Instalar”.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
162

Comenzará entonces la instalación

4. Al terminar, oprime “Hecho”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
163

Cierra las ventanas. El acceso directo al programa aparecerá en la ventana de


aplicaciones

7.2 EMPAREJAMIENTO DEL MÓDULO BLUETOOTH CON EL


MÓVIL
1. Arma el circuito de prueba de la figura 5.4

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
164

2. En tu móvil entra a “Ajustes”->”Bluetooth”

3. Si el módulo Bluetooth que estás utilizando es el dispositivo HC-06, debería


aparecer ese nombre o bien la dirección MAC (Media Access Control – Control
de Acceso de Medios) del mismo. Este identificador es único para cada
dispositivo y está conformado de 6 números hexadecimales separados entre sí
por “:”

OBSERVACIÓN
Si estás utilizando el HC-05, deberás localizarlo con la aplicación “Bluetooth Class
Zero”. Esta aplicación puedes descargarla desde Google Play

4. Haz clic sobre el nombre del dispositivo. Aparecerá una pantalla indicándote
que introduzcas el PIN del dispositivo

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
165

5. Introduce los números 1234 y después oprime “Aceptar”. El dispositivo se habrá


vinculado

7.3 CONTROL DEL PROGRAMA EN PLCmDuino DESDE


MobilePorts

7.3.1 Conexión de MobilePorts con PLCmDuino


1. En tu móvil corre la aplicación MobilePorts. La pantalla principal de la aplicación
tendrá la apariencia que se muestra

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
166

2. En el campo “Dirección” deberás introducir la dirección MAC del dispositivo.


Esta información aparece en ocasiones en tu móvil, pero si no es así, la puedes
conocer desde tu PC. Para ello, entra al grupo Bluetooth de tu PC y elige la
opción “Mostrar dispositivos Bluetooth” y haz clic sobre el módulo HC que
instalaste en el capítulo I. La dirección MAC aparece en la parte inferior de la
ventana

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
167

3. Una vez que hayas introducido la dirección MAC, oprime el botón “PLCMicro”.
MobilePorts se conectará con PLCmDuino, el cual a su vez le enviará el nombre
del BIOS alojado en la tarjeta Arduino y que se mostrará brevemente en la
franja verde

OBSERVACIÓN
El botón “RS232” se utiliza cuando deseas enviar datos por medio de un enlace
Bluetooth a cualquier otro dispositivo que soporte este tipo de comunicación. El
botón “PLCMicro” se utiliza para que MobilePorts se comunique exclusivamente
con el BIOS PLCmDuino alojado en Arduino

4. Finalmente, la pantalla principal tendrá la siguiente apariencia

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
168

Para desconectar MobilePorts de Arduino, oprime simplemente “Desconectar”

7.3.2 Arranque, paro y estado de un programa desde MobilePorts


1. Arma el circuito de prueba de la figura 7.1

Figura 7.1. Circuito para probar la conexión de MobilePorts con Arduino

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
169

2. En MikroPLAN captura el programa que se muestra en la figura 7.2. Se trata de


la red de arranque y paro que se mostró en el capítulo 2, sólo que ahora en
lugar de utilizar pulsadores conectados en el exterior de la tarjeta, la acción de
arranque y paro se realizará desde dos pulsadores en la pantalla de
MobilePorts. Con I2.0 se activará el LED y con I2.1 se apagará

Figura 7.2. Red de activación y desactivación de Q0.2 desde MobilePorts

Para los pines puedes utilizar la misma configuración que se utilizó en el


ejemplo del capítulo 2. Sin embargo, ya que no vas a utilizar los pines 2 y 3, la
configuración podría quedar como:

Puedes utilizar como salida cualquier otro bit distinto a Q0.2

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
170

OBSERVACIÓN
Cada uno de los 16 bits del puerto I2 se identifica con un pulsador en MobilePorts

3. Antes de cargar el programa, con la opción “PLCmDuino” -> “Detectar …”,


introduce en “Puerto” la dirección del puerto COM que corresponda al módulo
Bluetooth

4. Conecta ahora MobilePorts a PLCmDuino. Oprime el pulsador I2.0

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
171

En el circuito deberá encenderse el LED. Oprime ahora el pulsador I2.1

En el circuito, el LED deberá apagarse. Oprime nuevamente el pulsador I2.0. El


LED deberá encenderse nuevamente.

5. Oprime en MobilePorts el botón “Paro”. Aparecerá brevemente en el campo “P /


R” (Petición / Respuesta”) el mensaje “STOP>OK”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
172

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 el mensaje “RUN>OK”
reanudándose la ejecución del programa.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
173

CAPÍTULO 8

PLCmDuino y LabVIEW

Al cargar cualquier versión del BIOS PLCmDuino (LADDER, GATES y FCHART)


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

8.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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
174

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
175

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
176

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
177

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

Figura 8.1. Circuito de prueba para adquisición y señalización digital con PLCmDuino desde
LabVIEW

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
178

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
179

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
180

6. Agrega un indicador en el nodo “Error Message”

7. Agrega el elemento “PLGDCOM32_Close” y alámbralo como se muestra

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
181

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
Version”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
182

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

11. Repite las acciones anteriores con la otra variable local pero ahora elige el

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
183

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
184

8.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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
185

8.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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
186

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


puerto 1 para escribir datos

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
187

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
188

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

8.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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
189

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
190

8.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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
191

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

8.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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
192

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
193

8.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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
194

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

8.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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
195

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
196

8.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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
197

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
198

CAPÍTULO 9

PLCmDuino Y FluidSIM

FluidSIM puede comunicarse con cualquier versión del BIOS PLCmDuino


(LADDER, GATES o FCHART) para cualquier modelo de tarjeta (Arduino UNO o
MEGA 2560) utilizando MikroPLAN como interfaz de comunicación. 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 de 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
o hidráulico implementado en FluidSIM. Para ello, PLCmDuino se
comunica con FluidSIM utilizando 4 puertos de 8 bits

Adicionalmente también se puede utilizar MikroPLAN para controlar un prototipo

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
199

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.

Para ambos modos de comunicación entre PLCmDuino y FluidSIM así como para
el control de FluidSIM desde MikroPLAN se requiere la licencia
“MikroPLAN_FLDSIM”. Para obtener esta licencia, realiza una solicitud de primera
vez desde JOGATECHProyex seleccionando “Licencias”->”Solicitar licencia de
primera vez…” y después haciendo clic en “Aplicación de escritorio”. Puede ser
local o remota.

Para generar esta licencia no se requiere que conectes tarjeta alguna.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
200

9.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”

2. Aparecerá el cuadro de diálogo

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
201

Activa la opción “DDE mode”. Asegúrate que en los campos “Servidor” y “Topic”
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”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
202

9.2 ADQUISICIÓN DE DATOS Y SEÑALIZACIÓN DIGITAL CON


PLCmDuino DESDE FluidSIM

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

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 9.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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
203

Tabla 9.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 Designación del puerto en Disponibilidad en Arduino


en PLCmDuino 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 se realizará el siguiente ejemplo. Para este caso se
utilizará el circuito que la figura 8.1 que se utilizó en el capítulo 8 para que desde
FluidSIM se realice adquisición y señalización digital.

1. Entra a FluidSIM y crea una estrategia. Una vez que hayas agregado los
elementos gráficos de interfaz para comunicarse con MikroPLAN, completa el
diagrama como se muestra en la figura de abajo

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
204

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
205

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
206

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

9.2.2 Preparación de PLCmDuino como esclavo


Cuando MikroPLAN acceda a PLCmDuino en este modo, cualquier programa que
esté cargado se borrará. 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 mostró en la figura 8.1 y que por conveniencia se
muestra aquí en la figura 9.1 en donde se está utilizando la tarjeta Arduino MEGA
2560 como hardware de adquisición y señalización digital. Puedes cargarle
cualquier versión del BIOS (LADDER, GATES o FCHART).

Figura 9.1. Circuito de prueba para FluidSIM en modo maestro

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
207

9.2.3 Activación de MikroPLAN como interfaz de comunicación


1. Conecta la tarjeta Arduino MEGA 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

4. Elige ahora la opción “Enlaces”->”FldSIM”-> ”FluidSIM maestro, PLCmDuino


esclavo”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
208

5. Aparecerá un cuadro de diálogo

6. Oprime “Sí”. Se realizará la detección de la tarjeta y aparecerá el cuadro de


diálogo

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
209

7. Oprime “Aceptar”. Aparecerá el cuadro de diálogo

8. Escribe las cadenas de configuración de los pines que vas a utilizar de acuerdo
al circuito de la figura 9.1. Selecciona también los puertos que vas a utilizar en
FluidSIM

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
210

9. Sin salirte de MikroPLAN, activa FluidSIM y corre la simulación del circuito

oprimiendo

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 LED conectado al bit correspondiente en el circuito de la
figura 9.1

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
211

12. Ahora en el circuito de la figura 9.1, oprime el pulsador “I0.0”. Deberá


activarse el indicador luminoso correspondiente en el circuito en FluidSIM

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
212

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

9.3 CONTROL DE PROTOTIPOS VIRTUALES EN FluidSIM DESDE


PLCmDuino

9.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,

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
213

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 esquema de la figura 9.2. Éste será el prototipo
virtual a controlar. 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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
214

Figura 9.2 Prototipo virtual en FluidSIM a controlar desde PLCmDuino

2. Corre el programa en FluidSIM. Tu prototipo virtual estará esperando los datos


enviados por PLCmDuino

9.3.2 Preparación de PLCmDuino como maestro


1. Con MikroPLAN captura la estrategia de control en KOP de la figura 9.3. Para
probar el circuito, puedes utilizar el mismo hardware de la figura 9.1. Sin
embargo, nota que para cargar el programa de la figura 9.3 necesitas que tu
tarjeta tenga el BIOS PLCmDuino LADDER.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
215

Figura 9.3. Estrategia en KOP para controlar el prototipo virtual en FluidSIM del cilindro de doble
efecto

2. Agrega las etiquetas:

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
216

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 que se realiza a través de MikroPLAN.

OBSERVACIONES
a. Al cargar el programa en tu Arduino, puedes utilizar o no una licencia. Esto es,
puedes trabajar en modo evaluación. Sin embargo, si tu tarjeta tiene el chip
CH340, al detectar tu tarjeta, ésta se restaurará. Por tanto, si cargaste el
programa en modo evaluación, éste se perderá.

b. 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 debe
incluirse SIEMPRE en cualquier aplicación de este tipo

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
217

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

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

9.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. Debe ser la misma licencia que para el modo 1

2. En el menú principal, elije la opción “Enlaces”->”FldSIM”->”PLCmDuino


Maestro, FldSIM Esclavo”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
218

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
219

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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
220

7. Oprime “Aceptar”. Comenzará la comunicación entre PLCmDuino y FluidSIM a


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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
221

9.4 CONTROL DE PROTOTIPOS VIRTUALES EN FluidSIM DESDE


MikroPLAN

9.4.1 Preparación de FluidSIM como esclavo


La preparación del prototipo virtual en FluidSIM es la misma que se comentó para
cuando PLCmDuino se comporta como maestro (modo 2). Para el ejemplo carga
en FluidSIM el esquema de la figura 9.2 y corre la estrategia.

9.4.2 Activación de MikroPLAN como maestro


1. Asegúrate de que esté corriendo la simulación del prototipo en FluidSIM

2. Desde MikroPLAN abre el programa de la figura 9.2. Para la simulación del


control de tu prototipo virtual en FluidSIM desde MikroPLAN necesitas también
la licencia “MikroPLAN_FLDSIM”.

3. En el menú principal selecciona “Enlaces”->”FldSIM”->”MikroPLAN maestro,


FldSIM esclavo”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
222

También puedes presionar el botón .

4. Aparecerá el cuadro de diálogo

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
223

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. Se mostrará el


espacio ocupado por el programa de control

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
224

Oprime “Aceptar”. Se iniciará la corrida del programa

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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
225

10. Verifica en FluidSIM que el cilindro se haya activado y que el vástago


alcance el sensor S3

Cuando esto suceda, la red 3 se desenclavará y el vástago retornará a su


posición inicial

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
226

Básicamente el prototipo virtual en FluidSIM funcionará como cuando


PLCmDuino funcionó en modo maestro

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
227

CAPÍTULO 10

PLCmDuino Y SIMATIC STEP7

JOGATECHConex es una aplicación de escritorio que incorpora el módulo


software STEPDuino, el cual funciona como interfaz de comunicación entre la
tarjeta Arduino cargada con el firmware PLCmDuino y el simulador PLCSIM de
SIMATIC STEP7. STEPDuino permite al usuario realizar señalización digital y
adquisición de datos en tiempo real a través de la tarjeta Arduino desde
estrategias de control diseñadas con cualquiera de los lenguajes que soporta
SIMATIC STEP7 y cargadas en el simulador S7-PLCSIM.

Los requerimientos para trabajar con JOGATECHConex son:


1. Versión redistribuible de Visual Studio 2010 o posterior.
2. Versiones 5.5 o 5.6 de SIMATIC STEP7
3. Licencia de uso del módulo STEPDuino en cualquiera de sus modalidades
LOCAL o REMOTA
4. Firmware PLCmDuino cargado en la tarjeta Arduino en cualquiera de sus
versiones: LADDER, GATES o FCHART.

10.1 ADQUISICIÓN DE DATOS Y SEÑALIZACIÓN DIGITAL


Una vez que el usuario ha diseñado su estrategia de control con SIMATIC STEP7
y la ha cargado en el simulador PLCSIM, podrá correrla desde JOGATECHConex.
Durante la corrida del programa en STEP7 PLCSIM, JOGATECHConex se

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
228

comunicará tanto con esta aplicación así como con la tarjeta Arduino, de tal
manera que los datos que reciba del simulador de STEP7, los enviará a la tarjeta
Arduino. Generando de esta forma señalización digital en sus terminales de salida.
También JOGATECHConex realizará la adquisición de datos digitales a través de
Arduino, enviándolos a STEP7 PLCSIM.

Para trabajar de esta forma con JOGATECHConex, se requiere:


- Tarjeta Arduino UNO o MEGA 2560 cargada con el BIOS PLCmDuino en
cualquiera de sus versiones: LADDER, GATES o FCHART
- Licencia STEPDuino. Sin embargo, en caso de que no se disponga de esta
licencia, JOGATECHConex funcionará en modo evaluación, realizando
únicamente la adquisición de datos digitales.

10.1.1 Preparación de S7-PLCSIM


1. Ejecuta el Administrador de SIMATIC STEP7

2. Haz clic en el botón “Cancelar” si aparece el asistente de STEP7

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
229

3. Desde el manejador de proyectos, abre el archivo que se encuentra en la


carpeta:

c:\ProyexDuino\Proyectos\PLCmDuino\Señalización y
adquisición\STEP7\Ejemplos\STEPDuino\Controlador de Nivel de Agua

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
230

4. Oprime Aceptar. Luego haz doble clic sobre el elemento OB1

5. Aparecerá el diagrama KOP de un programa de control de nivel de agua todo o


nada con histéresis en un tinaco.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
231

6. En el administrador, haz clic sobre el icono del simulador S7-PLCSIM

7. Aparecerá la ventana el simulador

8. Asegúrate que la comunicación entre el editor de programas y PLCSIM sea


LOCAL

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
232

9. Desde el editor de programas, carga el programa al simulador haciendo clic en


el icono del mismo

10.1.2 Circuito para la señalización y adquisición de datos


1. Arma el circuito que se muestra en la figura 10.1. Representa el hardware a
través del cual se realizará la señalización y adquisición de datos desde

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
233

STEPControl para PLCSIM.

Figura 10.1. Simulador hardware para el programa de control de nivel de agua utilizando
STEP7

Si lo deseas - aunque no es necesario – en S7-PLCSIM configura las ventanas de


selección de los registros cuyos bits desees visualizar ahí. Los registros que utiliza
el software SIMATIC STEP7 5.5 o 5.6 y sus equivalentes con STEPDuino y
PLCmDuino se muestran en la tabla 10.1

Tabla 10.1. Relación de puertos de entrada/salida de STEPDuino con los utilizados por STEP7
SIMATIC STEP7 5.5 o 5.6 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

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
234

En la tabla 10.2 se muestra la correspondencia entre los pines de la tarjeta con las
entradas y salidas en el diagrama en KOP.

Tabla 10.2. Correspondencia de entradas y salidas entre el circuito de la figura 10.1 y SIMATIC
STEP7
Etiqueta en SIMATIC STEP7 Bit en PLCmDuino Bit en SIMATIC STEP7
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

10.1.3 Preparación de JOGATECHConex


1. Desde la carpeta:

C:\ProyexDuino\Proyectos\PLCmDuino\Señalización y
adquisición\STEP7

Corre la aplicación JOGATECHConex. Aparecerá una pequeña ventana para


que selecciones la versión Windows de tu equipo

2. Oprime “Aceptar”. Aparecerá la ventana principal de JOGATECHConex

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
235

3. Haz clic en la pestaña “STEPDuino” y luego oprime el botón “Selección de


licencia”. Elige la licencia “STEPDuino” en cualquiera de sus dos modalidades:
LOCAL o REMOTA. Luego oprime “Aceptar”.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
236

4. Haz clic en “Conectar”. Se abrirá la conexión entre el simulador de STEP7 y


JOGATECHConex.

5. Abre la comunicación con la tarjeta Arduino. 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 al detectar” esté desactivada. Por otro lado, si
vas a utilizar una tarjeta MEGA 2560 con el chip CH340G, es posible que
tengas que activarla. Después oprime “Detectar”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
237

6. Deberá aparecer el nombre del BIOS que está cargado en la tarjeta. Configura
los pines de Arduino de acuerdo al circuito de la figura 10.1

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
238

10.1.4 Corrida del programa en S7-PLCSIM y comunicación con


Arduino
1. Oprime “RUN” para correr el programa cargado en el simulador desde
STEPControl. Aparecerá el panel del simulador. Además, si tienes una licencia
REMOTA se te solicitará validar la licencia en línea.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
239

Oprime “Sí”. Se accederá a tu cuenta en línea. Si la licencia todavía es vigente,


aparecerá la ventana

En el panel se mostrarán los indicadores y entradas que se activen desde el


programa en PLCSIM.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
240

OBSERVACIONES
a. Cuando se tiene una licencia remota, el tiempo permitido para acceder al
programa sin necesidad de volver a validar la licencia en línea es de 1 h

b. Cuando se realiza el enlace de comunicación entre la aplicación


JOGATECHConex y la tarjeta Arduino, los indicadores TX y RX parpadearán
o permanecerán encendidos indicando que hay intercambio de datos entre
ellas

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
241

Los LEDs en el circuito de la figura 10.1 deberían encenderse de acuerdo al


programa en KOP que está en el editor de programas. 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 hubo algún error al validar la licencia, se mostrará un mensaje de error

Oprime “Aceptar”. Finalmente aparecerá el siguiente cuadro de diálogo

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
242

Por tanto, JOGATECHConex realizará únicamente la adquisición de los datos


digitales que se encuentren en las entradas de la tarjeta Arduino, sin realizar
señalización alguna (no se activarán las terminales configuradas como salidas)

b. Para detener la simulación, oprime “STOP”. JOGATECHConex detendrá el


simulador de STEP7 pero no se perderá el enlace con el simulador ni con
PLCmDuino. Esto te permitirá conmutar al editor KOP de SIMATIC STEP7;
modificar tu programa; volverlo a cargar al simulador y después correrlo desde
JOGATECHConex.

c. Oprime “Salir” para suspender la conexión de JOGATECHConex con STEP7;


con PLCmDuino y para que después se cierre la aplicación.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
243

CAPÍTULO 11

CONTROL DE MOVIMIENTO

11.1 INTRODUCCIÓN
Los motores a pasos y servomotores se utilizan en equipos mecatrónicos, para
generar desplazamientos lineales o angulares en las partes móviles o
articulaciones de alguna estructura mecánica. Los motores a pasos pertenecen a
un tipo especial de motores de CD, que al energizar sus fases en una secuencia
específica por medio de códigos de activación, su rotor se desplaza cierto valor
angular (paso incremental) de forma precisa, repetible y con un valor de torque
suficiente para satisfacer los requerimientos mecánicos de la aplicación.
Usualmente el paso incremental angular es de un gradián (grado centesimal); esto
es, 0.9o (grado sexagesimal).

Para variar la velocidad angular del motor, sólo basta en reducir o aumentar el
intervalo de tiempo en el que sucede la secuencia de los códigos de activación de
sus fases. Además, para lograr que el motor se detenga o se mantenga en la
condición de enclavamiento, basta simplemente con suspender el envío de la
secuencia de códigos y mantener energizadas las fases del rotor. Los motores a
pasos pueden clasificarse en varias formas, pero básicamente la clasificación más
generalizada es de acuerdo con el número de fases: unipolar o de cuatro fases; de
dos fases o de tres fases.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
244

Quizás la impresora de oficina es uno de los equipos mecatrónicos comerciales a


los que usualmente el grueso de la población conoce o ha tenido acceso y en
donde se utilizan este tipo de motores. También se utilizan en impresoras 3D y en
algunos pequeños sistemas de control numérico por computadora. En la figura
11.1 se muestra la fotografía de varios tipos de motores a pasos que se pueden
conseguir en el mercado.

Figura 11.1. Varios tipos de motores a pasos

Por otro lado, un servomotor está conformado de un motor de CD o CA empotrado


en una sola pieza junto con un reductor mecánico o un tren de engranes. También
tiene un controlador electrónico embebido, que recibe la información del exterior
en forma de una señal pulsante de referencia, en la cual se codifica el valor de la
variable mecánica de interés (posición, velocidad, aceleración o torque) que se
desea que el eje del rotor tenga o alcance para un instante específico. Luego, a

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
245

través de un codificador (encoder) o sensor de posición (en algunos casos un


potenciómetro) también empotrado en el mismo chasís, el controlador del
servomotor mide la variable mecánica de interés; la compara con el valor
codificado en la señal de referencia y realiza la o las acciones de control
necesarias para que el valor medido de la variable controlada se aproxime o
alcance el valor deseado.

Para el caso de servomotores de CD como los que se utilizan en el modelismo,


éstos pueden clasificarse en analógicos o digitales. Los servomotores analógicos
requieren una señal pulsante de referencia a una frecuencia de 50 Hz, en la cual
se ha codificado, en el ancho de pulso de la señal, la posición que se desea que
alcance el rotor. Un ancho de pulso de 1.5 ms (1500 s) representa usualmente la
posición neutral o de origen del servomotor. Luego, un pulso de mayor duración al
del pulso de la posición neutral, hará que el eje del servomotor rote en un sentido,
y un pulso de menor duración a la del valor neutral, hará que el rotor gire en
sentido opuesto. De esta manera, la variación o modulación del ancho de pulso
(Pulse Width Modulation – PWM) de la señal de referencia se utiliza para ubicar el
eje del rotor del servomotor en una determinada posición. Además, mientras esta
señal pulsante se proporcione en forma continua al servomotor, el rotor
permanecerá enclavado en la posición de interés.

En los servomotores digitales, la señal pulsante que se envía al controlador


usualmente sigue una señalización RS232 por medio de la cual se envían
comandos u órdenes desde el exterior y que instruyen o programan al controlador
del servomotor a realizar la acción de control de la variable mecánica de interés.
Para este tipo de servomotores, su controlador es más complejo que su
contraparte analógica y no requiere, como para el caso analógico, que la señal de
referencia esté presente a la entrada del mismo, durante todo el tiempo de
funcionamiento del servo.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
246

En cuanto al desplazamiento angular del servomotor, éste dependerá de su


controlador embebido; del tipo de dispositivo interno que su controlador utiliza para
medir la variable de interés y del tipo de alimentación utilizada para energizarlo
(CD o CA). Para el caso de algunos servomotores de CD utilizados en modelismo,
una variación de 10 s en el ancho del pulso de la señal de referencia, origina
aproximadamente un paso incremental de un gradián. Sin embargo, esto es sólo
un valor aproximado y no debería considerarse como regla general para todos los
servomotores. Además, el voltaje de alimentación de los servomotores para
modelismo puede ir desde 4.5 a 6 VCD.

Actualmente los servomotores se utilizan ampliamente en la robótica en todas sus


variantes: lúdica, didáctica, comercial e industrial; así como también en fresas y
tornos CNC; en centros de maquinado o en celdas integradas de manufactura. En
la figura 11.2 se muestra la fotografía del brazo de robot para uso industrial
modelo M-6iB de la marca FANUC Robotics.

Figura 11.2 Brazo de robot FANUC M-6iB

En la figura 11.2, los servomotores se distinguen por el color rojo de la tapa


posterior de su carcasa.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
247

Además, para el caso de los servomotores de modelismo, sus características


como servosistemas embebidos de control de una sola pieza y con precios en el
mercado bastante accesibles, los hace muy atractivos para su utilización en
aplicaciones mecatrónicas compactas y de bajo costo. En la figura 11.3 se
muestra la fotografía de un robot didáctico de 5 ejes que utiliza siete servomotores
de CD de modelismo para accionar sus articulaciones.

Figura 11.3. Robot didáctico de 5 ejes

11.2 CONFIGURACIÓN DE PINES PARA EL ACCIONAMIENTO


DE MOTORES
MikroPLAN permite la programación de motores a pasos y servomotores.
Independientemente del tipo de motor, se pueden accionar o controlar hasta 11
ejes. Los ejes se designan desde el número 1 hasta el número 11. El
accionamiento de cada eje se realiza a través de la tarjeta Arduino desde el pin 2
hasta el pin 12. Para el caso de los servomotores, cada eje está asignado a un
servomotor.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
248

Para el caso de motores a pasos se pueden accionar de dos modos:


Modo 1. 3 motores con 4 líneas de control (caso unipolar o bipolar). El primer
motor está asignado al eje 1 y se acciona con los pines 2 al 5. El
segundo motor está asignado al eje 5 y se acciona con los pines 6 al 9.
El tercer motor está asignado al eje 9 y se acciona a través de los pines
10 a 12 y al pin A0. Los motores pueden ser unipolares o bipolares.
Modo 2. 6 motores utilizando el driver A4988 por cada motor. El primer motor
está asignado al eje 1 y se acciona con los pines 2 y 3 (control y
sentido). El segundo motor está asignado al eje 3 y se acciona con los
pines 4 y 5. El tercer motor está asignado al eje 5 y se acciona con los
pines 6 y 7. El cuarto motor está asignado al eje 7 y se acciona con los
pines 8 y 9. El quinto motor está asignado al eje 9 y se acciona con los
pines 10 y 11. El sexto motor está asignado al eje 11 y se acciona con
los pines 12 y A0.

Con MikroPLAN, pueden configurarse servomotores y motores a pasos en


cualquiera de sus modos de operación para que puedan accionarse de forma
conjunta.

11.3 CADENA DE CONFIGURACIÓN


La configuración de los pines se realiza desde cualquiera de los editores gráficos
pulsando el botón “Arduino” y modificando la cadena de configuración para los
puertos I0/Q0.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
249

Para especificar que un pin se va a utilizar para accionar un servomotor, se utiliza


el carácter ‘s’ en la cadena de configuración. Si un pin se va a utilizar para
accionar un motor a pasos de 4 líneas de control, se utiliza el carácter ‘p’. Si se va
a utilizar para accionar un motor a pasos con 2 líneas (driver A4988), se utiliza el
carácter ‘m’.

Para el caso de los servomotores, el carácter ‘s’ puede ubicarse en cualquier


posición de la cadena de configuración. Sin embargo, para los motores a pasos, el
carácter correspondiente debe ubicarse en posiciones específicas como se
describió en el apartado 11.2. En caso contrario, MikroPLAN mostrará un error
durante la compilación de la estrategia de control.

11.3 .1 Ejemplos
Si se desean accionar 11 servomotores, la cadena de configuración sería:

El primer servo motor estaría en el pin 2 y correspondería al eje 1, El segundo


servomotor estaría en el pin 3 y correspondería al eje 2. Y así sucesivamente. Se
puede utilizar el carácter ‘x’ para indicar que un pin no va accionar al eje
correspondiente. También pueden utilizarse cualquiera de los otros caracteres
como se vio en el capítulo 2 para configurar los pines que no se utilizarán para
accionar motores como entradas o salidas.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
250

Por ejemplo, en la cadena

Los pines 4, 6, 7 y 10 activarán los ejes 3, 5, 6 y 9 respectivamente. Los otros


pines no se utilizarán.

Como se comentó, también se pueden configurar los pines para accionar motores
a pasos. Por ejemplo, la cadena

Configura los pines de Arduino para accionar 3 motores a pasos con 4 líneas de
control cada uno. Para este caso, la asignación de los motores es fija a los ejes 1,

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
251

5 y 9. Como se comentó en el apartado 11.2, para el tercer motor, la última línea


de control se asigna automáticamente al pin A0 en la tarjeta Arduino.

Debería ser claro que al asignar un motor a pasos a un eje, los 3 bits consecutivos
siguientes (modo 1) o el bit siguiente (modo 2), ya no pueden utilizarse como
terminales de entrada/salida o para accionar servomotores.

Como se comentó, también se pueden combinar servomotores y motores a pasos


en cualquiera de sus modos de operación. Por ejemplo

- Asigna tres servos a los ejes 1, 2 y 11


- Asigna un motor a pasos de 4 líneas de control (modo 1) al eje 5
- Asigna un motor a pasos de 2 líneas de control (modo 2) al eje 9

11.4 ACCIONAMIENTO DE DOS MOTORES A PASOS


Se desea implementar un programa que permita el accionamiento de dos motores
a pasos desde 4 pulsadores. Los motores están asignados a los ejes 1 y 5. Dos
pulsadores se utilizarán para controlar el sentido de rotación de cada motor. Los
pulsadores estarán conectados a los pines A0 a A5. En la figura 11.4 se muestra
el programa de control en KOP.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
252

Figura 11.4 Programa de accionamiento de dos motores a pasos

La cadena de configuración para el programa es

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
253

OBSERVACIONES
a. Los bloques de control de movimiento tienen el identificador “SERVO”.
b. En el bloque de la red 1 se establece la velocidad de los motores a pasos a 30
r.p.m. utilizando el comando “STM_RPM” en el bloque “SET PRMS”
c. En la red 2 se detecta si el usuario ha presionado el pulsador conectado en I1.0.
Si es así, el bloque “MOVE TO ORIGIN” activa todos los motores de tal manera
que su valor de desplazamiento sea igual a 0. La marca “M0.0” se pone en 1
cuando todos los motores han alcanzado su posición inicial.
d. En la red 3, el bloque “AXES” activa o inactiva los ejes configurados. Esto
significa que los pines que activan los motores se ponen en 0.
e. En las redes 4 y 6 se utilizan los bloques “INC AXIS” para realizar el incremento
angular del motor accionado por los ejes correspondientes.
f. En las redes 5 y 7 se utilizan los bloques “DEC AXIS” para realizar el
decremento angular del motor accionado por los ejes correspondientes.

En la figura 11.5 se muestra el circuito con motores a pasos unipolares para


probar el programa de control de la figura 11.4.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
254

Figura 11.5 Circuito para activar dos motores a pasos

11.5 ACCIONAMIENTO DE DOS SERVOMOTORES Y UN MOTOR


A PASOS
Se desea implementar un programa que accione 2 servomotores y un motor a
pasos utilizando el driver A4988. Los servomotores estarán asignados a los ejes 1
y 2. El motor a pasos al eje 3. Los bits I0.4 y I0.5 se utilizarán para controlar el
sentido del motor a pasos. El puerto I1 se utilizará para controlar el sentido de los
servomotores así como las funciones del programa anterior. En la figura 11.6 se
muestra el diagrama de control en KOP.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
255

Figura 11.6 Diagrama de control para los dos servomotores y el motor a pasos

OBSERVACIÓN
En la red 1, el comando “SRV_DLY” pone el retardo en milisegundos entre valores
incrementales del desplazamiento angular.

La cadena de configuración es

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
256

En la figura 11.7 se muestra el circuito de control.

Figura 11.7 Circuito de control para los dos servomotores y el motor a pasos con el driver A4988

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
257

CAPÍTULO 12

CONTROL DE PROTOTIPOS
VIRTUALES EN 3D

12.1 INTRODUCCIÓN
MikroPLAN permite la creación y control de prototipos virtuales de sistemas
automatizados. En MikroPLAN, un prototipo virtual es un modelo tridimensional
que representa un servo sistema de control de una o más variables de posición.
Está compuesta de:
- Un controlador primario
- Uno o varios controladores secundarios (opcional)
- Elementos mecatrónicos tridimensionales de actuación y medición
- Unidades de trabajo

MikroPLAN asume que el controlador primario (PLCmDuino) puede programarse


en uno de los tres lenguajes gráficos soportados: diagramas de escalera; de
circuitos lógicos o de flujo. Es por ello que para iniciar la estrategia de
automatización, el usuario debe seleccionar el lenguaje gráfico a utilizar para el
programa de control principal. Por tanto, para los lenguajes textuales AWL o
HDLduino, los prototipos virtuales no están soportados. Además, toda la
información de la celda de automatización; esto es, la del programa de control y la
del prototipo virtual, se almacena en el mismo documento que se creó para el

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
258

programa principal: archivo KOP si el programa es a través de diagramas de


escalera; archivo DGC si fue a través de diagramas de circuitos digitales o archivo
FCH si fue a través de diagramas de flujo.

Los controladores secundarios pueden realizar alguna acción específica y su


actividad puede ser supervisada por el controlador primario. En esta versión de
MikroPLAN, los conforman los controladores de los robots, los cuales son
programables por el usuario a través de sus propios lenguajes de programación.

Si bien es necesario especificar el lenguaje para programar el controlador


primario, como se verá más adelante, es posible desactivarlo durante el
funcionamiento de la estrategia, si es que se desea que alguno de los
controladores secundarios, y no el primario, realice la acción principal de control.

En esta versión, los elementos mecatrónicos pueden ser bandas transportadoras,


pistones electromecánicos, elevadores, detectores de presencia o detectores de
cruce. Las unidades de trabajo son los elementos del sistema que interactúan con
elementos mecatrónicos de actuación y medición en el espacio virtual. Su
ubicación espacial es la que va a controlarse en el sistema automatizado.

En MikroPLAN se asume que las señales de control proporcionadas por los


controladores hacia los actuadores y las señales de medición proporcionadas por
los sensores hacia los controladores, tienen interfaces ideales para el
acondicionamiento de señal correcto entre ellos. Es por ello que esto no se
considera durante la simulación.

Por otro lado, MikroPLAN permite correr el programa del controlador primario de
tres maneras:
- Por simulación
- Desde Arduino utilizando el BIOS PLCmDuino programado en alguno de los
tres lenguajes gráficos

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
259

- Desde Arduino habiendo sido programado previamente mediante un boceto de


programación en C++

Para crear, editar prototipos virtuales y correr las estrategias de automatización en


MikroPLAN se requiere la licencia “MikroPLAN_PV”. Para solicitar esta licencia,
entra a “Licencias”->”Solicitar licencia de uso de primera vez …”. Luego haz clic en
el catálogo “Aplicación de escritorio” y a continuación en “MikroPLAN_PV”

12.2 DEFINICIÓN DE LA ESTRATEGIA DE AUTOMATIZACIÓN


Se trata de crear un sistema automático que transportará una caja desde una
posición inicial hasta una posición final por medio de una banda transportadora. El
controlador deberá accionar la banda cuando el usuario presione un pulsador de
arranque. Entonces la banda llevará la caja desde su ubicación inicial hasta la
ubicación de un detector de cruce. Una vez que este último detecte la caja,

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
260

proporcionará una señal digital al controlador indicando que la caja ha alcanzado


su ubicación final, haciendo que la banda se detenga.

12.3 CREACIÓN DEL PROGRAMA DE CONTROL


El programa de control se realizará con diagramas de escalera. Para ello sigue los
siguientes pasos:
1. Entra a MikroPLAN y haciendo clic en la opción “Licencias”->”Seleccionar …”
selecciona la licencia “MikroPLAN_VP”

2. En la barra de iconos de acceso rápido haz clic en y captura el esquema


de la figura 12.1

Figura 12.1 Programa de control para la banda

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
261

3. Oprime y asigna nombres a los puertos como se muestra

4. Oprime y escribe la cadena de configuración

5. Guarda el programa

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
262

12.4 CREACIÓN DEL PROTOTIPO


1. Haz clic en la opción “Prototipol”->”Ver/Crear …”

2. Aparecerán 3 ventanas más

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
263

OBSERVACIONES
a. En el árbol de recursos se presentan todos los elementos que conforman la
celda, así como las conexiones, interacciones y ensambles entre ellos. Se
conforma de 6 grupos de elementos:
- CONTROLADORES. Agrupa los controladores y componentes programables
- CONEXIONES. Agrupa las definiciones de las conexiones entre los
controladores y los componentes.
- PANEL. Agrupa los pulsadores e indicadores que conforman el panel de
control de la celda
- COMPONENTES. Agrupa los elementos mecatrónicos y electromecánicos
- INTERACCIONES. Agrupa las definiciones de las interacciones entre los
objetos manipulados (unidades de trabajo) y los objetos manipuladores
(actuadores o sensores) en la celda.
- ENSAMBLES. Agrupa los diferentes acoplamientos mecánicos entre los
componentes

b. En el grupo “_CONTROLADORES” aparece un controlador

En este caso, MikroPLAN asume que el controlador primario o por defecto es la


tarjeta Arduino (PLCmDuino)

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
264

c. En el grupo “_CONEXIONES” aparecen los nombres de las terminales


asignadas a las entradas y salidas del controlador

Las flechas indican el tipo de terminal el cual puede ser de entrada o salida. El
señalamiento de la flecha hacia la izquierda indica una terminal de entrada. El
señalamiento de la flecha hacia la derecha indica una terminal de salida.

d. El panel de control es la interfaz gráfica de comunicación entre el usuario y la


celda.

e. La celda de trabajo es el área gráfica que muestra los componentes de la


celda en vista de perspectiva.

12.4.1 Adición de la banda transportadora


1. En el árbol de recursos, haz doble clic en la rama “_COMPONENTES”.
Aparecerá el cuadro de diálogo

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
265

2. Selecciona el combo “Clase” y haz clic en la clase “BANDA


TRANSPORTADORA”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
266

3. En el campo “Nombre” anota la palabra “banda”

4. Haz clic en la pestaña “Adicionales”. Llena los campos como se muestra

5. Oprime “Agregar”. En la celda de trabajo aparecerá la banda. Oprime “Salir”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
267

12.4.2 Adición de dos postes


1. Haz doble clic en la rama “_COMPONENTES” y agrega un
”PARALELEPIPEDO”. Llena los campos como se muestra

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
268

2. Agrega otro “PARALELEPIPEDO”. Llena los campos como se muestra

La celda debería tener la apariencia que se muestra

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
269

12.4.3 Adición del detector de cruce


Agrega un “DETECTOR_DE_CRUCE”. Llena los campos como se muestra

La celda de trabajo debería tener la apariencia que se muestra

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
270

OBSERVACIÓN
El detector de cruce tiene dos elementos: el emisor y el receptor. El emisor
adquiere el color que se establece en el registro del componente. El receptor tiene
el color por defecto que se muestra

12.4.4 Adición de la unidad de trabajo


En el árbol de recursos haz clic en “_COMPONENTES” y agrega una
“PARALELEPIPEDO”. Llena los campos como se muestra

La celda debería tener la apariencia que se muestra

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
271

12.4.5 Adición de interacciones


En MikroPLAN, una interacción es una entidad virtual a través de la cual se define
la interacción que tienen los objetos en la celda. Está compuesta de tres
elementos:
- Cara del objeto manipulado
- Cara del objeto manipulador
- Altura del volumen de interacción que corresponde a la altura del prisma
extruido desde la cara del objeto manipulador hacia afuera.

Cuando la cara del objeto manipulado está dentro del volumen de interacción y es
paralela a la cara del objeto manipulador se dice que el objeto manipulado está
enfocado. Cuando esto sucede, se considera que el objeto manipulador y el objeto
manipulado interactúan entre sí.

Para este ejemplo, la caja es la unidad de trabajo de la celda y debe estar


colocada inicialmente sobre la banda. Por tanto, es necesario definir una
interacción entre la base de la caja y la cinta de la banda. Además se requiere

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
272

definir otra interacción entre una de las caras laterales de la caja con la cara del
detector de cruce.

Para la interacción entre la caja y la banda procedemos como sigue:


1. Haz doble clic sobre el árbol de recursos en el grupo “_INTERACCIONES”.
Aparecerá la ventana para el registro de interacciones

2. Oprime “Ctrl-Y” sobre la celda de trabajo para acomodar la ventana de


interacciones y la celda de trabajo

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
273

3. Oprime la tecla “Ctrl” y con el cursor haz clic sobre la cara superior de la caja
(cara del objeto manipulado). La cara se resaltará en color azul

OBSERVACIÓN
Para seleccionar un objeto, solamente haz clic sobre el componente. Para
seleccionar un poliedro, oprime “Shift” y clic izquierdo sobre él.

4. Oprime el botón “Seleccionar” en el área del “Objeto manipulado” de la ventana


“Agregar interacción”. Los datos de la cara aparecerán en el campo
correspondiente.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
274

5. Oprime la tecla “Ctrl” y haz clic con el cursor sobre la cinta de banda

6. Oprime “Seleccionar” en el área del “Objeto actuador o sensor”. Los datos de la


cara aparecerán en los campos correspondientes.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
275

7. Anota en el campo “Altura de interacción” el valor 0.001 (1 mm).

8. Oprime “Agregar”. El árbol de recursos mostrará la interacción creada. Si no


puedes visualizar el árbol de recursos, oprime “Ctrl-R” sobre la celda

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
276

9. En “_COMPONENTES”, haz doble clic en el componente “caja”. Modifica el


ángulo de rotación en X (Yaw) a 180o. Oprime “Actualizar”

10. En “_INTERACCIONES”, haz doble clic en la interacción que creaste. En

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
277

“Acción inicial” de “Objeto manipulado” selecciona la opción “Soltar


sobre/Alinear con actuador”

11. Oprime “Actualizar”. La caja se pondrá sobre la banda

12. Para crear la segunda interacción entre la caja y el detector de cruce, haz clic
en el árbol de recursos en “_INTERACCIONES”. Aparecerá el cuadro de
diálogo “Agregar interacción”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
278

13. Selecciona la cara lateral de la caja como se muestra y luego oprime el


pulsador “Seleccionar” en la caja de diálogo

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
279

14. Con la tecla de cursor izquierdo desplázate alrededor de la banda. También


puedes hacerlo manteniendo el botón izquierdo del ratón y desplazando el
cursor hacia la izquierda sobre la celda de trabajo

15. Ubícate en el detector de cruce oprimiendo “Ctrl”-Cursor izquierda para


desplazar la escena hacia la izquierda. Luego acércate a éste oprimiendo
“Ctrl” – Cursor derecha.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
280

También puedes oprimir los siguientes comandos:


- “Alt” y clic izquierdo para centrar la escena en algún objeto
- “Alt” – “Shift” y clic izquierdo para centrar la escena en algún poliedro
- “Alt” – “Ctrl” y clic izquierdo para centrar la escena alguna cara

16. Selecciona la cara y en el cuadro de diálogo de la interacción, oprime el


pulsador “Seleccionar”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
281

17. Para el detector de cruce no es necesario especificar una altura para el


volumen de interacción. Oprime “Agregar”. Se agregará la interacción al árbol
de recursos

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
282

18. En el menú principal selecciona “Proyección”->”Vista …”

Aparecerá el cuadro de diálogo con información sobre la proyección en


perspectiva actual.

19. Oprime el botón “Restaurar”. También puedes hacerlo, oprimiendo la tecla


“Inicio”. La proyección retornará a su presentación inicial

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
283

12.4.6 Definición de las conexiones de la banda


1. En al árbol de recursos, haz clic en el componente “banda”. Aparecerá el
cuadro de diálogo para editar el componente

2. Haz clic en la pestaña “Conexión al sistema”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
284

OBSERVACIONES
a. Las terminales del componente son las designaciones de las entradas y salidas
del componente. El carácter “I” indica que la terminal recibe una señal (entrada).
El carácter “O” indica que la terminal proporciona una señal (salida).

b. La terminal de la banda “HABILITACIÓN” acciona la banda. La terminal


“SENTIDO” controla el sentido del avance de la banda. Ambas son terminales
digitales activas con lógica positiva.

c. Las terminales del sistema son las designaciones de las entradas y salidas de
los controladores en la celda.

d. El sentido de las flechas tiene el mismo significado que se explicó


anteriormente.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
285

3. Selecciona las terminales “HABILITACIÓN” y “__PLCmDuino.Q0.2  BANDA”.


Luego presiona “Conectar”

Aparecerá un cuadro de diálogo indicando que faltan conexiones.

Oprime “Aceptar”

4. Selecciona las terminales “SENTIDO” y “__PLCmDuino.Q0.2  BANDA”.


Oprime después “Conectar”.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
286

Aparecerá el cuadro de diálogo

Oprime “Aceptar”. En el cuadro del editor de componentes oprime “Actualizar”.


Guarda el documento.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
287

12.4.7 Definición de la conexión del detector de cruce


En el árbol de recursos haz clic en el componente “detector”. Elige la pestaña
conexiones y realiza la conexión como se muestra. Oprime “Actualizar” al terminar.

12.5 CREACIÓN DEL PANEL DE CONTROL


1. En el árbol de recursos haz doble clic sobre “_PANEL”. Aparecerá el cuadro de
diálogo

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
288

2. Selecciona en “Pulsador” en “Tipo”

3. En conexión, selecciona la que se muestra

OBSERVACIÓN
Las terminales de entrada de los controladores solamente aceptan pulsadores o
interruptores

4. En el campo “Texto”, anota la palabra como se muestra

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
289

5. Oprime “Agregar”. El panel de control tendrá la apariencia que se muestra

6. En el árbol de recursos haz nuevamente clic sobre “_PANEL” y configura el


cuadro de diálogo como se muestra

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
290

7. Oprime “Agregar”. El panel tendrá la apariencia que se muestra

OBSERVACIÓN
Las terminales de salida de los controladores solamente aceptan LED’s

12.6 CORRIDA DE LA SIMULACIÓN


1. Si deseas ver la corrida gráfica del programa en KOP junto la simulación de la
celda, haz clic en la opción “Prototipo”->”Configuración …”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
291

Haz clic en la opción “Mostrar corrida de programa principal”. Luego oprime


]”Aceptar”

OBSERVACIÓN
La visualización de la simulación KOP afectará el desempeño de la simulación
total, disminuyendo su velocidad

2. En la barra de iconos de acceso rápido oprime . Se compilará la estrategia

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
292

2. Oprime “Aceptar”. Aparecerá el cuadro de diálogo

3. Oprime “Aceptar”. Aparecerá el cuadro de diálogo

4. Oprime “Aceptar”. Iniciará la simulación

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
293

5. En el panel de control, oprime el pulsador “Arranque”. Comenzará a funcionar la


banda y la caja se transportará a la velocidad de 0.5 m/s aproximadamente, tal
como se especificó en el registro del componente cuando ésta se agregó a la
celda

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
294

6. Cuando la caja alcance la ubicación del detector de cruce, la banda se


detendrá. Sin embargo la simulación continuará.

7. Para terminar la simulación, oprime

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
295

8. Para reiniciar la simulación, oprime . Aparecerá el cuadro de diálogo

9. Y la simulación estará preparada para reiniciar

10. Desactiva la casilla “Mostrar corrida del programa principal” en la


configuración del prototipo virtual y vuelve a correr la simulación. Esta vez la
corrida se realizará mucho más rápido

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
296

12.7 EDICIÓN DE MODELOS DE COMPONENTES


MikroPLAN incluye un editor de componentes. Esta herramienta te permitirá
construir modelos virtuales de dispositivos o equipos mecatrónicos que
posteriormente podrás incluir en una estrategia de automatización para realizar su
control o activación.

12.7.1 Creación del modelo


Para el ejemplo se realizará el dispositivo que se muestra a continuación

Se trata de un recolector de cajas giratorio de cuatro paletas.

1. Haz clic en la opción “Prototipo” -> “Edita componente …”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
297

2. Aparecerán las ventanas que se muestran

La escala del visor del componente está en metros.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
298

3. En el editor de componentes captura el código que se muestra en el listado 12.1

CLASE RECOLECTOR
UNIDAD mm

* Soportes
PARA FIJO "Brazo1" 600 100 50
TRASLADAR 0 0 125

PARA FIJO "Brazo2" 600 100 50


EJE ORIGEN EJE_Z
TRASLADAR 0 0 125
ROTAR 90 1

* Bases
PARA FIJO "Base1" 300 300 25
COLOR 255 0 0
TRASLADAR 400 0 150

PARA FIJO "Base2" 300 300 25


COLOR 0 255 0
TRASLADAR -400 0 150

PARA FIJO "Base3" 300 300 25


COLOR 0 0 255
TRASLADAR 0 -400 150

PARA FIJO "Base4" 300 300 25


COLOR 255 255 0
TRASLADAR 0 400 150

* Soportes
PRISMA FIJO "Soporte1" 100 100 1 20

Listado 12.1 Código que implementa el recolector

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
299

PRISMA ROT DELTA 1 "Soporte2" 50 50 1 20


EJE ORIGEN EJE_Z
TRASLADAR 0 0 80

* Asigna motor de dos terminales a "Soporte2"


ACTUADOR MHABSEN "Soporte2" HABILITAR SENTIDO 45 *Velocidad de 45°/s

ACOPLAR "Soporte1" "Soporte2"


ACOPLAR "Soporte2" "Brazo1"
ACOPLAR "Soporte2" "Brazo2"
ACOPLAR "Brazo1" "Base1"
ACOPLAR "Brazo1" "Base2"
ACOPLAR "Brazo2" "Base3"
ACOPLAR "Brazo2" "Base4"

Listado 10.1 (Conclusión)

OBSERVACIONES
a. El código fuente del listado 10.1 se conforma de comentarios, comandos y
primitivas

b. Los comentarios comienzan con el carácter ‘*’

c. El comando “CLASE” define el nombre de la clase de componente que se va a


crear

d. El comando “UNIDAD” especifica la unidad de medida que se utilizará en las


dimensiones de los elementos que conforman el componente

e. La primitiva “PARA” agrega un paralelepípedo al modelo del componente y lo


define como el poliedro actual. Los parámetros para este comando son:
El primer parámetro puede tener los valores “FIJO” si el poliedro no se va a
mover; “ROT” si va a girar sobre un eje o “LIN” si se puede desplazar a lo largo

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
300

de un eje
El segundo parámetro indica el nombre del poliedro entre comillas
El tercer parámetro indica el valor del largo (sobre el eje X)
El cuadro parámetro indica el valor del ancho (sobre el eje Y)
El quinto parámetro indica el valor del alto (sobre el eje Z)
El modelo del poliedro tiene como centro el origen del plano

f. El comando “TRASLADAR” realiza la traslación del poliedro actual a la


ubicación especificada por los tres parámetros que le siguen

g. El comando “EJE” añade al poliedro actual un eje para desplazamiento o


rotación. Los parámetros que siguen a este comando, especifican las
coordenadas de los dos puntos especificadas como una triada de números
cada uno o bien como vectores constantes: ORIGEN, EJE_X, EJE_Y o EJE_Z

h. El comando “ROTAR” rota el poliedro actual los grados especificados por el


primer parámetro alrededor del número de eje especificado por el segundo
parámetro

i. El comando “COLOR” especifica los valores R G B para definir el color del


poliedro actual

j. La primitiva “PRISMA” agrega al modelo un prisma y lo define como el poliedro


actual. El primer parámetro puede tener los valores “FIJO” si el poliedro no se
va a mover; “ROT” si va a girar sobre un eje o “LIN” si se puede desplazar a lo
largo de un eje. Si el poliedro es movible, el parámetro “DELTA” define el
incremento angular en grados o lineal en unidades de medida que se
desplazará si se manipula manualmente. El siguiente parámetro es el nombre
del poliedro y después sus dimensiones. El primer parámetro define el radio del
prisma; el segundo la altura; el tercero la relación de aspecto entre la base
superior y la inferior y el último parámetro define el número de caras del prisma.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
301

k. El parámetro a continuación de “ROT” indica el valor de desplazamiento angular


en grados que se utilizará sólo en la manipulación manual del poliedro

l. El comando “ACTUADOR” define el tipo de actuador que se utilizará para rotar


o desplazar algún poliedro. Sus parámetros son:
Parámetro 1. Los tipos de actuadores pueden ser
MHABSEN asigna un motor con 2 terminales: una para controlar su
encendido y la otra controlar el sentido de rotación
MPASOS4 asigna un motor unipolar a pasos de 4 fases con desplazamiento
de 1.8°/paso
MSERVO asigna un servomotor con desplazamiento desde -90° a 90° (o a
180° absoluto)
MEMX asigna un motor con entradas de accionamiento mutuamente
exclusivas.

Parámetro 2. Indica el nombre del poliedro entre comillas


Parámetro 3. A partir de este parámetro se definen:
Para el tipo de motor MHABSEN, las dos entradas de control más la velocidad
del motor en °/s.
Para el tipo de motor MPASOS4, las cuatro terminales de las fases.
Para el tipo de motor MSERVO, se define la terminal de control
Para el tipo de motor MXOR, se definen las dos terminales de control más la
velocidad del motor en °/s

j. El comando “ACOPLAR” acopla el poliedro definido por el segundo parámetro


con el poliedro cuyo nombre es el primer parámetro

4. Una vez que hayas capturado el código, realiza su compilación oprimiendo el


botón “Compilar”. Si no hubo errores deberá aparecer el modelo que creaste.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
302

12.7.2 Guardado del modelo


Haz clic en el botón “Guardar”. Nombra el archivo como
“RECOLECTOR_MHABSEN” y ubica el lugar el lugar en donde guardarás el
modelo

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
303

El modelo se guardará con la extensión “MVMP”. Oprime “Guardar”.

12.7.3 Manipulación del modelo


1. Sobre el visor del modelo, oprime “Ctrl-M”. Aparecerá la ventana de
manipulación del modelo.

2. Sobre la ventana de manipulación, oprime la tecla “Cursor derecha” o “Cursor


izquierda” para mover el recolector.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
304

3. Aumenta o disminuye el valor incremental para el desplazamiento, oprimiendo


“Ctrl-Cursor arriba” o “Ctrl-Cursor abajo”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
305

4. Observa que ahora el desplazamiento angular es mayor cuando oprimes


“Cursor derecha” o “Cursor izquierda”

Cierra el visor del modelo.

12.8 INCLUSIÓN DEL MODELO EN LA ESTRATEGIA DE


AUTOMATIZACIÓN
1. Desde el menú principal de MikroPLAN, crea el diagrama KOP que se muestra
abajo

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
306

2. La cadena de configuración para el programa es

3. Los puertos son

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
307

4. Agrega el prototipo de una celda

5. Agrega al panel los elementos que se muestran junto con sus conexiones en la
ventana de recursos

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
308

El panel debería queda como

6. En la ventana de recursos, haz clic en “_COMPONENTES” y agrega el


elemento “MODELO VIRTUAL MikroPLAN”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
309

7. Aparecerá el botón “Buscar …”. Oprímelo y ubica el archivo del modelo que
creaste

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
310

8. Haz clic en “Abrir”. La ventana de componentes tendrá la apariencia que se


muestra

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
311

9. Captura la palabra “recolector” en el campo “Nombre:” y cambia el color del


cuerpo del recolector al color que se muestra

Haz clic en “Agregar”. La celda de trabajo tendrá la apariencia que se muestra.

10. Haz clic en la pestaña “Conexiones al sistema” y realiza las conexiones como
se muestra

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
312

Oprime “Actualizar” y guarda el trabajo.

12.9 CORRIDA DE LA ESTRATEGIA


1. Corre la simulación

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
313

2. Oprime el pulsador “Arranque”. El recolector deberá activarse

3. Oprime el pulsador “Paro”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
314

Para más ejemplos de programación utilizando el simulador de sistemas


automatizados, consulta el documento “Introducción a la Automatización con la
Tarjeta Arduino. Simulación e Implementación” el cual estará disponible en los
próximos meses.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
315

CAPÍTULO 13

MikroPLAN y FACTORY I/O

FACTORY I/O es un software de escritorio que permite crear y simular prototipos


virtuales de sistemas automatizados. Además permite comunicarse con equipos
de control como PLC’s y a otras aplicaciones para realizar desde ahí el control en
tiempo real del prototipo virtual que esté cargado en su entorno de desarrollo.

En la figura 13.1 se muestran los varios esquemas de comunicación que se


pueden utilizar en FACTORY I/O para comunicarse con esas aplicaciones.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
316

Figura 13.1 Lista de los esquemas de comunicación soportados por FACTORY I/O
para comunicarse con otras aplicaciones

En particular, para la comunicación de MikroPLAN con FACTORY I/O se utilizará


el esquema de comunicación “ModBus TCP/IP Server”. Como cliente, MikroPLAN
puede intercambiar información con el servidor en tres diferentes modos:

Simulación. MikroPLAN puede intercambiar datos entre el programa del usuario


que actualmente se esté simulando en su IDE y el servidor ModBus TCP/IP de
FACTORY I/O. El programa del usuario debe utilizar el puerto I2 para obtener el
estado de los sensores del sistema automatizado y Q2 para activar los actuadores
del mismo en FACTORY I/O. Ambos puertos se consideran de 16 bits.

PLCmDuino. MikroPLAN puede intercambiar datos entre una tarjeta Arduino que
tenga alojado el BIOS PLCmDuino y el servidor ModBus TCP/IP de la otra
aplicación. Para este caso, en la tarjeta Arduino debe estar cargado un programa
que se haya desarrollado con alguno de los tres lenguajes que soporta

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
317

MikroPLAN. Los puertos para el intercambio de información con FACTORY I/O


deben ser los mismos que para el modo anterior.

Dispositivo en COM. MikroPLAN puede intercambiar datos entre cualquier


dispositivo programable que esté conectado a un puerto COM y el servidor
ModBus TCP/IP de FACTORY I/O. En este caso, el dispositivo programable debe
utilizar un formato específico para poder enviar y recibir datos hacia y desde
MikroPLAN. Más adelante en este capítulo se mostrará cómo realizar esto desde
la tarjeta Arduino, utilizando su lenguaje de programación nativo denominado
Processing.

Para utilizar estas funciones de MikroPLAN, se deberá seleccionar la licencia


“MikroPLAN_ModBus” en cualquiera de sus modalidades LOCAL o REMOTA.

Además, una vez que la función seleccionada haya sido activada, MikroPLAN
deberá estar corriendo siempre junto con FACTORY I/O.

13.1 PREPARACIÓN DE FACTORY I/O


A continuación se ejemplificará cada uno de estos modos de intercambio de datos

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
318

utilizando un enlace cliente – servidor entre MikroPLAN y la aplicación de


simulación de sistemas automatizados FACTORY I/O para controlar un conveyor.
En cualquier modo, se deberá preparar esta aplicación de la siguiente forma.

1. Corre la aplicación “FACTORY I/O”

OBSERVACIÓN
La versión que se utilizará en el curso es la 2.2.3

2. Aparecerá la ventana principal del programa.

3. Elige la opción “Open” y luego “Scenes”. Escoge el proyecto 1 que se muestra.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
319

4. Se trata de un sistema conformado por un conveyor, una caja y un sensor de


cruce.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
320

5. Escoge la opción “File”->”Drivers”

6. En “DRIVER” selecciona el que se muestra.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
321

7. Aparecerá la configuración del servidor ModBus TCP/IP en “FACTORY I/O”.


Los valores que se muestran en la ventana se utilizarán para configurar el
enlace del lado del cliente en MikroPLAN.

OBSERVACIONES
a. Las etiquetas a la izquierda dentro del recuadro corresponderían, en
MikroPLAN, a las designaciones de los bits del puerto de entrada I2 mientras
que las de la derecha corresponderían a las designaciones de los bits del
puerto de entrada Q2.

b. La etiqueta que se encuentra más arriba, en cada lado del recuadro, identifica al
bit menos significativo para cualquiera de los puertos. La que está más abajo
identifica al bit más significativo.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
322

13.2 ENLACE AL SERVIDOR DE FACTORY I/O UTILIZANDO


COMO CLIENTE LA SIMULACIÓN DEL PROGRAMA DEL
USUARIO
Mediante este tipo de enlace es posible que desde una estrategia de control que
se esté simulando en MikroPLAN y que haya sido implementada en cualquiera de
los tres lenguajes gráficos que soporta esa aplicación – diagramas de escalera,
diagramas de circuitos lógicos o diagramas de flujo – se controlen prototipos
virtuales de sistemas automatizados en Factory I/O. Para ello, se deberán realizar
los siguientes pasos:
1. Carga el programa ejemplo que aparece en la carpeta

C:\ProyexDuino\Proyectos\PLCmDuino\Programación\Ejemplos\Ladder\
Específicos para PLCmDuino\Control de Prototipos Virtuales\FACTORY_IO\
Ejemplo 01 From A to B.KOP

Se trata de una red de arranque y paro que activará el conveyor en FACTORY


I/O hasta que la caja sea detectada por el sensor de cruce. Las etiquetas están
definidas de la manera siguiente.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
323

2. En “Licencias”, selecciona la licencia “MikroPLAN_ModBus”.

3. Elige la opción “Enlaces”->”ModBus TCP/IP”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
324

4. Aparecerá un cuadro de diálogo. En el grupo “Cliente” haz clic en “Simulación”.


En el grupo “Servidor” anota la información que se mostró para el servidor en
FACTORY I/O.

5. En el grupo “Puertos I2 – Q2”, modifica los valores de las direcciones iniciales


de los puertos I (Digital Inputs) y Q (Digital Outputs) para que coincidan con los
de esos mismos puertos en FACTORY I/O. Checa esta información haciendo
clic en “CONFIGURATION” y consultando la sección “I/O Points”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
325

6. Oprime “Conectar”. Si la conexión tuvo éxito, aparecerá el cuadro de diálogo.

7. Oprime “Aceptar”. Se compilará el proyecto e iniciará la simulación.

8. En FACTORY I/O, corre la simulación

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
326

9. Organiza las ventanas de MikroPLAN y FACTORY I/O y oprime desde el tablero


de MikroPLAN, el interruptor “I0.0”. La comenzará a desplazarse.

10. Cuando la caja llegue a la ubicación del detector, el conveyor deberá


detenerse.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
327

11. Reinicia la corrida en FACTORY I/O

12. La información de los sensores se actualizará automáticamente en


MikroPLAN.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
328

13. Puedes detener la simulación en MikroPLAN en cualquier momento


oprimiendo el botón de cancelación

Pero el programa en FACTORY I/O seguirá corriendo.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
329

14. Después de detenido el programa y si el enlace a FACTORY I/O fue exitoso,


puedes correr nuevamente la aplicación en MikroPLAN haciendo clic en el
botón de corrida del programa con conexión al servidor ModBus TCP/IP.

13.3 ENLACE AL SERVIDOR DE FACTORY I/O UTILIZANDO


COMO CLIENTE LA TARJETA ARDUINO CON EL BIOS
PLCmDuino
En este modo de operación del enlace cliente – servidor ModBus TCP/IP, se
puede cargar en una tarjeta Arduino que tenga alojado el BIOS PLCmDuino algún
programa de control realizado desde MikroPLAN. Luego, utilizando esta misma
aplicación como interfaz de comunicación, desde el programa cargado en la tarjeta
Arduino se puede realizar el control en tiempo real del prototipo virtual de algún
sistema automatizado que esté cargado en FACTORY I/O.

El programa de control puede realizarse en cualquiera de los tres lenguajes


gráficos que soporta MikroPLAN. Por tanto, en la tarjeta Arduino que se vaya
programar – UNO R3 o MEGA 2560 – se deberá utilizar la correspondiente versión

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
330

del BIOS PLCmDuino para esa tarjeta: LADDER, GATES y FCHART.

Para el ejemplo que sigue, se utilizará una tarjeta Arduino UNO R3 que deberá
tener alojado el BIOS PLCmDuino LADDER.
1. Arma el circuito que se muestra en la figura 13.2.

Figura 13.2 Circuito de prueba para realizar el control del prototipo virtual en
FACTORY I/O desde la tarjeta Arduino

2. Corre MikroPLAN y abre el programa que se mostró en la sección 12.2.

3. Conecta la tarjeta Arduino a tu PC. Haz clic en la opción “PLCmDuino”-


>”Detectar …”

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
331

4. Aparecerá un cuadro de dialogo. Anota el número de puerto para comunicarse


con MikroPLAN.

5. Oprime “Detectar”. Aparecerá un cuadro de diálogo.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
332

6. Oprime “Aceptar”. El cuadro de detección del BIOS debería tener la apariencia


que se muestra.

7. Oprime “Salir”. Carga el programa en la tarjeta. Haz clic en el botón

8. En el circuito de la figura 13.2, el LED en Q0.3 debería estar encendido.

9. Oprime el botón de “PLAY” en FACTORY I/O.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
333

10. En MikroPLAN, cierra el programa que cargaste y selecciona la licencia


“MikroPLAN_ModBus”.

11. Luego haz clic en la opción “Enlaces”->”ModBus TCP/IP”. Elige la caja de


opciones “Cliente” selecciona “PLCmDuino”. En la caja de opciones del
servidor anota los valores que te proporcionó FACTORY I/O.

12. Oprime “Conectar”. Aparecerá el cuadro de diálogo.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
334

13. Oprime “Aceptar”. Iniciará el intercambio de datos entre MikroPLAN y el BIOS


PLCmDuino. En el circuito, los dos LEDs deberían estar apagados.

14. Selecciona FACTORY I/O para que puedas visualizar la activación del
conveyor. En el circuito, oprime ahora el pulsador ARRANQUE – entrada
I0.1. El LED en Q0.2 se encenderá.

Y el conveyor en FACTORY I/O se activará y la caja comenzará a


desplazarse.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
335

15. Deja que la caja llegue hasta la posición del sensor

Una vez que la caja llegue a esa posición, solamente el LED en Q0.3 debería
estar encendido.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
336

16. Reinicia la simulación en FACTORY I/O

17. Prueba la condición de arranque y paro en el circuito de la figura 13.2,


oprimiendo primero “I0.0” y luego de un tiempo “I0.1”.

18. Para detener el intercambio de datos, selecciona MikroPLAN en la barra de


tareas y oprime “Cancelar”.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
337

La comunicación entre MikroPLAN y PLCmDuino terminará, pero el programa


en el Arduino seguirá corriendo.

13.4 ENLACE AL SERVIDOR DE FACTORY I/O UTILIZANDO


COMO CLIENTE CUALQUIER DISPOSITIVO
PROGRAMABLE EN UN PUERTO COM
En este modo de operación del enlace cliente – servidor ModBus TCP/IP entre
MikroPLAN y FACTORY I/O, se puede utilizar cualquier dispositivo programable
que se pueda comunicar con la PC a través de un puerto COM, para desde ahí
controlar algún prototipo virtual en FACTORY I/O.

Esto se realiza de la siguiente forma.


1. MikroPLAN obtiene el estado de los sensores en FACTORY I/O y envía esta
información al dispositivo programable.
2. El dispositivo programable lee la información del estado de los sensores que
recibió de MikroPLAN y en respuesta, le envía los valores que activarán los
actuadores.
3. MikroPLAN lee la respuesta del dispositivo programable y envía esta
información a FACTORY I/O para activar los actuadores.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
338

Se puede utilizar cualquier dispositivo programable – microcontrolador, FPGA,


SoC, tarjeta Arduino, etc. – para realizar la acción de control del prototipo virtual
en FACTORY I/O, siempre y cuando se siga el procedimiento descrito arriba para
la comunicación con MikroPLAN. Como ejemplo para esta sección, se utilizará la
tarjeta Arduino, en la cual se grabará un programa utilizando su lenguaje nativo
que realiza la misma acción descrita en el diagrama de escalera que se utilizó en
la sección 12.2. En el listado 13.1 se muestra la implementación de dicho
programa.

#include <Serial.h>
#include <JOGATECH_MPSerial.h>

// Declara objeto
JOGATECH_MPSerial prototipo;

// Entradas Arduino
#define ARRANQUE 2
#define PARO 3
// Salidas Arduino
#define CONVEYOR_ARDUINO 4
#define SENSOR_ARDUINO 5

// Puerto I2
#define SENSOR_FACTORY 0
// Puerto Q2
#define CONVEYOR_FACTORY 0

void setup()
{
pinMode(ARRANQUE,INPUT);
pinMode(PARO,INPUT);
pinMode(CONVEYOR_ARDUINO,OUTPUT);
pinMode(SENSOR_ARDUINO,OUTPUT);

Listado 13.1 Programa de control del conveyor utilizando Processing

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
339

// Inicio
prototipo.start();
}

boolean banda = false;

void loop()
{
// Comunicación con JOGATECHConex/MikroPLAN
prototipo.connect();

// Adquisición de entradas físicas


boolean arranque = digitalRead(ARRANQUE);
boolean paro = digitalRead(PARO);

// Adquisición de entradas virtuales


boolean sensor = prototipo.digitalRead(SENSOR_FACTORY);

// Red 1: Arranque y paro del conveyor


banda = (arranque | banda) & !paro & sensor;

// Generación de señales físicas


digitalWrite(CONVEYOR_ARDUINO, banda);
digitalWrite(SENSOR_ARDUINO, !sensor);

// Generación de señales virtuales


prototipo.digitalWrite(CONVEYOR_FACTORY, banda);
}

Listado 13.1 (Conclusión)

OBSERVACIONES
a. El programa utiliza la biblioteca “JOGATECH_MPSerial”. Contiene el archivo de
cabecera y la implementación para la clase JOGATECH_MPSerial que se utiliza
para definir el objeto con el que podrá realizar el enlace con MikroPLAN desde
Arduino.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
340

b. Se utiliza el método “start()” del objeto de la clase JOGATECH_MPSerial para


inicializar el puerto serie de Arduino a 9600 bps.

c. Se utiliza el método “connect()” del objeto de la clase JOGATECH_MPSerial


para comunicarse con MikroPLAN. A través de él se recibe y se envía la
información desde y hacia MikroPLAN.

d. Se utiliza el método “digitalRead(n_bit)” del objeto de la clase


JOGATECH_MPSerial para obtener el estado lógico del n-ésimo sensor de
FACTORY I/O. El valor “n_bit” puede estar únicamente entre 0 y 15.

e. Se utiliza el método “digitalWrite(n_bit, estado)” del objeto de la clase


JOGATECH_MPSerial para accionar el n-ésimo actuador en FACTORY I/O. El
valor “n_bit” puede estar únicamente entre 0 y 15. “estado” puede ser “true” o
“false”.

Para realizar el control del prototipo virtual en FACTORY I/O desde Arduino
utilizando el programa del listado 13.1 sigue los siguientes pasos.

1. Arma el mismo circuito que se mostró en la figura 13.2.

2. Copia la carpeta “JOGATECH_MPSerial” que se encuentra en

C:\ProyexDuino\Proyectos\PLCmDuino\Señalización y
adquisición\Arduino\libraries\

A la carpeta “libraries” del IDE de Arduino que estés utilizando.

3. Corre el IDE de Arduino y abre el código fuente en Processing que está en la


carpeta.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
341

C:\ProyexDuino\Proyectos\PLCmDuino\Señalización y
adquisición\Arduino\Ejemplo\Ejemplo_01_Traslado_de_A_a_B\

Corresponde al programa que se revisó en el listado 13.1

4. Conecta la tarjeta Arduino a la PC. Configura el tipo de tarjeta y el puerto.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
342

5. Carga el programa en el Arduino

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
343

6. En el circuito de la figura 13.2, el LED en Q0.3 debería estar encendido.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
344

7. Oprime el botón de “PLAY” en FACTORY I/O.

8. Corre MikroPLAN. Selecciona la licencia “MikroPLAN_ModBus” y luego haz clic


en la opción “Enlaces”->”ModBus TCP/IP”. En “Cliente” selecciona “Dispositivo
en COM”. En “Servidor” anota los valores que te proporciona FACTORY I/O.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
345

9. Oprime “Conectar”. Aparecerá el mensaje.

10. Oprime “Aceptar”. 13. Iniciará el intercambio de datos entre MikroPLAN y el


programa en Arduino. En el circuito, los dos LEDs deberían estar apagados.

11. A partir de este paso, el comportamiento del sistema Arduino – MikroPLAN –


FACTORY I/O debe ser el mismo al que se describió a través de los pasos
14 a 18 de la sección 13.3.

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
346

CAPÍTULO 14

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 14.1 se muestra un esquema en donde
aparecen las conexiones mínimas que requiere el microcontrolador ATMEL 328P-
PU para poder trabajar con PLCmDuino sin requerir el hardware de la tarjeta
Arduino.

Figura 14.1 Sistema mínimo con el microcontrolador ATMEL 328P-PU

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
347

La lista de componentes del diagrama de la figura 14.1 se muestra en el listado


14.1.

1 microcontrolador ATMEGA328P-PU cargado con el BIOS PLCmDuino-UNO


1 módulo de comunicación Bluetooth HC-06 esclavo
1 cristal de cuarzo de 16 MHz
2 capacitores de 22 pf
1 resistor de 10 kOhm ¼ W
1 LED de color verde
1 resistor de 1 MOhm ¼ W
1 capacitor electrolítico de 1 F 16V
1 conector hembra (jack) USB tipo “A” para circuito impreso

Listado 14.1. Lista de material para armar el circuito de la figura 14.1

El módulo HC-06 permite la programación inalámbrica de PLCmDuino desde


MikroPLAN. En la figura 14.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 14.2 Autómata PLCmDuino basado en el microcontrolador ATMEGA328P-PU

Versión 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021
348

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 14.1 y 14.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 2021.18
Fecha de creación: 1/8/2016
Fecha de última revisión: 27/07/2021

También podría gustarte