Anda di halaman 1dari 10

Julio 2004 / n.

353 ESPECIAL Automtica e Instrumentacin

Programacin de controladores

Estndares IEC 61131-3 y IEC 61499


La estandarizacin de los lenguajes de programacin en los PLC
ha surgido de la imperiosa necesidad de mejorar las tcnicas de
programacin para los sistemas de control industrial, no slo para
acrecentar la calidad, sino tambin para incrementar la
productividad en general. Este artculo es el primero de una serie
de tres que pretende introducir al lector en las ideas bsicas de
los estndares IEC 61131-3, evidenciar que este estndar, a pesar
de sus aos, es de actualidad, y preparar el terreno para presentar
el estndar IEC 61499, una solucin viable en el diseo de
sistemas industriales de control distribuido, tendencia en el rea
de la automatizacin industrial.

l crecimiento acelerado en el de ensamblaje es el uso de estnda- guaje de programacin con una es-

E uso de controladores lgicos


programables para aplica-
ciones industriales trajo consigo una
res y soluciones abiertas que permi-
tan la interoperabilidad entre pro-
ductos de diferentes proveedores.
tructura o representacin similar a la
de los arreglos de relevadores (dia-
gramas de escalera) fue una buena
67

gran diversidad de lenguajes de pro- La adopcin del estndar IEC eleccin, ya que facilitaba el entre-
gramacin en todas sus variantes. 61131-3 es slo un pequeo pero im- namiento de los operadores. As, el
Diferentes soluciones propietarias portante eslabn en la cadena de so- primer lenguaje de programacin
proponan cada vez mejoras indivi- luciones abiertas, y puede brindar para PLC considerado de alto nivel
duales, acrecentando la diversidad. beneficios inmediatos en los siste- fue el Lenguaje Escalera (LE). An
Esta situacin resulta un tanto in- mas automticos de toda empresa. hoy se utiliza este lenguaje, basado
cmoda para las empresas, ya que tie- en los principios del lgebra boolea-
nen que invertir recursos econmi- Evolucin del controlador na.
cos cada vez que se realiza un cambio lgico programable y los Cuando se comprendi el gran po-
o actualizacin de la lnea de pro- sistemas de control tencial de los PLC como valiosa he-
duccin. industriales rramienta computacional y se dio la
El cada vez ms exigente consu- La evolucin de los lenguajes de pro- evolucin de capacidades que ahora
midor demanda mejor calidad y pro- gramacin de PLC ha recorrido un ca- tienen, aparecieron los lenguajes de
ductos ms econmicos, amen de la mino similar al de los lenguajes de alto alto nivel con funciones especiales
enorme competencia que se suscita nivel. Inicialmente se realizaban pe- complejas, que en el diagrama esca-
por apoderarse del mercado, lo que queas aplicaciones donde se utili- lera aparecen en el lugar de las sali-
requiere de las empresas una polti- zaba la programacin lineal median- das. Ms tarde, se desarrollaron los
ca de constante actualizacin de las te lenguajes literales o a contactos Lenguajes Especiales de Computa-
lneas de produccin. Para lograrlo, (diagrama de escalera). Posterior- dora, tambin de alto nivel, que son
optimizando todo tipo de recursos, es mente se ampli el campo de aplica- muy similares a los lenguajes de pro-
fundamental contar con sistemas pro- cin hacia reas no slo de control se- gramacin de computadoras como
ductivos giles, flexibles y abiertos o cuencial, sino de control del proceso, el Basic y el C, para hacer ms ami-
no propietarios. pasando a la programacin estruc- gable la programacin.
Una empresa tendr xito segn turada con mdulos funcionales o El lenguaje escalera utiliza un mar-
sea su capacidad de adaptarse rpi- procedimientos organizados desde co de programacin que obliga a cen-
damente a los nuevos tiempos. Sin un programa principal. trarse en cada salida individualmen-
duda, una de las soluciones en el rea Al inicio, la utilizacin de un len- te, en lugar de hacerlo en el flujo y
Automtica e Instrumentacin ESPECIAL Julio 2004 / n. 353

operacin del proceso o sistema que tar un sistema descentralizado res-


se controla. La programacin con un pecto a uno centralizado es sustan-
LE requiere el uso de soluciones de cial, pues la disminucin en la canti-
casos especiales, eliminando la posi- dad de cable es considerable, lo que
bilidad de una programacin limpia, se traduce en ahorro de recursos
directa y elegante. Adems, muy a asignados para mantenimiento o ac-
menudo los programas resultantes tualizaciones.
son difciles de modificar por no te- Sin embargo, en el sistema des-
ner una estructura modular. Para centralizado los elementos que lo
mejorar la programacin en estos as- componen no cuentan con la auto-
pectos, han surgido metodologas de noma necesaria para la toma de de-
programacin basadas en reglas como Sistema de control centralizado. cisiones, con lo que se tienen ciertas
la lgica difusa y la lgica de estado. caractersticas heredadas de los sis-
Para aplicaciones demandantes de lados por el PLC central, el cual ad- temas centralizados, tal como la toma
recursos avanzados de programa- ministra los tiempos en la sucesin de decisiones centralizada.
cin, en las cuales el lenguaje esca- de los eventos entre los elementos
lera no proporcionaba las herra- que componen el sistema. Debido a Sistema distribuido
mientas necesarias, los proveedores que un solo PLC est a cargo del res- Un sistema distribuido tiene la ca-
de PLC diseaban para cada solu- to de entidades, las peticiones de de- racterstica de que sus elementos
cin que se requera lenguajes ade- cisiones sobre qu hacer en los si- suelen ser altamente autnomos y
cuados a sus necesidades, lo que de- guientes pasos se acumulan retienen la mnima informacin glo-
semboc en una gran cantidad de rpidamente. Fallos en el procesador bal. Para disminuir la complejidad
lenguajes especficos de cada prove- central provocan el fallo de todo el del sistema, se debe minimizar la in-
edor de PLC. sistema y, adems, realizar modifi- formacin global y mejorar la tole-
Recientes tendencias en el rea de caciones es muy difcil. Por todo ello rancia a fallos. Pero la informacin in-
68 la automatizacin sugieren nuevas es evidente que este tipo de arqui- completa junto a una muy alta
formas de programar los dispositi- tectura es slo apropiada en sistemas autonoma puede provocar que las
vos tiles para este fin. La interope- pequeos. decisiones tomadas localmente no
rabilidad entre sistemas es una de sean las ms ptimas para el sistema.
las razones principales de estanda- Sistema descentralizado La diferencia radica, entonces, en la
rizar. Esto, junto a la necesidad de En los sistemas descentralizados apa- cooperacin de las entidades, las res-
simplificar la forma de programar y recen como figura principal los buses ponsabilidades y los efectos que de
de reutilizar cdigo generado con an- de campo: mediante un solo cable sta emanan como parte implcita de
terioridad, es lo que ha conducido al de comunicacin se pueden conec- su funcionamiento. Cada entidad tie-
nacimiento del estndar IEC 61131. tar al bus captador y accionamientos, ne definidas metas locales y globales.
El PLC, por sus especiales carac- reemplazando al cableado tradicional. Las primeras se refieren al cumpli-
tersticas de diseo, tiene un campo El autmata consulta cclicamente miento de sus propias tareas, mien-
de aplicacin muy extenso. La cons- el estado de los captadores y actua- tras que la meta global es lograr el p-
tante evolucin del hardware y soft- liza el estado de los accionamientos. timo desempeo general del sistema.
ware ampla frecuentemente este El ahorro de recursos al implemen- El sistema distribuido est forma-
campo para satisfacer las necesida-
des que se detectan en el espectro de
sus posibilidades reales, que han ido
adecundose segn los requisitos de
los sistemas de control que los de-
manden. A grandes rasgos, se pue-
den identificar principalmente tres
etapas dentro de los sistemas de con-
trol en los cuales ha estado presen-
te el PLC.

Sistema centralizado
En la arquitectura centralizada, la
mayora de los eventos son contro- Sistema de control descentralizado.
Julio 2004 / n. 353 ESPECIAL Automtica e Instrumentacin

1992. Con la idea de desarrollar el es-


tndar adecuado para una gran di-
versidad de aplicaciones, se definie-
ron cuatro lenguajes: dos textuales
(lista de instrucciones (LI), texto es-
tructurado (TE)), y dos grficos (Dia-
grama de Bloques Funcionales (DBF)
y lenguaje escalera (LE)), y se deci-
di incluir el grafico secuencial de
funciones como herramienta para
auxiliar en el desarrollo de aplica-
Sistema de control distribuido.
ciones.
Los lenguajes de programacin de
PLC estandarizados surgieron de la
do por entidades autnomas, pero ridad, gracias a que su entendimien- necesidad de mejorar las tcnicas de
las metas son interdependientes por- to resultaba intuitivo. Pero, a pesar programacin para sistemas indus-
que comparten los recursos, adems de que fue adoptado por un gran n- triales de control. Dicho estndar no
de planificar sus acciones de acuer- mero de compaas desarrolladoras, slo aumenta la calidad del softwa-
do a una perspectiva global. cada una de las implementaciones re, sino que tambin mejora la pro-
difera sustancialmente, por lo que re- ductividad del desarrollo.
Nuevos controladores lgicos almente eran diferentes. Para los in- El estndar reuni algunas prcti-
programables volucrados en sistemas industriales cas comunes de programacin para
Existe una gran diversidad de nue- de control, trabajar con estas dife- producir un muy bien definido gru-
vos controladores, muchos de los rencias resultaba ineficiente. po de lenguajes. Pero adems, el es-
cuales conservan las caractersticas El incremento de complejidad en tndar proporciona lo necesario para
de programacin antes menciona- la programacin de los autmatas el desarrollo de software bien es- 69
das, que concuerdan con el estndar programables requiere ms que nun- tructurado. Adems de ofrecer faci-
IEC 61131-3. Sin embargo, por sus ca de la estandarizacin. Bajo la di- lidades para empaquetar soluciones
tendencias innovadoras y capacida- reccin del IEC, fue definido el es- probadas en bloques de funciones, las
des distintas destacan el SNAP, de tndar IEC 61131-3 para la cuales pueden ser reutilizadas cada
Imsys, y el PTC, de Nematron. Am- programacin de PLC, que alcanz la vez que se requieran, el estndar me-
bos integran la mquina virtual de categora de estndar en agosto de jora la productividad.
Java, lo que los habilita para ejecu-
tar lneas de cdigo escritas en Java,
adems de la capacidad de conec- Elementos del estndar IEC 61131
tarse a Ethernet, lo que los convier-
te en soluciones viables para el con- Parte 1. Informacin general (IS): define la terminologa bsica y con-
trol remoto. Estos dos controladores ceptos del estndar.
soportan el protocolo de comunica- Parte 2. Requisitos de equipo y pruebas (IS): Construccin mecnica
cin TCP/IP y tienen capacidades de y elctrica y pruebas de verificacin.
memoria que oscilan entre los 2 y 4 Parte 3. Lenguajes de programacin (IS): Estructura del software, len-
Megabytes de memoria flash y 8 de guajes y ejecucin de programas en PLC.
Memoria RAM o, en el caso del PTC, Parte 4. Lneas de gua al usuario (CD): Guas para la seleccin, insta-
2 de SRAM. lacin y mantenimiento de los PLC.
Parte 5. Servicios de comunicacin (CD): Servicios de comunicacin
Surgimiento del estndar IEC para facilitar la interaccin con otros dispositivos basada en servicios de
61131-3 mensajera en sistemas de manufactura.
Diversidad de lenguajes Parte 6. Comunicaciones va buses de campo: Servicios de comunica-
Durante las dcadas de los setenta y cin utilizando IEC buses de campo.
ochenta se utilizaba una amplia di- Parte 7. Programacin de control difuso: Software, incluyendo FB es-
versidad de tcnicas de programacin tndares para manejo de lgica difusa con PLC.
para aplicaciones industriales de con- Parte 8. Pautas para la implementacin de lenguajes para controles pro-
trol. El lenguaje escalera fue una de gramables: aplicacin e implementacin de pautas para los lenguajes del
las tcnicas que gan mayor popula- IEC 61131-3.
Automtica e Instrumentacin ESPECIAL Julio 2004 / n. 353

La instrumentacin industrial y los den muy importante, ya que cambia Grafcet, proporciona una represen-
sistemas de control necesitan siste- el resultado final. Con IL slo es per- tacin en forma de diagrama de las
mas abiertos que puedan operar con mitida una operacin por lnea. secuencias del programa. Los ele-
equipos de diferentes proveedores. mentos bsicos son pasos y transi-
Hasta la publicacin del estndar IEC Diagrama de Bloques ciones. Los pasos consisten en pie-
61131-3, no exista ningn estndar Funcionales (Function Block zas de programa que son inhibidas
que definiera la forma en que los PLC Diagram-FBD) hasta que una condicin especifica-
deban ser programados en los sis- Diagramas de Bloques Funcionales es da por las transiciones es conocida.
temas de control. un lenguaje grfico usado para cons- Como las aplicaciones industriales
El objetivo de este primer artcu- truir procedimientos complejos a par- funcionan en forma de pasos, el GSF
lo de la serie de tres que se irn pu- tir de una librera de funciones. Las es la forma lgica de especificar y
blicando, es introducir brevemente libreras estndar, tales como las de programar el ms alto nivel de una
los lenguajes de programacin es- Matemtica o Control, pueden ser aplicacin para PLC.
tandarizados en IEC 61131-3, po- combinadas con libreras de funcio-
niendo ms nfasis en los lenguajes nes personalizadas, como llamada de Texto Estructurado (Structured
grficos, y algunas de las ideas fun- mdem, interface Hart, controlado- Text-ST)
damentales del estndar se comple- res PID y ModBus Maestro para cre- Utilizado para procedimientos com-
mentarn con un ejemplo. ar programas de aplicacin de Dia- plejos o clculos que no pueden ser
gramas de Bloques Funcionales. fcilmente implementados utilizando
Lenguajes de programacin Se trata de un lenguaje grfico que lenguajes grficos, el Texto Estruc-
del estndar IEC 61131-3 permite programar elementos que turado (TE) es un lenguaje de alto
La seleccin del lenguaje a utilizar aparecen como bloques para ser ca- nivel estructurado por bloques que
para un desarrollo puede estar basada bleados entre s de forma anloga al posee una sintaxis parecida al Pas-
en la naturaleza de la aplicacin, y vie- esquema de un circuito. Adems, es cal. Puede ser empleado para reali-
ne determinada por las preferencias adecuado para muchas aplicaciones zar rpidamente sentencias comple-
70 del programador. La IEC 1131-3 es que involucren el flujo de informacin jas que manejen variables con un
una norma aprobada como estndar o datos entre componentes de con- amplio rango de diferentes tipos de
internacional para los lenguajes de trol. datos, incluyendo valores analgicos
programacin de PLC. Dicha norma y digitales. Tambin especifica tipos
recoge todos los tipos de operacio- Grfico Secuencial de Funciones de datos para el manejo de horas,
nes comunes en PLC. (Secuential Function Chart-SFC) fechas y temporizaciones, algo im-
Usado para describir operaciones se- portante en procesos industriales. El
Lenguaje Escalera (Ladder cuenciales en una aplicacin, un Gra- lenguaje posee soporte para bucles
Diagram-LD) fico Secuencial de Funciones (GSF) iterantes, ejecuciones condicionales
El Lenguaje Escalera es un excelen- est compuesto por acciones a ser y funciones.
te lenguaje grfico para lgicas dis- ejecutadas y pruebas de las accio-
cretas que tiene la habilidad de incluir nes ejecutadas. Unidad organizacional de
instrucciones de funciones de blo- Provee una estructura general y programacin (Program
que dentro de una lnea. Los con- coordinacin a las secuencias del Organization Unit-POU)
tactos y bobinas del diagrama de es- programa y soporta selecciones al- Un POU es una unidad encapsulada
caleras pueden ser usados en el ternativas y secuencias paralelas. Di- que puede ser compilada indepen-
lenguaje Diagrama de Bloques Fun- cho lenguaje, tambin conocido como dientemente de otras partes del pro-
cionales para control discreto o fun-
ciones.
POU Identificador Significado
Lista de Instrucciones
Programa PROGRAM Programa principal que incluye asignacin
(Instruction List-IL)
de tareas a las I/O, variables globales.
Lenguaje de bajo nivel similar al len-
guaje ensamblador, la Lista de Ins- Bloque de FUNCTION_BLOCK Bloque con variables de entrada y
trucciones es til en pequeas apli- funciones salida. Este POU es el ms usado.
caciones que requieran rpida y
ptima ejecucin. Consta de una se- Funcin FUNCTION Bloque con valor de funcin por extensin
del grupo de operaciones del PLC.
rie de lneas de texto y cada lnea
describe una instruccin, siendo el or- Tabla 1. Clasificacin de POU
Julio 2004 / n. 353 ESPECIAL Automtica e Instrumentacin

Elementos de un POU
Un POU consta de tres elementos
principalmente:
Tipo y nombre de POU, y tipo de
dato para el caso particular de las
funciones.
Declaracin de variables.
Cuerpo del POU donde se in-
cluye el grupo de instrucciones.
Declaracin es la parte del POU
donde se realiza la declaracin de
las variables que sern usadas por
ste. El circuito lgico o el algoritmo
es programado en el cuerpo del POU,
para lo que se utiliza cualquiera de
los lenguajes del estndar. En la figura
Los tres elementos del POU.
adjunta se identifican dichos ele-
mentos. La lista que aparece en la es-
grama. Para lograr exitosamente lo tenidas de una ejecucin del bloque quina superior izquierda es como el
anterior, el compilador slo necesi- de funciones a otra. desarrollador ve los POU creados.
ta informacin acerca de las otras En el caso concreto del ejemplo, fue-
interfaces de los POU llamados por Organizacin de tareas ron creados en el software TwinCAT
el POU (prototipo). Los POU com- El estndar tambin define una nue- de Beckhoff, que permite, adems
pilados pueden agruparse para cre- va arquitectura para la organizacin de la programacin, la simulacin de
ar un programa completo. e interaccin de tareas con PLC. Una los programas desarrollados.
La independencia de los POU fa- tarea controla la ejecucin de un pro- 71
cilita la extensiva modularizacin de grama ejecutndolo peridicamente Declaracin de variables y
tareas de automatizacin y reutiliza- o en respuesta a un evento especfi- parmetros en un POU
cin de unidades de software ya im- co. Para optimizar los recursos del Las variables tienen que ser decla-
plementadas y probadas. controlador, una aplicacin puede radas al inicio de cada POU. Atribu-
Las diferencias entre los tres tipos ser fragmentada en pequeos pro- tos adicionales de las variables tales
de POU son: gramas concretos. Cada programa como asignacin de valores a direc-
Programa: Este tipo de POU est bajo el control de una tarea que ciones fsicas pueden ser asignadas
representa el programa principal. To- se ejecuta a la velocidad que requie- en la declaracin. La tabla 2 muestra
das las variables que son asignadas ra la E/S asociada. IEC 61131-3 nom- los diferentes tipos de variables que
a direcciones fsicas del PLC deben bra POU a los bloques con los cuales pueden emplear los diferentes tipos
ser declaradas aqu o en algn nivel son desarrollados programas y pro- de POU.
superior, como en la configuracin de yectos. El estndar restringe la va- Las variables declaradas como lo-
recursos. riedad y el significado de los tipos cales slo son visibles y pueden ser
Funcin: POU al cual se le pue- de bloques para unificar y simplificar procesadas en su POU. A diferencia
den asignar parmetros, pero no tie- su uso. de las variables globales, que permi-
ne variables estticas (sin memoria); ten, adems de leerse, modificarse
cuando se invoca con los mismos pa-
rmetros de entrada, siempre retie-
Tipo de variable Programa Bloque de funciones Funcin
ne el mismo resultado como el valor
de la funcin (salida). VAR S S S
Bloque de funciones: POU al VAR_INPUT S S S
cual se le pueden asignar parme- VAR_OUTPUT S S No
tros adems de variables estticas. Un VAR_IN_OUT S S No
bloque de funciones, cuando invoca VAR_EXTERNAL S S No
con el mismo parmetro de entrada, VAR_GLOBAL S No No
puede rendir valores que dependen
VAR_ACCES S No No
tambin del estado de las variables
internas o externas, las cuales son re- Tabla 2. Tipos de variables.
Automtica e Instrumentacin ESPECIAL Julio 2004 / n. 353

efectos colaterales que puede tener Mapeo de direcciones del PLC


Tipo de dato Descripcin Bits
esta accin. mediante variables
BOOL Boolean 1 No es posible realizar recursividad. Los fabricantes de PLC son los res-
BYTE Bit string 8 8 Esto quiere decir que un POU no ponsables de especificar la corres-
WORD Bit string 16 16 puede llamarse a s mismo directa o pondencia entre la representacin
DWORD Bit string 32 32 indirectamente, lo que puede ser re- directa de una variable y su localiza-
LWORD Bit string 64 64 emplazado usando, por ejemplo, ci- cin fsica o la direccin lgica en
clos de programa. memoria de cada una de las entradas
Tabla 3. Tipo de cadena de caracteres y salidas. Cuando a una representa-
en el estndar IEC 61131. Variables, tipos de datos y cin se le agregan dgitos enteros
elementos en comn adicionales separados por puntos,
por otros POU como variable exter- IEC 61131-3 define cinco grupos de puede interpretarse como una di-
na, esta variable puede ser cambia- tipos de datos elementales: cadena de reccin jerrquica fsica o lgica, don-
da por el POU que la contiene (como caracteres, entero (con y sin signo), de el elemento de menor jerarqua es
variable local), y dicho cambio es real, tiempo (hora), duracin y deri- el primero de derecha a izquierda.
efectivo para todos los POU que usan vados. La tabla 3 muestra los tipos de
esta variable. datos pertenecientes al tipo de ca- Programacin grfica
Las variables de entrada son visi- dena de caracteres y su respectiva Grafico Secuencial de
bles para el POU solicitante y pueden descripcin. Funciones (GSF)
ser modificadas slo por este mismo IEC 61131-3 estandariza diversos Generalidades
y no por el POU que las contiene. tipos de datos, algunos de ellos con Es comn encontrar aplicaciones
Una variable de salida puede ser vis- lmites de tamao y otros, como los complejas estructuradas en el Grfi-
ta por el POU que realiza el llamado, que definen los datos para el tiempo, co Secuencial de Funciones como
pero solamente puede ser leda para dependientes de la implementacin. medio para controlar la ejecucin de
realizar modificaciones por el POU Adems de los tipos de datos ele- los otros POU. GSF permite la des-
72 que la contiene. mentales, el estndar define otros cripcin secuencial de los aspectos
Las variables de entrada y salida conocidos como genricos, que pue- de control y puede ser utilizado a
agrupan las caractersticas de las va- den ser declarados utilizando el pre- alto nivel para mostrar las fases prin-
riables de salida y de las de entrada, fijo ANY adems del tipo de dato cipales del proceso; sin embargo,
lo que quiere decir que pueden ser elemental. La caracterstica de es- puede usarse en otros niveles, como
ledas y modificadas dentro o fuera tos ltimos es que un elemento de- proceso o accin anidada.
de su POU. clarado como genrico puede con- GSF es especialmente til en par-
Por ltimo, las variables de acce- tener subelementos. ticionar problemas de control en los
so son las encargadas de contener la Complementando lo anterior, el es- cuales slo necesitan ser considera-
configuracin como un canal de co- tndar define variables multiele- dos y ejecutados aspectos relevantes
municacin entre los componentes mento, mejor conocidos como arre- de fases especficas.
(recursos). glos y estructuras.
Estructura de un Grfico
Principales caractersticas de Secuencial de Funciones
un POU Prefijo Significado Un GSF es representado como una
Las caractersticas principales de los secuencia de pasos dibujados como
POU pueden resumirse de la si- I Localidad de Entrada rectngulos conectados por lneas
guiente forma: Q Localidad de Salida verticales. Cada rectngulo repre-
Programas que pueden llamar a M Localidad de memoria senta un paso particular del sistema
funciones o a bloques de funciones. X Bit a ser controlado. Cada conexin en-
Una funcin puede llamar a otra None Bit tre dos pasos tiene una barra hori-
funcin, pero no a un bloque de fun- B Byte (8 bits) zontal que representa una transicin,
ciones. W Word (16 bits) la cual es asociada con una condicin.
Un bloque de funciones puede D Double word (32 bits)
Dicha condicin regula el flujo de
llamar a otro bloque de funciones o ejecucin, esto es, cuando la condi-
L Long Word (64 bits)
a otra funcin. cin es verdadera deshabilita el paso
Intentar realizar un llamado de un anterior a ella y habilita el siguiente.
Tabla 4. Ubicacin y tamao de las ca-
bloque de funciones por una funcin ractersticas de la representacin directa
Cada paso puede ser asociado con
no es recomendado, debido a los de variables. una o ms acciones y una transicin
Julio 2004 / n. 353 ESPECIAL Automtica e Instrumentacin

Conceptos y abreviaciones
IEC Comisin Electrotcnica I/O Input/Output
Internacional FB Function Block
PLC Controlador Lgico FBD Function Block Diagram
Programable LD Ladder Diagram graphical
POU Program Organization Unit language
GUI Graphic user interface SFC Sequential Function Chart
MFC Microsoft foundation classes PC Personal computer
COMComponent object model ST Structured Text language

puede ser descrita utilizando cual-


quiera de los siguientes lenguajes:
Texto Estructurado, Diagrama de
Bloques de Funcionales, Lenguaje
Escalera o incluso en un diagrama
que involucre a los tres.
En una secuencia pueden ser uti-
lizados pasos alternativos, constru-
yendo una divergencia donde una o Parte del diagrama escalera de la fun- Grfico Secuencial de Funciones del
ms transiciones pueden ser asocia- cin INICIAR del ejemplo. ejemplo.
das. Una secuencia divergente pue-
de abordar a otra secuencia utili- Componentes de los Diagramas para transiciones positivas o negati-
zando un camino convergente. Escalera vas.
En el estndar IEC, los smbolos han
Pasos sido racionalizados (se ha reducido Diagrama de Bloques de 73
Para cada uno de los pasos debe pro- su nmero). La figura superior mues- Funcionales (DBF)
porcionarse un nombre nico; esto tra parte de los elementos ms co- Los Bloques Funcionales (BF) son
quiere decir, adems, que el paso no munes; sin embargo, stos no son bloques estndar que ejecutan algo-
podr repetirse en el mismo diagra- los nicos, pues se pueden encontrar ritmos como reguladores PID. El es-
ma. Existen dos tipos de pasos: ini- algunos ms especializados. Para el tndar IEC asegura que los BF sean
cial y normal. La diferencia radica caso que aparece en la figura, es po- definidos empleando una metodolo-
en que al segundo, adems de re- sible apreciar cuatro contactos, el ga estndar. Dicha metodologa pre-
presentarse con un rectngulo, se le primero de ellos normalmente abier- tende asegurar que coincidan con-
agregan barras verticales. to y los dems normalmente cerra- diciones tales como la posicin de
Las acciones que un paso puede re- dos. Como se ha mencionado, este los parmetros de entrada y salida,
alizar vienen descritas por cualquie- tipo de diagramas est basado en la la asignacin de valores a parmetros
ra de los lenguajes del estndar. lgica booleana. As, pues, los cuatro de entrada, declaracin de BF tex-
contactos forman parte de la condi- tualmente, etctera. Existen con-
Lenguaje Escalera (LE) cin a evaluar previa a la asignacin troles empleando parmetros exter-
LE tiene sus races en la lgica boo- de valor a las bobinas, las cuales son nos, mientras que los algoritmos
leana o procesamiento de valores las salidas de la red. De las cuatro bo- internos permanecen ocultos.
anlogos. El diagrama de contactos binas de la red, las primeras tres es- Adicionalmente, el usuario tiene
es un lenguaje que utiliza un juego es- tarn en reset una vez que se cum- la capacidad de crear libreras es-
tandarizado de smbolos de progra- pla la condicin definida por los tndar, escritas en C o en lenguajes
macin. contactos. La bobina restante asigna IEC 61131-3, que pueden ser llama-
Algunos lenguajes son mejores para a M4 set en condiciones verdaderas. das desde la aplicacin. El progra-
algunas aplicaciones que para otras. Los valores (1=verdad, 0=falso) ne- mador puede utilizar tantos lengua-
El LE, particularmente, debido a su cesarios para que se cumpla la con- jes IEC como desee en el desarrollo
significado implcito, resulta apro- dicin es que EXT=1, B1=0, B2=0 del programa. Esta modularidad y
piado para aplicaciones en las que y B5=0. capacidad de re-utilizacin del cdi-
pueda existir la intervencin de ope- Es posible el uso de contactos para go de aplicacin, combinada con in-
rarios. detectar transiciones positivas o ne- terfaces fciles de usar, funciones de
gativas, bobinas con memoria y otras bsqueda poderosas, depuracin en
Automtica e Instrumentacin ESPECIAL Julio 2004 / n. 353

Ejemplo de programacin: elevador


a programacin de un PLC se inicia con la ejecucin de un Grfico
L Secuencial de Funciones del proceso a controlar y, basndonos en
ste, se realiza el Diagrama de Escalera y los Bloques de Funciones, que
permiten una representacin grfica de control.
El dispositivo en el cual est basado el ejemplo (elevador), como se
aprecia en la figura, cuenta con tres transportadores. Dos de ellos (los
del lado izquierdo) permanecen fijos en su eje vertical y slo estn ha-
bilitados para suministrar movimiento de la banda transportadora en su
eje horizontal. El tercer transportador es un transportador adicional, que
tiene movimiento de la banda en su eje vertical para descargar el palet
en el siguiente nivel superior (suponiendo como origen la parte inferior). Elevador y POU del ejemplo.
Cada transportador cuenta con un motor y un detector de presencia.
La tabla 5 muestra una breve descripcin de cada uno de los elementos que componen el dispositivo.

POU del ejemplo


Se dividieron de acuerdo al proceso por el que pasa un palet desde el momento que se recibe la seal EXT, avi-
sando de la llegada del palet al primer transportador, hasta que es entregado por el tercer y ultimo transportador.
Como se muestra en la figura, fueron declarados seis POU. A continuacin se ofrece una breve descripcin de cada
uno de ellos.
BajaTran2: Se utiliza para decidir cundo es el momento en que el transportador 2 debe regresar a su posicin
vertical inicial.
CargarTran2: Si el detector de presencia del transportador dos entrega FALSO, se activa el motor de este mis-
mo.
74
DescargarTran2: Cuando el transporta-
Elementos Nombre Descripcin
dor 2 termina de subir, monitorea el esta-
do de su detector y el del detector de fin M1, M2, M3 Motor Proporcionan movimiento
de carrera superior B4; si ambas condi- horizontal a los transportadores
ciones son verdaderas, apaga el motor M4
B1,B2, B3, Switch Detectores de presencia
que proporciona el movimiento vertical y
enciende M2 y M3, para traspasar el palet M4 Motor Proporcionan movimiento vertical
del segundo transportador al tercero. Des- al transportador
cargarTran2 est declarado como un Blo-
B4, B5 Switch Detectores de fin de carrera
que Funcional, del cual se crea una ins-
tancia llamada DST2.
Tabla 5. Descripcin de los componentes del elevador.

lnea, gerencia de proyecto y gene-


racin de documentacin, reducen el
tiempo de diseo, de desarrollo, de
pruebas, de arranque y de manteni-
miento.

Construccin de Bloques de
Funciones
IEC 61131-3 cuenta con una diver-
sidad de bloques prediseados que el
programador puede utilizar de las li-
breras de la plataforma de progra-
macin que est empleando. Sin em-
bargo, esto es slo una parte de las
Declaracin de variables en BF.
Julio 2004 / n. 353 ESPECIAL Automtica e Instrumentacin

INICIAR: Est declarado como un bloque


funcional, que ms tarde es llamado por una ins-
tancia de ste llamada INICIO como parte de la
accin a realizar por el paso INIT.
MAIN: Es el POU que contiene el Grafico Se-
cuencial de Funciones y el cual se ha estado des-
glosando en esta seccin.
SubirTran2: Es declarado como Bloque Fun-
cional, del cual despus es creada una instan-
cia (SubirAct) que es llamada desde la accin
a realizar contenida en el paso Sube.

Grfico Secuencial de Funciones


El grfico secuencial de funciones del ejemplo
est formado por cinco pasos, cada uno de los
cuales cuenta con un llamado a alguna funcin.
Dicho llamado es conocido en el estndar como
a) Grafico Secuencial de Funciones del programa, b) Llamado a la funcin la accin a realizar por el paso.
INICIO desde el primer paso del GSF, c) Bloque de Funciones INICIO como
instancia de BF INICIAR.
En este caso, el llamado a la funcin cuenta
con el nombre de la instancia (INICIO) y los va-
lores de los parmetros. Para el caso especfi-
co del ejemplo, las variables no estn asociadas a direcciones fsicas, si no que para propsitos de simulacin tie-
nen un valor predefinido, el cual es asignado en cada uno de los pasos del diagrama secuencial de funciones.
Este estado inicial cuenta con dos redes y ambas cuentan con cuatro contactos monitoreando las mismas va-
riables bajo la operacin booleana and, slo que con condiciones distintas. La primera red cumplir cuando se 75
den las condiciones (de izquierda a derecha) VERDADERO, FALSO, FALSO, FALSO. Cumplida esta condicin,
M1, M2 y M3 pasarn a estado de reset y M4 al de set (hasta que en otra parte del programa se cambie esta con-
dicin).
La explicacin de las redes es simple. La variable EXT es la referencia de que un objeto est prximo al primer
transportador y las dems variables de los contactos estn definidas como los detectores de presencia. La prime-
ra red se activa cuando se reciba seal verdadera en EXT y falsa en los detectores.
Dentro del rectngulo que representa cada paso se puede observar otro pequeo cuadrado con la letra E, que
indica que el paso ejecutar una accin de entrada. Adems de la accin de entrada, se puede tener accin a eje-
cutar mientras se encuentre en el paso, y accin de salida. Cada una de estas acciones puede ser programada en
cualquiera de los lenguajes del IEC 61131-3.

facilidades que el estndar ofrece. Declaracin de variables bles globales en BF sin necesidad de
La opcin que el programador tiene Como ya se ha mencionado, exis- ser declaradas dentro.
de encapsular soluciones probadas en ten variables de entrada, salida, in-
forma de BF le permite un ahorro ternas y globales. Cada una de ellas Combinacin de elementos
sustancial en tiempo de desarrollo y puede almacenar tipos especficos Los elementos del lenguaje BF pue-
posibilita el crecimiento del ciclo de de datos segn sean declaradas. den interconectarse con lneas que
vida del software. Para el caso concreto de la funcin representan el flujo de la seal si-
Para el desarrollo de nuevos blo- DescargaTran2 mostrado en la fi- guiendo ciertas convenciones. Una de
ques de funciones es posible elegir gura de la pgina anterior, dentro del ellas se refiere a la prioridad en la eva-
el lenguaje de programacin dentro espacio de la declaracin de varia- luacin, que se efecta de izquierda
de los cinco estandarizados, lo que bles se pueden apreciar delimita- a derecha. La ilustracin superior iz-
facilita hasta cierto punto el traba- dores tales como VAR_INPUT y quierda de la siguiente pgina mues-
jo, ya que el programador decide de END_VAR, entre ellos la declara- tra dos bloques de funciones inter-
acuerdo a la aplicacin que desa- cin de B4 y B2, ambos como tipo conectadas. El primer bloque ejecuta
rrollar. booleanas. Es posible utilizar varia- la funcin OR; si cualquiera de las dos
Automtica e Instrumentacin ESPECIAL Julio 2004 / n. 353

Conexin entre Bloques Funcionales. Muestra el contenido de una instancia de DescargaTran2.

variables cumple con la condicin, Conclusiones tes partes del programa en tiempos
entonces se habilita el segundo blo- En este primer artculo se han pre- diferentes o en paralelo.
que, el cual, dependiendo del valor sentado las principales caractersti- Soporte total para describir se-
de B2, permite o no la asignacin de cas del estndar IEC 61131 y los ele- cuencias complejas, describindolas
valores a las salidas. mentos que lo componen, adems y dividindolas en forma de pasos
de un ejemplo sencillo para ilustrar utilizando Cartas de Funciones Se-
Instancias de Bloques de forma general los lenguajes grfi- cuenciales (Secuential Function
Funcionales cos del estndar. Las siguientes ca- Chart SFC).
A groso modo, una instancia de un BF ractersticas hacen del estndar una El estndar permite definir es-
76 es una copia independiente de la fun- buena opcin: tructuras de datos para que ele-
cin original, la cual permanece inal- Permite la programacin bien mentos que estn asociados puedan
terada durante la ejecucin del pro- estructurada, apoyado por la facilidad pasar entre diferentes partes de un
grama, no as la instancia. Se pueden de dividir el programa en elementos programa como si fueran una sola
crear tantas instancias como se re- funcionales llamados POU. Un POU entidad. Tambin es posible pasar
quieran, ya sea de BF predefinidas o puede incluir funciones, bloques de informacin compleja como una sim-
construidas por el desarrollador. Para funciones y programas. ple variable entre diferentes POU.
el caso concreto del ejemplo, se cre Los lenguajes del estndar re- Lo anterior mejora la legibilidad y
un BF llamado DescargaTran2, de la ducen los errores cuando un pro- asegura que los datos asociados siem-
cual se muestra el contenido (desa- gramador intenta utilizar tipos de pre sean accezados correctamente.
rrollado con LE), DST2 es una ins- datos o variables errneos. Diferentes partes del programa
tancia de DescargaTran2. Facilidad para ejecutar diferen- pueden ser expresadas en cualquie-
ra de los lenguajes, permitiendo que
el diseador elija la opcin ms ade-
Referencias cuada para cada parte del programa.
Debido a que IEC 61131-3 pro-
1. IEC SC65B/WG7/TF3, IEC 61131-3, International Standard.
vee lenguajes estandarizados y m-
2. R. W. Lewis. Programming Industrial control system using IEC
todos para la ejecucin de los pro-
61131-3, IEE Control Engineering. The Institution of Electrical Engi-
gramas, una amplia variedad de
neers, 1998. ISBN 0-852-96950-3
problemas tecnolgicos pueden ser
3. IEC SC65B/WG7/TF3, IEC 61131-3, International Standard.
programados por un vendedor de
4. J. Karl-Heinz, M. Tiegelkamp. IEC 61131-3: Programming Indus-
software independiente.
trial Automation Systems, concepts and programming languages, re-
quirements for programming systems, aids to decision-making tools.
Jos Luis Martnez Lastra
Ed. Springer, New York. ISBN 3-540-67752-6.
Tampere Univ. of Technology
www.holobloc.com
www.beckhoff.com
Omar J. Lpez Orozco
www.nematron.com
Tecnolgico de Monterrey,
www.imsys.se
Toluca, Mxico

Anda mungkin juga menyukai