UNIVERSIDAD NACIONAL EXPERIMENTAL DEL TÁCHIRA VICERRECTORADO ACADÉMICO DECANATO DE DOCENCIA PROYECTOS DE CONTROL
Manual del Rslogix5000 CONTROL PID
AUTORES: Leal Miguel Roa Daniel
San Cristóbal, Noviembre de 2009.
INDICE INSTRUCCIONES BASICAS………………………………………...….…3 NUEVO PROYECTO……………………………….…..….……..…3 CONFIGURACION DE ENTRADAS Y SALIDAS……………..…4 CREACION DE ETIQUETAS………………………………………7 MAIN ROUTINE………………………………….…..…….……….8 BLOQUE PID………………………………………………………...……..10 PESTAÑA DE AJUSTE…… ..………………….….….…….………11 PESTAÑA DE CONFIGURACION…………………….…….….…13 PESTAÑA DE ALARMAS…………………………………...…….15 PESTAÑA DE ESCALAS………………………………..…….…...16
TIEMPOS DE INSTRUCCIÓN PID…………………………….….….…...18
INSTRUCCIONES BASICAS En primera instancia se abre el programa utilizado para la programación del PLC Allen-Bradley, para este modelo el programa utilizado es RS logix 5000, luego se procede con la creación de un proyecto en donde se escribirá el programa y se definirán los diferentes módulos entre otros.
NUEVO PROYECTO Para crear un nuevo proyecto hacemos clic en archivo y luego nuevo, y veremos la siguiente pantalla:
Figura Nº 1 Pantalla para la creación de nuevo proyecto
Aquí configuraremos primeramente el tipo de controlador que se posee en el caso de este laboratorio es el 1756-L55 ControlLogix5555 cuya revisión es 11, luego se le asignara un nombre al proyecto y una descripción en caso que se desee. En el campo tipo de chasis se coloca el chasis correspondiente al adquirido, que en este caso es 1756A10 que posee diez ranuras, para luego seleccionar la ranura donde
3
se encuentra el controlador. Por ultimo se escoge la ubicación donde queremos guardar el proyecto y presionamos OK. Para la implementación de un control PID es preciso identificar los módulos necesarios para la ejecución del mismo:
Entradas y salidas analógicas para la adquisición de la variable censada del proceso y para la salida de la acción de control.
Modulo controlador quien se encargara del control del proceso.
De manera adicional el modulo de entradas digitales para habilitar y deshabilitar la acción de control.
CONFIGURACION DE ENTRADAS Y SALIDAS Para configurar las entradas y salidas analógicas nos dirigimos a la pestaña denominada “Configuración de I/O” sobre ella se hace click derecho con el ratón y luego a “Nuevo Module” .
Figura Nº 2 Ventana para agregar un modulo.
4
En esta instancia podemos agregar los módulos nombrados anteriormente para ello los buscamos según su código. A continuación se explicara la configuración para cada uno de los módulos:
Entradas Analógicas: el modulo para entradas analógicas es el 1756IF8, revisión 1.5, que posee ocho entradas modo unipolar. Al agregar este modulo aparece la siguiente pantalla donde se configuraran sus parámetros:
Figura Nº 3 Configuración de entradas analógicas.
Aquí también le daremos un nombre al modulo y una descripción. Para la adquisición de datos es importante resaltar que en la pestaña “ Formato de
comunicación” se debe seleccionar la opción “ Datos flotantes – Modo unipolar” así como se h ace para la conversión análoga-digital. Para el resto de los parámetros se hace de manera similar para todos módulos donde se selecciona la ranura donde fue instalado y la revisión, por lo que no serán explicados en detalle, en la tabla numero 1 se tabularon los códigos correspondientes a cada uno de los módulos presentes en el laboratorio.
5
Modulo
Código
Revisión
Controlador
1756-L55-M13
1.1
Entradas Digitales
1756-IA16
2.5
Salidas de Relé
1756-OW16I
2.1
Salidas análogas
1756-OF8
1.5
Entradas análogas
1756-IF8
1.5
Comunicación EtherNet
1756-ENBT
2.4
Chasis
1756-A10
-
Tabla Nº 1 Módulos Tabulados
CREACION DE ETIQUETAS (TAGS) Una vez configurados todos los módulos se pasa a la creación de etiquetas (tags), esto para un fácil direccionamiento y reconocimiento de las variables. Para esto seguimos los siguientes pasos e ilustrados en las figuras 4 y 5. 1. Hacemos clic en la etiqueta “Tag de controller” . 2. luego en “Editar tags”. 3. En el espacio en blanco colocamos el nombre de la variable (para este ejemplo le colocamos PID ya que es la variable del controlador). 4. en la columna “Tipo” colocaremos el tipo de la variable a usar, para esto presionamos el botón de los puntos suspensivos donde se desplegara una lista de los tipos disponibles. 5. Seleccionamos el tipo de la variable a utilizar (para este caso PID). 6. Hacemos clic en aceptar.
6
Figura Nº 4 Creación de un tag
7. en la columna “Alias para” colocaremos la dirección de la entrada o salida, para esto podemos desplegar una pestaña donde aparecerán las direcciones respectivas a los módulos configurados, estas es la nomenclatura: Local:X:Y.ChZData Donde “X” corresponderá a la ranura (0 -9) donde esta ubicado el modulo a el cual se le aplicara el tag., “Y” es el tipo de dato
configuración (C), entrada (I) o salida (O), para este caso especifico utilizaremos solo entradas y salidas. Z es el canal que queremos usar del modulo seleccionado, en el laboratorio están habilitados los siguientes canales: para las entradas digitales desde el canal 0 al canal
7
11, para las salidas digitales desde el canal 0 hasta el canal 9, y para las entradas y salidas análogas se tienen desde el canal 0 hasta el canal 4.
Figura Nº 5 Ventana de edición del tag
El resto de las variables que utilizaremos para este ejemplo son las siguientes:
SETPOINT: será controlado externamente por lo que le colocaremos una entrada analógica es decir usaremos el modulo en la posición 4 ya aquí esta posicionado este modulo, y a su ves le asignaremos el canal 2.
VCONT: será la variable controlada de proceso, por esto se le asigno una salida analógica siguiendo la nomenclatura antes nombrada para escoger la ranura y el tipo de dato.
VPRO: de la misma manera configuramos la variable del proceso con la diferencia que esta es una entrada analógica.
MAIN ROUTINE Una vez definidos todas las variables y módulos necesarios es momento de iniciar con el desarrollo del programa para ello nos dirigimos a la pestaña “Tasks”, y
empezamos a desplegar las sub- pestañas hasta llegar a la pestaña “MainRoutine” como se muestra en la figura 6.
8
Figura Nº 6 MainRoutine
En es este espacio plasmaremos nuestro programa. Para obtener el valor correspondiente al set point desde una fuente externa primero colocaremos un interruptor normalmente abierto el cual nos permitirá decidir en que momento queremos cambiar el set point. (Le asignamos cualquier entrada digital). Seguidamente usaremos la instrucción MOV, la cual encontraremos en la parte superior derecha entre varias funciones, para esto hacemos clic en las flechas (1) hasta encontrar las pestaña “Transferencia/lógicas” (2) donde se vera fácilmente el
cuadro MOV (3). Al seleccionarlo encontraremos un bloque en el cual podemos asignar una entrada denominada “Source” ( 4), y una salida denominada “destino” ( 5). Este bloque
funciona como una especie de convertidor Analogo-Digital. Colocaremos el tag “SETPOINT” como entrada y como salida “PID. SP” que será explicado
posteriormente.
Figura Nº 7 Configuración del bloque MOV
De la misma manera que con el bloque mov, encontramos el bloque PID usando la flecha hasta encontrar la pestaña “Especiales” y luego seleccionamos el cuadro
PID.
9
Figura Nº 8 Selección del bloque PID
Una vez seleccionado el bloque PID se vera de la siguiente manera:
Figura Nº 9 Bloque PID en el diagrama de escalera
BLOQUE PID Una vez seleccionado el bloque PID, se procederá a realizar su respectiva configuración, en el orden de aparición en el bloque:
Figura N° 10 Bloque PID
10
PID: Aquí configuramos la Etiqueta (tag) a la cual se asignara este bloque, si hacemos doble clic en el signo de inte rrogación “?” saldrá una serie de pestañas con las direcciones que configuramos de los módulos y las etiquetas que hemos creado, aquí seleccionaremos la etiqueta tipo PID creada anteriormente. también podemos configurar los parámetros del controlador entre los que podemos destacar la ganancia proporcional, integral y derivativa. Para esto hacemos clic en el botón con los puntos suspensivos (“…”) donde observaremos la siguiente ventana y sus
respectivas pestañas:
PESTAÑA DE AJUSTE
Figura Nº 11 Pestaña de Ajuste en la ventana de Configuración
11
Punto de ajuste (SP): se refiere al set point, aquí se le puede asignar un valor manualmente, este valor no se introduce en porcentaje del rango es decir se hace con el rango asignado para la variable del proceso, también se puede asignar externamente y se define con el nombre de la etiqueta PID asignada seguida por “.SP” (ver figura N° 7).
Definir Salida: aquí se coloca el valor de la salida en porcentaje del rango cuando se está en modo manual electrónico, también puede ser modificada externamente y está definida por “X.SO”.
Polarización de salida: BIAS en porcentaje del rango.
Ganancia Proporcional, Ganancia Integral, Tiempo de derivada: se refieren a los valores de
,
y
que se muestran
en la ecuación N°1
Modos Manuales: Manual Electrónico: cuando esta activo permite que el usuario maneje la salida directamente con la variable “Definir Salida” (x.SO).
Manual: toma el valor de la variable “Tieback” como una entrada y ajusta los parámetros internos del controlador para ajustar la salida al mismo valor. El
usuario
puede
manipular
esta
variable
externamente ya que Tieback está definida como X.TIE.
Nota: El modo manual anula el manual electrónico cuando los dos están activados.
EC N°1 ó
: Error.
Set point. Variable Controlada. 12
Variable del proceso. Ganancia Proporcional. Ganancia Integral [
].
Ganancia Derivativa [ ].
PESTAÑA DE CONFIGURACION
Figura N° 12 Pestaña de configuración en la ventana de configuración
Ecuación PID: permite escoger entre ganancias dependientes y ganancias independientes para el caso específico de este tutorial se usaron ganancias independientes.
Acción de control: Directa (E=SP-PV) ó inversa (E=PV-SP) según sea el caso.
13
Derivada de: Seleccione PV para eliminar los picos de salida causados por los cambios del punto de ajuste. Seleccione E para obtener respuestas rápidas a cambios del punto de ajuste cuando el algoritmo puede tolerar sobre impulsos.
Tiempo de actualización de lazo: se ingresa el periodo de muestreo del bloque PID (Ver sección Tiempos de instrucción PID).
Limite alto CV: Introduzca un límite alto para la variable de control en porcentaje del rango.
Limite bajo CV: Introduzca un límite bajo para la variable de control en porcentaje del rango.
Valor de banda muerta: permite seleccionar un error sobre y debajo del set point donde la salida no cambia mientras el error se mantenga en ese rango.
Figura N°13 Banda muerta
14
PESTAÑA DE ALARMAS
Figura N° 12 Pestaña Alarmas en la ventana de configuración
Variable de proceso (PV) alta: El valor al cual la alarma alta de PV (X.PVHA) se establece en verdadero. Éste es el valor de PV más alto que puede tolerar el sistema.
Variable de proceso (PV) baja: El valor al cual la alarma baja de PV (X.PVLA) se establece en verdadero. Éste es el valor de PV más bajo que puede tolerar el sistema.
15
PESTAÑA DE ESCALA
.
Figura N° 13 Pestañas de Escala en la ventana de configuración
Máx. sin escala: introduzca un valor máximo para la variable del proceso (PV), que corresponda al máximo valor de la entrada análoga sin escalar de la misma manera se puede manejar con la etiqueta como “X.MAXI”.
Mín. sin escala: introduzca el valor mínimo para la variable del proceso (PV), que corresponda al mínimo valor de la entrada análoga sin escalar. se puede manejar con la etiqueta como “X.MINI”.
Unidad de ingeniería máx.: introduzca el valor máximo en unidades de ingeniería (X.MAXS) correspondiente a “ Máx. sin
escala”.
16
Unidad de ingeniería mín.: introduzca el valor mínimo en unidades de ingeniería (X.MINS) correspondiente a “ Mín. sin
escala”.
Variable de control (CV): Máx. (a 100%): introduzca el valor máximo para la variable
de
control
correspondiente
al
100%
(X.MAXCV).
Mín. (a 0%): Introduzca el valor mínimo para la variable de control correspondiente al 0% (X.MINCV).
Valor retenido: estos valores se refieren al antes nombrado tieback aquí se definirán los valores máximos y mínimos que se esperan de esa entrada.
Máx. (a 100%): Introduzca un valor máximo para el valor retenido, que corresponda al máximo valor de la entrada análoga sin escalar. de la misma manera se puede manejar con la etiqueta como “X.MAXTIE”.
Mín. (a 0%): introduzca el valor mínimo para el valor retenido, que corresponda al mínimo valor de la entrada análoga sin escalar. se puede manejar con la etiqueta como “X.MINTIE”.
PID inicializado: se debe desactivar en caso de que ocurra un cambio en las constantes de escala durante el modo marcha, para hacer dichos cambios.
En la parte inferior de la ventana de configuración se observara una serie de marcadores con los valores actuales de algunas variables. Para terminar con la configuración y guardar los cambios hacemos clic en aceptar.
Variable del proceso: en este lugar definimos la etiqueta o dirección que refiere a la variable del proceso se hace de la misma manera que se ha
17
hecho con la etiqueta PID. En el ejemplo de este tutorial se uso la etiqueta “VPRO”.
Valor retenido: aquí definimos la dirección o etiqueta referente a la entrada correspondiente al tieback.
Variable de control: aquí definimos la dirección o etiqueta referente a la salida que corresponde a la variable de control (CV).
Lazo maestro PID: sirve para configurar control en cascada para este tutorial se coloca igual a cero indicando que no estamos ejecutando control en cascada.
Bit Mantenido: opcional (ver ayuda en la sección “Bumpless Restart”) , si no se desea usar se puede dejar en cero.
Valor mantenido: opcional (ver ayuda en la sección “Bumpless Restart” ), si no se desea usar se puede dejar en cero.
Punto de ajuste: muestra el valor actual del set point
Variable del proceso: muestra el valor actual de la variable del proceso
% de salida: muestra el porcentaje de la señal de salida aplicada al actuador.
TIEMPOS DE INSTRUCCIÓN PID Tanto la variable del proceso como la instrucción PID necesitan ser actualizados periódicamente. Este tiempo de actualización está íntimamente relacionado con el proceso físico que se está controlando. Para lazos muy lentos, como es el caso de los de temperatura, un tiempo de actualización de 1 segundo o hasta mayor es usualmente suficiente para obtener buen control. Por otro lado, lazos más rápidos como presión y flujo necesitan un tiempo de actualización de aproximadamente 250 milisegundos. Y en escasos casos tiempos de hasta 10 milisegundos o mayor. Como la instrucción PID usa una base de tiempo para sus cálculos es necesario sincronizar la ejecución de la instrucción con el muestreo de la variable del proceso. 18
La manera para sincronizarlos es colocar la instrucción PID en una tarea periódica. Esto se hace colocando el tiempo al cual se quiere actualizar en la ventana de configuración (ver sección Pestaña de configuración). En la etiqueta “Tiempo de actualización de lazo” este tiempo va en segundos. Para que la
sincronización sea correcta se debe asegurar que la entrada analógica usada para la variable del proceso se actualice en una velocidad que sea significativamente más rápida que la velocidad de la instrucción PID. Idealmente la variable del proceso debe ser enviada al menos de cinco a diez veces más rápido que la instrucción PID. La velocidad de actualización del modulo de entradas analógicas se configura haciendo clic derecho encima del modulo y luego donde dice “Propiedades”, en la
pestaña de conexión veremos la siguiente ventana. En donde se pueden poner tiempos entre 18 y 750 milisegundos.
Figura N° 14 Pestaña de conexión en la ventana propiedades del modulo
19