You are on page 1of 3

El lenguaje C frente al esquema de

contactos

Este documento es una traducción del original en inglés:


"PROGRAMMING CONTROLLERS: C VS. RELAY LADDER
LOGIC" por G. Young, director de soporte comercial de Z-World
Engineering

Indice

• Programación de controladores: C frente al esquema de contactos.


• Características del lenguaje C y RLL.

Programación de controladores: C frente al esquema de contactos

El mundo de los controladores programables se ha vuelto más sofisticado, si no


más complicado. No basta ahora que una máquina pueda realizar la misma serie de
acciones. Los sistemas, ahora, deben no sólo ser capaces de realizar tareas
repetitivas, también deben optimizar los procedimientos para maximizar la
producción mientras mantienen estadísticas básicas (un requerimiento de calidad
asegurado). Más aún, muchos sistemas deben interactuar con uno o varios
dispositivos adicionales con interfaces que son ajenos al controlador lógico
programable (PLC). Algunos sistemas también deben ser capaces de soportar
comunicación con una red industrial que proporcione supervisión con información
actualizada.

Programación en esquema de contactos

El esquema de contactos (RLL o FBD) fué diseñado para proporcionar un software


más flexible de simulación que pudiera reemplazar los contactores, temporizadores,
y contadores de forma análoga a los sistemas de control de 1960 a 1970. RLL no
sólo ha sido un éxito, también ha superado sus modestos objetivos. RLL es una
herramienta potente cuando es utilizada en aplicaciones que realizan tareas
específicas, no obstante no puede soportar los múltiples retos de los actuales PLC's.
Para ello se han añadido características que soporten aplicaciones más complicadas,
pero estas mejoras son torpes, lentas, y son muy difíciles o casi imposibles de
emplear. RLL simplemente no está preparado para los problemas más complicados
de la industria actual.

Programación en lenguaje C

C, sin embargo, fué diseñado para ser un lenguaje de programación de propósito


general. El C no sólo domina el desarrollo de aplicaciones perosnales y
corporativas para ordenador, también soporta el desarrollo de sistemas modulares.
De esta forma, C es empleado para programa desde procesadores de texto y bases

Página 1
de datos a microhondas y televisores. En esencia, el C está en todas partes.

La razón de la popularidad del C es su naturaleza de propósito general. A causa de


que el C no toma en consideración el entorno o el tipo de tareas a procesar, los
programas escritos en C emplean los recursos más eficientemente que los sistemas
basados en RLL. La mayoría de los PLC's proporcionan al usuario un número
determinado de dispositivos tales como relés auxiliares, registros, y
temporizadores. Eventualmente, cada programador de RLL encuentra una situación
donde una asignación fija de variables no es aceptable para una aplicación. Por
ejemplo, una aplicación particular sólo debe requerir unos pocos relés y
temporizadores, pero requiere más registros que los posibles en una aplicación
RLL.

El aspecto más grave de este escenario es que un PLC casi siempre tiene la
necesidad de memoria, pero asigna memoria a innecesarios relés auxiliares y
temporizadores. Cuando se programa en C la asignación de memoria no es un
problema, debido a que el programador tiene el control de la asignación de recursos
disponibles (hasta donde los recursos lleguen).

El lenguaje C puede solventar la mayoría de los problemas de programación y es


soportado por la gran mayoría de las plataformas de programación. Otra importante
ventaja del C es su prespectiva de ejecución. El RLL fué diseñado para simular
operaciones inherentemente paralelas de hardware. Las operaciones paralelas están
acopladas mediante la ejecución secuencial de cada "escalón" dentro de cada tarea
en todo ciclo de ejecución. Esto presenta el problema que a mayor complejidad de
las tareas los ciclos de ejecución se hacen más lentos, llegando a superar los 10
milisegundos, lo que es inapropiado en la mayoría de las aplicaciones.

El C, no obstante, posee un contador de programa que comienza en la función


"MAIN" (la primera función ejecutada en un programa en C). El contador
programado trabaja a lo largo del código, dirigido por sentencias de control de flujo
escritas por el programador. Un procesador ejecutando un programa en C sólo
ejecuta una secuencia de instrucciones a la vez.

Mientras una secuencia de instrucciones es ejecutada, el resto del programa espera


a la ejecución del próximo juegos de instrucciones. Esta ejecución simple permite
al programador decidir que partes de la aplicación necesitan una mayor atención y
cuales deben ser ejecutadas periódicamente. Sin este control, manejar eventos de
alta velocidad sería imposible.

Características del lenguaje C y RLL

Lenguaje C

• Programación flexible que permite resolver un problemas de diversas


formas. Con frecuencia un programador novato puede sentirse abrumado
con las posibilidades.
• Habilidad de enfocar la ejecución en una pequeña sección de código. Esto
es importante para aplicaciones donde ciertas funciones no son realizadas en

Página 2
su totalidad o son ignoradas.
• Menos intuitivo para los principiantes y un poco más complicado de
aprender que RLL.
• Un juego básico de instrucciones puede ser aprendido con rapidez, pero los
aspectos más complicados del lenguaje pueden ser bastante confusos
incluso para los programadores con experiencia moderada.

Lenguaje de contactos (RLL)

• Bastante restrictivo, de forma que los problemas simples casi siempre se


resuelven por si solos.
• Ejecuta cada sección secuencialmente por cada ciclo. No existe posibilidad
de no ejecutar código.
• Puede ser aprendido con relativa rapidez.
• Diseñado para realizar una tarea particular, realizando la tarea
correctamente.

Página 3

You might also like