Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manual Mantener Controladores de Procesos
Manual Mantener Controladores de Procesos
Mantener
Controladores
de Procesos
1
Módulo: Controladores de Procesos
CUADERNO DEL INSTRUCTOR
MÓDULO
PROGRAMA MINERA ESCONDIDA
2
Módulo: Controladores de Procesos
INDICE DE
CONTENIDO
3
Módulo: Controladores de Procesos
Bloque de funciones elemental .................................................................................... 30
Los bloques de funciones derivados (DFB) ................................................................... 31
Procedimiento .............................................................................................................. 31
Parámetros ................................................................................................................... 32
Variables públicas ......................................................................................................... 33
Variables privadas......................................................................................................... 34
Notas sobre la programación ....................................................................................... 34
Llamada múltiple de una instancia de bloque de funciones ........................................ 35
EN y ENO ....................................................................................................................... 35
Llamada a una subrutina .............................................................................................. 38
Elementos de control ................................................................................................... 39
Conexión ....................................................................................................................... 40
Representación ............................................................................................................. 40
El cruce se representará con una conexión "interrumpida". ....................................... 40
Notas sobre la programación ....................................................................................... 41
Objeto de texto............................................................................................................. 42
Secuencia de ejecución de los FFB ................................................................................... 42
Secuencia de ejecución de redes.................................................................................. 42
Flujo de señal dentro de una red ................................................................................. 43
Prioridades a la hora de determinar el flujo de señal dentro de una sección. ............ 43
Modificación de la secuencia de ejecución .................................................................. 45
Conexión en lugar de parámetros reales ..................................................................... 46
Posiciones de las redes ................................................................................................. 47
Determinación explícita................................................................................................ 48
Posiciones de los FFB .................................................................................................... 49
Configuración de bucles - Bucles no permitidos .......................................................... 50
Generación a través de un parámetro real .................................................................. 50
Bloques más utilizados ..................................................................................................... 51
Operaciones básicas de lógica ...................................................................................... 51
R_TRIG y F_TRIG ........................................................................................................... 52
4
Módulo: Controladores de Procesos
Función Set-Reset (SR).................................................................................................. 53
Ejercicio 1...................................................................................................................... 55
Temporizadores TON y TOFF ........................................................................................ 56
Pulso de duración definida TP ...................................................................................... 58
EJERCICIO 2................................................................................................................. 59
Contadores crecientes y decrecientes CTU y CTD ........................................................ 61
Función MOVE .............................................................................................................. 62
Señales análogas................................................................................................................... 64
Escalamientos ................................................................................................................... 64
Ejercicio 3...................................................................................................................... 67
Comparadores .............................................................................................................. 68
Comparador “mayor que” (GT) .................................................................................... 68
Comparador “mayor o igual que” (GE)......................................................................... 68
Comparador “menor que” (LT) ......................................................................................... 69
Comparador “menor o igual que” (LE) ......................................................................... 69
Comparador “igual que” (EQ) ....................................................................................... 70
Comparador “Distinto de” (NE) .................................................................................... 70
Operaciones matemáticas ................................................................................................ 71
Suma (ADD)................................................................................................................... 71
Resta (SUB) ................................................................................................................... 71
Multiplicación (MUL) .................................................................................................... 72
División (DIV) ................................................................................................................ 72
Ejercicio 4...................................................................................................................... 73
Otras funciones................................................................................................................. 74
Conversión de enteros a reales y viceversa ................................................................. 74
Función selección (SEL)................................................................................................. 75
Control PID........................................................................................................................ 76
Modos de funcionamiento ........................................................................................... 76
Limitación de variable manipulada .............................................................................. 77
Restablecimiento anti-windup ..................................................................................... 78
5
Módulo: Controladores de Procesos
Cambio de automático a manual (tracking) ................................................................. 78
Selección de los tipos de control .................................................................................. 78
Ejercicio 5...................................................................................................................... 79
Uso de Arrays (vectores y matrices) ................................................................................. 80
Filtro adelanto-atraso ................................................................................................... 81
Integración con dispositivos vía Ethernet TCP/IP ............................................................. 82
Empaquetamiento de bits ............................................................................................ 84
Operaciones en línea ............................................................................................................ 85
Forzado de discretas en línea ........................................................................................... 85
Actividades Prácticas ............................................................................................................ 86
Actividad 2 .................................................................................................................... 87
Actividad 3 .................................................................................................................... 88
Actividad 4 .................................................................................................................... 89
6
Módulo: Controladores de Procesos
7
Módulo: Controladores de Procesos
IDENTIFICACIÓN DEL CURSO
Kkk
NOMBRE
UCL ASOCIADAS
Mantener Controladores de Procesos
ÁREA PRODUCTIVA
Planta.
HORAS TOTALES
16 horas
8
Módulo: Controladores de Procesos
RESUMEN DEL CURSO
Tema 3
Tema 1 Tema 2
Señales Análogas y otras
Interfaz asociada Señales Discretas
funciones
9
Módulo: Controladores de Procesos
TEMA 1: INTERFAZ ASOCIADA
1. Conceptos Fundamentales
Aprendizaje esperado
Utilizar interfaz
10
Módulo: Controladores de Procesos
Creación de un nuevo proyecto
Al iniciar el software de desarrollo de lógica, para un PLC Modicon, con “control expert” se
debe seleccionar la opción “nuevo” desde el menú fichero, con lo cual aparecerá la siguiente
ventana:
Esto significa que el proceso se inicia con la selección de la CPU a utilizar y el backplane
correspondiente.
11
Módulo: Controladores de Procesos
Realizado el paso anterior aparecerá una ventana etiquetada como “Explorador de
proyectos” (vista estructural), la que se muestra a continuación:
Para continuar con el desarrollo del proyecto seguiremos con la definición de los módulos
a utilizar.
12
Módulo: Controladores de Procesos
Configuración de hardware
Acceda a la configuración del PLC, eligiendo en la ventana anteriormente mostrada, la
opción “BUS PLC” (haciendo un doble clic en dicha opción). Luego de ello se mostrarán 2
nuevas ventanas, que son: El catálogo de hardware y la ventana “BUS PLC”, que se muestran
en la siguiente página
13
Módulo: Controladores de Procesos
Ventana que muestra la configuración del hardware del PLC
14
Módulo: Controladores de Procesos
Definición de variables
Finalizada la configuración del hardware, procederemos a definir las variables elementales,
haciendo doble clic en la opción correspondiente:
En la siguiente ventana procederemos a definir las variables del PLC. A manera de ejemplo
definamos la variable “ED_1_Ejemplo” para el primer canal de un módulo de entradas
discretas, conectado en el Slot 2. Esto implica que deberemos utilizar la dirección %I0.2.0
para nuestra variable (o TAG), que en este caso se refiere a una variable discreta (on/off) y
por lo tanto quedará definida como booleana (tipo)
Para poder continuar, con la definición de variables, se hace necesario que conozcamos los
distintos tipos de datos que podremos utilizar. Ello pasa a detallarse en las siguientes
páginas
15
Módulo: Controladores de Procesos
Tipos de datos
Un dato designa a un objeto en el que se pueden iniciar instancias, por ejemplo:
Una variable,
Un bloque de función.
16
Módulo: Controladores de Procesos
Descripción general de las familias de tipos de datos
Un tipo de dato es una información de software que especifica, para un dato:
Su estructura,
Su formato,
Una lista de sus atributos y
Su comportamiento.
17
Módulo: Controladores de Procesos
Tipos de datos elementales (EDT) con formato Binario
Los tipos de datos en formato binario pertenecen a la familia EDT (tipo de datos
elementales), que agrupa los tipos de datos simples en contraposición a los derivados
(tablas, estructuras y bloques de funciones).
Formato binario
Un elemento de datos con formato binario se compone de uno o varios bits, cada uno de
los cuales está representado por una de las cifras de base 2 (0 o 1).
La escala del elemento de datos depende del número de bits que la componen.
Ejemplo:
Con signo. En este caso, el bit de rango más alto es el bit con signo:
o 0 indica un valor positivo
o 1 indica un valor negativo
El rango de valores es el siguiente:
18
Módulo: Controladores de Procesos
Lista de tipos de datos
19
Módulo: Controladores de Procesos
Tipos enteros
Los tipos enteros permiten representar un valor en diferentes bases. Dichas bases son:
Base 10 (decimal) de forma predeterminada, en cuyo caso el valor llevará o no signo
en función del tipo de entero.
Base 2 (binaria), en cuyo caso el valor no tiene signo y el prefijo es 2#.
Base 8 (octal), en cuyo caso el valor no tiene signo y el prefijo es 8#.
Base 16 (hexadecimal), en cuyo caso el valor no tiene signo y el prefijo es 16#.
20
Módulo: Controladores de Procesos
Tipo entero sin signo (UINT)
Tipo sin signo y formato de 16 bits.
En la tabla se indica el rango de cada base.
Tipo Time
El tipo Time T# o TIME# se representa mediante un tipo entero doble sin signo (UDINT)
Indica una duración en milisegundos que, aproximadamente, representa una duración
máxima de
49 días.
Las unidades de tiempo permitidas para representar el valor son:
Días (D)
Horas (H)
Minutos (M)
Segundos (S)
Milisegundos (MS)
21
Módulo: Controladores de Procesos
Introducción de un valor
En esta tabla, se muestran los modos posibles de introducción del valor máximo del tipo
Time, según las unidades de tiempo permitidas.
Representación:
22
Módulo: Controladores de Procesos
El valor de la parte de coma fija (mantisa) está entre [0, 1[, y se calcula mediante la fórmula
siguiente:
Normalizados
No normalizados
De valores infinitos
Con valores +0 y -0
En esta tabla se recogen los valores de los distintos campos según el tipo de número.
NOTA:
El estándar IEC 559 define dos clases de NAN (no un número): QNAN y SNAN.
23
Módulo: Controladores de Procesos
En esta tabla se recoge la fórmula de cálculo del valor del número de coma flotante:
Donde:
M: Mantisa (23 bits, bit 0..22)
e: Exponente (8 bits, bit 23..30)
S: Signo, 1 = negativo, 0 = Positivo (bit 31)
El tipo real
Presentación:
24
Módulo: Controladores de Procesos
Ejemplos de inexactitud del valor normalizado
La aplicación codificará 7,986 como:
Utilizando la fórmula:
Hexadecimal (16#)
Octal (8#)
Binario (2#)
Existen tres tipos de datos, con formato de cadena de bits, estos son:
25
Módulo: Controladores de Procesos
TEMA 2: LENGUAJE DE
PROGRAMACIÓN
2. Conceptos Fundamentales
Aprendizaje esperado
26
Módulo: Controladores de Procesos
Los lenguajes de programación que pueden ser utilizados, en control Expert, son
27
Módulo: Controladores de Procesos
Representación de una sección FBD
Objetos
Los objetos del lenguaje de programación FBD (diagrama de bloques de funciones) sirven
de ayuda para dividir una sección en varios:
Tamaño de la sección
Una sección FBD está compuesta por una ventana con una sola página.
Esta página tiene un fondo de reticulado. Una unidad de cuadrícula está compuesta por 10
coordenadas. Una unidad de cuadrícula es la distancia mínima posible entre dos objetos de
una sección FBD.
28
Módulo: Controladores de Procesos
El lenguaje de programación FBD no está basado en celdas; los objetos están alineados con
las coordenadas.
Una sección FBD puede configurarse con un número de celdas (coordenadas horizontales y
verticales de la cuadrícula).
Función elemental
Las funciones elementales (EF) no tienen estados internos. Si los valores de entrada son los
mismos, el valor de salida es el de cada ejecución de la función. Por ejemplo, la suma de dos
valores siempre da el mismo resultado.
Una función elemental se representa de forma gráfica por medio de un bloque con varias
entradas y una salida. En él, las entradas siempre aparecen a la izquierda y la salida a la
derecha.
El nombre de la función, es decir, el tipo de función, aparece centrado dentro del bloque.
A la derecha del tipo de función se indica el número de ejecución de la función.
Encima del bloque aparece el contador de función. El contador de función es el número
correlativo de la función dentro de la sección actual. Los contadores de función no se
pueden modificar.
Función elemental
En el caso de algunas funciones elementales, se puede ampliar la cantidad de entradas.
29
Módulo: Controladores de Procesos
Bloque de funciones elemental
Los bloques de funciones elementales (EFB) tienen estados internos. Si los valores de
entrada son los mismos, el valor de la salida puede ser diferente cada vez que se ejecuta la
función, por ejemplo, el valor de salida se incrementa para un contador.
Un bloque de funciones elemental se representa de forma gráfica por medio de un bloque
con varias entradas y salidas. En él, las entradas siempre aparecen a la izquierda y las salidas
a la derecha.
Los bloques de funciones pueden disponer de varias salidas.
El nombre del bloque de funciones, es decir, el tipo de bloque de funciones, aparece
centrado dentro del bloque.
A la derecha del tipo de bloque de funciones se indica el número de ejecución del bloque
de funciones.
El nombre de instancia aparece por encima del bloque.
El nombre de instancia sirve para denominar de forma unívoca los distintos bloques de
funciones de un proyecto.
El nombre de instancia del EFB se genera automáticamente y tiene la siguiente estructura:
TYPE_n, donde:
Ejemplo:
- La primera instancia de un tipo del EFB tipo "TON" se denomina TON_0
- La primera instancia de un tipo del EFB tipo "MOTOR" se denomina MOTOR_0
- La segunda instancia de un tipo del EFB tipo "TON" se denomina TON_1
Este nombre generado automáticamente se puede modificar para mejorar la visión general.
El nombre de instancia (32 caracteres como máximo) debe ser inequívoco dentro de un
mismo proyecto; no se diferencia entre mayúsculas y minúsculas. El nombre de instancia
debe cumplir la nomenclatura general.
NOTA: Según la norma IEC 61131-3, sólo se permite una letra como primer carácter de los
nombres de instancias. Si desea utilizar cifras como primer carácter, deberá habilitar esa
opción de forma explícita.
30
Módulo: Controladores de Procesos
Los bloques de funciones derivados (DFB)
Los bloques de funciones derivados (DFB) presentan las mismas propiedades que los
bloques de funciones elementales. Sin embargo, el usuario los crea en los lenguajes de
programación FBD, LD, IL o ST.
La única diferencia con respecto a los bloques de funciones elementales es que los bloques
de funciones derivados se representan gráficamente por medio de un bloque con líneas
verticales dobles.
Procedimiento
Los procedimientos son funciones desde el punto de vista técnico. La única diferencia con
respecto a las funciones elementales es que los procedimientos pueden tener más de una
salida y admiten el tipo de datos VAR_IN_OUT.
Los procedimientos son una ampliación de la norma IEC 61131-3 y se deben habilitar de
forma explícita.
Los procedimientos no se diferencian visualmente de las funciones elementales.
Procedimiento
31
Módulo: Controladores de Procesos
Parámetros
Para transferir valores al FFB o aplicarlos desde él, es necesario utilizar entradas y salidas. A
éstas se les llama parámetros formales.
A los parámetros formales se vinculan objetos que contienen los estados actuales del
proceso. A éstos se les llama parámetros reales.
Los valores del proceso se transfieren al FFB a través de los parámetros reales durante el
tiempo de ejecución del programa y se vuelven a emitir después del procesamiento.
A las entradas de FFB sólo se puede vincular un único objeto (parámetro real) del siguiente
tipo:
Variable
Dirección
Literal
Expresión ST. Las expresiones ST de las entradas de FFB representan una ampliación
de la norma IEC 61131-3 y se deben habilitar de forma explícita.
Enlace
A las salidas de FFB se pueden vincular las siguientes combinaciones de objetos (parámetros
reales):
una variable
32
Módulo: Controladores de Procesos
una variable y una o varias conexiones (aunque no en el caso de salidas
VAR_IN_OUT)
una dirección
una dirección y una o varias conexiones (aunque no en el caso de salidas
VAR_IN_OUT)
una o varias conexiones (aunque no en el caso de salidas VAR_IN_OUT
El tipo de datos del objeto que se va a vincular debe coincidir con el tipo de datos de la
entrada/salida de FFB. Si todos los parámetros reales están compuestos por literales, se
elegirá un tipo de datos adecuado para el bloque de funciones.
Excepción: En el caso de entradas/salidas de FFB genéricas del tipo de datos ANY_BIT se
pueden vincular objetos del tipo de datos INT o DINT (ni UINT ni UDINT).
Se trata de una ampliación de la norma IEC 61131-3, que se debe habilitar de forma
explícita.
En principio, no es necesario asignar un parámetro real a cada parámetro formal. Pero esto
no es válido para pins negados. A estos hay que asignarles siempre un parámetro real.
También algunos tipos de parámetros formales lo requieren obligatoriamente. En la
siguiente tabla encontrará estos tipos de parámetros formales.
Variables públicas
Además de las entradas y salidas, algunos bloques de funciones también disponen de las
denominadas variables públicas.
Estas variables sirven para transmitir valores estáticos (valores no influidos por el proceso)
al bloque de funciones. Se utilizan para configurar los parámetros del bloque de funciones.
Las variables públicas son una ampliación de la norma IEC 61131-3.
La asignación de valores a las variables públicas se realiza mediante sus valores iniciales.
La lectura de las variables públicas se realiza mediante el nombre de instancia del bloque
de funciones y los nombres de las variables públicas.
33
Módulo: Controladores de Procesos
Ejemplo de variable publica
Variables privadas
Además de las entradas, las salidas y las variables públicas, algunos bloques de funciones
también disponen de las denominadas variables privadas.
Al igual que las variables públicas, las privadas se utilizan para transferir valores estadísticos
(valores no influidos por el proceso) al bloque de funciones.
El programa de usuario no puede acceder a las variables privadas. Sólo se puede acceder a
este tipo de variables mediante la tabla de animación.
NOTA: Los DFB intercalados se declaran como variables privadas del DFB principal. Por
tanto, tampoco se puede acceder a sus variables a través de la programación, sino a través
de la tabla de animación.
Las variables privadas son una ampliación de la norma IEC 61131-3.
34
Módulo: Controladores de Procesos
Llamada múltiple de una instancia de bloque de funciones
Las instancias de bloques de funciones/DFB se pueden llamar varias veces, excepto las
instancias de EFB de comunicaciones y de bloques de funciones/DFB con una salida ANY y
ninguna entrada ANY, que solo se pueden llamar una vez.
La llamada múltiple de una misma instancia de bloque de funciones/DFB resulta
conveniente, por ejemplo, en los siguientes casos:
EN y ENO
En todos los FFB se puede configurar una entrada EN y una salida ENO.
Si el valor de EN es "0", al llamar al FFB no se ejecutarán los algoritmos definidos por dicho
FFB, y ENO se establecerá en "0".
Si el valor de EN es "1", al llamar al FFB se ejecutan los algoritmos definidos por dicho FFB.
Una vez que se han ejecutado los algoritmos correctamente, el valor de ENO pasa a "1". Si
se produce un error al ejecutar estos algoritmos, ENO pasa a "0".
Si el pin EN no tiene asignado ningún valor, al llamar al FFB se ejecuta el algoritmo definido
por el FFB (lo mismo ocurre si EN es igual a "1"). Consulte Mantener conexiones de salida
en EF desactivadas.
Si ENO pasa a "0" (porque EN = 0 o por un error durante la ejecución):
Bloques de funciones
o Gestión de EN/ENO con bloques de funciones que (sólo) tienen un enlace
como parámetro de salida:
35
Módulo: Controladores de Procesos
Si el valor de EN en FUNCBLOCK_1 se establece en "0", el enlace en la salida
OUT de FUNCBLOCK_1 mantiene el estado antiguo que tenía en el último
ciclo que se ejecutó correctamente.
Funciones/procedimientos
Según la definición de IEC 61131-3, las salidas de las funciones desactivadas (entrada EN
establecida en "0") no están definidas (esto es aplicable a los procedimientos).
A continuación, se presenta una explicación de los estados de salida en este caso:
o Gestión de EN/ENO con bloques de funciones o procedimientos que poseen
(sólo) un enlace como parámetro de salida:
36
Módulo: Controladores de Procesos
Si el valor de EN en FUNC_PROC_1 se establece en "0", el valor del enlace en
la salida OUT de FUNC_PROC_1 dependerá del ajuste del proyecto Mantener
conexiones de salida en EF desactivadas.
Si se establece este ajuste del proyecto en "0", el valor del enlace se
establecerá en "0".
Si se establece este ajuste del proyecto en "1", el enlace mantendrá el valor
antiguo que tenía en el último ciclo ejecutado correctamente.
El comportamiento en la salida de los FFB no depende de si los FFB se han llamado sin
EN/ENO o con EN = 1.
NOTA: Para bloques de funciones deshabilitados (EN = 0) con una función de tiempo interna
(por ejemplo, bloque de funciones DELAY), el tiempo sigue avanzando, ya que se calcula con
la ayuda de un reloj del sistema, y por lo tanto es independiente del ciclo de programa y de
la apertura del bloque.
37
Módulo: Controladores de Procesos
Llamada a una subrutina
En FBD, se llama a las subrutinas mediante los bloques siguientes:
La subrutina que se vaya a llamar debe encontrarse en la misma tarea que la sección FBD a
la que se llame.
Asimismo, es posible llamar a subrutinas ubicadas dentro de otras subrutinas.
Las llamadas a subrutinas son una ampliación de la norma IEC 61131-3 y se deben habilitar
de forma explícita.
En las secciones de acción SFC sólo se admiten llamadas a subrutinas si está habilitada la
operación Multi-Token.
38
Módulo: Controladores de Procesos
Elementos de control
Los elementos de control sirven para ejecutar saltos dentro de una sección FBD y para el
retorno al programa principal desde una subrutina (SRx) o desde un bloque de funciones
derivado (DFB).
Elementos de control
Se encuentran disponibles los siguientes elementos de control.
39
Módulo: Controladores de Procesos
Conexión
Las conexiones son vínculos verticales y horizontales entre FFB.
Representación
Los puntos de conexión se identifican con un círculo relleno.
40
Módulo: Controladores de Procesos
Notas sobre la programación
Tenga en cuenta las siguientes indicaciones sobre la programación:
41
Módulo: Controladores de Procesos
Objeto de texto
El texto puede ubicarse como objetos de texto mediante el lenguaje de bloques de
funciones FBD.
El tamaño de estos objetos depende de la longitud del texto. El tamaño del objeto se puede
ampliar en más unidades de reticulado en dirección vertical y horizontal en función del
tamaño del texto. Los objetos de texto no se solapan con los FFB; sin embargo, pueden
solaparse con las conexiones.
La ejecución de una sección se realiza red a red en función de las conexiones de FFB
de arriba a abajo.
No es posible configurar bucles mediante conexiones, ya que en este caso no se
puede determinar de forma inequívoca la secuencia de ejecución en la sección. Los
bucles se deben resolver con parámetros actuales.
La secuencia de ejecución de las redes que no están conectadas entre sí mediante
conexiones está determinada por la secuencia gráfica (de derecha a izquierda y de
arriba a abajo). Esta secuencia de ejecución se puede modificar
El cálculo de una red finaliza completamente antes de que comience el cálculo de
otra red que utilice salidas de la red precedente.
Ningún elemento de una red se considera calculado mientras no se haya calculado
el estado de todas las entradas de dicho elemento.
El cálculo de una red sólo se considera finalizado cuando se han calculado todas las
salidas de dicha red.
42
Módulo: Controladores de Procesos
Flujo de señal dentro de una red
Para la secuencia de ejecución dentro de una red se aplican las siguientes reglas:
El cálculo de un FFB no se inicia hasta que no se hayan calculado todos los elementos
(salidas FFB, etc.) que estén conectados a sus entradas.
La secuencia de ejecución de los FFB que estén conectados a varias salidas del
mismo FFB es de arriba a abajo.
La secuencia de ejecución de los FFB no está influida por su posición dentro de la
red.
Esto no es válido cuando varios FFB están conectados a la misma salida del FFB
"invocante".
En este caso, la secuencia de ejecución está determinada por la secuencia gráfica
(de arriba a abajo).
43
Módulo: Controladores de Procesos
Ejemplo de la secuencia de ejecución de objetos en una sección FBD:
44
Módulo: Controladores de Procesos
Modificación de la secuencia de ejecución
La secuencia de ejecución de las redes y de los objetos incluidos dentro de una red se define
a partir de una serie de reglas (véase página 307).
En la mayor parte de los casos es recomendable modificar la secuencia de ejecución
propuesta por el sistema.
Existen las siguientes posibilidades para determinar/modificar la secuencia de ejecución
dentro de las redes:
Situación de salida
En la figura siguiente se muestran dos redes cuya secuencia de ejecución está determinada
únicamente por su posición dentro de la sección, con independencia de que los bloques
.4/.5 y .7/.8 requieran otra secuencia de ejecución.
45
Módulo: Controladores de Procesos
Conexión en lugar de parámetros reales
Si se utiliza una conexión en lugar de una variable, ambas redes se ejecutan en la secuencia
correcta
46
Módulo: Controladores de Procesos
Posiciones de las redes
La secuencia de ejecución adecuada se puede conseguir modificando la posición de las
redes en la sección
47
Módulo: Controladores de Procesos
Determinación explícita
La secuencia de ejecución adecuada se puede conseguir modificando explícitamente la
secuencia de ejecución de un FFB. En el caso de los FFB cuya secuencia de ejecución se haya
modificado explícitamente, el número de ejecución se representa en un campo negro
NOTA: Sólo se permite una única referencia a una instancia; por ejemplo, la instancia ".7"
sólo se puede referenciar una vez.
48
Módulo: Controladores de Procesos
Posiciones de los FFB
La posición de los FFB sólo influye sobre la secuencia de ejecución si hay varios FFB
conectados a la misma salida del FFB "invocante"
En la primera red, se han intercambiado las posiciones de los bloques .4 y .5. En este caso
(origen común de ambas entradas de bloque), también se intercambia la secuencia de
ejecución de ambos bloques (procesamiento de arriba abajo).
En la segunda red, se han intercambiado las posiciones de los bloques .7 y .8. En este caso
(origen distinto de las entradas de bloque), la secuencia de ejecución de ambos bloques no
se intercambia (procesamiento en la secuencia en que se llama a las salidas de bloque).
49
Módulo: Controladores de Procesos
Configuración de bucles - Bucles no permitidos
No es posible configurar bucles exclusivamente a base de conexiones ya que de este modo
no se puede determinar el flujo de señal de forma unívoca (la salida de un FFB es la entrada
del FFB siguiente y la salida de este es, a su vez, la entrada del primero).
Bucle no permitido a través de conexiones
50
Módulo: Controladores de Procesos
Bloques más utilizados
Operaciones básicas de lógica
Función AND:
Regla: “Para que la salida sea verdadera (1) todas las entradas deben serlo”
Equivalencia: La función AND se corresponde a contactos conectados en serie (en LD)
Función OR:
Regla: “La salida será verdadera (1) si al menos una de las entradas lo es”
Equivalencia: La función OR se corresponde a contactos conectados en paralelo (en LD)
51
Módulo: Controladores de Procesos
Función NOT:
La función negación se implementa ya sea sobre “un pin” de entrada o sobre el “el pin” de
salida, según se requiera. Realizada la operación aparecerá un círculo indicado la negación
R_TRIG y F_TRIG
Detección canto de subida (Rising edge detection) y detección canto de bajada (Falling edge
detection)
52
Módulo: Controladores de Procesos
Estos bloques son especialmente útiles para generar eventos que correspondan
exclusivamente a un cambio de estado (solo durante la transición). A manera de ejemplo
veamos este tipo de bloque asociado a una botonera de partida en terreno:
53
Módulo: Controladores de Procesos
la entrada R se convierte en "1". Si las entradas S1 y R son ambas "1" simultáneamente, la
entrada dominante S1 establecerá la salida Q1 en "1".
Cuando se llama al bloque de funciones por primera vez, el estado inicial de Q1 es "0".
Si interesa que la operación dominante sea “el Reset” entonces el bloque a utilizar sería un
RS
En este caso la salida Q1 se convierte en "1" cuando la entrada S se convierte en "1". Este
estado permanece incluso si la entrada S vuelve a "0". La salida Q1 vuelve a cambiar a "0"
cuando la entrada R1 se convierte en "1". Si las entradas S y R1 son "1" simultáneamente,
la entrada dominante R1 establecerá la salida Q1 en "0".
Cuando se llama al bloque de funciones por primera vez, el estado inicial de Q1 es "0".
54
Módulo: Controladores de Procesos
Ejercicio 1
Desarrolle la lógica de control (en FBD), equivalente al circuito anteriormente mostrado,
utilizando los bloques ya aprendidos
55
Módulo: Controladores de Procesos
Temporizadores TON y TOFF
Con un profuso uso, en todo tipo de lógica, tenemos a los temporizadores. Siendo el más
utilizado el TON (time on delay), que es un “timer” con retardo en la conexión
56
Módulo: Controladores de Procesos
El temporizador TOF, o temporizador con retardo en la desconexión opera de manera
similar al TON, pero en este caso el retardo se produce en la desconexión, tal como se
muestra en el diagrama de tiempo:
57
Módulo: Controladores de Procesos
Pulso de duración definida TP
Para obtener un pulso de duración definida puede usarse el bloque “TP”
58
Módulo: Controladores de Procesos
EJERCICIO 2
Realice un semáforo, exclusivamente con temporizadores y puertas lógicas básicas, que de
un tiempo de 5 segundos para cada color (verde-amarilla-roja), repitiendo el ciclo
indefinidamente
59
Módulo: Controladores de Procesos
60
Módulo: Controladores de Procesos
Contadores crecientes y decrecientes CTU y CTD
61
Módulo: Controladores de Procesos
Función MOVE
Y su fórmula es:
OUT = IN
Dada la simplicidad del bloque es habitual que este precedido de otro bloque, que controla
la asignación, normalmente mediante la habilitación del MOVE accediendo al pin “EN”
(enabled), como se muestra en el siguiente ejemplo:
El tipo de dato de la entrada debe ser idéntico al tipo de dato de la salida. Esta función se
utiliza tanto con variables booleanas como con variables análogas
62
Módulo: Controladores de Procesos
TEMA 3: SEÑALES ANÁLOGAS Y
OTRAS FUNCIONES
3. Conceptos Fundamentales
Aprendizaje esperado
63
Módulo: Controladores de Procesos
Señales análogas
Escalamientos
Para el escalamiento de señales análogas, debemos considerar previamente como hemos
configurado el módulo de entradas análogas, a manera de ejemplo veamos el módulo de
entradas análogas de la correa transportadora CEIM:
Nuestro valor máximo para el tag “ai_IT_VDF_CT” (corriente a motor desde el variador de
frecuencia), esto es a 20 mA, será de 10.000 en unidades de PLC.
Para convertir a unidades de ingeniería será necesario utilizar un bloque, especialmente
definido, para escalamientos. Este es la función “SCALING”, que consiste básicamente en la
aplicación de ecuación de la recta dados dos puntos, y que se muestra a continuación:
64
Módulo: Controladores de Procesos
Esta función nos dará un valor de salida de acuerdo a:
Donde los valores “in_min”, “in_max”, “out_min” y “out_max” serán los parámetros de la
función, para ello se debe definir previamente un parámetro (variable DDT) que sirva para
tal propósito. Una vez definido el nombre del tag se deberá definir del tipo “Para_SCALING”,
tal como se muestra a continuación:
65
Módulo: Controladores de Procesos
Si el parámetro de recorte “Clip” se establece en 0, la escala es independiente del valor de
la entrada IN.
66
Módulo: Controladores de Procesos
Ejercicio 3
Escale una señal análoga, que corresponde a un transmisor de presión, cuyo rango va de 10
Psi a 40 Psi y que entrega una señal análoga de 4 a 20 mA
67
Módulo: Controladores de Procesos
Comparadores
Para comparar variables podemos hacer uso de las siguientes funciones:
68
Módulo: Controladores de Procesos
Las variables STRING se comparan usando el alfabeto; las variables al final del alfabeto son
expresiones de mayor prioridad que las del principio.
69
Módulo: Controladores de Procesos
Las variables STRING se comparan usando el alfabeto; las variables al final del alfabeto son
expresiones de mayor prioridad que las del principio.
70
Módulo: Controladores de Procesos
Operaciones matemáticas
Suma (ADD)
Resta (SUB)
71
Módulo: Controladores de Procesos
Multiplicación (MUL)
División (DIV)
72
Módulo: Controladores de Procesos
Ejercicio 4
Desarrolle una lógica de control que permita la partida de una bomba, conectada a la línea
de succión de un TK, cuando el nivel de un estanque alcance el 80% y la detenga cuando
baje de 20%
73
Módulo: Controladores de Procesos
Otras funciones
Conversión de enteros a reales y viceversa
Presentación
74
Módulo: Controladores de Procesos
Esto es necesario dado que las entradas análogas están expresadas en enteros (en
unidades de PLC), Por lo que convertir a unidades de PLC a unidades de ingeniería
(escalamiento) requiere de la conversión previa a reales, que es el tipo de variable
que acepta en bloque “Scaling”.
En el caso de las salidas análogas estas deben convertirse al formato enteros (en
unidades de PLC) antes de asignarse al canal del módulo de salida.
Esta función se utiliza para la selección binaria entre dos valores de entrada.
Según el estado de la entrada Selección, la entrada Entrada0 o la Entrada1 se transfiere a la
salida
Selección = 0 -> Salida = Entrada0
75
Módulo: Controladores de Procesos
Selección = 1 -> Salida = Entrada1
Los tipos de datos de los valores de entrada Input0 e Input1 y los valores de salida Output
deben ser idénticos.
Esta función reemplaza la opción de utilizar bloque MOVE
Control PID
Para la implementación de un lazo de control se recomienda usar el controlador PID1, el
que se muestra a continuación:
La configuración de los parámetros del bloque de funciones se
realiza inicialmente mediante los parámetros PID puros, es decir,
el coeficiente de acción proporcional GAIN, el tiempo de reinicio
TI y el tiempo de velocidad TD.
El componente D se retrasa el tiempo TD_LAG. La relación entre
TD/TD_LAG se denomina ganancia diferencial VD. El
componente D puede estar formado por la desviación del
sistema ERR (D_ON_X = 0) o por la variable controlada PV
(D_ON_X = 1). Si el componente D está determinado por la
variable controlada PV, entonces el componente D no podrá
causar saltos cuando se produzcan fluctuaciones de la variable
de referencia (cambios en la entrada SP). Generalmente, el
componente D solo afecta las perturbaciones y las variaciones
del proceso.
Modos de funcionamiento
Hay tres modos de funcionamiento, que se seleccionan a través de los parámetros MAN y
HALT:
76
Módulo: Controladores de Procesos
Modo de funcionamiento automático
Modo manual
QMAX = 1 si Y ≥ YMAX
QMIN = 1 si Y ≤ YMIN
Para limitar la variable manipulada, el límite superior YMAX debe ser mayor que el límite
inferior YMIN.
77
Módulo: Controladores de Procesos
Restablecimiento anti-windup
Si se lleva a cabo una limitación de variable manipulada, el restablecimiento anti-windup
debe asegurarse de que el componente integral no pueda exceder todos los límites. La
medida Antiwindup solo se implementa si el componente I del controlador no está
deshabilitado. Los límites anti-windup son idénticos a los de la variable manipulada. La
medida anti-windup no tiene en cuenta el componente D, para evitar la limitación de los
picos del componente D a través de la medida anti-windup.
La medida de restablecimiento Antiwindup corrige el componente I en el formulario, lo que
significa:
78
Módulo: Controladores de Procesos
Importante: El componente I también se puede deshabilitar con TI = 0.
Ejercicio 5
Implemente un lazo de control de nivel para un estanque de la planta piloto, la variable a
manipular será una válvula proporcional en la línea de descarga del estanque
79
Módulo: Controladores de Procesos
Uso de Arrays (vectores y matrices)
Para la optimización de recursos suele ser útil usar vectores o matrices en la programación
de lógica, para ello partiremos con la definición de un vector de enteros (como ejemplo)
Para la asignación o lectura de una variable, asignada a una determinada posición del
vector, debe utilizarse el formato Vector[posición]
A manera de ejemplo veamos la siguiente operación (de lectura)
80
Módulo: Controladores de Procesos
Filtro adelanto-atraso
Cuando una señal análoga presenta un ruido importante, por el proceso mismo a medir,
resulta muy útil filtrarla. Para ello podemos hacer uso de la siguiente función:
NOTA: Este bloque de funciones realiza una inicialización interna en el primer ciclo del
programa después de un inicio en caliente o en frío (p. ej., descarga de la aplicación o ciclo
de encendido) del programa del PLC. Debido a esto, debe asegurarse de que el bloque de
funciones se invoque en el primer ciclo del programa. En caso de incorporar el bloque de
funciones en un ciclo de programa posterior, la inicialización interna no se realizará y la
salida puede entregar un valor incorrecto.
81
Módulo: Controladores de Procesos
Integración con dispositivos vía Ethernet TCP/IP
Para integrar otros dispositivos, vía comunicación Ethernet TCP/IP, a nuestro controlador
es necesario hacer uso del DTM. DTM (administrador de tipo de dispositivo), que es un
controlador de dispositivo que se ejecuta en el PC host. Proporciona una estructura
unificada para acceder a los parámetros del dispositivo, configurar y operar los dispositivos
y solucionar los dispositivos.
Lo primero a realizar es verificar si nuestro dispositivo se encuentra en la libraría del DTM
de control expert, para ello realizaremos lo siguiente:
1) Abrimos el navegador DTM
82
Módulo: Controladores de Procesos
3) Elegiremos nuestro dispositivo del siguiente listado:
Si el equipo que se desea integrar no aparece en el listado, entonces habrá que ejecutar el
instalador de la librería de dicho dispositivo (aplicación que deberá ser provista por el
proveedor del dispositivo)
83
Módulo: Controladores de Procesos
Empaquetamiento de bits
Cuando se transfiere data de un dispositivo a otro suele utilizarse el envió de Word´s
(palabras), para las ordenes de comando y situación de estados, ello dado que enviar solo
un único bit (o algunos pocos) sería una pérdida importante de recursos. Entonces para
resolver este problema se suele emplear un conjunto de bits que son asignados a una
palabra (Word) y luego se envía esta. En la recepción se debe “desempacar” la palabra y
obtener los bits en consecuencia.
Para ello se emplean las siguientes funciones:
Donde los tipos de datos para Word, son justamente word y para los Bit´s son booleanos
(EBOOL). Se muestra a continuación una aplicación de estas funciones (para la integración
de sensores ifm comunicados mediante Ethernet TCP/IP)
84
Módulo: Controladores de Procesos
Operaciones en línea
1) Coloque el curso del mouse sobre la variable que se desea forzar, tal como se
muestra en la siguiente imagen:
Para las variables que non escritas en la lógica (por ejemplo, el valor llega desde HMI) no es
necesario forzar y basta establecer valor, ya sea en 1 (verdadero) o 0 (falso)
85
Módulo: Controladores de Procesos
Actividades Prácticas
86
Módulo: Controladores de Procesos
Actividad 2
Considere, para la lógica mostrada, un SP cuyo rango va de 0 a 100%
Entonces escriba cual sería la parametrización de cada uno de los bloques Scaling
87
Módulo: Controladores de Procesos
Actividad 3
En la lógica mostrada indique el propósito de los bloques AN_OUT y MOVE
88
Módulo: Controladores de Procesos
Actividad 4
Desarrolle la lógica de control para el control de un distribuidor de carga, que considere las
siguientes variables:
Limit Switch Norte (para inversión de giro)
Limit Switch Norte (de Seguridad y por lo tanto es interlock del equipo)
Limit Switch Sur (de Seguridad y por lo tanto es interlock del equipo)
Nivel Alto (señal análoga) posición 1 del silo, sobre el 95% es interlock del equipo
Nivel Alto (señal análoga) posición 2 del silo, sobre el 95% es interlock del equipo
Nivel Alto (señal análoga) posición 3 del silo, sobre el 95% es interlock del equipo
Nivel Alto (señal análoga) posición 4 del silo, sobre el 95% es interlock del equipo
Importante:
Aplique el concepto de lógica alambrada segura para el desarrollo de la aplicación,
esto implica que todos los dispositivos de seguridad son normalmente cerrados
(N.C.)
Si un puesto (posición en el silo) está por debajo del 10%, al momento que el tripper llega a
él, se deberá detener el distribuidor de carga por 10 segundos
89
Módulo: Controladores de Procesos