Vous êtes sur la page 1sur 11

METODO DE PROGRAMACION DE PLCS

NORMA ANSSI IEC 1131-3



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. El Lenguaje de Programacin en cambio, permite al
usuario ingresar un programa de control en la memoria del PLC, usando una sintaxis
establecida.

Al igual como los PLCs se han desarrollado y expandido, los lenguajes de programacin
tambin se han desarrollado con ellos. Los lenguajes de hoy en da tienen nuevas y ms
verstiles instrucciones y con mayor poder de computacin. Por ejemplo, los PLCs pueden
transferir bloques de datos de una localizacin de memoria a otra, mientras al mismo
tiempo llevan cabo operaciones lgicas y matemticas en otro bloque. Como resultado de
estas nuevas y expandidas instrucciones, los programas de control pueden ahora manejar
datos ms fcilmente.

2. PROGRAMAS DE APLICACIN Y DEL SISTEMA

Los programas de aplicacin que crean los usuarios estn orientados a ejecutar, a travs
del controlador, tareas de automatizacin 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. En este punto es importante sealar, 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.
3. TIPOS DE LENGUAJES DE PROGRAMACIN DE PLCS
Actualmente existen tres tipos de lenguajes de programacin de PLCs como los ms
difundidos a nivel mundial; estos son:
- Lenguaje de contactos o Ladder
- Lenguaje Booleano (Lista de instrucciones)
- Diagrama de funciones

Es 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 ms de un PLC.


4. LA NORMA ANSSI IEC 1131-3
La Comisin Electrotcnica Internacional (IEC) desarroll el estndar IEC 1131, en un
esfuerzo para estandarizar los Controladores Programables. Uno de los objetivos del
Comit fue crear un conjunto comn de instrucciones que podra ser usado en todos los
PLCs.

El estndar IEC 1131 para controladores programables consiste de cinco partes, una de las
cuales hace referencia a los lenguajes de programacin y es referida como la IEC 1131-3.

El estndar IEC 1131-3 define dos lenguajes grficos y dos lenguajes basados en texto,
para la programacin de PLCs. Los lenguajes grficos utilizan smbolos para programar las
instrucciones de control, mientras los lenguajes basados en texto, usan cadenas de
caracteres para programar las instrucciones.

Lenguajes Grficos

o Diagrama Ladder (LD)
o Diagrama de Bloques de Funciones (FBD)

Lenguajes Textuales

o Lista de Instrucciones (IL)
o Texto Estructurado (ST)

Adicionalmente, el estndar IEC 1131-3 incluye una forma de programacin orientada a
objetos llamada Sequential Function Chart (SFC). SFC es a menudo categorizado como un
lenguaje IEC 1131-3, pero ste es realmente una estructura organizacional que coordina
los cuatro lenguajes estndares de programacin (LD, FBD, IL y ST).


5. LENGUAJES DE PROGRAMACION IEC 1131-3


El IEC 1131-3 est basado en la lgica de escalera utilizada en controladores (incluyendo
bloques funcionales) por su simplicidad, representacin y programabilidad. Sin embargo el
IEC 1131-3 disminuye la necesidad de usar circuitos con complejos entrecruzamientos,
tpicos en diagramas de escalera. Mejora los lenguajes usados anteriormente e incorpora
un poderoso entorno denominado diagrama de funciones secuenciales haciendo mucho
ms fcil el entrecruzamiento de variables, la interpretacin del programa de control y la
implementacin del sistema de control, tanto para el programador como para el usuario
final.


5.1. LENGUAJE LADDER

El lenguaje Ladder o tambin llamado diagrama de escalera (LD) es un lenguaje de
programacin grfico muy popular dentro de los Controladores Lgicos Programables
(PLC), debido a que usa un conjunto estandarizado de smbolos de programacin en
escalera, basado en los esquemas elctricos de control clsicos.

Su principal ventaja es que los smbolos bsicos estn normalizados segn normas NEMA y
son empleados por todos los fabricantes.

En la siguiente tabla podemos observar los smbolos de los elementos bsicos junto con
sus respectivas descripciones.




















SIMBOLO

DESCRIPCION


Barra de alimentacin izquierda (con
enlace horizontal acoplado).

Contactos

Bobinas

Bloques Funcionales
Barra de alimentacin derecha (con
enlace horizontal acoplado).

Smbolo de salto.

Smbolo de retorno.

Entrada EN.

Salida ENO.



ENLACES:












CONTACTOS

SIMBOLO

DESCRIPCION

Contacto Normalmente Abierto.

Contacto Normalmente Cerrado.
Contacto de deteccin de Transicin
Positiva (Flanco Ascendente).
Contacto de deteccin de Transicin
Negativa (Flanco Descendente).

BOBINAS

SIMBOLO

DESCRIPCION


Bobina Normalmente Abierto.
Bobina de accionamiento
directo.


Bobina Normalmente Cerrado.
Bobina de accionamiento
Indirecto.


Seteo de una salida


Reseteo de una salida.

Lenguaje Ladder - Procesamiento y Limitaciones

Las bobinas pueden ir precedidas de contactos, pero no pueden estar seguidas por
ninguno.








Lo mismo se aplica a los bloques Funcin, por ejemplo el bloque funcin transferencia, ya
que se comporta como bobina.








La cantidad de uniones "llamados NODOS" estn limitados, no puede superar cierto
nmero.










Los bloques Timer, Contadores, etc. slo pueden aparecer una vez en el programa.
Sin embargo pueden utilizarse contactos y bobinas referidos a stos en cualquier parte.
No pueden editarse dos bloques Timer, etc. con el mismo nmero.



5.2. LENGUAJE BOOLEANO (Lista de Instrucciones IL)

Es un lenguaje de bajo nivel basado en operaciones Booleanas y cuya apariencia es similar
al cdigo del lenguaje ensamblador; se podra afirmar tambin que este lenguaje no es
ms que la representacin en forma de texto del lenguaje grfico "Ladder".

Una lista de instrucciones (IL) se compone de una serie de instrucciones. Cada instruccin
empieza en una nueva lnea, contiene un operador y, segn sea el tipo de operacin,
incluye uno o varios operandos separados por comas. Un comentario ha de ser el ltimo
elemento de una lnea. Se pueden insertar lneas vacas entre las instrucciones.

A continuacin aparece una tabla de todos los operadores en lenguaje IL:


Operador

Modificadores

Significado
LD N Establecer resultado actual igual al operando
TE N Guardar resultado actual en la posicin del operando
S Pone el resultado booleano en 1.
R Poner el operando booleano en cero
AND N, ( AND por bits
OR N, ( OR por bits
XOR ( OR exclusivo por bits
ADD ( Suma
SUB ( Resta
MUL ( Multiplicacin
DIV ( Divisin
GT ( >
GE ( >=
EQ ( =
NE ( <>
LE ( <=
LT ( <
JMP CN Saltar a la marca
CAL CN Llamar a Bloque de Funciones
RET CN Volver de la llamada a un Bloque de Funciones
) Evaluar operacin de repuesta
5.3. DIAGRAMA DE BLOQUES FUNCIONALES (FBD)

Es un lenguaje grfico que permite al usuario programar elementos (bloque de funciones
del PLC) en tal forma que ellos aparecen interconectados al igual que un circuito elctrico.
Generalmente utilizan 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.











Adicionalmente a las funciones lgicas estndares y especficas del vendedor, el lenguaje
FBD de la Norma IEC 1131-3 permite al usuario construir sus propios bloques de
funciones, de acuerdo a los requerimientos del programa de control.

Algunos sistemas IEC 1131-3 usan smbolos lgicos para representar los bloques de
funcin. No se requiere la representacin de bobinas de salida, ya que dicha salida es
representada por la variable asignada al bloque.

Esta variable puede ser usada en otras instrucciones a lo largo del programa. El usuario
puede sin embargo usar una representacin de bobina, si as lo desea; no obstante estar
limitado al bloque de ms a la derecha. El lenguaje FBD usa bloques de funciones estndar
y especficos del fabricante.

En adicin a los bloques de funcin especficos de cada fabricante, el IEC 1131-3 permite
la construccin de funciones por parte del usuario, de acuerdo a los requerimientos del
programa de control. Esto es llamado encapsulamiento. La ventaja de crear bloques de
funcin definidos por el usuario es que pueden contener otros bloques de funcin, listas
de instrucciones o texto estructurado con o sin instrucciones en diagrama de escalera.
Esto le da una gran flexibilidad a la programacin con bloques de funciones. El
encapsulamiento permite que el usuario almacene los bloques que haya creado en una
librera que le permitir usarlo tantas veces como lo requiera el programa, de la misma
manera en que lo hara con cualquier otro bloque de funcin.




5.4. LENGUAJE DE TEXTO ESTRUCTURADO (ST).

Texto estructurado (ST) es un lenguaje de alto nivel que permite la programacin
estructurada, lo que significa que muchas tareas complejas pueden ser divididas en
unidades ms pequeas. ST se parece mucho a los lenguajes de computadoras BASIC o
PASCAL, que usa subrutinas para llevar a cabo diferentes partes de las funciones de
control y paso de parmetros y valores entre las diferentes secciones del programa.

Al igual que LD, FBD e IL, el lenguaje de texto estructurado utiliza la definicin de
variables para identificar entradas y salidas de dispositivos de campo y cualquier otra
variable creada internamente.

Incluye estructuras de clculo repetitivo y condicional, tales como: FOR ... TO; REPEAT.....
UNTIL X; WHILE X...; IF... THEN...ELSE. Adems soporta operaciones Booleanas (AND, OR,
etc.) y una variedad de datos especficos, tales como fecha, hora.

ST es el mejor lenguaje para la implementacin de aplicaciones de inteligencia artificial,
lgica difusa, toma de decisiones, etc.

A continuacin se muestra una tabla con los operadores ST por orden de fuerza de enlace.

Operacin Smbolo Fuerza de enlace
Entre parntesis (expresin) E. ms fuerte
Llamada a funciones Nombre de funcin (lista de parmetros)
Potenciar EXPT
Negar
Formacin de complemento
-
NOT

Multiplicar
Dividir
Mdulo
*
/
MOD

Sumar
Restar
+
-

Comparar <,>,<=,>=
Igualdad
Desigualdad
=
<>

Bool AND AND
Bool XOR XOR
Bool OR OR E. ms dbil

A continuacin se indican las siguientes instrucciones en ST ordenadas en forma de tabla y
con un ejemplo:


Tipo de instruccin

Ejemplo
Asignacin A:=B; CV := CV + 1; C:=SIN(X);
Llamada a un Bloque de
Funciones y uso de la
salida FB

CMD_TMR(IN := %IX5, PT := 300);A:=CMD_TMR.Q;
RETURN RETURN;
IF IF D:=B*B;IF D<0.0 THEN C:=A;ELSIF D=0.0 THEN C:=B;ELSE C:=D;END_IF;
CASE CASE INT1 OF1: BOOL1 := TRUE;2: BOOL2 := TRUE;ELSE BOOL1 := FALSE;
BOOL2 := FALSE;END_CASE;
FOR FOR J:=101;FOR I:=1 TO 100 BY 2 DO IF ARR[I] = 70 THEN J:=I; EXIT;
END_IF;END_FOR;
WHILE WHILE J<= 100 AND ARR[J] <> 70 DO J:=J+2;END_WHILE;
REPEAT REPEAT J:=J+2;UNTIL J= 101 OR ARR[J] = 70END_REPEAT;
EXIT EXIT;
Instruccin vaca ;


SENTENCIAS DEL LENGUAJE ST












SENTENCIA IF

IF<expresin booleana>THEN
<instruccin>;
<instruccin>;

ELSE IF <expresin booleana>THEN
<instruccin>;

ELSE
<instruccin>;
END_IF;

SENTENCIA CASE

CASE<expresin entera>OF
<valor>;<instruccin>;
<valor>;<valor>;<instruccin>;
<instruccin>;

ELSE
<instruccin>;
END_CASE;













5.5. SEQUENTIAL FUNCTION CHART (SFC)
Es un lenguaje grfico que provee una representacin diagramtica de secuencias de
control en un programa. Bsicamente, SFC es similar a un diagrama de flujo, en el que se
puede organizar los subprogramas o subrutinas (programadas en LD, FBD, IL y/o ST) que
forman el programa de control. SFC es particularmente til para operaciones de control
secuencial, donde un programa fluye de un punto a otro una vez que una condicin ha
sido satisfecha (cierta o falsa).

El marco de programacin de SFC contiene tres principales elementos que organizan el
programa de control:

Pasos (etapas)
Transiciones (condiciones)
Acciones

El programa ir activando cada una de las etapas y desactivando la anterior conforme se
vayan cumpliendo cada una de las condiciones. Las acciones se realizarn en funcin de la
etapa activa a la que estn asociadas. Por ejemplo, la etapa 1 activa tras arrancar el
programa, al cumplirse la "Condicin 1", se activar la etapa 2, se desactivar la 1, y se
realizar la "Accin 1".


SENTENCIA FOR

FOR<ndice:=<mini>TO<maxi>
BY<paso>DO
<instruccin>;
<instruccin>;
END_FOR;

SENTENCIA WHILE

WHILE <expresin bool> DO
<instruccin>;
<instruccin>;
END_WHILE;

SENTENCIA REPEAT

REPEAT
<instruccin>;
<instruccin>;

UNTIL <expresin booleana>
END_REPEAT;

EXIT
Sentencia Vaco

Ejemplo:








CONCLUSIONES
Las implicaciones tcnicas de la norma IEC 1131-3 son altas, dejando suficiente espacio
para el crecimiento futuro y la diferenciacin. IEC 1131-3 tendr un gran impacto en toda
la industria del control y automatizacin industrial. Hoy en da, se puede observar que ha
sido adoptado por el mercado de control de movimiento, sistemas distribuidos, sistemas
de control basados en computadoras personales con lgica por software (softlogic),
incluyendo sistemas SCADAs.

Teniendo una norma sobre tan amplia rea de aplicacin, trae numerosos beneficios para
usuarios y programadores. Solo para mencionar algunas:

Reduce el desperdicio en recursos humanos, en entrenamiento, depurado,
mantenimiento e ingeniera de consulta.
Reduce los malentendidos y errores.
Se crea un enfoque a la resolucin del problema mediante reciclaje o reutilizacin
del software de alto nivel.
Tcnicas de programacin utilizables en un ambiente amplio: control industrial en
general.
Combinacin de diferentes componentes en diferentes programas, proyectos,
localizaciones, compaas y/o pases.

BIBLIOGRAFIA

Estndar de Programacin IEC 1131-3.
Dpto. de Sistemas Electrnicos y de control. Estandarizacin de programacin de
control Industrial.
Facultad de Ingeniera Elctrica. Universidad de Oriente, Tecnologas emergentes
en automatizacin.

Vous aimerez peut-être aussi