PROGRAMACIÓN DE ARDUINO COMO AUTÓMATA
(LENGUAJE DE CONTACTOS – KOP)
Borrador de Guía Rápida no oficial de la aplicación
MikroPLAN de PLCmDuino
ÍNDICE
1- Introducción ...................................................................................................................... 2
2- Estructuración de la información del tutorial inicial completo ......................................... 2
3- Instalación y puesta en marcha: Vídeo 0. ......................................................................... 3
4- Abrir el entorno de programación y reconocer el Arduino conectado: Vídeo 1 (parte
final) .......................................................................................................................................... 5
5- Programar y simular: Vídeo 1 ............................................................................................ 6
6- Definir entradas y salidas y cargar el programa a Arduino: Vídeos 2 y 3 ......................... 6
7- Compilar y cargar el programa .......................................................................................... 8
8- Ejemplos: Vídeos 4, 5 y 6................................................................................................... 9
Elaborado por Pedro D. Domingo Fernández
Versión ProyexDuino_20171112
pddomingo@salesianospizarrales.com
02/12/2017
Toda la información original del proyecto en
http://programaciondearduinoconlenguajedeplc.blogspot.com.es/
1
1- Introducción
Esta guía rápida, junto con los vídeos explicativos y los ejemplos realizados no son oficiales. Toda
la información ampliada se puede localizar en la página oficial del proyecto:
http://programaciondearduinoconlenguajedeplc.blogspot.com.es/
PLCmDuino es un programa que permite programar Arduino con lenguaje de contactos (KOP),
muy extendido en el mundo de la automatización industrial. Es un lenguaje gráfico que no
requiere conocimientos de programación por código. Permite también simular los procesos
programados.
Admite la comunicación con dispositivos móviles mediante bluetooth, como se describe en el
manual del programa.
Hay opciones avanzadas, descritas también dicho manual, mediante las cuales se puede
conectar Arduino con otros programas como Step 7 de Siemens o Fuidsim.
La versión DEMO es totalmente funcional. La única limitación impuesta es que si cortas la
alimentación de la placa Arduino, se borra el programa cargado, pero la carga inicial de los
drivers necesarios, se mantiene intacta.
2- Estructuración de la información del tutorial inicial completo
El material se puede descargar en el enlace:
https://www.dropbox.com/sh/j1idh5l6gvvt6tr/AABvNI78OUFM5-NKLup0YzX-a?dl=0
Los videos se pueden ver a través de youtube, en la dirección:
https://www.youtube.com/watch?v=1VGbIeASUxI&index=1&list=PLGMZwZq6OIt-
v5ool0K8MNZQgYakCUpsZ
CONTENIDO
Guía rápida (este documento)
Ejemplo 1: Marcha paro
Ejemplo 2: Función telerruptor
Ejemplo 3: Temporizadores e intermitencia
Vídeo 0: Instalación y configuración
Vídeo 1: Escribir programa y simular
Vídeo 2: Definir entradas y salidas
Vídeo 3: Abrir, compilar y cargar programa a Arduino
Vídeo 4: Ejemplo de marcha paro
Vídeo 5: Ejemplo de función telerruptor
Vídeo 6: Temporizadores e intermitencia
2
3- Instalación y puesta en marcha: Vídeo 0.
IMPORTANTE: para que PLCmDuino reconozca Arduino y cargue correctamente los programas,
hay que realizar un breve proceso de configuración de Arduino a través de la aplicación
JOGATECHProyex.exe, que se incluye en el paquete de instalación. Esta aplicación carga en
Arduino unos “drivers” (por decirlo de alguna manera) que hacen que Arduino pueda interpretar
las secuencias de automatización realizadas mediante lenguaje de contactos en el entorno de
programación MikroPLAN.
Sólo será necesario realizar esta carga de drivers una vez, por lo que no habrá que repetir el
proceso aunque se corte la alimentación a la placa Arduino.
Proceso a realizar:
1- Instalación del programa
2- Carga inicial de los “drivers” necesarios en la placa Arduino
1- Instalación del programa
Descomprimir la carpeta ProyexDuino en el disco duro C del ordenador, de tal forma
que quede así:
C:\ProyexDuino
2- Carga inicial de los “drivers” necesarios en la placa Arduino
- Doble clic sobre el ejecutable JOGATECHProyex.exe incluido en el paquete del
programa.
- Seleccionamos el sistema operativo de nuestro ordenador
- Vamos a Firmware / carga
- Indicamos en que puerto está conectado nuestro Arduino y qué tipo de Arduino
estamos utilizando (disponibles Arduino UNO y MEGA).
3
Si no sabemos en qué puerto está conectado Arduino, podemos comprobarlo fácilmente
desde el Administrador de dispositivos del ordenador. Para ello, podemos escribir
Administrador en la barra de comandos de Windows y acceder desde el acceso directo
que aparecerá:
A continuación le damos a cargar y subirá a nuestro Arduino los “drivers” iniciales necesarios
Tarda aproximadamente 20 segundos en realizar el proceso. En ocasiones, en lugar de indicar
Carga exitosa, aparece la siguiente imagen, pero el resultado es correcto. Se pulsa aceptar y
aparecerá un mensaje de confirmación.
4
- Podemos cerrar la aplicación porque ya tenemos nuestro programa instalado y los
drivers correctamente argados en Arduino. Ya está listo para ser programado mediante
lenguaje de contactos.
4- Abrir el entorno de programación y reconocer el Arduino conectado:
Vídeo 1 (parte final)
Cuando abres el entorno de programación tienes dos opciones:
1- Trabajar sin Arduino, sólo diseñando el programa y simulándolo.
2- Trabajar con Arduino cargándole el programa diseñado
1- Trabajar sin Arduino, sólo diseñando el programa y simulándolo:
Abre MikroPLAN, y cuando salga el aviso de detección de placa, como no te interesa,
haz clic en salir. A continuación, en la parte superior pincha en KOP para que se abra un
nuevo programa, o en el icono de la carpeta para abrir uno ya comenzado:
2- Trabajar con Arduino cargándole el programa diseñado
Abre MikroPLAN, y cuando salga el aviso de detección de placa, selecciona en qué
puerto tienes conectado Arduino. El número de puerto (COM5 en el siguiente ejemplo),
varía en función del ordenador y de cuantos elementos tengas conectados a los USB. Se
explica cómo conocer el puerto en el apartado 3 de este documento.
A continuación pulsa en Detectar. Si no has realizado nunca el proceso de carga de
drivers en Arduino (se indica en el apartado 3 en carga de drivers), saldrá un mensaje de
error y tendrás que realizar este proceso de carga de drivers.
5
Si ya lo has hecho, detectará tu tarjeta Arduino y podrás comenzar a trabajar con ella.
5- Programar y simular: Vídeo 1
El entorno de programación de PLCmDuino se denomina MikroPlan, y podemos encontrar el
acceso siguiendo la siguiente ruta:
C:\ProyexDuino\Proyectos\PLCmDuino\Programación\Ladder
Una vez instalado y localizado, se puede sacar un acceso directo al escritorio o cualquier otra
carpeta.
NO ES NECESARIO TENER CONECTADO NI CONFIGURADO ARDUINO PARA DISEÑAR
PROGRAMAS Y SIMULARLOS
IMPORTANTE: La única restricción por ser un programa DEMO, es que cuando se apaga
Arduino, se borra la secuencia de automatismos que hayamos introducido.
6- Definir entradas y salidas y cargar el programa a Arduino: Vídeos 2 y 3
Arduino tiene 13 pines digitales que pueden actuar como entradas y como salidas. Esto hace
que cada vez que realizas un programa, tengas que indicar en dicho programa qué puertos has
decidido que funcionen como entradas y cuáles como salidas.
CONFIGURACIÓN DE ENTRADAS Y SALIDAS
6
Sólo se usan del pin 2 al 12 de Arduino. Por tanto, las posiciones de entradas/salidas en el
programa van de la 1 a la 11, como se explica y ejemplifica a continuación y en el vídeo 2.
Los pines de conexión (puertos), se nombran desde I0.0 para entradas y desde Q0.0 para salidas.
Los pines no utilizados hay que dejarlos configurados como entradas o salidas, da igual porque
no se van a usar, pero tienen que ocupar su posición. También encontramos en el mismo
recuadro las 6 entradas analógicas de Arduino. La configuración se realiza pinchando en el icono
Arduino:
En el siguiente ejemplo se conecta un pulsador al pin 3 de Arduino, otro al pin 5 y otro al 12. Se
conectan además tres led: Uno al pin 2, otro al pin 7 y otro al pin 10 (estos tres últimos pines
actuarán como salidas). El resto de pines de Arduino no se van a usar.
Posición como Definición
Pin en
Función Denominación terminal digital Entrada/Salida en
Arduino
en MikroPLAN MikroPLAN
Entrada I0.0 3 2 i
Entrada I0.1 5 4 i
Entrada I0.2 12 11 i
Salida Q0.0 2 1 q
Salida Q0.1 7 6 q
Salida Q0.2 10 9 q
Secuencia resultante: qiiiiqiiqii
Las posiciones no usadas las podemos definir como i o q, da igual. En el ejemplo anterior se
han dejado como entradas. Se indican a continuación con una x estas entradas que no se
usan:
qixixqxxqxi
7
Así es como queda en el programa (comparar con el cuadro anterior para comprender):
7- Compilar y cargar el programa
1- Compilación: En el proceso de compilación, lo que hace el programa es chequear si hay
alguna secuencia programada errónea. Si compila correctamente quiere decir, que al
menos la sintaxis del programa es correcta. Esto no implica que no hayas caído en
incongruencias, deficiencias, etc., en la elaboración de tu proceso de automatización.
Además, traduce el programa elaborado a “lenguaje máquina” para que sea reconocible
por Arduino. Aquí es donde cobran importancia el haber instalado previamente los
“drivers” necesarios.
Cuando compilas, genera un archivo AWL que abre en pantalla. Lo puedes cerrar porque
no es necesario tenerlo abierto para cargar el programa ni continuar realizando otras
operaciones.
2- Carga del programa: Simplemente subimos el programa diseñado a Arduino para que
comience a ejecutarlo.
8
8- Ejemplos: Vídeos 4, 5 y 6
1- Ejemplo 1 (vídeo 4): Marcha – paro con dos pulsadores y una salida (led).
Definición
Pin en Posición como
Función Denominación Entrada/Salida en
Arduino terminal digital
PLCmDuino
Pulsador de
I0.0 2 1 i
encendido
Pulsador de
I0.1 3 2 i
apagado
Salida
Q0.0 4 3 q
conectada a led
Con enclavamiento Con SET y RESET
IMPORTANTE: El simulador solo tiene interruptores, no pulsadores. Simular el pulsador
realizando una activación de desactivación del interruptor de forma rápida.
9
2- Ejemplo 2 (vídeo 5): Función telerruptor con un pulsador y una salida (led).
Definición
Pin en Posición como
Función Denominación Entrada/Salida en
Arduino terminal digital
PLCmDuino
Pulsador I0.0 3 2 i
Salida
Q0.0 10 9 q
conectada a led
10
3- Ejemplo 3 (vídeo 6): Temporizadores y función intermitencia
Definición
Pin en Posición como
Función Denominación Entrada/Salida en
Arduino terminal digital
PLCmDuino
Salida
Q0.0 12 11 q
conectada a led
11