You are on page 1of 6

LENGUAJES DE PROGRAMACION DE PLCS

1. PROGRAMA Y LENGUAJE DE PROGRAMACIN


Se puede definir un programa como un conjunto de instrucciones, rdenes y smbolos
reconocibles por el PLC, a travs de su unidad de programacin, que le permiten ejecutar
una secuencia de control deseada. l Lenguaje de Programacin en cambio, permite al
usuario ingresar un programa de control en la memoria del PLC, usando una sinta!is
establecida.
"l igual como los PLCs se #an desarrollado y e!pandido, los lenguajes de programacin
tambin se #an desarrollado con ellos. Los lenguajes de #oy en da tienen nuevas y m$s
vers$tiles instrucciones y con mayor poder de computacin. Por ejemplo, los PLCs
pueden transferir bloques de datos de una locali%acin de memoria a otra, mientras al
mismo tiempo llevan cabo operaciones lgicas y matem$ticas en otro bloque. Como
resultado de estas nuevas y e!pandidas instrucciones, los programas de control pueden
a#ora manejar datos m$s f$cilmente.
"dicionalmente a las nuevas instrucciones de programacin, el desarrollo de nuevos
mdulos de entradas y salidas tambin #a obligado a cambiar las instrucciones
e!istentes.
2. PROGRAMAS DE APLICACIN Y DEL SISTEMA
Los programas de aplicacin que crean los usuarios est$n orientados a ejecutar, a travs
del controlador, tareas de automati%acin y control. Para ello, el usuario escribe el
programa en el lenguaje de programacin que mejor se adapte a su trabajo y con el que
sienta poseer un mejor dominio. n este punto es importante se&alar, que algunos
fabricantes no ofrecen todas las formas de representacin de lenguajes de programacin,
por lo que el usuario deber$ adaptarse a la representacin disponible
Por otro lado, el conjunto de programas que reali%an funciones operativas internas del
controlador, incluyendo los traductores de lenguaje, reciben la denominacin de
programas d! s"s#ma o so$#%ar d! s"s#ma. 'n elemento importante de ste, es el
sistema operativo, cuyos servicios incluyen el manejo de los dispositivos de entrada y
salida del PLC, el almacenamiento de la informacin durante largos perodos, el
procesamiento de los programas del usuario, etc. stos programas ya vienen escritos y
est$n almacenados en una memoria (o vol$til dentro de la CP', por lo tanto no se
pierden ni alteran en caso de prdida de alimentacin al equipo. l usuario (o tiene
acceso a ellos.
&. TIPOS DE LENGUAJES DE PROGRAMACIN DE PLCS
n la actualidad cada fabricante dise&a su propio soft)are de programacin, lo que
significa que e!iste una gran variedad comparable con la cantidad de PLCs que #ay en el
mercado. (o obstante, actualmente e!isten tres tipos de lenguajes de programacin de
PLCs como los m$s difundidos a nivel mundial* estos son+
, Lenguaje de contactos o Ladder
, Lenguaje -ooleano .Lista de instrucciones/
, 0iagrama de funciones
1
s obvio, que la gran diversidad de lenguajes de programacin da lugar a que cada
fabricante tenga su propia representacin, originando cierta incomodidad al usuario
cuando programa m$s de un PLC.
'. LA NORMA IEC 11&1(&
La Comisin lectrotcnica 1nternacional .1C/ desarroll el est$ndar 1C 2232, en un
esfuer%o para estandari%ar los Controladores Programables. 'no de los objetivos del
Comit fue crear un conjunto com4n de instrucciones que podra ser usado en todos los
PLCs. "unque el est$ndar 2232 alcan% el estado de est$ndar internacional en agosto de
2556, el esfuer%o para crear un PLC est$ndar global #a sido una tarea muy difcil debido
a la diversidad de fabricantes de PLCs y a los problemas de incompatibilidad de
programas entre marcas de PLCs.
l est$ndar 1C 2232 para controladores programables consiste de cinco partes, una de
las cuales #ace referencia a los lenguajes de programacin y es referida como la 1C
2232,3.
l est$ndar 1C 2232,3 define dos lenguajes gr$ficos y dos lenguajes basados en te!to,
para la programacin de PLCs. Los lenguajes gr$ficos utili%an smbolos para programar
las instrucciones de control, mientras los lenguajes basados en te!to, usan cadenas de
caracteres para programar las instrucciones.
L)g*a+s Gr,$"-os
o 0iagrama Ladder .L0/
o 0iagrama de -loques de 7unciones .7-0/
L)g*a+s T.#*a!s
o Lista de 1nstrucciones .1L/
o 8e!to structurado .S8/
"dicionalmente, el est$ndar 1C 2232,3 incluye una forma de programacin orientada a
objetos llamada S/*)#"a! 0*)-#"o) C1ar# 2S0C3. S7C es a menudo categori%ado
como un lenguaje 1C 2232,3, pero ste es realmente una estructura organi%acional que
coordina los cuatro lenguajes est$ndares de programacin .L0, 7-0, 1L y S8/. La
estructura del S7C tuvo sus races en el primer est$ndar francs de Gra$-# .1C 9:9/.
4. LENGUAJE LADDER
l L"00;, tambin denominado lenguaje de contactos o de escalera, es un lenguaje de
programacin gr$fico muy popular dentro de los Controladores Lgicos Programables
.PLC/, debido a que est$ basado en los esquemas elctricos de control cl$sicos. 0e este
modo, con los conocimientos que todo tcnico elctrico posee, es muy f$cil adaptarse a
la programacin en este tipo de lenguaje. Su principal ventaja es que los smbolos
b$sicos est$n normali%ados seg4n normas (<" y son empleados por todos los
fabricantes.
E!m)#os d programa-"5)
Para programar un PLC con L"00;, adem$s de estar familiari%ado con las reglas de
los circuitos de conmutacin, es necesario conocer cada uno de los elementos de que
2
consta este lenguaje. n la siguiente tabla podemos observar los smbolos de los
elementos b$sicos junto con sus respectivas descripciones.
Smbolo (ombre 0escripcin
Contacto
("
Se activa cuando #ay un uno lgico en el elemento que
representa, esto es, una entrada .para captar informacin del
proceso a controlar/, una variable interna o un bit de sistema.
Contacto
(C
Su funcin es similar al contacto (" anterior, pero en este caso
se activa cuando #ay un cero lgico, cosa que deber$ de tenerse
muy en cuenta a la #ora de su utili%acin.
-obina
("
Se activa cuando la combinacin que #ay a su entrada
.i%quierda/ da un uno lgico. Su activacin equivale a decir que
tiene un uno lgico. Suele representar elementos de salida,
aunque a veces puede #acer el papel de variable interna.
-obina
(C
Se activa cuando la combinacin que #ay a su entrada
.i%quierda/ da un cero lgico. Su activacin equivale a decir que
tiene un cero lgico. Su comportamiento es complementario al
de la bobina (".
-obina
S8
'na ve% activa .puesta a 2/ no se puede desactivar .puesta a =/
si no es por su correspondiente bobina en ;S8. Sirve para
memori%ar bits y usada junto con la bina ;S8 dan una
enorme potencia en la programacin.
-obina
S8 Permite desactivar una bobina S8 previamente activada.
Programa-"5)
'na ve% conocidos los elementos que L"00; proporciona para su programacin,
resulta importante resaltar cmo se estructura un programa y cu$l es el orden de
ejecucin.
l siguiente esquema representa la estructura general de la distribucin de todo
programa L"00;, contactos a la i%quierda y bobinas y otros elementos a la derec#a.
n cuanto a su equivalencia elctrica, podemos imaginar que las lneas verticales
representan las lneas de alimentacin de un circuito de control elctrico.
3
l orden de ejecucin es generalmente de arriba #acia abajo y de i%quierda a derec#a,
primero los contactos y luego las bobinas, de manera que al llegar a stas ya se conoce
el valor de los contactos y se activan si procede. l orden de ejecucin puede variar de
un controlador a otro, pero siempre se respetar$ el orden de introduccin del programa,
de manera que se ejecuta primero lo que primero se introduce.
6ar"a7!s ")#r)as 8 7"#s d s"s#ma
Las variables internas son bits au!iliares que pueden ser usados seg4n convenga, sin
necesidad de que representen ning4n elemento del autmata. Se suele indicar mediante
los caracteres - < y tienen tanto bobinas como contactos asociados a las mismas. Su
n4mero de identificacin suele oscilar, en general, entre = y 6>>. Su utilidad fundamental
es la de almacenar informacin intermedia para simplificar esquemas y programacin.
Los bits de sistema son contactos que el propio autmata activa cuando conviene o
cuando se dan unas circunstancias determinadas. !iste una gran variedad, siendo los
m$s importantes los de arranque y los de reloj, que permiten que empiece la ejecucin
desde un sitio en concreto y formar una base de tiempos respectivamente. Su
nomenclatura es muy diversa, dependiendo siempre del tipo de autmata y fabricante
9. LENGUAJE :OOLEANO 2L"s#a d I)s#r*--"o)s3
l lenguaje -ooleano utili%a la sinta!is del ?lgebra de -oole para ingresar y e!plicar la
lgica de control. Consiste en elaborar una lista de instrucciones o nemnicos, #aciendo
uso de operadores -ooleanos ."(0, @;, (@8, etc./ y otras instrucciones nemnicas,
para implementar el circuito de control. l lenguaje ALista de 1nstruccionesB .1L/ de la
(orma 1C 2232,3, es una forma de lenguaje -ooleano.
jemplo de programacin -ooleana+
" 1 6.3
" 1 :.2
@ 1 3.6
C D 2.E
;. DIAGRAMA DE 0UNCIONES 20:D3
s un lenguaje gr$fico que permite al usuario programar elementos .bloque de funciones
del PLC/ en tal forma que ellos aparecen interconectados al igual que un circuito
elctrico. Feneralmente utili%an smbolos lgicos para representar al bloque de funcin.
Las salidas lgicas no requieren incorporar una bobina de salida, porque la salida es
representada por una variable asignada a la salida del bloque.
l diagrama de funciones lgicas, resulta especialmente cmodo de utili%ar, a tcnicos
#abituados a trabajar con circuitos de puertas lgicas, ya que la simbologa usada en
ambos es equivalente.
"dicionalmente a las funciones lgicas est$ndares y especficas del vendedor, el lenguaje
7-0 de la (orma 1C 2232,3 permite al usuario construir sus propios bloques de
funciones, de acuerdo a los requerimientos del programa de control.
4
jemplo de programacin mediante diagrama de funciones+
<. LENGUAJE DE TE=TO ESTRUCTURADO 2ST3
8e!to estructurado .S8/ es un lenguaje de alto nivel que permite la programacin
estructurada, lo que significa que muc#as tareas complejas pueden ser divididas en
unidades m$s peque&as. S8 se parece muc#o a los lenguajes de computadoras -"S1C o
P"SC"L, que usa subrutinas para llevar a cabo diferentes partes de las funciones de
control y paso de par$metros y valores entre las diferentes secciones del programa.
"l igual que L0, 7-0 e 1L, el lenguaje de te!to estructurado utili%a la definicin de
variables para identificar entradas y salidas de dispositivos de campo y cualquier otra
variable creada internamente.
1ncluye estructuras de c$lculo repetitivo y condicional, tales como+ 7@; ... 8@*
;P"8..... '(81L G* HI1L G... * 17 ... 8I( ...LS. "dem$s soporta operaciones
-ooleanas ."(0, @;, etc./ y una variedad de datos especficos, tales como fec#a, #ora.
La programacin en 8e!to structurado es apropiada para aplicaciones que involucran
manipulacin de datos, ordenamiento computacional y aplicaciones matem$ticas que
utili%an valores de punto flotante. S8 es el mejor lenguaje para la implementacin de
aplicaciones de inteligencia artificial, lgica difusa, toma de decisiones, etc.

jemplo+
17 <anual "(0 "larm 8I(
Level C <anualJLevel*
<i!er C Start "(0 (@8 ;eset
LS 17 @t#erJ<ode 8I(
Level C <a!Jlevel*
LS Level C .LevelJ1ndic G2==/KScale*
(0 17*
>. SE?UENTIAL 0UNCTION C@ART 2S0C3
s un AlenguajeB gr$fico que provee una representacin diagram$tica de secuencias de
control en un programa. -$sicamente, S7C es similar a un diagrama de flujo, en el que se
puede organi%ar los subprogramas o subrutinas .programadas en L0, 7-0, 1L yKo S8/
que forman el programa de control. S7C es particularmente 4til para operaciones de
control secuencial, donde un programa fluye de un punto a otro una ve% que una
condicin #a sido satisfec#a .cierta o falsa/.
l marco de programacin de S7C contiene tres principales elementos que organi%an el
programa de control+
&
1
I 2.3
I 4.1
I 3.2
Q 1.6
5
Pasos .etapas/
8ransiciones .condiciones/
"cciones
l programa ir$ activando cada una de las etapas y desactivando la anterior conforme se
vayan cumpliendo cada una de las condiciones. Las acciones se reali%ar$n en funcin de
la etapa activa a la que est$n asociadas. Por ejemplo, la etapa 2 activa tras arrancar el
programa, al cumplirse la LCondicin 2L, se activar$ la etapa 6, se desactivar$ la 2, y se
reali%ar$ la L"ccin 2L.
jemplo+
Como se mencion anteriormente, el lenguaje S7C tiene su origen en el est$ndar francs
F;"7C8 .GRA0ica de Control de Etapas de Transicin/. l grafcet tambin utili%a
etapas, transiciones y acciones, que operan de la misma manera como en S7C.
6