Arduino Como PLC PDF

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 24

GAMMA Consulting

¿Qué es arduino?
Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un
entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos
multidisciplinares.

Arduino nos proporciona un software consistente en un entorno de desarrollo (IDE) que


implementa el lenguaje de programación de arduino y el bootloader ejecutado en la placa. La
principal característica del software de programación y del lenguaje de programación es su
sencillez y facilidad de uso.

Arduino se puede utilizar para desarrollar elementos autónomos, conectándose a dispositivos e


interactuar tanto con el hardware como con el software. Nos sirve tanto para controlar un
elemento, pongamos por ejemplo un motor que nos suba o baje una persiana basada en la luz
existente es una habitación, gracias a un sensor de luz conectado al Arduino, o bien para leer la
información de una fuente, como puede ser un teclado, y convertir la información en una acción
como puede ser encender una luz y pasar por un display lo tecleado.

¿Por qué Arduino?


Hay muchos otros microcontroladores y plataformas microcontroladoras disponibles para
computación física. Parallax Basic Stamp, Netmedia’s BX-24, Phidgets, MIT’s Handyboard, y
muchas otras ofertas de funcionalidad similar. Todas estas herramientas toman los desordenados
detalles de la programación de microcontrolador y la encierran en un paquete fácil de usar.
Arduino también simplifica, el proceso de trabajo con microcontroladores, pero ofrece algunas
ventajas para profesores, estudiantes y aficionados interesados sobre otros sistemas:

 Barato: Las placas Arduino son relativamente baratas comparadas con otras
plataformas microcontroladoras. La versión menos cara del módulo Arduino puede ser
ensamblada a mano, e incluso los módulos de Arduino preensamblados.
 Multiplataforma: El software de Arduino se ejecuta en sistemas operativos Windows,
Macintosh OSX y GNU/Linux. La mayoría de los sistemas microcontroladores están
limitados a Windows.
 Entorno de programación simple y clara: El entorno de programación de Arduino es
fácil de usar para principiantes, pero es flexible para que usuarios avanzados
puedan aprovecharlo también.
 Código abierto y software extensible: El software Arduino está publicado como
herramientas de código abierto, disponible para extensión por programadores
experimentados. El lenguaje puede ser expandido mediante librerías C++, y la gente
que quiera entender los detalles técnicos pueden hacer el salto desde Arduino a la
programación en lenguaje AVR C en el cual está basado. De forma similar, puedes
añadir código AVR-C directamente en tus programas Arduino si quieres.
GAMMA Consulting

 Código abierto y hardware extensible: Arduino está basado en microcontroladores


ATMEGA8 y ATMEGA168 de Atmel. Los planos para los módulos están publicados bajo
licencia Creative Commons, por lo que diseñadores experimentados de circuitos
pueden hacer su propia versión del módulo, extendiéndolo y mejorándolo. Incluso
usuarios relativamente inexpertos pueden construir la versión de la placa del módulo
para entender cómo funciona y ahorrar dinero.

Tipos de arduino.

Modelo Características

Arduino UNO  Microcontrolador: ATmega328


 Voltaje de funcionamiento: 5 V
 Pines I/O digitales: 14 (de los cuales 6 proveen salida
PWM)
 Pines de entradas análogas: 6
 Corriente DC por cada pin I/O: 40 mA
 Corriente DC en el pin de 3.3 V: 50 mA
GAMMA Consulting

 Memoria Flash: 32 KB (ATmega328) de los cuales 0.5


KB son utilizados por el bootloader
 SRAM: 2 KB (ATmega328)
 EEPROM: 1 KB (ATmega328)
 Velocidad de reloj: 16 MHz

Arduino Leonardo  Microcontrolador: ATmega32u4


 Voltaje de funcionamiento: 5 V
 Pines I/O digitales: 20
 Canales PWM: 7
 Pines de entradas análogas: 12
 Corriente DC por cada pin I/O: 40 mA
 Corriente DC en el pin de 3.3 V: 50 mA
 Memoria Flash: 32 KB (ATmega32u4) de los cuales 4
KB son utilizados por el bootloader
 SRAM: 2 KB (ATmega32u4)
 EEPROM: 1 KB (ATmega32u4)
 Velocidad de reloj: 16 MHz

Arduino Due  Microcontrolador: AT91SAM3X8E


 Voltaje de funcionamiento: 3.3 V
 Pines I/O digitales: 54 (de los cuales 12 proveen
salida PWM)
 Pines de entradas análogas: 12
 Corriente DC total en todos los pines I/O: 130 mA
 Corriente DC en el pin de 5 V: 800 mA
 Corriente DC en el pin de 3.3 V: 800 mA
 Memoria Flash: 512 KB disponibles para las
aplicaciones de usuario.
 SRAM: 96 KB (dos bancos: 64KB Y 32 KB)
 Velocidad de reloj: 84 MHz

Arduino Yún  Microcontrolador AVR Arduino: ATmega32u4


 Voltaje de funcionamiento: 5 V
 Pines I/O digitales: 20
 Canales PWM: 7
 Pines de entradas análogas: 12
 Corriente DC por cada pin I/O: 40 mA
 Corriente DC en el pin de 3.3 V: 50 mA
 Memoria Flash: 32 KB (de los cuales 4 KB son
utilizados por el bootloader
 SRAM: 2.5 KB
 EEPROM: 1 KB
 Velocidad de reloj: 16 MHz
 Procesador Linux: Atheros AR9331
 Arquitectura: MIPS @400MHz
GAMMA Consulting

 Ethernet: IEEE 802.3 10/100Mbit/s


 WiFi: IEEE 802.11b/g/n
 USB Tipo A: 2.0
 Lector de tarjeta: sólo Micro-SD
 RAM: 64 MB DDR2
 Memoria Flash:16 MB

Arduino Robot  Microcontrolador: ATmega32u4


 Voltaje de funcionamiento: 5 V
 Pines I/O digitales: 5
 Canales PWM: 6
 Canales de entradas análogas: 4 (de los pines
digitales I/O)
 Canales (multiplexados) de entradas análogas: 8
 Corriente DC por cada pin I/O: 40 mA
 Memoria Flash: 32 KB (ATmega32u4) de los cuales 4
KB son utilizados por el bootloader
 SRAM: 2 KB (ATmega32u4)
 EEPROM (interno): 1 KB (ATmega32u4)
 EEPROM (externo): 512 KB (I2C)
 Velocidad de reloj: 16 MHz
 Teclado: 5 teclas
 Perilla: Potenciómetro conectado a un pin análogo
 LCD a color: Comunicación SPI
 Lector de tarjetas SD: Para tarjetas formateadas
FAT16
 Altavoz: 8 Ohms
 Compás digital: Proporciona la desviación desde el
norte geográfico en grados
 Áreas de prototipado: 4

Arduino Esplora  Microcontrolador: ATmega32u4


 Voltaje de funcionamiento: 5 V
 Memoria Flash: 32 KB de los cuales 4 KB son
utilizados por el bootloader
 SRAM: 2.5 KB
 EEPROM: 1 KB
 Velocidad de reloj: 16 MHz
 4 Push bottons
 Joystick análoga con un push botton central
 Potenciómetro lineal
 Micrófono
 Fotorresistor
 Sensor de temperatura
 Acelerómetro de 3 ejes
 Buzzer
 Led RGB
 Conector para LCD
GAMMA Consulting

Arduino Mega ADK  Microcontrolador: ATmega2560


 Voltaje de funcionamiento: 5 V
 Pines I/O digitales: 54 (de los cuales 15 proveen
salida PWM)
 Pines de entradas análogas: 16
 Corriente DC por cada pin I/O: 40 mA
 Corriente DCen el pin de 3.3 V: 50 mA
 Memoria Flash: 256 KB de los cuales 8 KB son
utilizados por el bootloader
 SRAM: 8 KB
 EEPROM: 4 KB
 Velocidad de reloj: 16 MHz

Arduino Ethernet  Microcontrolador: ATmega328


 Voltaje de funcionamiento: 5 V
 Pines I/O digitales: 14 (de los cuales 4 proveen salida
PWM)
 Pines de entradas análogas: 6
 Corriente DC por cada pin I/O: 40 mA
 Corriente DC en el pin de 3.3 V: 50 mA
 Memoria Flash: 32 KB (ATmega328) de los cuales 0.5
KB son utilizados por el bootloader
 SRAM: 2 KB (ATmega328)
 EEPROM: 1 KB (ATmega328)
 Velocidad de reloj: 16 MHz
 Controlador embebido Ethernet W5100 TCP/IP
 Tarjeta MicroSD, con adaptadores activos de voltaje
Arduino Mega 2560
 Microcontrolador: ATmega2560
 Voltaje de funcionamiento: 5 V
 Pines I/O digitales: 54 (de los cuales 15 proveen
salida PWM)
 Pines de entradas análogas: 16
 Corriente DC por cada pin I/O: 40 mA
 Corriente DC en el pin de 3.3 V: 50 mA
 Memoria Flash: 256 KB de los cuales 8 KB son
utilizados por el bootloader
 SRAM: 8 KB (ATmega328)
 EEPROM: 4 KB (ATmega328)
 Velocidad del reloj: 16 MHz

Arduino Mini  Microcontrolador: ATmega328


 Voltaje de funcionamiento: 5 V
 Pines I/O digitales: 14 (de los cuales 6 proveen salida
PWM)
 Pines de entradas análogas: 8
 Corriente DC por cada pin I/O: 40 mA
GAMMA Consulting

 Memoria Flash: 32 KB de los cuales 2 KB son


utilizados por el bootloader
 SRAM: 2 KB
 EEPROM: 1 KB
 Velocidad de reloj: 16 MHz

Arduino Nano  Microcontrolador: ATmega168


 Voltaje de funcionamiento: 5 V
 Pines I/O digitales: 14 (de los cuales 6 proveen salida
PWM)
 Pines de entradas análogas: 8
 Corriente DC por cada pin I/O: 40 mA
 Memoria Flash: 16 KB de los cuales 2 KB son
utilizados por el bootloader
 SRAM: 1 KB
 EEPROM: 512 bytes
 Velocidad de reloj: 16 MHz

Arduino Pro Mini  Microcontrolador: ATmega168


 Voltaje de funcionamiento: 3.3 V
 Pines I/O digitales: 14 (de los cuales 6 proveen salida
PWM)
 Pines de entradas análogas: 8
 Corriente DC por cada pin I/O: 40 mA
 Memoria Flash: 16 KB de los cuales 2 KB son
utilizados por el bootloader
 SRAM: 1 KB
 EEPROM: 512 bytes
 Velocidad de reloj: 8 MHz

Arduino Pro  Microcontrolador: ATmega168


 Voltaje de funcionamiento: 3.3 V
 Pines I/O digitales: 14 (de los cuales 6 proveen salida
PWM)
 Pines de entradas análogas: 6
 Corriente DC por cada pin I/O: 40 mA
 Memoria Flash: 16 KB de los cuales 2 KB son
utilizados por el bootloader
 SRAM: 1 KB
 EEPROM:512 bytes
 Velocidad de reloj: 8 MHz
Arduino Micro
 Microcontrolador: ATmega32u4
 Voltaje de funcionamiento: 5 V
 Pines I/O digitales: 20
 Canales PWM: 7
 Pines de entradas análogas: 12
 Corriente DC por cada pin I/O: 40 mA
GAMMA Consulting

 Corriente DC en el pin de 3.3 V: 50 mA


 Memoria Flash: 32 KB (ATmega32u4) de los cuales 4
KB son utilizados por el bootloader
 SRAM: 2.5 KB (ATmega32u4)
 EEPROM: 1 KB (ATmega32u4)
 Velocidad de reloj: 16 MHz

Arduino Fio  Microcontrolador: ATmega328P


 Voltaje de funcionamiento: 3.3 V
 Pines I/O digitales: 14 (de los cuales 6 proveen salida
PWM)
 Pines de entradas análogas: 8
 Corriente DC por cada pin I/O: 40 mA
 Memoria Flash: 32 KB de los cuales 2 KB son
utilizados por el bootloader
 SRAM: 2 KB
 EEPROM: 1 KB
 Velocidad de reloj: 8 MHz

LilyPad Arduino USB  Microcontrolador: ATmega32u4


 Voltaje de funcionamiento: 3.3 V
 Pines I/O digitales: 9
 Canales PWM: 4
 Pines de entradas análogas: 4
 Corriente DC por cada pin I/O: 40 mA
 Memoria Flash: 32 KB de los cuales 4 KB son
utilizados por el bootloader
 SRAM: 2.5 KB
 EEPROM: 1 KB
 Velocidad de reloj: 8 MHz
LilyPad Arduino Simple
 Microcontrolador: ATmega328
 Voltaje de funcionamiento: 2.7-5.5 V
 Pines I/O digitales: 9 (de los cuales 5 proveen salida
PWM)
 Pines de entradas análogas: 4
 Corriente DC por cada pin I/O: 40 mA
 Memoria Flash: 32 KB de los cuales 2 KB son
utilizados por el bootloader
 SRAM: 2 KB
 EEPROM: 1 KB
 Velocidad de reloj: 8 MHz

LilyPad Arduino  Microcontrolador: ATmega168V


 Voltaje de funcionamiento: 2.7-5.5 V
GAMMA Consulting

Pines I/O digitales: 14 (de los cuales 6 proveen salida


PWM)
 Pines de entradas análogas: 6
 Corriente DC por cada pin I/O: 40 mA
 Memoria Flash: 16 KB de los cuales 2 KB son
utilizados por el bootloader
 SRAM: 1 KB
 EEPROM: 512 bytes
 Velocidad de reloj: 8 MHz
El arduino que usaremos para este curso será el uno.

¿Cómo se conforma el arduino?

Pines digitales.
Pines digitales: Cada uno de los 14 pines digitales de Arduino puede ser usado como entrada o
salida digital. Operan a 5 voltios y su resolución es de 8 bits. Los valores entre 0 y 5 voltios los pone
a valores entre 0 - 255. Cada pin puede proporcionar o recibir un máximo de 40 mA y tiene una
resistencia interna (desconectada por defecto) de 20 -50 KOhms.

Pines serie Rx y Tx : Se encuentran en los pines digitales 0 y 1 y sirven para recibir transmitir datos
(TTL) de información serial. Están conectados al chip FTDI, el cual hace conversión de USB a serie-
TTL.

PWM: 3, 5, 6, 9, 10 y 11. Proporcionan salida PWM de 8 bits.


GAMMA Consulting

LED: 13. Hay un LED empotrado conectado al pin digital 13. Cuando el pin está a valor HIGH, el LED
está encendido, cuando el pin está a LOW, está apagado.

Pines analógicos.
La placa Arduino posee 6 canales conectados a un conversor analógico digital de 10 bits. Esto
significa que convertirá tensiones entre 0 y 5 voltios a un número entero entre 0 y 1023.

Esto proporciona una resolución en la lectura de: 5 voltios / 1024 unidades, es decir, 0.0049 voltios
(4.9 mV) por unidad.

Por defecto miden 5 voltios desde tierra, aunque es posible cambiar el valor más alto de su rango
usando el pin AREF y algún código de bajo nivel. Además, algunos pines tienen funcionalidad
especializada.

¿Qué es PLC?
El significado en español de PLC es controlador lógico programable, o por sus siglas en inglés PLC
(Programmable Logic Controller) o por autómata programable, es una computadora utilizada en la
ingeniería automática o automatización industrial, para automatizar procesos electromecánicos,
electroneumáticos, electrohidráulicos, tales como el control de la maquinaria de la fábrica en
líneas de montaje u otros procesos de producción así como atracciones mecánicas.
GAMMA Consulting

Los PLC son utilizados en muchas industrias y máquinas. A diferencia de las computadoras de
propósito general, el PLC está diseñado para múltiples señales de entrada y de salida, rangos de
temperatura ampliados, inmunidad al ruido eléctrico y resistencia a la vibración y al impacto. Los
programas para el control de funcionamiento de la máquina se suelen almacenar en baterías,
copia de seguridad o en memorias no volátiles.

Lenguaje Ladder.
El lenguaje ladder, diagrama ladder, diagrama/lógica de contactos, o diagrama en escalera, es un
lenguaje de programación gráfico muy popular dentro de los PLC debido a que está basado en los
esquemas eléctricos de control clásicos. De este modo, con los conocimientos que todo técnico o
ingeniero eléctrico posee, es un poco más sencillo ya que se familiariza con los símbolos, pero
también tiene su detalle, ya que hay que saber algo de lógica en programación, no son solo
símbolos si no también hay saber pensar, para así nosotros interpretar o programar algún proceso
automatizado.

Ladder es uno de los varios lenguajes de programación para los controladores lógicos
programables (PLCs).
GAMMA Consulting

Programación Ladder.
En este parte de la programación se trata de modo general, los conceptos básicos de
programación en Ladder. Una vez conocidos los elementos que Ladder proporciona para su
programación, se vuelve sencillo interpretar o crear un diagrama.

Es importante resaltar cómo se estructura un programa, como también cuál es el orden de


ejecución. El siguiente esquema representa la estructura general de la distribución de todo
programa Ladder, contactos a la izquierda y bobinas u/o otros elementos a la derecha.

En cuanto a su equivalencia eléctrica, la línea vertical de la izquierda representa el terminal de


alimentación, mientras que la derecha representa como negativo o masa.

El orden de ejecución es generalmente de arriba abajo y de izquierda a derecha, primero en este


caso son los contactos y después las bobinas, de manera que al llegar a las bobinas, ya se le
conoce con el valor de los contactos, y si se activan procedería a hacer una activación de algo. El
orden de ejecución puede variar de unos con otros, pero siempre se respetará el orden de cómo
se haya introducido en el programa, de manera que se ejecuta lo que primero se introduce.

Sistemas combinacionales.
Aunque en los sistemas industriales la programación se centra en procesos secuenciales, no
teniendo demasiado interés los procesos combinacionales, es necesario conocer la lógica
combinacional ya que en muchas ocasiones es necesaria en la programación secuencial.
GAMMA Consulting

Una vez obtenida la función lógica de un problema combinacional, el paso a Ladder o esquema de
contactos es muy sencillo. De acuerdo con el álgebra de Boole aplicada a la conmutación, las
sumas serán contactos en paralelo, los productos contactos en serie y las negaciones contactos
normalmente cerrados. En la siguiente imagen se muestra un ejemplo de esquema LADDER para
una determinada ecuación.

Elementos de memoria.
La conexión tradicional para realizar una función de memoria en los circuitos con relés, es el
circuito con auto alimentación. Esto se consigue mediante la conexión de un contacto NA del relé
(o contactor) en paralelo con el pulsador de arranque.

A continuación observaremos las dos variantes de este circuito: con prioridad a la desconexión y
con prioridad a la conexión.

En la segunda imagen se pueden observar los esquemas equivalentes en Ladder:

Sin embargo, con LADDER el esquema puede quedar mucho más sencillo si empleamos las bobinas
de SET para la marcha y RESET para paro:
GAMMA Consulting

En este caso la prioridad dependerá del PLC utilizado, aunque usualmente la función RESET tiene
prioridad sobre la SET.

Software a utilizar.
Utilizaremos 2 softwares, uno para programar con el lenguaje ladder y el otro para poder pasar el
código a arduino.

Link:

https://drive.google.com/drive/folders/1KtvNTnUx4m-slcIiAVd1dvFESupI1O_n?usp=sharing

LDmicro.
Para este curso utilizaremos un software llamado Ldmicro, Ldmicro genera código nativo para
ciertos Microcontroladores Microchip PIC16 y Atmel AVR.

Por lo general, el software para estos microcontroladores está escrito en lenguaje de


programación como ensamblador, C o BASIC. Estos lenguajes son potentes y bien adaptados a la
arquitectura del procesador, que ejecuta internamente una lista de instrucciones.

Los PLCs, por otro lado, se programan en Ladder, lenguaje escalera o de contactos, un programa
simple desarrollado en Ladder con alguno de estos microcontroladores podrá verse de la siguiente
manera así:
GAMMA Consulting

El programa se presenta en formato gráfico, no como una lista textual de instrucciones, muchas
personas inicialmente encontrarán esto más fácil de entender.

En el nivel más básico, los programas parecen diagramas de circuito, con contactos de relé
(entradas) y bobinas (salidas). Esto resulta más intuitivo para los programadores con conocimiento
de teoría de circuitos eléctricos. El compilador lógico del lenguaje de contactos se encarga de
cuándo, dónde y cómo se deben recalcular los estados del sistema.

No es necesario escribir código para determinar cuándo las salidas deben actualizarse por
ejemplo: sobre la base de un cambio en las entradas o en un temporizador, y no es necesario
especificar el orden en que estos cálculos deben tener lugar. Las herramientas del PLC hacen eso
por usted.

Descarga de software.
Lo puedes descargar desde esta página:

https://osimplc.com/docs/es/downloads.html

Una vez que entramos a la página nos aparecerá lo siguiente:


GAMMA Consulting

Daremos clic donde se señala en la imagen (LDmicro v5.4.0.4), puede irse actualizando la versión,
una vez presionado nos descargara un archivo de tipo zip.

Ese archivo lo descomprimimos en un lugar donde nosotros queramos, una vez descomprimido
tendremos lo siguiente:

Listo ya lo tenemos instalado, ahora solo falta ejecutar el programa y para esto tenemos los
archivos que dicen ldmicro.
GAMMA Consulting

Ahora seleccionamos el idioma que nosotros queramos, el por default es en ingles que es el
primero que se observa en la imagen, el de español es el 4 es que dice ldmicro-es, ese estaremos
usando a lo largo del curso, ahora solo dale doble clic para abrirlo y se observara de la siguiente
forma:

Conociendo el entorno del software.

Esta sección es la de menú, aquí tendremos todas las funciones del programa como crear, abrir,
guardar etc., además de todos los símbolos que veremos con ladder y la compilación del archivo
para crear un archivo de tipo hexadecimal y subirlo a nuestra placa de arduino.

En el primer menú que es archivo tenemos las siguientes opciones:


GAMMA Consulting

Como podemos observar podemos crear, abrir, guardar los archivos del software LDmicro, para el
segundo menú que es editar tenemos las siguientes opciones:

Las opciones que observamos son para la edición del entorno como insertar, copiar, pegar,
deshacer rehacer etc., ahora veamos el menú de configuración:
GAMMA Consulting

Este menú de opciones es para la configuración del microcontrolador que estemos usando, como
también configurar el tipo (AVR O PIC), además de parámetros como el oscilador que lleva el
microcontrolador, ahora vemos el menú instrucción:

Las opciones que tiene este menú son para el funcionamiento del entorno, ósea que tiene las
instrucciones para poder programar dentro del entorno en lenguaje ladder, ahora veamos el menú
de simulación:

En este menú al entrar en modo simulación una vez acabado nuestro diagrama en ladder, se
activaran las demás opciones, esto nos permite simular lo que tengamos desarrollado en el
entorno y nos sirve como previsualización de lo que se verá realmente en la placa al momento de
pasarlo, ahora veamos el menú de compilar:
GAMMA Consulting

En este menú podemos compilar nuestro diagrama de escalera para verificar que se encuentre
bien, en caso de que no esté nos arrojara un error y nos dirá que está mal, también como puedes
observar en la imagen tiene varias formas de compilar, con esto me refiero a los compiladores que
se le pueden añadir de otros entornos de programación, ahora veamos el menú configurar:

En este menú lo que podemos hacer es modificar el entorno, con esto me refiero a colores,
podemos escoger los que vienen integrados o hacer el de nosotros a nuestro gusto, por ultimo
veamos el menú de ayuda:

En este menú nos da opciones de ayuda para el entorno, como también para contactar a los
creadores del software por si llegáramos a tener un problema, podemos observar que hay foros,
cambios recientes y versiones a actualizar y descargar.
GAMMA Consulting

Después de explicar un poco todo lo anterior ahora veamos el entorno donde se trabaja todo el
diagrama

Aquí es donde estaremos viendo nuestros diagramas de escalera para poder programar, para
poder insertar líneas nuevas como contactos y bobinas, los encontramos en el menú de
instrucciones y de editar, más adelante veremos todo esto, ahora veamos la sección que se
encuentra en la parte inferior.

Aquí en esta sección estaremos viendo todo lo que insertaremos del diagrama (contactos,
bobinas, etc.), como también la configuración de los pines donde conectaremos todo lo de
hardware, con esto me refiero al microcontrolador que estaremos usando, veremos más adelante
como es que funciona.

En la parte inferior vemos una barra de estado, aquí nos indica que microcontrolador estamos
usando, a que frecuencia, y los ciclos que estará ejecutando el diagrama.

Microcontroladores Soportados por LDmicro.


LDmicro soporta los siguientes microcontroladores de la familia PIC16 y AVR:

 PIC16F628
 PIC16F628A
 PIC16F876
 PIC16F877A
 PIC16F88
 PIC16F819
 PIC16F886
 PIC16F887
GAMMA Consulting

 ATmega8
 ATmega16
 ATmega32
 ATmega64
 ATmega128
 ATmega162
 ATmega1284P
 ATmega2560

Puntos básicos del software.


1. LDmicro utiliza su propio formato interno para el programa; no puede importar lógica
de cualquier otra herramienta o programa equivalente.
2. Puede modificar el programa insertando o eliminando instrucciones.
3. Algunas operaciones no están permitidas, por ejemplo, no hay instrucciones a la
derecha de una bobina de salida.
4. El programa comienza con una sola línea. Puede agregar más escalones seleccionando
Insertar Línea Antes | Después en el menú Editar.
5. Podría obtener el mismo resultado lógico colocando muchos subcircuitos complicados
en paralelo en una línea, pero es más claro utilizar múltiples líneas.
6. Usted puede agregar instrucciones; por ejemplo puede agregar un conjunto de
contactos (menú Instrucción -> Insertar contactos) denominados “Xnew”.
7. “X” en este caso significa que el contacto estará vinculado a un pin de entrada en el
Microcontrolador. Puede asignarle el pin correspondiente más adelante, después de
seleccionar el modelo del microcontrolador y cambiar el nombre de los contactos.
8. La primera letra de un nombre (variable) indica qué tipo de objeto es.

Variables (objetos) actuales en LDmicro.


 Xname - X: pin de entrada digital en el microcontrolador
 Yname - Y: pin de salida digital en el microcontrolador
 Rname - R: relay interno o marca, un bit en la memoria del microcontrolador
 Tname - T: temporizado a la conexión, a la desconexión, acumulativo, etc.
 Cname - C: contador incremental, decremental, circular, etc.
 Aname - A: variable de un entero leída desde un convertidor A/D
 Pname - P: salida PWM en el microcontrolador
 Mname - M: bobina discreta MODBUS
 Iname - I: entrada discreta MODBUS
 Hname - H: registro Holding MODBUS
 Name - nombre: variable de uso general (un entero con signo). Tipos actualmente
soportados: byte, word, word+nibble, dword; 1, 2, 3 y 4 bytes.

Importante:

 Los nombres de las variables pueden consistir en letras, números y subrayados “_”.
GAMMA Consulting

 El nombre de una variable no debe comenzar con un número.


 En los nombres de variables se distinguen mayúsculas y minúsculas.

Elija el resto del nombre de la variable para que describa convenientemente lo que hace el
objeto, y de modo que sea único dentro del programa, además el mismo nombre siempre tiene
que referirse al mismo objeto dentro del programa.

Por ejemplo, sería un error tener un retardo a la conexión (TON) llamado TRetardo y un retardo a
la desconexión (TOF) llamado también TRetardo en el mismo programa, ya que cada temporizador
necesita su propio espacio de memoria.

XLoader.
Este software sirve para poder pasar el código generado por LDmicro a nuestro arduino, soporta
los siguientes arduinos:

 Mega(ATMEGA1280)
 Duemilanove/Nano(ATmega328)
 Duemilanove/Nano(ATmega168)
 Uno(ATmega328)
 Mega(ATMEGA2560)

Una vez descargado los archivos de drive, verán una carpeta llamada XLoader, abren esa carpeta y
aparecerá lo siguiente:

Damos clic al que dice XLoader para ejecutar el programa.

Conociendo el entorno del software.


Ya que ejecutamos el programa ahora veamos como se ve la ventana.
GAMMA Consulting

Como podemos observar es muy sencillo, no tiene complicaciones, pero expliquemos todo a
detalle:

1. Hex file: En esta sección lo que haremos es presionar el botón que tiene los tres puntos
(…), una vez que los presionemos nos abrirá una ventana para que busquemos un
archivo hexadecimal, este archivo hexadecimal será creado por LDmicro cuando
hayamos creado nuestro programa.
2. Device: En este campo es simplemente seleccionar que tipo de arduino tenemos.
3. COM port: Para este campo tendremos que tener conectado el arduino para que
detecte en que puerto se encuentra y así poder tener comunicación con el
microcontrolador y poder cargar el programa al arduino.
4. Baud rate: Es la velocidad en baudios (hay que dejarlo por default).
5. Upload: Una vez cargado el programa, seleccionado el dispositivo, tener el arduino
conectado con su respectivo puerto, presionaremos el botón Upload para cargarlo al
arduino.
6. About: Habla únicamente acerca del software.

Interpretación del lenguaje ladder.


Un programa simple desarrollado en Ladder podría verse así:
GAMMA Consulting

En el ejemplo, TON es un retardo a la activación, TOF es un retardo a la desactivación, los símbolos


--] [-- y --]/[-- son entradas de señal lógica que se comportan como los contactos de un relé, los
símbolos --( )-- son salidas de señal lógica que se comportan como la bobina de un relé.

Detalles específicos de LDmicro.


Los detalles de esta implementación en LDmicro son:

 El programa se presenta en formato gráfico, no como una lista textual de instrucciones.


Muchas personas inicialmente encontrarán esto más fácil de entender.
 En el nivel más básico, los programas parecen diagramas de circuito, con contactos de relé
(entradas) y bobinas (salidas). Esto resulta más intuitivo para los programadores con
conocimiento de teoría de circuitos eléctricos.
 El compilador lógico del lenguaje de contactos se encarga de cuándo, dónde y cómo se
deben recalcular los estados del sistema.
 No es necesario escribir código para determinar cuándo las salidas deben actualizarse p.
ej. sobre la base de un cambio en las entradas o en un temporizador, y no es necesario
especificar el orden en que estos cálculos deben tener lugar.

También podría gustarte