SlideShare una empresa de Scribd logo
1 de 184
Descargar para leer sin conexión
Programación de la Tarjeta
Arduino con Diagramas de
Escalera utilizando
MikroPLAN
Versión 2018R5
BIOS: PLCmDuino UNO v4.60, PLCmDuino MEGA v1.20
Incluye Adquisición y Señalización Digital con
Arduino desde STEP7 MicroWin, FluidSIM y
LabVIEW
Jorge García Aguirre
2
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
ÍNDICE
CAPÍTULO 1. INTRODUCCIÓN AL MANEJO DE MikroPLAN 6
1.1 DESCRIPCIÓN DEL SOFTWARE 6
1.2 LO QUE HAY DE NUEVO EN ESTA VERSIÓN 8
1.2.1 Historial 9
1.3 INSTALACIÓN DEL PROGRAMA 10
1.4 INSTALACIÓN DEL BIOS PLCmDuino EN LA TARJETA Arduino 12
1.5 DETECCIÓN DEL BIOS DESDE MikroPLAN 16
1.6 PLCmDuino EN MODO DE EVALUACIÓN 20
1.7 GENERACIÓN DE LA SOLICITUD DE LICENCIA DE ACTIVACIÓN
DE PLCmDuino 20
1.7.1 Solicitud de licencia de activación de primera vez 21
1.7.2 Recepción e instalación del archivo de licencias 25
1.7.3 Solicitud de licencia portátil 28
1.7.4 Reprogramación de Arduino con su IDE original 33
1.8 PROGRAMACIÓN DE PLCmDuino 33
1.8.1 Captura de una red de arranque y paro 33
1.8.2 Asignación de entradas y salidas 37
1.8.3 Guardado del programa 41
1.8.4 Simulación del programa en código AWL 43
1.8.5 Simulación del programa en KOP 47
1.8.6 Circuito de prueba con la tarjeta Arduino para el programa
de arranque y paro 49
1.8.7 Carga del programa en la tarjeta Arduino 50
1.8.8 Emulación de código AWL y de diagramas KOP 52
1.8.9 Paro del programa 52
1.8.10 Arranque del programa 53
1.8.11 Borrado del programa 54
1.8.12 Paro forzado al arranque 56
1.9 CONEXIÓN DE MikroPLAN Y PLCmDuino VÍA BLUETOOTH 58
1.9.1 Emparejamiento de dispositivos Bluetooth 61
CAPÍTULO 2. CARACTERÍSTICAS DE PLCmDuino 66
2.1 MARCAS ESPECIALES 66
2.1.1 Marca de ejecución continua 66
3
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
2.1.2 Marca de primer ciclo 66
2.1.3 Marca de reloj de 1 minuto 67
2.1.4 Marca de reloj de 1 segundo 67
2.1.5 Marca de conmutación de ciclo 67
2.2 REGISTROS IMAGEN DE LAS ENTRADAS 67
2.3 REGISTROS IMAGEN DE LAS SALIDAS 67
2.4 REGISTROS EN MEMORIA 68
2.5 CONTADORES 68
2.6 TEMPORIZADORES 68
2.7 PILA 68
2.8 JUEGO DE INSTRUCCIONES AWL 68
CAPÍTULO 3. PLCmDuino Y MobilePorts 71
3.1 INSTALACIÓN DE MobilePorts EN UN TELÉFONO MÓVIL 71
3.2 EMPAREJAMIENTO DEL MÓDULO BLUETOOTH CON EL MÓVIL 75
3.3 CONTROL DEL PROGRAMA EN PLCmDuino DESDE MobilePorts 76
3.3.1 Conexión de MobilePorts con PLCmDuino 76
3.3.2 Arranque, paro y estado de un programa desde MobilePorts 79
CAPÍTULO 4. EJEMPLOS DE APLICACIONES CON LÓGICA
PROGRAMABLE 84
4.1 CONTROLADOR DE NIVEL DE AGUA 84
4.1.1 Descripción de la acción de control 84
4.1.2 Falla en el sensor de fondo 87
4.1.3 Falla por falta de paso de agua 89
4.1.4 Falla por exceso de tiempo en el llenado 91
4.2 SEMÁFORO 93
CAPÍTULO 5. CONTROL DE MOVIMIENTO 97
5.1 CARACTERÍSTICAS DE CONTROL DE MOVIMIENTO CON PLCmDuino 97
5.2 ACCIONAMIENTO DE MOTORES A PASOS 98
5.3 ACCIONAMIENTO DE SERVOMOTORES 101
5.4 ACCIONAMIENTO DE MOTORES A PASOS Y SERVOS 103
4
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
CAPÍTULO 6. PLCmDuino Y STEP7 MicroWin 106
6.1 EJEMPLO DE SIMULACIÓN/EMULACIÓN 106
CAPÍTULO 7. PLCmDuino Y FluidSIM 120
7.1 PREPARACIÓN DE FluidSIM PARA LA COMUNICACIÓN CON MikroPLAN 121
7.2 ADQUISICIÓN DE DATOS Y SEÑALIZACIÓN CON PLCmDuino DESDE
FluidSIM 123
7.2.1 Preparación de FluidSIM como maestro 123
7.2.2 Preparación de PLCmDuino como esclavo 127
7.2.3 Activación de MikroPLAN como interfaz de comunicación 128
7.3 CONTROL DE PROTOTIPOS VIRTUALES EN FluidSIM DESDE PLCmDuino 134
7.3.1 Preparación de FluidSIM como esclavo 134
7.3.2 Preparación de PLCmDuino como maestro 135
7.3.3 Activación de MikroPLAN como interfaz de comunicación 138
7.4 CONTROL DE PROTOTIPOS VIRTUALES EN FluidSIM DESDE MikroPLAN 142
7.4.1 Preparación de FluidSIM como esclavo 142
7.4.2 Activación de MikroPLAN como maestro 142
CAPÍTULO 8. PLCmDuino y LabVIEW 147
8.1 INSTALACIÓN DE LA PALETA PLCmDuino DACQS 147
8.2 ACCESO A PLCmDuino DESDE LabVIEW 151
8.2.1 Corrida del instrumento virtual 158
8.3 ESCRITURA DE UN BIT A UN PUERTO DE SALIDA 159
8.4 ESCRITURA DE UN BYTE A UN PUERTO DE SALIDA 162
8.5 ESCRITURA DE UNA PALABRA A UN PUERTO DE SALIDA 164
8.6 LECTURA DE UN BIT DE UN PUERTO DE ENTRADA 165
8.7 LECTURA DE UN BYTE DE UN PUERTO DE ENTRADA 167
8.8 LECTURA DE UNA PALABRA DE UN PUERTO DE ENTRADA 168
8.9 LECTURA DE UN CANAL ANALÓGICO 170
CAPÍTULO 9. Control de un LCD 172
9.1 CONEXIÓN DEL LCD 172
9.2 BLOQUES DE CONTROL 173
9.3 EJEMPLOS DE APLICACIÓN 175
9.3.1 Activación del LCD y envío de mensajes 175
9.3.2 Escritura del valor de un registro en el LCD 177
5
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
CAPÍTULO 10. PLCmDuino sin Arduino 180
APÉNDICE 1. Hoja de datos del LCD 16x2 183
6
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
CAPÍTULO 1
INTRODUCCIÓN AL MANEJO DE
MikroPLAN
1.1 DESCRIPCIÓN DEL SOFTWARE
MikroPLAN es una aplicación de 32 bits para Windows™ que permite al usuario
programar a la tarjeta Arduino UNO o MEGA 2560 en dos tipos de lenguajes:
- KOP (kontaktplan – esquema de contactos) también conocido como lenguaje de
escalera (ladder)
- AWL (Anweisungsliste – Lista de Instrucciones)
Una vez que el usuario ha terminado de capturar el esquema de su estrategia de
control de su programa en KOP o AWL, el compilador de MikroPLAN lo traduce a
códigos numéricos (ByteCode) y lo envía al área de memoria no volátil del micro
de la tarjeta. Por el momento, MikroPLAN permite programar las tarjetas Arduino
UNO con el micro ATMEGA328P-PU en su versión DIP y la tarjeta Arduino MEGA
2560 cuyas fotos se muestran en las figura 1.1 y 1.2 respectivamente.
7
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Figura 1.1. Tarjeta Arduino UNO R3
Figura 1.2. Tarjeta Arduino MEGA 2560
Sin embargo, para que MikroPLAN pueda grabar algún programa creado por el
usuario, es indispensable que en el microcontrolador de la tarjeta Arduino se
encuentre cargado un firmware o software embebido denominado BIOS (Basic
Input Output System – Sistema Básico de Entrada / Salida). Gracias a este
programa alojado en la memoria FLASH del micro, es que MikroPLAN puede
transferir los códigos generados por su compilador al micro destino. El BIOS se
encarga entonces de recibir estos datos y grabarlos en la memoria no volátil
disponible del micro. El nombre del BIOS para la tarjeta Arduino se denomina
PLCmDuino.
Tu mismo(a) puedes cargar el BIOS en cualquier tarjeta Arduino (UNO o MEGA
2560) y con MikroPLAN programarla mediante KOP en modo evaluación. Esto
significa que tendrás acceso a todas las características que el firmware te ofrece
pero el programa que cargues solamente se grabará en RAM. Por tanto, al
8
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
desenergizar la tarjeta, se perderá.
Para eliminar esta restricción y hacer que un programa permanezca en su
memoria no volátil, requieres de una licencia de activación. El procedimiento para
solicitarla se describe más adelante en este manual.
A partir de la versión 9.0 de MikroPLAN se incorpora, a la simulación AWL que ya
estaba disponible originalmente, la simulación y emulación de KOP y AWL;
herramientas cuyo propósito son facilitar la depuración de programas. Los modos
de emulación tienen el propósito de interactuar con las entradas y salidas de
PLCmDuino en tiempo real desde la corrida de la estrategia en KOP o AWL en la
PC. Los modos de simulación se pueden utilizar sin restricción alguna, pero los
modos de emulación requieren conectividad con PLCmDuino además de una
licencia válida de activación.
Junto con MikroPLAN y PLCmDuino se incluyen también el software STEPControl
y la aplicación móvil MobilePorts. STEPControl es una aplicación de escritorio que
permite acceder a la tarjeta Arduino (UNO o MEGA 2560) desde el programa
STEP7 MicroWin 5.5 para utilizarlo como hardware de adquisición y señalización
digitales. MobilePorts permite interactuar desde tu móvil con el programa que
hayas cargado en tu Arduino con MikroPLAN mediante un enlace Bluetooth
1.2 LO QUE HAY DE NUEVO EN ESTA VERSIÓN
16/04/2018
Se simplificó la secuencia de carga y detección del BIOS
1.2.1 HISTORIAL
26/03/2018
- Se corrigieron omisiones de máscaras en MikroPLAN para la activación de
puertos tanto en la simulación como en la grabación de los programas en modo
9
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
evaluación así como para el acceso de los mismos desde FluidSIM para el
BIOS MEGA 2560
- El BIOS para cada una de sus dos versiones se adaptó para su acceso desde
LabVIEW utilizando las bibliotecas PLGDCOM32 y PLGDCOM64 en sus
versiones de 32 bit y 64 bit respectivamente. El acceso desde LabVIEW es más
rápido en comparación con los bloques VISA de la versión anterior por lo cual
los bloques con estos elementos ya no están soportados. En cambio se
agregaron los SubVIs correspondientes para las bibliotecas mencionadas
18/02/2018
- Se incluye la primera versión del BIOS PLCmDuino para Arduino MEGA
- La configuración de los pines de entrada y salida así como su asignación a los
puertos correspondientes cambió respecto a la manera como se hacía en
versiones anteriores. Ahora los bits del mismo peso en los registros asignados a
los puertos de entrada y salida están asociados físicamente a un mismo pin de
la tarjeta, por lo que al configurarlos como pines de entrada o salida los hace
exclusivos de utilizarlos únicamente o en un registro de entrada (I) o un registro
de salida (Q)
- Se eliminaron los registros “S”, por lo que solamente hay cuatro tipos de
registros: “I”, “Q”, “SM” y “M”. Además se incrementó la cantidad de registros
“M” de 32 a 40
- Para la simulación de los programas se requiere la misma configuración de los
pines como entradas y salidas que se utiliza para cargar los programas en la
tarjeta
- Los temporizadores ya admiten registros para los valores de comparación
10
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
- Para cuando MikroPLAN actúa como interfaz entre la comunicación con
FluidSIM como maestro y PLCmDuino como esclavo, ahora el usuario puede
seleccionar en FluidSIM únicamente los puertos que va a utilizar. Hasta 6
puertos de 8 bits para Arduino UNO y 20 puertos para Arduino MEGA 2560.
Esto aumenta la velocidad de comunicación entre ambas aplicaciones al
acceder de forma selectiva a los puertos deseados por el usuario. Esto también
sucede cuando MikroPLAN actúa como interfaz entre PLCmDuino como
maestro y FluidSIM como esclavo. En este caso, se pueden acceder hasta 4
puertos de 8 bits
- La aplicación STEPDuino cambió el nombre a STEPControl debido a que este
programa permitirá realizar también la interfaz entre Arduino y otras
aplicaciones de control y simulación de sistemas automatizados. Por tanto, la
utilización de STEPControl como interfaz entre PLCmDuino y STEP7 MicroWin
es una de entre otras posibles opciones que se irán incluyendo en la aplicación.
En particular, esa opción de interfaz se designa como “STEPDuino”. Si
adquiriste una licencia para STEPDuino, ésta seguirá siendo funcional pero
solamente te permitirá acceder a esa opción
- Se simplificó el control de prototipos virtuales desde PLCmDuino o MikroPLAN y
se reestructuraron los métodos de acceso a FluidSIM y desde PLCmDuino y
MikroPLAN
- Se incluyeron “SubVI’s” para acceso a PLCmDuino desde cualquier versión de
LabVIEW
1.3 INSTALACIÓN DEL PROGRAMA
MikroPLAN y todas las aplicaciones que se describen en este documento se
encuentran en una carpeta comprimida que puedes descargar del blog:
11
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
programaciondearduinoconlenguajedeplc.blogspot.mx
Para su instalación en tu PC sigue los siguientes pasos:
1. Copia el contenido de la carpeta comprimida ProyexDuino.ZIP a la unidad C: de
tu computadora, de tal manera que en el directorio raíz quede la carpeta como:
c:ProyexDuino
OBSERVACIÓN
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
De lo contrario, MikroPLAN no funcionará adecuadamente o no se ejecutará
2. En la carpeta:
c:ProyexDuinoProyectosPLCmDuinoProgramaciónLadder
Ubica el programa MikroPLAN.exe
12
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Y crea un acceso directo desde el escritorio
OBSERVACIÓN
El funcionamiento del programa MikroPLAN se ha probado para las versiones de
Windows™ XP, Vista, 7, 8, 8.1 y 10
1.4 INSTALACIÓN DEL BIOS PLCmDuino EN LA TARJETA
ARDUINO
Una vez que hayas instalado los “drivers” para acceder a la tarjeta Arduino en tu
computadora, necesitas cargar el BIOS PLCmDuino en tu tarjeta Arduino. Sigue
los siguientes pasos:
1. En la carpeta
c:ProyexDuino
Ubica y ejecuta el programa
JOGATECHProyex.exe
2. Aparecerá la ventana principal del programa. Después se mostrará una ventana
emergente de presentación
13
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
A continuación aparecerá un cuadro de diálogo para que selecciones la versión
de Windows en a que estás trabajando. Después oprime “Aceptar”
3. En el menú principal, selecciona la opción “Firmware”->”Carga …”
14
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
4. Aparecerá un cuadro de diálogo. Introduce el número de puerto COM que
Windows haya asignado a tu tarjeta
5. Haz clic en “Firmware” y selecciona la versión a cargar en tu tarjeta. Para
Arduino UNO R3 selecciona “PLCmDuino_UNO_R3”. Para la MEGA 2560
selecciona “PLCmDuino_MEGA_2560”
15
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
6. 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.exe”
está intentando detectar el BIOS que se cargó
16
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
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
7. Oprime “Aceptar”. Los campos “Controlador” y “Versión BIOS” mostrarán la
información que proporciona el BIOS PLCmDuino que cargaste en Arduino
1.5 DETECCIÓN DEL BIOS DESDE MikroPLAN
Una vez cargado el BIOS, comprueba que MikroPLAN puede acceder a él. Para
ello realiza un proceso de detección de la tarjeta
17
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
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:
18
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Por defecto, está enfocada la versión 10 de Windows. Oprime “Aceptar” para
continuar
4. Finalmente aparecerá un cuadro de diálogo semejante al que apareció 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, 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
19
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
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á con la información que se muestra abajo
Oprime “Salir” para continuar
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
20
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
1.6 PLCmDuino EN MODO DE EVALUACIÓN
Una vez que hayas detectado con éxito PLCmDuino, puedes programarlo sin
necesidad de utilizar una licencia de activación. 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 apartado “1.8 PROGRAMACIÓN DE
PLCmDuino” ya que el procedimiento que se explica ahí se aplica tanto para
cuando tienes una licencia o cuando trabajas en modo evaluación.
1.7 GENERACIÓN DE LA SOLICITUD DE LICENCIA DE
ACTIVACIÓN DE PLCmDuino
Como ya se había comentado anteriormente, necesitas una licencia de activación
del BIOS PLCmDuino que te permitirá grabar un programa en la memoria no
volátil de tu tarjeta Arduino mediante los lenguajes KOP y AWL desde la o las
computadoras que desees.
Para obtener la licencia, necesitas generar una solicitud de licencia de activación.
Éste es un archivo que se crea desde la aplicación “JOGATECHProyex”. Una vez
que hayas generado la solicitud, deberás enviarla a:
jogatech@hotmail.com
En respuesta, te proporcionaré el precio de la misma y después de confirmar el
depósito de tu pago, te enviaré un archivo que corresponde a la licencia de
activación que solicitaste. Dicho archivo contiene un código de referencia que está
vinculado a un código de preactivación que se graba en la tarjeta Arduino que
aloja el BIOS. Incluye también un sello digital del equipo de cómputo que se utiliza
21
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
para programarlo. Por tanto, la licencia que hayas solicitado te será útil para
programar una sola tarjeta Arduino y únicamente desde el equipo de cómputo que
utilizaste para generar la solicitud la cual tiene dos modalidades:
1. Solicitud de licencia de activación de primera vez. Se requiere cuando vas a
utilizar por primera vez la nueva copia del BIOS PLCmDuino que cargaste en tu
tarjeta Arduino y que vas a programar desde la computadora desde la cual
donde generas la solicitud de licencia. En este proceso, MikroPLAN genera un
código de preactivación y lo graba en la tarjeta Arduino que aloja el BIOS.
Además genera un sello digital para el equipo desde el cual se realiza la
solicitud
2. Solicitud de licencia portátil. Se requiere cuando deseas programar PLCmDuino
en una computadora diferente a la que utilizaste para generar la solicitud de
licencia de primera vez. En este tipo de solicitud, MikroPLAN genera solamente
un sello digital único para el equipo desde el que se realiza la solicitud y no se
graba ni se modifica el código de preactivación que esté presente en tu tarjeta
Arduino
1.7.1 Solicitud de licencia de activación de primera vez
Como ya se había mencionado, esta licencia te permite utilizar PLCmDuino en la
tarjeta Arduino que aloja el BIOS y en la computadora desde la que vas a generar
este tipo de licencia. Para generarla sigue los siguientes pasos:
1. Conecta tu tarjeta Arduino con el BIOS PLCmDuino
2. Corre la aplicación “JOGATECHProyex” y selecciona la opción “Firmware”-
>”Detectar”. El proceso para detectar el BIOS en PLCmDuino desde esta
aplicación es el mismo que hiciste para MikroPLAN. Sigue los pasos 4 y 5 del
apartado 1.5
22
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
3. En el menú principal selecciona la opción “Licencias”->”Solicitar licencia de
activación de primera vez”
4. Aparecerá un cuadro de diálogo que te permitirá seleccionar el producto para el
cual deseas solicitar la licencia
5. Selecciona la opción “PLCmDuino UNO” para solicitar la licencia del BIOS
PLCmDuino para la tarjeta Arduino UNO R3
23
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
OBSERVACIONES
a. La opción “AlarmDuinoSMS MEGA” es una aplicación embebida que se utiliza
para controlar una alarma vecinal vía SMS. Si este proyecto es de tu interés
consulta el documento “Prueba y Activación de AlarmDuino.PDF” ubicado en la
carpeta “c:ProyexDuinoProyectosAlarmDuinoDocumentación”
b. La opción “PLCmDuino UNO XT” es la versión extendida de PLCmDuino que te
permitirá realizar aplicaciones de control de movimiento, así como también
acceder a FluidSIM desde Arduino o viceversa
c. La opción “PLCmDuino MEGA” es la versión del BIOS para la tarjeta Arduino
MEGA 2560. Tiene las mismas características que el BIOS “PLCmDuino UNO
XT”
d. Si deseas solicitar la licencia para STEPDuino selecciona la opción
“Aplicaciones para PC”. Sin embargo, antes debes tener una licencia para
PLCmDuino UNO XT o PLCmDuino MEGA
24
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
6. Oprime “Generar”. Aparecerá entonces el siguiente cuadro de diálogo.
Puesto que es la primera vez que vas a generar la licencia, oprime “Si”
7. Aparecerá entonces el siguiente cuadro de diálogo
8. Oprime “Aceptar”. Aparecerá un cuadro de diálogo solicitando que cambies, si
así lo deseas, el nombre del archivo de solicitud generado (extensión SOL). Te
sugiero que no lo modifiques y únicamente ubiques la carpeta en donde
guardarlo. Si lo deseas, puedes guardarlo en la carpeta
“c:ProyexDuinoSolicitudes”. Después oprime “Guardar”
25
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
9. Aparecerá finalmente el cuadro
1.7.2 Recepción e instalación del archivo de licencias
El archivo de licencias que recibirás del autor es una biblioteca DLL (Dynamic Link
Library – Biblioteca de Enlace Dinámico) única para tu tarjeta y para el equipo que
vas a utilizar para programar PLCmDuino. El nombre del archivo es:
JOGATECHLicencias.DLL
Sigue los siguientes pasos para instalar el archivo de licencias en tu equipo.
26
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
1. Una vez que hayas recibido este archivo por parte de un servidor, asegúrate de
que ni “MikroPLAN” ni “JOGATECHProyex” estén corriendo y cópialo a la
carpeta
c:ProyexDuinoDLL
Ahí ya estará un archivo con el mismo nombre que es el original que está en la
carpeta ZIP y que no tiene licencia alguna, por tanto simplemente deja que
Windows lo reemplace
2. Ejecuta MikroPLAN y después del proceso de detección, selecciona la opción
“Licencias->Seleccionar …”. Aparecerá una lista con las licencias disponibles
para ese equipo. En este caso, aparecerá la licencia de activación que
solicitaste con un código de referencia
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
preactivado con el código de referencia que aparezca en tu caso en la tercera
columna de la lista del cuadro de diálogo
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
27
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
puedes programar la tarjeta Arduino con él. Sin embargo, no significa que la
clave de referencia que aparece ahí esté efectivamente ligada a la tarjeta
Arduino que estés utilizando. Esto último lo podrás comprobar únicamente al
momento de grabar cualquier programa en ella
c. Como ya se mencionó anteriormente, al descargar por primera vez la carpeta
ZIP, la biblioteca no tiene licencia alguna, por lo cual, al hacer clic en esta
opción en el menú principal aparecerá el cuadro de diálogo
d. Cuando solicites una nueva licencia, el archivo de licencia que recibirás
contendrá las licencias que ya tengas más la nueva licencia solicitada. De esta
forma las licencias que hayas solicitado anteriormente se conservan
e. Del archivo de licencias, no se pueden eliminar referencias no válidas o que ya
no utilices
ADVERTENCIA
Una vez que recibas el archivo de licencia, no intentes generar una nueva
solicitud con la tarjeta ya activada pues esto destruirá el código de
preactivación en tu tarjeta Arduino y ya no habrá forma de recuperarlo. Por
tanto, si después deseas utilizar PLCmDuino en tu Arduino nuevamente, la
licencia que recibiste ya no será válida y solamente podrás programarlo en
modo evaluación
28
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
1.7.3 Solicitud de licencia portátil
Como ya se había comentado anteriormente, necesitas realizar esta solicitud
cuando deseas programar a PLCmDuino en una computadora distinta a la que
utilizaste para generar la licencia de primera vez. Cuando se realiza esta solicitud,
MikroPLAN genera un sello digital para el nuevo equipo desde el cual vas a
programar a PLCmDuino. Este sello se incorporará en el archivo de licencias que
recibirás de un servidor. Para ello sigue los siguientes pasos:
1. Descomprime el contenido de la carpeta “ProyexDuino.zip” en la computadora
desde la cual también deseas programa PLCmDuino (computadora destino)
2. Ubica el archivo “JOGATECHLicencias.dll” de la computadora desde donde
realizaste la solicitud de licencia de primera vez y cópialo a la computadora
destino
3. Conecta tu tarjeta Arduino que aloja el BIOS PLCmDuino preactivado a la
computadora destino
4. En la computadora destino, carga JOGATECHProyex.exe y después realiza el
proceso de detección de la tarjeta
OBSERVACIÓN
Si la única licencia que tienes es la de primera vez, ve directamente al paso 7
5. Elije la opción “Licencias”->”Seleccionar ...”
29
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
6. 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
7. En el menú principal haz clic en la opción “Licencias”->”Solicitar licencia de
activación portátil”
30
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
8. Aparecerá el cuadro de diálogo
9. Oprime “Sí”. Si la referencia de la clave de preactivación está registrada en la
licencia actual, aparecerá el mensaje
10. Oprime “Aceptar”. Aparecerá el cuadro de diálogo
31
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
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
11. Oprime “Generar”. Aparecerá un cuadro de diálogo similar al del paso 6 del
apartado 1.7.1
32
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
12. Nuevamente te sugiero que no cambies el nombre y lo guardes en la carpeta
de tu preferencia para que después lo envíes al autor.
OBSERVACIONES
a. Si intentas generar la licencia portátil desde la misma computadora que
utilizaste para generar la licencia de primera vez, aparecerá el mensaje
b. Si la clave de preactivació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
33
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
COMENTARIO
Por cada nueva copia del BIOS PLCmDuino que cargues en alguna tarjeta
Arduino, necesitarás realizar el proceso de solicitud de licencia de activación
descrito arriba en cualquiera de sus dos modalidades
1.7.4 Reprogramación de Arduino con su IDE original
Se ha comprobado que el código de preactivación de PLCmDuino prevalece en la
tarjeta Arduino UNO tras programarla nuevamente con su IDE (Integrated
Development Environment – Entorno de Desarrollo Integrado) original. Esto
significaría entonces que puedes realizar aplicaciones a través de su IDE
utilizando Processing, que es el lenguaje nativo de la tarjeta Arduino, o bien
cuando desees utilizar KOP, puedes recargar el BIOS nuevamente en la tarjeta
Arduino como se describió en la sección 1.4 y utilizar MikroPLAN sin necesidad de
comprar una nueva licencia de activación. Sin embargo, no te garantizo que esta
práctica no llegue a dañar alguna vez la integridad del código de preactivación o
bien, que la ejecución del programa que cargues en Arduino con su IDE original
llegue a alterarlo también. Por tanto, si esto llegara a suceder, tendrás que generar
un nuevo código de preactivación y pagar por una nueva licencia.
1.8 PROGRAMACIÓN DE PLCmDuino
1.8.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
34
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
requiere realizar una detección de la tarjeta, por lo cual puedes omitir esta acción
2. Aparecerá el editor de esquemas de contactos
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
35
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
4. Agrega después una bobina. Para ello elije el grupo
Después selecciona la bobina
36
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
5. Agrega otro contacto en la parte inferior
37
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
6. Coloca el cursor en el primer contacto que agregaste y luego oprime
Se realizará la conexión hacia el contacto de abajo
1.8.2 Asignación de entradas y salidas
Como ya se había comentado, a partir de esta nueva de 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
38
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
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)”
39
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
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
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
I3/Q3 Registros imagen de 16 bits asignados a los pines 14 a 29 de la tarjeta
40
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Arduino MEGA únicamente
I4/Q4 Registros imagen de 16 bits asignados a los pines 30 a 45 de la tarjeta
Arduino MEGA únicamente
I5/Q5 Registros imagen de 16 bits de los cuales sólo los primeros 8 bits están
asignados a los pines 46 a 53 de la tarjeta Arduino MEGA únicamente
b. I2/Q2 son puertos de entrada y salida respectivamente de 16 bits pero no tienen
conexión física hacia el exterior y son independientes entre sí. Están soportados
para las dos versiones del BIOS (UNO y MEGA 2560). Se utilizan en la
aplicación del usuario para recibir o enviar datos vía Bluetooth desde o hacia
MobilePorts. También se utilizan para que PLCmDuino controle prototipos
virtuales en FluidSIM a través de MikroPLAN. En este caso, a través de I2,
PLCmDuino puede monitorear el estado del prototipo virtual en FluidSIM y con
los bits de Q2 puede accionarlo. En este caso, la tarjeta Arduino actúa como
maestro; FluidSIM como esclavo y MikroPLAN como interfaz entre ellos
c. A los puertos I0/Q0, I1/Q1, I3/Q3, I4/Q4 e I5/Q5 también se les puede acceder
desde FluidSIM cuando esta aplicación funciona como maestro y PLCmDuino
como esclavo. En este caso, Arduino funciona como tarjeta de adquisición y
señalización digitales y MikroPLAN como interfaz en este enlace de
comunicación
d. Los pines 0 y 1 está reservados para la comunicación serial con la computadora
cuando se programa PLCmDuino. También para cuando se conecta la tarjeta
con otros Arduinos o bien para la comunicación Bluetooth de PLCmDuino con
MobilePorts
e. El pin 13 está reservado para mostrar el estado del programa. Si hay un
41
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
programa corriendo (RUN), el LED conectado a este pin estará encendido. Si
está apagado, indicará que el programa está detenido (STOP) o no hay
programa cargado
2. Para terminar con el diagrama en el editor KOP captura los identificadores para
los pines. Haz clic sobre el signo de interrogación y escribe el que corresponda
OBSERVACIÓN
Puedes utilizar etiquetas para designar los bits para los pulsadores. En el editor
KOP oprime el botón “ETIQUETAS”. En la primera columna anota el nombre de la
etiqueta y en la segunda, el bit que desees asignarle
42
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Una vez hecho esto, ya puedes utilizar esas etiquetas para la designación de los
pines. El diagrama quedaría entonces como:
1.8.3 Guardado del programa
1. En la barra de botones de acceso rápido, oprime el botón
43
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
2. Aparecerá el cuadro de diálogo solicitándote que cambies el nombre del archivo
3. Ubica la carpeta y selecciona el nombre para el archivo. Después oprime
“Guardar”
1.8.4 Simulación del programa en código AWL
Esta es la simulación original de MikroPLAN. A partir de la versión 9, ésta se
realiza utilizando una máquina virtual de PLCmDuino integrada en MikroPLAN. De
esta manera, la forma en que se ejecute el código en la PC, es como se ejecutará
en PLCmDuino. Por supuesto, debido a la arquitectura RISC (Reduced Instruction
Set Computer – Computadora con Conjunto Reducido de Instrucciones) del micro
de Arduino, el código se ejecutará más rápido en la tarjeta que en la PC.
1. Haz clic en la opción “Simulación”->”Tarjeta” y selecciona el tipo de tarjeta que
se utilizará en la simulación
44
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
2. Se seleccionará el tipo de tarjeta que se utilizará para la simulación y aparecerá
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. El tipo de tarjeta utilizado en la simulación es independiente del tipo de tarjeta
que MikroPLAN detecta antes de cargar el programa
45
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
b. Para el caso de Arduino MEGA 2560 podrás seleccionar el byte alto del puerto
Q1, así como los puertos I3/Q3 a I5L/Q5L
3. Oprime el icono
4. Se generará el código AWL equivalente del diagrama y se realizará la
compilación del mismo. Si no hubo error, aparecerá la ventana
5. Oprime “Aceptar”. Aparecerá un tablero que tiene pulsadores para generar las
entradas al autómata e indicadores para mostrar el estado lógico de las salidas
del autómata durante la simulación
6. Oprime el pulsador que representa a la entrada I0.0. Se realizará el enclave
46
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
7. Regresa el pulsador a su posición de apagado. Oprime ahora el pulsador I0.1
para desenclavar la bobina
8. Para terminar la simulación, oprime el botón
47
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
1.8.5 Simulación del programa en KOP
Es la simulación del funcionamiento del diagrama de escalera
1. Oprime el icono
2. Aparecerá el mismo tablero de control de la simulación en AWL pero ahora se
mostrarán resaltados en fondo de color ciano los valores de las marcas y
registros que estés utilizando en el diagrama de escalera. Cuando el estado
lógico del contacto (no de la marca) es cierto, éste se mostrará en amarillo
3. Oprime el pulsador I0.0
48
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
4. 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)
49
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
5. Oprime el pulsador I0.1. Checa cómo se realiza el desenclave
6. Para terminar la simulación, oprime el botón
1.8.6 Circuito de prueba con la tarjeta Arduino para el programa
de arranque y paro
Arma el circuito que se muestra en la figura 1.3
Figura 1.3. Circuito de prueba para el programa de arranque y paro
50
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
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
1.8.7 Carga del programa en la tarjeta Arduino
Elige la opción del menú “PLCmDuino”->”Cargar programa”. También puedes
cargar el programa oprimiendo
Se generará el código AWL del diagrama en KOP
51
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Oprime “Aceptar” para continuar. Se cargará el código del programa en la tarjeta
2. Una vez cargado el programa, PLCmDuino lo ejecutará. En el circuito de prueba
de la figura 1.1 verifica el funcionamiento del programa. Al oprimir el pulsador
52
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
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
OBSERVACIÓN
Una vez que el compilador haya generado el código, intentará enviarlo a
PLCmDuino para que se cargue en Arduino utilizando la licencia seleccionada
actual. Sin embargo, si no se tiene una licencia o no es la correcta para la tarjeta
Arduino que tengas conectada en la PC, aparecerá el mensaje
1.8.8 Emulación de código AWL y de diagramas KOP
En este modo se efectúa la simulación del código AWL o del diagrama en KOP
desde la computadora, pero realizando simultáneamente la adquisición de datos y
señalización digital en tiempo real en PLCmDuino. Como ya se había comentado,
necesitas tener conectada la tarjeta Arduino junto con una licencia de activación
válida. Para la emulación AWL oprime y para la emulación KOP oprime .
1.8.9 Paro del programa
Para detener el programa que se está ejecutando en PLCmDuino, desde tu equipo
de cómputo, elige la opción “PLCmDuino”->”STOP”
53
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Aparecerá el mensaje
1.8.10 Arranque del programa
Para ejecutar el programa cargado en Arduino, elige la opción
“PLCmDuino>”RUN”
54
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Aparecerá el mensaje
1.8.11 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”
55
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Aparecerá un mensaje solicitándote la confirmación de la operación
Si estás seguro, haz clic en “Sí”. Después de unos segundos aparecerá otro
mensaje
56
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
OBSERVACIÓN
La operación de borrado del programa no elimina ni modifica el código de
preactivación
1.8.12 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 ya que si esto llega a suceder se bloqueará la comunicación
entre PLCmDuino y MikroPLAN.
En la figura 1.4 se muestra un programa que después de cargarse en PLCmDuino,
bloqueará la comunicación con MikroPLAN
Figura 1.4. 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
57
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
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
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 1.5
Figura 1.5. Conexión del puente para realizar el paro forzado del programa al arranque
58
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
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
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 1.8.10
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
1.9 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
59
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
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 1.5.
(a)
(b)
Figura 1.5. 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
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 1.6 se muestra la conexión
de este módulo a la tarjeta Arduino UNO R3.
60
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Figura 1.6. 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
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
61
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
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 1.7 se muestra una imagen de un radio genérico Bluetooth.
Figura 1.7. Radio Bluetooth o “Bluetooth dongle” de uso genérico
1.9.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
62
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
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
63
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
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.
64
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
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”
65
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
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
66
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
CAPÍTULO 2
CARACTERÍSTICAS DE
PLCmDuino
Lo que a continuación se describe es válido para las versiones del BIOS tanto
para la tarjeta Arduino UNO R3 como para la MEGA 2560.
2.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.
2.1.1 Marca de ejecución continua
Es la marca SM0.0 y siempre se encuentra en 1. Esta marca se utilizó en el
diagrama de la figura 1.4.
2.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
67
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
función
2.1.3 Marca de reloj de 1minuto
Es la marca SM0.4. Conmuta entre 1 y 0 cada 30 segundos por lo que a partir de
esta marca se puede generar una señal de reloj de período de 1 minuto
2.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.
2.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
2.2 REGISTROS IMAGEN DE LAS ENTRADAS
Son cinco registros de 16 bits: I0, I1, I3, I4 e I5 cuya utilidad ya se describió en el
capítulo 1. Como ya se comentó, el registro I2 es la imagen de los datos que
PLCmDuino recibe de la aplicación para Android MobilePorts cuando PLCmDuino
se enlaza con ella vía Bluetooth. Esto se comentará más ampliamente en el
capítulo 3. Su función como interfaz para recepción de datos de prototipos
virtuales se comentará en el capítulo 5.
2.3 REGISTROS IMAGEN DE LAS SALIDAS
Son cinco registros de 16 bits: Q0, Q1, Q3, Q4 y Q5 cuya utilidad ya se describió
en el capítulo 1.
68
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
2.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.
2.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.
2.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.
2.7 PILA
La pila de PLCmDuino es de 16 bits.
2.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 2.1.
69
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Tabla 2.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=,
LDB<=, OB<=, AB<=, LDW>=, OW>=,
AW>=, LDW=, OW=, AW=, LDW<=, OW<=,
AW<=
18
Contactos LD, O, A, LDN, ON, AN, NOT, EU, EP 9
Operaciones lógicas, de transferencia y de
corrimiento con palabras de 8 bits
MOVB, ANDB, ORB, XORB, INVB, SLB,
SRB, RLB, RRB
9
Operaciones aritméticas con palabras de
16 bits
ADDW, SUBW, INCW, DECW 4
Control de pila LPP, LPS, LRD, LSS, ALD, OLD 6
Operaciones aritméticas con palabras de 8
bits
ADDB, SUBB, INCB, DECB, MOVB 5
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 2.2.
70
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Tabla 2.2. Instrucciones AWL particulares para PLCmDuino
Grupo Instrucciones AWL Total
Accionamiento de motores a pasos y
servomotores
SERVO_CFG, SERVO_SETVSM,
SERVO_MOVETO, SERVO_INCAX,
SERVO_DECAX, SERVO_MOVE0,
SERVO_MOVEAX, SERVO_MOVE,
SERVO_ENABLE
9
Manejo del LCD LCD_EN, LCD_MSG, LCD_CLR, LCD_CMD 4
Comunicación con MobilePorts vía
Bluetooth utilizando los pines 0 y 1 de
Arduino
MPORTS_SMS_TX, MPORTS_SMS_RX,
MPORTS_RX, MPORTS_TX
4
Contactos de comparación para cadenas
de caracteres
LDSTR=, OSTR=, ASTR= 3
Comunicación alámbrica o inalámbrica por
RS232 utilizando los pines 0 y 1 de
Arduino
RS232_TX, RS232_RX 2
Infrarrojos utilizando los pines 2 o 3 de
Arduino
IR_RX 1
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 28
A excepción de las 6 instrucciones de control de pila, las demás instrucciones de
las tablas 2.1 y 2.2 tienen su correspondiente representación en KOP.
71
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
CAPÍTULO 3
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
3.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”
72
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
3. 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”.
73
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Comenzará entonces la instalación
74
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
4. Al terminar, oprime “Hecho”
Cierra las ventanas. El acceso directo al programa aparecerá en la ventana de
aplicaciones
75
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
3.2 EMPAREJAMIENTO DEL MÓDULO BLUETOOTH CON EL
MÓVIL
1. Arma el circuito de prueba de la figura 1.6
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
76
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
5. Introduce los números 1234 y después oprime “Aceptar”. El dispositivo se habrá
vinculado
3.3 CONTROL DEL PROGRAMA EN PLCmDuino DESDE
MobilePorts
3.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
77
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
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
78
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
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
79
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Para desconectar MobilePorts de Arduino, oprime simplemente “Desconectar”
3.3.2 Arranque, paro y estado de un programa desde MobilePorts
1. Arma el circuito de prueba de la figura 4.1
Figura 4.1. Circuito para probar la conexión de MobilePorts con Arduino
80
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
2. En MikroPLAN captura el programa que se muestra en la figura 4.2. Se trata de
la red de arranque y paro que se mostró en el capítulo 1, 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 4.2. 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 1. Sin embargo, ya que no vas a utilizar los pines 2 y 3, la
configuración podría quedar como:
Por supuesto, puedes utilizar como salida cualquier otro bit distinto a Q0.2
OBSERVACIÓN
Cada uno de los 16 bits del puerto I2 se identifica con un pulsador en MobilePorts
81
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
3. Antes de cargar el programa, modifica la dirección del puerto COM al que
corresponda al módulo Bluetooth y activa o desactiva la casilla “Detectar BIOS
en tarjeta MEGA 2560” en el cuadro de diálogo para detección del BIOS según
sea la tarjeta que utilices
4. Conecta ahora MobilePorts a PLCmDuino. Oprime el pulsador I2.0
En el circuito deberá encenderse el LED. Oprime ahora el pulsador I2.1
82
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
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”
83
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
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.
84
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
CAPÍTULO 4
EJEMPLOS DE APLICACIONES
CON LÓGICA PROGRAMABLE
4.1 CONTROLADOR DE NIVEL DE AGUA
4.1.1 Descripción de la acción de control
En la figura 4.1 se muestra el esquema simplificado de un sistema de control de
nivel de agua para una casa habitación.
Figura 4.1. Sistema doméstico de control de nivel de agua
85
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
El sistema está conformado de la cisterna, el tinaco, la bomba de agua, el
controlador, un actuador y dos electroniveles que funcionan como sensores
digitales de nivel de líquido: TOPE y FONDO. El controlador recibe estas señales
y genera la señal digital BOMBA a través de la cual se acciona la bomba de agua
vía un actuador electromecánico. Cuando el controlador detecta que el tinaco está
vacío (TOPE = FONDO = 0), activará la bomba, haciendo que permanezca así
hasta que el nivel del agua en el tinaco alcance el tope (TOPE = 1). En este caso,
la bomba se apagará y permanece así hasta que el tinaco se vacía totalmente,
reiniciando nuevamente operación del controlador. Para esta primera
implementación, se considera que hay agua en la cisterna; que los sensores de
nivel funcionan correctamente y que no habrá falla al drenar el agua cuando la
bomba se active. A partir del ejercicio 4.1.2 se examinarán posibles perturbaciones
que podrían llegar a afectar la acción de control y cómo el controlador deberá
responder ante ellas.
En la figura 4.2 se muestra el diagrama de escalera de la estrategia de control
que realiza la acción de control descrita y que se grabará en la tarjeta Arduino
Figura 4.2. Diagrama de escalera para la acción de control de nivel de agua
En la figura 4.3 se muestra el diagrama del circuito que se utiliza para el sistema
de control de nivel de líquido. Observa en esa figura que se ha añadido un LED
para indicar al usuario que la bomba está activa. Los pines 6 y 7 de la tarjeta
Arduino se utilizan para leer el estado de los sensores de nivel de fondo y de tope
respectivamente. El pin 2 se utiliza para activar la bomba.
86
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Figura 4.3. Diagrama electrónico del sistema de control de nivel de agua con Arduino
La cadena de configuración de pines quedaría como
OBSERVACIONES
a. Si se utiliza una bomba sumergible basada en un motor de CD para probar el
sistema de la figura 4.3, es posible que se necesiten capacitores en paralelo de
100 a 220 nF con los resistores de 100 k para eliminar o disminuir los picos de
voltaje en las entradas a la tarjeta que pudieran originarse por el encendido del
motor de la bomba
b. También es posible que requiera un capacitor en paralelo con el motor para
disminuir ese mismo efecto
87
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
4.1.2 Falla en el sensor de fondo
Debido al contacto continuo con el agua, el sensor de nivel de fondo del tinaco
(FONDO) puede llegar a cubrirse de suciedad. Si esto ocurre, éste proporcionará
un 0 lógico al controlador aún cuando haya agua a ese nivel en el tinaco. En esta
circunstancia, cada vez que el TOPE conmute a 0 cuando descienda el nivel del
agua debido al consumo del líquido, entonces la bomba se activará de forma
intermitente, lo que podría llegar a dañarla.
En la figura 4.4 se muestra el programa de control con detección de falla en el
sensor FONDO. La red 2 activa la bandera S_F_SUCIO (sensor de fondo sucio)
cuando se detecta que FONDO = 0 y TOPE = 1. Esta misma bandera se utiliza
también para activar un LED que indicará al usuario que se produjo la falla. La red
3 monitorea el estado de un botón de restauración (RESET) que permitirá al
usuario restablecer la operación del controlador una vez que se haya reparado la
falla que se haya detectado. También apagará el LED indicador de falla si
estuviera encendido.
La cadena de configuración de los pines es
88
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Figura 4.4. Programa de control de nivel de agua con detección de falla en el sensor de fondo
En la figura 4.5 se muestra el diagrama electrónico del controlador con detección
de falla en el sensor de fondo.
89
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Figura 4.5. Controlador de nivel de agua con indicador de detección de falla en el sensor de fondo
4.1.3 Falla por falta de paso de agua
Si la válvula de retención (válvula check) que está inmersa en la cisterna está
sucia o ya no funciona, la tubería de bombeo podría descargarse causando que la
bomba no pueda impulsar el agua hasta el tinaco cuando ésta se active. Esto hará
que la bomba trabaje en seco, lo que también podría originar un daño a la misma.
Esto también sucederá si el agua en la cisterna llega a agotarse.
Para tratar con esta posible condición de falla, se coloca un sensor de paso de
agua el cual consiste de un par de electrodos: uno de ellos conectado al común y
el otro conectado hacia el controlador. Este par se coloca en el extremo del tubo
que abastece al tinaco, de tal manera que el chorro de agua que sale por el mismo
ponga en contacto ambos electrodos, generando de esta forma la señal P_A (paso
de agua) para el controlador. La ausencia de esta señal permitirá al controlador
activar un temporizador con retardo a la desconexión (TON 56) siempre y cuando
la bomba esté activa. Si esto es así, después de dos segundos el temporizador
activará la bandera N_H_P_A (no hay paso de agua), la cual desactivará la bomba
90
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
y activará también un LED indicador. En la figura 4.6 se muestra el diagrama en
KOP del controlador con esta nueva función.
Figura 4.6. Programa de control de nivel con detección de fallas en el sensor de fondo y en el
sensor de paso de agua
En la figura 4.7 se muestra el diagrama del controlador con el indicador de falla en
el sensor de paso.
91
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Figura 4.7. Controlador de nivel de agua con indicadores de detección de fallas en el sensor de
fondo y en el sensor de paso de agua
4.1.4 Falla por exceso de tiempo de llenado
En caso de que ocurra alguna falla en el sensor de tope, el controlador no podrá
determinar cuando el agua en el tinaco ya ha alcanzado su nivel máximo. Por
tanto, si la bomba está energizada, el agua llegará eventualmente a desbordarse
del tinaco. Para prevenir esto, se ha agregado al programa de control otro
temporizador con retardo a la desconexión (TON 57) de tal manera que se active
cuando la bomba entra en funcionamiento. Si después de transcurrido cierto
tiempo para el cual se considera que el tinaco se ha llenado la bomba aún
permanece encendida, el temporizador activará la bandera E_T_LL (exceso de
tiempo de llenado) que le permitirá al controlador no sólo desactivar la bomba sino
también encender un LED indicador de esta falla. En la figura 4.8 se muestra el
diagrama en KOP del controlador con esta nueva función. La bandera del TON 57
se activará después de 10 s. En la figura 4.9 se muestra el diagrama del
controlador con los tres indicadores de falla vistos. La cadena de configuración
queda para este programa queda como ejercicio para el usuario.
92
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Figura 4.8. Programa de control de nivel de agua con detección de fallas en el sensor de fondo; en
el sensor de paso de agua y por exceso de tiempo de llenado
93
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Figura 4.9. Diagrama electrónico del controlador de nivel de agua con indicadores de detección de
fallas en el sensor de fondo; en el sensor de paso de agua y por exceso de tiempo de llenado
4.2 SEMÁFORO
4.2.1 Descripción de la acción de control
El semáforo deberá encender secuencialmente tres lámparas de acuerdo a los
diagramas de tiempo que se muestran en la figura 4.10. Observa en esa figura
que la lámpara verde debe parpadear 3 veces antes de que se active la lámpara
de color ámbar. Después de que ésta se apague, deberá reiniciarse la secuencia.
94
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Figura 4.10. Diagramas de tiempo para encendido de las lámparas del semáforo
En la figura 4.11 se muestra el diagrama en escalera de la estrategia de control.
Las etiquetas L_ROJA, L_AMBAR y L_VERDE están asignadas a los pines 2 a 4 y
a través de ellas se activan las lámparas de CA roja, ámbar y verde
respectivamente. Además se está utilizando el temporizador T56 que cuenta
eventos de 100 ms
En la figura 4.12 se muestra el diagrama electrónico del circuito del semáforo. La
cadena de configuración para este programa queda como ejercicio para el usuario.
95
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Figura 4.11. Diagrama KOP para el controlador del semáforo
96
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Figura 4.12. Diagrama electrónico del circuito del semáforo
97
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
CAPÍTULO 5
CONTROL DE MOVIMIENTO
5.1 CARACTERÍSTICAS DE CONTROL DE MOVIMIENTO CON
PLCmDuino
MikroPLAN permite realizar aplicaciones de control de movimiento con motores a
pasos y servomotores. Las rutinas permiten la acción coordinada de hasta 11 ejes
a los que se les puede asignar un servomotor o un motor a pasos. Para el caso de
servomotores, se pueden accionar 11 servos simultáneamente (1 pin por servo),
Para el caso de motores a pasos se pueden accionar hasta 3 motores
simultáneamente (4 pines por motor). La secuencia de códigos de activación
energiza dos fases para cada motor y es la siguiente:
01012
01102
10102
10012
Los ejes para los servos se asignan desde el eje 1 (pin 2) hasta el eje 11 (pin 12).
Para el caso de motores a pasos, los ejes posibles son el eje 1 (pines 2 a 5); el eje
5 (pines 6 a 9) y el eje 9 (pines 10,11, 12 y A0 para Arduino UNO o MEGA).
También se puede combinar el accionamiento de motores a pasos con
servomotores pero debería ser claro que los servomotores tendrían que asignarse
de tal manera que no haya traslape con los pines que energizarán las fases del o
98
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
de los motores a pasos.
Las rutinas de control de movimiento se encuentran agrupadas en el conjunto
definido por el icono en el editor KOP
El acceso a las rutinas de control de movimiento desde el programa del usuario se
puede realizar sin restricción utilizando PLCmDuino en modo evaluación. Sin
embargo, una vez que se adquiere una licencia válida, únicamente se puede
acceder a ellas si el usuario la adquirió en su modo extendido. No tendrá acceso a
ellas si tiene una licencia en modo estándar.
5.2 ACCIONAMIENTO DE MOTORES A PASOS
Se pueden accionar desde uno hasta tres motores a pasos de tipo unipolar o
bipolar. Esto dependerá por supuesto del tipo de circuito “driver” (manejador) que
el usuario utilice para energizar las fases del o de los motores. En el ejemplo que
sigue se accionará un motor a pasos en el eje 1 y se utilizarán dos pulsadores
conectados en los pines 6 y 7 para accionar el motor en uno u otro sentido. La
velocidad rotacional del motor será de 30 r.p.m.
Para este ejemplo, la cadena de configuración es
99
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Para el pin 2 (eje 1) se utiliza el carácter ‘p’ para especificar que a partir de ese pin
se energizará un motor a pasos.
OBSERVACIÓN
1. Los pines que se configuran para accionar motores a pasos o servos se
consideran como bits de salida por lo que estarán asociados tanto en Arduino
UNO como en Arduino MEGA a los 11 bits menos significativos del registro Q0.
El cuarto bit para accionar la fase del motor 3 (eje 9) estará asignado al bit Q1.0
(pin A0) para cualquier versión del BIOS (Arduino UNO o MEGA). Sin embargo,
a la salida solamente se consideran los valores de bit generados por las rutinas
de control de movimiento
2. Para prevenir cualquier traslape de valores lógicos de los bits que se utilicen
para energizar las fases de los motores a pasos con cualquiera de los bits de
los otros puertos (I0 o Q0), éstos se deberán marcan con ‘x’ como se muestra
en la cadena de configuración
En la figura 5.1 se muestra el diagrama en KOP del programa descrito.
100
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Figura 5.1. Diagrama KOP del programa de control del sentido de giro del motor a pasos
OBSERVACIONES
a. El bloque “SetVSM” en la primera red pone la velocidad de rotación del motor
en r.p.m.
b. El bloque en la segunda red incrementa la posición angular del eje especificado
mientras esté habilitada su terminal de entrada
c. El bloque en la tercera red decrementa la posición angular del eje especificado
mientras esté habilitada su terminal de entrada
101
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
En la figura 5.2 se muestra el diagrama del circuito con Arduino que activa el
motor. En él se utiliza un ULN2803.
Figura 5.2. Diagrama para el controlador de un motor a pasos
5.3 ACCIONAMIENTO DE SERVOMOTORES
Cuando los servos se activan, el valor de posición angular que se envía a cada
uno es de 90o
, el cual se considera como la posición origen. Desde ahí, un valor
positivo o negativo en el programa, se sumará a ese valor, dando el
desplazamiento final. Por ejemplo, un valor de desplazamiento en el programa de
+90, en realidad corresponderá a 180o
en el servomotor. Un valor de -90, en
realidad corresponderá a 0o
en el servomotor.
En el siguiente ejemplo se controlarán dos servomotores con 5 pulsadores: un
pulsador en I0.0 hará que los dos servos regresen a la posición de 0 grados. Los
pulsadores I0.1 e I0.2 controlarán el sentido giro de un servo y los pulsadores I0.3
e I0.4 controlarán el sentido de giro del otro servo. Los pulsadores se conectarán
en los pines 2 a 6. Los servomotores se conectarán en el pin 7 (eje 6) y el pin 8
(eje 7) respectivamente. La cadena de configuración es en este caso:
102
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Observa en la cadena de configuración que se ha utilizado el carácter ‘s’ para
indicar que en ese pin se asignará un servo. En la figura 5.3 se muestra el
diagrama KOP.
Figura 5.3. Diagrama KOP para el control de dos servos
103
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
El bloque “MoveToOrigin” de la red 1 realiza el desplazamiento angular
simultáneo hacia la posición 0 de todos los motores que estén activos (motores a
pasos y/o servos).
Figura 5.4. Diagrama para el controlador de dos servomotores
5.4 ACCIONAMIENTO DE MOTORES A PASOS Y SERVOS
En el ejemplo que sigue se activarán 2 servomotores y dos motores a pasos a
través de 2 pulsadores los cuales estarán asignados a las entradas I0.0 e I0.1.
Cuando se pulse I0.1, los motores incrementarán simultáneamente su posición
angular. Los dos servomotores incrementarán su posición en 1o
a la vez; un motor
a pasos incrementará su posición 10 pasos (+ 9o
) y el otro decrementará su
posición 10 pasos (- 9o
). Cuando se pulse I0.0, todos los motores regresarán a su
posición inicial. La cadena de configuración es, este caso:
OBSERVACIÓN
Cuando se activa el motor a pasos en el eje 9, no es necesario especificar que los
pines que siguen son de salida (pines 11 y 12). Tampoco es necesario que el pin
A0 en el grupo de pines analógicos se especifique como salida
104
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
En la figura 5.5 se muestra el diagrama KOP del programa de control
Figura 5.5. Diagrama KOP para el control de los cuatro motores
OBSERVACIONES
a. El bloque “MoveTo” realiza el desplazamiento angular de todos los ejes de
acuerdo a los parámetros en la entrada “COORS”
b. Los desplazamientos angulares se separan con el carácter ‘,’
c. Si se desea que durante el desplazamiento de los ejes, uno de ellos mantenga
su posición angular permanezca sin cambio se utiliza el carácter ‘x’. Esto
también se aplica cuando el eje no se utiliza
105
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
d. Si se desea realizar un incremento angular de n pasos a partir del
desplazamiento angular actual, se utilizan “++” precediendo al valor. Si se
desea realizar un decremento, se precede el valor con “--”
e. Cuando se desea que el eje alcance un valor de desplazamiento fijo, solamente
se anota el valor con un valor positivo o negativo. Si es positivo se puede
escribir opcionalmente el carácter ‘+’ precediendo al valor, pero solamente una
vez. Si es negativo, se requiere anotar el carácter ‘-’ precediendo al valor
En la figura 5.5 se muestra el diagrama del circuito para este ejemplo.
Figura 5.5. Diagrama del circuito para accionar dos motores a pasos y dos servomotores
106
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
CAPÍTULO 6
PLCmDuino Y STEP7 MicroWin
STEPControl es una aplicación de escritorio que funciona como interfaz entre
STEP7 MicroWin 5.5 y PLCmDuino para realizar acciones de adquisición de datos
y señalización digital desde una PC. Para realizar esto, el usuario utiliza el
software STEP7 MicroWin 5.5 para crear una estrategia de control en cualquier de
los lenguajes soportados por esa aplicación (AWL, KOP o FUP) que
posteriormente podrá cargar en el simulador. Después, desde el módulo software
denominado STEPDuino que ya está incorporado en la aplicación STEPControl, el
usuario podrá correr el programa que se cargó al simulador de STEP7 MicroWin
5.5. La aplicación STEPDuino se comunicará entonces con este programa y
también con PLCmDuino de tal manera que los datos que le envíe el simulador de
MicroWin, los enviará a la tarjeta Arduino para generar señalización en sus
terminales de salida. También STEPDuino recibirá datos que le envía PLCmDuino
para que los envíe al simulador de MicroWin.
Los requerimientos para trabajar con STEPControl son:
1. Visual Basic 2010 Express o posterior
2. STEP7 MicroWin 5.5
3. Licencia de activación de PLCmDuino
4. Licencia de activación de STEPDuino
107
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
6.1 EJEMPLO DE SIMULACIÓN/EMULACIÓN
1. Ejecuta el Administrador de SIMATIC de STEP7 MicroWin 5.5
2. Haz clic en el botón “Cancelar” si aparece el asistente de STEP7
3. Desde el manejador de proyectos, abre el archivo que se encuentra en la
carpeta:
c:ProyexDuinoProyectosSTEPControlEjemplosSTEPDuinoControlador de Nivel de
Agua
108
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
4. Haz doble clic sobre el elemento OB1
109
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
5. Aparecerá el diagrama KOP de un programa de control de nivel de agua todo o
nada con histéresis
OBSERVACIÓN
El programa realiza la acción de control de llenado de un tinaco semejante al
que se explicó en el ejemplo del capítulo 5
6. En el administrador, haz clic sobre el icono del simulador
110
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
7. Aparecerá el simulador
Si lo deseas, configura las ventanas de selección de registros a los que requiera tu
aplicación. Los registros que utiliza el software STEP7 MicroWin 5.5 y sus
equivalentes con STEPDuino y PLCmDuino se muestran en la siguiente tabla
111
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
STEP7 MicroWin 5.5 STEPDuino/PLCmDuino
E0.0 a E0.7 (EB0) I0.0 a I0.7 (IOL)
E1.0 a E1.7 (EB1) I0.7 a I0.15 (IOH)
E2.0 a E2.7 (EB2) I1.0 a I1.7 (I1L)
E3.0 a E3.7 (EB3) I1.8 a I1.15 (I1H) - Sólo Arduino MEGA
A0.0 a A0.7 (AB0) Q0.0 a Q0.7 (Q0L)
A1.0 a A1.7 (AB1) Q0.8 a Q0.15 (Q0H)
A2.0 a A2.7 (AB2) Q1.0 a Q1.7 (Q1L)
A3.0 a A3.7 (AB3) Q1.8 a Q1.15 (Q1H) – Sólo Arduino MEGA
8. Arma el circuito de prueba que se muestra en la figura 6.1. Representa un
simulador hardware para un sistema de control de nivel de agua cuyo control se
realizará desde STEP7 MicroWin. En la tabla 6.1 se muestra la correspondencia
entre los pines de la tarjeta con las entradas y salidas al diagrama en KOP
112
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Figura 6.1. Simulador hardware para el programa de control de nivel de agua utilizando MicroWin
Tabla 6.1. Correspondencia de entradas y salidas entre el circuito de la figura 6.1 y STEP7
MicroWin
Etiqueta en MicroWin Bit en PLCmDuino Bit en MicroWin
FONDO I0.0 E0.0
TOPE I0.1 E0.1
PASO_DE_AGUA I0.2 E0.2
RESET I0.3 E0.3
BOMBA Q0.4 A0.4
FALLA_SENSOR_SUCIO Q0.5 A0.5
FALLA_PASO_DE_AGUA Q0.6 A0.6
113
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
9. Corre la aplicación STEPControl. Aparecerá una pequeña ventana para que
selecciones la versión Windows de tu equipo
10. Oprime “Aceptar”. Aparecerá la ventana principal de STEPControl
10. Activa el editor KOP de MicroWin y carga el programa al simulador haciendo
clic en el icono del mismo
114
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
11. Activa STEPControl. Establece la conexión entre esta aplicación y el
simulador de STEP7 haciendo clic en el botón “Conectar”
12. Selecciona la pestaña “Conexión con PLCmDuino”
115
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
13. Selecciona las licencias para STEPDuino y PLCmDuino haciendo clic en los
botones correspondientes
116
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
14. Prepara la comunicación con PLCmDuino. Introduce el valor del puerto de
comunicación. Si vas a utilizar la tarjeta Arduino UNO, asegúrate que la
casilla “Esperar inicialización del BIOS” esté desactivada. Recuerda que si
vas a utilizar una tarjeta MEGA 2560 con el chip CH340G, es posible que
tengas que activarla. Después oprime “Detectar”
14. Configura los pines de Arduino de acuerdo al circuito de la figura 3.1
117
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
15. Oprime “RUN” para correr el programa cargado en el simulador desde
STEPControl. Si las dos conexiones tuvieron éxito, se activará la pestaña
“Panel” e iniciará la corrida del programa
118
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Los LEDs en el circuito con Arduino deberían encenderse de acuerdo al
algoritmo de tu diagrama KOP en STEP7. Además, el programa debería
responder a las señalizaciones a mano que realices a través de los pulsadores.
El pulsador en I0.2 simula un sensor de paso de agua. Si no se detecta paso de
agua, el controlador activará el LED en Q0.2 indicando falla de paso de agua.
Oprime I0.3 para reiniciar la acción del controlador. Si presionas el pulsador I0.0
y luego presionas I0.1, la bomba (Q0.4) se apagará, ya que esto simula que el
tinaco se ha llenado. Si presionas I0.1 sin presionar I0.0, la bomba se apagará y
se encenderá el LED en Q0.1 indicando que el sensor de fondo está sucio.
OBSERVACIONES
a. Si solamente se tiene alguna de las dos licencias, aparecerán algunos
mensajes de error
Por tanto, el programa correrá en modo evaluación por lo que únicamente
tendrán efecto en el comportamiento del programa las entradas presentes en
Arduino y no se realizará señalización alguna (no se activarán los LEDs)
119
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
b. Para detener la simulación, oprime “STOP”. STEPControl detendrá el simulador
de STEP7 pero no se perderá el enlace con el simulador ni con PLCmDuino.
Esto te permitirá conmutar al editor KOP; modificar tu programa; volverlo a
cargar al simulador y después correrlo desde STEPDuino
c. Oprime “Salir” para suspender la conectividad de STEPDuino con STEP7; con
PLCmDuino y para que después se cierre la aplicación
120
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
CAPÍTULO 7
PLCmDuino Y FluidSIM
FluidSIM puede comunicarse con PLCmDuino utilizando MikroPLAN como interfaz
de comunicación o intérprete. MikroPLAN se comunica con FluidSIM utilizando
peticiones o solicitudes por medio de un enlace DDE (Dynamics Data Exchange –
Intercambio Dinámico de Datos). Para con PLCmDuino, MikroPLAN utiliza
comandos. La comunicación entre FluidSIM y PLCmDuino 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
implementado en FluidSIM. Para ello, PLCmDuino se comunica con
FluidSIM utilizando 4 puertos de 8 bits
Para ambos modos de comunicación, se requiere la licencia “PLCmDuino UNO
121
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
XT” o una licencia para “PLCmDuino MEGA”.
Adicionalmente se puede utilizar MikroPLAN para controlar el prototipo virtual en
FluidSIM. En este caso, MikroPLAN actúa como maestro y FluidSIM como esclavo
de la misma forma a cómo la realiza PLCmDuino en el modo 2. De esta forma se
puede simular el funcionamiento del programa que se cargaría en PLCmDuino
para controlar el prototipo virtual en FluidSIM. Este modo de operación de
MikroPLAN es libre y no se requiere licencia alguna para trabajar con ella.
7.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”
122
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
2. Aparecerá el cuadro de diálogo
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
123
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
muestra en la siguiente figura (estas palabras deberían aparecer por defecto al
activar esa opción). Luego oprime “Aceptar”
7.2 ADQUISICIÓN DE DATOS Y SEÑALIZACIÓN DIGITAL CON
PLCmDuino DESDE FluidSIM
7.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
Y el bloque “FluidSIM In” a través del cual FluidSIM recibirá datos de MikroPLAN
Auto
Module 1 - Port 1
FluidSIM Out
0 1 2 3 4 5 6 7
124
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
que corresponden a los que aparecen en alguno de los puertos de entrada de
PLCmDuino
Ubica estos elementos en el panel de iconos y agrégalos al documento de la
estrategia que va a utilizar PLCmDuino
En la tabla 7.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.
Tabla 7.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
en PLCmDuino
Tipo de puerto Designación del puerto en
FluidSIM
Disponibilidad en versión BIOS
I0L Entrada PLCmDuino_I0L UNO XT, MEGA
I0H Entrada PLCmDuino_I0H UNO XT, MEGA
I1L Entrada PLCmDuino_I1L UNO XT, 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 XT, MEGA
Q0H Salida PLCmDuino_Q0H UNO XT, MEGA
Q1L Salida PLCmDuino_Q1L UNO XT, MEGA
Q1H Salida PLCmDuino_Q1H MEGA
Q3L Salida PLCmDuino_Q3L MEGA
Q3H Salida PLCmDuino_Q3H MEGA
Q4L Salida PLCmDuino_Q4L MEGA
Q4H Salida PLCmDuino_Q4H MEGA
Q5L Salida PLCmDuino_Q5L MEGA
Para demostrar el acceso de los puertos de PLCmDuino cuando FluidSIM
funciona como maestro, realiza el siguiente ejemplo:
Auto
Module 1 - Port 1
FluidSIM In
0 1 2 3 4 5 6 7
125
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
1. Una vez que hayas agregado los elementos gráficos de interfaz a tu estrategia,
completa el diagrama como se muestra en la figura de abajo
2. Haz doble clic en el bloque “FluidSIM Out”. Aparecerá un cuadro de diálogo.
Modifica la etiqueta que aparece ahí por “PLCmDuino_Q1L”
126
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
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”
4. Oprime “OK”. El diagrama debería tener la apariencia que se muestra
127
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
OBSERVACIONES
a. A través del bloque “FluidSIM Out”, MikroPLAN hará que los datos digitales que
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
7.2.2 Preparación de PLCmDuino como esclavo
Cuando MikroPLAN acceda a PLCmDuino en este modo, cualquier programa que
esté cargado se borrara. También debes asegurarte que las terminales de Arduino
estén conectadas a los elementos que vas a utilizar para tu proyecto. Para el
ejemplo, arma el circuito que se muestra en la figura 7.1 en donde se está
utilizando la tarjeta Arduino MEGA 2560 como hardware de adquisición y
señalización digital.
128
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
Figura 7.1. Circuito de prueba para FluidSIM en modo maestro
7.2.3 Activación de MikroPLAN como interfaz de comunicación
1. Conecta la tarjeta Arduino con el BIOS PLCmDuino a tu PC
2. Sin salirte de FluidSIM, corre MikroPLAN. Elige la opción “PLCmDuino” ->
“Detectar” y realiza la detección de la tarjeta
3. En el menú principal de MikroPLAN, elige la opción “Licencias”->”Seleccionar” y
escoge la licencia adecuada
129
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
4. Elige ahora la opción “Interfaz”->”FluidSIM (M) – MikroPLAN – PLCmDuino (E)”
5. Aparecerá un cuadro de diálogo
130
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
6. Oprime “Sí”. Se realizará la detección de la tarjeta y aparecerá el cuadro de
diálogo
7. Oprime “Aceptar”. Aparecerá el cuadro de diálogo
131
Versión 2018R6
Fecha de creación: 1/8/2016
Fecha de última revisión: 03/05/2018
8. Escribe las cadenas de configuración de los pines que vas a utilizar de acuerdo
al circuito de la figura 7.1. Selecciona también los puertos que vas a utilizar en
FluidSIM
9. Sin salirte de MikroPLAN, activa FluidSIM y corre la simulación del circuito
oprimiendo
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino
mikroplan para PLC Arduino

Más contenido relacionado

La actualidad más candente

Control de temperatura con el plc s7 200 (4)
Control de temperatura con el plc s7 200 (4)Control de temperatura con el plc s7 200 (4)
Control de temperatura con el plc s7 200 (4)Moi Torres
 
Piezas mecánicas power point
Piezas mecánicas power pointPiezas mecánicas power point
Piezas mecánicas power pointAnderson Osorio
 
Electrónica: Sistema de potencia Paraninfo por Juan Manuel Escaño González
Electrónica: Sistema de potencia Paraninfo por Juan Manuel Escaño GonzálezElectrónica: Sistema de potencia Paraninfo por Juan Manuel Escaño González
Electrónica: Sistema de potencia Paraninfo por Juan Manuel Escaño GonzálezSANTIAGO PABLO ALBERTO
 
Manual simbolos-hidraulicos-simbologia-150611045116-lva1-app6892
Manual simbolos-hidraulicos-simbologia-150611045116-lva1-app6892Manual simbolos-hidraulicos-simbologia-150611045116-lva1-app6892
Manual simbolos-hidraulicos-simbologia-150611045116-lva1-app6892Antonio J. Falótico C.
 
Microcontroladores: Programación de microcontroladores tomo 1
Microcontroladores: Programación de microcontroladores tomo 1Microcontroladores: Programación de microcontroladores tomo 1
Microcontroladores: Programación de microcontroladores tomo 1SANTIAGO PABLO ALBERTO
 
simbologia-neumática
simbologia-neumáticasimbologia-neumática
simbologia-neumáticaDeivid Torres
 
Adjuntos fichero 408733
Adjuntos fichero 408733Adjuntos fichero 408733
Adjuntos fichero 408733RobertoChamie
 
Simbolos interruptores pulsadores
Simbolos interruptores pulsadoresSimbolos interruptores pulsadores
Simbolos interruptores pulsadoresPedro Bortot
 
PLC y Electroneumática: Automatismos Neumáticos e Hidráulicos Paraninfo por L...
PLC y Electroneumática: Automatismos Neumáticos e Hidráulicos Paraninfo por L...PLC y Electroneumática: Automatismos Neumáticos e Hidráulicos Paraninfo por L...
PLC y Electroneumática: Automatismos Neumáticos e Hidráulicos Paraninfo por L...SANTIAGO PABLO ALBERTO
 
Simbologia-neumatica
Simbologia-neumaticaSimbologia-neumatica
Simbologia-neumaticaSandro Chavez
 
cascada electroneumatica
cascada electroneumaticacascada electroneumatica
cascada electroneumaticaDimas Rumay
 
PLC y Electroneumática: Automatismos Industriales José Roldan Viloria.pdf
PLC y Electroneumática: Automatismos Industriales José Roldan Viloria.pdfPLC y Electroneumática: Automatismos Industriales José Roldan Viloria.pdf
PLC y Electroneumática: Automatismos Industriales José Roldan Viloria.pdfSANTIAGO PABLO ALBERTO
 

La actualidad más candente (20)

Control de temperatura con el plc s7 200 (4)
Control de temperatura con el plc s7 200 (4)Control de temperatura con el plc s7 200 (4)
Control de temperatura con el plc s7 200 (4)
 
Piezas mecánicas power point
Piezas mecánicas power pointPiezas mecánicas power point
Piezas mecánicas power point
 
Problemas de automatas de PLC
Problemas de automatas de PLC Problemas de automatas de PLC
Problemas de automatas de PLC
 
Electrónica: Sistema de potencia Paraninfo por Juan Manuel Escaño González
Electrónica: Sistema de potencia Paraninfo por Juan Manuel Escaño GonzálezElectrónica: Sistema de potencia Paraninfo por Juan Manuel Escaño González
Electrónica: Sistema de potencia Paraninfo por Juan Manuel Escaño González
 
Manual simbolos-hidraulicos-simbologia-150611045116-lva1-app6892
Manual simbolos-hidraulicos-simbologia-150611045116-lva1-app6892Manual simbolos-hidraulicos-simbologia-150611045116-lva1-app6892
Manual simbolos-hidraulicos-simbologia-150611045116-lva1-app6892
 
Microcontroladores: Programación de microcontroladores tomo 1
Microcontroladores: Programación de microcontroladores tomo 1Microcontroladores: Programación de microcontroladores tomo 1
Microcontroladores: Programación de microcontroladores tomo 1
 
simbologia-neumática
simbologia-neumáticasimbologia-neumática
simbologia-neumática
 
Adjuntos fichero 408733
Adjuntos fichero 408733Adjuntos fichero 408733
Adjuntos fichero 408733
 
Simbolos interruptores pulsadores
Simbolos interruptores pulsadoresSimbolos interruptores pulsadores
Simbolos interruptores pulsadores
 
El controlador pid
El controlador pidEl controlador pid
El controlador pid
 
Control por PLC
Control por PLCControl por PLC
Control por PLC
 
Ejercicio LOGO
Ejercicio LOGOEjercicio LOGO
Ejercicio LOGO
 
PLC y Electroneumática: Automatismos Neumáticos e Hidráulicos Paraninfo por L...
PLC y Electroneumática: Automatismos Neumáticos e Hidráulicos Paraninfo por L...PLC y Electroneumática: Automatismos Neumáticos e Hidráulicos Paraninfo por L...
PLC y Electroneumática: Automatismos Neumáticos e Hidráulicos Paraninfo por L...
 
Simbologia-neumatica
Simbologia-neumaticaSimbologia-neumatica
Simbologia-neumatica
 
Tacometro
TacometroTacometro
Tacometro
 
Electroneumática
Electroneumática Electroneumática
Electroneumática
 
Variador power flex
Variador power flexVariador power flex
Variador power flex
 
cascada electroneumatica
cascada electroneumaticacascada electroneumatica
cascada electroneumatica
 
Simbologia.
Simbologia.Simbologia.
Simbologia.
 
PLC y Electroneumática: Automatismos Industriales José Roldan Viloria.pdf
PLC y Electroneumática: Automatismos Industriales José Roldan Viloria.pdfPLC y Electroneumática: Automatismos Industriales José Roldan Viloria.pdf
PLC y Electroneumática: Automatismos Industriales José Roldan Viloria.pdf
 

Similar a mikroplan para PLC Arduino

Microcontroladores PIC
Microcontroladores PICMicrocontroladores PIC
Microcontroladores PICSohar Carr
 
Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03Hamiltonn Casallas
 
TEMPIC-45 Práctica II. Control de un LED a través de un botón
TEMPIC-45 Práctica II. Control de un LED a través de un botónTEMPIC-45 Práctica II. Control de un LED a través de un botón
TEMPIC-45 Práctica II. Control de un LED a través de un botóniihhhii
 
Microprocesadore y Microcontroladores.pdf
Microprocesadore y Microcontroladores.pdfMicroprocesadore y Microcontroladores.pdf
Microprocesadore y Microcontroladores.pdfcarlosPEREZMENDEZ2
 
Microprocesadore y Microcontroladores.pdf
Microprocesadore y Microcontroladores.pdfMicroprocesadore y Microcontroladores.pdf
Microprocesadore y Microcontroladores.pdfcarlosPEREZMENDEZ2
 
Sesion 1
Sesion 1Sesion 1
Sesion 11130490
 
como usar MPLAB
como usar MPLABcomo usar MPLAB
como usar MPLABMicroPart
 
Microcontroladores: Tutorial de microcontroladores PIC
Microcontroladores: Tutorial de microcontroladores PIC Microcontroladores: Tutorial de microcontroladores PIC
Microcontroladores: Tutorial de microcontroladores PIC SANTIAGO PABLO ALBERTO
 
Sistema de control de llenado para maquina de sellado fluopack
Sistema de control de llenado para maquina de sellado fluopack Sistema de control de llenado para maquina de sellado fluopack
Sistema de control de llenado para maquina de sellado fluopack Andresr123
 
Workshop ii microcontrollers using mplab and proteus
Workshop ii microcontrollers using mplab and proteusWorkshop ii microcontrollers using mplab and proteus
Workshop ii microcontrollers using mplab and proteusJeisson Saavedra
 
Tutorial Microprocesadores Pic iniciación rápida (Miguel Torres)
Tutorial Microprocesadores Pic  iniciación rápida  (Miguel Torres) Tutorial Microprocesadores Pic  iniciación rápida  (Miguel Torres)
Tutorial Microprocesadores Pic iniciación rápida (Miguel Torres) Aldo Corp
 

Similar a mikroplan para PLC Arduino (20)

Microcontroladores PIC
Microcontroladores PICMicrocontroladores PIC
Microcontroladores PIC
 
Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03
 
Informe1
Informe1Informe1
Informe1
 
Curso integral pic_236
Curso integral pic_236Curso integral pic_236
Curso integral pic_236
 
Pic
PicPic
Pic
 
Manual win hprog_jm
Manual win hprog_jmManual win hprog_jm
Manual win hprog_jm
 
TEMPIC-45 Práctica II. Control de un LED a través de un botón
TEMPIC-45 Práctica II. Control de un LED a través de un botónTEMPIC-45 Práctica II. Control de un LED a través de un botón
TEMPIC-45 Práctica II. Control de un LED a través de un botón
 
Libro basico pic
Libro basico picLibro basico pic
Libro basico pic
 
Microprocesadore y Microcontroladores.pdf
Microprocesadore y Microcontroladores.pdfMicroprocesadore y Microcontroladores.pdf
Microprocesadore y Microcontroladores.pdf
 
Microprocesadore y Microcontroladores.pdf
Microprocesadore y Microcontroladores.pdfMicroprocesadore y Microcontroladores.pdf
Microprocesadore y Microcontroladores.pdf
 
Sesion 1
Sesion 1Sesion 1
Sesion 1
 
como usar MPLAB
como usar MPLABcomo usar MPLAB
como usar MPLAB
 
Microcontroladores: Tutorial de microcontroladores PIC
Microcontroladores: Tutorial de microcontroladores PIC Microcontroladores: Tutorial de microcontroladores PIC
Microcontroladores: Tutorial de microcontroladores PIC
 
Contador
ContadorContador
Contador
 
El microcontrolador PIC16F877
El microcontrolador PIC16F877El microcontrolador PIC16F877
El microcontrolador PIC16F877
 
Sistema de control de llenado para maquina de sellado fluopack
Sistema de control de llenado para maquina de sellado fluopack Sistema de control de llenado para maquina de sellado fluopack
Sistema de control de llenado para maquina de sellado fluopack
 
Workshop ii microcontrollers using mplab and proteus
Workshop ii microcontrollers using mplab and proteusWorkshop ii microcontrollers using mplab and proteus
Workshop ii microcontrollers using mplab and proteus
 
Tutorial pic
Tutorial picTutorial pic
Tutorial pic
 
Tutorial pic
Tutorial picTutorial pic
Tutorial pic
 
Tutorial Microprocesadores Pic iniciación rápida (Miguel Torres)
Tutorial Microprocesadores Pic  iniciación rápida  (Miguel Torres) Tutorial Microprocesadores Pic  iniciación rápida  (Miguel Torres)
Tutorial Microprocesadores Pic iniciación rápida (Miguel Torres)
 

Más de SANTIAGO PABLO ALBERTO

Manual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzadaManual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzadaSANTIAGO PABLO ALBERTO
 
Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez SANTIAGO PABLO ALBERTO
 
Programación de microcontroladores PIC en C con Fabio Pereira
Programación de microcontroladores PIC en  C con Fabio PereiraProgramación de microcontroladores PIC en  C con Fabio Pereira
Programación de microcontroladores PIC en C con Fabio PereiraSANTIAGO PABLO ALBERTO
 
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...SANTIAGO PABLO ALBERTO
 
Programación de autómatas PLC OMRON CJ/CP1
Programación de  autómatas PLC OMRON CJ/CP1Programación de  autómatas PLC OMRON CJ/CP1
Programación de autómatas PLC OMRON CJ/CP1SANTIAGO PABLO ALBERTO
 
Manual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMARTManual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMARTSANTIAGO PABLO ALBERTO
 
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...SANTIAGO PABLO ALBERTO
 
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...SANTIAGO PABLO ALBERTO
 
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...SANTIAGO PABLO ALBERTO
 
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...SANTIAGO PABLO ALBERTO
 
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...SANTIAGO PABLO ALBERTO
 

Más de SANTIAGO PABLO ALBERTO (20)

secuencia electroneumática parte 1
secuencia electroneumática parte 1secuencia electroneumática parte 1
secuencia electroneumática parte 1
 
secuencia electroneumática parte 2
secuencia electroneumática parte 2secuencia electroneumática parte 2
secuencia electroneumática parte 2
 
Manual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzadaManual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzada
 
Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez
 
Programación de microcontroladores PIC en C con Fabio Pereira
Programación de microcontroladores PIC en  C con Fabio PereiraProgramación de microcontroladores PIC en  C con Fabio Pereira
Programación de microcontroladores PIC en C con Fabio Pereira
 
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
 
Arduino: Arduino de cero a experto
Arduino: Arduino de cero a expertoArduino: Arduino de cero a experto
Arduino: Arduino de cero a experto
 
Fisica I
Fisica IFisica I
Fisica I
 
Quimica.pdf
Quimica.pdfQuimica.pdf
Quimica.pdf
 
Manual básico PLC OMRON
Manual básico PLC OMRON Manual básico PLC OMRON
Manual básico PLC OMRON
 
Programación de autómatas PLC OMRON CJ/CP1
Programación de  autómatas PLC OMRON CJ/CP1Programación de  autómatas PLC OMRON CJ/CP1
Programación de autómatas PLC OMRON CJ/CP1
 
Manual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMARTManual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMART
 
Catálogo de PLC S7-200 SMART
Catálogo de PLC S7-200 SMART Catálogo de PLC S7-200 SMART
Catálogo de PLC S7-200 SMART
 
PLC: Automatismos industriales
PLC: Automatismos industrialesPLC: Automatismos industriales
PLC: Automatismos industriales
 
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
 
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...
 
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
 
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
 
PLC: Motor Dahlander
PLC: Motor DahlanderPLC: Motor Dahlander
PLC: Motor Dahlander
 
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...
 

Último

Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosRevista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosJeanCarlosLorenzo1
 
Clase 1 Análisis Estructura. Para Arquitectura pptx
Clase 1 Análisis Estructura. Para Arquitectura pptxClase 1 Análisis Estructura. Para Arquitectura pptx
Clase 1 Análisis Estructura. Para Arquitectura pptxPaolaVillalba13
 
Tarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaTarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaSebastianQP1
 
Espontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneosEspontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneosOscarGonzalez231938
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfIsbelRodrguez
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
produccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxproduccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxEtse9
 
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRQUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRyanimarca23
 
Sistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosSistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosfranchescamassielmor
 
Peligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionPeligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionOsdelTacusiPancorbo
 
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...esandoval7
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónEstacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónAlexisHernandez885688
 
Descubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialDescubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialyajhairatapia
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)ssuser6958b11
 
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfLEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfAdelaHerrera9
 
NOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptxNOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptxJairReyna1
 
Diagrama de flujo metalurgia del cobre..pptx
Diagrama de flujo metalurgia del cobre..pptxDiagrama de flujo metalurgia del cobre..pptx
Diagrama de flujo metalurgia del cobre..pptxHarryArmandoLazaroBa
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 

Último (20)

Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosRevista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
 
Clase 1 Análisis Estructura. Para Arquitectura pptx
Clase 1 Análisis Estructura. Para Arquitectura pptxClase 1 Análisis Estructura. Para Arquitectura pptx
Clase 1 Análisis Estructura. Para Arquitectura pptx
 
Tarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaTarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieria
 
Espontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneosEspontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneos
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdf
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
produccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxproduccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptx
 
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRQUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
 
Sistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosSistema de gestión de turnos para negocios
Sistema de gestión de turnos para negocios
 
Peligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionPeligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacion
 
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónEstacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
 
Descubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialDescubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundial
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
 
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfLEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
 
NOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptxNOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptx
 
Diagrama de flujo metalurgia del cobre..pptx
Diagrama de flujo metalurgia del cobre..pptxDiagrama de flujo metalurgia del cobre..pptx
Diagrama de flujo metalurgia del cobre..pptx
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 

mikroplan para PLC Arduino

  • 1. Programación de la Tarjeta Arduino con Diagramas de Escalera utilizando MikroPLAN Versión 2018R5 BIOS: PLCmDuino UNO v4.60, PLCmDuino MEGA v1.20 Incluye Adquisición y Señalización Digital con Arduino desde STEP7 MicroWin, FluidSIM y LabVIEW Jorge García Aguirre
  • 2. 2 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 ÍNDICE CAPÍTULO 1. INTRODUCCIÓN AL MANEJO DE MikroPLAN 6 1.1 DESCRIPCIÓN DEL SOFTWARE 6 1.2 LO QUE HAY DE NUEVO EN ESTA VERSIÓN 8 1.2.1 Historial 9 1.3 INSTALACIÓN DEL PROGRAMA 10 1.4 INSTALACIÓN DEL BIOS PLCmDuino EN LA TARJETA Arduino 12 1.5 DETECCIÓN DEL BIOS DESDE MikroPLAN 16 1.6 PLCmDuino EN MODO DE EVALUACIÓN 20 1.7 GENERACIÓN DE LA SOLICITUD DE LICENCIA DE ACTIVACIÓN DE PLCmDuino 20 1.7.1 Solicitud de licencia de activación de primera vez 21 1.7.2 Recepción e instalación del archivo de licencias 25 1.7.3 Solicitud de licencia portátil 28 1.7.4 Reprogramación de Arduino con su IDE original 33 1.8 PROGRAMACIÓN DE PLCmDuino 33 1.8.1 Captura de una red de arranque y paro 33 1.8.2 Asignación de entradas y salidas 37 1.8.3 Guardado del programa 41 1.8.4 Simulación del programa en código AWL 43 1.8.5 Simulación del programa en KOP 47 1.8.6 Circuito de prueba con la tarjeta Arduino para el programa de arranque y paro 49 1.8.7 Carga del programa en la tarjeta Arduino 50 1.8.8 Emulación de código AWL y de diagramas KOP 52 1.8.9 Paro del programa 52 1.8.10 Arranque del programa 53 1.8.11 Borrado del programa 54 1.8.12 Paro forzado al arranque 56 1.9 CONEXIÓN DE MikroPLAN Y PLCmDuino VÍA BLUETOOTH 58 1.9.1 Emparejamiento de dispositivos Bluetooth 61 CAPÍTULO 2. CARACTERÍSTICAS DE PLCmDuino 66 2.1 MARCAS ESPECIALES 66 2.1.1 Marca de ejecución continua 66
  • 3. 3 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 2.1.2 Marca de primer ciclo 66 2.1.3 Marca de reloj de 1 minuto 67 2.1.4 Marca de reloj de 1 segundo 67 2.1.5 Marca de conmutación de ciclo 67 2.2 REGISTROS IMAGEN DE LAS ENTRADAS 67 2.3 REGISTROS IMAGEN DE LAS SALIDAS 67 2.4 REGISTROS EN MEMORIA 68 2.5 CONTADORES 68 2.6 TEMPORIZADORES 68 2.7 PILA 68 2.8 JUEGO DE INSTRUCCIONES AWL 68 CAPÍTULO 3. PLCmDuino Y MobilePorts 71 3.1 INSTALACIÓN DE MobilePorts EN UN TELÉFONO MÓVIL 71 3.2 EMPAREJAMIENTO DEL MÓDULO BLUETOOTH CON EL MÓVIL 75 3.3 CONTROL DEL PROGRAMA EN PLCmDuino DESDE MobilePorts 76 3.3.1 Conexión de MobilePorts con PLCmDuino 76 3.3.2 Arranque, paro y estado de un programa desde MobilePorts 79 CAPÍTULO 4. EJEMPLOS DE APLICACIONES CON LÓGICA PROGRAMABLE 84 4.1 CONTROLADOR DE NIVEL DE AGUA 84 4.1.1 Descripción de la acción de control 84 4.1.2 Falla en el sensor de fondo 87 4.1.3 Falla por falta de paso de agua 89 4.1.4 Falla por exceso de tiempo en el llenado 91 4.2 SEMÁFORO 93 CAPÍTULO 5. CONTROL DE MOVIMIENTO 97 5.1 CARACTERÍSTICAS DE CONTROL DE MOVIMIENTO CON PLCmDuino 97 5.2 ACCIONAMIENTO DE MOTORES A PASOS 98 5.3 ACCIONAMIENTO DE SERVOMOTORES 101 5.4 ACCIONAMIENTO DE MOTORES A PASOS Y SERVOS 103
  • 4. 4 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 CAPÍTULO 6. PLCmDuino Y STEP7 MicroWin 106 6.1 EJEMPLO DE SIMULACIÓN/EMULACIÓN 106 CAPÍTULO 7. PLCmDuino Y FluidSIM 120 7.1 PREPARACIÓN DE FluidSIM PARA LA COMUNICACIÓN CON MikroPLAN 121 7.2 ADQUISICIÓN DE DATOS Y SEÑALIZACIÓN CON PLCmDuino DESDE FluidSIM 123 7.2.1 Preparación de FluidSIM como maestro 123 7.2.2 Preparación de PLCmDuino como esclavo 127 7.2.3 Activación de MikroPLAN como interfaz de comunicación 128 7.3 CONTROL DE PROTOTIPOS VIRTUALES EN FluidSIM DESDE PLCmDuino 134 7.3.1 Preparación de FluidSIM como esclavo 134 7.3.2 Preparación de PLCmDuino como maestro 135 7.3.3 Activación de MikroPLAN como interfaz de comunicación 138 7.4 CONTROL DE PROTOTIPOS VIRTUALES EN FluidSIM DESDE MikroPLAN 142 7.4.1 Preparación de FluidSIM como esclavo 142 7.4.2 Activación de MikroPLAN como maestro 142 CAPÍTULO 8. PLCmDuino y LabVIEW 147 8.1 INSTALACIÓN DE LA PALETA PLCmDuino DACQS 147 8.2 ACCESO A PLCmDuino DESDE LabVIEW 151 8.2.1 Corrida del instrumento virtual 158 8.3 ESCRITURA DE UN BIT A UN PUERTO DE SALIDA 159 8.4 ESCRITURA DE UN BYTE A UN PUERTO DE SALIDA 162 8.5 ESCRITURA DE UNA PALABRA A UN PUERTO DE SALIDA 164 8.6 LECTURA DE UN BIT DE UN PUERTO DE ENTRADA 165 8.7 LECTURA DE UN BYTE DE UN PUERTO DE ENTRADA 167 8.8 LECTURA DE UNA PALABRA DE UN PUERTO DE ENTRADA 168 8.9 LECTURA DE UN CANAL ANALÓGICO 170 CAPÍTULO 9. Control de un LCD 172 9.1 CONEXIÓN DEL LCD 172 9.2 BLOQUES DE CONTROL 173 9.3 EJEMPLOS DE APLICACIÓN 175 9.3.1 Activación del LCD y envío de mensajes 175 9.3.2 Escritura del valor de un registro en el LCD 177
  • 5. 5 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 CAPÍTULO 10. PLCmDuino sin Arduino 180 APÉNDICE 1. Hoja de datos del LCD 16x2 183
  • 6. 6 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 CAPÍTULO 1 INTRODUCCIÓN AL MANEJO DE MikroPLAN 1.1 DESCRIPCIÓN DEL SOFTWARE MikroPLAN es una aplicación de 32 bits para Windows™ que permite al usuario programar a la tarjeta Arduino UNO o MEGA 2560 en dos tipos de lenguajes: - KOP (kontaktplan – esquema de contactos) también conocido como lenguaje de escalera (ladder) - AWL (Anweisungsliste – Lista de Instrucciones) Una vez que el usuario ha terminado de capturar el esquema de su estrategia de control de su programa en KOP o AWL, el compilador de MikroPLAN lo traduce a códigos numéricos (ByteCode) y lo envía al área de memoria no volátil del micro de la tarjeta. Por el momento, MikroPLAN permite programar las tarjetas Arduino UNO con el micro ATMEGA328P-PU en su versión DIP y la tarjeta Arduino MEGA 2560 cuyas fotos se muestran en las figura 1.1 y 1.2 respectivamente.
  • 7. 7 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Figura 1.1. Tarjeta Arduino UNO R3 Figura 1.2. Tarjeta Arduino MEGA 2560 Sin embargo, para que MikroPLAN pueda grabar algún programa creado por el usuario, es indispensable que en el microcontrolador de la tarjeta Arduino se encuentre cargado un firmware o software embebido denominado BIOS (Basic Input Output System – Sistema Básico de Entrada / Salida). Gracias a este programa alojado en la memoria FLASH del micro, es que MikroPLAN puede transferir los códigos generados por su compilador al micro destino. El BIOS se encarga entonces de recibir estos datos y grabarlos en la memoria no volátil disponible del micro. El nombre del BIOS para la tarjeta Arduino se denomina PLCmDuino. Tu mismo(a) puedes cargar el BIOS en cualquier tarjeta Arduino (UNO o MEGA 2560) y con MikroPLAN programarla mediante KOP en modo evaluación. Esto significa que tendrás acceso a todas las características que el firmware te ofrece pero el programa que cargues solamente se grabará en RAM. Por tanto, al
  • 8. 8 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 desenergizar la tarjeta, se perderá. Para eliminar esta restricción y hacer que un programa permanezca en su memoria no volátil, requieres de una licencia de activación. El procedimiento para solicitarla se describe más adelante en este manual. A partir de la versión 9.0 de MikroPLAN se incorpora, a la simulación AWL que ya estaba disponible originalmente, la simulación y emulación de KOP y AWL; herramientas cuyo propósito son facilitar la depuración de programas. Los modos de emulación tienen el propósito de interactuar con las entradas y salidas de PLCmDuino en tiempo real desde la corrida de la estrategia en KOP o AWL en la PC. Los modos de simulación se pueden utilizar sin restricción alguna, pero los modos de emulación requieren conectividad con PLCmDuino además de una licencia válida de activación. Junto con MikroPLAN y PLCmDuino se incluyen también el software STEPControl y la aplicación móvil MobilePorts. STEPControl es una aplicación de escritorio que permite acceder a la tarjeta Arduino (UNO o MEGA 2560) desde el programa STEP7 MicroWin 5.5 para utilizarlo como hardware de adquisición y señalización digitales. MobilePorts permite interactuar desde tu móvil con el programa que hayas cargado en tu Arduino con MikroPLAN mediante un enlace Bluetooth 1.2 LO QUE HAY DE NUEVO EN ESTA VERSIÓN 16/04/2018 Se simplificó la secuencia de carga y detección del BIOS 1.2.1 HISTORIAL 26/03/2018 - Se corrigieron omisiones de máscaras en MikroPLAN para la activación de puertos tanto en la simulación como en la grabación de los programas en modo
  • 9. 9 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 evaluación así como para el acceso de los mismos desde FluidSIM para el BIOS MEGA 2560 - El BIOS para cada una de sus dos versiones se adaptó para su acceso desde LabVIEW utilizando las bibliotecas PLGDCOM32 y PLGDCOM64 en sus versiones de 32 bit y 64 bit respectivamente. El acceso desde LabVIEW es más rápido en comparación con los bloques VISA de la versión anterior por lo cual los bloques con estos elementos ya no están soportados. En cambio se agregaron los SubVIs correspondientes para las bibliotecas mencionadas 18/02/2018 - Se incluye la primera versión del BIOS PLCmDuino para Arduino MEGA - La configuración de los pines de entrada y salida así como su asignación a los puertos correspondientes cambió respecto a la manera como se hacía en versiones anteriores. Ahora los bits del mismo peso en los registros asignados a los puertos de entrada y salida están asociados físicamente a un mismo pin de la tarjeta, por lo que al configurarlos como pines de entrada o salida los hace exclusivos de utilizarlos únicamente o en un registro de entrada (I) o un registro de salida (Q) - Se eliminaron los registros “S”, por lo que solamente hay cuatro tipos de registros: “I”, “Q”, “SM” y “M”. Además se incrementó la cantidad de registros “M” de 32 a 40 - Para la simulación de los programas se requiere la misma configuración de los pines como entradas y salidas que se utiliza para cargar los programas en la tarjeta - Los temporizadores ya admiten registros para los valores de comparación
  • 10. 10 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 - Para cuando MikroPLAN actúa como interfaz entre la comunicación con FluidSIM como maestro y PLCmDuino como esclavo, ahora el usuario puede seleccionar en FluidSIM únicamente los puertos que va a utilizar. Hasta 6 puertos de 8 bits para Arduino UNO y 20 puertos para Arduino MEGA 2560. Esto aumenta la velocidad de comunicación entre ambas aplicaciones al acceder de forma selectiva a los puertos deseados por el usuario. Esto también sucede cuando MikroPLAN actúa como interfaz entre PLCmDuino como maestro y FluidSIM como esclavo. En este caso, se pueden acceder hasta 4 puertos de 8 bits - La aplicación STEPDuino cambió el nombre a STEPControl debido a que este programa permitirá realizar también la interfaz entre Arduino y otras aplicaciones de control y simulación de sistemas automatizados. Por tanto, la utilización de STEPControl como interfaz entre PLCmDuino y STEP7 MicroWin es una de entre otras posibles opciones que se irán incluyendo en la aplicación. En particular, esa opción de interfaz se designa como “STEPDuino”. Si adquiriste una licencia para STEPDuino, ésta seguirá siendo funcional pero solamente te permitirá acceder a esa opción - Se simplificó el control de prototipos virtuales desde PLCmDuino o MikroPLAN y se reestructuraron los métodos de acceso a FluidSIM y desde PLCmDuino y MikroPLAN - Se incluyeron “SubVI’s” para acceso a PLCmDuino desde cualquier versión de LabVIEW 1.3 INSTALACIÓN DEL PROGRAMA MikroPLAN y todas las aplicaciones que se describen en este documento se encuentran en una carpeta comprimida que puedes descargar del blog:
  • 11. 11 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 programaciondearduinoconlenguajedeplc.blogspot.mx Para su instalación en tu PC sigue los siguientes pasos: 1. Copia el contenido de la carpeta comprimida ProyexDuino.ZIP a la unidad C: de tu computadora, de tal manera que en el directorio raíz quede la carpeta como: c:ProyexDuino OBSERVACIÓN 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 De lo contrario, MikroPLAN no funcionará adecuadamente o no se ejecutará 2. En la carpeta: c:ProyexDuinoProyectosPLCmDuinoProgramaciónLadder Ubica el programa MikroPLAN.exe
  • 12. 12 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Y crea un acceso directo desde el escritorio OBSERVACIÓN El funcionamiento del programa MikroPLAN se ha probado para las versiones de Windows™ XP, Vista, 7, 8, 8.1 y 10 1.4 INSTALACIÓN DEL BIOS PLCmDuino EN LA TARJETA ARDUINO Una vez que hayas instalado los “drivers” para acceder a la tarjeta Arduino en tu computadora, necesitas cargar el BIOS PLCmDuino en tu tarjeta Arduino. Sigue los siguientes pasos: 1. En la carpeta c:ProyexDuino Ubica y ejecuta el programa JOGATECHProyex.exe 2. Aparecerá la ventana principal del programa. Después se mostrará una ventana emergente de presentación
  • 13. 13 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 A continuación aparecerá un cuadro de diálogo para que selecciones la versión de Windows en a que estás trabajando. Después oprime “Aceptar” 3. En el menú principal, selecciona la opción “Firmware”->”Carga …”
  • 14. 14 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 4. Aparecerá un cuadro de diálogo. Introduce el número de puerto COM que Windows haya asignado a tu tarjeta 5. Haz clic en “Firmware” y selecciona la versión a cargar en tu tarjeta. Para Arduino UNO R3 selecciona “PLCmDuino_UNO_R3”. Para la MEGA 2560 selecciona “PLCmDuino_MEGA_2560”
  • 15. 15 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 6. 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.exe” está intentando detectar el BIOS que se cargó
  • 16. 16 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 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 7. Oprime “Aceptar”. Los campos “Controlador” y “Versión BIOS” mostrarán la información que proporciona el BIOS PLCmDuino que cargaste en Arduino 1.5 DETECCIÓN DEL BIOS DESDE MikroPLAN Una vez cargado el BIOS, comprueba que MikroPLAN puede acceder a él. Para ello realiza un proceso de detección de la tarjeta
  • 17. 17 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 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:
  • 18. 18 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Por defecto, está enfocada la versión 10 de Windows. Oprime “Aceptar” para continuar 4. Finalmente aparecerá un cuadro de diálogo semejante al que apareció 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, 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
  • 19. 19 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 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á con la información que se muestra abajo Oprime “Salir” para continuar 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
  • 20. 20 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 1.6 PLCmDuino EN MODO DE EVALUACIÓN Una vez que hayas detectado con éxito PLCmDuino, puedes programarlo sin necesidad de utilizar una licencia de activación. 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 apartado “1.8 PROGRAMACIÓN DE PLCmDuino” ya que el procedimiento que se explica ahí se aplica tanto para cuando tienes una licencia o cuando trabajas en modo evaluación. 1.7 GENERACIÓN DE LA SOLICITUD DE LICENCIA DE ACTIVACIÓN DE PLCmDuino Como ya se había comentado anteriormente, necesitas una licencia de activación del BIOS PLCmDuino que te permitirá grabar un programa en la memoria no volátil de tu tarjeta Arduino mediante los lenguajes KOP y AWL desde la o las computadoras que desees. Para obtener la licencia, necesitas generar una solicitud de licencia de activación. Éste es un archivo que se crea desde la aplicación “JOGATECHProyex”. Una vez que hayas generado la solicitud, deberás enviarla a: jogatech@hotmail.com En respuesta, te proporcionaré el precio de la misma y después de confirmar el depósito de tu pago, te enviaré un archivo que corresponde a la licencia de activación que solicitaste. Dicho archivo contiene un código de referencia que está vinculado a un código de preactivación que se graba en la tarjeta Arduino que aloja el BIOS. Incluye también un sello digital del equipo de cómputo que se utiliza
  • 21. 21 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 para programarlo. Por tanto, la licencia que hayas solicitado te será útil para programar una sola tarjeta Arduino y únicamente desde el equipo de cómputo que utilizaste para generar la solicitud la cual tiene dos modalidades: 1. Solicitud de licencia de activación de primera vez. Se requiere cuando vas a utilizar por primera vez la nueva copia del BIOS PLCmDuino que cargaste en tu tarjeta Arduino y que vas a programar desde la computadora desde la cual donde generas la solicitud de licencia. En este proceso, MikroPLAN genera un código de preactivación y lo graba en la tarjeta Arduino que aloja el BIOS. Además genera un sello digital para el equipo desde el cual se realiza la solicitud 2. Solicitud de licencia portátil. Se requiere cuando deseas programar PLCmDuino en una computadora diferente a la que utilizaste para generar la solicitud de licencia de primera vez. En este tipo de solicitud, MikroPLAN genera solamente un sello digital único para el equipo desde el que se realiza la solicitud y no se graba ni se modifica el código de preactivación que esté presente en tu tarjeta Arduino 1.7.1 Solicitud de licencia de activación de primera vez Como ya se había mencionado, esta licencia te permite utilizar PLCmDuino en la tarjeta Arduino que aloja el BIOS y en la computadora desde la que vas a generar este tipo de licencia. Para generarla sigue los siguientes pasos: 1. Conecta tu tarjeta Arduino con el BIOS PLCmDuino 2. Corre la aplicación “JOGATECHProyex” y selecciona la opción “Firmware”- >”Detectar”. El proceso para detectar el BIOS en PLCmDuino desde esta aplicación es el mismo que hiciste para MikroPLAN. Sigue los pasos 4 y 5 del apartado 1.5
  • 22. 22 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 3. En el menú principal selecciona la opción “Licencias”->”Solicitar licencia de activación de primera vez” 4. Aparecerá un cuadro de diálogo que te permitirá seleccionar el producto para el cual deseas solicitar la licencia 5. Selecciona la opción “PLCmDuino UNO” para solicitar la licencia del BIOS PLCmDuino para la tarjeta Arduino UNO R3
  • 23. 23 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 OBSERVACIONES a. La opción “AlarmDuinoSMS MEGA” es una aplicación embebida que se utiliza para controlar una alarma vecinal vía SMS. Si este proyecto es de tu interés consulta el documento “Prueba y Activación de AlarmDuino.PDF” ubicado en la carpeta “c:ProyexDuinoProyectosAlarmDuinoDocumentación” b. La opción “PLCmDuino UNO XT” es la versión extendida de PLCmDuino que te permitirá realizar aplicaciones de control de movimiento, así como también acceder a FluidSIM desde Arduino o viceversa c. La opción “PLCmDuino MEGA” es la versión del BIOS para la tarjeta Arduino MEGA 2560. Tiene las mismas características que el BIOS “PLCmDuino UNO XT” d. Si deseas solicitar la licencia para STEPDuino selecciona la opción “Aplicaciones para PC”. Sin embargo, antes debes tener una licencia para PLCmDuino UNO XT o PLCmDuino MEGA
  • 24. 24 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 6. Oprime “Generar”. Aparecerá entonces el siguiente cuadro de diálogo. Puesto que es la primera vez que vas a generar la licencia, oprime “Si” 7. Aparecerá entonces el siguiente cuadro de diálogo 8. Oprime “Aceptar”. Aparecerá un cuadro de diálogo solicitando que cambies, si así lo deseas, el nombre del archivo de solicitud generado (extensión SOL). Te sugiero que no lo modifiques y únicamente ubiques la carpeta en donde guardarlo. Si lo deseas, puedes guardarlo en la carpeta “c:ProyexDuinoSolicitudes”. Después oprime “Guardar”
  • 25. 25 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 9. Aparecerá finalmente el cuadro 1.7.2 Recepción e instalación del archivo de licencias El archivo de licencias que recibirás del autor es una biblioteca DLL (Dynamic Link Library – Biblioteca de Enlace Dinámico) única para tu tarjeta y para el equipo que vas a utilizar para programar PLCmDuino. El nombre del archivo es: JOGATECHLicencias.DLL Sigue los siguientes pasos para instalar el archivo de licencias en tu equipo.
  • 26. 26 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 1. Una vez que hayas recibido este archivo por parte de un servidor, asegúrate de que ni “MikroPLAN” ni “JOGATECHProyex” estén corriendo y cópialo a la carpeta c:ProyexDuinoDLL Ahí ya estará un archivo con el mismo nombre que es el original que está en la carpeta ZIP y que no tiene licencia alguna, por tanto simplemente deja que Windows lo reemplace 2. Ejecuta MikroPLAN y después del proceso de detección, selecciona la opción “Licencias->Seleccionar …”. Aparecerá una lista con las licencias disponibles para ese equipo. En este caso, aparecerá la licencia de activación que solicitaste con un código de referencia 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 preactivado con el código de referencia que aparezca en tu caso en la tercera columna de la lista del cuadro de diálogo 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
  • 27. 27 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 puedes programar la tarjeta Arduino con él. Sin embargo, no significa que la clave de referencia que aparece ahí esté efectivamente ligada a la tarjeta Arduino que estés utilizando. Esto último lo podrás comprobar únicamente al momento de grabar cualquier programa en ella c. Como ya se mencionó anteriormente, al descargar por primera vez la carpeta ZIP, la biblioteca no tiene licencia alguna, por lo cual, al hacer clic en esta opción en el menú principal aparecerá el cuadro de diálogo d. Cuando solicites una nueva licencia, el archivo de licencia que recibirás contendrá las licencias que ya tengas más la nueva licencia solicitada. De esta forma las licencias que hayas solicitado anteriormente se conservan e. Del archivo de licencias, no se pueden eliminar referencias no válidas o que ya no utilices ADVERTENCIA Una vez que recibas el archivo de licencia, no intentes generar una nueva solicitud con la tarjeta ya activada pues esto destruirá el código de preactivación en tu tarjeta Arduino y ya no habrá forma de recuperarlo. Por tanto, si después deseas utilizar PLCmDuino en tu Arduino nuevamente, la licencia que recibiste ya no será válida y solamente podrás programarlo en modo evaluación
  • 28. 28 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 1.7.3 Solicitud de licencia portátil Como ya se había comentado anteriormente, necesitas realizar esta solicitud cuando deseas programar a PLCmDuino en una computadora distinta a la que utilizaste para generar la licencia de primera vez. Cuando se realiza esta solicitud, MikroPLAN genera un sello digital para el nuevo equipo desde el cual vas a programar a PLCmDuino. Este sello se incorporará en el archivo de licencias que recibirás de un servidor. Para ello sigue los siguientes pasos: 1. Descomprime el contenido de la carpeta “ProyexDuino.zip” en la computadora desde la cual también deseas programa PLCmDuino (computadora destino) 2. Ubica el archivo “JOGATECHLicencias.dll” de la computadora desde donde realizaste la solicitud de licencia de primera vez y cópialo a la computadora destino 3. Conecta tu tarjeta Arduino que aloja el BIOS PLCmDuino preactivado a la computadora destino 4. En la computadora destino, carga JOGATECHProyex.exe y después realiza el proceso de detección de la tarjeta OBSERVACIÓN Si la única licencia que tienes es la de primera vez, ve directamente al paso 7 5. Elije la opción “Licencias”->”Seleccionar ...”
  • 29. 29 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 6. 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 7. En el menú principal haz clic en la opción “Licencias”->”Solicitar licencia de activación portátil”
  • 30. 30 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 8. Aparecerá el cuadro de diálogo 9. Oprime “Sí”. Si la referencia de la clave de preactivación está registrada en la licencia actual, aparecerá el mensaje 10. Oprime “Aceptar”. Aparecerá el cuadro de diálogo
  • 31. 31 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 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 11. Oprime “Generar”. Aparecerá un cuadro de diálogo similar al del paso 6 del apartado 1.7.1
  • 32. 32 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 12. Nuevamente te sugiero que no cambies el nombre y lo guardes en la carpeta de tu preferencia para que después lo envíes al autor. OBSERVACIONES a. Si intentas generar la licencia portátil desde la misma computadora que utilizaste para generar la licencia de primera vez, aparecerá el mensaje b. Si la clave de preactivació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
  • 33. 33 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 COMENTARIO Por cada nueva copia del BIOS PLCmDuino que cargues en alguna tarjeta Arduino, necesitarás realizar el proceso de solicitud de licencia de activación descrito arriba en cualquiera de sus dos modalidades 1.7.4 Reprogramación de Arduino con su IDE original Se ha comprobado que el código de preactivación de PLCmDuino prevalece en la tarjeta Arduino UNO tras programarla nuevamente con su IDE (Integrated Development Environment – Entorno de Desarrollo Integrado) original. Esto significaría entonces que puedes realizar aplicaciones a través de su IDE utilizando Processing, que es el lenguaje nativo de la tarjeta Arduino, o bien cuando desees utilizar KOP, puedes recargar el BIOS nuevamente en la tarjeta Arduino como se describió en la sección 1.4 y utilizar MikroPLAN sin necesidad de comprar una nueva licencia de activación. Sin embargo, no te garantizo que esta práctica no llegue a dañar alguna vez la integridad del código de preactivación o bien, que la ejecución del programa que cargues en Arduino con su IDE original llegue a alterarlo también. Por tanto, si esto llegara a suceder, tendrás que generar un nuevo código de preactivación y pagar por una nueva licencia. 1.8 PROGRAMACIÓN DE PLCmDuino 1.8.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
  • 34. 34 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 requiere realizar una detección de la tarjeta, por lo cual puedes omitir esta acción 2. Aparecerá el editor de esquemas de contactos 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
  • 35. 35 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 4. Agrega después una bobina. Para ello elije el grupo Después selecciona la bobina
  • 36. 36 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 5. Agrega otro contacto en la parte inferior
  • 37. 37 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 6. Coloca el cursor en el primer contacto que agregaste y luego oprime Se realizará la conexión hacia el contacto de abajo 1.8.2 Asignación de entradas y salidas Como ya se había comentado, a partir de esta nueva de 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
  • 38. 38 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 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)”
  • 39. 39 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 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 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 I3/Q3 Registros imagen de 16 bits asignados a los pines 14 a 29 de la tarjeta
  • 40. 40 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Arduino MEGA únicamente I4/Q4 Registros imagen de 16 bits asignados a los pines 30 a 45 de la tarjeta Arduino MEGA únicamente I5/Q5 Registros imagen de 16 bits de los cuales sólo los primeros 8 bits están asignados a los pines 46 a 53 de la tarjeta Arduino MEGA únicamente b. I2/Q2 son puertos de entrada y salida respectivamente de 16 bits pero no tienen conexión física hacia el exterior y son independientes entre sí. Están soportados para las dos versiones del BIOS (UNO y MEGA 2560). Se utilizan en la aplicación del usuario para recibir o enviar datos vía Bluetooth desde o hacia MobilePorts. También se utilizan para que PLCmDuino controle prototipos virtuales en FluidSIM a través de MikroPLAN. En este caso, a través de I2, PLCmDuino puede monitorear el estado del prototipo virtual en FluidSIM y con los bits de Q2 puede accionarlo. En este caso, la tarjeta Arduino actúa como maestro; FluidSIM como esclavo y MikroPLAN como interfaz entre ellos c. A los puertos I0/Q0, I1/Q1, I3/Q3, I4/Q4 e I5/Q5 también se les puede acceder desde FluidSIM cuando esta aplicación funciona como maestro y PLCmDuino como esclavo. En este caso, Arduino funciona como tarjeta de adquisición y señalización digitales y MikroPLAN como interfaz en este enlace de comunicación d. Los pines 0 y 1 está reservados para la comunicación serial con la computadora cuando se programa PLCmDuino. También para cuando se conecta la tarjeta con otros Arduinos o bien para la comunicación Bluetooth de PLCmDuino con MobilePorts e. El pin 13 está reservado para mostrar el estado del programa. Si hay un
  • 41. 41 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 programa corriendo (RUN), el LED conectado a este pin estará encendido. Si está apagado, indicará que el programa está detenido (STOP) o no hay programa cargado 2. Para terminar con el diagrama en el editor KOP captura los identificadores para los pines. Haz clic sobre el signo de interrogación y escribe el que corresponda OBSERVACIÓN Puedes utilizar etiquetas para designar los bits para los pulsadores. En el editor KOP oprime el botón “ETIQUETAS”. En la primera columna anota el nombre de la etiqueta y en la segunda, el bit que desees asignarle
  • 42. 42 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Una vez hecho esto, ya puedes utilizar esas etiquetas para la designación de los pines. El diagrama quedaría entonces como: 1.8.3 Guardado del programa 1. En la barra de botones de acceso rápido, oprime el botón
  • 43. 43 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 2. Aparecerá el cuadro de diálogo solicitándote que cambies el nombre del archivo 3. Ubica la carpeta y selecciona el nombre para el archivo. Después oprime “Guardar” 1.8.4 Simulación del programa en código AWL Esta es la simulación original de MikroPLAN. A partir de la versión 9, ésta se realiza utilizando una máquina virtual de PLCmDuino integrada en MikroPLAN. De esta manera, la forma en que se ejecute el código en la PC, es como se ejecutará en PLCmDuino. Por supuesto, debido a la arquitectura RISC (Reduced Instruction Set Computer – Computadora con Conjunto Reducido de Instrucciones) del micro de Arduino, el código se ejecutará más rápido en la tarjeta que en la PC. 1. Haz clic en la opción “Simulación”->”Tarjeta” y selecciona el tipo de tarjeta que se utilizará en la simulación
  • 44. 44 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 2. Se seleccionará el tipo de tarjeta que se utilizará para la simulación y aparecerá 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. El tipo de tarjeta utilizado en la simulación es independiente del tipo de tarjeta que MikroPLAN detecta antes de cargar el programa
  • 45. 45 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 b. Para el caso de Arduino MEGA 2560 podrás seleccionar el byte alto del puerto Q1, así como los puertos I3/Q3 a I5L/Q5L 3. Oprime el icono 4. Se generará el código AWL equivalente del diagrama y se realizará la compilación del mismo. Si no hubo error, aparecerá la ventana 5. Oprime “Aceptar”. Aparecerá un tablero que tiene pulsadores para generar las entradas al autómata e indicadores para mostrar el estado lógico de las salidas del autómata durante la simulación 6. Oprime el pulsador que representa a la entrada I0.0. Se realizará el enclave
  • 46. 46 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 7. Regresa el pulsador a su posición de apagado. Oprime ahora el pulsador I0.1 para desenclavar la bobina 8. Para terminar la simulación, oprime el botón
  • 47. 47 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 1.8.5 Simulación del programa en KOP Es la simulación del funcionamiento del diagrama de escalera 1. Oprime el icono 2. Aparecerá el mismo tablero de control de la simulación en AWL pero ahora se mostrarán resaltados en fondo de color ciano los valores de las marcas y registros que estés utilizando en el diagrama de escalera. Cuando el estado lógico del contacto (no de la marca) es cierto, éste se mostrará en amarillo 3. Oprime el pulsador I0.0
  • 48. 48 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 4. 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)
  • 49. 49 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 5. Oprime el pulsador I0.1. Checa cómo se realiza el desenclave 6. Para terminar la simulación, oprime el botón 1.8.6 Circuito de prueba con la tarjeta Arduino para el programa de arranque y paro Arma el circuito que se muestra en la figura 1.3 Figura 1.3. Circuito de prueba para el programa de arranque y paro
  • 50. 50 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 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 1.8.7 Carga del programa en la tarjeta Arduino Elige la opción del menú “PLCmDuino”->”Cargar programa”. También puedes cargar el programa oprimiendo Se generará el código AWL del diagrama en KOP
  • 51. 51 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Oprime “Aceptar” para continuar. Se cargará el código del programa en la tarjeta 2. Una vez cargado el programa, PLCmDuino lo ejecutará. En el circuito de prueba de la figura 1.1 verifica el funcionamiento del programa. Al oprimir el pulsador
  • 52. 52 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 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 OBSERVACIÓN Una vez que el compilador haya generado el código, intentará enviarlo a PLCmDuino para que se cargue en Arduino utilizando la licencia seleccionada actual. Sin embargo, si no se tiene una licencia o no es la correcta para la tarjeta Arduino que tengas conectada en la PC, aparecerá el mensaje 1.8.8 Emulación de código AWL y de diagramas KOP En este modo se efectúa la simulación del código AWL o del diagrama en KOP desde la computadora, pero realizando simultáneamente la adquisición de datos y señalización digital en tiempo real en PLCmDuino. Como ya se había comentado, necesitas tener conectada la tarjeta Arduino junto con una licencia de activación válida. Para la emulación AWL oprime y para la emulación KOP oprime . 1.8.9 Paro del programa Para detener el programa que se está ejecutando en PLCmDuino, desde tu equipo de cómputo, elige la opción “PLCmDuino”->”STOP”
  • 53. 53 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Aparecerá el mensaje 1.8.10 Arranque del programa Para ejecutar el programa cargado en Arduino, elige la opción “PLCmDuino>”RUN”
  • 54. 54 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Aparecerá el mensaje 1.8.11 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”
  • 55. 55 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Aparecerá un mensaje solicitándote la confirmación de la operación Si estás seguro, haz clic en “Sí”. Después de unos segundos aparecerá otro mensaje
  • 56. 56 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 OBSERVACIÓN La operación de borrado del programa no elimina ni modifica el código de preactivación 1.8.12 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 ya que si esto llega a suceder se bloqueará la comunicación entre PLCmDuino y MikroPLAN. En la figura 1.4 se muestra un programa que después de cargarse en PLCmDuino, bloqueará la comunicación con MikroPLAN Figura 1.4. 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
  • 57. 57 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 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 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 1.5 Figura 1.5. Conexión del puente para realizar el paro forzado del programa al arranque
  • 58. 58 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 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 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 1.8.10 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 1.9 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
  • 59. 59 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 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 1.5. (a) (b) Figura 1.5. 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 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 1.6 se muestra la conexión de este módulo a la tarjeta Arduino UNO R3.
  • 60. 60 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Figura 1.6. 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 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
  • 61. 61 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 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 1.7 se muestra una imagen de un radio genérico Bluetooth. Figura 1.7. Radio Bluetooth o “Bluetooth dongle” de uso genérico 1.9.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
  • 62. 62 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 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
  • 63. 63 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 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.
  • 64. 64 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 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”
  • 65. 65 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 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
  • 66. 66 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 CAPÍTULO 2 CARACTERÍSTICAS DE PLCmDuino Lo que a continuación se describe es válido para las versiones del BIOS tanto para la tarjeta Arduino UNO R3 como para la MEGA 2560. 2.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. 2.1.1 Marca de ejecución continua Es la marca SM0.0 y siempre se encuentra en 1. Esta marca se utilizó en el diagrama de la figura 1.4. 2.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
  • 67. 67 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 función 2.1.3 Marca de reloj de 1minuto Es la marca SM0.4. Conmuta entre 1 y 0 cada 30 segundos por lo que a partir de esta marca se puede generar una señal de reloj de período de 1 minuto 2.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. 2.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 2.2 REGISTROS IMAGEN DE LAS ENTRADAS Son cinco registros de 16 bits: I0, I1, I3, I4 e I5 cuya utilidad ya se describió en el capítulo 1. Como ya se comentó, el registro I2 es la imagen de los datos que PLCmDuino recibe de la aplicación para Android MobilePorts cuando PLCmDuino se enlaza con ella vía Bluetooth. Esto se comentará más ampliamente en el capítulo 3. Su función como interfaz para recepción de datos de prototipos virtuales se comentará en el capítulo 5. 2.3 REGISTROS IMAGEN DE LAS SALIDAS Son cinco registros de 16 bits: Q0, Q1, Q3, Q4 y Q5 cuya utilidad ya se describió en el capítulo 1.
  • 68. 68 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 2.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. 2.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. 2.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. 2.7 PILA La pila de PLCmDuino es de 16 bits. 2.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 2.1.
  • 69. 69 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Tabla 2.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=, LDB<=, OB<=, AB<=, LDW>=, OW>=, AW>=, LDW=, OW=, AW=, LDW<=, OW<=, AW<= 18 Contactos LD, O, A, LDN, ON, AN, NOT, EU, EP 9 Operaciones lógicas, de transferencia y de corrimiento con palabras de 8 bits MOVB, ANDB, ORB, XORB, INVB, SLB, SRB, RLB, RRB 9 Operaciones aritméticas con palabras de 16 bits ADDW, SUBW, INCW, DECW 4 Control de pila LPP, LPS, LRD, LSS, ALD, OLD 6 Operaciones aritméticas con palabras de 8 bits ADDB, SUBB, INCB, DECB, MOVB 5 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 2.2.
  • 70. 70 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Tabla 2.2. Instrucciones AWL particulares para PLCmDuino Grupo Instrucciones AWL Total Accionamiento de motores a pasos y servomotores SERVO_CFG, SERVO_SETVSM, SERVO_MOVETO, SERVO_INCAX, SERVO_DECAX, SERVO_MOVE0, SERVO_MOVEAX, SERVO_MOVE, SERVO_ENABLE 9 Manejo del LCD LCD_EN, LCD_MSG, LCD_CLR, LCD_CMD 4 Comunicación con MobilePorts vía Bluetooth utilizando los pines 0 y 1 de Arduino MPORTS_SMS_TX, MPORTS_SMS_RX, MPORTS_RX, MPORTS_TX 4 Contactos de comparación para cadenas de caracteres LDSTR=, OSTR=, ASTR= 3 Comunicación alámbrica o inalámbrica por RS232 utilizando los pines 0 y 1 de Arduino RS232_TX, RS232_RX 2 Infrarrojos utilizando los pines 2 o 3 de Arduino IR_RX 1 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 28 A excepción de las 6 instrucciones de control de pila, las demás instrucciones de las tablas 2.1 y 2.2 tienen su correspondiente representación en KOP.
  • 71. 71 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 CAPÍTULO 3 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 3.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”
  • 72. 72 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 3. 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”.
  • 73. 73 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Comenzará entonces la instalación
  • 74. 74 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 4. Al terminar, oprime “Hecho” Cierra las ventanas. El acceso directo al programa aparecerá en la ventana de aplicaciones
  • 75. 75 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 3.2 EMPAREJAMIENTO DEL MÓDULO BLUETOOTH CON EL MÓVIL 1. Arma el circuito de prueba de la figura 1.6 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
  • 76. 76 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 5. Introduce los números 1234 y después oprime “Aceptar”. El dispositivo se habrá vinculado 3.3 CONTROL DEL PROGRAMA EN PLCmDuino DESDE MobilePorts 3.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
  • 77. 77 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 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
  • 78. 78 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 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
  • 79. 79 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Para desconectar MobilePorts de Arduino, oprime simplemente “Desconectar” 3.3.2 Arranque, paro y estado de un programa desde MobilePorts 1. Arma el circuito de prueba de la figura 4.1 Figura 4.1. Circuito para probar la conexión de MobilePorts con Arduino
  • 80. 80 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 2. En MikroPLAN captura el programa que se muestra en la figura 4.2. Se trata de la red de arranque y paro que se mostró en el capítulo 1, 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 4.2. 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 1. Sin embargo, ya que no vas a utilizar los pines 2 y 3, la configuración podría quedar como: Por supuesto, puedes utilizar como salida cualquier otro bit distinto a Q0.2 OBSERVACIÓN Cada uno de los 16 bits del puerto I2 se identifica con un pulsador en MobilePorts
  • 81. 81 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 3. Antes de cargar el programa, modifica la dirección del puerto COM al que corresponda al módulo Bluetooth y activa o desactiva la casilla “Detectar BIOS en tarjeta MEGA 2560” en el cuadro de diálogo para detección del BIOS según sea la tarjeta que utilices 4. Conecta ahora MobilePorts a PLCmDuino. Oprime el pulsador I2.0 En el circuito deberá encenderse el LED. Oprime ahora el pulsador I2.1
  • 82. 82 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 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”
  • 83. 83 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 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.
  • 84. 84 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 CAPÍTULO 4 EJEMPLOS DE APLICACIONES CON LÓGICA PROGRAMABLE 4.1 CONTROLADOR DE NIVEL DE AGUA 4.1.1 Descripción de la acción de control En la figura 4.1 se muestra el esquema simplificado de un sistema de control de nivel de agua para una casa habitación. Figura 4.1. Sistema doméstico de control de nivel de agua
  • 85. 85 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 El sistema está conformado de la cisterna, el tinaco, la bomba de agua, el controlador, un actuador y dos electroniveles que funcionan como sensores digitales de nivel de líquido: TOPE y FONDO. El controlador recibe estas señales y genera la señal digital BOMBA a través de la cual se acciona la bomba de agua vía un actuador electromecánico. Cuando el controlador detecta que el tinaco está vacío (TOPE = FONDO = 0), activará la bomba, haciendo que permanezca así hasta que el nivel del agua en el tinaco alcance el tope (TOPE = 1). En este caso, la bomba se apagará y permanece así hasta que el tinaco se vacía totalmente, reiniciando nuevamente operación del controlador. Para esta primera implementación, se considera que hay agua en la cisterna; que los sensores de nivel funcionan correctamente y que no habrá falla al drenar el agua cuando la bomba se active. A partir del ejercicio 4.1.2 se examinarán posibles perturbaciones que podrían llegar a afectar la acción de control y cómo el controlador deberá responder ante ellas. En la figura 4.2 se muestra el diagrama de escalera de la estrategia de control que realiza la acción de control descrita y que se grabará en la tarjeta Arduino Figura 4.2. Diagrama de escalera para la acción de control de nivel de agua En la figura 4.3 se muestra el diagrama del circuito que se utiliza para el sistema de control de nivel de líquido. Observa en esa figura que se ha añadido un LED para indicar al usuario que la bomba está activa. Los pines 6 y 7 de la tarjeta Arduino se utilizan para leer el estado de los sensores de nivel de fondo y de tope respectivamente. El pin 2 se utiliza para activar la bomba.
  • 86. 86 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Figura 4.3. Diagrama electrónico del sistema de control de nivel de agua con Arduino La cadena de configuración de pines quedaría como OBSERVACIONES a. Si se utiliza una bomba sumergible basada en un motor de CD para probar el sistema de la figura 4.3, es posible que se necesiten capacitores en paralelo de 100 a 220 nF con los resistores de 100 k para eliminar o disminuir los picos de voltaje en las entradas a la tarjeta que pudieran originarse por el encendido del motor de la bomba b. También es posible que requiera un capacitor en paralelo con el motor para disminuir ese mismo efecto
  • 87. 87 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 4.1.2 Falla en el sensor de fondo Debido al contacto continuo con el agua, el sensor de nivel de fondo del tinaco (FONDO) puede llegar a cubrirse de suciedad. Si esto ocurre, éste proporcionará un 0 lógico al controlador aún cuando haya agua a ese nivel en el tinaco. En esta circunstancia, cada vez que el TOPE conmute a 0 cuando descienda el nivel del agua debido al consumo del líquido, entonces la bomba se activará de forma intermitente, lo que podría llegar a dañarla. En la figura 4.4 se muestra el programa de control con detección de falla en el sensor FONDO. La red 2 activa la bandera S_F_SUCIO (sensor de fondo sucio) cuando se detecta que FONDO = 0 y TOPE = 1. Esta misma bandera se utiliza también para activar un LED que indicará al usuario que se produjo la falla. La red 3 monitorea el estado de un botón de restauración (RESET) que permitirá al usuario restablecer la operación del controlador una vez que se haya reparado la falla que se haya detectado. También apagará el LED indicador de falla si estuviera encendido. La cadena de configuración de los pines es
  • 88. 88 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Figura 4.4. Programa de control de nivel de agua con detección de falla en el sensor de fondo En la figura 4.5 se muestra el diagrama electrónico del controlador con detección de falla en el sensor de fondo.
  • 89. 89 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Figura 4.5. Controlador de nivel de agua con indicador de detección de falla en el sensor de fondo 4.1.3 Falla por falta de paso de agua Si la válvula de retención (válvula check) que está inmersa en la cisterna está sucia o ya no funciona, la tubería de bombeo podría descargarse causando que la bomba no pueda impulsar el agua hasta el tinaco cuando ésta se active. Esto hará que la bomba trabaje en seco, lo que también podría originar un daño a la misma. Esto también sucederá si el agua en la cisterna llega a agotarse. Para tratar con esta posible condición de falla, se coloca un sensor de paso de agua el cual consiste de un par de electrodos: uno de ellos conectado al común y el otro conectado hacia el controlador. Este par se coloca en el extremo del tubo que abastece al tinaco, de tal manera que el chorro de agua que sale por el mismo ponga en contacto ambos electrodos, generando de esta forma la señal P_A (paso de agua) para el controlador. La ausencia de esta señal permitirá al controlador activar un temporizador con retardo a la desconexión (TON 56) siempre y cuando la bomba esté activa. Si esto es así, después de dos segundos el temporizador activará la bandera N_H_P_A (no hay paso de agua), la cual desactivará la bomba
  • 90. 90 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 y activará también un LED indicador. En la figura 4.6 se muestra el diagrama en KOP del controlador con esta nueva función. Figura 4.6. Programa de control de nivel con detección de fallas en el sensor de fondo y en el sensor de paso de agua En la figura 4.7 se muestra el diagrama del controlador con el indicador de falla en el sensor de paso.
  • 91. 91 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Figura 4.7. Controlador de nivel de agua con indicadores de detección de fallas en el sensor de fondo y en el sensor de paso de agua 4.1.4 Falla por exceso de tiempo de llenado En caso de que ocurra alguna falla en el sensor de tope, el controlador no podrá determinar cuando el agua en el tinaco ya ha alcanzado su nivel máximo. Por tanto, si la bomba está energizada, el agua llegará eventualmente a desbordarse del tinaco. Para prevenir esto, se ha agregado al programa de control otro temporizador con retardo a la desconexión (TON 57) de tal manera que se active cuando la bomba entra en funcionamiento. Si después de transcurrido cierto tiempo para el cual se considera que el tinaco se ha llenado la bomba aún permanece encendida, el temporizador activará la bandera E_T_LL (exceso de tiempo de llenado) que le permitirá al controlador no sólo desactivar la bomba sino también encender un LED indicador de esta falla. En la figura 4.8 se muestra el diagrama en KOP del controlador con esta nueva función. La bandera del TON 57 se activará después de 10 s. En la figura 4.9 se muestra el diagrama del controlador con los tres indicadores de falla vistos. La cadena de configuración queda para este programa queda como ejercicio para el usuario.
  • 92. 92 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Figura 4.8. Programa de control de nivel de agua con detección de fallas en el sensor de fondo; en el sensor de paso de agua y por exceso de tiempo de llenado
  • 93. 93 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Figura 4.9. Diagrama electrónico del controlador de nivel de agua con indicadores de detección de fallas en el sensor de fondo; en el sensor de paso de agua y por exceso de tiempo de llenado 4.2 SEMÁFORO 4.2.1 Descripción de la acción de control El semáforo deberá encender secuencialmente tres lámparas de acuerdo a los diagramas de tiempo que se muestran en la figura 4.10. Observa en esa figura que la lámpara verde debe parpadear 3 veces antes de que se active la lámpara de color ámbar. Después de que ésta se apague, deberá reiniciarse la secuencia.
  • 94. 94 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Figura 4.10. Diagramas de tiempo para encendido de las lámparas del semáforo En la figura 4.11 se muestra el diagrama en escalera de la estrategia de control. Las etiquetas L_ROJA, L_AMBAR y L_VERDE están asignadas a los pines 2 a 4 y a través de ellas se activan las lámparas de CA roja, ámbar y verde respectivamente. Además se está utilizando el temporizador T56 que cuenta eventos de 100 ms En la figura 4.12 se muestra el diagrama electrónico del circuito del semáforo. La cadena de configuración para este programa queda como ejercicio para el usuario.
  • 95. 95 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Figura 4.11. Diagrama KOP para el controlador del semáforo
  • 96. 96 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Figura 4.12. Diagrama electrónico del circuito del semáforo
  • 97. 97 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 CAPÍTULO 5 CONTROL DE MOVIMIENTO 5.1 CARACTERÍSTICAS DE CONTROL DE MOVIMIENTO CON PLCmDuino MikroPLAN permite realizar aplicaciones de control de movimiento con motores a pasos y servomotores. Las rutinas permiten la acción coordinada de hasta 11 ejes a los que se les puede asignar un servomotor o un motor a pasos. Para el caso de servomotores, se pueden accionar 11 servos simultáneamente (1 pin por servo), Para el caso de motores a pasos se pueden accionar hasta 3 motores simultáneamente (4 pines por motor). La secuencia de códigos de activación energiza dos fases para cada motor y es la siguiente: 01012 01102 10102 10012 Los ejes para los servos se asignan desde el eje 1 (pin 2) hasta el eje 11 (pin 12). Para el caso de motores a pasos, los ejes posibles son el eje 1 (pines 2 a 5); el eje 5 (pines 6 a 9) y el eje 9 (pines 10,11, 12 y A0 para Arduino UNO o MEGA). También se puede combinar el accionamiento de motores a pasos con servomotores pero debería ser claro que los servomotores tendrían que asignarse de tal manera que no haya traslape con los pines que energizarán las fases del o
  • 98. 98 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 de los motores a pasos. Las rutinas de control de movimiento se encuentran agrupadas en el conjunto definido por el icono en el editor KOP El acceso a las rutinas de control de movimiento desde el programa del usuario se puede realizar sin restricción utilizando PLCmDuino en modo evaluación. Sin embargo, una vez que se adquiere una licencia válida, únicamente se puede acceder a ellas si el usuario la adquirió en su modo extendido. No tendrá acceso a ellas si tiene una licencia en modo estándar. 5.2 ACCIONAMIENTO DE MOTORES A PASOS Se pueden accionar desde uno hasta tres motores a pasos de tipo unipolar o bipolar. Esto dependerá por supuesto del tipo de circuito “driver” (manejador) que el usuario utilice para energizar las fases del o de los motores. En el ejemplo que sigue se accionará un motor a pasos en el eje 1 y se utilizarán dos pulsadores conectados en los pines 6 y 7 para accionar el motor en uno u otro sentido. La velocidad rotacional del motor será de 30 r.p.m. Para este ejemplo, la cadena de configuración es
  • 99. 99 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Para el pin 2 (eje 1) se utiliza el carácter ‘p’ para especificar que a partir de ese pin se energizará un motor a pasos. OBSERVACIÓN 1. Los pines que se configuran para accionar motores a pasos o servos se consideran como bits de salida por lo que estarán asociados tanto en Arduino UNO como en Arduino MEGA a los 11 bits menos significativos del registro Q0. El cuarto bit para accionar la fase del motor 3 (eje 9) estará asignado al bit Q1.0 (pin A0) para cualquier versión del BIOS (Arduino UNO o MEGA). Sin embargo, a la salida solamente se consideran los valores de bit generados por las rutinas de control de movimiento 2. Para prevenir cualquier traslape de valores lógicos de los bits que se utilicen para energizar las fases de los motores a pasos con cualquiera de los bits de los otros puertos (I0 o Q0), éstos se deberán marcan con ‘x’ como se muestra en la cadena de configuración En la figura 5.1 se muestra el diagrama en KOP del programa descrito.
  • 100. 100 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Figura 5.1. Diagrama KOP del programa de control del sentido de giro del motor a pasos OBSERVACIONES a. El bloque “SetVSM” en la primera red pone la velocidad de rotación del motor en r.p.m. b. El bloque en la segunda red incrementa la posición angular del eje especificado mientras esté habilitada su terminal de entrada c. El bloque en la tercera red decrementa la posición angular del eje especificado mientras esté habilitada su terminal de entrada
  • 101. 101 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 En la figura 5.2 se muestra el diagrama del circuito con Arduino que activa el motor. En él se utiliza un ULN2803. Figura 5.2. Diagrama para el controlador de un motor a pasos 5.3 ACCIONAMIENTO DE SERVOMOTORES Cuando los servos se activan, el valor de posición angular que se envía a cada uno es de 90o , el cual se considera como la posición origen. Desde ahí, un valor positivo o negativo en el programa, se sumará a ese valor, dando el desplazamiento final. Por ejemplo, un valor de desplazamiento en el programa de +90, en realidad corresponderá a 180o en el servomotor. Un valor de -90, en realidad corresponderá a 0o en el servomotor. En el siguiente ejemplo se controlarán dos servomotores con 5 pulsadores: un pulsador en I0.0 hará que los dos servos regresen a la posición de 0 grados. Los pulsadores I0.1 e I0.2 controlarán el sentido giro de un servo y los pulsadores I0.3 e I0.4 controlarán el sentido de giro del otro servo. Los pulsadores se conectarán en los pines 2 a 6. Los servomotores se conectarán en el pin 7 (eje 6) y el pin 8 (eje 7) respectivamente. La cadena de configuración es en este caso:
  • 102. 102 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Observa en la cadena de configuración que se ha utilizado el carácter ‘s’ para indicar que en ese pin se asignará un servo. En la figura 5.3 se muestra el diagrama KOP. Figura 5.3. Diagrama KOP para el control de dos servos
  • 103. 103 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 El bloque “MoveToOrigin” de la red 1 realiza el desplazamiento angular simultáneo hacia la posición 0 de todos los motores que estén activos (motores a pasos y/o servos). Figura 5.4. Diagrama para el controlador de dos servomotores 5.4 ACCIONAMIENTO DE MOTORES A PASOS Y SERVOS En el ejemplo que sigue se activarán 2 servomotores y dos motores a pasos a través de 2 pulsadores los cuales estarán asignados a las entradas I0.0 e I0.1. Cuando se pulse I0.1, los motores incrementarán simultáneamente su posición angular. Los dos servomotores incrementarán su posición en 1o a la vez; un motor a pasos incrementará su posición 10 pasos (+ 9o ) y el otro decrementará su posición 10 pasos (- 9o ). Cuando se pulse I0.0, todos los motores regresarán a su posición inicial. La cadena de configuración es, este caso: OBSERVACIÓN Cuando se activa el motor a pasos en el eje 9, no es necesario especificar que los pines que siguen son de salida (pines 11 y 12). Tampoco es necesario que el pin A0 en el grupo de pines analógicos se especifique como salida
  • 104. 104 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 En la figura 5.5 se muestra el diagrama KOP del programa de control Figura 5.5. Diagrama KOP para el control de los cuatro motores OBSERVACIONES a. El bloque “MoveTo” realiza el desplazamiento angular de todos los ejes de acuerdo a los parámetros en la entrada “COORS” b. Los desplazamientos angulares se separan con el carácter ‘,’ c. Si se desea que durante el desplazamiento de los ejes, uno de ellos mantenga su posición angular permanezca sin cambio se utiliza el carácter ‘x’. Esto también se aplica cuando el eje no se utiliza
  • 105. 105 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 d. Si se desea realizar un incremento angular de n pasos a partir del desplazamiento angular actual, se utilizan “++” precediendo al valor. Si se desea realizar un decremento, se precede el valor con “--” e. Cuando se desea que el eje alcance un valor de desplazamiento fijo, solamente se anota el valor con un valor positivo o negativo. Si es positivo se puede escribir opcionalmente el carácter ‘+’ precediendo al valor, pero solamente una vez. Si es negativo, se requiere anotar el carácter ‘-’ precediendo al valor En la figura 5.5 se muestra el diagrama del circuito para este ejemplo. Figura 5.5. Diagrama del circuito para accionar dos motores a pasos y dos servomotores
  • 106. 106 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 CAPÍTULO 6 PLCmDuino Y STEP7 MicroWin STEPControl es una aplicación de escritorio que funciona como interfaz entre STEP7 MicroWin 5.5 y PLCmDuino para realizar acciones de adquisición de datos y señalización digital desde una PC. Para realizar esto, el usuario utiliza el software STEP7 MicroWin 5.5 para crear una estrategia de control en cualquier de los lenguajes soportados por esa aplicación (AWL, KOP o FUP) que posteriormente podrá cargar en el simulador. Después, desde el módulo software denominado STEPDuino que ya está incorporado en la aplicación STEPControl, el usuario podrá correr el programa que se cargó al simulador de STEP7 MicroWin 5.5. La aplicación STEPDuino se comunicará entonces con este programa y también con PLCmDuino de tal manera que los datos que le envíe el simulador de MicroWin, los enviará a la tarjeta Arduino para generar señalización en sus terminales de salida. También STEPDuino recibirá datos que le envía PLCmDuino para que los envíe al simulador de MicroWin. Los requerimientos para trabajar con STEPControl son: 1. Visual Basic 2010 Express o posterior 2. STEP7 MicroWin 5.5 3. Licencia de activación de PLCmDuino 4. Licencia de activación de STEPDuino
  • 107. 107 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 6.1 EJEMPLO DE SIMULACIÓN/EMULACIÓN 1. Ejecuta el Administrador de SIMATIC de STEP7 MicroWin 5.5 2. Haz clic en el botón “Cancelar” si aparece el asistente de STEP7 3. Desde el manejador de proyectos, abre el archivo que se encuentra en la carpeta: c:ProyexDuinoProyectosSTEPControlEjemplosSTEPDuinoControlador de Nivel de Agua
  • 108. 108 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 4. Haz doble clic sobre el elemento OB1
  • 109. 109 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 5. Aparecerá el diagrama KOP de un programa de control de nivel de agua todo o nada con histéresis OBSERVACIÓN El programa realiza la acción de control de llenado de un tinaco semejante al que se explicó en el ejemplo del capítulo 5 6. En el administrador, haz clic sobre el icono del simulador
  • 110. 110 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 7. Aparecerá el simulador Si lo deseas, configura las ventanas de selección de registros a los que requiera tu aplicación. Los registros que utiliza el software STEP7 MicroWin 5.5 y sus equivalentes con STEPDuino y PLCmDuino se muestran en la siguiente tabla
  • 111. 111 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 STEP7 MicroWin 5.5 STEPDuino/PLCmDuino E0.0 a E0.7 (EB0) I0.0 a I0.7 (IOL) E1.0 a E1.7 (EB1) I0.7 a I0.15 (IOH) E2.0 a E2.7 (EB2) I1.0 a I1.7 (I1L) E3.0 a E3.7 (EB3) I1.8 a I1.15 (I1H) - Sólo Arduino MEGA A0.0 a A0.7 (AB0) Q0.0 a Q0.7 (Q0L) A1.0 a A1.7 (AB1) Q0.8 a Q0.15 (Q0H) A2.0 a A2.7 (AB2) Q1.0 a Q1.7 (Q1L) A3.0 a A3.7 (AB3) Q1.8 a Q1.15 (Q1H) – Sólo Arduino MEGA 8. Arma el circuito de prueba que se muestra en la figura 6.1. Representa un simulador hardware para un sistema de control de nivel de agua cuyo control se realizará desde STEP7 MicroWin. En la tabla 6.1 se muestra la correspondencia entre los pines de la tarjeta con las entradas y salidas al diagrama en KOP
  • 112. 112 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Figura 6.1. Simulador hardware para el programa de control de nivel de agua utilizando MicroWin Tabla 6.1. Correspondencia de entradas y salidas entre el circuito de la figura 6.1 y STEP7 MicroWin Etiqueta en MicroWin Bit en PLCmDuino Bit en MicroWin FONDO I0.0 E0.0 TOPE I0.1 E0.1 PASO_DE_AGUA I0.2 E0.2 RESET I0.3 E0.3 BOMBA Q0.4 A0.4 FALLA_SENSOR_SUCIO Q0.5 A0.5 FALLA_PASO_DE_AGUA Q0.6 A0.6
  • 113. 113 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 9. Corre la aplicación STEPControl. Aparecerá una pequeña ventana para que selecciones la versión Windows de tu equipo 10. Oprime “Aceptar”. Aparecerá la ventana principal de STEPControl 10. Activa el editor KOP de MicroWin y carga el programa al simulador haciendo clic en el icono del mismo
  • 114. 114 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 11. Activa STEPControl. Establece la conexión entre esta aplicación y el simulador de STEP7 haciendo clic en el botón “Conectar” 12. Selecciona la pestaña “Conexión con PLCmDuino”
  • 115. 115 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 13. Selecciona las licencias para STEPDuino y PLCmDuino haciendo clic en los botones correspondientes
  • 116. 116 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 14. Prepara la comunicación con PLCmDuino. Introduce el valor del puerto de comunicación. Si vas a utilizar la tarjeta Arduino UNO, asegúrate que la casilla “Esperar inicialización del BIOS” esté desactivada. Recuerda que si vas a utilizar una tarjeta MEGA 2560 con el chip CH340G, es posible que tengas que activarla. Después oprime “Detectar” 14. Configura los pines de Arduino de acuerdo al circuito de la figura 3.1
  • 117. 117 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 15. Oprime “RUN” para correr el programa cargado en el simulador desde STEPControl. Si las dos conexiones tuvieron éxito, se activará la pestaña “Panel” e iniciará la corrida del programa
  • 118. 118 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Los LEDs en el circuito con Arduino deberían encenderse de acuerdo al algoritmo de tu diagrama KOP en STEP7. Además, el programa debería responder a las señalizaciones a mano que realices a través de los pulsadores. El pulsador en I0.2 simula un sensor de paso de agua. Si no se detecta paso de agua, el controlador activará el LED en Q0.2 indicando falla de paso de agua. Oprime I0.3 para reiniciar la acción del controlador. Si presionas el pulsador I0.0 y luego presionas I0.1, la bomba (Q0.4) se apagará, ya que esto simula que el tinaco se ha llenado. Si presionas I0.1 sin presionar I0.0, la bomba se apagará y se encenderá el LED en Q0.1 indicando que el sensor de fondo está sucio. OBSERVACIONES a. Si solamente se tiene alguna de las dos licencias, aparecerán algunos mensajes de error Por tanto, el programa correrá en modo evaluación por lo que únicamente tendrán efecto en el comportamiento del programa las entradas presentes en Arduino y no se realizará señalización alguna (no se activarán los LEDs)
  • 119. 119 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 b. Para detener la simulación, oprime “STOP”. STEPControl detendrá el simulador de STEP7 pero no se perderá el enlace con el simulador ni con PLCmDuino. Esto te permitirá conmutar al editor KOP; modificar tu programa; volverlo a cargar al simulador y después correrlo desde STEPDuino c. Oprime “Salir” para suspender la conectividad de STEPDuino con STEP7; con PLCmDuino y para que después se cierre la aplicación
  • 120. 120 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 CAPÍTULO 7 PLCmDuino Y FluidSIM FluidSIM puede comunicarse con PLCmDuino utilizando MikroPLAN como interfaz de comunicación o intérprete. MikroPLAN se comunica con FluidSIM utilizando peticiones o solicitudes por medio de un enlace DDE (Dynamics Data Exchange – Intercambio Dinámico de Datos). Para con PLCmDuino, MikroPLAN utiliza comandos. La comunicación entre FluidSIM y PLCmDuino 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 implementado en FluidSIM. Para ello, PLCmDuino se comunica con FluidSIM utilizando 4 puertos de 8 bits Para ambos modos de comunicación, se requiere la licencia “PLCmDuino UNO
  • 121. 121 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 XT” o una licencia para “PLCmDuino MEGA”. Adicionalmente se puede utilizar MikroPLAN para controlar el prototipo virtual en FluidSIM. En este caso, MikroPLAN actúa como maestro y FluidSIM como esclavo de la misma forma a cómo la realiza PLCmDuino en el modo 2. De esta forma se puede simular el funcionamiento del programa que se cargaría en PLCmDuino para controlar el prototipo virtual en FluidSIM. Este modo de operación de MikroPLAN es libre y no se requiere licencia alguna para trabajar con ella. 7.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”
  • 122. 122 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 2. Aparecerá el cuadro de diálogo 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
  • 123. 123 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 muestra en la siguiente figura (estas palabras deberían aparecer por defecto al activar esa opción). Luego oprime “Aceptar” 7.2 ADQUISICIÓN DE DATOS Y SEÑALIZACIÓN DIGITAL CON PLCmDuino DESDE FluidSIM 7.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 Y el bloque “FluidSIM In” a través del cual FluidSIM recibirá datos de MikroPLAN Auto Module 1 - Port 1 FluidSIM Out 0 1 2 3 4 5 6 7
  • 124. 124 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 que corresponden a los que aparecen en alguno de los puertos de entrada de PLCmDuino Ubica estos elementos en el panel de iconos y agrégalos al documento de la estrategia que va a utilizar PLCmDuino En la tabla 7.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. Tabla 7.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 en PLCmDuino Tipo de puerto Designación del puerto en FluidSIM Disponibilidad en versión BIOS I0L Entrada PLCmDuino_I0L UNO XT, MEGA I0H Entrada PLCmDuino_I0H UNO XT, MEGA I1L Entrada PLCmDuino_I1L UNO XT, 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 XT, MEGA Q0H Salida PLCmDuino_Q0H UNO XT, MEGA Q1L Salida PLCmDuino_Q1L UNO XT, MEGA Q1H Salida PLCmDuino_Q1H MEGA Q3L Salida PLCmDuino_Q3L MEGA Q3H Salida PLCmDuino_Q3H MEGA Q4L Salida PLCmDuino_Q4L MEGA Q4H Salida PLCmDuino_Q4H MEGA Q5L Salida PLCmDuino_Q5L MEGA Para demostrar el acceso de los puertos de PLCmDuino cuando FluidSIM funciona como maestro, realiza el siguiente ejemplo: Auto Module 1 - Port 1 FluidSIM In 0 1 2 3 4 5 6 7
  • 125. 125 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 1. Una vez que hayas agregado los elementos gráficos de interfaz a tu estrategia, completa el diagrama como se muestra en la figura de abajo 2. Haz doble clic en el bloque “FluidSIM Out”. Aparecerá un cuadro de diálogo. Modifica la etiqueta que aparece ahí por “PLCmDuino_Q1L”
  • 126. 126 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 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” 4. Oprime “OK”. El diagrama debería tener la apariencia que se muestra
  • 127. 127 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 OBSERVACIONES a. A través del bloque “FluidSIM Out”, MikroPLAN hará que los datos digitales que 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 7.2.2 Preparación de PLCmDuino como esclavo Cuando MikroPLAN acceda a PLCmDuino en este modo, cualquier programa que esté cargado se borrara. También debes asegurarte que las terminales de Arduino estén conectadas a los elementos que vas a utilizar para tu proyecto. Para el ejemplo, arma el circuito que se muestra en la figura 7.1 en donde se está utilizando la tarjeta Arduino MEGA 2560 como hardware de adquisición y señalización digital.
  • 128. 128 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 Figura 7.1. Circuito de prueba para FluidSIM en modo maestro 7.2.3 Activación de MikroPLAN como interfaz de comunicación 1. Conecta la tarjeta Arduino con el BIOS PLCmDuino a tu PC 2. Sin salirte de FluidSIM, corre MikroPLAN. Elige la opción “PLCmDuino” -> “Detectar” y realiza la detección de la tarjeta 3. En el menú principal de MikroPLAN, elige la opción “Licencias”->”Seleccionar” y escoge la licencia adecuada
  • 129. 129 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 4. Elige ahora la opción “Interfaz”->”FluidSIM (M) – MikroPLAN – PLCmDuino (E)” 5. Aparecerá un cuadro de diálogo
  • 130. 130 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 6. Oprime “Sí”. Se realizará la detección de la tarjeta y aparecerá el cuadro de diálogo 7. Oprime “Aceptar”. Aparecerá el cuadro de diálogo
  • 131. 131 Versión 2018R6 Fecha de creación: 1/8/2016 Fecha de última revisión: 03/05/2018 8. Escribe las cadenas de configuración de los pines que vas a utilizar de acuerdo al circuito de la figura 7.1. Selecciona también los puertos que vas a utilizar en FluidSIM 9. Sin salirte de MikroPLAN, activa FluidSIM y corre la simulación del circuito oprimiendo