Microcontroladores: Lenguajes de Programación (Escalera)

avatar

El lenguaje escalera es uno de los lenguajes que nace de la programación por hardware, incluso antes de que existieran los semiconductores existían dispositivos que servían para automatizar, incluso hoy en día los usamos. Sí, el lenguaje escalera nace de la automatización por relés.

Es uno de los primeros lenguajes de programación usados si acaso no el primero tomando en cuenta que no existían las computadoras. Las aplicaciónes complejas requerían enormes cantidades de relés y esto a su vez requería un algoritmo para diseñar e implementar el control.

Cuando comienzan a salir los controladores programables se aprovechó que el lenguaje escalera era conocido y se implemento en los softwares de programación de estos dispositivos, esto les facilitaría a los especialistas el trabajo de familiarizarse con algo que ya conocían.

Un programa en lenguaje escalera que enciende y apaga un motor mediante pulsadores, fuente: su servidor

Este lenguaje es muy popular en la programacion de PLC (controlador lógico programable) que es un dispositivo popular en la automatización industrial moderna, pero también es posible programar algunos microcontroladores usando el programa gratis llamado LDmicro.

La base del lenguaje escalera es por lo tanto una lógica de bobinas y contactos tal como si de un relé se tratase, es decir, los contactos pueden asociarse a las bobinas (cuando un contacto depende de una salida) o pueden ser asociados a un pulsador o switch (cuando funcionan como entrada discreta).

Este lenguaje consiste en dos barras verticales que representan las polaridades de la electricidad, una barra está a la izquierda y otra a la derecha, los elementos se comienzan a conectar en línea horizontal desde la barra izquierda hasta la derecha, cuando entre ambas barras se presenta un circuito cerrado las salidas asociadas a esa línea son activados. Dado que las líneas van quedando apiladas unas sobre otras unidas a las barras la visión general del programa toma forma de escalera (dos barras largas verticales y muchas barras horizontales unidas en el centro de estás)

Los contactos pueden presentarse como normalmente abiertos ----] [---- lo cual quiere decir que su condición inicial no permitirá el paso de corriente en esa línea mediante ese contacto y por lo tanto no se activarán las salidas hasta que el contacto no se active, momento en el cual un cambio en su color indica que ha cambiado de estado a cerrado (permite el paso de corriente en la lína).

Los contactos normalmente cerrados ----]/[---- ejecutan la función opuesta a los normalmente abiertos, estos en su condición inicial están cerrando el circuito y cuando son accionados lo abren al cambiar su estado.

Las bobinas representan los elementos de salida, es decir, se pueden asociar a los pines para activarlos mediante estas, además al igual que las de un relé, las bobinas del programa se pueden relacionar a contactos para que estos cambien su estado cuando una bobina sea activada, el programa presenta bobinas normales ----( )---- que ofrecen una salida activa cuando la bobina es energizada, negadas ----(/)---- que presentan una salida cero cuando la bobina es energizada y 1 cuando no está energizada.

Además de las mencionadas que son consideradas como básicas existen otras instrucciones que presentan funciones muy importantes y útiles a la hora de programar como temporizadores, contadores, condicionadores, entre muchas más.

Control de un flash led de 1segundo, fuente: su servidor.

El lenguaje presenta una potencia de diseño muy amplia en una forma simple de programación basada en simbolos y direccionamientos en lugar de códigos de programa, si logramos trasladarlo a un microcontrolador como en efecto es posible con LDmicro, estamos llevando la posibilidad de convertir nuestro pequeño micro de unos pocos dolares en un dispositivo capaz de brindar las prestaciones de un PLC que vale muchos miles de dolares, no porque el microcontrolador no pueda hacerlo sin el lenguaje escalera, sino porque presenta la facilidad de programación que tiene un plc donde los conocimientos en informática necesarios son mínimos.

LDmicro es una aplicación sencilla con pocas pestañas donde nos presenta todas las herramientas de trabajo y la posibilidad de hacer simulaciones en tiempo real para depurar nuestro programa.

Pantalla principal del programa LDmicro, fuente: su servidor




Menú Archivos. Fuente: Su servidor

  • Menú Archivo: Presenta las mismas opciones de manejo de archivos que la mayoría de los programas si no todos, pero adicional a esto se puede resaltar la opción "Exportar a texto" que convierte nuestro programa creado en un documento de texto basado en ASCII.

Menú editar. Fuente: Su servidor

  • Editar: Presenta las herramientas para operar en el área de trabajo, insertar las líneas horizontales y moverlas en la escalera a conveniencia, además de las otras visibles que son borrar, deshacer y rehacer.

Menú Configuraciones. Fuente: Su servidor

  • Configuraciones: Permite seleccionar el microcontrolador con el que vamos a trabajar y asignarle los parámetros tales como frecuencia del reloj y tiempo de ciclos.

    Podemos notar en la imágen que la lista de microcontroladores soportados es corta pero a la vez los incluidos son los más comunes.

Menú Instrucciones. Fuente: Su servidor.

  • Instrucciones: Aquí podemos encontrar la lista de todas las instrucciones con las que se puede trabajar y desde aquí se pueden llamar para añadirlas al área de trabajo solo con darle clicks. Tambien se puede ver que cada instrucción tiene asignada una tecla para un acceso rápido desde el teclado.

Menú Simular. Fuente: Su servidor.

  • Simular: Una vez que hemos terminado de crear nuestro programa debemos depurar los errores que puedan existir, el menú simular nos permite ver en tiempo real el comportamiento de las entradas y salidas, simular las entradas y comprobar las respuestas.

Y finalmente el menú Compilar nos permite generar el archivo .hex que es el que se graba en el microcontrolador.

LDmicro es un programa de software libre aun en desarrollo por lo que tiene una limitada cantidad de chips soportados, sin embargo son los más usados entre PICs y AVR por lo cual, al menos en mi caso es muy útil.

LDmicro

Con este ya hemos visto 3 formas de programar microcontroladores aunque solo de forma superficial pero profundizaremos en ellos cuando comencemos a usarlos creando nuestros programas ya que cada uno de ellos requeriría un curso extenso, sin embargo los abordaremos a medida que avancemos.

En el siguiente artículo veremos un software que nos presenta una forma fácil y potente de crear programas, incluso me atrevo a decir que es la forma más fácil de programar microcontroladores pero no quiero adelantar, hasta aquí espero que esta información haya sido de utilidad para ti, para cualquier opinión o duda queda abierta la sección de comentarios.

Artículos relacionados.

Lecturas recomendadas

  • José M. Angulo Usategui, Ignacio Angulo Martínez, Microcontroladores PIC: Diseño práctico de aplicaciones (primera parte)
  • Ronald J. Tocci, Neal S. Widmer, Sistemas digitales: principios y aplicaciones
  • Albert Paul Malvino, Principios de electrónica, Sexta edición.
  • Robert L. Boylestad, Electrónica: Teoría de Circuitos.
  • Timothy J. Maloney, Electrónica Industrial, dispositivos y sistemas.


0
0
0.000
3 comments
avatar

Thanks for your contribution to the STEMsocial community. Feel free to join us on discord to get to know the rest of us!

Please consider delegating to the @stemsocial account (85% of the curation rewards are returned).

Thanks for including @stemsocial as a beneficiary, which gives you stronger support. 
 

0
0
0.000