Está en la página 1de 28

Automatización Industrial Tema 6 1

TEMA 6

Programación de bloques funcionales

Juan Carlos Marqueño González


UCLM – Depto. de Ingeniería eléctrica, electrónica, automática y comunicaciones

Automatización Industrial Tema 6 2

Contenido
• Introducción
• Bloques secuenciales básicos
• Biestables
• Temporizadores
• Contadores
• Registros de desplazamiento /
rotación
• Secuenciadores paso a paso
• Bloques funcionales de expansión
• Funciones de carga y
transferencia
• Comparaciones de datos
• Instrucciones lógicas entre
palabras
• Funciones aritméticas
• Funciones de comunicación
• Instrucciones especiales
Automatización Industrial Tema 6 3
Introducción [1|3]
• Los bloques funcionales aumentan la potencia de cálculo y simplifican la
programación
• Los bloques, en su caso más general, presentan tres tipos de variables asociadas
– Condiciones de operación
– Operandos de función
• Parámetros iniciales
• Datos de operación
– Salidas asociadas

Estructura de un bloque funcional

Automatización Industrial Tema 6 4


Introducción [2|3]
• Los operandos pueden ser:
– Constantes, tanto numéricas como caracteres ASCII
– Textos preprogramados en dispositivos exteriores
– Variables numéricas (el caso más frecuente)
• Registros internos

• Temporizadores o contadores (valores actuales)


• Canales de datos de 8 a 16 bits de entrada o salida

• El usuario puede definir en el programa el formato de los datos: decimal,


hexadecimal, BCD, etc
• La programación más frecuente de un bloque funcional es como elemento de un
diagrama de contactos, aunque dependiendo del fabricante se puede definir
mediante lista de instrucciones con reglas de sintaxis más o menos rígidas.
Automatización Industrial Tema 6 5
Introducción [3|3]

Árbol de operaciones de Step 7

Automatización Industrial Tema 6 6


Bloques secuenciales básicos [1|29]
Bloques secuenciales básicos
• Son un limitado número de elementos preprogramados por el fabricante
• Los bloques secuenciales más frecuentes son:
– Biestables
– Temporizadores
– Contadores
– Registros de desplazamiento
– Secuenciadores paso a paso

• La información contenida en los bloques secuenciales puede ser:


– Reinicializada al valor por defecto tras una puesta en marcha o reset
– Mantenida en los valores actuales mediante sus funciones de parametrización (excepto
temporizadores)
Automatización Industrial Tema 6 7
Bloques secuenciales básicos [2|29]
Biestables (I)
• Es un dispositivo capaz de mantener indefinidamente su estado a 0 ó 1 mientras el
autómata permanezca en RUN y no se ordene un pulso que lo modifique.
• Se puede construir a partir de elementos combinacionales estándar o como bloque
funcional
• El biestable se utiliza como unidad de memoria, capaz de recordar el estado de una
señal, aunque haya sido de corta duración (pulso).
• El biestable una vez activado y a diferencia de las salidas simples de asignación
OUT, la única forma de desactivarlo es mediante Reset o por reinicialización total
del autómata.

Automatización Industrial Tema 6 8


Bloques secuenciales básicos [3|29]
Biestables (II)

Construcción de un biestable Bloques funcionales biestables


Automatización Industrial Tema 6 9
Bloques secuenciales básicos [4|29]
Temporizadores (I)
• Un temporizador es un dispositivo capaz de retardar una orden de salida
(activación o desactivación) durante un cierto tiempo, en respuesta a una señal de
mando de entrada.
• Existen cuatro funciones de temporización:

1. Impulso: La salida se mantiene activa mientras dure


la señal de mando o condición de marcha, hasta un
cierto tiempo máximo denominado tiempo de
impulso.
2. Retardo de conexión: La salida se retarda hasta que
transcurra el tiempo de retardo. Es la función más
frecuente.
3. Retardo a desconexión: La salida conecta
simultáneamente con la entrada, y se mantiene
hasta un tiempo después de caer aquella,
denominado tiempo de desconexión.

Automatización Industrial Tema 6 10


Bloques secuenciales básicos [5|29]
4. Monoestable, o conformador de impulsos: Temporizadores (II)
Semejante al impulso de conexión, la salida se
mantiene activa, una vez activada la señal de
mando, durante un tiempo constante e
independiente de esta señal, el tiempo de
impulso.

• Para su programación, los temporizadores necesitan definir tres campos:


– Nombre de la función: define el tipo de temporizador a utilizar.
– Número de elemento: que indica su dirección en variable interna
– Parámetros de preselección: que concretan el valor total de la temporización
• Módulo de tiempo, o número de unidades a contar

• Base de tiempos, o frecuencia de conteo de unidades


• Se cumple que Tiempo total = Módulo x Base.
Automatización Industrial Tema 6 11
Bloques secuenciales básicos [6|29]
Temporizadores (III)

Modo de programación: SIMATIC

Nombre de la Base de Número de


• Retardo de conexión. TON función tiempos elemento
IN: Entrada de habilitación.
PT: Valor de preselección

Automatización Industrial Tema 6 12


Bloques secuenciales básicos [7|29]
Temporizadores (IV)

• Retardo de conexión memorizado. TONR


Automatización Industrial Tema 6 13
Bloques secuenciales básicos [8|29]
Temporizadores (V)
• Retardo a desconexión. TOF

Automatización Industrial Tema 6 14


Bloques secuenciales básicos [9|29]
Temporizadores (VI)

• Temporizador por impulsos. TP


– Sólo disponible en el modo de programación IEC 1131-3
Automatización Industrial Tema 6 15
Bloques secuenciales básicos [10|29]
Temporizadores (VII)
• Es frecuente que el lenguaje empleado disponga únicamente de la función de
retardo a la conexión y el resto se obtenga a partir de ella

Funciones de temporización construidas Bloque funcional temporizador


con retardos a la conexión

Automatización Industrial Tema 6 16


Bloques secuenciales básicos [11|29]
Temporizadores (VIII)
• Si la sentencia que contiene al temporizador es saltada durante la ejecución, no se
detiene el contaje de tiempo, aunque la salida asociada no se activa hasta que el
programa pase de nuevo por ella, en el supuesto que se ha alcanzado el tiempo de
preselección.
• El valor de temporización final puede
Temporización extendida de horas, minutos y
escalarse conectando dos o más segundos
temporizadores en serie, de forma que
la habilitación (señal de mando) de
cada uno la constituya el alcance de
tiempo del anterior.
Automatización Industrial Tema 6 17
Bloques secuenciales básicos [12|29]
Temporizadores (IX)
• En general, los bloques temporizadores no son acumulativos: si desaparece la
señal de mando, se pierde el tiempo acumulado hasta el momento.
• Este funcionamiento puede no interesar al usuario, que puede preferir mantener el
tiempo aun cuando desaparezca la señal de control, por ejemplo en
cronometrajes.
• La solución consiste en utilizar un contador acumulativo
• Aplicaciones de los temporizadores:
– Generación de retardos o conformación de impulsos
– Cronometrajes entre sucesos consecutivos
– Filtrado de señales
– Obtención de tiempos de parada de maquinaria

Automatización Industrial Tema 6 18


Bloques secuenciales básicos [13|29]
Contadores (I)
• Un contador es un dispositivo capaz de
medir (contar) el número de cambios de
nivel en una señal de entrada, activando
una señal de salida cuando se alcanza
un valor prefijado.
• Dos tipos
– Contador incremental
– Contador bidireccional
• De entradas de pulsos separadas (UP /
DOWN)

• De entradas de pulsos común + señal de


dirección de cuenta

Formas de onda temporales de contadores


Automatización Industrial Tema 6 19
Bloques secuenciales básicos [14|29]
Contadores (II)
• Campos de los bloques funcionales
contadores:
– Nombre de función: diferencia entre Bloques funcionales
incrementales y bidireccionales contadores

– Número de elemento: indica su


dirección en variable interna
– Parámetros de preselección: indican el
valor a alcanzar, o módulo de cuenta
en los incrementales, o el valor de
carga cuando se activa la señal de
validación en los bidireccionales

• Además necesita algunas señales


asociadas como las entradas de pulsos,
y las señales de habilitación o reset.

Automatización Industrial Tema 6 20


Bloques secuenciales básicos [15|29]
Contadores (III)
• El conteo de la señal de entrada se hace habitualmente por flanco o frente
ascendente
• El módulo de cuenta o la preselección suelen estar limitados, como en los
temporizadores, a un valor entre 0 y 9999
• Si fueran necesarias cuentas superiores a 9999 pueden colocarse contadores en
serie. En este caso el módulo total de cuenta será el producto de los módulos
parciales

Asociación de contadores en serie


Automatización Industrial Tema 6 21
Bloques secuenciales básicos [16|29]
• Aplicaciones de los contadores: Contadores (IV)
– Contaje de sucesos, para ordenar acciones de mando o
disparar alarmas.
– Control de stocks
– Divisores de frecuencia, con un factor de división igual a
módulo de cuenta: frecuencia de salida = frecuencia de
entrada / módulo de cuenta.
– Estadísticas de producción

• Una aplicación particular consiste en utilizar los


contadores como temporizadores al introducir en la
entrada de pulsos una variable interna de reloj.

Temporizador mantenido contra pérdidas de tensión

Automatización Industrial Tema 6 22


Bloques secuenciales básicos [17|29]
Contadores (V)
• CTU: Contar adelante. Empieza a contar hasta el valor máximo cuando
se produce un flanco positivo en la entrada de contaje (CU). Si el valor
actual (Cxxx) es >= al valor de preselección (PV), se activa el bit de
contaje. El contador se inicializa al activarse la entrada de desactivación
(R)
• CTD: Contar atrás. Desde el valor de preselección cuando se produce un
flanco positivo en la entrada de contaje (CD). Si el valor actual es 0 se
activa el bit de contaje. El contador se inicializa al activarse la entrada de
carga (LD)
Automatización Industrial Tema 6 23
Bloques secuenciales básicos [18|29]
Contadores (VI)
• CTUD: contar adelante/atrás
– CU: contar adelante si se produce un flanco positivo
– CD: contar atrás si se produce un flanco positivo.
– R: entrada de desactivación. Al activarse inicializa el contador
– Si Cxxx >= PV [valor de preselección] se activa el bit de contaje.

Automatización Industrial Tema 6 24


Bloques secuenciales básicos [19|29]
Registros de desplazamiento (I)
• Un registro de desplazamiento (“Shift register”, SFT) es un bloque funcional
formado por una cadena de biestables conectados en serie, de forma que
permiten el paso de bits (estados) de uno a otro, sincronizado con una señal
externa de reloj.
• El bit contenido en el último biestable se pierde en la transición, mientras que el
primero pasa al estado determinado por la entrada de datos
• Pueden ser registros de desplazamiento bidireccionales, que incluyen una señal de
mando para determinar el sentido de la información.
• Para su programación se necesitan estos tres campos:
– Nombre de la función: indica si es unidireccional o no
– Número de elemento: indica la posición en la memoria interna
– Señales de entrada de reset, datos y reloj
Automatización Industrial Tema 6 25
Bloques secuenciales básicos [20|29]
Registros de desplazamiento (II)

• Se puede sustituir por instrucciones set/reset combinadas con un contador

Registro de desplazamiento

Automatización Industrial Tema 6 26


Bloques secuenciales básicos [21|29]
Registros de desplazamiento (III)
• Ejemplos de uso en procesos secuenciales:
– 1) Control de calidad en líneas de producción:
– Tres comprobaciones en una cadena de supervisión: nivel correcto de producto, presencia de
etiqueta y tapón colocado.

– Las señales de salida son enviadas a tres registros de desplazamiento, SFT1, SFT2 y SFT3

– Un expulsor hidráulico colocado al final de la misma rechaza las piezas defectuosas,


identificadas por los bits correspondientes en cualquiera de los tres registros: transcurridos 3,
2 ó 1 pulsos (unidad de avance).

Cadena de control de calidad Programación de la cadena de control de calidad


Automatización Industrial Tema 6 27
Bloques secuenciales básicos [22|29]
– 2) secuenciador o leva electrónica
Un conjunto de órdenes de mando se ejecutan secuencialmente según la posición
del bit activo (leva) dentro del registro
El proceso es cíclico. Los bits activos que se desplazan secuencialmente por su
interior, habilitan la ejecución de cada etapa de mando.
Si la entrada de pulsos se obtiene de un reloj, la leva se denomina de avance
temporizado.
En caso contrario, las secuencias de unos y ceros se repiten, pero los tiempos
asociados pueden variar según la frecuencia de los pulsos de mando.

Automatización Industrial Tema 6 28


Bloques secuenciales básicos [23|29]
Registros de desplazamiento (V)
Desplazar byte a la derecha o a la izquierda. Desplaza el byte de entrada (IN) a la derecha tantas posiciones
como indique el valor de desplazamiento (N) y carga el resultado en el byte de salida (OUT).
- Se rellena con ceros cada vez que se desplaza un bit.
- Si el valor de desplazamiento es >= 8, el valor se desplazará como máximo 8 veces.
- Si el valor de desplazamiento es > 0, la marca de desbordamiento (SM1.1) adoptará el valor del último
bit desplazado hacia fuera.
- Las operaciones de desplazamiento de bytes no llevan signo -
Automatización Industrial Tema 6 29
Bloques secuenciales básicos [24|29]
Registros de rotación (I)
Operaciones de rotar byte a la derecha o izqda. Rotan el valor del byte de entrada (IN) a la derecha o
izquierda respectivamente tantas posiciones como indique el valor de desplazamiento (N) y cargan el
resultado en OUT.
- Si N>8: se ejecuta una operación de módulo 8, lo que implica valores de rotación de 0 a 7.
- Si se ejecuta la rotación, el valor del último bit rotado se copiará en la marca de desbordamiento (SM1.1)
- Las operaciones de rotación de bytes no llevan signo

Automatización Industrial Tema 6 30


Bloques secuenciales básicos [25|29]
Operación Registro de desplazamiento desplaza el valor de DATA al registro de Registros de rotación (II)
desplazamiento. S_BIT indica el bit menos significativo de dicho registro.
N indica la longitud del registro y el sentido de desplazamiento
Los bits desplazados por la operación Registro de desplazamiento se depositarán
en la marca de desbordamiento (SM1.1)
Si la longitud (N) indicada es positiva, los datos de entrada (DATA) se desplazarán
desde el bit más significativo al bit menos significativo (indicado por S_BIT) del
registro de desplazamiento, y viceversa.
Automatización Industrial Tema 6 31
Secuenciadores paso a paso

• La función secuenciador paso a paso (“step by step”)


hace posible el control secuencial de procesos
cuando éstos pueden dividirse en diferentes pasos o
etapas, de ejecución consecutiva y condicionada al
cumplimiento de condiciones de transición que
fuerzan el salto de paso.
• El arranque inicial se logra poniendo a ‘1’ el primer
bir de paso. A partir de este instante, los saltos
sucesivos entre etapas quedan fijados por la
condición de fin de la anterior.
• Es un caso particular del registro de desplazamiento,
donde sólo uno de los bits internos puede estar
activo simultáneamente.
• La estructura lógica resultante, se corresponde muy
bien con la evolución temporal de muchos
automatismos industriales.

Automatización Industrial Tema 6 32


Bloques secuenciales básicos [27|29]
Secuenciadores paso a paso (II)
• El bloque secuenciador es definido en el programa:
– Eligiendo uno de los que propone el fabricante, de longitud fija
– Definiendo el usuario los que necesita, de longitud variable

• Sentencias necesarias para su programación:


– Selección del secuenciador
– Salto de paso (‘Step’)

• Adicionalmente, pueden existir sentencias de inhibición de paso o salto


incondicional, que permiten el control asíncrono de la secuencia.
• Finalmente el usuario tiene que supeditar los bloques o etapas en que haya
dividido el programa a los pasos deseados.
• Esta función es típica en los lenguajes de autómata de fabricantes japoneses,
prefiriendo los europeos implementarla mediante secuencias GRAFCET o
programadores cíclicos multilevas.
Automatización Industrial Tema 6 33
Bloques secuenciales básicos [28|29]
Secuenciadores paso a paso (III)

Automatización Industrial Tema 6 34


Bloques secuenciales básicos [29|29]
Secuenciadores paso a paso (IV)

Divergencia y convergencia AND


Automatización Industrial Tema 6 35
Bloques funcionales de expansión [1|18]
Otros bloques funcionales (I)
Se incluyen otros bloques funcionales / instrucciones que extienden el lenguaje del
autómata como son las transferencias, operaciones aritméticas, comparaciones, etc.

Automatización Industrial Tema 6 36


Bloques funcionales de expansión [2|18]
Funciones de carga y transferencia (I)
• Instrucciones especiales como las rotaciones o las de
transcodificación, pueden considerarse instrucciones de transferencia
con modificación de contenido
• En algunos autómatas es posible transferir información entre la
memoria interna del autómata y dispositivos externos.
• Aplicaciones:
– Dar salida a mensajes sobre visualizadores alfanuméricos o monitores
TRC.
– Cargar nuevas tablas de datos
– Parámetros o puntos de ajuste de producción.
– Transferencia de programas completos.
Automatización Industrial Tema 6 37
Bloques funcionales de expansión [3|18]
Funciones de carga y transferencia (III)
• MOV_B: Operación transferir byte, transfiere el byte de
entrada (IN) al byte de salida (OUT). El byte de entrada
permanece inalterado.
• Variantes: MOV_W, MOV_DW, MOV_R

• BLKMOV_B: Transferir bytes en bloque: transfiere un nº


determinado de bytes (N) de la dirección de entrada (IN) a la
dirección de salida (OUT). N puede estar comprendido entre 1
y 255.
• Variantes: BLKMOV_W, BLKMOV_D

• SWAP: Operación “invertir byte de una palabra”, intercambia


el byte más significativo y el byte menos significativo de una
palabra (IN)

Automatización Industrial Tema 6 38


Bloques funcionales de expansión [4|18]
Comparaciones de datos (I)
• Las instrucciones de comparación (CMP) comparan el
contenido de dos informaciones numéricas de 16 ó
32 bits, activándose una señal específica para los
resultados:
– Igual (=).
– Menor (<).
– Mayor (>)
• Según lenguajes, estas señales corresponden a
direcciones:
– Predefinidas por el fabricante, sobre relés internos
especiales: debe tenerse en cuenta que los relés
internos indicadores suelen ser comunes para todas
las instrucciones.
– Asignadas por el usuario, desde la misma instrucción:
debe únicamente comprobar que utiliza direcciones
distintas para cada comparación.

Instrucciones de comparación desacopladas


Automatización Industrial Tema 6 39
Bloques funcionales de expansión [5|18]
Comparaciones de datos (II)
Algunos lenguajes permiten comprobar: ≤, ≥, < >
Una estructura de comparación especial es la de intervalo, en la que el
usuario indica los umbrales S1 y S2, entre los que la variable comparada
activará la salida.
Las instrucciones de
comparación multiplican la
potencia de temporizadores y
contadores, al permitir
detectar estados intermedios
de estos elementos, y no sólo
los de cuenta o tiempo
alcanzado.

Control de depósito

Automatización Industrial Tema 6 40


Bloques funcionales de expansión [6|18]
Instrucciones lógicas entre palabras (I)
• Tratan los datos en la palabra como cadenas de bits, operados dos a dos con
funciones OR, AND, XOR y NOT.
• Se definen sobre palabras de 16 ó 32 bits, pero algunos lenguajes admiten cadenas
variables de n bits.
• Se necesitan cuatro campos para su programación:
– Nombre de la función (OR, AND, ...)
– Palabra operando 1
– Palabra operando 2
– Palabra destino
• Se utilizan para agilizar la programación y reducir el tiempo de ciclo cuando las
operaciones sean repetitivas sobre varios bits.
• OR-WORD se utiliza para acumular valores sobre un registro, por ejemplo, de
alarmas.
• AND-WORD para enmascarar parte de una palabra, forzando sus bits a cero.
• XOR para invertir ciertos bits, por ej. de salidas, cuando se cumple una condición.
Automatización Industrial Tema 6 41
Bloques funcionales de expansión [7|18]
Instrucciones lógicas entre palabras (II)

Ejemplos de aplicación de operaciones lógicas entre palabras

Automatización Industrial Tema 6 42


Bloques funcionales de expansión [8|18]
Instrucciones lógicas entre palabras (III)
La operación Invertir byte (INVB) forma el complemento a 1
del valor del byte de entrada IN y carga el resultado en la
dirección de la memoria OUT.

La operación Combinación Y con bytes (ANDB) combina los bits correspondientes de


dos valores de entrada (IN1 e IN2) mediante Y, y carga el resultado en una dirección de
la memoria (OUT).

La operación Combinación O con bytes (ORB) combina los bits correspondientes de dos
valores de entrada (IN1 e IN2) mediante O, y carga el resultado en una dirección de la
memoria (OUT).

La operación Combinación O-exclusiva con bytes (XORB) combina los bits


correspondientes de dos valores de entrada (IN1 e IN2) mediante O-exclusiva, y carga el
resultado en una dirección de la memoria (OUT).
Automatización Industrial Tema 6 43
Bloques funcionales de expansión [9|18]
Instrucciones lógicas entre palabras (IV)

Ejemplo

Automatización Industrial Tema 6 44


Bloques funcionales de expansión [10|18]
• Las posibilidades del autómata van a depender de la gama a la Funciones aritméticas (I)
que pertenezca.
• Funciones elementales (disponibles en todas las máquinas)
– Incrementos / decrementos
– Suma / diferencia
– Multiplicación / división.
• Funciones avanzadas (propio de lenguajes para autómatas de
gama alta)
– Aritmética en coma flotante.
– Operaciones trigonométricas (arc, sen, cos, tg)
– Raíz cuadrada
– Medias, medianas y otras funciones estadísticas
• Los datos operandos suelen estar en BCD
• Si el resultado de una operación desborda la capacidad del
registro destino, aparece un acarreo (“carry”) sobre un relé
interno especial
Automatización Industrial Tema 6 45
Bloques funcionales de expansión [11|18]
Funciones aritméticas (II)

• El empleo de instrucciones avanzadas de coma flotante eleva la capacidad de


cálculo, pero el precio a pagar es un desmesurado tiempo de ejecución por
instrucción
• Instrucciones aritméticas especiales: la conversión lineal X-Y: Se puede definir una
función de transferencia segmentada, por indicación de las coordenadas extremas
de cada segmento, y después encontrar cualquier punto de la función por entrada
sobre uno de sus ejes
• La programación de una conversión consta al menos de dos partes:

– Definición de la gráfica, por


coordenadas x,y.
– Función de conversión
abcisas (x→y) u ordenada
(y→x)

Función de conversión lineal X-Y

Automatización Industrial Tema 6 46


Funciones aritméticas (III)
• Estos bloques funcionales permiten construir una aproximación lineal de una
función de transferencia de la que se conozcan varios puntos, y encontrar valores
intermedios por interpolación lineal entre ellos.
Automatización Industrial Tema 6 47
Bloques funcionales de expansión [13|18]
Funciones de comunicación (I)
• Los bloques funcionales de comunicación mueven datos entre memoria interna y
dispositivos que no pertenecen al autómata.
• Se utilizan para:
– Recoger programas desde la consola u otros dispositivos
– Enviar mensajes a indicadores exteriores
– Transferir informaciones de memoria interna (estados de variables) para monitorización
o control, en respuesta a demandas desde un ordenador principal con programa
supervisor u otro autómata
– Volcar tablas de información a impresoras, etc.
• Dos formas de comunicación:
– Estándar: la CPU se une a otros elementos mediante protocolos de comunicación
transparentes al usuario.
– Específica: definida por el usuario, con conexión casi siempre en serie a través de
interfaces y procesadores de comunicaciones punto a punto o en red.

Automatización Industrial Tema 6 48


Bloques funcionales de expansión [14|18]
Funciones de comunicación (II)

• En la forma de comunicación definida por el usuario, existen en el autómata


instrucciones específicas, tanto para inicializar el puerto utilizado como para
transferir los bloques de datos.
• Para inicializar el puerto se envía el siguiente mensaje:
– Número de puerto utilizado
– Velocidad en baudios
– Número de bits por palabra
– Paridad
– Códigos identificativos de inicio y final de transmisión, etc.
• La instrucción de transferencia debe indicar:
– Tipo de transferencia, recepción o transmisión.
– Dirección de inicio de transferencia.
– Número de bytes, o dirección final de transmisión
– Código de los datos transmitidos (binario, ASCII, etc).
– Dirección del elemento receptor en conexiones en red, etc.
Automatización Industrial Tema 6 49
Bloques funcionales de expansión [15|18]
Funciones de comunicación (III)
• La sentencia de transmisión lleva asociados indicadores internos predefinidos
(transmisión en uso, fin de transmisión, sobrepaso de tiempo, etc) que pueden ser
consultados por programa.
• Al ser el usuario el que define la transmisión, debe
cuidar de la coherencia con el periférico conectado de
la información transmitida: códigos BCD para
visualizadores numéricos, ASCII para otro
alfanumérico, caracteres de control para un terminal
TRC,...
• Existen importantes diferencias entre fabricantes, con
cambios de nombres, estructuras, limitaciones,
flexibilidad, etc. Que obligan a estudiar por separado
cada autómata.

Transferencia de un texto a un terminal

Automatización Industrial Tema 6 50


Bloques funcionales de expansión [16|18]
Funciones de comunicación (IV)
• No existe un protocolo normalizado lo que produce una baja utilización y rechazo
de estas conexiones.
• El usuario suele preferir productos comerciales que le permiten trabajar en el nivel
de la aplicación:
– Consolas de explotación
– Software de supervisión y control SCADA
– Software de programación y monitorización,etc

• Son 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
Automatización Industrial Tema 6 51
Bloques funcionales de expansión [17|18]

Automatización Industrial Tema 6 52


Bloques funcionales de expansión [18|18]
Automatización Industrial Tema 6 53
Instrucciones especiales [1|3]

• Son todas aquellas instrucciones no incluídas en los grupos anteriores.


• Instrucciones menos estandarizadas que las anteriores.
• Clasificación por el tipo de función:
– Impulso de transición: convierte un nivel de señal en un pulso de duración 1 “scan”.

Función impulso de transición

Automatización Industrial Tema 6 54


Instrucciones especiales [2|3]

Paréntesis: Cuando en una secuencia de mando aparecen instrucciones sucesivas


entrelazadas, el usuario debe poder ordenarlas para su ejecución. Este
procedimiento consiste en introducir señalizadores que fijan la prioridad de la
instrucción dentro de la secuencia.

Instrucciones de conexión (paréntesis) entre bloques lógicos


Automatización Industrial Tema 6 55
Instrucciones especiales [3|3]

• Diagnóstico: el usuario señaliza ciertas circunstancias según una tabla de códigos,


de forma que cuando se produzca la condición de ejecución, la instrucción envía el
código a un área de memoria que puede ser consultada y/o enviada al exterior (por ej
un visualizador de mensajes).
• Control de tiempo del reloj de guarda: En ocasiones puede ser ajustado por el
usuario en la aplicación, bien modificando el tiempo, bien bloqueando por programa o
parametrizando la acción del temporizador de guarda
• Refresco parcial de entradas/salidas:
• Función de espera: al ejecutar esta instrucción, el programa espera durante un
tiempo prefijado antes de ejecutar la siguiente. Por tanto, esta instrucción introduce
un retardo en la propia ejecución del programa,
• Palabra de control (“Password”): Para evitar la copia y la manipulación indebida de
programas, algunos autómatas permiten introducir una secuencia alfanumérica de
bloqueo al acceso del programa.

Automatización Industrial Tema 6 56


Resumen
Resumen
• Las instrucciones lógicas elementales basadas en el álgebra de Boole, comunes a
todos los autómatas, se complementan con otras secuenciales proprogramadas por
el fabricante y de uso general en automatización, como son los registros,
temporizadores, contadores y biestables set-reset.
• Estas instrucciones, junto con otras de manipulación de bytes, como las
comparaciones y transferencias sencillas, constituyen los que se llama lenguaje
básico del autómata, suficiente para programar la mayor parte de sus aplicaciones.
• Como ampliación a las anteriores, otras instrucciones avanzadas, disponibles en
lenguajes más potentes o destinadas a autómatas de gamas altas, permiten
desarrollar cálculos aritméticos complejos y comunicación más o menos
transparente con el exterior, permitiendo utilizar el autómata en aplicaciones en
que se necesite manipulación exhaustiva de variables numéricas.

También podría gustarte