Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Capitulo 1
El PLC en la
Tecnologa de la Automatizacin
1.1 Introduccin
1.2 Areas de
aplicacin de un PLC
Figura B 1.1
Ejemplo
de
una
aplicacin de PLC
Los PLCs que existen actualmente en el mercado han sido adaptados a los
requerimientos de los clientes hasta tal punto que ya es posible adquirir un PLC
exactamente adaptado para casi cada aplicacin. As, hay disponibles actualmente
desde PLCs en miniatura con unas decenas de entradas/salidas hasta grandes
PLCs con miles de entradas/salidas.
Muchos PLCs pueden ampliarse por medio de mdulos adicionales de
entradas/salidas, mdulos analgicos y de comunicacin. Hay PLCs disponibles
para sistemas de seguridad, barcos o tareas de minera. Otros PLCs son capaces
de procesar varios programas al mismo tiempo (multitarea). Finalmente, los PLCs
pueden conectarse con otros componentes de automatizacin, creando as reas
considerablemente amplias de aplicacin.
Figura B 1.2
Ejemplo de un PLC
Modicom A120
AEG
Figura B 1.3
Sistema de componentes de
un PLC
Figura B1.4
PlC Compacto
(Mitsubishi FX0)
Modular PLC
(Siemens S-3000)
PLC Modular
(Festo FPC 405)
El diseo del hardware de un control lgico programable est hecho de forma que
pueda soportar los entornos tpicos industriales en cuanto los niveles de las
seales, calor, humedad, fluctuaciones en la alimentacin de corriente e impactos
mecnicos.
1.4 El nuevo estndar
para PLC, 1
IEC131
Los siguientes captulos tratarn con detalle sobre este estndar. Por el momento,
ser suficiente la siguiente informacin:
El nuevo estndar tiene en cuenta la mayora de los aspectos posibles en relacin
con el diseo, aplicacin y utilizacin de sistemas PLC.
Las amplias especficaciones sirven para definir sistemas de PLC abiertos y
estandarizados.
Los fabricantes deben ajustarse a las especificaciones de este estndar, tanto en
el aspecto puramente tcnico de los requerimientos de un PLC como en lo que se
refiere a la programacin de tales controles.
Todas las variaciones de vencer completamente documentadas para el usuario.
Tras unas reticencias iniciales, ser formado un grupo relativamente grande de
personas interesadas (PLCopen) para apoyar este estndar. La mayora de los
principales proveedores de PLC son miembros de la asociacin, es decir, Allen
Bradley, Klcker-Moeller, Philips, para mencionar algunos. Otros fabricantes de
PLC como Siemens o Mitsubishi tambin ofrecen controles y sistemas de
programacin conformes con IEC1131.
Los sistemas de programacin iniciales ya estn disponibles en el mercado y otros
estn siendo desarrollados. Sin embargo, la norma tiene una buena oportunidad de
aceptacin y de xito. Esperamos que este libro de texto contribuir, en cierto
modo, al desarrollo de este estndar.
Captulo 2
Fundamentos
2.1 El sistema de
Numeracin
Decimal
Fue Leibnitz quien aplic por primera vez las estructuras del sistema de
numeracin decimal al clculo con dos dgitos. All por el ao 1679, esto cre las
premisas esenciales para el desarrollo de los actuales ordenadores, ya que la
tensin elctrica o la corriente elctrica slo permite un clculo utilizando dos
valores: es decir "circula corriente" o "no circula corriente". Estos dos valores se
representan en forma de dgitos "1" y "0".
Ejemplo
El principio es exactamente el mismo que el del mtodo utilizado para crear un
nmero decimal. Sin embargo, slo se dispone de dos dgitos, razn por la cual la
posicin significativa no se calcula con la base 10x, sino con la base 2x. As, el
nmero menos significativo en el extremo derecho es 20= 1, y para la siguiente
posicin 21 = 2, etc.
Dado el uso exclusivo de dos dgitos, este sistema de
numeracin se conoce como sistema binario o sistema dual.
Con ocho posiciones, pueden representarse un mximo de:
8
2 - 1 = 256 - 1 = 255
valores que alcanzaran hasta el nmero 1111 11112
Cada una de las posiciones de un sistema de numeracin binario puede adoptar
uno de los dos dgitos 0 o 1. La menor unidad posible del sistema binario es de 1
bit.
En el ejemplo citado arriba, se configurado un nmero consistente en 8 bits, es
decir, un byte (en un ordenador que utilice 8 seales elctricas representando
"tensin disponible" o "tensin no disponible"). El nmero considerado, 1011
00012 , corresponde al valor decimal 17710.
Ejemplo
Tabla B2.1
Representacin
Decimal de un
Numero en cdigo BCD
Para las personas acostumbradas a tratar con el sistema decimal, los nmero
binarios son difciles de leer. Por esta razn, se introdujo una representacin
numrica de ms fcil lectura, es decir, una notacin decimal codificada de un
nmero binario: el denominado BCD (binary coded decimal). Con este cdigo BCD,
cada dgito del sistema de numeracin decimal representa a su correspondiente
nmero binario.
2.3 El sistema de
numeracin
hexadecimal
Por lo tanto el nmero 87BC16 dado como ejemplo se lee como sigue:
8 x 163 + 7 x 162 + 11 x 161 + 12 x 160 = 34 748 10
Hasta ahora hemos tratado solamente con nmeros enteros y positivos, sin tener 2.5 Nmeros binarios en
cuenta los nmeros negativos. Para poder trabajar con estos nmeros, se decidi
con signo
que el bit ms significativo en el extremo izquierdo de un nmero binario se
utilizara para representar el signo: as "0" corresponde al "+" y "1" al "-".
As, 1111 11112 = -12710 y 0111 11112 = +12810
Cuando se utiliza el bit ms significativo para el signo, se dispone de un bit menos
para la representacin de un nmero con signo. Para la representacin de un
nmero binario de 16 dgitos, se obtiene el siguiente margen de valores:
Tabla B2.2
Rango de valores
Para nmeros binarios
Aunque ahora ya es posible representar con 0 y 1 nmeros enteros positivos con 2.6 Nmeros reales
signo, an hay la necesidad de poder representar los decimales o nmeros reales.
Para representar un nmero real en notacin binaria de ordenador, el nmero se
descompone en dos grupos, una potencia de 10 y un factor de multiplicacin. Esto
se conoce tambin como notacin cientfica de nmeros.
El nmero 27,334 se convierte as en 273 341 x10-4. Por lo tanto se necesitan dos
nmeros enteros con signo para representar un nmero real en un ordenador.
2.7 Generacin de
seales digitales
y binarias
Figura B2.1
Seal binaria
Estos valores se les llama "0" o "1", aunque tambin se utilizan los trminos "bajo"
y "alto". Las seales pueden realizarse muy fcilmente con componentes de
contactos. Un contacto activado corresponde a una seal de lgica 1 y uno sin
activar a una de lgica 0. Cuando se trabaja con elementos sin contacto, esto
puede forzar unos ciertos mrgenes de tolerancia. Por esta razn, hay que definir
ciertos mrgenes de tensin para definirlos como lgica 0 lgica 1.
Fig. B2.2
Mrgenes de tensin
Figura B2.3
Conversin de una
Seal anloga a digital
Las seales digitales pueden formarse a partir de seales analgicas. Este mtodo
se utiliza, por ejemplo, para el procesamiento analgico a travs de un PLC.
Consecuentemente, una seal de entrada analgica en el margen de 0 a 10V se
reduce a una serie de etapas de valores. Dependiendo de la calidad del PLC y de
la resolucin, la seal digital ser capaz de operar en etapas de valores de 0,1V,
0,01V 0,001V.
Naturalmente, en este caso se seleccionara el margen ms
pequeo para poder reproducir la seal analgica con la mayor precisin posible.
Ejemplo
Captulo 3
Operadores Booleanos
Figura B3.1
esquema del circuito
Tabla de la verdad
abiertos se conectan en paralelo, el piloto luce siempre que por lo menos uno de
los pulsadores se halle fsicamente accionado.
Tabla de la verdad
En la seccin B3.1 se ha descrito la realizacin elctrica de las operaciones NOT/AND-/OR. Naturalmente, cada una de estas funciones pueden tambin realizarse
con componentes neumticos y electrnicos. El lgebra de Boole reconoce
tambin las siguientes operaciones lgicas. La siguiente tabla proporciona un
resumen de ellas.
3.3 Establecimiento de
funciones de
conmutacin
Las piezas con la siguiente distribucin de agujeros son para el tipo de cocina
'Estndar'. Estas piezas deben extraerse de la cinta transportadora por medio del
cilindro de doble efecto 1.0.
Tabla de verdad
Para obtener la ecuacin lgica a partir de esta tabla existen dos opciones, que
conducen a dos expresiones diferentes.
Naturalmente ambas expresiones
producen el mismo resultado, ya que se describen las mismas circunstancias.
Forma estndar disyuntiva
En la forma estndar disyuntiva, se agrupan todas las conjunciones (operaciones
AND) de las variables de entrada que producen la seal de salida 1, en una
operacin disyuntiva (operacin OR). El estado 0 de la seal de entrada se toma
como valor negado, y el estado 1 de la seal de entrada, como no-negada
(directa).
Por lo tanto, en el caso del ejemplo dado, la operacin lgica es la siguiente:
3.4 Simplificacin
de funciones
lgicas
Ambas ecuaciones para el ejemplo dado son bastante amplias, si bien ms larga
an es la que se ha dado como forma estndar conjuntiva. Esto define el criterio
para utilizar la forma estndar disyuntiva o conjuntiva: la decisin se hace a favor
de la forma ms corta de la ecuacin. En este caso la forma estndar disyuntiva.
Esta expresin puede simplificarse con la ayuda de las propiedades del lgebra de
Boole, de las cuales las ms importantes se muestran a continuacin:
Propiedad conmutativa
Propiedad asociativa
Propiedad distributiva
Ley de De Morgan
Diagrama de Karnaugh-Veitch
En el caso de los diagramas de Karnaugh-Veitch (KV) la tabla de verdad se
transforma en una tabla de valores.
Captulo 4
4.2 Estructura de
un
un PLC.
El hardware a las partes fsicas del dispositivo, es decir, los circuitos impresos, los
circuitos integrados, el cableado, la batera, el chass, etc.
El firmware lo constituyen aquellos programas (software) que se hayan
permanentemente instalados en el hardware del ordenador y que son
suministrados por el fabricante del PLC. Esto incluye las rutinas fundamentales del
sistema, utilizadas para poner en marcha el procesador al aplicar la tensin.
Adicionalmente, existe el sistema operativo que, en el caso de los controles lgicos
programables, generalmente se halla almacenado en una memoria ROM de slo
lectura o en una EPROM.
Finalmente, existe el software, que es el programa escrito por el usuario del PLC.
Los programas de usuario se instalan generalmente en la memoria RAM, una
memoria de acceso aleatorio, en donde pueden ser fcilmente modificados.
4.3 Memoria de
programas de
aplicacin
RAM
La memoria RAM (random access memory/memoria de acceso aleatorio) es una
memoria muy rpida y econmica. Dado que la memoria principal de los
ordenadores (y tambin de los PLCs) consiste en memorias RAM, se producen en
grandes cantidades, lo que le permite disponer de tales memorias a costes
relativamente bajos.
Las RAMs son memorias de lectura/escritura y pueden programarse y modificarse
fcilmente.
La desventaja de una RAM es que es voltil, es decir,el programa almacenado en
la RAM se pierde en el caso de un fallo de tensin. Esta es la razn por la cual las
RAMs deben estar respaldadas por una batera, acumulador o pila. Dado que la
vida util y la capacidad de las modernas pilas les permiten durar varios aos, el
respaldo de una RAM por pila es relativamente simple. A pesar de que se utilizan
pilas o baterias de altas prestaciones, es esencial sustituirlas en las fechas
indicadas por el fabricante del PLC.
EPROM
La EPROM (erasable programmable read-only memory / memria de slo lectura,
programable y borrable) tambin es una memoria rpida y de bajo coste y, en
comparacin con la RAM tiene la ventaja aadida de que no es voltil, es decir, es
remanente. Por ello, el contenido de la memoria permanece inalterable incluso
ante un fallo de tensin.
Los mdulos de salida llevan las seales de la unidad central a los elementos
finales de control, que son activados segn la tarea. Principalmente, la funcin de
una salida -vista desde la aplicacin del PLC incluye lo siguiente:
Ajuste de la tensin desde la tensin lgica a la de control
Proteccin de la electrnica sensible de tensiones espreas hacia el control
Amplificacin de potencia suficiente para el accionamiento de elementos finales
de control
Proteccin de cortocircuito y sobrecarga de los mdulos de salida
En el caso de mdulos de salida, hay disponibles dos mtodos fundamentalmente
diferentes para conseguir lo indicado: El uso de rels o de electrnica de potencia.
Si se utilizan rels para las salidas, entonces el rel puede asumir prcticamente
todas las funciones de un mdulo de salida: El contacto del rel y la bobina del rel
estn elctricamente aislados uno de otra; el rel representa un excelente
amplificador de potencia y est especialmente protegido de sobrecargas, con lo
que solamente debe preverse una proteccin ante cortocircuito con un fusible. Sin
embargo, en la prctica se conectan optoacopladores en serie con el rel, ya que
ello facilita el accionamiento del rel y pueden utilizarse rels ms sencillos.
Las salidas por rel, tienen la ventaja de que pueden utilizarse para diferentes
tensiones de salida. En contraste, las salidas electrnicas tienen velocidades de
conmutacin considerablemente ms elevadas y una vida til ms larga que la de
los rels. En muchos casos, la potencia de rels muy pequeos utilizados en los
PLCs, corresponde a la de las etapas de potencia de las salidas electrnicas.
En Alemania, por ejemplo, las salidas tambin se conectan a conmutacin positiva,
segn VDI 2880, es decir, la salida representa una fuente de potencia y suministra
la tensin de funcionamiento para el dispositivo consumidor.
En el caso de un cortocircuito de la lnea de seal de salida a tierra, la salida se
cortocircuita si se utilizan medidas normales de puesta a tierra de proteccin. La
electrnica conmuta a proteccin de cortocircuito o se funde el fusible, es decir, el
dispositivo consumidor no puede drenar corriente por lo que se desconecta y
queda en estado seguro. (De acuerdo con DIN 0113, el estado de seguridad debe
ser siempre el estado sin energa.)
Programacin
Verificacin
Puesta punto
Localizacin de averas
Documentacin del programa
Almacenamiento del programa
Documentacin
Creacin de una descripcin del sistema PLO y el programa del usuario. Esto
consiste en:
- Descripcin de la configuracin del hardware
- Impresin del programa de usuario con los correspondientes datos e
identificadores para las seales y comentarios
- Lista de referencias cruzadas para todos los datos procesados tales como
entradas, salidas, temporizadores, etc.
- Descripcin de las modificaciones
Archivado del programa de usuario
Proteccin del programa de usuario en memorias no voltiles tales como
EPROM, etc.
Captulo 5
Programacin de un PLC
bien
Fig. B5.1:
Modelo de fases para la generacin de software de PLC
Documentacin
Un componente importante y crucial de un sistema es la documentacin, ya que es
un requerimiento esencial para el mantenimiento y ampliacin de un sistema. ~
documentacin, incluyendo los programas de control, deberla estar disponible tanto
en papel como en un soporte de almacenamiento de datos. La documentacin
consiste en la informacin sobre las fases individuales, listados del programa de
control y de cualquier informacin adicional posible concerniente al programa de
control. Individualmente estos son:
5.2
Figura B5.2:
EC 1131-3
Recursos de
estructuracin
IEC 1131-3
5.3 Lenguajes de
5.4 programacin
Captulo 6
Elementos
comunes
de
lenguajes de programacin
los
6.1 Recursos de
un PLC
Segn IEC 1131-3, s6lo las entradas, las salidas y los elementos de memoria
pueden ser direccionados directamente por un programa de control. En este caso,
el direccionamiento directo significa que en el programa, una entrada, salida o
elemento de memoria del control est afectado inmediatamente y no
indirectamente a travs de una variable simblica definida. Naturalmente, IEC
1131-3 reconoce muchos otros recursos, p. ej. temporizadores y contadores. Sin
embargo, estos estn integrados en funciones y bloques de funcin para asegurar
el ms alto grado posible de portabilidad del programa de control entre los
diferentes sistemas.
Entradas, salidas y la memoria
Los constituyentes ms importantes de un control incluyen las entra
das, salidas y la memoria. Slo a travs de estas entradas puede un control recibir
informacin de los procesos conectados. De forma similar, solo puede influir en
ellos a travs de sus salidas o almacenar informacin para la subsecuente
continuacin del proceso.
Las denominaciones para los recursos entradas, salidas y elementos de memoria,
estn definidos por IEC 1131-3 y son obligatorios..
Los tamaos de 1 bit, tal como describe el tipo de datos BOOL (booleana)
solamente pueden asumir los valores O 1. Consecuentemente, el margen de
valores para un dato del tipo BOOL consiste en dos valores "0" y "1".
A diferencia de esto, hay que destacar que en el caso de los tipos de datos de
secuencia de bits, que consisten en ms de un bit, no hay un rango de valores
relacionado inmediatamente. Todos los tipos de datos de secuencias de bits, tales
como p. ej. BYTE y WORD son meramen
te una combinacin de varios bits. Cada uno de estos bits tiene el valor O 1, pero
su combinacin no tiene su propio valor.
Los mtodos de designacin obligatorios para entradas, salidas y flags de
diferentes longitudes de bits estn representados en la fig. B6.3.
Un bit individual de una entrada, salida o flag tambin puede ser direccionado sin la
abreviacin adicional X para el tipo de dato.
Como sea que los controles siempre tienen un nmero relativamente grande de
entradas, salidas y flags disponibles, estos deben ser especialmente identificados a
efectos de diferenciacin. Para ello se utiliza la numeracin indicada por IEC 11313, como en el siguiente ejemplo:
Ejemplo
IEC 1131-3 no especifica el margen de nmeros que se permite para esta
numeracin ni si deben empezar por 0 por 1. Esto lo especifica el fabricante del
control.
Tambin deben utilizarse una cantidad jerrquica de entradas, salidas y flags, si el
control utilizado ha sido adecuadamente configurado.
Se utiliza un punto para separar los niveles individuales de la jerarqua. El nmero
de niveles de jerarqua no ha sido definido.
En el caso de numeracin jerrquica, la posicin ms alta en el nmero de la
izquierda debe ser codificado, los nmeros que siguen a la derecha representan
consecutivamente las posiciones ms bajas.
Ejemplo I3.8.5
La entrada especificada 13.8.5 puede por lo tanto representar:
6.2Variables y
tipos de datos
Direccionamiento simblico
Un identificador simblico siempre consiste en una letra mayscula o minscula,
dgitos y un guin de subrayado. Un identificador debe empezar siempre con una
letra o un guin de subrayado. El guin de subrayado puede utilizarse para hacer
ms leble un identificador. Sin embargo, es un carcter significativo. Por ello, los
dos identificadores Marcha_motor y Marchamotor son diferentes. No se permiten
varios guiones de subrayado. Si el control permite letras maysculas y minsculas,
su utilizacin indistinta no debe tener significacin alguna. Los dos identificadores
MARCHAMOTOR y Marchamotor se interpretan idnticamente y designan el
mismo objeto.
Adems, los identificadores simblicos no deben ser idnticos que las palabras
clave. Como regla, las palabras clave son palabras reservadas para tareas
especficas.
Representacin de datos
En un programa de control, debe ser posible especificar valores de tiempo, de
recuento, etc.
Consecuentemente, IEC 1131-3 ha
representacin de los datos a especificar
Valores de recuento
Valores de tiempo
Cadenas
establecido
las
definiciones
para
la
Ejemplo
Tipos de datos
IEC 1131-3 define un gran nmero de tipos de datos para diferentes tareas. Uno de
estos tipos de datos, BOOL, ya ha sido mencionado. Una variable del tipo BOOL
asume el valor 0 bien el valor 1.
Otros dos importantes tipos de datos, denominados INT e UINT definen nmeros
enteros. Las variables del tipo de datos INT (integer/entero) permiten valores
numricos de -32 768 hasta +32 767. El margen de valores del tipo de dato INT
cubre tanto valores negativos como positivos. Las variables del tipo UNIT
(unsigned integer/entero sin signo) slo permiten valores positivos. El margen de
valores para las UINT va desde O a 65 535. SINT (short integer/entero corto) y
DINT (double integer/entero doble) son tipos de datos adicionales que definen
nmeros enteros. Sin embargo, estos tienen un margen de valores inferior o
superior que el tipo de datos INT. El tipo de datos REAL contiene nmeros en
coma flotante. Estos son nmeros que pueden contener lugares tras la coma, tales
como el 3,24 -1,5. El tipo de datos TIME se utiliza para especificar el tiempo, y
puede contener una duracin de tiempo como por ejemplo: 2 minutos y 30
segundos.
Declaracin de variables
Con el uso de datos, debe definirse claramente el derecho de acceso a estos
datos. Con este fin, IEC 1131-3 utiliza una declaracin de variables.
Para comprender la funcin de una declaracin de variables, es necesario
establecer antes que el programa del control est construido en unidades de
organizacin individuales.
Estas unidades son:
Configuracin
Recurso
Programas
Bloques de funcin
Funciones
IEC 1131-3 distingue entre seis tipos diferentes de acceso a las variables. Cada
tipo tiene una palabra clave, que introduce la declaracin de la variable.
Las variables de entrada son declaradas con las palabras clave VAR_INPUT y
END_VAR.
Las variables especificadas aqu son locales para una unidad de organizacin y
solamente pueden ser utilizadas en ella. Son desconocidas para otras unidades
organizacionales y por lo tanto inaccesibles.
Una aplicacin tpica son las posiciones de memoria para resultados intermedios,
que no son de inters en otras zonas del programa. En el caso de estas variables,
hay que observar que tambin pueden existir varias veces en diferentes unidades
de organizacin. De esta forma, es posible, por ejemplo, que varios bloques de
funcin declaren la variable local Z. Estas variables locales son completamente
independientes y difieren unas de otras.
Una variable tambin puede ser declarada globalmente, en cuyo caso puede ser
accedida universalmente. La necesaria declaracin se realiza de una forma similar,
utilizando las palabras clave VAR_GLOBAL y VAR_EXTERNAL.
As es como se declaran todos los datos globales para un programa de control. Los
datos globales son accesibles universalmente. Esta decla
racin s
lo puede hallarse en unidades de organizacin, configuracin y recurso.
Las declaraciones hechas de esta forma son el mejor medio para definir el
significado de todas las entradas y salidas del control. Si se produce un cambio en
el sistema y su conexin al controlador, slo debern ser cambiadas estas
declaraciones. Cualquier utilizacin p. ej. del Pulsador paro, o de la Temperatura
en un programa existente, no se ve afectada por el cambio.
Sin embargo, segn IEC 1131-3 siempre es posible utilizar variables direccionadas
directamente sin tener que asignaras a un identificador simblico. La declaracin
en este caso es como sigue:
VAR
AT %14.2
AT %MW1
END_VAR
:BOOL;
:WORD;
Inicializacin
A menudo es esencial que a una variable se le asigne un valor inicial. Este valor
puede cambiar varias veces durante el procesamiento del programa, incluso
aunque haya estado definida al principio.
Los estados iniciales como estos tambin son importantes para otros datos. Tales
valores iniciales se especifican conjuntamente con la de
claracin de las variables. Una variable global de este tipo denominada p. ej.
Docena se declara para que al principio del programa asuma el valor 12.
VAR_GLOBAL
Docena :INT := 12;
END_VAR
6.3Programa
Las entradas o salidas booleanas de una funcin pueden ser negadas, es decir,
invertidas especificando un crculo directamente fuera del rectngulo (fig. B6.16).
Funciones estndar
Las funciones estndar ms importantes para la realizacin de tareas bsicas de
tecnologa de control se relacionan a continuacin.
Dado que una gran variedad de funciones estndar pueden funcionar utilizando
parmetros de entrada de diferentes tipos de datos, los tipos de datos se han
combinado en grupos. A cada grupo se le ha dado un tipo de datos genrico. Los
tipos de datos genricos ms importantes se muestran en la tabla B6.8.
Bloques de funcin
Los bloques de funcin son mdulos de software que proporcionan uno o varios
parmetros resultantes.
Una caracterstica importante es la posibilidad de reutilizacin de los bloques de
funcin. Si debe utilizarse un bloque de control en un programa, debe crearse una
copia. Esto se realiza a travs de la asignacin de un nombre para cada caso.
Junto con este identificador hay una estructura de datos, que almacena los estados
de esa copia del bloque de funcin (valores de los parmetros de salida y variables
internas). La informacin del estado de la copia del bloque de funcin permanece
inalterable entre un procesamiento y el siguiente.
Esto puede demostrarse utilizando el ejemplo del bloque de funcin estndar para
operaciones de recuento. El valor actual del contador permanece de una operacin
de recuento a la siguiente y puede as ser interrogada en cualquier momento. Este
tipo de comportamiento no puede realizarse a travs del recurso lenguaje, como se
describe arriba.
Fig. B6.20: Uso (invocacin) del bloque de funcin CTU (contador incremental)
A la funcin ejemplo SPEC_MUL en la fig. B6.22 se le dan dos parmetros del tipo
INT. Los valores de parmetros son multiplicados y se le aade la cifra 15. El
valor as calculado es devuelto a la funcin como resultado.
Captulo 7
La direccin del flujo de seales es una red de izquierda a derecha. Si una unidad
de organizacin del programa consta de varias redes, estas son procesadas en
secuencia de arriba a abajo.
Cuando se programa en el lenguaje FBD, hay que observar que dentro de las
redes no se permiten estructuras de bucle. Las estructuras de este tipo slo deben
realizarse a travs del uso adicional de una ruta de realimentacin. La Fig. B7.3b
ilustra un ejemplo de esto.
Captulo 8
Diagrama de contactos
8.2 Funciones y
bloques de funcin
Los mdulos de funcin, tales como por ejemplo el retardo de seal mostrado en la
fig. B8.3 pueden incorporarse al diagrama de contactos sin una entrada EN
adicional ni una salida ENO. El bloque de funcin es conectado con los elementos
del rengln actual en la forma usual con la entrada booleana IN y la salida
booleana Q. Si la entrada %l1 .3 en la fig. B8.3b asume el valor 1, la copia del
bloque de funcin T_Marcha es procesada con la duracin de tiempo
preestablecida de 7 segundos. El valor de la salida Q de T_Marcha se asigna a la
salida %Q2.4.
De forma similar al lenguaje de programacin grfico FBD, el flujo de potencia, y
como tal el procesamiento de una unidad de organizacin del programa, es de
izquierda a derecha y de arriba a abajo. De forma similar la secuencia de actuales
procesamiento tambin puede cambiar en LD utilizando elemento para el control
de la ejecucin.
8.3 Evaluacin
de los renglones
Captulo 9
Lista de instrucciones
9.1 Lista de
instrucciones
Operadores
9.3 Funciones y
bloques de funcin
Captulo 10
Texto estructurado
10.1 Expresiones
Ejemplo
10.2 Instrucciones
Asignaciones
Una asignacin es la forma ms simple de una instruccin. Esta reemplaza el valor
actual de la variable a la izquierda de := con el valor de la expresin a la derecha
de :=. Cada asignacin termina con un punto y coma. Una posible asignacin
(tabla B1O.2) es A := B en donde el valor de la variable B es asignado a la variable
A. Como resultado de la asignacin CV:=CV + 1, la variable CV es incrementada
en 1 como resultado de la expresin CV+1.
Bloques de funcin y funciones
En lEC 1131-3 se establece un mecanismo definido para la invocacin y tambin
para la salida anticipada de una funcin o de un bloque de funcin.
Como se ha descrito, una funcin es invocada slo como parte de la evaluacin de
una expresin. La propia invocacin consiste en la especificacin del nombre de la
funcin, seguida por los parmetros de entrada entre parntesis.
La invocacin de un bloque de funcin es anloga a la especificacin del nombre
de instancia (copia) del bloque de funcin. Esta es seguida de una lista entre
parntesis consistente en la asignacin de valores a los parmetros de entrada. La
especificacin del nombre del parmetro de entrada es obligatorio, los parmetros
individuales de entrada pueden indicarse en cualquier secuencia.
Adems, no es esencial para todos los parmetros de entrada que se les asigne un
valor en cada invocacin. Si a un determinado parmetro de entrada no se le
asigna un valor en la invocacin, se aplica el valor del parmetro previamente
asignado o el valor inicial.
La tabla B1O.2 contiene un ejemplo de una invocacin a un bloque de funcin.
Debe sonar un zumbador si una broca est defectuosa. El estado del zumbador se
almacena por medio de un bloque de funcin RS.
La instruccin RETURN sirve para permitir una salida anticipada de una funcin o
bloque de funcin. Lo que sigue es un ejemplo de la utilizacin de la instruccin
RETURN:
IF X< 0 THEN
Valor := -1;
Error := 1;
RETURN;
END_IF
Y := LOG(X);
Si el valor de X es menor de 0, el bloque conteniendo la secuencia de instrucciones
termina inmediatamente.
10.3 Instrucciones de
seleccin
10.4 Instrucciones
de iteracin
Bucle WHILE
El bucle WHILE representa una segunda opcin para la formulacin de iteraciones
especificando una condicin de terminacin. La representacin estndar de un
bucle WHILE es:
S := 0;
FOR l := 1 TO 2 DO
FOR J := 1 TO 3 DO
IF error THEN EXIT;
END_IF
S := S + J;
END_FOR;
(* Si se ejecuta la instruccin EXIT se realiza un salto a este punto*')
S := S + 1;
END_FOR;
Si la instruccin EXIT se halla dentro de un bucle anidado, la salida ser desde el
bucle ms profundamente anidado en el que se halla la instruccin EXIT. La
siguiente instruccin a ejecutar es la instruccin inmediatamente despus del fin de
bucle (END_FOR, END_WHILE END_REPEAT). En el ejemplo dado en la fig,
B10.1, esta es la instruccin "S := S + I;".
En el caso del ejemplo citado se aplica lo siguiente: Si el valor de la variable
booleana Error es igual a 0, el algoritmo para la variable S proporciona el valor 15.
Si la variable Error tiene el valor 1, el valor calculado por S es 3.