Controladores Logicos Programables
Controladores Logicos Programables
UNIDAD I
INTRODUCCIÓN.
También se le puede definir como una “caja negra” en la que existen unas
terminales de entrada a los que se conectarán pulsadores, finales de carrera, fotocélulas,
detectores, unas terminales de salida a los que se conectarán bobinas de contactores,
electroválvulas, lámparas, de tal forma que la actuación de estos últimos está en función de
las señales de entrada que estén activadas en cada momento, según el programa
almacenado.
Esto quiere decir que los elementos tradicionales como relés auxiliares, relés de
enclavamiento, temporizadores, contadores.., son internos. La tarea del usuario se reduce a
realizar el “programa”, que no es más que la relación entre las señales de entrada que se
tienen que cumplir para activar cada salida.
Un Controlador Lógico Programable (PLC, por sus siglas en inglés) se define como
un dispositivo electrónico digital que usa una memoria programable para guardar
instrucciones y llevar a cabo funciones lógicas, de configuración de secuencia, de sincronía,
de conteo y aritméticas, para el control de maquinaria y procesos (figura) 1.1.
1
Controladores Lógicos Programables
Si bien los PLCs son similares a las computadoras, tienen características específicas
que permiten su empleo como controladores.
Estas son:
1.- Son robustos y esta diseñados para resistir vibraciones, temperatura, humedad y ruido.
2.- La interfaz para las entradas y las salidas están dentro del controlador.
3.- Es muy fácil programarlos, así como entender el lenguaje de programación. La
programación básicamente consiste en operaciones de lógica y conmutación.
Programa de Control
PLC
2
Controladores Lógicos Programables
El PLC por sus especiales características de diseño tiene un campo de aplicación muy
extenso. La constante evolución de hardware y software amplía continuamente este campo
para poder satisfacer las necesidades que se detectan en el espectro de sus posibilidades
reales.
3
Controladores Lógicos Programables
b) Maniobra de Instalaciones
c) Señalización y control
4
Controladores Lógicos Programables
El desafío constante que toda industria tiene planteado para ser competitiva a sido el
motor impulsor del desarrollo de nuevas tecnologías para conseguir una mayor
productividad.
Debido a que ciertas etapas en los procesos de fabricación se realizan en ambientes
nocivos para la salud, con gases tóxicos, ruidos, temperaturas extremadamente altas o bajas,
etcétera, unido a consideraciones de productividad, llevó a pensar en la posibilidad de dejar
ciertas tareas tediosas, repetitivas y peligrosas a un ente al que no pudieran afectarle las
condiciones ambientales adversas: había nacido la máquina y con ella la automatización.
Surgieron empresas dedicadas al desarrollo de los elementos que hicieran posible tal
automatización; debido a que las máquinas eran diferentes y diferentes las maniobras a
realizar, se hizo necesario crear unos elementos estándar que, mediante la combinación de
los mismos, el usuario pudiera realizar la secuencia de movimientos deseada para
solucionar su problema de aplicación particular.
Relés, temporizadores, contadores, fueron y son elementos con que se cuenta para
realizar el control de cualquier máquina. Debido a la constante mejora de la calidad de estos
elementos y la demanda del mercado, que exigía mayor y mejor calidad en la producción,
se fue incrementando el número de etapas en los procesos de fabricación controlados de
forma automática.
5
Controladores Lógicos Programables
6
Controladores Lógicos Programables
1.2 AUTOMATISMOS
INTRODUCCIÓN.
Todo sistema automático por simple que este sea se basa en el concepto de bucle o
lazo, tal y como se representa en la Figura 1.2.
7
Controladores Lógicos Programables
1.- Un motor B de traslación con dos sentidos de marcha, bajada y subida, accionado por
dos contactores, K3 y K4, respectivamente.
2.- Un motor A de rotación de la broca, con dos sentidos de giro: derecha e izquierda,
accionado por dos contactores, K1 y K2, respectivamente.
3.- Dos finales de carrera: FC1 de puesta en marcha para realizar el taladro y FC2 de final
del mismo.
8
Controladores Lógicos Programables
9
Controladores Lógicos Programables
b) La parte económica asignada para no caer en el error de elaborar una buena opción
desde el punto de vista técnico, pero inviable económicamente.
c) Los materiales, aparatos, etc., existentes en el mercado que se van a utilizar para
diseñar el automatismo. En este aparato es importante conocer también:
1.- Calidad de la información técnica de los equipos.
2.- Disponibilidad y rapidez en cuanto a recambios y asistencia técnica.
10
Controladores Lógicos Programables
11
Controladores Lógicos Programables
Los parámetros que se deben valorar para una decisión correcta pueden ser muchos
y variados, algunos de los cuales serán específicos en función del problema concreto que se
va a resolver, pero otros serán comunes, tales como los siguientes:
Una vez realizado este análisis solo queda adoptar la solución final elegida.
12
Controladores Lógicos Programables
La Tabla 1.1 nos muestra las opciones tecnológicas posibles derivadas de las dos
generales: lógica cableada y lógica programada. La Figura 1.6 nos ayudara a escoger la
elección que más se acomode al caso, en función de las características del mismo.
Los organigramas de las Figuras 1.7 y 1.8 pueden ser de gran utilidad una vez que se
haya decidido por la opción tecnológica más apropiada, lógica cableada o lógica
programada.
13
Controladores Lógicos Programables
14
Controladores Lógicos Programables
15
Controladores Lógicos Programables
16
Controladores Lógicos Programables
RESUMEN
PREGUNTAS
UNIDAD II
17
Controladores Lógicos Programables
INTRODUCCIÓN
18
Controladores Lógicos Programables
Según las soluciones constructivas adoptadas, esta arquitectura puede tomar distintas
configuraciones, que serán objeto de estudio en un capítulo posterior. En este, se definen
los bloques constitutivos del autómata y sus características más relevantes.
19
Controladores Lógicos Programables
20
Controladores Lógicos Programables
Los tres buses característicos de un sistema digital son (figura 2.2), bus de datos, por
el que tienen lugar las transferencias de datos del sistema, bus de direcciones, a través del
cual se direccional la memoria y el resto de los periféricos, y bus de control, constituido por
todas las conexiones destinadas a gobernar los intercambios de información, se reunifican
en el autómata en uno solo, que recibe el nombre de bus interno. El número de líneas de
este bus depende de cada fabricante.
Se considera también como bus del autómata cualquier conexión entre bloques o
módulos que no necesite de procesadores específicos de comunicaciones en sus extremos,
como, por ejemplo, el cable de conexión entre el autómata y una unidad externa de
expansión de E/S.
21
Controladores Lógicos Programables
22
Controladores Lógicos Programables
el propio procesador, según diseño propio del fabricante utilizando tecnologías “custom” o
personalizadas. La primera solución, más barata, es la más frecuente en autómatas de gama
baja, mientras que la segunda, con mayores costos de diseño y desarrollo, es propia de
autómatas de gamas medias y altas, donde el incremento de precio queda compensado por
los bajos tiempos de ejecución de instrucciones, mucho menores que en la solución
estándar (décimas de microsegundos). En cualquier caso, esta decodificación interna de
instrucciones es transparente al usuario, que no puede modificarla en ninguna forma. Al ser
además específica de cada fabricante, que elige el lenguaje de programación que soportará
su autómata (instrucciones, contactos o símbolos gráficos) y la forma en que se interpretan
sus instrucciones, la decodificación no solo limita los lenguajes disponibles de
programación, sino que es la responsable de que no todas las CPU pueden ejecutar los
mismos programas, aunque hayan sido escritos en el mismo lenguaje, impidiendo, en
definitiva, el intercambio programas entre autómatas diferentes.
· Manipulación de textos.
Esta solución aumenta la flexibilidad del sistema, pero incrementa también los tiempos
de ejecución (los quintuplica, aproximadamente), al tener que decodificar las instrucciones
según las indicaciones de una memoria exterior conectada al bus.
23
Controladores Lógicos Programables
La figura 2.3 muestra los bloques fundamentales de una CPU, donde se reconocen los
siguientes:
24
Controladores Lógicos Programables
Algunos autómatas incluyen junto al acumulador los registros de pila que permiten
almacenar resultados parciales del programa (obtenidos mediante instrucciones particulares
de paréntesis o bloques) antes de operar con ellos y asignar el resultado a una salida.
-arquitectura de coprocesador,
-estructura de control distribuido mediante el empleo de módulos inteligentes.
25
Controladores Lógicos Programables
26
Controladores Lógicos Programables
27
Controladores Lógicos Programables
28
Controladores Lógicos Programables
Las soluciones de este tipo están sustituyendo a las clásicas RAM + batería, que,
pese a ser profundamente utilizadas, no dejan de presentar problemas de mantenimiento.
La figura 2.4 muestra una clasificación de las memorias empleadas en el autómata, con la
aplicación que se da a cada una de ellas.
29
Controladores Lógicos Programables
La memoria interna, de longitud invariable para cada modelo de autómata, fija sus
características funcionales en cuanto a capacidad de direccionamiento E/S, y número y tipo
de variables internas manipuladas.
30
Controladores Lógicos Programables
de las señales de entrada considerados para el cálculo no son los actuales de planta, sino los
presentes en la memoria imagen leídos en el ciclo anterior.
-Antes de comenzar la ejecución, la CPU consulta los estados de las señales en la interfaz
de entradas y carga con ellos la memoria imagen de entradas (figuras 2.5 a)
-Durante la ejecución, la CPU, y bajo control del programa de usuario, realiza los cálculos a
partir de los datos en la memoria imagen y del estado de los temporizadores, contadores y
reles internos. El resultado de estos cálculos queda depositado en la memoria imagen de
salidas (fig. 2.5 b).
-Finalizada la ejecución, la CPU trasfiere a las interfaces de salida los estados de las señales
contenidos en la memoria imagen de salidas, quedando el sistema preparado para comenzar
un nuevo ciclo (figura 2.5 c).
31
Controladores Lógicos Programables
32
Controladores Lógicos Programables
Las posiciones de la memoria imagen son denominadas puntos E/S “I/O points”, y
su número es variable dependiendo del modelo de autómata y de la configuración del
sistema. Precisamente, una clasificación frecuente de autómatas hace referencia al número
de puntos E/S que la CPU puede manejar. Así, se habla de autómatas de gama.
33
Controladores Lógicos Programables
ningún borne, por lo que no pueden controlar cargas externas si no son antes transferidos a
un punto E/S.
Algunas posiciones correspondientes a relés internos están mantenidas por batería y
protegidas contra pérdidas de tensión. Las direcciones correspondientes a estos relés
protegidos (<<holding relays>>) están claramente especificadas en los catálogos del
fabricante.
Esta área contiene también los valores de los registros de desplazamiento, que
pueden ser leídos como palabras, o posición a posición (bit a bit).
34
Controladores Lógicos Programables
Cada instrucción del usuario ocupa un paso o dirección del programa y necesita,
normalmente, para ser almacenada, dos posiciones de memoria de semiconductor (dos
bytes). La capacidad total del programa de usuario depende del tipo de CPU utilizada, y
puede oscilar entre los 1 k pasos de un autómata compacto hasta algún centenar de
instrucciones en un autómata de gama alta.
35
Controladores Lógicos Programables
Dada una CPU concreta, la longitud total del mapa de memoria esta siempre
limitada a un determinado valor.
36
Controladores Lógicos Programables
37
Controladores Lógicos Programables
38
Controladores Lógicos Programables
Entradas:
-Corrientes continúa a 24 o 48 vcc.
-Corriente alterna a 110 o 220 Vca.
-Analógicas de 0-10 Vcc o 4-20 mA.
Salidas:
-Por relé.
Estáticas por triac a 220 Vca máximo.
-Colector abierto para 24 o 48 Vcc.
-Analógicas de 0-10 V o 4-20 mA.
39
Controladores Lógicos Programables
La fuente de alimentación del autómata puede incorporar una batería tampón, que se
utiliza para el mantenimiento de algunas posiciones internas (relés o registros) y del
programa de usuario en memoria RAM, cuando falla la alimentación o se desconecta el
autómata. La capacidad de esta batería, normalmente a 3,5 V, oscila entre los 1500 m Ah y
1 año de vida para las más pequeñas utilizadas en los autómatas compactos, y los 5000 m
Ah y 10 años de vida en las necesarias en autómatas modulares de gama alta.
Los autómatas compactos suelen disponer de una salida de tensión a 24 Vcc de baja
potencia, para alimentación directa de sensores actuadores, aunque la carga que puede
soportar es muy reducida, del orden de décimas de amperio.
-En el primer caso, una única fuente (figura 2.8 a) incorporada en el autómata alimenta a la
CPU con sus interfaces de entrada y salida y a los sensores y actuadores del sistema.
40
Controladores Lógicos Programables
41
Controladores Lógicos Programables
42
Controladores Lógicos Programables
Los fabricantes proporcionan, sobre todo en sistemas modulares tipo rack, módulos
de alimentación con diferentes tensiones de salida y niveles de potencia suficientes, en
general, para cubrir cualquier necesidad de alimentación.
Los fabricantes proporcionan, sobre todo en sistemas modulares tipo rack, módulos
de alimentación con diferentes tensiones de salida y niveles de potencia suficientes, en
general, para cubrir cualquier necesidad de alimentación.
La tabla 2.1 muestra por ejemplo, los módulos de alimentación disponibles para la serie de
autómatas FA3S de IZUMI.
Los módulos de salida a 12 VCC están previos para alimentación de la CPU y las
interfaces E/S conectadas en el bastidor, así como para la unidad de programación, cuando
se utilice. La elección de uno u otro depende de la tensión de entrada disponible, y del
número de interfaces conectadas, que determina la carga total de corriente. Si esta carga
resulta elevada pueden conectarse varios módulos en paralelo.
Aunque, en general, cualquiera de estos módulos puede utilizarse para alimentación
de sensores y actuadores de entrada y salida, existe uno específico, con tensión de salida a
24 Vcc, para esta aplicación.
RESUMEN
43
Controladores Lógicos Programables
44
Controladores Lógicos Programables
INTRODUCCIÓN
A fin de optimizar los tiempos de acceso a las interfaces E/S, se realiza la lectura y
escritura de señales simultáneamente para todas las entradas y salidas complicadas, de
forma que las entradas leídas se almacenan en una memoria temporal o memoria imagen de
entradas, a la que acude la CPU durante la ejecución del programa, mientras que los
resultados o señales de mando se van almacenando en otra memoria temporal, o memoria
imagen de salidas, según se van obteniendo.
45
Controladores Lógicos Programables
46
Controladores Lógicos Programables
47
Controladores Lógicos Programables
48
Controladores Lógicos Programables
El autómata puede disponer de una función de Reset que, activada desde la CPU o
desde la unidad de programación, borra todas las posiciones internas, incluso las
mantenidas, y deja al autómata totalmente reinicializando para comenzar a ejecutar el
programa.
49
Controladores Lógicos Programables
El funcionamiento del autómata es, salvo el proceso inicial que sigue a un Reset, de
tipo secuencial y cíclico, es decir, las operaciones tienen lugar una tras otra, y se van
repitiendo continuamente mientras el autómata esté bajo tensión.
50
Controladores Lógicos Programables
51
Controladores Lógicos Programables
-Se ponen a OFF las posiciones de memoria interna (excepto las mantenidas o protegidas
contra perdidas de tensión).
-Se borran todos los contadores y temporizadores (excepto los mantenidos o protegidos
contra pérdidas de tensión).
52
Controladores Lógicos Programables
53
Controladores Lógicos Programables
-Proceso común,
-Ejecución del programa de usuario,
-Servicio a periféricos.
Las posibles causas para la activación del reloj de guarda pueden ser:
54
Controladores Lógicos Programables
55
Controladores Lógicos Programables
En un autómata compacto o modular con interfaces locales, este tiempo es del orden
de 5 ms, aunque puede variar significamente de uno a otro modelo.
56
Controladores Lógicos Programables
TIEMPO DE
AUTOMATA NUMERO DE EJECUCION
PUNTOS E/S (US/INSTR.)
C 2000 H
ALTA C 1000 H 2048 0,4 A 2,4
GAMA DE C 200 1680 0,75 A 2,25
C 500 512 3 A 83
AUTOMATAS
MEDIA C 120 256 3 A 83
SERIE K 100 A 148 4 A 95
BAJA SERIE P 36 A 120 4 A 95
C 20 84 4 A 80
-Ordenadores.
-Impresoras.
-Visualizadores de plasma o siete segmentos.
-Lectores de códigos de barra.
-Otros autómatas, etc.
57
Controladores Lógicos Programables
-Comprobacion de la CPU:
Microprograma.
Memoria interna.
Reloj de guarda, etc.
-Comprobación de la memoria de programa:
Control de presencia.
Identificación de tipo.
Comprobación del contenido (cheksum).
-Comprobación de interfaces E/S:
Control de presencia.
Identificación de los tipos.
Generación de la tabla de direcciones.
58
Controladores Lógicos Programables
59
Controladores Lógicos Programables
Combinando el estado de los diferentes pilotos y/o estudiando los códigos de error,
es posible analizar los defectos y corregirlos con rapidez.
Los errores pueden clasificarse en dos categorías: fatales y no fatales. Los primeros
provocan la detención del autómata (STOP) y exigen la reiniciación de la máquina por reset
o puesta en tensión.
Los errores no fatales quedan recogidos y señalizados en el autómata, pero no
provocan la parada de la máquina.
60
Controladores Lógicos Programables
Los contenidos de esta tabla de registros se van actualizando conforme aparecen nuevos
errores, siempre que estos no provoquen la parada del autómata.
-Fallos de alimentación,
-Ausencia del modulo de memoria (autómatas sin RAM de programa interna),
-Desbordamiento del reloj de guarda,
-Pérdida o destrucción del programa o parte de el,
-Valores de preselección de temporizadores y contadores fuera de rango,
-Fallos de conexión con las interfaces de entrada/salida,
-fallo de conexión con la unidad de programación o con otros autómatas dentro de una red,
-Direccionamiento incorrecto de interfaces E/S o de variables internas.
-Imposibilidad de carga del programa (demasiado largo, o incorrectamente identificado),
etc.
Esta función de test, si existe, es siempre ordenada por el usuario, a diferencia de las
rutinas de auto chequeos anteriores, de activación automática.
61
Controladores Lógicos Programables
El tiempo total que el autómata emplea para realizar un ciclo de operación se llama
tiempo de ejecución de ciclo o más sencillamente tiempo de ciclo (Scan Time). Dicho
tiempo depende de:
El tiempo total de ciclo es entonces la suma de los tiempos empleados en realizar las
distintas operaciones del ciclo, a saber:
-Autodiagnósticos.
-Actualización de E/S.
-Ejecución (escrutación) del programa.
-Servicio a periféricos.
62
Controladores Lógicos Programables
Este tiempo de ciclo será uno de los factores determinantes en el diseño del sistema
de control cuando en este aparezcan muy bajas constantes de tiempo (sistemas de respuesta
rápida), pero no el único a considerar, ya que también la electrónica de las interfaces
introduce retardos adicionales.
63
Controladores Lógicos Programables
La tabla 2.3 presenta los rangos de retardo máximo típicos, en milisegundos, para
distintas interfaces de entrada y salida en las conmutaciones de encendido a apagado y
viceversa.
Como se observa, las entradas en DC son más rápidas que en AC, por la mayor
necesidad de filtrado de las tensiones de red, mientras que las salidas estáticas son también
más rápidas que las salidas por relé. Nótese el largo tiempo de conmutación ON-OFF de
la salida por triac, por el retardo que introduce el apagado natural (a corriente cero) del
dispositivo.
Si el proceso utiliza además señales analógicas, será preciso considerar también los
tiempos de conversión A/D y D/A, lo que, dado el procedimiento de conversión por doble
rampa normalmente utilizado, obliga a considerar retardos aun mayores, de 15 o 20 ms.
Dada una señal de mando (salida) función de una o varias señales de planta
(entradas), se denomina tiempo de respuesta al que transcurre desde que un cambio en una
de aquellas señales de planta es acusado por la señal de mando.
64
Controladores Lógicos Programables
● Valor mínimo (la señal esta disponible en la interfaz justo antes de la lectura de entradas)
TRES min =TINPUT delay +TCICLO +
+TOUTPUT delay
●Valor máximo (la señal esta disponible en la interfaz justo después de la lectura de
entradas)
TRES min= TINPUT delay + 2 TCICLO +
+TOUTPUT delay
65
Controladores Lógicos Programables
66
Controladores Lógicos Programables
Hay tres tipos de actividades que exigen rápidas respuestas del autómata:
Cada una de las circunstancias anteriores plantea problemas distintos, que obligan
también a buscar distintas soluciones en el autómata.
Así, para el primer supuesto, reducción del tiempo de respuesta para una señal
determinada, puede ordenarse la ejecución del bloque de programa que la controla de forma
independiente al resto del ciclo, iniciándose esta:
67
Controladores Lógicos Programables
En el primer caso, activación de una rutina rápida mediante una señal periódica
(normalmente, una temporizacion interna), se asegura la reducción del tiempo de ciclo para
las señales E/S manipuladas dentro de la rutina (figura 2.15), mientras que en el segundo
caso, activación mediante interrupción responder con rapidez frente a estímulos externos.
68
Controladores Lógicos Programables
Por último para la detección de señales de muy corta duración podría emplearse
cualquiera de las dos soluciones anteriores, aunque algunos autómatas que no las incluyen,
sobre todo en gamas bajas, pueden tener en cambio una o varias entradas detectoras de
flancos, capaces de captar y mantener en un relé interno, y hasta su lectura por parte de la
CPU, señales individuales de tan corta duración como 1 ms (menores de un <<scan>>), de
forma que el autómata llega a tener constancia de ellas (figura 2.17).
69
Controladores Lógicos Programables
-Procesamiento cíclico, propio del programa principal, con ejecución de las instrucciones
según la numeración de sus direcciones. De este procesamiento cíclico se obtiene el ciclo
de ejecución del autómata.
-Procesamiento rápido, con ejecución de instrucciones en respuesta a una señal
independiente y asíncrona con el ciclo de ejecución del autómata.
70
Controladores Lógicos Programables
71
Controladores Lógicos Programables
72
Controladores Lógicos Programables
-Programa básico.
-Programa rápido.
-Programa lento.
-Rutinas de emergencia, etc.
Todos estos programas pueden intercambiar datos y acceder a las mismas entradas,
salidas y variables internas, resultando una mayor simplicidad y facilidad de programación
y supervisión del funcionamiento.
El incremento que experimenta las prestaciones de los Autómatas hace que el número de
periféricos aumente día a día para equipos de la misma gama, pero en general para un
equipo de la gama baja podría decirse que son:
Otros equipos que se utilizarían en la gama media o en algún caso en la gama baja serian:
73
Controladores Lógicos Programables
Funciones principales:
La gama de funciones que son capaces de ejecutar los equipos de programación son
múltiples y variadas, aumentando el tipo de estas en razón directa a la complejidad del
equipo.
a) Programación.
Introducción de instrucciones (programa).
Búsqueda de instrucciones o posiciones de memoria
Modificación del programa:
-Borrado de instrucciones
-Búsqueda de instrucciones
-Modificación de instrucciones.
Detección de errores de sintaxis o formato.
Visualización del programa de usuario o parte del mismo, contenido en la memoria
de usuario.
Forzamiento del estado de marcas, registros, contadores, temporizadores, etc.
74
Controladores Lógicos Programables
b) Grabación de programas.
En cinta casete
En chip de memoria EPROM o EEPROM.
En papel mediante impresora.
En disquete mediante PC.
Visualización y verificación dinámica del programa.
Del programa o parte de él.
De entradas y salidas.
De temporizadores, contadores, registros, etc.
c) Modos de servicio.
STOP (off-line), o salidas en reposo.
RUN (on-line) o ejecutando el programa.
Otros modos intermedios como MONITOR, etc.
Tipos:
Son las más comúnmente utilizadas en los Autómatas de la gama baja; consta del
correspondiente teclado, conmutador de modos, display de cristal líquido o siete segmentos
de dos o más líneas, así como de las entradas para la grabación del programa de usuario.
Puede ser totalmente independiente, ser enchufada directamente en la CPU, o con ambas
posibilidades.
75
Controladores Lógicos Programables
En las de pocas líneas (2,4) solo es posible escribir neumónicos, pero en las de pantalla
llamadas de programación gráfica pueden visualizarse algunas líneas de programa de
lenguajes gráficos, datos del programa, etc.
b) Consola de programación
Esta en una posición intermedia entre la unidad tipo calculadora y el PC. consta de pantalla
de plasma o tipo similar y tamaño suficiente para 20-30 líneas y 60-80 caracteres por línea,
así como teclado. Al igual que el PC que se describe a continuación, utiliza el software de
programación preciso para los lenguajes utilizados en el PLC, almacenando los programas
en disquete.
c) Unidad con PC
La grabación de programas se realiza en disquete o disco duro, según modelos del PC.
Funcionamiento:
76
Controladores Lógicos Programables
2.10.2 INTERFACES
77
Controladores Lógicos Programables
UNIDAD III
INTRODUCCIÓN
Hasta el momento, se ha descrito al autómata como una máquina formada por
elementos de hardware capaces de comunicarse físicamente con el proceso para:
-Fijar, mediante una secuencia de ordenes, la ley general de mando, de la que se obtiene
las variables de salida o de control.
-Intervenir, continuamente o no, sobre el proceso para modificar la evolución o,
simplemente, para leer su estado.
78
Controladores Lógicos Programables
79
Controladores Lógicos Programables
Los intercambios de información entre los elementos que aparecen en la figura 3.1
necesitan, en todos los casos, de una codificación del mensaje que sea comprensible a las
partes que intervienen .
Esta compatibilidad, que el autómata lograba en el lado de planta mediante
interfaces adecuadas a las señales emitidas o recibidas, se consigue en el lado de usuario
mediante el empleo de los lenguajes de programación y explotación preestablecidos por el
fabricante.
80
Controladores Lógicos Programables
Estos códigos binarios son después interpretados por el sistema operativo residente
(firmware) para movilizar los recursos físicos (procesador, interfaces E/S, etc) necesarios
en la ejecución del programa. La figura 3.2 muestra un resumen de los sistemas y recursos
involucrados en las transferencias de información que rodea al autómata.
81
Controladores Lógicos Programables
82
Controladores Lógicos Programables
Los siguientes apartados desarrollan en extensión cada uno de los puntos de esta
secuencia.
83
Controladores Lógicos Programables
Al final del ciclo, una vez concluida la elaboración del programa, asigna los estados
de las señales de entrada a los terminales de entrada y los de salida a las salidas, ejecutando
el estado 0 o 1 en estas últimas. Esta asignación se mantiene hasta el final del siguiente
ciclo, en el que se actualizan las mismas.
Dada la velocidad con que se realiza cada ciclo, del orden de 5 a 10 ms/1 K
instrucciones, se puede decir que las salidas se ejecutan en función de las variables de
entrada prácticamente en tiempo real.
84
Controladores Lógicos Programables
85
Controladores Lógicos Programables
Cuando el ciclo de barrido de la memoria de usuario se realiza línea tras línea sin
solución de continuidad, se dice que la programación es lineal, y la CPU consulta las
instrucciones contenidas en la memoria secuencialmente, una a continuación de la otra, sin
alterar este orden, tal y como se aprecia en la Figura 3.5
86
Controladores Lógicos Programables
Figura 3.5 Ejecución cíclica lineal del programa de usuario en un Autómata Programable
87
Controladores Lógicos Programables
Su funcionamiento es el siguiente:
88
Controladores Lógicos Programables
Figura 3.6 Salto condicional en la ejecución cíclica lineal del programa de usuario en un
Autómata Programable
89
Controladores Lógicos Programables
Figura 3.7 Salto a subrutina en la ejecución cíclica del programa de usuario en un Autómata
Programable
90
Controladores Lógicos Programables
Cada uno de los tramos en línea gruesa de la Figura 3.8 contiene solo algunas líneas
de programa, de tal forma que la secuencia consiste en el procesamiento de, por ejemplo,
diez líneas del programa M0, o lo que es lo mismo, una pequeña parte de un programa; a
continuación el barrido salta al programa M1 para proceso, etc. Cuando ha barrido todos los
programas paralelos, incluso las subrutinas, si se encuentran adscritas a esas líneas, vuelve
al programa M0 para repetir el ciclo en el siguiente grupo de diez líneas.
91
Controladores Lógicos Programables
92
Controladores Lógicos Programables
Excepto el nemónico, los demás tienen como base su representación gráfica, pero todos
ellos deben ir acompañados del correspondiente cuadro o lista de programación, esto es, la
relación de líneas de programa que configuran el mismo.
Para mejor entender estos lenguajes, a continuación se realiza una explicación de ellos.
En el caso de los tres primeros, por otra parte los más utilizados, se ha puesto un ejemplo.
93
Controladores Lógicos Programables
Parece que con una descripción como la dada, que en principio resultaba
suficientemente clara, el diseñador necesita de una serie de preguntas adicionales antes de
empezar a trabajar en el control.
La conclusión que se obtiene es que la descripción literal o se hace exhaustiva, con
lo cual es de difícil comprensión en su conjunto, o no es totalmente unívoca con el proceso
que se quiere controlar.
94
Controladores Lógicos Programables
Esta representación puede ser tan compleja como sea necesario, siempre y cuando se
respeten las reglas del algebra. Por ejemplo, la alarma S debe activarse cuando el contacto
C este cerrado, y los contactos A y B en estados opuestos, según convenio:
-Abierto: 0
-Cerrado: 1
S= (A B+AB) · C
95
Controladores Lógicos Programables
96
Controladores Lógicos Programables
Sin embargo, siendo muy familiar a los electricistas, se utilizan frecuentemente para
la representación de sistemas sencillos, en los que no intervienen mas que señales lógicas
binarias todo-nada, o algunos bloques secuenciales predefinidos, como temporizadores y
contadores.
La figura 3.11 muestra el modelo de diagrama lógico del sistema de alarma descrito
en el ejemplo anterior.
El conjunto de todos los símbolos con sus interrelaciones forman el logigrama del
sistema de control, representación compacta e independiente de la tecnología de
construcción del mismo (eléctrica, neumática, etc.).
3.6.1 ORDINOGRAMAS
97
Controladores Lógicos Programables
Los tres modelos descritos, algebráico, de relés y de puertas lógicas, permiten, con
mayor o menor claridad, tanto la representación de sistemas combinacionales como
secuenciales, como lo son, de hecho, la mayor parte de los sistemas industriales (secuencias
de actividades o combinaciones de operaciones consecutivas en el tiempo).
98
Controladores Lógicos Programables
99
Controladores Lógicos Programables
Una evolución del diagrama de flujos, que combina las ventajas de la representación
secuencial grafica con la integración de los modelos preexistentes, es la representación por
diagramas GRAFCET.
El ciclo se desarrolla etapa por etapa desde la que se define como “etapa inicial”
que se activa al comienzo del funcionamiento. Mientras una etapa esta activa, el control:
100
Controladores Lógicos Programables
101
Controladores Lógicos Programables
Esta estandarización del modelo, una de sus principales ventajas, facilita el flujo de
información entre todos los niveles de la empresa, desde la oficina técnica hasta los equipos
de mantenimiento.
102
Controladores Lógicos Programables
103
Controladores Lógicos Programables
Sin embargo, esta solución no es siempre posible: el lenguaje depende del autómata
empleado y de su fabricante, que decide el tipo de unidad de programación (literal, gráfica)
y el interprete (firmware) que utiliza su máquina, mientras que el modelo de representación
depende del usuario, que lo elige según sus necesidades o conocimientos.
Pese a ello, los lenguajes de programación de autómatas intentan ser lo más parecido
posibles a los modelos de representación usuales, a fin de facilitar la transcripción entre
ambos. Así los lenguajes pueden ser:
ALGEBRAICOS
Lenguajes boléanos.
Lista de instrucciones.
Lenguajes de alto nivel.
GRÁFICOS
Diagrama de contactos.
Diagrama de funciones/bloques.
Interprete GRAFCET.
104
Controladores Lógicos Programables
105
Controladores Lógicos Programables
Cualquiera que sea este, las instrucciones del programa tienen la siguiente estructura:
106
Controladores Lógicos Programables
107
Controladores Lógicos Programables
La tabla de parámetros es específica para cada programa y es grabada con el mismo cuando
se transfiere al autómata.
108
Controladores Lógicos Programables
● Instrucciones aritméticas
109
Controladores Lógicos Programables
-ADD sumar.
-SBB restar.
-MUL multiplicar.
-DIV dividir.
●Instrucciones de manipulación de datos:
-CMP comparar variables digitales.
-SFR rotaciones de bits (variables binarias).
-SHIFT rotaciones de palabras (variables digitales).
-MOV transferencias de datos.
-BCD/BIN conversiones de códigos numéricos, etc.
●Instrucciones de gestión de programa:
-END fin de programa.
-JMP salto de bloque de programa.
-MCS habilitación de bloque de programa.
-JMPSUB salto a subrutina, etc.
110
Controladores Lógicos Programables
interpretarlas, desarrollado para otros autómatas de la familia, cuesta bien poco introducirlo
en las versiones básicas aunque no sea más que por motivos comerciales de competencia.
INSTRUCCIÓN DESCRIPCION
LOD Lee estado de variable binaria, E/S o interna
AND Función lógica AND
OR Función lógica OR
OUT Envia resultado sentencia a variable binaria
MCS Función relé maestro de control
SOT Detecta flanco de subida de una señal
TIM Define temporizador con retardo a conexión
CNT Define contador incremental de sucesos
SFR Define registro desplazamiento sobre n bits
END Indica final de programa
SET Fija una variable a estado <<1>>
RST Fija una variable a estado<<0>>
JMP Inicio de salto de programa
JEND Final de salto de programa
NOT Niega o complementa una variable lógica
OR LOD Conecta dos bloques de programa en paralelo
AND LOD Conecta dos bloques de programa en serie.
●Basicas:
-Operandos predefinidos
-Aritmética BCD
●Avanzadas:
111
Controladores Lógicos Programables
-Operandos cualesquiera
Aritmética de 16 bits
-Direccionamiento indirecto.
Y en computación avanzada:
-TADD3 Suma de cuatro dígitos entre operandos cualesquiera
-WCMP Comparación de un operando con un intervalo
-PDCMD Salida de datos ASCII a impresora
-W121M Trasferencia del operando (dato), cuya dirección (origen) esta contenida en un
registro al operando cuya dirección (destino) esta contenida en otro registro, etc.
El lenguaje de contactos expresa las relaciones ente señales binarias como una
sucesión de contactos en serie y en paralelo, según las equivalencias que se muestran en la
tabla 3.3
112
Controladores Lógicos Programables
Siendo los contactos de relés componentes de dos estados, asignados a los valores lógicos:
0: contacto abierto
1: contacto cerrado
Las equivalencias de la tabla 3.3 permiten definir sobre ellos un álgebra de Boole,
denominada usualmente álgebra de contactos.
Esto significa que cualquier función lógica puede ser transcrita directa e
inmediatamente a diagrama de contactos y viceversa, transcripciones de utilidad cuando se
trata de visualizar gráficamente un programa escrito en lenguaje booleano.
113
Controladores Lógicos Programables
sino como transcripción directa de los esquemas eléctricos de relés (circuitos de mando) de
uso común en la automatización previa a la aparición de los sistemas programables.
Por esta razón, los diagramas de contactos incluyen desde sus orígenes bloques
funcionales que ya aparecían como elementos propios en aquellos esquemas, los
temporizadores y los contadores.
Utilizando estos bloques, sobre los cuales pueden definirse la base de tiempos y el
tiempo final en el caso de temporizadores y el módulo de contaje y condiciones de paro y
reset en el caso de contadores, el lenguaje de contactos permite programar directamente
cualquier esquema eléctrico de relés.
Sin embargo, y al igual que ocurría en los lenguajes booleanos, también en este se
desarrollan bloques funcionales complejos que permiten la manipulación de datos y las
operaciones con variables digitales de varios bits.
Por supuesto, y al igual que ocurre con las extensiones al lenguaje booleano, no
todos los autómatas, aun del mismo fabricante, pueden manejar todas las posibilidades de
programación con contactos: solo las gama más altas acceden a la totalidad de extensiones
del lenguaje, quedando las restantes limitadas al empleo de partes más o menos
significativas de él.
114
Controladores Lógicos Programables
-Contactos
-Bobinas
-Bloques funcionales
-Bloques operativos.
115
Controladores Lógicos Programables
Los bloques operativos permiten realizar tratamientos numéricos sobre variables digitales
(palabras):
-Operaciones aritmético/lógicas.
-Comparaciones.
-Conversiones de código.
-Transferencias, etc.
116
Controladores Lógicos Programables
117
Controladores Lógicos Programables
118
Controladores Lógicos Programables
LD Marcha
LD KLM
AND Paro
OR-LD
OUT KLM
LD KLM
AND-NOT KMT
AMD-NOT TIM2
OUT KME
LD KLM
AND-NOT KME
AND TIM2
TIM 1
#0005
LD TIM1
OUT KMT
…
LD KLM
TIM 2
#0100
LD KLM
CMP (20) _
003
119
Controladores Lógicos Programables
#0266
LD KLM
AND 25507
OUT 4000
LD 4000
MSG (46) _
DM00
END.
Nótese como en el listado anterior falta la asignación de direcciones a las variables del
programa.
120
Controladores Lógicos Programables
121
Controladores Lógicos Programables
elegir la forma de representación que prefiera para las funciones básicas (AND, OR, NOT,
TIM, etc.)
122
Controladores Lógicos Programables
123
Controladores Lógicos Programables
124
Controladores Lógicos Programables
La figura 3.23 muestra un ejemplo de programa escrito con estos lenguajes híbridos,
desarrollando con un software específico de programación de autómatas que corre sobre
ordenador personal.
Con CPUs cada vez más rápidas, más potentes y de mayor capacidad de trabajo, los
autómatas de gamas altas invaden aplicaciones hasta hace bien poco reservadas a los
miniordenadores industriales.
En ellos, las instrucciones son líneas de texto que utilizan palabras o símbolos reservados
(SET, AND, FOR, etc.), las operaciones se definen por los símbolos matemáticos
habituales (+,*,<, etc.) y se dispone de funciones trigonométricas, logarítmicas y de
manipulación de variables complejas (COS, PI, REAL, IMG,…).
125
Controladores Lógicos Programables
Sin embargo, lo que distingue realmente estos lenguajes avanzados de las listas de
instrucciones ampliadas son las tres características siguientes:
-FOR…TO
-REPEAT…UNTIL X
-WHILE X…
-IF…THEN…ELSE
126
Controladores Lógicos Programables
127
Controladores Lógicos Programables
Clasificadas en:
-Operaciones generales: comandos de actuación BASIC sobre bits, palabras, o textos
directos (SET, LET,..) o condicionados (IF, FOR,…)
-Operaciones de conversión: Cambios de código, obtención de módulos, etc.
-Operaciones matemáticas: Operaciones logarítmicas, trigonométricas, aritméticas, etc.
-Operaciones de control de programa: saltos y subrutinas.
Como puede observarse en la tabla, los comando que aparecen, son en su mayoría los de
uso normal del BASIC.
Debe indicarse que algunas de las sentencias literales de alto nivel están disponibles
en lenguaje de contactos como bloques de función extendidos y viceversa: de esta forma, el
fabricante asegura la compatibilidad entre ambos lenguajes, y aprovecha mejor el software
maquina (firmware) desarrollado (figura 3.26).
128
Controladores Lógicos Programables
INSTRUCCIONES
GENERALES CONVERSION MATEMATICAS DE CONTROL
BIT CLOSE ABS COS CALL MOD
DATA DEF BYTE PI CALL FUN
DIM ELSE CHR$ SIN CALL ASS
END ENDEF BID SGN GOSUB
FILE FOR DEB SQR ON GOSUB
GET IF INT (,) ON GOTO
INP INPUT RND + RETURN
LEFT $ LEN STR$ - USR
MODE NEXT VAL /
OPEN OUT WORD <
PEEK POKE >
PRINT PTR <=
READ READ$ =>
READL REM <>
RES PS RES F =
RESTORE RUN
SPC STEP
STOP TAB
THEN TIMER
TO UNLOCK
UPD USING
PRINT RES
SET SWAP
129
Controladores Lógicos Programables
130
Controladores Lógicos Programables
Figura 3.26 Compatibilidad entre los lenguajes de contactos y de alto nivel (ejemplo
telemecanique)
RESUMEN
131
Controladores Lógicos Programables
-Literal, o textos
-Gráfica, o de símbolos.
Cada instrucción del programa consta de dos partes: el código de operación, que
define que se debe hacer, y el código o códigos de los operandos (generalmente
identificados por su dirección), que indican las constantes o variables con las que se deben
operar.
Los lenguajes literales están formados por secuencias de textos agrupados en
instrucciones u ordenes elementales del programa.
Los lenguajes gráficos, con origen en los esquemas eléctricos de relés y en los
diagramas de la electrónica digital, utilizan símbolos de contactos/bobinas para representar
las instrucciones básicas, y símbolos de bloques lógicos para las extensiones al lenguaje,
que extienden su potencia hasta la de los lenguajes literales de alto nivel.
132
Controladores Lógicos Programables
Para mandos complejos, que necesiten realizar cálculos, manipular largas cadenas
de caracteres o utilizar subrutinas o bloques de programación manufacturados (mando de
ejes, regulación PID, etc.), puede ser necesario utilizar lenguajes literales de alto nivel, que
permiten también, no se olvide, programar sentencias booleanas sencillas o manejar
temporizadores y contadores como listas de instrucciones.
133
Controladores Lógicos Programables
UNIDAD IV.
INTRODUCCIÓN
-Bloques secuenciales básicos, de uso general incluso en autómatas de gama baja. Son los
biestables, temporizadores, contadores y registros de desplazamientos.
-Bloques de expansión (también llamados funciones), que aumentan la potencia del
lenguaje al permitir manipular variables numéricas y registros de datos, con instrucciones
aritméticas, de comparación, transferencias, etc.
134
Controladores Lógicos Programables
Los primeros pueden considerarse como parte de los lenguajes básicos de autómata,
mientras que los segundos son extensiones de ellos.
Todos estos bloques funcionales son sentencias preprogramadas de aplicación
general, es decir, el usuario debe adaptarlos a sus necesidades indicando las condiciones de
trabajo: valores de temporización, direcciones de origen y destino de la transferencia,
nombre (direcciones internas) de los registros con los que se desea operar, etc.
En su caso más general, los bloques presentan tres tipos de variables asociadas
(figura 4.1) .
135
Controladores Lógicos Programables
Aunque los datos internos manejados por el autómata siempre son binarios, el
usuario puede definirlos en su programa sobre distintas bases: decimal, hexadecimal, BCD,
etc., encargándose el intérprete de su conversión automática al binario para su operación.
136
Controladores Lógicos Programables
- Biestables,
- Temporizadores,
- Contadores,
- Registros de desplazamiento, y
- Secuenciadores paso a paso.
4.1.1 Biestables
137
Controladores Lógicos Programables
138
Controladores Lógicos Programables
139
Controladores Lógicos Programables
140
Controladores Lógicos Programables
4.1.2 Temporizadores
141
Controladores Lógicos Programables
142
Controladores Lógicos Programables
- una variable binaria de control, obtenida por consulta de una entrada o variable
interna, o por combinación entre varias.
143
Controladores Lógicos Programables
144
Controladores Lógicos Programables
145
Controladores Lógicos Programables
146
Controladores Lógicos Programables
147
Controladores Lógicos Programables
Los valores del módulo de temporización suelen oscilar entre 0 y 9999 (cuatro
dígitos BCD, 16 bits binarios), que, para la base de tiempos de 0.1 s (muy frecuente), se
convierten en temporizaciones de 0 a 9999 segundos.
Dada la mayor facilidad con que la CPU detecta el valor 0 sobre cualquier otro, los
temporizadores resultan ser, en general, descendentes:
148
Controladores Lógicos Programables
Según este principio, la figura 4.9 propone una temporizaciòn de segundos, minutos
y horas utilizando varios elementos con base de tiempo 100 ms y valor máximo de
preselecciones de cada uno, por ejemplo para 1 hora, 5 minutos, 25 segundos, es como
sigue:
1h = 3600 s
5 min. = 300 s
25 s = 25 s
3925 s preselección
La solución más eficaz en estos casos consiste en utilizar un reloj propio del
autómata (relé interno especial) como base de tiempos, y activar con el un contador cargado
con el módulo deseado: mientras lo permita la señal de mando, el contador incrementa su
cuenta a la frecuencia del reloj, pero si se interrumpe la habilitación (o si ocurre una
pérdida de tensión) no se pierde el tiempo transcurrido, que permanece como valor
149
Controladores Lógicos Programables
contado. Una estructura de este tipo, que puede considerarse como de temporizador
acumulativo, se presenta en el apartado de descripción de contadores.
4.1.3 Contadores
-Contador bidireccional (UP/DOWN), que acumula la diferencia entre los pulsos recibidos
por sus entradas de cuenta ascendente y cuenta descendentes.
150
Controladores Lógicos Programables
La operación del contador reversible es cíclica (…9998, 9999, 0,1,…), mientras que
el contador incremental se detiene una vez alcanzado el modulo de cuenta.
La figura 4.10 muestra las formas de onda temporales correspondientes a estas tres
estructuras de contador descritas.
Obsérvese como en los contadores bidireccionales la salida se activa cuando el valor
contado es cero: no tiene mucho sentido detectar un valor de preselección que puede ser
forzado en cualquier momento con la orden “Pre set”.
Además, para evitar actuaciones prematuras del contador, este no actúa (no recoge
impulsos y la salida esta en OFF) hasta que la señal “Pre set” recorre al menos una vez la
secuencia ON-OFF.
151
Controladores Lógicos Programables
152
Controladores Lógicos Programables
153
Controladores Lógicos Programables
154
Controladores Lógicos Programables
155
Controladores Lógicos Programables
La figura 4.14 muestra una disposición de este tipo, capaz de contar horas,
minutos y segundos en una estructura mucho mas sencilla que la lograda con
temporizadores (ver la figura 4.19), y además con la información protegida contra perdidas
de tensión, tanto por parada voluntaria como por caída de la alimentación. Este esquema,
fácilmente ampliable hasta días o meses, permitiría, por ejemplo, conocer los tiempos de
funcionamiento de una máquina, de una línea de producción, etc.
156
Controladores Lógicos Programables
157
Controladores Lógicos Programables
158
Controladores Lógicos Programables
En aplicaciones donde sea necesario desplazar los datos tanto hacia la derecha como
hacia la izquierda, se utilizaran los registros de desplazamiento bidireccionales, cuya única
diferencia con los anteriores consiste en la inclusión de una señal de mando cuyo estado
determina el sentido de circulación de la información.
La función registro de desplazamiento necesita los siguientes tres campos para su
programación:
-Nombre de la Función, que la identifica indicando su carácter unidireccional o
bidireccional.
-Número de elemento, que indica su posición en la memoria interna.
-Señales de entrada de reset, datos y reloj.
159
Controladores Lógicos Programables
160
Controladores Lógicos Programables
merecedor de una mayor atención. Por ello, se ha creído útil incluir aquí tres ejemplos de
programación que demuestran las posibilidades de esta función.
El primero de ellos, y tal vez el más característico, es el control de calidad en líneas
de producción.
Supóngase un producto manufacturado, por ejemplo, botellas de perfume, que es
sometido a tres comprobaciones en una cadena de supervicio: nivel correcto de producto,
presencia de etiqueta, y tapón colocado. Las comprobaciones se realizan sobre estaciones
consecutivas, como muestra la figura 4.16, que entregan un bit de salida para indicar
presencia o ausencia de defecto, niveles “1” ó “0”.
Las señales de salida son enviadas a tres registros de desplazamiento, SFT1, SFT2 y
SFT3, que reciben pulsos de reloj sincronizados con el avance de las piezas. De esta forma,
cada registro tiene almacenado el estado de las piezas presentes en la cadena, desde la
estación que le corresponde, y hasta el final de la misma.
161
Controladores Lógicos Programables
El programa de control se presenta en la figura 4.17, con las señales de reset y Cloe
comunes a todos los registros.
162
Controladores Lógicos Programables
El programa de la leva, definido por el estado de los bits internos del SFT, se carga
en este mediante una operación de transferencia de palabra en la puesta en marcha: a partir
de este instante, la secuencia de unos y ceros se repite indefinidamente mientras no se altere
por un reset o una nueva transferencia.
163
Controladores Lógicos Programables
El ejemplo mostrado se refiere a una sola leva, de tantos pasos como posiciones
tenga el registro. Si se desean varias de ellas (árbol de levas), se utilizaran tantos SFY como
sena necesarios, cada uno con el programa o secuencia específica, pero con los impulsos de
mando comunes.
164
Controladores Lógicos Programables
165
Controladores Lógicos Programables
166
Controladores Lógicos Programables
167
Controladores Lógicos Programables
- Eligiendo uno de entre los que le propone el fabricante, de longitud fija (por ejemplo, uno
entre 32, con 16 bits cada uno).
- Definiendo el o los que necesita, de longitud variable, sobre las posiciones que el
fabricante reserva para este fin, (por ejemplo, 256 posiciones).
- Selección del secuenciador, donde el usuario elige el que necesita entre los que le propone
el fabricante, o define el suyo sobre el área prevista a tal efecto (direcciones inicial y final),
activa el primer paso de la secuencia y valida el funcionamiento del bloque.
- Salto de paso (“Step”), que habilita el paso siguiente y deshabilita el actual cuando se
cumplen las condiciones de paso fijadas.
168
Controladores Lógicos Programables
Por tanto, su empleo no está limitado por ninguna cantidad dentro de un programa,
si bien los elevados tiempos de ejecución que requieren (respecto a las más simples
instrucciones lógicas O, Y, NO (OR, AND, NOT) pueden hacer desaconsejable su uso
extensivo cuando se necesiten ciclos ejecución muy cortos.
Los bloques de expansión, que reciben diferentes nombres según los fabricantes
(bloques operativos, instrucciones de computación, etc.), incluyen todas aquellas
instrucciones que aumentan y mejoran la potencia de tratamiento de la información por
parte del autómata: transferencias, operaciones aritméticas, comparaciones, etc.,
instrucciones que extienden los lenguajes de autómata mucho más allá de las sencillas
operaciones lógicas o bloques secuenciales estándar.
Una primera clasificación de estas nuevas instrucciones las divide en:
- Transferencias y
- Operaciones.
169
Controladores Lógicos Programables
Una definición tan amplia incluye en los bloques de expansión gran número de
instrucciones y sentencias, aun cuando existan significativas diferencias entre ellas: no es
comparable, por ejemplo, una operación de división entre dos registros de 16 bits (4 dígitos
BCD) en coma fija (unidades enteras). Con una división en coma flotante sobre 32 bits (7
dígitos BCD más en coma decimal de posición variable).
Esta división entre básicas y avanzadas puede también ser alcanzada considerando
el tipo (magnitud) de operandos que utiliza la instrucción, que pueden corresponder a
(figura 4.21):
Por supuesto, debe entenderse la figura 4.21 en su sentido amplio, que incluye
dentro de los bits individuales tanto relés internos, especiales, auxiliares, etc., como
indicadores de paso
170
Controladores Lógicos Programables
de secuenciador, o etapa GRAFCET, por ejemplo, y dentro del área de palabras tanto los
registros de datos como los dedicados a temporizadores, contadores, registros de
desplazamiento y canales de entrada/salida.
Los dos primeros operandos enunciados, bits y palabras simples, son propios de las
expansiones básicas (aritmética en coma fija, comparaciones, complementación, etc.),
mientras que los tres últimos aparecen en las avanzadas (aritmética en coma flotante,
comparaciones múltiples, transferencias de información, etc.)
171
Controladores Lógicos Programables
Así, por ejemplo, existen instrucciones (básicas) de rotación que giran un bit dentro
de una palabra, y otras (avanzadas) que mueven una palabra dentro de una tabla,
comparaciones (básicas) entre palabras, o (avanzadas) entre tablas, etc.
172
Controladores Lógicos Programables
distinguen entre instrucciones como LKH (cargar una constante hexadecimal), LKT (cargar
un valor BCD de preselección de temporizador), LEB (leer un byte de entradas), etc.
173
Controladores Lógicos Programables
174
Controladores Lógicos Programables
- Igual (=)
- Menor (<)
- Mayor (>)
En el primer caso, debe tenerse en cuenta que los relés internos indicadores suelen
ser comunes para todas las instrucciones de comparación usadas en el programa, por lo que
es conveniente condicionar las salidas de cada comparación a la condición de habilitación
de la misma. Así, se evitan interferencias entre comparaciones distintas dentro del
programa.
175
Controladores Lógicos Programables
176
Controladores Lógicos Programables
S1 ≥ variable ≥ S2 salida ON
177
Controladores Lógicos Programables
Una instrucción como esta permite chequear fácilmente rangos de máximo y mínimo
valor de una variable, por ejemplo, para disparar alarmas, establecer controles de calidad
etc.
La figura 4.24 muestran una comparación de intervalo en la que el usuario decide la
variable de salida asociada al resultado.
Así, por ejemplo, distintos estados de una cuenta que utiliza las mismas señales de
pulsos, reset y habilitación no tiene por que necesitar diferentes contadores: basta uno solo,
en el que los estados se detectan por comparación a diferentes valores.
178
Controladores Lógicos Programables
Estas instrucciones tratan los datos en la palabra como cadenas de bits, que son
entonces operados dos a dos según las funciones O, Y, O-exclusiva y NO (OR, AND, XOR
y NOT).
179
Controladores Lógicos Programables
Si intenta enviarse a la dirección de destino un valor fuera del rango que tenga
asignado (por ejemplo, un valor mayor de 9999 a una dirección de preselección de
contadores), aparece un error durante la ejecución.
180
Controladores Lógicos Programables
-Incrementos/decrementos.
-Suma/diferencia.
-Multiplicación/división.
Sobre palabras de 16 bits (9999 en BCD) están disponibles en todas las máquinas,
excepto tal vez en algún microautómata compacto, mientras que las más avanzadas de:
181
Controladores Lógicos Programables
-Raíz cuadrada.
Con operandos muchas veces de más de una palabra, aparecen solo en los lenguajes
previstos para autómatas de gama alta.
Aunque por defecto el bit de acarreo queda a cero tras un reset, la precaución
anterior es obligada antes de empezar a operar. En operaciones multiregistro, sin embargo,
debe respetarse el esto del acarreo para que este pueda afectar a registros posteriores de
mayor peso.
182
Controladores Lógicos Programables
183
Controladores Lógicos Programables
La figura 4.27 representa una operación de división entre registros que contienen
información binaria, por ejemplo para un cambio de escala de valor leído en una entrada
analógica.
184
Controladores Lógicos Programables
La programación de una conversión lineal consta al menos de dos partes (figura 4.28):
185
Controladores Lógicos Programables
El ejemplo de la figura 4.29, donde también se muestran los rangos de entrada que
provocan error en la operación, aclara esta circunstancia.
186
Controladores Lógicos Programables
187
Controladores Lógicos Programables
-Específica, definida por usuario, con otros elementos cualesquiera y conexión casi siempre
en serie, a través de interfaces y procesadores de comunicaciones punto a punto o en red.
En ocasiones, la toma Terminal puede ser reconvertida a una vía serie RS 232/422
actuando sobre los parámetros de configuración del autómata. Esta opción es frecuente en
las gamas medias y bajas, porque les permite acceder a comunicaciones definidas por el
usuario son necesidad de utilizar procesadores específicos.
Las conexiones específicas de usuario incluyen todas las demás punto a punto o en
red: uniones con MODEM, con lectores magnéticos u ópticos, con otros autómatas u
ordenadores, con visualizadores o consolas de explotación no conectadas a la toma
Terminal, etc.
188
Controladores Lógicos Programables
Para operar bajo esta forma de comunicación, definida por el usuario, existen en el
autómata instrucciones especificas, tanto para inicializar el puerto utilizado (procesador o
toma Terminal en conexión no estándar) como para transferir los bloques de datos.
-Velocidad en baudios.
-Paridad.
189
Controladores Lógicos Programables
190
Controladores Lógicos Programables
El ejemplo mostrado es de los mas sencillos, pero aun en estos cada fabricante
mantiene diferencias significativas con los demás sin dejar de respetar la secuencia general
expuesta (parametrización + transferencia), la programación de los bloques de
comunicación es bien distinta para cada marca: cambios de nombre, estructuras,
limitaciones, flexibilidad, etc., obligan a estudiar por separado cada nuevo autómata.
191
Controladores Lógicos Programables
Ciertamente, el entorno ideal para el usuario sería aquel en que le bastara con
indicar los inicios y finales del bloque a transmitir, la condiciones de habilitación de
transmisión, el control de errores y la dirección del interlocutor, es decir, que lo liberara de
la parametrización del procesador o canal de transmisión, que quedaría transparente para él.
192
Controladores Lógicos Programables
-Consolas de explotación.
-Software de supervisión y control SCADA.
-Software de programación y monitorización, etc.
Productos con conexión directa a la toma Terminal y que, por tanto, tienen resuelta la
comunicación lógica y física con el autómata. Desde ellos, el usuario tiene acceso directo a
la memoria interna para lectura/forzado de señales, cambios de estado, control desde un
programa de aplicación exterior, etc., manipulando las variables del autómata son necesidad
de conocer los protocolos de comunicación.
Bajo los epígrafes especiales se consideran todas aquellas instrucciones que, bien por
su especificidad dentro de un lenguaje de autómata, bien por lo particular de su aplicación,
no pueden considerarse pertenecientes a ninguno de los grupos hasta ahora estudiados,
instrucciones booleanas, bloques secuenciales o bloques de expansión.
Estas instrucciones acusan aun más que las anteriores la falta de estandarización de
los fabricantes: sus denominaciones, aun cuando sean de operación semejante, son casi
siempre diferente entre si.
193
Controladores Lógicos Programables
Por ello, la siguiente clasificación las agrupa pro su función, indicando también
algunos de los nombres por los que se pueden encontrar dentro de un lenguaje:
Paréntesis.
194
Controladores Lógicos Programables
195
Controladores Lógicos Programables
● Diagnóstico
Con esta instrucción el usuario puede señalizar ciertas circunstancias según una
tabla de códigos previamente establecida, de forma que cuando se produzca la condición de
ejecución, la instrucción envía el código (mensaje alfanumérico o numérico) hacia un área
particular de memoria (área de diagnósticos), donde puede ser consultada y/o enviada al
exterior, normalmente hacia un visualizador de mensajes conectado en la toma Terminal.
Como se sabe, los autómatas establecen una vigilancia sobre el tiempo de ejecución del
programa: si este supera un cierto valor (fijado en el reloj de guarda), se dispara una alarma
que provoca la parada del funcionamiento (paso a STOP). Este control, que puede resultar
inconveniente para programas particularmente largos (por ejemplo, con muchas
instrucciones aritméticas), puede en ocasiones aritméticas), puede en ocasiones ser ajustado
por el usuario en la aplicación, bien modificando el tiempo (incluso hasta segundos), bien
bloqueando por programa o parametrización la acción del temporizador de guarda.
196
Controladores Lógicos Programables
Los programas de autómata pueden estar sometidos a un espionaje tan acusado como
otras actividades industriales, sobre todo en actividades de baja complejidad y mercado
amplio, por ejemplo, control de ascensores. Para evitar la copia o manipulación indebida de
programas, algunos autómatas permiten introducir en el una palabra de control o secuencia
alfanumérica, que bloquea el acceso al programa si no es indicada desde la consola cuando
se intenta la lectura o modificación de instrucciones.
4.4 RESUMEN.
197
Controladores Lógicos Programables
Por último, están las instrucciones especiales, muchas veces partículares para cada
marca o autómata: diagnósticos, restricciones de acceso al programa, control del reloj de
guarda, etc.
Que serán objeto de estudio más adelante, y junto con las reglas sintácticas y
ortográficas que regulan su empleo, forman el cuerpo de los lenguajes de autómata, tan
completos y potentes que en ocasiones permiten confundir a esta máquina con un pequeño
ordenador industrial.
198
Controladores Lógicos Programables
En las páginas que siguen figuran las características y datos aportados por los
fabricantes y/o distribuidores de algunos de los Autómatas Programables existentes en el
mercado. La imposibilidad de relacionar a todos hace que esta lista sea corta. Creemos de
todas formas que en ella figuran los fabricantes más significativos de estos equipos.
La relación es la siguiente:
Tabla 4.2
Tipos AO20 AO20 plus
199
Controladores Lógicos Programables
200
Controladores Lógicos Programables
Tabla 4.3 Cuadro sinóptico de los PLC para la formación y aplicación industrial
201
Controladores Lógicos Programables
operativas fijas
Autómata programable tipo PS 3-AC, tensión de alimentación 120/230 V. AC. 50-60 HZ.,
protección IP-20, de construcción compacta, según normas:
VDE 0160, VDE 0110, VDE 0411, parte 2 200/IEC 332, DIN 19240.
202
Controladores Lógicos Programables
-Microprocesador
-Memoria Bit, BYTE, palabra.
-Memoria de programa RAM o EEPROM 3,6 KBYTE 1000 instrucciones
-Batería tampón 2 x 1,5 V Duración min. 2 años.
-Registro auxiliar para operaciones BIT (LIFO).
-Interfaces RS 485. Velocidad transmisión 187, K Baudios.
-Tiempo de ciclo 5 msg./1k= (valor típico 1…2,5 msg).
CONSOLAS DE PROGRAMACIÓN
-TIPOS:
PRG 3 forma programación lista instrucciones
PRG 3S forma programación lista instrucciones
PRG 300 forma programación lista instrucciones o esquema de contactos.
-Tensión de alimentación 9V DC, 450 mA. (max.)
-Display Display de cristal liquido de 16
caracteres.
-Teclado Teclas de corto recorrido con proyección o activación por
software
-Interfaz PRG+PS
-Mecánica 5 Terminales
-Eléctrica RS 485
-Protocolo transmisión datos SUCONET
-Velocidad transmisión datos 187,5 K Bit/s.
-Protección de programa de
Datos en memoria propia Mediante acumulador
-Tiempo de protección Aprox. 30 días
-Peso 0,5 Kg.
203
Controladores Lógicos Programables
Mediante Soft tipo S30-S3-E + EPC 334.1, compuesto de tarjeta de interfaz, alojada en PC
y juego de disquetes, creación de documentación de referencias y esquema de contactos o
listado de instrucciones.
CPU UP 8085.2
Duración de ciclo 70 seg. (medio por paso de programa)
Tiempos de reacción entrada/salida APROX. 18 mseg. (comprendido el retardo
de entrada)
Juego de instrucciones 32, mas extensiones para operaciones
aritméticas, salida de textos, transferencias
de datos y funciones paramétricas.
Funciones paramétricas -Circuitos de regulación de triple acción
(PID)
-Registros de desplazamiento
-Control por totalización (Check Sum)
-Gestión de interrupciones.
204
Controladores Lógicos Programables
CPU µP 8085.2
Programas paralelos 16 (PP15 para el tratamiento de interrupciones)
Registros de índice 16 (1 por cada programa paralelo)
Niveles de sub-rutinas 3 por cada programa paralelo
Memoria del usuario 1k, 2k, 4k, u K pasos de programa EPROM o RAM
Memoria de texto 2K, 4K u 8K caracteres ASCII, EPROM o RAM
Numero de entradas y 32,64, 128 o 56 112 224 con B 90
salidas
Indicadores volátiles/no 477+235 =712*
volátiles
Numero de contadores mas 64* (DIR 256…287 temporizadores/contadores)
temporizadores o registros (DIR 288… 319 contadores)
aritméticos
Capacidad de contaje o de 65535 (2 -1) montaje en cascada a voluntad
calculo
Gama de tiempos 0,1 seg… 6553 seg. (0,01 …655 seg)**
Reloj fechador Semana, día de la mañana, año, mes, día, hora, minuto,
segundo
Precisión de reloj > 3 seg./día
Interfase serie de datos Bucle de corriente 20m A, activo o pasivo, para
entrada/salida de textos y de datos
Vigilancia del sistema Auto vigilancia incorporada con salida por relé (Watch-Dog)
Indicación de datos Por LED sobre los módulos de entrada y salida
Indicación del estado de Mediante el modulo de visualización PCA 1 D11, por LED,
contadores, temporizadores de 7 segmentos (4 cifras)
u operandos en el modo de
funcionamiento RUN
205
Controladores Lógicos Programables
Notas:
La totalidad de los 712 indicadores, así como los 64 resgistros de contadores
y temporizadores, pueden hacerse no volátiles por simple conmutación de un
puente en la zona del usuario.
La base de tiempos es de 1/100 seg. (gama de tiempos 0.01 seg.) por simple
conmutación de un puente en la zona del usuario.
1. The capacities
Processor modules UIT 1 or 2 independent CPUs
Processing time 6 µ per logia instruction
In -/out puts 16 I/O modules or 256 in -/out puts
Flags 8 192 x 1 bit (volatile/non-volatile,
programmable by the user)
Register 4 096 x 32 bits
Index register 16 x 13 bits (1 per COB)
Counter/timer 1600 (division programmable by the user)
Counting range 31 bits without preceding sing (0… 2 147 483
647)
Time range 31 bits without preceding sing (0… 2 147 483
647 clochks)
Time base Selectable in the range 10 ms … 10s
User memory 16K program lines
64 K text characters each of 8 bits or a
combination of both
Counting range Integer:
-2 147 483 648 …+ 2147 483 647 (-2² ..+2² …-
1)
Floatong point:
-9.223 37177.10³ …-2.710 505 35.10 -²
+9.223 371 77.10³...+5.421 01 70.10-²
Types of natation
Decimal, binary, BCD, hexadecimal or floating
point
Date-time In the public memory module year to second
Accuracy Better than 15 s / month
Power reserve > 2 months
Communication interfaces 1 to 4 interfaces RS 232c, RS 422, 20mA-current
loop
2. General technical data 24 VDC + 25/-20% smoothed or 19
Suplíy voltaje VAC±15%two-way rectified
Power consumption Max. 48 W for 256 I/O
Interface immynity 4 kv in accordance with IEC 801-4 (digital I/O
206
Controladores Lógicos Programables
Características de la CPU
207
Controladores Lógicos Programables
208
Controladores Lógicos Programables
209
Controladores Lógicos Programables
SESTEP 390
Unidades centrales Gate-array
Procesador
●Condiciones ambientales 160 Propia 0…55C
E/S
refrigeración
digitales -
Con
Temperatura
E/S analógicas
ambiente de 80
Marcas
servicio(bits) 256
Registros (palabras) 128
Contadores/temporizadores HARDWARE DEL
Tiempo de efrigera: 96 SESTEP 290
-por K
●Chasisde instruí. Básicas 5…11,5ms
-por K debásica
Unidad instruí. De 32 puntos de E/S
palabras
Unidad básica 10…100ms 48 puntos de E/S
●Unidad
Memorias de programas
de ampliación 32 puntos de E/S
RAM
EPROM
●Alimentación 1,92 K pasos
115/230 V c.a.
EEPROM
Mod. Alimentación en ca 1,92 k pasos 24 V c.c./ 2,2 A
●Chasis
●Unidad central
Posc.
UnidadEn central
unidad SESTEP
básica 2903,4,5,6,7128 E/S
Posc. En unidad de 3,4,5,6,7
ampliación
● Módulos digitales de entrada
●Módulos
8 entradasde refrigeración
115 V c.a 110/220 V c.a.
Tensión de entrada
8 entradas 230 V c.a. 24 V c.c.
●Módulos
8 entradasde 12/24
E/S V c.c. Opto acoplador
Logica positiva
Separación
8 entradas galvánica
12/24 V c.c. Logica negativa
● Módulos digitales de salida
●Módulos
8 salidas por
especiales
relé Convertidor
5…250
PT 100
V c.a. 5
…50 V. c.c.
8 salidas por triac
●Comunicación 15…250V
Mod. Remoto esclavoc.a.
8 salidas por transistor 10…28 V c.c.
●Tipos de interfaz RS 232C
210
Controladores Lógicos Programables
Modulo ciego
Maleta demostración
Unidad de prog. Manual
Unidad de prog. manual
IL/ Display 2 lineas
Modulo de memoria EEPROM
UNIDAD V
211
Controladores Lógicos Programables
Obsérvese cómo, en cualquier caso, el ciclo de operación de la tarea, sea única o una más
dentro de la aplicación, recorre la conocida secuencia de cuatro pasos:
- Adquisición de entradas.
- Escrutinio del programa (de la tarea).
- Actualización de salidas.
- Servicio a periféricos o terminales de explotación.
Así pues, la tarea constituye una entidad de programación completa, con sus propias
entradas, salidas, variables internas y sentencias de control. Esta circunstancia, que permite
optimizar la ejecución utilizando estructuras multitarea si se dispone de un hardware
multiprocesador con procesadores adaptados a los distintos tipos de tratamientos (booleano,
regulación, tratamiento de textos, etc.), obliga, sin embargo, a utilizar un gestor de recursos
en estas aplicaciones para eliminar la conflictividad en el acceso a los medios (recursos),
como muestra la figura 5.1
El gestor, un ente software que el usuario puede parametrizar para asignar las
prioridades a las tareas de su programa, puede correr sobre una CPU específica o
coordinadora (por ejemplo, la unidad 923 A de Siemens), o sobre la misma CPU principal
(por ejemplo, en el autómata TSX 87-40 de Télemecanique.
212
Controladores Lógicos Programables
En efecto, una vez asignada a la aplicación una estructura mono o multitarea para su
programación, cada una de las tareas resultantes debe ser programada según una secuencia
213
Controladores Lógicos Programables
214
Controladores Lógicos Programables
- Supervisión y chequeos.
- Entrada y salida de datos.
- Ejecución secuencial del programa.
- Servicio a periféricos externos.
215
Controladores Lógicos Programables
Estas instrucciones, utilizadas para ordenar programas lineales, pueden ser de dos tipos:
- Saltos (incluyendo las sentencias de alto nivel IF… THEN… ELSE, GOTO … WHILE,
etc.)
- Habilitación de bloques (Master Control Set/Master Control Reset, Block Program Pause,
etc.).
216
Controladores Lógicos Programables
Más adelante, según avance la edición del programa, el usuario puede llamar a la
macro en cualquier instante, intercalando su nombre entre las sentencias que escribe. El
programa Editor, o el compilador posterior, se encarga de insertar en ese punto el conjunto
de sentencias almacenado como macro.
El trabajo con macros permite construir bibliotecas de base que pueden volverse a
explotar en ulteriores aplicaciones por el mismo u otros usuarios.
La gestión de estas bibliotecas puede hacerse desde el nivel elemental de comandos
del sistema operativo empleado (DOS, UNIX), o desde un entorno software (por ejemplo,
XTEL-MOD de Télémecanique) específicamente diseñado para:
217
Controladores Lógicos Programables
218
Controladores Lógicos Programables
El salto está normalmente definido entre dos posiciones, que fijan respectivamente
su inicio y final. Esta última está indicada por una instrucción particular (JEND, JMP R,
etc.) o por una dirección dentro del programa, identificada mediante una etiqueta durante la
programación.
219
Controladores Lógicos Programables
Aunque los saltos están normalmente definidos entre instrucciones de inicio y final,
los fabricantes pueden proponer, como extensión a los lenguajes básicos, saltos relativos de
n posiciones desde la actual, donde n puede ser una variable de programa y no únicamente
una constante. Estas instrucciones, que permiten efectuar tratamientos adaptados a distintas
condiciones (por ejemplo, definiendo tantos programas alternativos como se deseen), deben
ser utilizadas con precaución: las modificaciones de programa durante puestas a punto, con
supresión o inserción de instrucciones entre el origen y el final del salto, deberán quedar
reflejadas en el índice n so pena de incurrir en un error de control, o, en el mejor de los
casos, en un error de programación con bloqueo del autómata.
220
Controladores Lógicos Programables
En este último caso, hay que esperar a que el programa recorra de nuevo la
sentencia del temporizador para que la salida de éste pase a nivel alto. Según autómatas o
fabricantes, pueden existir limitaciones en el empleo de las instrucciones de salto:
221
Controladores Lógicos Programables
DO … WHILE, etc.,
IF
(expresión)
THEN
(acciones del programa A)
ELSE
(acciones del programa B)
IF (expresión booleana)
222
Controladores Lógicos Programables
THEN (acción/es A)
ELSE (acción/es B)
Como frases condicionales (se ejecutan o no las acciones en función del resultado
de una expresión booleana), y los literales:
223
Controladores Lógicos Programables
224
Controladores Lógicos Programables
225
Controladores Lógicos Programables
226
Controladores Lógicos Programables
227
Controladores Lógicos Programables
228
Controladores Lógicos Programables
- La tarea se divide en partes, que pueden ser tratadas (análisis, y síntesis de la solución)
por separado,
- Puede repartirse la programación entre diferentes programadores,
- Si el software de programación lo permite, pueden escribirse los bloques en diferentes
lenguajes (gráficos, literales), buscando el más adaptado al tratamiento de las variables que
contienen,
- Las modificaciones de puesta a punto se realizan mucho más rápidamente,
- Se generan bibliotecas de módulos o subrutinas, que pueden ser utilizadas en otras
aplicaciones,
- La documentación resultante es más abundante y fácil de leer, incluso para técnicos
ajenos a la programación.
229
Controladores Lógicos Programables
230
Controladores Lógicos Programables
Aunque esta estructuración del programa puede realizarse sobre cualquier autómata
(siempre y cuando el lenguaje empleado permita el uso de llamadas a subrutinas), será
mucho más eficiente cuando se implemente sobre aquellas máquinas o con aquellos
lenguajes específicamente preparados para soportarla.
También el fabricante puede forzar la estructuración del programa previendo una
plantilla o subdivisión en partes, que el usuario se encarga de llenar de contenidos
(instrucciones) durante la programación.
- Tratamiento preliminar.
- Tratamiento secuencial.
- Tratamiento posterior.
231
Controladores Lógicos Programables
de emergencia, etc. Las sentencias de este módulo son escrutadas sólo durante el primer
ciclo después de la puesta en marcha del autómata (paso de STOP a RUN).
La figura 5.11 muestra el ciclo de funcionamiento del autómata TSX 17 con esta
solución, tal y como lo muestra su fabricante Télémecanique. La estructura anterior, con los
tres tratamientos separados mediante instrucciones especiales del lenguaje literal, es rígida
y no modificable por el usuario, que se limita a programar o no sentencias dentro de las
zonas definidas. A cambio, se hace innecesario el programa raíz, y la estructura,
perfectamente adaptada a aplicaciones de baja y media complejidad, simplifica la edición
del programa.
A diferencia de lo anterior, siemens propone para su gama baja de autómatas, programados
con el lenguaje literal STEP 5, una estructura modular abierta (figura 5.12) que puede
enlazar distintos tipos de módulos:
232
Controladores Lógicos Programables
233
Controladores Lógicos Programables
Los módulos de programa (PB), numerados entre 0 y 63, contienen las instrucciones
del programa de mando. Estos módulos son llamados desde el OB 1 con instrucciones de
salto condicional o incondicional, y permiten la anidación entre sí (figura 5.13).
234
Controladores Lógicos Programables
Cada módulo funcional constituye una función cerrada dentro del programa de
aplicación, y pueden ser programados:
Los módulos de datos (DB) contienen constantes alfanuméricas que son utilizadas
por el programa.
- Códigos binarios arbitrarios.
- Constantes numéricas y operandos de cálculo.
- Valores de preselección de temporizadores y contadores.
- Caracteres ASCII para salida de textos, etc.
235
Controladores Lógicos Programables
Sólo es activo en cada momento un módulo de datos, de entre los que contenga la
memoria de programa. El módulo se activa mediante una instrucción especial (A DBn), y
permanece activo hasta que se llame a otro, o finalice el módulo de programa que lo ha
llamado.
5.2.2 SUBRUTINAS
Como se ve, una misma subrutina puede ser llamada desde diferentes puntos del
programa, resultando de su empleo una reducción de la longitud del programa de usuario.
236
Controladores Lógicos Programables
Las subrutinas que evalúan una función, y reportan un solo valor al programa
principal, se denominan funciones, y suelen aparecer con nombres propios, fijados por el
fabricante, dentro de los lenguajes evolucionados de alto nivel.
Algunos ejemplos de funciones son:
237
Controladores Lógicos Programables
Unas subrutinas pueden imbricarse con otras hasta un cierto nivel de anidamiento,
que depende del tipo de lenguaje y/o del autómata que lo soporta.
Una de las principales ventajas del empleo de las subrutinas es que, al igual que con el
empleo de las macroinstrucciones o los módulos de programa, se pueden establecer y
desarrollar bibliotecas de subrutinas, disponibles para uso posterior.
238
Controladores Lógicos Programables
Los sistemas de control más complejos, que suelen exigir operaciones entre las
variables independientes entre si en el tiempo, se programan con tratamientos multitarea,
donde cada tarea recompone de un programa principal, ejecutado de forma cíclica
periódicamente o no y, eventualmente, subprogramas locales (es decir, en programación
estructurada o lineal).
Cada tarea constituye una entidad de programación completa, con sus propias entradas,
salidas, sentencias y ciclo de operación, siendo el programa de usuario el conjunto de todas
las tareas previstas para su ejecución.
Estas tareas parciales, que funcionan de forma independiente entre sí, intentan
actuar de forma concurrente sobre los recursos del sistema, por lo que debe existir un
elemento planificador o supervisor que asigne dichos recursos.
Dependiendo de la estructura hardware de la unidad de control, mono o multiproceso, este
supervisor puede actuar de dos formas:
- Decidiendo, en cada instante, qué tarea estará activa y tendrá acceso a todos los recursos.
- Gestionando el acceso a buses de los distintos procesadores, que estará ejecutando
simultáneamente en el tiempo (en paralelo) las tareas que tienen asignadas.
239
Controladores Lógicos Programables
Sea una u otra la acción desencadenada por el supervisor, son posibles varios
métodos de planificación o decisión, aunque los más utilizados en autómatas son el
prioritario y el de gestión de tiempos.
Una vez arrancado, el autómata irá ejecutando las tareas según esta plantilla de
tiempos, resolviendo las simultaneidades que se presenten en atención a la mayor o menor
prioridad establecida para las tareas involucradas. De esta forma, se asegura el
cumplimiento del tiempo de ciclo fijado para la tarea más prioritaria, siendo en las demás
tanto menos probables de cumplirse conforme se va descendiendo hacia las tareas definidas
como menos prioritarias.
240
Controladores Lógicos Programables
Además de las tareas periódicas, estos autómatas pueden ejecutar una tarea
interrupción no periódica muy rápida (< 1 ms), asíncrona y prioritaria a todas las demás,
cuya ejecución se desencadena bajo una señal que proviene de sucesos externos:
posicionamiento de ejes, conteo rápido, etc.
241
Controladores Lógicos Programables
242
Controladores Lógicos Programables
243
Controladores Lógicos Programables
ellos con los demás procesadores (por ejemplo, para actualizar alguna de sus variables de
cálculo) y con las memorias imagen de entradas/salidas, si son comunes a la unidad.
Mientras, cada procesador ejecuta, simultáneamente en el tiempo con los demás, la tarea
que tenga introducida en su memoria de programa, independiente de las otras que forman el
programa. De esta forma, y dado que un tratamiento multitarea en multiproceso no presenta
interrupciones ni interferencias entre unas tareas y otra, se obtiene la mayor velocidad de
ejecución posible para el conjunto de la aplicación del usuario.
244
Controladores Lógicos Programables
- Tarea de interrupción.
245
Controladores Lógicos Programables
246
Controladores Lógicos Programables
247
Controladores Lógicos Programables
La tarea de interrupción alcanza sus máximas prestaciones cuando las E/S que
utiliza son especiales, particularmente rápidas frente a las estándar. Estas entradas/salidas
rápidas se consiguen reduciendo o eliminando el filtro de la interfaz E/S, lo que permite
tiempos de conmutación ON-OFF del orden de 1 ms o incluso menos, con anchos de
impulso detectables de hasta 250 µs.
248
Controladores Lógicos Programables
249
Controladores Lógicos Programables
Por ejemplo, la función SEND de Morón SYSMAC Serie C se utiliza para enviar datos a
un dispositivo conectado al autómata vía red local SYSNET del mismo fabricante.
La estructura de la función es la siguiente:
Nombre SEND
Dirección
Fuente
Inicial SB
Dirección
Destino
Inicial DB
Datos de
control C (número de palabras, dirección de envío)
250
Controladores Lógicos Programables
251
Controladores Lógicos Programables
El módulo funcional está construido de tal forma que el usuario es guiado por el
entorno de programación al ensamblar el módulo en su programa. Una vez llamado, el
módulo aparece con sus operandos formales (parámetros), identificados por nombres o
abreviaturas, para que el usuario coloque en ellos los valores deseados en ese punto del
tratamiento (figura 5.20).
252
Controladores Lógicos Programables
253
Controladores Lógicos Programables
Por supuesto, los módulos funcionales generados pueden ser tan complejos como se
quiera, bien por su estructura intrínseca, bien porque se obtienen como combinación de
otros previos.
5.5 APLICACIONES.
254
Controladores Lógicos Programables
Las interfaces entre los módulos son palabras (registros) de datos cuyas direcciones
se indican como parámetros actuales al parametrizar el módulo. En estos módulos de datos
se indican, por ejemplo, los valores reconsignas, los parámetros de ajuste del regulador,
etcétera.
255
Controladores Lógicos Programables
UNIDAD VI
-Nivel de bus de campo. Este es el nivel de red mas próximo al proceso y se carga de la
integración de pequeños automatismos (autómatas compactos, multiplexores de E/S,
controladores PID, equipos de medida, etc.) en las llamadas “islas”, que controlan distintas
parcelas, en el nivel mas alto de estas redes se suelen encontrar uno o varios autómatas
modulares de gama alta, que pueden actuar como maestro de la red o en estructuras de
maestro flotante. El conjunto constituye lo que se suele llamar una “célula de fabricación”.
256
Controladores Lógicos Programables
-Nivel de LAN. Este es el nivel jerárquicamente por encima del anterior y se encarga
normalmente de enlazar las distintas “células de fabricación” en grupos más grandes. A este
nivel se suelen encontrar los autómatas de gama alta y los ordenadores de proceso
dedicados a las tareas de diseño, control de calidad, etc.
-Nivel LAN/WAN. Este nivel es el más próximo al área de gestión y se encarga de integrar
los niveles anteriores en una estructura de fábrica o incluso de múltiples factorías con
emplazamientos dispersos. Las maquinas que forman parte de este nivel suelen ser mini
ordenadores o redes de ordenadores compartiendo recursos e incorporando bases de datos
que permiten centralizar los servicios de compras, control de stocks, ventas, control de
costos, etc.
La estructura indicada no es, sin embargo, universal. Dependiendo del tamaño del
proceso y de la propia empresa podemos encontrar redes con grado de complejidad muy
diverso, desde el simple bus de campo hasta la que contiene todos los elementos citados.
Globalmente y para cualquiera de los niveles citados, se esta todavía lejos de tener
un estándar universalmente aceptado que cubra todos los aspectos, desde el nivel físico,
pasando por los protocolos de enlace y terminado con un software de aplicación que
permita al usuario olvidarse de las interioridades tecnológicas y aplicar el sistema de
comunicaciones como algo “transparente” que simplemente esta ahí y que se puede utilizar
a través de un software comprensible incluso para los no expertos.
257
Controladores Lógicos Programables
de control y que no tienen capacidad sufriente para implementar sobre ellos protocolos
complejos.
A nivel de LAN existe una mayor uniformidad, puesto que los estándares han sido
implantados en muchos casos pro los grandes gigantes del mundo de la informática. A este
nivel se suele trabajar ya con CPU mas potentes o incluso se suele dedicar una CPU a la
tarea especifica de las comunicaciones. Los fabricantes de automatismos y periféricos han
optado en la mayor parte de los casos pro construir adaptadores de conexión, código y
protocolo (denominados generalmente “pasarelas”) que permiten unir su red de campo
particular con redes de alto nivel como MAP u otras.
Dado, pues que no podemos hablar de un sistema único, con un entorno homogéneo
para las comunicaciones industriales, dedicaremos esta unidad a explicar en particular
algunos de los que se han hecho más populares en cada uno de los dos niveles básicos (bus
de campo y LAN), ya sea por el número de aplicaciones instaladas, ya por el potencial
técnico y económicos de las empresas que los han comercializado o implantado.
Trataremos solo de una forma muy marginal las redes a nivel de WAN, puesto que la
conexión a redes industriales, si existe, suele efectuarse a través de las mencionadas
pasarelas u ordenadores de comunicaciones, cuyo estudio escapa del ámbito de este texto.
258
Controladores Lógicos Programables
Debe señalar aquí que no hemos considerado propiamente como buses de campo las
uniones punto a punto entre dos autómatas de la misma marca o entre un autómata de gama
alta con uno o varios de gama baja, también del mismo fabricante. Muchas de estas uniones
carecen de protocolo y se basan simplemente en compartir ciertas áreas de memoria de los
citados autómatas a través de lo que se denominan “variables comunes”. Así pues, la
característica básica para que una red de comunicación pueda denominarse propiamente
bus de campo es que permita intercambiar órdenes y datos entre productos de un mismo o
de distintos fabricantes a través de un protocolo reconocido por cada uno de los nodos.
Hasta el momento han sido varios los intentos de crear un estándar para el nivel bus
de campo. En todos los casos se pretende básicamente conseguir un enlace multipunto, para
elementos cuya CPU esta básicamente dedicada a las tareas de control. Dichas CPU tienen
una capacidad de comunicación limitada y no permiten implementar un protocolo al estilo
de las grandes redes sin que ello suponga una perdida importante de su velocidad y un
incremento de precio y complejidad no justificables.
Las características generales más comunes de los buses de campo son las siguientes:
-Los estándares de comunicación a nivel de bus de campo cubren solo una parte del
modelo OSI, concretamente los niveles físico (1), enlace (2) y aplicación (7). El resto de
niveles no son imprescindibles par una red de tipo muy local, donde los medios de
conexión son de exclusivo y la estructura lógica es única. Solo algunas funciones que se
podrían considerar propias de los nivel “red” y “sesión” se añaden a los niveles 2 y 7 para
enlazarlos entre si.
259
Controladores Lógicos Programables
-Lo que realmente define el tipo de bus y le da nombre es el protocolo de acceso al medio
(MAC) y de enlace (LLC). Dicho protocolo suele incluir también un soporte rudimentario
par la capa de aplicación, que consiste en la definición de una serie de funciones y servicios
de la red mediante códigos de operación estándar.
-El nivel de aplicación, dirigido al usuario, suele ser propio de cada fabricante, apoyándose
en las funciones, estándar antes mencionadas para crear programas de gestión y
presentación casi siempre dedicados a una gama específica de productos. A lo sumo, el
software de aplicación es abierto y permite la programación en un lenguaje estándar
(actualmente el mas popular es el C) para que cada usuario pueda configurar el nivel de
presentación a su conveniencia, apoyándose en librerías estándar.
-Salvo el caso de BITBUS, todos los buses de campo suelen utilizar comunicaciones serie
asíncrona, con velocidades relativamente lentas.
-En la mayor parte de bus de campo, el protocolo esta previsto para gestionar una red con
estructura lógica de tipo maestro-esclavo, donde el control de red lo tiene siempre el
maestro. Existen, sin embargo, algunos buses de creación más reciente que proponen una
estructura con la posibilidad de maestro flotante.
Las condiciones fijadas como marco por IEC son las siguientes:
260
Controladores Lógicos Programables
Obsérvese que las especificaciones son bastantes detallistas a nivel físico, pero dejan
muy abiertos los niveles de enlace y aplicación (no se especifica la trama del mensaje ni las
261
Controladores Lógicos Programables
funciones disponibles), con lo cual y desde el punto de vista del usuario, es probable que
dos nodos que cumplan las recomendaciones marco de IEC no puedan siquiera
intercambiar caracteres entre si quiera intercambiar caracteres entre si y casi seguro que no
serán capaces de intercambiar información, a menos que la estación “maestra” ejerza las
funciones de pasarela. (Algo parecido a lo que ocurre con dos dispositivos con sendos
canales RS-232 que se intercambian bits a nivel físico, pero que son incapaces cada una de
interpretar los mensajes del otro).
Las condiciones marco propuestas por IEC admiten varios posibles candidatos a bus de
campo estándar. Hay que tener en cuenta, además, que muchos buses comerciales
disponibles en la actualidad nacieron antes de la normativa IEC y, por tanto, no cumplen
algunos de los requisitos. El resultado es que se sigue estando ante una autentica “torre de
Babel” en lo que se refiere a compatibilidad de productos a este nivel.
Atendiendo a esta última afirmación y para no quedarnos en una descripción vaga de los
buses de campo, hemos creído conveniente hacer un estudio a fondo de algunos de los que
actualmente están más extendidos, procurando que no sean exclusivos de una sola marca.
El estudio lo hemos concretado en los siguientes:
-BITBUS. Esta designación corresponde a una marca registrada por Intel para designar
un bus de altas prestaciones en velocidad y bajo costo. Sin embargo, Intel ha cedido a
dominio publico el estándar y, por tanto, puede considerarse un estándar abierto. Se
trata de un bus asíncrono, cuyo protocolo se gestiona completamente mediante el
microcontrolador 8044, un ASIC basado en la arquitectura de la familia 8051 dotado
de una USART y con las funciones de protocolo integradas en ROM.
262
Controladores Lógicos Programables
Existen, asimismo, otros buses que han gozado o gozan de cierta popularidad y que
han sido apoyados pro algún consorcio de fabricantes o incluso por alguna norma y que no
hemos creído conveniente detallar, tales como:
-FIP (Factory Instrumentation Bus), impulsado por algunos fabricantes franceses, con el
apoyo de algunos organismos oficiales de aquel país.
-Bus MIL-STD-1553B, adoptado por algunos fabricantes en USA.
263
Controladores Lógicos Programables
Hay que señalar que tras los nombres más o menos distintos que cada fabricante da
a su red propia de comunicaciones suele esconderse, a veces algún bus prácticamente
idéntico a otro conocido con distinto nombre. Tal es el caso, por ejemplo, de JBUS,
utilizado por la marca APRIL, este bus está basado en un protocolo prácticamente idéntico
al de MODBUS.
La gran cantidad de señales de E/S que deben cablearse hacia la unidad central
hacen que muchas veces el cableado se convierta en un problema. Dicho problema es
especialmente grave y costoso en el caso de procesos distribuidos en una planta de gran
extensión, como en el caso de la industria química, petrolífera o incluso en la propia
industria del automóvil. Para resolver este problema algunos fabricantes tradicionales de
bornes y medios de conexión (Phoenix, Weidmuller y otros) han desarrollado lo que se
podría llamar “cajas de conexión multiplexados”.
264
Controladores Lógicos Programables
265
Controladores Lógicos Programables
A nivel interno, los multiplexores de E/S acostumbran a utilizar alguno de los buses
de campo normalizados que acabamos de estudiar (Phoenix utiliza, por ejemplo, BITBUS
para lo que dicho fabricante comercializa como INTERBUS – S).
266
Controladores Lógicos Programables
Aparte del tiempo de respuesta, la tabla 6.1 muestra un pequeño resumen de las
características de un multiplexor típico.
267
Controladores Lógicos Programables
6.4.1 MAP
Dado el gran poder de compra de la firma americana y la adhesión que tuvo por
parte de otras firmas del sector del automóvil, muchos fabricantes de autómatas, CNC y
robots incorporaron a sus productos de gama alta una interfaz de comunicaciones con
protocolos MAP.
268
Controladores Lógicos Programables
Al igual que hemos visto en otros casos, el protocolo es una pieza clave de la
comunicación y, en muchos casos, da nombre a la red. Tal es el caso de MAP, en torno al
cual se ha normalizado una estructura de comunicaciones para la industria, donde se
contemplan los tres niveles jerárquicos que hemos comentado en la introducción:
-Nivel bus de campo: MAP no cubre propiamente este nivel, sino que lo considera un nivel,
sino que lo considera un nivel inferior que se integra en la red mediante autómatas o
terminales que actúan aisladamente, pero que disponen de una pasarela entre el bus de
campo y la red MAP. Estos terminales disponen, pués, de dos canales de comunicación:
uno que conecta con el bus de campo (con un protocolo propio) y otro que enlaza con la red
MAP. De esta forma MAP se muestra lo suficientemente abierto como para poder integrar
productos de gama baja trabajado con otros protocolos.
-Nivel de Red Local: El MAP es un protocolo pensado para redes de tipo WAN; por tanto,
incluyendo los niveles de red, transporte, sesión y presentación, que le permiten el
fraccionamiento de paquetes y el encaminamiento de los mismos a través incluso de redes
conmutadas publicas o privadas. No obstante, resulta excesivamente caro y complejo para
aplicaciones de pequeña y mediana envergadura y, sobre todo, para la interconexión de
pequeños controladores a nivel industrial. En vista de ello se creo un subconjunto del
protocolo, pensado para redes industriales de tipo LAN, totalmente compatible con el
MAP. Este protocolo simplificado se conoce como MINIMAP y esta previsto para
gestionar una red local con una arquitectura tipo bus con acceso por paso de testigo (EPA,
Enhanced Protocol Architecture). El protocol se simplifica a base de eliminar las capas
intermedias del modelo OSI previstas para la conexión a redes conmutadas y queda
reducido a los niveles 1 (físico), 2 (enlace) 3 (red) y 7 (aplicación). Su ventaja respecto a
otros protocolos de gestión de redes LAN estriba en el hecho de que permite la integración
de la red local en redes WAN, simplemente añadiendo a la trama las funciones de
transporte y sesión propias del MAP.
269
Controladores Lógicos Programables
-Nivel LAN/WAN: A este nivel, la red MAP propiamente dicha cubre los siete niveles del
modelo OSI. Esta basada en un bus con trasmisión en banda ancha multicanal, que permite
interconectar los sistemas de control de planta con las aplicaciones de gestión oficina CAD,
ordenadores de planta, canales de datos, voz, imágenes, etc., con emplazamientos locales o
remotos. En este último caso esta prevista la interconexión a redes WAN de uso público a
través de estaciones o nodos que actúan de pasarela entre la red local y la red WAN.
Las características básicas de la red MAP con protocolo completo se resumen en la tabla
6.2. Los puntos más destacables son los siguientes:
270
Controladores Lógicos Programables
-El número total de nodos puede llegar a 10,000 y la distancia entre ellos puede alcanzar
unos 10 km.
En el ámbito de este texto no entraremos en detalles de los sistemas de comunicación a
través de redes conmutadas ni de protocolos de transporte propios de redes a nivel de
WAN, por lo que estudiaremos únicamente con cierto detalle el nivel de red local
MINIMAP. En realidad, todo lo que se diga para los níveles físisco y enlace de dicha red
es compatible con MAP, ya que se trata de una simplificación del protocolo.
Así pués, para lograr una total independencia del nivel aplicación con los más bajos,
éste trabaja con entes abstractos, también llamados “entes virtuales” (ficheros, arrays y
variables), aunque admite una forma mas simple llamada “datagrama” (utilizada en
271
Controladores Lógicos Programables
El estándar basado en entes virtuales implementa los siguientes servicios (de más
bajo a más alto, (figura 6.2):
-CASE (Common Application Service Elements): Constituye la interfaz con los niveles
inferiores del modelo OSI.
-Directorio de entes virtuales: Contiene el índice de todos los “objetos” asociados a cada
uno de los procesos soportados por la red.
272
Controladores Lógicos Programables
6.4.4 MINIMAP.
-Desde un punto de vista físico, tiene una topología de bus, con un máximo de 64 nodos,
peor desde el punto de vista lógico funciona como un anillo
273
Controladores Lógicos Programables
-Al inicializar la red, el testigo se asigna a la estación con dirección más alta y el paso de
testigo se realiza por orden decreciente de direcciones.
-Cada estación, al recibir el testigo emite sus mensajes y al terminar cede dicho testigo a la
estación con dirección inmediatamente inferior, hasta llegar a la estación 1, que cede el
testigo a la de dirección mas alta.
274
Controladores Lógicos Programables
-Si una estación recibe el testigo y no tiene mensajes para transmitir lo pasa
inmediatamente a la siguiente.
-El tiempo de posesión del testigo esta limitado a unos 800 µs, después del cual la estación
que lo tenga debe cederlo aún en el caso de no haber finalizado la transmisión de sus
mensajes. De esta forma el tiempo máximo de ciclo esta acotado.
6.4.6 PROTOCOLO.
La trama del protocolo MINIMAP tiene la estructura indicada en la figura 6.3 Los
significados de cada campo y los códigos empleados se detallan en la figura 6.4 y se
explican a continuación.
Tipo de trama: El tipo de trama se codifica con 1 byte. Hay dos tipos de trama (veáse la
figura 6.4) trama MAC y trama LLC.
275
Controladores Lógicos Programables
Datos/Control LLC: MINIMAP designa este campo como “datos”, aún que el
encabezamiento de dichos datos contiene los códigos de registros o áreas de memoria de
origen y destino, así como el código de control de LLC, que son ya propios de los equipos
de origen y destino del mensaje. Así pues, la interpretación de esta parte del protocolo.
276
Controladores Lógicos Programables
277
Controladores Lógicos Programables
CRC (32): Se trata del campo de control de error (“checksum”) modulo 32, Lógicamente el
CRC (32) estas formado por 4 bytes (32 bits).
Fin de trama: El osesión de fin de trama contiene al menos un bit de error y un bit que
marca si es final de mensaje o se ha interrumpido por límite de tiempo en la posesión del
testigo.
278
Controladores Lógicos Programables
La figura 6.5 muestra un diagrama de tiempos con unas hipotéticas direcciones (59,
54,50 y 48) para ilustrar el procedimiento de arranque. En dicha figura se observa que la
primera trama, con duración correspondiente a la pareja de bits más significativos es de 2T
para todas las estaciones del ejemplo; por tanto, ninguna de ellas queda eliminada. En la
segunda trama es eliminada. En la segunda trama se elimina la estación 48, puesto que
después de emitir detecta señales en el bus.
279
Controladores Lógicos Programables
280
Controladores Lógicos Programables
281
Controladores Lógicos Programables
6.5 ETHERNET.
ETHERNET es el nombre de una red diseñada a principios de los setenta por Xerox
Corporation, para poder compartir una serie de recursos en su centro de investigación. La
técnica de comunicación fue adoptada y registrada posteriormente por la propia Xerox
junto con Digital e Intel y en la década de los ochenta se convirtió en un estándar de facto
para los niveles físicos, enlace y red de numerosas redes locales en el campo de la
ofimática.
282
Controladores Lógicos Programables
.
Niveles OSI 1,2 y 3 (el ultimo a
NIVELES IMPLEMENTADOS
través de puentes)
Cable coaxial de 50 (cable
MEDIO FISICOS ETHERNET) variantes de cable y
fibra óptica en banda ancha y
“thin wire”.
10 Mbits/s
VELOCIDAD
PROTOCOLO ACCESO
NUMERO MAXIMO DE ESTACIONES CSMA/CD según IEEE 802.3
SEPARACION MAX. ENTRE NODOS
1024
2,5 Km.
Las características básicas de la red se resumen en la tabla 6.5 las prestaciones más
relevantes de la red son las siguientes:
283
Controladores Lógicos Programables
-Compatibilidad de los nodos conectables: Esta compatibilidad se refiere solo a los niveles
físicos y de enlace. Es decir, cualquier par de terminales “compatibles” con ETHERNET
son capaces de intercambiar datos, peor no necesariamente de interpretarlos.
-Simplicidad: La gestión de la red no debe aumentar la complejidad de uso por parte del
usuario.
-Bajo coste y fácil mantenimiento: Este requisito debe respetarse tanto para el medio físico
de conexión como para las interfaces de protocolo de la red que deban incorporarse a cada
terminal.
-Equidad y fiabilidad: No existe ninguna prioridad entre las distintas estaciones y, además,
la avería o desconexión de cualquiera de ellas no interfiere el funcionamiento de la red.
-No se prevén distintas velocidades y medios de conexión en la norma básica. Se prevé una
única velocidad (10 Mbits/s) y un tipo de cable para transmisión en dada base.
284
Controladores Lógicos Programables
-Los únicos controles de errores previstos son: el CRC y la detección de colisión en la capa
de control de acceso al medio (MAC).
-No se establecen reglas de prioridad entre estaciones, aunque si están previstos varios
niveles de prioridad entre mensajes.
Así pues, todas estas prestaciones han ser previstas al margen del estándar y, por
consiguiente, esto puede originar problemas de incompatibilidad.
a) MEDIO FÍSICO:
285
Controladores Lógicos Programables
286
Controladores Lógicos Programables
10 Mbits/s
VELOCIDAD
PROTOCOLO ACCESO
NUMERO MAXIMO DE ESTACIONES CSMA/CD según IEEE 802.3
SEPARACION MAX. ENTRE NODOS
1024
2,5 Km.
287
Controladores Lógicos Programables
288
Controladores Lógicos Programables
Entre dos nodos no puede haber más de dos repetidores para evitar excesivos
retardos en la detección de colisión. Para resolver este problema se propone otro tipo de
bloque denominado puente ETHERNET. Este dispositivo dispone de un buffer de
memoria propio donde se recibe la información y se retransmite cuando el medio esta libre.
Esto permite interconectar dos o mas redes locales en lo que se denomina una red
extendida. Puede decirse, pues, que el citado dispositivo es el encargado de gestionar el
nivel OSI 3 (red) en la ETHERNET.
6.5.2 PROTOCOLO.
Según lo que acabamos de decir, lo trama podrá ser relativamente simple, puesto
que se trata de direccional solo dentro de una red local con un máximo de 1024 nodos. La
figura 6.10 muestra el formato básico de dicha trama. Los significados de cada uno de los
campos se detallan a continuación:
289
Controladores Lógicos Programables
-Dirección de destino: Este campo puede tener una longitud de 2 o 6 bytes (generalmente
6) e indica la dirección física o lógica de los nodos destino para la trama. Téngase en cuenta
que la ETHERNET básica soporta solo 1024 nodos, pero, como se ha dicho pueden
utilizarse “nodos puente” con su propia gestión de encaminamiento (routers) para enlazar
varias redes y, por tanto, no debe extrañarnos que la dirección este formado por 48 bytes.
-Si el primer bit es 0, los que siguen indican la dirección lógica de un nodo destino único
(comunicación punto a punto).
-Si el primer bit es 1, los que siguen indican un rango de direcciones de destino (conexión
multipunto).
-Si todos los bit son 1, indica que se trata de un mensaje de difusión, donde el destino son
todos los nodos.
-Tipo de trama: En realidad la norma IEEE 802.3 utiliza este campo de 2 bytes para
indicar la longitud del campo de datos, pero ETHETNET lo emplea para codificar distintos
formatos del campo de datos.
-Campos de datos: Este campo contiene en realidad toda la información, datos, órdenes,
direcciones físicas de memoria o registros de cada nodo, etc. No obstante, todo ello es
transparente para el protocolo ETHERNET, que no separa a analizar el contenido de dicho
campo ni a interpretarlo.
290
Controladores Lógicos Programables
La longitud máxima del campo de datos es d e1500 bytes. Algunos estándares fijan
además una longitud mínimo de 46 bytes y, en caso de no existir datos suficientes, se
insertan caracteres NUL (00h).
X32+X26+X22+X16++X12+X11+
+X10+X8+X7+X5+X4+X2+1
291
Controladores Lógicos Programables
RESUMEN.
En el entorno industrial nos encontramos con una serie de equipos digitales tales
como controladores, ordenadores de proceso y de gestión, etc., con grados de complejidad
muy diversos según su función. Tal como se ha dicho, la integración en red de todos ellos
comporta ventajas, pues permite situar la “inteligencia” cerca del proceso, aprovechar al
máximo los recursos y obtener el máximo de información útil, tanto desde el punto de vista
técnico y de control como desde el punto de vista de gestión de la fabricación.
Todo ello ha llevado a la concepción de una estructura optima de las redes para
obtener todas las ventajas mencionadas con un mínimo de costo y complejidad. Esta
estructura óptima contempla tres niveles jerárquicos: bus de campo, LAN y LAN/WAN.
Para cada uno de estos niveles, el mercado ofrece, una serie de productos, de
distintas fuentes, que solucionan una parcela de control y gestión. Estos productos han
nacido por separado y han sido concebidos pensando en solucionar una “parte” del proceso,
pero sin pensar en el “todo”, lo cuál dificulta actualmente su integración en red. La solución
para tales sistemas, concebidos como aislados, consiste en construir “pasarelas” que
permitan la comunicación, pero esto ocasiona un gran costo económico y técnico.
Lo deseable, vistas las premisas anteriores, serian definir un estándar de red que
permitiera la integración de productos “compatibles” de distintos fabricantes. Dado que
técnicamente existen varias soluciones validas para dicho estándar, se hace difícil que cada
fabricante renuncie a su propia filosofía y a productos ya implantados a favor de un nuevo
estándar y el resultado es que no podemos hablar de una única, sino de varias soluciones,
todas ellas validas, pero “incompatibles” entre sí.
292
Controladores Lógicos Programables
A lo largo de la unidad hemos ido repasando las soluciones que hemos creído que
tiene un mayor grado de implantación dentro de cada uno de los niveles jerárquicos antes
mencionados.
293
Controladores Lógicos Programables
BIBLIOGRAFÍA
5.- www.siemens.com.mx
294