P EN UNA PLANTA DE LABORATORIO Proyecto Final de...

271
UNIVERSIDAD DE SEVILLA ESCUELA SUPERIOR DE INGENIEROS INGENIERÍA INDUSTRIAL PUESTA EN MARCHA DE CONTROLADOR DMC EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrera Víctor J. Cuadrado Alvarado

Transcript of P EN UNA PLANTA DE LABORATORIO Proyecto Final de...

Page 1: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

UNIVERSIDAD DE SEVILLA

ESCUELA SUPERIOR DE INGENIEROS

INGENIERÍA INDUSTRIAL

PPUUEESSTTAA EENN MMAARRCCHHAA DDEE CCOONNTTRROOLLAADDOORR DDMMCC EENN

UUNNAA PPLLAANNTTAA DDEE LLAABBOORRAATTOORRIIOO

Proyecto Final de Carrera

Víctor J. Cuadrado Alvarado

Page 2: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 2 Víctor J. Cuadrado Alvarado

Proyecto Final de Carrera

PPUUEESSTTAA EENN MMAARRCCHHAA DDEE CCOONNTTRROOLLAADDOORR DDMMCC EENN

UUNNAA PPLLAANNTTAA DDEE LLAABBOORRAATTOORRIIOO

Autor

Víctor J. Cuadrado Alvarado Tutor

Carlos Bordons Alba

Escuela Superior de Ingenieros de Sevilla, 2005

Page 3: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 3 Víctor J. Cuadrado Alvarado

ÍNDICE 1.- Objetivos y alcance del proyecto.

2.- Control predictivo de procesos.

2.1.- Aparición del control predictivo

2.2.- Desarrollo histórico

2.3.- Aplicación actual

2.3.1.- Procesos multivariables

2.4.- Conceptos básicos

2.4.1.- Algoritmos de identificación de los modelos

2.4.2.- Modelo del DMC

2.4.3.- Perturbaciones en DMC

2.4.4.- Función objetivo y algortimo de control de DMC

3.- El producto y su fabricante.

3.1.- Fabricante del producto

3.2.- Introducción al producto

3.3.- Process Control

3.3.1.- DMCplus

3.3.2.- Funcionamiento del DMCplus

3.3.3.- Módulos de DMCplus

3.3.4.- Implementación de un controlador DMCplus

4.- Instalación de la herramienta.

4.1.- Estructura Hardware y Software

4.1.1.- Necesidades Hardware y Software

4.1.2.- Software seleccionado

4.1.3.- Requerimientos para la instalación

4.2.- Instalación del software

4.2.1.- Instalación del ALM

4.2.2.- Instalación del DMCplus

4.2.3.- Instalación de Cim-IO

5.- Manuales de uso.

5.1.- Aspen License Manager

5.1.1.- License Manager Key Installer

5.1.2.- License Manager Admin Window

Page 4: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 4 Víctor J. Cuadrado Alvarado

5.1.3.- License Server Control Program

5.2.- Collect y Extract

5.2.1.- Collect

5.2.2.- Extract

5.3 .- DMCplus Model

5.3.1.- Aspectos generales

5.3.2.- Pasos a seguir en el modelado

5.3.3.- Proyectos

5.3.4.- Vectores

5.3.4.1.- Importar vectores

5.3.4.2.- Trabajar con los vectores

5.3.5.- Casos

5.3.5.1.- Creación y ejecución de un caso

5.3.5.2.- Algoritmos de identificación

5.3.5.3.- Utilidades para los casos

5.3.6.- Modelos

5.3.6.1.- Creación de un modelo

5.3.6.2.- Trabajar con modelos

5.3.6.3.- Exportar un modelo

5.3.7.- Predicciones

5.3.8.- Listas de objetos

5.4.- DMCplus Build

5.4.1.- Aspectos generales

5.4.2- Controller Configuration File (CCF)

5.4.2.1.- Entradas: Keyword

5.4.2.2.- Creación de un nuevo CCF

5.4.2.3.- Configure

5.4.2.4.- General

5.4.2.5.- Independents

5.4.2.6.- Dependents

5.4.2.7.- Calculations

5.4.2.8.- Subcontrollers, Composite, ET

5.4.3.- Set Point frente a Steady State Target

5.4.4.- Rankings

Page 5: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 5 Víctor J. Cuadrado Alvarado

5.4.5.- Validación de la CCF

5.4.6.- Creación de una plantilla

5.4.7.- Generación de documentación

5.5.- DMCplus Simulate

5.5.1.- Generalidades

5.5.2.- Archivos utilizados en Simulate

5.5.3.- Ventana de variables

5.5.4.- Ventanas de simulación

5.5.5.- Realizar una simulación

5.5.5.1.- Opciones de simulación

5.5.5.2.- Área de mensajes

5.5.5.3.- Edición del controlador

5.6.- Manage

5.6.1.- Antes de empezar

5.6.2.- Menú principal

5.6.3.- Menú secundario

5.7.- CIM-IO

5.7.1.- Inicio de la interface

5.7.2.- Utilidades de la interfaz CIM-IO

5.7.2.1.- Display Tags Utility

5.7.2.2.- Test API

6.- Aplicación sobre planta de laboratorio.

6.1.- Planta piloto

6.2.- Sistema a controlar

6.3.- Implementación del control

6.3.1.- Punto de operación

6.3.2.- Toma de datos

6.3.3.- Modelado del sistema

6.3.4.- Configuración del controlador

6.3.5.- Simulación del controlador

6.3.6.- Aplicación del control

6.4.- Resultados del control

6.4.1.- Solución LP (Linear Program)

6.4.2.- Solución QP (Quadratic Program)

Page 6: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 6 Víctor J. Cuadrado Alvarado

7.- Conclusiones.

Anexo I. Barras de herramientas y menús de los programas.

Anexo II. Fórmulas predeterminadas de DMCplus Model.

Anexo III. Fórmulas predeterminadas de DMCplus Build.

Anexo IV. Listado de entradas de DMCplus Build.

Bibliografía.

Page 7: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 7 Víctor J. Cuadrado Alvarado

1.- OBJETIVOS Y ALCANCE DEL PROYECTO El presente Proyecto Fin de Carrera versa sobre el Control Predictivo de procesos,

concretamente sobre un paquete comercial llamado DMCplus suministrado por Aspen

Tech.

El control predictivo es una técnica relativamente moderna utilizada en el control de

cualquier tipo de procesos, principalmente multivariables y con puntos de operación

estables.

Aunque este tipo de control puede implementarse desarrollando sus algoritmos de

control en el entorno adecuado, desde hace unos años las empresas del sector de la

Automatización de procesos ha venido desarrollando una serie de aplicaciones para el

control de los procesos de sus clientes basados en las técnicas de control predictivo.

Por ello, ya no es necesario que cada empresa desarrolle sus propios sistemas de

control, con el consiguiente coste que ello tiene. Adquiriendo el software proporcionado

por el fabricante de software es posible desarrollar, implementar, gestionar y mantener

los sistemas de control de una manera fácil, cómoda y ahorrando costes.

Sin embargo existen dos inconvenientes a la hora de utilizar alguno de estos paquetes

comerciales de control predictivo ofertado por los fabricantes de software.

El primer inconveniente es el de formación de los usuarios finales del software de

control en la empresa en la que se implante. No obstante éste no es el principal

problema. Una vez formados los trabajadores de la empresa de forma adecuada podrán

hacerse con el control de la herramienta cualquiera que sea el tipo de control que se

realice o el proceso del que se trate, ya que la forma de trabajar con la herramienta de

control será siempre la misma.

Como segundo y principal inconveniente cabe citar el de la fiabilidad del software que

se utilice. Como línea de empresa los fabricantes de software siempre mantienen que su

software es seguro en cuanto a su funcionamiento en el control del proceso y en lo que a

estabilidad computacional.

Sin embargo debido a la juventud tanto de la técnica de control de la que hablamos

como de los paquetes comerciales que actualmente se ofertan, la afirmación del

fabricante sobre la seguridad y fiabilidad de u producto no siempre es cierta.

Como consecuencia de lo comentado en los párrafos anteriores se hace necesario

Page 8: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 8 Víctor J. Cuadrado Alvarado

realizar una comprobación del funcionamiento de los paquetes comerciales de control

con vistas a su utilización en entornos críticos de control.

El primer objetivo del presente proyecto es dar una visión general y sucinta del control

predictivo de procesos multivariables, detallando algo más aquellos aspectos

relacionados con la técnica Dynamic Matrix Control o DMC, técnica utilizada por la

herramienta alrededor de la cual gira este proyecto.

Una vez definida la técnica de control que se utiliza, se proporciona una visión sobre la

aplicación empleada y de su fabricante. Ésto proporciona una idea del tipo de

aplicaciones de las que dispone dicho fabricante así como su penetración en el mercado,

lo cual marca muchas veces viene marcado por la calidad de sus productos.

Sin embargo el objetivo fundamental del presente proyecto es el de preparar la

herramienta para que ésta pueda ser utilizada por aquellos que precisen de ella.

Así en primer lugar se explica la instalación de la aplicación, y las herramientas

necesarias para su correcto funcionamiento, en una red que permite su operación y

funcionamiento de forma fácil, lógica y sencilla.

Seguidamente se proporcionan una serie de manuales de operación de las aplicaciones

instaladas para la configuración de los controladores. Se trata de una parte muy

importante de este proyecto ya que indica a los futuros usuarios de la aplicación cómo

trabajar con la misma.

Para terminar se realiza una aplicación práctica del programa sobre una planta del

laboratorio de Automática para probar su funcionamiento y utilidad. Esto nos permite

comprobar la fiabilidad de la aplicación así como de ejemplo para futuras aplicaciones

sobre otros procesos o plantas de producción.

Por último y en relación con el párrafo anterior se realiza un análisis de los resultados

obtenidos en la aplicación del control mediante el paquete comercial de control sobre la

planta del laboratorio.

Page 9: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 9 Víctor J. Cuadrado Alvarado

2.- CONTROL PREDICTIVO DE PROCESOS 2.1.- Aparición del control predictivo Hasta hace relativamente unos pocos años el principal y podríamos decir único objetivo

del control consistía en conseguir un funcionamiento estable del proceso a controlar. Sin

embargo cuestiones como la competencia entre empresas para lograr procesos más

eficientes, cambios en las tecnologías y otras preocupaciones como los problemas

medioambientales han originado un cambio en las técnicas de control que se aplican

actualmente en los procesos industriales. Por ello los sistemas de control de hoy en día

deben ser capaces de satisfacer criterios económicos, minimizando ciertas funciones de

costes, criterios de seguridad y criterios de calidad, sin olvidar nunca el mantenimiento

de una operación estable en el proceso. Así pues estos sistemas de control tendrán como

objetivo la actuación sobre las variables manipulables con el fin de satisfacer los

múltiples criterios citados anteriormente.

Actualmente existen variadas metodologías de control para la consecución del objetivo

planteado, diferenciándose principalmente en los compromisos alcanzados al realizar las

formulaciones matemáticas de los criterios de funcionamiento, en forma de funciones

objetivo dinámicas acompañadas de restricciones, y en la forma de abstraer el proceso,

representado como un modelo dinámico al que se le añaden incertidumbres.

Es entonces cuando aparecen los métodos de Control Predictivo basado en Modelo

(MPC en sus siglas en inglés), que en su estructura más general acepta cualquier tipo de

modelos, funciones objetivo y/o restricciones.

2.2.- Desarrollo histórico El Control Predictivo se desarrolló siguiendo dos líneas principalmente. En primer lugar

aparecieron diversos algoritmos en los cuales se hacía un uso explícito de un modelo

dinámico del proceso para predecir el futuro de las salidas del sistema una vez que eran

aplicadas las acciones de control, siendo estas últimas calculadas de forma que se

minimizara el error predicho sujeto a las restricciones de operación. Ésta optimización

se repetía en cada instante de muestreo. El modelo dinámico de la planta se obtenía

mediante el modelo de respuesta impulsional o en escalón, que es mucho más sencillo

que el espacio de estados o el de la función de transferencia. Sobre este tipo de

algoritmos se desarrollaron el IDCOM (Identification-Command) y el DMC (Dynamic

Matrix Control).

Page 10: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 10 Víctor J. Cuadrado Alvarado

La otra línea de desarrollo surgió a partir del control adaptativo, desarrollándose

técnicas especialmente en procesos monovariables. Algunas de estas técnicas son el

Controlador de Mínima Varianza y el GPC (Generalized Predictive Control).

2.3.- Aplicación actual Actualmente el uso de las técnicas de Control Predictivo está muy extendido en la

industria, principalmente en el sector petroquímico y en procesos multivariables. Este

éxito se debe a varias razones como:

- La incorporación de un modelo explícito del proceso en los cálculo, por lo tanto

se tienen en cuenta todas las características dinámicas del proceso.

- Al contemplar el comportamiento del proceso a lo largo de un tiempo futuro da

la posibilidad de saber el efecto de las perturbaciones.

- La consideración de restricciones al diseñar el controlador implica la

imposibilidad de que dichas restricciones sean violadas.

- Existe una variada rama comercial de este tipo de productos llave en mano

además de la posibilidad de utilizar productos genéricos.

2.3.1.- Procesos multivariables En los procesos reales sobre los que se aplica algún tipo de control existen siempre gran

cantidad de variables involucradas. Básicamente, podemos decir que un proceso debe

tomar una serie de materiales y recursos para producir uno o más productos, como se

muestra de forma gráfica en la figura 2.1.

Figura 2.1.- Flujo de materiales y recursos en un proceso

El propósito de las unidades de procesos es, cómo no, producir una serie de productos

de forma que se maximicen los beneficios. En muchos casos, esta maximización viene

dictada bien por la máxima capacidad de producción o bien por las condiciones del

mercado en el que han de introducir los productos obtenidos.

Page 11: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 11 Víctor J. Cuadrado Alvarado

Sin embargo, y como se ha dicho anteriormente, en el proceso intervienen normalmente

gran cantidad de variables, no ya sólo las propias de los flujos de materiales, sino otras

como las limitaciones de los equipos, actuadores, la propia operación de la planta

también introduce unas capacidades, calidad del producto elaborado, etcétera.

Todas estas variables hacen que nuestro sistema de control del proceso deba tenerlas en

cuenta a la hora de realizar el control de la planta, ya que además es altamente probable

que todas o la gran mayoría de las variables que intervienen en el proceso tengan

influencia unas sobre otras.

Por todo lo anterior es normal utilizar en los procesos de control aquellos controladores

que permitan realizar un control multivariable, es decir, sistemas de control que sean

capaces de asimilar todas las variables presentes en el proceso, obtener un punto de

operación aceptable para todas ellas, y ser capaz de hacer que dichas variables alcancen

el punto de operación especificado.

2.4.- Conceptos básicos En este apartado se darán ciertas ideas sobre el control predictivo, así como una serie de

expresiones matemáticas sobre diversos temas. Al no ser éste el objetivo del proyecto

no se aborda el asunto con demasiada profundidad, suponiéndose además que el lector

tiene conocimientos suficientes sobre el control predictivo.

A continuación se indican las ideas comunes a todos los controladores que se engloban

en el control predictivo:

- Utilización de manera explícita de un modelo para predecir la salida del proceso

en instantes de tiempo futuros, llamado horizonte temporal.

- Cálculo de las acciones de control minimizando una cierta función objetivo.

- Uso de una estrategia deslizante de tal modo que en cada instante el horizonte es

desplazado hacia delante en el tiempo.

Las diferencias más reseñables entre los controles predictivos radican en el modelo

utilizado para el proceso, las perturbaciones y la función objetivo a minimizar. Estos

contrastes, aunque pequeños, pueden causar grandes diferencias en el funcionamiento

en bucle cerrado.

Entre las ventajas del MPC frente a otros tipos de control caben destacar:

- Conceptos intuitivos, por lo tanto no es necesario personal muy cualificado en

Page 12: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 12 Víctor J. Cuadrado Alvarado

control.

- Es aplicable a multitud de procesos, incluyendo aquellos con grandes retardos

(posee compensación implícita del retardo), fase no mínima o inestables.

- Fácilmente aplicable a procesos multivariables.

- Muy útil en procesos en los que son conocidas las referencias futuras.

Asimismo el MPC presenta algunos inconvenientes como son el aumento de carga de

cálculo, resuelta con los potentes ordenadores de hoy en día, y la necesidad de disponer

del modelo apropiado del proceso, el cual es crítico para las prestaciones del

controlador.

Como último concepto básico se expone a continuación la estrategia que siguen todos

los controladores de la familia MPC:

1.- En cada instante t utilizamos el modelo del proceso para predecir las futuras salidas

para un determinado horizonte temporal u horizonte de predicción N. Se obtienen así las

salidas predichas ŷ(t+k|t) durante todo el horizonte, las cuales dependen de los valores

en el instante t y de las futuras acciones de control que se vayan a aplicar u(t+k|t) y que

hay que calcular.

2.- Las señales de control futuras se calculan de manera que se optimice un criterio

determinado para mantener el proceso lo más próximo posible a la trayectoria de

referencia w(t+k), que será o bien el set point o una aproximación suave.

3.- Se envía al proceso la señal de control u(t|t), desechándose el resto de las calculadas,

puesto que en el siguiente instante de muestreo ya se conoce y(t+1).

4.- Se repite el proceso desde el punto 1, con los valores de las señales actualizados.

u(t)u(t+k|t)

y(t)

ŷ(t+k|t)

N

t-1 t t+1 t+k t+N

Figura 2.2.- Estrategia del Control Predictivo

Page 13: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 13 Víctor J. Cuadrado Alvarado

La estrategia mostrada anteriormente se realiza con una estructura como la que se

muestra en la figura 2.3.

2.4.1.- Algoritmos de identificación de los modelos

Existen varios algoritmos de identificación de los modelos que se utilizan para realizar

las predicciones necesarias. Sin embargo sólo se explicarán a continuación aquellos que

se utilizan en DMC y DMCplus.

• Finite Impulse Response (FIR):

Son modelos que tienen la forma ∑∞

=

−∆⋅=1

)()(i

i ituhty , en donde los coeficiente h se

obtienen tras aplicar un impulso como entrada al proceso. Sin embargo estos modelos

suelen truncarse de forma que nos quedamos con un modelo de la forma

∑=

−∆⋅=N

ii ituhty

1)()(

Este algoritmo de identificación es muy simple y no necesita ningún conocimiento

previo del proceso sobre el que estemos trabajando, y además no le afectan los retardos.

Sin embargo no es posible su aplicación sobre procesos inestables y presenta el

inconveniente de la complejidad de generar señales de tipo impulsional.

• Modelo de respuesta ante escalón:

Es parecido al anterior, presentando las mismas ventajas e inconvenientes, solo que en

vez de utilizar señales de tipo impulsional utilizamos señales en escalón. Entonces

MODELO

Salidas predichas

Trayectoria de referencia Entradas y salidas

pasadas

OPTIMIZADOR Errores futuros

Controles futuros

RestriccionesFunción de coste

+

-

Figura 2.3.- Estructura básica del MPC

Page 14: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 14 Víctor J. Cuadrado Alvarado

tenemos un modelo del tipo

∑=

−∆⋅=N

ii itugty

1)()(

• Subspace Identification:

Se trata de una nueva tecnología de identificación paramétrica introducida por

DMCplus, que ofrece las siguientes ventajas:

- Utiliza un modelo en el espacio de estados para representar relaciones internas

entre variables.

- Especialmente indicada para procesos MIMO (Multiple In/Multiple Out),

pudiendo obtener la mínima parametrización y aumentando su eficiencia.

- Es un proceso no iterativo que usa álgebra lineal.

Su mayor inconveniente es su poca implantación hasta el momento en la industria, por

lo que no está demasiado depurado su funcionamiento.

2.4.2.- Modelo del DMC

Como ya hemos dicho, los distintos tipos de control predictivo se diferencian entre otras

cosas en el modelo que utilizan para realizar las predicciones de las señales de salida del

proceso.

En el caso del control DMC el modelo monovariable que utiliza es el modelo en

escalón, del tipo

∑=

−∆⋅=N

ii itugty

1)()( ,

donde: t es el tiempo en el que nos encontremos

u es la señal de entrada al sistema

g son los coeficientes del modelo

N número máximo de coeficientes utilizados en el modelo

y es la señal de salida del proceso.

Así, tras una serie de operaciones matemáticas se llega a que las predicciones generadas

por DMC son de la forma

fuGty +⋅=∧

)(

Page 15: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 15 Víctor J. Cuadrado Alvarado

en donde

=

+−−

11

11

12

1

000

mppp

mm

ggg

ggg

ggg

G

L

MOMM

L

MOMM

L

L

se denomina matriz dinámica del ensayo en escalón y

lleva los coeficientes del modelo para todas las variables formada por m (horizonte de

control) columnas, f es la respuesta libre del sistema, u son las señales de control e ∧

y

son las predicciones de salida (vector de dimensión p, número de variables del sistema).

2.4.3.- Perturbaciones en DMC

El efecto de las perturbaciones medibles se puede añadir de una manera simple a la

ecuación anterior de predicción tratando a las perturbaciones medibles como señales de

entrada al sistema. Así nos encontraríamos con la expresión

dd fdDy +⋅=∧

donde dy∧

es la contribución de las perturbaciones medibles a la salida del sistema, D es

una matriz similar a G que contiene los coeficientes de la respuesta del sistema a un

escalón en la perturbación, d es el vector de perturbaciones y fd es la parte de la

respuesta que no depende de la perturbación.

Si tomamos también el caso general de perturbaciones medibles y no medibles,

podremos suponer la respuesta libre del sistema como una suma de cuatro efectos:

respuesta a la entrada u(t), a la perturbación medible d(t), a la perturbación no medible y

al estado actual del proceso: ndu ffdDff ++⋅+= , pudiendo usar la expresión que

teníamos en un principio: fuGty +⋅=∧

)(

2.4.2.- Función objetivo y algoritmo de control de DMC

Una de las principales causas del éxito del DMC es que utiliza una función objetivo a la

cual se le pueden añadir restricciones.

En general, la función objetivo que se intenta minimizar para obtener el punto de

operación más adecuado para el proceso es, incluyendo sólo los errores futuros,

∑=

+−+=

p

jjtwtjtyJ

1

2

)()|(

Page 16: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 16 Víctor J. Cuadrado Alvarado

aunque si incluimos también el esfuerzo de control obtenemos la expresión

[ ]∑∑==

−+∆⋅+

+−+=

p

j

p

jjtujtwtjtyJ

1

2

1

2

)1()()|( λ

utilizándose λ como parámetro para incrementar o disminuir la importancia de la acción

de control en la función objetivo.

Sin restricciones, la minimización de la función objetivo anterior nos da como solución

de la acción de control

( ) ( )fwGIGGu TT −+=−1

λ

siendo ésta la acción de control a lo largo de todo el horizonte de control, pero hay que

recordar que sólo ha de aplicarse la primera de las acciones.

Además podemos añadir restricciones al problema del tipo matricial

cuR ≤⋅

aunque ésto nos lleva a soluciones no analíticas y sí numéricas.

Por último resaltar que las expresiones anteriores son fácilmente aplicables a sistemas

multivariables sin más que convertir las variables en vectores de forma que recojan

todas las señales de entrada y salida que intervengan en el proceso. La matriz G

quedaría entonces como:

=

nynunyny

nu

nu

GGG

GGGGGG

G

L

MOMM

L

L

21

22221

11211

donde cada submatriz ijG contiene los coeficientes de la respuesta ante escalón i-ésima

correspondiente a la entrada j-ésima.

Page 17: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 17 Víctor J. Cuadrado Alvarado

3.- EL PRODUCTO Y SU FABRICANTE La herramienta sobre la que trata este proyecto es el software DMCplus, producto

comercial de la empresa estadounidense Aspen Technology.

3.1.- Fabricante del producto Aspen Technology, radicada en Cambridge (Massachusetts, USA), se creó en 1981 para

la comercialización de la tecnología desarrollada para Sistemas Avanzados de

Ingeniería de Procesos (ASPEN en sus siglas inglesas), proyecto realizado en el

Instituto de Tecnología de Massachusetts (MIT). AspenTech fue adquirida en Octubre

de 1994 por más de veinte compañías como Neuralware Inc., Hyprotech Ltd., Industrial

Systems Inc. o Prosys Technology Ltd., como parte de una estrategia para ofrecer

soluciones integradas a los procesos industriales. Se trata de una empresa líder en el

desarrollo de software y servicios para la industria, permitiendo la automatización y

optimización de las industrias.

La empresa ofrece un amplio abanico de productos que abarcan todos los aspectos de la

industria, desde el control de una planta de fabricación hasta el seguimiento de la vida

útil de un producto o el e-business, por ejemplo. Algunos de los productos ofertados por

Aspen entre muchos otros son:

- Aspen HYSYS.

- Aspen Icarus.

- Aspen ORION.

- Aspen Plant Planner and Scheduler.

- Aspen Apollo.

- DMCplus.

- Aspen Process Explorer.

- InfoPlus.21.

Los distintos productos pueden ser adquiridos de forma conjunta en paquetes o suites,

adjuntándose en cada una de ellas las herramientas necesarias para unos ciertos

objetivos.

Actualmente la empresa tiene más de 1750 trabajadores en todo el mundo y está

presente en más de 1500 industrias de 60 países, incluyendo algunas líderes de sus

sectores de negocio como son Avantis, Bayer, BASF, BP, ChevronTexaco, Dow

Chemical, DuPont, ExxonMobil, Shell, TotalFina-Elf o las españolas Cepsa y Repsol-

Page 18: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 18 Víctor J. Cuadrado Alvarado

YPF. Además ha recibido varios premios como reconocimiento a su labor por parte de

las propias compañías a las que suministra sus productos. Entre los más recientes caben

destacar:

• Vertical Market Penetration Leadership Award por su

capacidad para el aumento del valor añadido mediante productos innovadores

para los procesos de fabricación.

• Technology Excellence Award por sus soluciones

integradas y de tiempo real de la cadena de suministro de las compañías de

bienes de consumo.

• #1 Supply Chain Management Vendor como líder en

soluciones para la cadena de suministro de la industria.

3.2.- Introducción al producto El software sobre el que versa este proyecto es el DMCplus, el cual viene integrado en

el producto comercial Aspen Manufacturing Suite 6.0 (AMS). La AMS integra los

productos de cuatro de las familias de Aspen: Information Foundation, Batch,

Production Management y Process Control. Así esta suite nos proporciona las

herramientas necesarias para realizar production dispatching, gestión de datos

históricos, control avanzado, modelado inferencial, análisis de procesos, monitorización

de procesos, seguimiento de la producción y gestión de la calidad. Los productos que

integran esta suite son:

• 1st Quality

• ADSA Directory Server

• Aspen Apollo

• Aspen Advisor

• Aspen Alarm and Event

• Aspen Calc

• Aspen eBRS

• Aspen Enterprise Server

• Aspen IQ

• Aspen IQmodel Powertools

• Aspen Local Security (ALS)

• Aspen Multivariate

• Aspen Operations Log

• Aspen Process Explorer

• Aspen Process Order

• Aspen Process Recipe

Page 19: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 19 Víctor J. Cuadrado Alvarado

• Aspen Product Tracking

• Aspen RTO Watch

• Aspen SmartStep

• Aspen Transition Manager

• Aspen Watch

• Batch.21

• CIM-IO

• Desktop ODBC

• DMCplus

• Event.21

• InfoPlus.21

• Production Control Web Server

• Q

• SQLplus

• Web.21

El uso de un producto u otro dependerá de la tarea que se vaya a realizar y de los

requerimientos del producto señalado ya que existen dependencias entre algunos de los

programas de la suite.

3.3.- Process Control Dentro de la familia de control de procesos, en esta suite nos encontramos con los

siguientes productos:

- Aspen Apollo: es un conjunto software de módulos que juntos permiten el

modelado, análisis, simulación, configuración, ejecución online y seguimiento

de aplicaciones de control avanzado no lineal. Los módulos de los que se

compone son: Aspen Apollo Model, Aspen IQmodel Powertools, Aspen Apollo

Control, Aspen Apollo Control Client, Aspen Apollo Control Manage, Aspen

Apollo View, Production Control Web Server y Aspen Apollo Config.

- Aspen IQmodel+Aspen IQmodel Powertools: permite la implementación de

cálculos de inferencia sin necesidad de programación, tanto en bucle abierto

como en sistemas de bucle cerrado. Incluye un conjunto de opciones que cubren

un amplio rango de aplicaciones.

- Aspen RTO Watch: se trata de una base de datos de históricos y de una

herramienta para la realización de análisis de dichos datos. Está diseñado

específicamente para aplicaciones online (Real Time Online).

- Aspen Watch: parecido al anterior, permite la realización de seguimiento e

historización. Diseñado específicamente para el seguimiento de aplicaciones de

control avanzado de procesos.

- Aspen SmartStep: es una aplicación diseñada para testear de forma efectiva

procesos multivariables y muy interactivos mientras al mismo tiempo cumple

Page 20: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 20 Víctor J. Cuadrado Alvarado

con las restricciones del proceso. Se trata de una nueva tecnología de control

avanzado de procesos que permite la automatización parcial del testeo en

escalón de los procesos.

- DMCplus: se trata de un paquete software de control multivariable predictivo

basado en tecnología diseñada para controlar procesos altamente interactivos,

multivariables y con amplias restricciones de operación.

- Process Control Web Interface: esta herramienta proporciona un servicio

centralizado con interface de usuario web para el acceso a las aplicaciones de

control avanzado y optimización como DMCplus, SmartStep, Aspen Watch,

Aspen RTO Watch y Aspen Apollo.

3.3.1.- DMCplus Como se ha dicho anteriormente, DMCplus es un paquete de software de control

multivariable predictivo basado en tecnología diseñada para el control de procesos

altamente interactivos, multivariables y con amplias restricciones de operación.

Este producto actúa en un nivel de supervisión del control. Actuando con unos

intervalos de ejecución que pueden ser del orden de uno a cuatro minutos, manipulando

normalmente los Set-Points (SP) de los controladores de regulación de la planta.

A continuación se muestran algunas características de los controladores DMCplus:

- DMCplus es un controlador multivariable:

En un los procesos reales cada variable independiente afecta a varias variables

dependientes. Por ello las técnicas de control que utilizan pares de variables

Independiente-Dependiente serán muy complicadas de implementar, ya que un

movimiento en una variable independiente para corregir errores en un lazo

afectará también al resto de variables por lo que los controladores de cada lazo

se verán enfrentados unos a otros.

Sin embargo, DMCplus formula el problema de control considerando

simultáneamente todos los errores de las variables dependientes o las

desviaciones de los SP para resolver los movimientos necesarios de las

variables independientes. Estos movimientos consideran todas las interacciones

existentes en el sistema para mantener las variables dependientes en sus SP. En

otras palabras, los controladores DMCplus saben que el sistema es multivariable.

- DMCplus es un controlador predictivo basado en modelo:

Page 21: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 21 Víctor J. Cuadrado Alvarado

Los datos que se obtienen de la planta son utilizados para la construcción de un

modelo del proceso que contendrá todas las interacciones significantes entre las

variables. Este modelo se utiliza para predecir el comportamiento futuro en lazo

abierto de las variables que se desean controlar, durante un periodo de tiempo lo

suficientemente largo hasta que dejan de tener efecto los cambios de las

variables manipulables y las perturbaciones. Este tiempo es el llamado tiempo de

Steady-State o de régimen permanente del proceso.

Ésto permite a DMCplus anticiparse, o mejor dicho predecir, las infracciones de

las restricciones que aparecerán, para planear la acción de control que habrá de

realizarse para resolver dichas infracciones. Estas predicciones son comparadas

en cada ciclo de control con las medidas de las variables en la planta para

eliminar los posibles fallos del modelo utilizado. Esta capacidad de la predicción

con modelo permite también el modelado de dinámicas raras, tiempos muertos

largos y respuestas inversas.

- DMCplus es un controlador con restricciones:

Las restricciones sobre las variables manipulables o controlables se dan de forma

explícita. Aunque el fin del control de las variables es llevarlas a un SP,

DMCplus sin embargo puede ejercer el control de forma que las variables se

mantengan en una banda entre un límite superior y otro inferior. De hecho, la

mayoría de las variables a controlar no tienen un SP fijo sino unos límites que

fijan un rango de valores aceptables.

DMCplus además trata restricciones en las variables manipulables. Cada

variables de este tipo tiene también unos límites superior e inferior y un máximo

en la variación de su posición. Así pues, un punto muy importante es el manejo

de las restricciones.

Cuando DMCplus planifica los errores que debe compensar, calcula los

movimientos presentes y futuros de las variables manipulables teniendo especial

cuidado de no violar los límites establecidos como restricciones. Si dichos

límites son violados el control no se implementará. DMCplus maneja las

restricciones en el futuro de forma explícita asegurándose de que el plan de

control pueda ser implementado.

- DMCplus es un controlador optimizador:

DMCplus integra un optimizador que permite la determinación de la solución

Steady State (SS) óptima en el punto de operación más económico para cada

Page 22: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 22 Víctor J. Cuadrado Alvarado

ejecución del controlador. Esta solución óptima utiliza los valores predichos para

el SS de las variables controlables y los valores actuales de las variables

manipulables, así como la información económica que se le proporcione. Así

obtiene un SS óptimo en el punto de operación que satisface los límites

impuestos sobre todas las variables que intervengan.

- DMCplus es un controlador riguroso

DMCplus asume que el sistema a controlar puede ser descrito o aproximado

mediante un sistema de ecuaciones diferenciales lineales. Otras tecnologías se

basan en la forma del modelo limitándose a modelos de primer o segundo orden

con tiempos muertos. En DMCplus no se hacen supuestos nada sobre el modelo,

por lo que éste puede tener cualquier forma. Ésto permite una mayor exactitud a

la hora de predecir los valores futuros de las variables a controlar.

3.3.2.- Funcionamiento del DMCplus A continuación se explica cuáles deben ser los pasos a seguir para el diseño y ejecución

de un controlador DMCplus y en general de cualquier controlador que se desee

implementar.

El primer paso es el modelado de la dinámica del proceso. El modelo de la planta se

obtiene tras recoger datos de la planta mientras se le introducen perturbaciones en forma

de escalón. Los datos obtenidos son analizados, obteniéndose como resultado la

dinámica de un modelo multivariable que contiene todas las interacciones importantes

de las variables.

En la figura 3.2 podemos ver el modelo de una columna de fraccionamiento. En cada

figura se representa la respuesta en lazo abierto frente al tiempo de las variables

dependientes ante un cambio en escalón de una de las variables independientes mientras

se mantiene el resto invariante.

Page 23: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 23 Víctor J. Cuadrado Alvarado

Figura 3.1.- Fraccionador de ejemplo

Figura 3.2.- Modelo de columna de fraccionamiento

Page 24: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 24 Víctor J. Cuadrado Alvarado

Una vez que tenemos el modelo, éste se utilizará para crear y mantener el

comportamiento futuro de las variables a controlar en el proceso. Esta predicción se

mantiene utilizando para ello los valores que se obtuvieron con los cambios pasados de

las variables independientes, teniéndolos en cuenta desde que comienzan dichos

cambios hasta que no tienen efecto sobre el sistema, o lo que es lo mismo, es tiempo

considerado necesario para alcanzar el SS.

Puesto que las curvas del modelo representan los efectos que producen los cambios en

las variables dependientes, estos cambios serán aplicados sobre el modelo para generar

una predicción para cada variable dependiente. Estas predicciones abarcarán desde el

tiempo actual hasta que el tiempo que se tarde en llegar al régimen permanente en el

futuro. Estas predicciones serán actualizadas a cada ejecución del controlador, a la vez

que se ajustan con los valores de las mismas variables medidas directamente del proceso

para eliminar incertidumbre que pudiera existir en el modelo.

El siguiente paso del algoritmo del DMCplus es el cálculo de los objetivos óptimos en

régimen permanente para todas las variables, manipulables o no, de manera como se

esquematiza en la próxima figura. Este cálculo se realiza mediante el Steady State

Linear Program (LP) o bien mediante el Steady State Quadratic Program (QP).

En la figura 3.3 podemos ver los factores que influyen en el cálculo de los valores

objetivo en el Steady State.

Figura 3.3.- Factores que influyen en la búsqueda del punto objetivo

Los parámetros necesarios para la realización de estos cálculos son los valores actuales

y los límites de operación de las variables manipulables (MV), las predicciones de las

Page 25: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 25 Víctor J. Cuadrado Alvarado

variables controlables (CV) y la información económica que se desee (valor del

producto, coste de materiales y demás).

Los límites de operación definen una región aceptable en la que se podrá operar. Los

valores actuales de las MV y los predichos de las CV definen un punto de operación en

régimen permanente, suponiendo que no se producen movimientos en las MV.

Obviamente estamos hablando de una respuesta libre del sistema. Por lo tanto el estado

al que se llegue podría estar o no dentro de la región definida por los límites de

operación.

Figura 3.4.- Definición de la región de operación y búsqueda del punto óptimo

El calculador del SS busca unos movimientos para cada MV, de forma que todas juntas

hagan que el sistema alcance un punto de operación dentro de la región aceptable. Al

mismo tiempo este punto de operación es óptimo desde el punto de vista económico.

La figura 3.4 muestra de forma gráfica lo comentado en el párrafo anterior con un

ejemplo de dos variables manipulables y tres controlables. Las MV son Set-Point de

flujo y de vapor, mientras que las CV son impurezas en la cabeza y el fondo y la presión

diferencial de la torre. Los límites de las cinco variables que intervienen definen la

región de operación aceptable.

El último paso en el algoritmo del DMCplus es elaborar un plan de acciones para las

variables manipulables de tal forma que minimicen la diferencia entre la evolución

predicha y la evolución deseada de las variables a controlar, entendiendo por evolución

deseada el que las variables controlables alcancen el punto Steady State calculado. Ésto

puede verse en la figura

Page 26: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 26 Víctor J. Cuadrado Alvarado

Figura 3.5.- Acciones a realizar para minimizar diferencias

Para llevar a las variables CV a sus puntos de operación se calculan los movimientos de

cada MV prolongándolos en el tiempo aproximadamente hasta la mitad del tiempo de

establecimiento (tiempo en llegar al permanente o Steady State). Se hace de esta forma

para permitir al control rectificar si fuera necesario y para poder manejar el efecto que

pueda haber si una variable manipulable no es utilizada en la resolución del problema de

control multivariable.

En la figura 3.5 se muestra el plan de control para una variable MV y otra CV. El efecto

deseado del control está definido como una imagen especular de la predicción de la

evolución de la variable sin controlar alrededor del objetivo Steady State de la CV.

Finalmente, en las figuras 3.6 y 3.7 podemos observar la evolución de las variables CV

(junto con la predicción de su evolución sin control) y el plan de movimientos decididos

para las MV de al forma que dirijan a las variables controlables a sus puntos objetivo.

Page 27: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 27 Víctor J. Cuadrado Alvarado

Figura 3.6.- Plan de movimientos de las variables manipulables

Figura 3.7.- Evolución de las CV y su predicción sin controlar

Page 28: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 28 Víctor J. Cuadrado Alvarado

Debe hacerse notar que cada gráfico de los anteriores tiene un final temporal más allá

del horizonte temporal del controlador. Esta extensión temporal es necesaria para

permitir al controlador ver el efecto de sus movimientos en el futuro. Por lo tanto el

horizonte temporal del controlador será la suma del tiempo de Steady State más el

tiempo del movimiento futuro siguiente.

3.3.3.- Módulos de DMCplus DMCplus se compone de varios módulos, cada uno de los cuales tiene una misión

específica en la tarea de realización del controlador y su funcionamiento. Una primera

clasificación de estos módulos se establece según su forma de trabajo:

DMCplus Desktop: son los módulos que no necesitan estar conectados al proceso

para poder trabajar con ellos. En este grupo se encuentran Model, Build, Simulate y

View (como cliente).

DMCplus Online: deben tener conexión al proceso puesto que trabajan directa o

indirectamente con él. A este grupo pertenecen Collect/Extract, Manage y View (como

servidor).

DMCplus Composite: se trata de otro módulo online.

Seguidamente se listan y comentan los distintos módulos de los que se compone.

• Collect/Extract: simplemente es un módulo que se encarga de tomar u obtener datos

provenientes de la planta con la que estemos trabajando. Además debe tratar dichos

datos para darles el formato adecuado para que el resto de módulos DMCplus

puedan trabajar con ellos.

• Model: es el módulo de identificación del programa. Utilizando los datos obtenidos

mediante Collect/Extract, este módulo nos permite realizar una identificación del

modelo del proceso, necesario para crear el controlador que buscamos.

• Build: ésta es la herramienta de configuración del controlador DMCplus. A partir

del modelo del proceso podremos configurar el controlador propiemente dicho, es

decir, congifuraremos los parámetros necesarios para realizar el control del proceso.

• Simulate: se trata de un módulo que nos permite realizar simulaciones fuera de línea

del proceso de control. Es una herramienta muy útil para la sintonización o ajuste

del controlador previamente configurado.

Page 29: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 29 Víctor J. Cuadrado Alvarado

• Manage: es la parte de DMCplus utilizada para gestionar los controladores y

controlar su ejecución sobre el proceso.

• View: módulo de supervisión del controlador. A través de él podremos variar

parámetros del controlador mientras éste se esté ejecutando. Este módulo no se ha

utilizado ya que no se ha hecho necesario puesto que la supervisión se pudo hacer a

través de Cube, así como la variación de parámetros.

• Composite: es utilizado para facilitar la coordinación de la acción conjunta de varios

controladores DMCplus que trabajen a la vez sobre un proceso y los cuales se ven

influenciados unos por otros. Debido a que no se ha tenido oportunidad de utilizar

varios controladores este módulo no se ha utilizado.

3.3.4.- Implementación de un controlador DMCplus

A continuación se indican los pasos que deben seguirse para le implementación de un

controlador utilizando DMCplus.

1.- Alcanzar el punto de operación estable alrededor del cual se pretende que trabaje la

planta: se trata de llevar al proceso a un punto de operación en el que se desea trabajar.

En este paso no interviene DMCplus por lo que para alcanzar el punto de operación

podremos usar un control preliminar distinto a DMCplus o bien hacerlo de forma

manual.

2.- Realizar un ensayo del proceso: hemos de realizar unos ensayos, típicamente

ensayos en escalón, con el objetivo de poder identificar el proceso. Ahora interviene

DMCplus a través de Collect/Extract para obtener los datos generados en el ensayo.

3.- Identificar el modelo del proceso: mediante la utilización de DMCplus Model, y

haciendo uso también de los datos recogidos en el paso 2, se identificará un modelo que

nos represente al proceso que queremos controlar y que nos servirá para realizar las

predicciones necesarias a la hora de hacer los cálculos del controlador.

4.- Identificar restricciones y costes de operación: se trata de un paso previo a la

construcción del controlador ya que se trata de datos necesarios para su configuración.

En este caso tampoco interviene DMCplus, simplemente es necesario conocer el

proceso con el que estamos trabajando.

5.- Construcción del controlador: utilizando DMCplus Build configuraremos el

controlador que vamos a utilizar para controlar el proceso. Una vez confiurado el

controlador, éste podrá ajustarse o sintonizarse de forma más detallada utilizando la

Page 30: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 30 Víctor J. Cuadrado Alvarado

herramienta de simulación DMCplus Simulate.

6.- Ejecutar el controlador: es el último paso, cuando ponemos a funcionar el

controlador. El controlador se ejecuta para controlar el proceso a través de DMCplus

Manage. Puede también realizarse una supervisión utilizando para ello DMCplus View.

Page 31: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 31 Víctor J. Cuadrado Alvarado

4.- INSTALACIÓN DE LA HERRAMIENTA A continuación se detallará la estructura hardware y software creada, así como la

instalación del software necesario para utilizar adecuadamente la herramienta DMCplus.

4.1.- Estructura Hardware y Software

Figura 4.1.- Estructura Hardware y Software utilizada

Según se puede observar en la figura anterior vamos a tener una red constituida, según

las necesidades, por:

• Ordenador AspenTech: se trata del ordenador sobre el que se trabajará con

ALM Cim-IO Kernel DMCplus

Cim-IO Kernel Cim-IO for OPC Cube

Armario de control

Ethernet

Arcenet

Bus de campo

PLANTAP ASPENTECH

Page 32: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 32 Víctor J. Cuadrado Alvarado

DMCplus. En él se tendrá tanto el software objetivo de este proyecto, DMCplus,

como otro software adicional necesario para el correcto funcionamiento del anterior,

como son el Aspen License Manager (ALM), necesario para proporcionar las

licencias del resto de programas de Aspen que se vayan a utilizar, y Cim-IO Kernel,

motor del protocolo de comunicación Cim-IO que utilizan los productos de Aspen y

que es necesario para conectar el programa con los datos de la planta.

• Ordenador Plantap: en este ordenador, el cual tenía incorporado con anterioridad la

herramienta Cube, que nos permite la comunicación con la planta y su supervisión y

control, añadimos el Cim-IO Kernel, necesario en todos los equipos que vayan a

utilizar Cim-IO, así como la herramienta Cim-IO interface for OPC, la cual nos

permitirá acceder a los datos de la planta mediante el estándar OPC.

• Armario de control o PMC (Programable Module Control): es realmente el

encargado de ejecutar la tarea de control sobre el proceso a partir de los datos que se

le suministren.

• Planta Piloto: se trata de una planta simple diseñada para la realización de ensayos

de controladores.

4.1.1.- Necesidades Hardware y Software Anteriormente hemos indicado el software y el hardware que se ha utilizado para poner

en marcha la herramienta DMCplus. Sin embargo caben comentar una serie de apuntes:

- Los equipos utilizados, salvo la planta a la que nos conectamos y el PMC, pueden

variar dependiendo de las necesidades de uso de las herramientas de Aspen, aunque

como mínimo se aconseja que se utilicen dos, uno con el ALM y herramientas que

no trabajen en línea (DMCplus Desktop) y otro con herramientas online (DMCplus

Online).

- La instalación de la interface Cim-IO es aconsejable, para simplificar el proceso de

instalación, que se instale en el mismo equipo en el que esté el servidor OPC.

- Las herramientas necesarias a instalar dependen de las necesidades que se tengan a

la hora de realizar el control de la planta. Además no hay que olvidar que Aspen

Manufacturing Suite proporciona muchas más herramientas tanto de control de

procesos como de otros entornos relacionados con los procesos de fabricación,

aunque en este proyecto sólo nos centramos en DMCplus.

Page 33: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 33 Víctor J. Cuadrado Alvarado

4.1.2.- Software seleccionado El software instalado fue seleccionado siguiendo dos premisas:

- Debíamos hacer uso del paquete DMCplus.

- Necesidades adicionales generadas por DMCplus.

Así pues el software instalado fue el siguiente:

• Paquete completo DMCplus.

• ALM: necesario para poder utilizar los productos de Aspen Technologies.

• Cim-IO: necesario para poder establecer comunicación mediante el estándar OPC.

Este producto funciona de la siguiente manera:

Figura 4.2.- Comunicación Cim-IO

4.1.3.- Requerimientos para la instalación Se van a especificar los requerimientos para poder instalar el software seleccionado

previamente. Sin estos requerimientos no será posible trabajar de forma correcta con los

productos que queremos.

ASPEN LICENSE MANAGER

• Plataforma: Windows 95/98/2000/NT

• CD-ROM

• Protocolo de comunicación: TCP/IP

• Licencias de uso

• Llave hardware suministrada por Aspen

• Espacio de disco: mínimo 1 MB, aunque es necesario disponer de más

capacidad para la instalación de las licencias

DMCplus

Cim-IO Kernel

Cim-IO for OPC interface

Coresident OPC Server

(OPC.Cube.1)

Ethernet

Page 34: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 34 Víctor J. Cuadrado Alvarado

• Acceso como Administrador del sistema

DMCplus

• ALM

• Plataforma: Windows XP Pro SP1 con IE 6.0, Windows 2000 Pro o Server

SP3 con IE 5.5 SP3, o Windows NT 4.0 Workstation o Server SP6a con IE

5.5 SP2

• Procesador: Intel Pentium II, 200 MHz

• Memoria: 128 MB mínimo aunque se recomienda más, ya que depende de

las aplicaciones

• Espacio en disco: 1 GB como mínimo, dependiendo de las aplicaciones

• Monitor: 800x600, 256 colores

CIM-IO interface for OPC

• Plataforma: Windows NT 4.0 SP3

• CD-ROM

• Cim-IO Kernel

• Comunicación TCP/IP

4.2.- Instalación del software Los pasos a dar para la instalación del software son:

1. Configurar los equipos de forma que cumplan con los requerimientos de la

instalación.

2. Instalar y configurar ALM en el equipo seleccionado como servidor de licencias.

3. Instalar los productos que se deseen.

4. Configurar las herramientas instaladas en el paso 2.

4.2.1.- Instalación del ALM Vamos a explicar paso a paso el proceso de instalación de Aspen License Manager.

Puede ampliarse información a través de la documentación proporcionada por el

programa.

1. Conectar la llave hardware proporcionada por el fabricante. Recordar que sin ella no

funcionará ALM, y por consiguiente ningún programa de la Suite.

Page 35: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 35 Víctor J. Cuadrado Alvarado

2. Ejecutar el programa de instalación de ALM, el cual nos guiará mientras instala el

programa.

3. Reiniciar el sistema.

4. Revisar la configuración de ALM a través del AspenTech Server Control Program

(ver capítulo 5 de manuales).

5. Instalar las licencias disponibles. Aunque se pueden instalar las licencias de una en

una, lo más fácil es instalar todas las licencias disponibles a la vez. Para ello usamos

la herramienta License Manager Key Install (ver capítulo 5 de manuales) y hacemos

uso del disquete con las licencias que nos proporciona el fabricante.

6. Verificar el correcto funcionamiento de ALM mediante el uso del License Manager

Adminitration Window (ver capítulo 5 de manuales) con los comandos:

asplmadm –s para verificar que el host de licencias está visible

asplmadm –l verificando las licencias disponibles

7. Lanzar el servidor de licencias mediante el AspenTech Server Control Program para

proceder a la instalación del resto de herramientas.

OBSERVACIONES

A veces puede ocurrir que al ejecutar algún programa de Aspen éste no funcione

correctamente y nos genere un error según el cual el programa que intentamos usar no

encuentra la licencia necesaria.

Tras ponernos en contacto con el servicio técnico de Aspen se nos indicó que se hiciera

la siguiente comprobación: abrir el License Manager Selector desde Inicio> Programas>

AspenTech> Common Utilities> License Manager Selector.

Una vez abierta esa utilidad asegurarnos que no tenemos validada la opción “Broadcast”

y que sí lo está la opción “Connect to named Server”, así como el nombre del servidor.

Luego hemos de seleccionar “Use for all”.

Page 36: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 36 Víctor J. Cuadrado Alvarado

Figura 4.3.- License Manager Selector

4.2.2.- Instalación del DMCplus 1. Verificar los requerimientos del sistema.

2. Según el tipo de producto que vayamos a instalar:

Desktop: comprobar que los puertos 11002 y 11003 están libres. Si no lo están

elegir dos puertos consecutivos que no estén usándose, salvo el 11001 que es el que

se utiliza para el módulo View.

Online: ídem al anterior en lo referente a los puertos, y además cerrar todos los

programas online que se estén ejecutando.

3. Ejecutar el programa de instalación (disco 1).

Page 37: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 37 Víctor J. Cuadrado Alvarado

Figura 4.4.- Pantalla principal de instalación

4. Seleccionamos el CD-ROM para instalar y después seleccionamos los productos

que estén con licencia (Licensed Products Only).

5. Luego elegiremos entre dos tipos de instalación:

Standar Install: si vamos a instalar productos Desktop.

Server Install: si instalamos productos Online.

Y seleccionamos los productos que vamos a instalar validando la caja de validación

correspondiente.

6. Es posible que en algunos de los productos seleccionados se nos pida la instalación

de algún otro para que funcionen correctamente. Si se da el caso simplemente

aceptamos dicha instalación y seguimos hacia delante.

7. Al terminar la instalación deberemos revisar una serie de configuraciones para

verificar que la instalación se ha realizado correctamente y que los productos

instalados van a funcionar de forma apropiada.

Configurar DAIS: hemos de ir a C:\ Archivos de programa\ Archivos comunes\

AspenTech Shared\ Dais\ Bin\ nconf.exe y verificar en Local Trader y Master

Trader que los datos introducidos son los que deseamos. Si hemos instalado

algún producto Desktop ya podemos empezar a trabajar. Si hemos instalado un

módulo Online tenemos que seguir con el siguiente punto.

Configuración de la comunicación Cim-IO: para que la comunicación funcione

correctamente hemos de configurar los servicios TCP/IP. Estos servicios suelen

configurarse automáticamente cuando realizamos la primera instalación del

Page 38: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 38 Víctor J. Cuadrado Alvarado

producto, aunque es preciso verificar que dicha configuración se ha realizado de

forma correcta. Si no aparece el servicio

CIMIODMCP 13001/tcp #DMCplus Cim-IO Server

hemos de añadirlo de forma manual.

Configuración de los dispositivos Cim-IO: estos servicios se configuran

automáticamente a través del host online. De todas formas, si vemos que no

funciona bien podemos añadirlos de forma manual como se hace al configurar la

interface Cim-IO para OPC.

4.2.3.- Instalación de Cim-IO En este apartado tenemos que distinguir dos partes: instalación del Kernel Cim-IO e

instalación de la interface Cim-IO para OPC.

La instalación del Kernel Cim-IO ha de hacerse en todos aquellos equipos que vayan a

utilizar la comunicación Cim-IO. Este Kernel se instala automáticamente cuando

instalamos otros productos que van a hacer uso del mismo, ya sean productos DMCplus

o la misma interface Cim-IO para OPC.

Por otro lado está la instalación de la interface Cim-IO para OPC. Éste es un producto

diseñado para trabajar con archivos que cumplen el estándar OPC. Esta interface,

aunque puede ser instalada en cualquier equipo siempre que tenga acceso por la red al

servidor de datos OPC, es recomendable instalarla en el mismo equipo en el que resida

dicho servidor, ya que así evitamos tener que configurar el servicio DCOM de

Microsoft Windows, simplificando la instalación de la interface. A continuación se

listan los pasos a seguir para instalar y configurar de manera apropiada dicha interface:

1. Seguiremos los pasos del apartado anterior y elegiremos la instalación del tipo

Server Install.

2. Elegimos CIM-IO for OPC y seguimos hacia delante siguiendo los pasos que nos

marque el asistente de la instalación. Una vez instalada la interface deberemos

configurar una serie de componentes para asegurarnos el perfecto funcionamiento

del programa, ver los siguientes pasos.

3. Servicios TCP/IP: cuando arranca la interface, ésta añade sus propios servicios

TCP/IP en el lugar correspondiente. De todas formas hemos de asegurarnos, si la

interface no reside en el mismo equipo que el producto que se comunica con el (en

nuestro caso DMCplus) que en ambos equipos exista el mismo servicio con igual

Page 39: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 39 Víctor J. Cuadrado Alvarado

nombre y puerto. Estos servicios tendrán como nombre el nombre del servidor OPC

del que se trate precedido de la cadena CIO. En nuestro caso, el servidor es

OPC.Cube.1, por lo que el servicio que debería aparecer es

CIOOPCCUBE1 10014/tcp #CIMIO to OPC Server

aunque probablemente aparezcan algunos más, según el número de servidores OPC

residentes en el equipo.

Si por alguna razón el servicio generado no es aceptable, podemos especificar

manualmente el nombre del servicio a utilizar añadiendo líneas en el archivo

ServiceNames.txt. En este archivo, situado en donde se haya instalado la interface,

añadiremos una línea por cada nuevo servicio que queramos añadir, introduciendo el

nombre del servidor y a continuación el nombre del servicio que le vamos a asignar.

Por ejemplo para OPC.Cube.1 sería

OPC.Cube.1 CIOOPCCUBE1

4. Añadir dispositivos Cim-IO: en el archivo cimio_logical_devices.def se guarda una

lista de los dispositivos que pueden usarse para la comunicación Cim-IO. Para la

interface Cim-IO para OPC, cuando arranca directamente añade un dispositivo

lógico con el mismo nombre que el del servicio TCP.

5. Actualizar el archivo cimio_errors.def: este archivo contiene una lista de errores

para el DMCplus. La interface Cim-IO agrega un archivo propio de definiciones

llamado cimio_opc.def. Así, si la interface reside en un equipo distinto al del resto

del software, necesitamos añadir de forma manual la línea

cimio_opc.def

al archivo cimio_errors.def del equipo cliente situado en la carpeta etc del directorio

raíz de Cim-IO.

Page 40: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 40 Víctor J. Cuadrado Alvarado

5.- MANUALES DE USO 5.1.- Aspen License Manager Como ya sabemos, este programa es el encargado de gestionar las licencias del resto de

programas de Aspen Manufacturing Suite. Dichas licencias a su vez están asociadas a

una llave hardware que es necesario tener acoplada al equipo.

Aspen License Manager (ALM) debe estar activado antes de proceder a utilizar el resto

de los programas de la suite, ya que de lo contrario no estarán disponibles las licencias

que deben utilizar los programas y éstos no podrán iniciarse.

ALM se compone de varios módulos que nos ayudan en la gestión de las licencias de

las que se dispongan. Estos módulos se detallan a continuación.

5.1.1.- License Manager Key Installer Este módulo sirve para actualizar, eliminar o añadir licencias durante o después de la

instalación de la Suite (ver capítulo 4).

Figura 5.1.- Ventana de License Manager Key Installer

Page 41: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 41 Víctor J. Cuadrado Alvarado

El acceso a este módulo se realiza por Inicio> Programas> AspenTech> License

Manager 2.2> License Manager Key Installer.

Las licencias podrán ser instaladas de forma manual o de manera automática con un

archivo de licencias .lic.

Al insertar una licencia nos aparecerá el o los productos para los cuales es válida la

licencia en el apartado Features Available. Entonces elegiremos aquellos programas que

nos interesen o todos los que aparecen, y tras pulsar el botón Apply, los programas

seleccionados pasarán a engrosar la lista de programas con licencias disponibles que se

puede consultar en el apartado Features Licensed.

5.1.2.- License Manager Admin Window Accedemos a este módulo a través de Inicio> Programas> AspenTech> License

Manager 2.2> License Manager Admin Window.

Con él podremos realizar un seguimiento de las licencias que está en uso, su tiempo de

utilización, restricción en el uso y demás tareas típicas de gestión.

Figura 5.1.- Menú principal de License Manager Admin Window

Para trabajar con esta herramienta hemos de escribir asplmadm seguido de una de las

opciones que se nos muestran en la figura 5.2, algunas de las cuales son:

- b num ⇒ quita las licencias que en ese momento estuviera utilizando el cliente

con ID igual a num.

- l ⇒ muestra la actividad de las licencias de todos los servidores de licencias en

la red local..

Page 42: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 42 Víctor J. Cuadrado Alvarado

- i ⇒ nos genera la versión de asplmadm.

- k ⇒ detiene (realiza un ‘kill’) el servidor de licencias.

- H ⇒ muestra nuestro nombre de host.

- q ⇒ muestra información del entorno de trabajo para depurar fallos.

- s [num] ⇒ muestra los servidores de licencias en la red. Si se especifica un

número sólo se mostrará el servidor con dicha ID.

- v [niv] ⇒ cambia el nivel al valor dado por niv (entre 1 y 9).

- z ⇒ trunca el archivo log de control de la administración del servidor de

licencias.

5.1.3.- License Server Control Program Esta herramienta nos sirve para controlar el funcionamiento del servidor de licencias.

Si abrimos este módulo siguiendo el camino Inicio> Programas> AspenTech> License

Manager 2.2> License Server Control Program, nos aparecerá una ventana como la de

la figura 5.3.

Figura 5.2.- License Server Control

En la ventana anterior podemos configurar el arranque del servidor de licencias de tal

forma que arranque de forma automática al iniciar el ordenador, que lo haga de forma

manual (debiendo entonces arrancar pulsando el botón Launch/Stop) o bien que no

arranque nunca.

También existe la posibilidad de configurar una serie de características del servidor.

Para ello detenemos primero el servidor y pulsamos el botón Settings. Entonces se

abrirá una nueva ventana en la que podemos especificar:

• Debug Mode: hace que el servidor de licencias escriba los mensajes que genere en el

Page 43: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 43 Víctor J. Cuadrado Alvarado

archivo log correspondiente. Es útil cuado encontramos problemas con el servicio de

licencias, ya que de otra forma lo único que conseguimos es ralentizar el

funcionamiento del servidor. Se recomienda dejarlo sin validar.

Figura 5.3.- Características configurables

• Key Directory: dirección completa para localizar el archivo de licencias.

• Log File Name: localización del archivo log.

• Log File Size Limit: tamaño máximo en bytes, Kbytes o Mytes del archivo log.

Cuando el archivo alcanza dicho tamaño se trunca automáticamente. Puesto a cero

no se trunca nunca, aunque debe tenerse cuidado para no hacer un archivo

excesivamente grande.

• Resource File: dirección del archivo de recursos del ALM.

• Start Time: tiempo en segundos para arrancar e servidor de licencias.

• Zombie Timeout: debe permanecer en 180 a no ser que Aspen Tech nos indique otro

valor.

• Log File Vervosity: nivel para el archivo log. Según el nivel se mostrarán unos

mensajes u otros.

Page 44: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 44 Víctor J. Cuadrado Alvarado

5.2.- Collect y Extract En este apartado trataremos la toma de datos previa para el modelado del proceso que

queremos controlar.

Vamos a utilizar las herramientas Collect y Extract. Éstas son herramientas que trabajan

en entorno MS-DOS y se utilizan para obtener los datos de la planta mientras

realizamos los ensayos correspondientes y formatearlos de tal manera que DMCplus

Model pueda ser capaz de trabajar con ellos.

Un resumen del uso de estas utilidades es el siguiente:

Mediante Collect hacemos una recopilación de datos en formato binario. Estos

muestreos pueden ser configurados según nuestras preferencias.

Una vez que tenemos los datos de la planta, haciendo uso de Extract les damos

el formato apropiado para poder exportar los datos al Model.

5.2.1.- Collect Para hacer uso de Collect ha de estar configurada y activa la conexión con el servidor

OPC de la planta tal y como se explicó en capítulos anteriores, es decir, el CIM-IO for

OPC interfase debe estar activo.

1. El primer paso para obtener datos de la planta es crear un archivo sin extensión

mediante el cual configuraremos el muestreo de los datos, llamado Input File. Este

archivo se muestra en la figura 5.5.

Como podemos observar, este archivo de configuración está dividido en dos

secciones separadas por símbolos de igual. En la primera de estas secciones se

introducen los datos referentes a la recogida de datos como frecuencia de muestreo,

número de muestras y demás. En la sección de etiquetas (tags en inglés) lo que

especificamos son los nombres de las variables del sistema que queremos obtener.

2. Una vez configurado el archivo de recopilación de datos es importante realizar una

validación de dicho archivo para evitar futuros errores. Para ello basta abrir una

sesión MS-DOS y una vez situados en el directorio en el que se encuentra el archivo

ejecutamos dmcpcollect –v [nombre de archivo], con lo cual obtendremos un

resumen de las características de la recogida de datos que vamos a obtener.

Page 45: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 45 Víctor J. Cuadrado Alvarado

3. Una vez verificada la ausencia de errores en el archivo procedemos a recoger los

datos de la planta. Utilizando otra vez una sesión MS-DOS como en el caso anterior

aunque en este caso ejecutamos dmcpcollect [nombre de archivo]. Entonces

veremos por pantalla un mensaje en el que se nos confirma el comienzo de la

recolección de datos, mensajes que seguirán apareciéndonos según se haya

configurado la mensajería.

Figura 5.5.- Archivo de configuración para el muestreo del proceso

4. Al comenzar la recolección de datos se crea un archivo con el mismos nombre que

el de la configuración con la extensión .cle que se utilizará luego con el Extract, y el

!Version del programa que estamos usando VERSIONNUM=6.0 !Descripcion del archivo IDLINE=Recoleccion de datos de la planta piloto v.1 !Informacion sobre la conexión al proceso: service name,unit,format CIMIOINFO=CIOOPCCUBE1,1,UT !Lista de datos aextraer: con –1 se hace automático CIMIOLIST=-1,-1,-1 !Tiempo de muestreo que vamos a usar SAMPLEPER=2s !Numero de muestras que tomaremos. Con 5400=3h MAXSAMP=5400 !Offset para el comienzo de la recoleccion de datos desde el comienzo de un minuto OFFSET=0 !Cuando se hagan todos los muestreos se para la recolección EOFCHOICE=0 !NOMSGS=0 muestra mensajes en cada muestreo de las variables !WATCHDOGTAG="CIOOPCCUBE1":1:"PLANTA\PERRO":REAL:UT escribe en este tag cuando ha habido alguna parada en el muestreo de datos !NUMSAMTAG="CIOOPCCUBE1":1:"PLANTA\NUMEROTAG":REAL:UT escribe en este tag el numero de muestreos que van realizándose !STATUSTAG="CIOOPCCUBE1":1:"PLANTA\STATUSTAG":REAL:UT escribe en este tag si fue bien la cosa =============== ""::"PLANTA\TT1":REAL: ""::"PLANTA\FT1":REAL: ""::"PLANTA\V4":REAL: ""::"PLANTA\TT2":REAL: ""::"PLANTA\FT2":REAL: ""::"PLANTA\V5":REAL: ""::"PLANTA\TT4":REAL: ""::"PLANTA\FT4":REAL: ""::"PLANTA\V8":REAL: ""::"PLANTA\TT5":REAL: ""::"PLANTA\LT1":REAL: !Tag de encendido de la resistencia del depósito ""::"PLANTA\RESIST_DIG":REAL: !Tag del porcentaje de resistencia utilizado ""::"PLANTA\RESISTENCIA":REAL: !Tag de activación de alguna de las alarmas programadas !""::"PLANTA\ALARMA_R":REAL:

Page 46: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 46 Víctor J. Cuadrado Alvarado

archivo .bin con los datos que se van obteniendo del proceso en formato binario.

Figura 5.6.- Archivo de extensión .cle

5. La obtención de datos termina según se haya señalado en el archivo de

configuración o bien si utilizamos la combinación de teclas Ctrl+C.

PARÁMETROS DEL ARCHIVO DE CONFIGURACIÓN:

A continuación se da una breve descripción de los parámetros necesarios para la

configuración del muestreo del proceso, parámetros que han de ir en la sección principal

del archivo.

· VERSIONNUM: sólo indica la versión de DMCplus que se está utilizando.

· IDLINE: texto de identificación del archivo en uso.

· CIMIOINFO: especifica el dispositivo CIM-IO que se va a usar, el número de unidad

y el formato de los datos.

· CIMIOLIST: describe el tamaño de la lista CIM-IO, la longitud de la descripción del

dato y la longitud de las unidades ingenieriles. Podemos obviarlo poniendo todo a -1.

· SAMPLEPER: período de muestreo que se va a utilizar, en segundos minutos u horas.

· MAXSAMP: número máximo de muestreos que vamos a tomar.

Los parámetros que siguen son opcionales, al contrario que los anteriores, que deben

aparecer de forma obligatoria.

· OFFSET: tiempo en segundos en el que queremos que empiece el muestreo a partir del

comienzo de un minuto.

· EOFCHOICE: indica qué a de hacerse cuando se terminan los muestreo programados

(finalizar, actualizar o continuar mientras haya espacio en disco).

· NOMSGS: flag para la impresión de mensajes en pantalla.

Y~~~TT1~~~""::"PLANTA\TT1":REAL:~~~~~~ Y~~~FT1~~~""::"PLANTA\FT1":REAL:~~~~~~ Y~~~V4~~~""::"PLANTA\V4":REAL:~~~~~~ Y~~~TT2~~~""::"PLANTA\TT2":REAL:~~~~~~ Y~~~FT2~~~""::"PLANTA\FT2":REAL:~~~~~~ Y~~~V5~~~""::"PLANTA\V5":REAL:~~~~~~ Y~~~TT4~~~""::"PLANTA\TT4":REAL:~~~~~~ Y~~~FT4~~~""::"PLANTA\FT4":REAL:~~~~~~ Y~~~V8~~~""::"PLANTA\V8":REAL:~~~~~~ Y~~~TT5~~~""::"PLANTA\TT5":REAL:~~~~~~ Y~~~LT1~~~""::"PLANTA\LT1":REAL:~~~~~~ Y~~~RES_D~~~""::"PLANTA\RESIST_DIG":REAL:~~~~~~ Y~~~RES~~~""::"PLANTA\RESISTENCIA":REAL:~~~~~~

Page 47: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 47 Víctor J. Cuadrado Alvarado

· WATCHDOG: avisa mediante la activación de un flag en la base de datos de que ha

habido una parada en la recogida de datos.

· NUMSAMTAG: escribe en la base de datos el número de muestreos que se van

realizando.

· STATUSTAG: en cada muestreo indica si se realizó correctamente o no mediante la

escritura en una variable de la base de datos.

Finalmente en la segunda sección del archivo de configuración de los muestreos deben

indicarse todos los tags, etiquetas o variables del proceso que queremos muestrear. Para

ello tenemos que insertar una línea para cada variable con el siguiente formato:

“dispositivo”:unidad:”etiqueta de variable”:tipo de datos:formato

• “dispositivo” es el nombre del dispositivo (device name) CIM-IO que

vamos a utilizar. Es un campo opcional.

• :unidad: es el número de la unidad (unit number) CIM-IO que

utilizaremos. Campo opcional.

• “etiqueta” variable que queremos muestrear. Campo obligatiorio.

• :tipo datos: se trata del formato de datos que utiliza la variable y es

obligatorio.

• formato se trata de un código de dos caracteres que indica el

formato de los datos que se tomen. ES un campo opcional.

Todos los campo anteriores tipificados como opcionales si no se especifican son

tomados por defecto como se definieran en la primera sección del archivo de

configuración en el parámetro CIMIOINFO.

OBSERVACIONES A TENER EN CUENTA:

A veces es posible que se produzcan fallos en la transmisión de datos a través de la red

debido a retrasos en la misma o a una saturación en el envío de datos. Se ha detectado

que, para la red en la que se utilizó DMCplus, para una frecuencia de muestreo de 1

segundo la pérdida de datos se hace considerable, impidiendo incluso la obtención de un

modelo aceptable. Por ello se recomienda utilizar una frecuencia de 2 segundos como

mínimo, frecuencia a la cual la pérdida de datos es prácticamente inexistente.

También hay que resaltar que el ensayo a realizar sobre la planta debe hacerse alrededor

de un punto de reposo o de funcionamiento de la planta. Asimismo este ensayo a de

hacerse en escalón, es decir, generando escalones en una variable independiente

Page 48: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 48 Víctor J. Cuadrado Alvarado

mientras las demás se mantienen constantes y de igual forma con el resto. Se aconseja

realizar trenes de escalones como los de la figura en los ensayos.

Figura 5.7.- Tren de escalones para el ensayo

5.2.2.- Extract Una vez que tenemos los datos de la planta en formato binario ha de utilizarse la

herramienta Extract para realizar un formateo de los datos de manera que puedan ser

leídos por DMCplus Model.

Para hacer uso de Extract debemos abrir una sesión MS-DOS y situarnos en el

directorio en el que se encuentre el archivo a extraer. Entonces ejecutamos la orden

dmcpextract [nombre de archivo], siendo el nombre del archivo el utilizado en Collect.

Al ejecutarse la orden anterior el programa nos guía de forma que podemos elegir los

muestreos a extraer de entre los disponibles. Además nos crea dos nuevos archivos, uno

de extensión .ext en el que se encuentran los tags de las variables muestreadas y otro de

extensión .clc que contiene los datos formateados de la recolección.

Page 49: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 49 Víctor J. Cuadrado Alvarado

Figura 5.8.- Parte inicial del archivo .clc

En el archivo .clc podemos observar varias secciones diferenciadas:

1. La sección primera contiene información sobre el archivo: nombre del archivo de

configuración, descripción del mismo, número de variables muestreadas, cantidad

por sección, momento inicial del muestreo, frecuencia y cantidad de muestreos

realizados.

2. En la segunda sección nos encontramos con el mismo archivo que el .cle, en el cual

está el listado de los tags extraídos.

3. La tercera y sucesivas secciones (aparecen automáticamente por limitaciones

computacionales) contienen los datos tomados de la planta con el formato:

Tiempo,valor tag1,estado1,valor tag2,estado2,valor tag3,estado3,...

• Tiempo: MM-DD-AA hh:mm:ss

• Valor: dato tomado de la planta

plantapiloto Recoleccion de datos de la planta piloto v.1 13 13 4-20-2005 17:45:20 2 3667 ================================================== TT1~~~""::"PLANTA\TT1":REAL:~~~~~~ FT1~~~""::"PLANTA\FT1":REAL:~~~~~~ V4~~~""::"PLANTA\V4":REAL:~~~~~~ TT2~~~""::"PLANTA\TT2":REAL:~~~~~~ FT2~~~""::"PLANTA\FT2":REAL:~~~~~~ V5~~~""::"PLANTA\V5":REAL:~~~~~~ TT4~~~""::"PLANTA\TT4":REAL:~~~~~~ FT4~~~""::"PLANTA\FT4":REAL:~~~~~~ V8~~~""::"PLANTA\V8":REAL:~~~~~~ TT5~~~""::"PLANTA\TT5":REAL:~~~~~~ LT1~~~""::"PLANTA\LT1":REAL:~~~~~~ RES_D~~~""::"PLANTA\RESIST_DIG":REAL:~~~~~~ RES~~~""::"PLANTA\RESISTENCIA":REAL:~~~~~~ ================================================== 4-20-2005 17:45:20,21.9038,G,-1.44072E-11,G,0.,G,17.2795,G, .306684,G,0.,G,20.2528,G,.705539, G,50.,G,23.5203,G,95.2358,G,1.,G,10.,G 4-20-2005 17:45:22,21.8889,G,-6.90579E-12,G,0.,G,17.2611,G,.360478,G,0.,G,20.2573, G,.702078, G,50.,G,23.5199,G,95.2322,G,1.,G,10.,G 4-20-2005 17:45:24,21.882,G,-1.58665E-12,G,0.,G,17.2426,G,.398622,G,0.,G,20.275,G,.704485, G,50.,G,23.5203,G,95.2518,G,1.,G,10.,G 4-20-2005 17:45:26,-10000.,M,-10000.,M,-10000.,M,-10000.,M,-10000.,M,-10000.,M,-10000.,M,-10000.,M,-10000.,M,-10000.,M,-10000.,M,-10000.,M,-10000.,M 4-20-2005 17:45:28,21.8805,G,-.174386,G,0.,G,17.2275,G,.248501,G,0.,G,20.2478,G,.701669, G,50.,G,23.5206,G,95.2486,G,1.,G,10.,G 4-20-2005 17:45:30,21.8801,G,-.0687858,G,0.,G,17.2434,G,.346728,G,0.,G,20.2186,G,.707448, G,50.,G,23.5218,G,95.2427,G,1.,G,10.,G 4-20-2005 17:45:32,21.8801,G,-.0329711,G,0.,G,17.2591,G,.379672,G,0.,G,20.2192,G,.708777, G,50.,G,23.524,G,95.2517,G,1.,G,10.,G

Page 50: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 50 Víctor J. Cuadrado Alvarado

• Estado: indica cómo se realizó el muestreo. Puede ser G (no hubo

problemas), B (muestreo mal, valor -9999), M (pérdida de los

datos, valor -10000) o S (se muestreó en un momento no debido)

Page 51: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 51 Víctor J. Cuadrado Alvarado

5.3.- DMCplus Model Una vez que hemos obtenido los datos de la planta pasamos al modelado del sistema.

Mediante este programa podremos ver de una forma gráfica los datos extraídos de la

planta para analizarlos y a partir de ellos realizar un modelo del proceso para utilizarlo

más tarde en el controlador.

Para abrir el programa y comenzar a trabajar con él tenemos que tener activado en

primer lugar el gestor de licencias y luego acudir a Inicio> Programas> Aspentech>

Aspen Manufacturing Suite> DMCplus Desktop> Model.

5.3.1.- Aspectos generales

La interfaz del Model es la típica de los programas que trabajan en entornos Windows,

por lo que su utilización es muy fácil e intuitiva, además de disponer de las

herramientas típicas de este tipo de interfaces como copiar, pegar, nuevo, etcétera.

También tendremos disponible el menú desplegable de Windows, el cual variará

dependiendo de dónde lo situemos.

Esta interfaz esta dividida en dos partes, la zona izquierda, llamada Report View, en la

que tenemos un árbol del proyecto que estamos desarrollando y que nos permite un

acceso rápido a todos los componentes de dicho proyecto; y la zona derecha,

Vector/Model Plot Views, en la cual trabajaremos con los diferentes componentes.

A continuación se dan una serie de definiciones útiles para comprender el uso y

funcionamiento de Model:

• Proyecto: podríamos identificarlo con un contenedor en el cual introducimos todas

las cosas necesarias para la obtención del modelo que buscamos, como vectores,

cases, predicciones. Un proyecto puede contener varios modelos de distintos

procesos, aunque es recomendable que se abra un nuevo proyecto por cada proceso

que deseemos modelar.

• Vectores: contiene los datos temporales de una variable.

• Casos: se tratan de especificaciones y pruebas para la identificación de un modelo.

Contiene toda la información necesaria para ello.

• Modelos: se tratan de un modelo en el que se representan las curvas de respuesta de

las variables dependientes ante escalones de las variables independientes.

• Predicciones: como indica su nombre son predicciones que realiza el programa de la

respuesta que tendrá el proceso utilizando el modelo que hayamos indicado y como

Page 52: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 52 Víctor J. Cuadrado Alvarado

señales de entrada las de los vectores que también hayamos elegido.

• Listas: son carpetas en las que podemos agrupar los distintos componentes según su

tipo. También se permite la creación de listas generales en las que podemos agrupar

componentes distintos.

5.3.2.- Pasos a seguir en el modelado Se explicarán los pasos que han de darse para realizar el modelado de forma breve. Más

adelante en los apartados correspondientes a cada componente del modelo se explicarán

las características de cada uno de ellos.

• Al abrir un nuevo proyecto lo primero que hemos de hacer es obtener los datos

tomados de la planta que se desea modelar importándolos del archivo .clc que se

obtuvo a partir de Extract.

• Obtenidos los vectores de trabajo realizamos una inspección de los mismos para

eliminar posibles errores y seleccionar los intervalos temporales que nos sean más

convenientes. También se podrán cambios en los vectores.

• Tras el análisis de los vectores de datos pasamos a generar distintos Casos. Cada

uno de éstos nos proporcionará varios modelos para las variables seleccionadas y

según los parámetros que le marquemos, además de la posibilidad de realizar una

predicción de uno de los modelos.

• A partir de los modelos obtenidos en los casos anteriores o bien de forma manual,

pasaremos a generar el modelo que nos represente nuestro proceso. Para ello iremos

añadiendo curvas que relacionen pares de variables independientes con dependientes

hasta conseguir el modelo deseado. También en este caso tendremos la posibilidad

de utilizar predicciones del modelo para comprobar que genera señales como las que

se obtuvieron en el ensayo del proceso.

• Una vez tengamos el modelo más aproximado al proceso hemos de exportarlo en

formato .mdl para que esté disponible para su utilización por DMCplus Build a la

hora de configurar el controlador.

5.3.3.- Proyectos Para empezar tenemos que crear un proyecto nuevo. Para ello hacemos File> New

Project o simplemente pulsamos en el botón de New Project, apareciéndonos un

proyecto con un nombre por defecto que podremos cambiar. También es posible abrir

Page 53: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 53 Víctor J. Cuadrado Alvarado

un proyecto existente (extensión del archivo .dpp) e incluso importar partes de otro.

Para esto último nos es de gran ayuda la función de importación de proyectos, la cual

nos permite copiar objetos de un proyecto en uno nuevo, eliminando la necesidad de

copiar objetos de uno en uno. El acceso a esta función es mediante File> Import>

Project. El aspecto de la interfaz de la función es el de la figura 5.9, y la forma de

importar los objetos es seleccionando del proyecto fuente y trasladarlos al proyecto

nuevo.

Figura 5.9.- Función de importación de proyectos

Asimismo es posible la exportación de objetos del proyecto actual simplemente

situándonos encima de uno o varios objetos y desplegando el menú contextual, del cual

elegimos la opción de exportar.

Por otro lado, la manera de guardar un proyecto es mediante el comando típico de

Windows o bien programando para ello un autoguardado cada cierto tiempo, lo cual es

muy recomendable para evitar la pérdida de modificaciones que se hayan realizado. El

acceso a esta opción se realiza mediante Project> Options.

En las opciones del proyecto pueden realizarse además del autoguardado varias

acciones más como:

Page 54: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 54 Víctor J. Cuadrado Alvarado

• Utilizar gráficos de características extendidas: simplemente aumenta la

capacidad de definición de los gráficos, aunque con una pérdida considerable

de velocidad de procesado.

• Mensajes de confirmación en el autoguardado.

• Permitir la compresión de datos.

• Tolerancia de frecuencia para la unión de vectores.

• Tolerancia de comienzo para la unión de vectores: esta característica y la

anterior son utilizadas a la hora de juntar vectores sin la misma frecuencia de

muestreo ni el mismo momento de comienzo, por lo que se establece un

porcentaje de tolerancia.

Por último, a continuación se muestran los distintos tipos de archivos que pueden

coexistir en un proyecto:

- Proyecto ⇒.dpp

- Vectores ⇒

- Vector ampliado ⇒.dpv

- Listas de vectores ⇒.vls

- Listas de importación de vectores ⇒.lst

- Casos ⇒.cas

- Listas de casos ⇒.cls

- Modelos⇒.mdl

- Modelos ensamblados ⇒.dpa

- Listas de modelos ⇒.mls

- Listas generales ⇒.gls

- Bandas de datos (ver en el apartado de vectores) ⇒.dsl

- Archivos de fórmulas ⇒.dpf

- Archivos de predicciones ⇒.prd

5.3.4.- Vectores Como ya se ha indicado, los vectores son las unidades que contienen los datos con los

que vamos a trabajar. Por ello es lo primero que necesitamos para comenzar con nuestro

trabajo.

Dependiendo del tipo de datos que contengan podemos distinguir distintos tipos de

Page 55: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 55 Víctor J. Cuadrado Alvarado

vectores como por ejemplo:

- Datos (Raw Data): nos referimos a estos vectores como aquellos que contienen

datos tomados directamente del proceso sin modificaciones, salvo la posible

interpolación de datos realizada cuando importamos los vectores y utilizada para

evitar los datos clasificados como erróneos en la extracción desde la planta.

Pueden modificarse y guardarse con el mismo nombre, aunque es recomendable

utilizar otro nombre y extensión para poder distinguirlos más tarde.

- Vectores de cálculo: se tratan de vectores que provienen de vectores de datos a

los cuales se les ha aplicado algún tipo de cálculo y por lo tanto han quedado

modificados. Pueden utilizarse de la misma forma que los anteriores, ya que la

única diferencia entre ellos es la fórmula aplicada a los últimos.

- Transformaciones: son linealizaciones estándar de DMCplus. Se pueden aplicar

a los vectores anteriores. Tienen la particularidad de que no son en sí vectores

independientes sino que se tratan como una cualidad del vector sobre el que se

aplica y afecta en todos los lugares en los que se haga uso del vector al que se le

ha aplicado la transformación.

Figura 5.10.- Pantalla de vectores

Page 56: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 56 Víctor J. Cuadrado Alvarado

5.3.4.1.- Importar vectores La forma de importar vectores es acudir al menú File> Import> Vectors. Así se nos

mostrará el diálogo de importación de vectores en el cual especificaremos el tipo de

vectores que queremos importar así como su ubicación. Si, como es natural al principio

de un proyecto totalmente nuevo, vamos a utilizar los datos tomados de la planta en un

archivo .clc, buscaremos éste y lo abriremos.

Figura 5.11.- Diálogo de importación de vectores

Podemos observar en la figura 5.11 que se nos ponen a nuestra disposición dos opciones

para la importación de los vectores:

• Interpolación de datos erróneos o perdidos: se utiliza para eliminar de los

vectores los datos que se han clasificado como tales en la extracción de los

mismos. Para no dejar el “hueco” vacío se interpola con los datos contiguos.

• Extensión de la interpolación: se trata de los minutos de la muestra que se

utilizarán para la interpolación. Por defecto son 5, pero hay que tener en

cuenta que a mayor extensión peor será la identificación del modelo.

Una vez seleccionado el archivo .clc podremos visualizar los datos que estén

disponibles en dicho archivo, como vemos en la figura 5.12. Ésto nos permitirá

seleccionar los que deseemos, así como las muestras que queramos.

Page 57: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 57 Víctor J. Cuadrado Alvarado

Figura 5.12.- Información de los datos disponibles

5.3.4.2- Trabajar con los vectores Ahora ya tenemos los vectores con los que vamos a trabajar. Para visualizar los datos

que contienen (únicamente de forma gráfica) simplemente nos situamos sobre el vector

o vectores que queramos ver, estando a nuestra disposición tres formas de visualizarlos:

- Doble clic con el ratón.

- Desplegar el menú contextual y elegir la opción Plot.

- Utilizar el botón de la barra de herramientas Plot.

Entonces se nos abrirá una ventana con los gráficos de los vectores que hayamos

elegido.

Ésta nueva ventana puede configurarse para mostrar los datos como más nos guste.

Estas configuraciones son accesibles a través de los menús existentes en la parte

superior de la ventana de los gráficos. Algunas de estas opciones son las siguientes:

• Número de gráficos a mostrar por ventana (usar menú desplegable sobre los

gráficos).

• Rango de datos a mostrar. Podemos ver el vector completo o bien por partes.

• Escala. Es posible visualizar todos los vectores en un mismo gráfico si

establecemos los valores mínimos y máximos de cada vector.

• Formato, entendiendo por formato la escala temporal del vector, ésto es,

podemos ver el gráfico bien por muestras o bien por su escala temporal.

• Otros. El programa permite establecer colores, los márgenes de impresión de los

gráficos, títulos, leyendas y demás.

Page 58: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 58 Víctor J. Cuadrado Alvarado

Figura 5.13.- Gráficos de vectores de datos

Otra herramienta muy útil para el análisis de los vectores es el zoom. Para agrandar

zonas del gráfico basta con seleccionar la banda a ampliar, mediante un clic de ratón en

un punto y arrastrando hasta el siguiente punto que deseemos, y seguidamente presionar

el botón de la barra de herramientas Zoom In (Zoom Out para lo contrario), aunque

también es accesible a través del menú contextual.

MARCAJE DE DATOS ERRÓNEOS:

Los datos erróneos o Bad Slices, son bandas de datos que podemos marcar

manualmente si detectamos que en el vector que estamos visualizando existen datos que

pudiéramos clasificar como erróneos (movimientos extraños en las variables, datos no

esperados u otros). Los datos que marquemos como Bad Slices no serán tenidos en

cuenta a la hora de realizar la identificación del proceso aunque no serán borrados del

vector.

Page 59: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 59 Víctor J. Cuadrado Alvarado

La señalización de una banda de datos como un Bad Slice se hace seleccionando la zona

deseada y utilizando luego el botón Mark Bad. Entonces la banda seleccionada tomará

un color gris que indicará que ha sido marcada como Bad Slice.

Estos Bad Slice pueden ser locales, afectando únicamente al vector en el que se ha

marcado, o bien pueden tomarse como globales, con lo cual todos los vectores del

proyecto se verán afectados por dicho Bad Slice.

VECTORES DE CÁLCULO:

Como ya se ha comentado, a los vectores de datos se le pueden aplicar una serie de

funciones que nos permitirán transformar los datos que contengan según nuestras

necesidades. Para crear un vector de cálculo nos posicionamos en la zona de vectores y

seleccionamos el menú Project> New Vector, apareciéndonos entonces el panel de

propiedades de los vectores calculados.

Figura 5.14.- Panel de propiedades de los vectores de cálculo

En este panel hemos de elegir un nombre para el nuevo vector y, lo más importante, la

fórmula que vamos a aplicar.

Model pone a nuestra disposición una serie de fórmulas predeterminadas que podemos

utilizar tal y como están, aunque existe la posibilidad de crear nuevas fórmulas a partir

de las predeterminadas.

Algunas de las fórmulas predeterminadas son las siguientes (ver el resto en el Anexo I):

Page 60: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 60 Víctor J. Cuadrado Alvarado

• @Log(value) Logaritmo natural de un valor real positivo

• @Abs(value) Valor absoluto de un valor

• @Diff(vector) Diferencia de un vector: out(1) = 0,out(i) = in(i) - in(i-1)

• @Sqrt(value) Raíz cuadrada de un valor positivo real

TRANFORMACIÓN DE VECTORES:

El último cambio que puede aplicársele a un vector son las transformaciones lineales

estándar que nos proporciona Model. Sin embargo, estas transformaciones no se

traducen en la creación de un nuevo vector sino que son tratadas como un característica

interna del propio vector y sólo es posible aplicar un transformación cada vez. Para

aplicar otra transformación sin perder la que ya se tiene es necesario crear una copia del

vector con el que estemos trabajando y aplicar sobre esta copia la nueva transformación.

Así, cuando a un vector se le aplica una transformación, todos los objetos o

componentes del proyecto en el que esté presente dicho vector se verán afectados por

los cambio que produzca la transformación.

El acceso a las transformaciones de los vectores se realiza mediante la apertura de las

propiedades del vector a través del menú contextual.

Figura 5.15.- Transformación de un vector

Las transformaciones que están disponibles son las siguientes:

• Válvula lineal: definición dada en ‘Final Control Elements topic in Section

Page 61: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 61 Víctor J. Cuadrado Alvarado

22 - Process Control of Perry and Chilton's Chemical Engineer's Handbook,

Fifth Edition’

• Válvula parabólica: definición dada en’Final Control Elements topic in

Section 22 - Process Control of Perry and Chilton's Chemical Engineer's

Handbook, Fifth Edition’

• Logaritmo natural

• Logaritmo en base 10

• Logaritmo natural modificado

• Logaritmo en base 10 modificado

• Shift Rate Power: ( )caxby +=

• Piece-Wise Linear: ( ) iijij

i yyyxxxxy +−⋅

−−

=

PROPIEDADES DEL VECTOR:

Hablamos en este caso de las propiedades que nos definen las características del vector

con el que trabajamos. Estas propiedades son el nombre del vector (Tag name), las

unidades ingenieriles, el movimiento típico (generalmente el movimiento en el ensayo

de la planta) y su descripción.

Accedemos a estas propiedades mediante el menú Edit> Tag Properties.

Figura 5.16.- Propiedades de los tag

5.3.5.- Casos En general un caso incluye la siguiente información:

• Una lista de variables independientes.

• Otra con variables dependientes.

• El algoritmo de identificación que va a utilizarse, e información que necesite

dicho algoritmo como el tiempo de establecimiento o Steady-State y número

Page 62: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 62 Víctor J. Cuadrado Alvarado

de coeficientes del modelo.

• Frecuencia del muestreo en segundos

• Bandas de datos de los vectores a usar en la identificación.

Crearemos un caso una vez que hayamos analizado los vectores, marcado los Bad Slice

y realizado los cálculos y transformaciones que fuesen necesarias. El resultado que nos

proporciona un caso es una serie de modelos de salida, cada uno de ellos con las

características del algoritmo elegido y sus parámetros. Estos modelos contienen una

serie de curvas de respuesta, correspondientes cada una de ellas a un par de variables

independiente/dependiente.

Las curvas que obtengamos de los casos serán las que utilicemos para crear los modelos

que se utilizarán finalmente, por lo que este paso es bastante importante en el modelado

del proceso.

5.3.5.1.- Creación y ejecución de un caso Para crear un caso nos situamos en la carpeta Cases y abrimos el menú Project> New

Case o bien nos situamos en el panel de Cases y utilizamos el menú contextual.

Entonces se nos abrirá un diálogo en el que especificaremos las características de dicho

caso.

Figura 5.17.- Diálogo de propiedades de un caso

En este diálogo nos encontramos con cuatro pestañas cuya edición es obligatoria. A

continuación se detalla la edición de las pestañas:

Page 63: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 63 Víctor J. Cuadrado Alvarado

General:

- Case Name: se elegirá un nombre para el caso en cuestión que no exista

previamente.

- Comments: no es obligatorio rellenar este apartado, aunque sí muy

recomendable para identificar el caso de forma rápida.

Vectors:

- Data Set: los Data Set contienen datos de las variables en forma de vectores pero

provenientes de diferentes ensayos. En principio no es necesario su uso puesto

que con los vectores que ya tenemos es suficiente, por lo que podemos dejar el

Data Set 1 que se tiene por defecto.

- Independent Variables: hemos de añadir los nombres de las variables que serán

las variables manipulables o de perturbación (llamadas más adelante

Feedforward) del modelo.

- Dependent Variables: además de añadir este tipo de variables para el modelo

tenemos la posibilidad de especificar para cada una de ellas el tipo de variable

del que se trate (rampa, seudo rampa o normal), algo que luego tiene una gran

repercusión en el modelo y el controlador a diseñar.

Slices:

- Data Set: como ya se indicó anteriormente podemos dejar el nombre por defecto.

- Good Slices: son los tramos de datos correctos que utilizaremos para la

identificación. Tenemos dos formas de especificar estos tramos: introducimos

manualmente la muestra inicial y final cuando presionemos el botón Add, o bien

utilizamos Rebuild, que nos suministra todos los tramos disponibles y que no se

hubieran marcado como Bad Slice.

Además tenemos la posibilidad de permitir a Model que siempre recalcule

automáticamente estos Good Slices, así si añadimos algún Bad Slice, éste no

será tenido en cuenta.

Parameters:

- Identification Parameters: hemos de añadir todas las identificaciones que

deseemos realizar, presionando para ello el botón Add. Entonces tendremos que

elegir el tipo de algoritmo a utilizar.

También es posible generar una predicción por caso, del comportamiento del

modelo identificado usando los vectores reales de las variables independientes,

permitiéndonos observar si el modelo se ajusta a los datos tomados de la planta.

Page 64: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 64 Víctor J. Cuadrado Alvarado

Una vez que tengamos creado el caso lo ejecutaremos seleccionándolo y pulsando el

botón de Run. Al ejecutar el caso nos aparecerá una ventana que nos irá indicando si la

identificación se está llevando a cabo de forma favorable. Si todo transcurre bien

obtendremos una serie de modelos (dos por cada identificación que especificáramos) en

los cuales podremos ver la curva de respuesta para cada par de variables que

hubiésemos especificado en el caso.

Figura 5.18.- Pantalla de casos ejecutados

Figura 5.19.- Modelos obtenidos con varias identificaciones en un caso

Page 65: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 65 Víctor J. Cuadrado Alvarado

Por último comentar la posibilidad de importar casos de otros proyectos existentes así

como también es posible la exportación de los que nosotros creemos.

5.3.5.2.- Algoritmos de identificación FINITE IMPULSE RESPONSE (FIR)

Se trata del algoritmo de identificación típico del Control Predictivo basado en modelo

(ver el capítulo 2). Se trata de un algoritmo muy simple y que permite una identificación

rápida del proceso incluso si éste tiene retardos o no se tiene ningún conocimiento

previo del proceso. Sin embargo no es aplicable a procesos inestables.

Cuando elegimos este algoritmo de identificación, Model nos preguntará por sus

propiedades, siendo éstas:

- Time to Steady State: se trata del tiempo en minutos que queremos que tarde el

modelo en alcanzar un estado de reposo.

- Number of Coefficients: debemos especificar el número de coeficientes que

deseamos tenga el modelo. A mayor número de coeficientes se exigirá más

tiempo de cálculo y de Steady State, aunque ganaremos en exactitud.

- Smooth factor: éste es un factor que permite que el modelo suavice sus

respuestas. Con un número alto suavizaremos bastante el modelo pero

perderemos exactitud. Al ejecutar un caso el programa nos proporciona un

modelo sin suavizar y otro suavizado con el factor especificado.

SUBSPACE IDENTIFICATON

Este algoritmo ofrece varias ventajas y desventajas respecto al anterior como pueden

ser:

• Utiliza un modelo en el espacio de estado para representar el proceso capaz de

obtener tanto la baja como la alta frecuencia, siendo por lo tanto capaz de modelar

procesos de dinámica compleja.

• Está indicado particularmente para procesos MIMO, que necesitan controladores

muy ajustados.

• No está muy implantando demasiado, con los problemas de fiabilidad que ello

conlleva.

• Necesita mayor cantidad de cálculo que el FIR.

Page 66: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 66 Víctor J. Cuadrado Alvarado

Si elegimos este algoritmo nos aparecerá al igual que con el anterior una ventana de

diálogo para especificar los parámetros, siendo éstos:

- Time to Steady State: igual que con el FIR.

- Maximum Order: se trata del máximo orden que estamos dispuestos a utilizar en

nuestro modelo del proceso.

Si además activamos el botón Expert tendremos más opciones para configurar la

identificación por este algoritmo, permitiendo exportar a las matrices en el espacio de

estados a un archivo de texto y realizar un preprocesado a los vectores antes de

utilizarlos en la identificación. Este preprocesado no genera un nuevo vector aunque sí

se permite su visualización.

- Differencing: usa derivadas de las variables manipulables y de las variables

controlables para la identificación. En modelos normales y con rampa.

- Detrending: usa datos a los que se les elimina parte de su tendencia, utilizable en

ambos tipos de modelos.

- Zero Mean: elimina la media de los dos tipos de variables.

- Double Diff: utiliza Differencing en las variables controlables (CV) y Zero

Mean con las manipulables (MV) para identificar modelos normales y luego los

integra para obtener el modelo en rampa.

5.3.5.3.- Utilidades para los casos Model nos proporciona dos utilidades para poder realizar un modelado lo más

aproximado a la realidad posible. En este apartado se indica para que sirven ambas.

Para acceder a ambas utilidades hemos de situarnos sobre un caso y seleccionar el menú

Project.

MODEL UNCERTAINTY

Se trata de una herramienta de validación para evaluar la calidad de un modelo

identificado frente a los datos del ensayo de la planta. Así, mientras realizamos el

análisis de los datos y del modelo, la información de la incertidumbre del modelo puede

ayudarnos a determinar qué variables requerirán más ensayos y la frecuencia necesaria

de los mismos para mejorar los modelos existentes.

Esta herramienta proporciona una serie de matrices en archivos de texto con la

información. Para tratar esta información existen unas plantillas Excel en la web de

Page 67: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 67 Víctor J. Cuadrado Alvarado

soporte técnico de Aspen. Sin embargo, en la nuevas versiones o actualizaciones de

DMCplus esta utilidad viene completamente integrada en el programa y es de fácil uso.

CROSS-CORRELATION

La herramienta Cross-Correlation se utiliza para ver las relaciones que se establecen

entre las variables del modelo. La información proporcionada por esta utilidad puede ser

utilizada para validar las relaciones entre variables identificar variables manipulables

correladas.

Al igual que Model Uncertainty, Cross-Correlation genera un fichero de texto con toda

la información, aunque es posible obtener una serie de plantillas Excel para tratar dichos

datos.

5.3.6.- Modelos Estos objetos modelan la dinámica del proceso. Se utiliza para generar y mantener una

predicción de las variables a controlar.

Como ya hemos sabemos, los casos nos generan una serie de modelos de salida. Una

vez que tenemos dichos modelos, los analizaremos y decidiremos qué curvas son

significantes y cuales no. Si es necesario es posible realizar convoluciones de modelos

para obtener relaciones que no es posible determinar de manera directa.

5.3.6.1.- Creación de un modelo Cuando creamos un modelo, por defecto se toma que será un modelo Assembled,

aunque podemos también importarlo. Para crearlo hemos de situarnos en la capeta

Models y pulsar el botón de la barra de herramientas New o bien usar el menú

contextual. Entonces nos aparecerá la ventana de propiedades del modelo, figura 5.20.

Page 68: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 68 Víctor J. Cuadrado Alvarado

Figura 5.20.- Propiedades del modelo

En este diálogo deberemos introducir el nombre del modelo, una descripción del mismo

y, de forma obligatoria, un tiempo de establecimiento o Steady State y el número de

coeficientes que va a tener el modelo. Seguidamente pasamos a elegir las variables del

modelo marcando la pestaña Tags.

Figura 5.21.- Elección de variables para el modelo

En esta ventana elegiremos el nombre de las variables que queremos de entre las que

estén disponibles. Podemos observar que esta ventana es similar a la que nos aparecía al

Page 69: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 69 Víctor J. Cuadrado Alvarado

crear un caso. Una vez que hemos elegido validamos y ya tendremos creado nuestro

modelo.

Si abrimos el modelo recién creado veremos que no tiene ninguna curva de respuesta,

por lo que aún debemos seguir trabajando con él. Tenemos dos formas de añadir curvas

al modelo recién creado:

A. Arrastrar un modelo obtenido en la ejecución de un caso o un modelo existente

hacia la ventana en la que tengamos nuestro modelo en blanco, con lo que las

curvas del primer modelo serán añadidas en el nuestro. Esto puede hacerse curva

a curva si seleccionamos únicamente una de las curvas del modelo (picamos dos

veces con el ratón en la curva que queramos), lo que nos permite usar curvas de

modelos distintos, o bien añadir el modelo al completo.

El añadido de curvas de forma independiente puede hacerse de forma más

transparente si una vez seleccionada la curva usamos Edit> Get Curve, eligiendo

entonces la curva fuente y la de destino.

B. Crear nosotros mismos las curvas de respuesta utilizando para ello las

operaciones (Operation Curves) que pone a nuestra disposición Model. Basta

con seleccionar el par de variables al que queremos añadir una curva y usar las

Curve Operations. Más adelante se explicarán estas operaciones con más detalle.

MODELOS DE CONVOLUCIÓN

Ya hemos comentado la posibilidad de realizar convoluciones de modelos para obtener

relaciones entre variables que no son posibles de determinar de forma directa. Para

realizar estas convoluciones debemos disponer de dos modelos creados previamente.

Así, nos situamos encima de un modelo existente y desplegamos el menú contextual.

Elegimos entonces la opción Assemble Convoluted Model, lo cual nos lleva a una

nueva ventana como la de la figura 5.22. En esta ventana tendremos que elegir el

segundo modelo que se usará en la convolución, ya que el primer modelo será el que

teníamos elegido al principio.

Page 70: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 70 Víctor J. Cuadrado Alvarado

Figura 5.22.- Creación de un modelo de convolución

Una vez que se tienen seleccionados los modelos y las variables basta con validar,

obteniendo el nuevo modelo de convolución.

5.3.6.2.- Trabajar con modelos SUSTITUIR CURVAS

Esta función podemos utilizarla para cambiar una curva existente por otra que le venga

mejor a nuestro modelo final. Su funcionamiento es exactamente igual al de la creación

de un modelo nuevo explicada en el apartado A.

Para cambiar una curva por otra simplemente hemos de seleccionar la curva a cambiar

de nuestro modelo y acudir al menú Edit> Get Curve. Entonces nos aparecerá un

diálogo en el que se nos pedirá información de la curva a insertar y de la curva a

eliminar.

Page 71: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 71 Víctor J. Cuadrado Alvarado

Figura 5.23.- Diálogo para la sustitución de curvas

Esta función también nos permite sumar la curva fuente a objetivo o bien sustraerla,

todo ello según la opción que elijamos en el menú desplegable Operation del diálogo.

CURVE OPERATIONS

Se trata de una serie de funciones que nos permiten modificar la forma de las curvas de

respuesta que tengamos en nuestro modelo. Caben distinguir dos formas de operación:

- Cuando no existe aún una curva de respuesta para un par de variables: nos

permite añadir curvas de respuesta estándar utilizando los parámetros que

indiquemos. Estas funciones son remplazar, curva cero, unidad, primer orden,

segundo orden y convolución.

- Existe una curva de respuesta para el par de variables seleccionadas: entonces lo

que se nos permite es modificar la curva existente añadiendo una serie de curvas

estándar o modificaciones. Estas funciones son añadir, restar, ganancia, ganancia

escalada, mover, multiplicar, tasa, tasa escalada, primer orden, segundo orden,

‘leadlag’ y ‘rotate’.

Page 72: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 72 Víctor J. Cuadrado Alvarado

Figura 5.24.- Curve Operations

Para acceder a Curve Operations tenemos que seleccionar la curva de respuesta de un

par de variables y dirigirnos al menú Edit o bien utilizar el menú contextual. Una vez

que nos aparezca una ventana como la de la figura 5.24 simplemente hemos de añadir

las curvas que nos parezcan convenientes.

Hay que tener especial cuidado con el orden de las curvas o funciones que se utilizan,

ya que éste influye en el resultado final. Para ayudarnos a comprobar el resultado de los

cambios que introduzcamos es de especial interés el uso del botón Run/Refresh, que nos

permite ver los cambios realizados sin necesidad de validar la modificación.

Las funciones reseñadas anteriormente se corresponden con las siguientes referencias en

el programa:

• REPLACE (remplazar): se usa para insertar una curva externa al modelo actual.

• ZERO (curva cero): pone todos los coeficientes de la curva a cero.

• UNITY (unidad): ídem al anterior pero con valor unidad.

• CONVOLUTE (convolución): ya se ha comentado anteriormente.

• FIRSTORDER (primer orden): añade una curva de respuesta de primer orden según

los parámetros que especifiquemos.

• SECONDORDER (segundo orden): ídem al anterior pero de segundo orden.

Page 73: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 73 Víctor J. Cuadrado Alvarado

• ADD (añadir): lee una curva de un modelo existente y la añade a la curva

seleccionada.

• SUBTRACT (restar): ídem al anterior pero sustrayendo.

• GAIN (ganancia): a partir del momento en el que especifiquemos y continuando

hasta el final, hace que los coeficientes lleguen de forma lineal a un valor que

indiquemos.

• GAINSCALE (ganancia escalada): especificamos un valor al que llegará la curva al

final y los coeficientes de la curva serán multiplicados por (ganancia especificada /

ganancia existente).

• SHIFT (mover): mueve una curva hacia la derecha o la izquierda en el tiempo

(según el valor dado sea positivo o negativo).

• MULTIPLY (multiplicar): multiplica todos los coeficientes por el valor dado.

• RATE (tasa): modifica los coeficientes, desde el momento que digamos y hasta el

final, de forma que los coeficientes generan u curva con pendiente igual a 1/coef,

siendo coef un valor dado por nosotros.

• RATESCALE (tasa escalada): igual que el anterior salvo que los coeficientes se

multiplican por (pendiente dada / pendiente existente).

• LEADLAG: hace que los coeficientes formen una curva de respuesta lead-lag según

los parámetros que introduzcamos.

• ROTATE: modifica la curva al completo para alcanzar el valor final que demos.

Para ello calcula la diferencia entre el valor actual de la ganancia en el Steady State

y el valor deseado y crea una curva que empieza en cero y acaba en el valor de la

diferencia calculada. Luego añade la curva creada a la existente. Se trata de una

modificación muy útil.

GAIN MATRIX ANALISIS

Se trata de una herramienta para evaluar las propiedades numéricas de un modelo. En

particular es un análisis para la evaluación de la colinealidad de la matriz de ganancias y

evitar problemas estructurales que nos lleven a problemas numéricos en el controlador

en tiempo real.

Así, esta herramienta puede usarse para chequear la presencia de submatrices colineales

o casi, a la vez que se chequea la escala de la matriz.

Page 74: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 74 Víctor J. Cuadrado Alvarado

Figura 5.25.- Gain Matrix Analisys

5.3.6.3.- Exportar un modelo A lo largo de este capítulo ya se ha hablado de la exportación de componentes de un

proyecto para tenerlos disponibles para otros proyectos. Sin embargo en este caso la

exportación del modelo final del proceso que se desea controlar es necesario, ya que ha

de incluirse dicho modelo en la construcción del controlador que vayamos a aplicar.

Por lo anterior debemos obtener un archivo .mdl (los .dpa son modelos exportados para

ser usados con Model, no con Build) que contenga nuestro modelo final. Para realizar la

exportación nos situamos sobre el modelo a exportar y acudimos al menú Project>

Export. También, una situados sobre el modelo, podemos usar el botón Export o bien

usar el menú contextual.

5.3.7.- Predicciones Las predicciones del comportamiento de las variables dependientes de un modelo son

realizadas usando los vectores de las variables independientes que se hayan indicado en

dicho modelo.

Podemos tener predicciones de dos tipos:

Page 75: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 75 Víctor J. Cuadrado Alvarado

- Provenientes de los casos. Se tratan de los modelos que indicamos en la

construcción de los casos que generaran predicciones.

- Creadas por el usuario para realizar predicciones de los modelos creado por él.

La creación de una predicción nos será de utilidad para comprobar que el modelo final

se ajusta a los valores reales de la planta.

Para crear una predicción basta con situarnos en la carpeta de predicciones y entrar en

Project> New Prediction.

Figura 5.26.- Propiedades de una predicción

Una vez que rellenemos los campos que se nos indican podremos generar la predicción

del modelo pulsando el botón Run como se hacía en los casos. Entonces obtendremos

una predicción que podremos visualizar para confirmar el funcionamiento del modelo

utilizado en dicha predicción.

En la visualización de la predicción veremos los vectores que obtuvimos de la planta

mediante Collect/Extract junto con los vectores de la predicción y unos vectores que nos

indican el error encontrado entre los vectores con los datos de la planta y los vectores de

la predicción.

Page 76: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 76 Víctor J. Cuadrado Alvarado

Figura 5.27.- Predicción generada a partir de un modelo de usuario

5.3.8.- Listas de objetos Las listas son utilizadas para agrupar componentes del mismo tipo, salvo las listas

generales que pueden agrupar distintos componentes, y poder tener los componentes del

proyecto de una forma clasificados y fácilmente reconocibles. La creación de listas se

hace de la misma forma que el resto de los objetos del proyecto.

Añadir componentes a una lista se puede hacer de forma fácil y rápida simplemente con

arrastrar el componente que se desee a la lista elegida. Ésta acción no mueve el objeto

de lugar sino que crea una copia del mismo en la lista.

Page 77: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 77 Víctor J. Cuadrado Alvarado

5.4.- DMCplus Build Este módulo de DMCplus se utilizará para la creación y configuración del controlador

que queremos aplicar al proceso. Es un paso previo al uso del Simulate y de ejercer el

control sobre la planta.

La apertura de este programa se realiza desde Inicio> Programas> Aspen Manufacturing

Suite> DMCplus Desktop> Build.

5.4.1.- Aspectos generales Para realizar el control sobre un proceso es necesario disponer de dos archivos con la

información necesaria para ello: un archivo con el modelo del proceso (.mdl) y un

archivo de configuración del controlador (.ccf)

El modelo del proceso a controlar determinará el tamaño del problema de control y las

relaciones dinámicas entre las variables.

En cambio el archivo de configuración determina el lugar de los parámetros de salida o

entrada del controlador, los tamaños de las variables, límites, cambios, ajustes, etcétera.

En este módulo se diferencian tres tipos de variables del proceso:

- MV (manipulated variables): variables manipulables. Son las variables

independientes del proceso que podemos manipular para controlar el proceso.

- FF (feedforward variables): variables de perturbación. Son variables

independientes pero que vienen establecidas, es decir, que no es posible

manipular para ejercer el control.

- CV (controled variables): son las variables dependientes que se desean controlar.

Desde Build podremos generar dos tipos de archivos de configuración de controladores:

- .ccf ⇒ es el archivo de configuración del controlador (Controller Configuration

File), el que se utilizará para ejercer el control.

- .tcc ⇒ es una plantilla base (Template Controller Configuration file) para la

creación de .ccf. En este tipo de archivos sólo se permite un máximo de 1

variable de cada tipo.

Al igual que en el caso del Model la estructura del Build es similar, estando a nuestra

disposición las mismas herramientas que en las aplicaciones diseñadas para Windows.

Page 78: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 78 Víctor J. Cuadrado Alvarado

Figura 5.28.- Pantalla de DMCplus Build

Podemos observar en la figura anterior que la ventana de Build se divide en dos paneles,

el de la izquierda o área de parámetros, desde donde podemos acceder de forma rápida a

la configuración de los parámetros, y el panel derecho o panel de entradas, en el cual

modificamos las características del controlador.

Los pasos a seguir para la configuración del controlador son los siguientes:

1. Crear una plantilla. Se trata de crear un archivo de configuración del controlador

sólo para una variable manipulable y una controlable. Esto nos servirá para

evitar la repetición de estructuras en la .ccf más adelante.

2. Especificar la estructura del control. Se realiza al crear una nueva .ccf y se

especifican las variables que se tendrán en cuenta, así como el modelo que se va

a utilizar.

3. Indicar opciones. Hemos de indicar una serie de opciones al iniciar la

configuración de la .ccf como son: objetivos externos, generación de

movimientos futuros y predicciones, conexión CIM-IO y dispositivo a utilizar,

plantilla base, mensajería y utilización de subcontroladores.

Page 79: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 79 Víctor J. Cuadrado Alvarado

4. Definir las etiquetas de las variables. Disponemos de tres formas de realizarlo:

mediante el editor de entradas, usando la herramienta de sustitución o a través de

la herramienta Tag Wizard.

5. Ajustar a nuestras necesidades el archivo .ccf. Debemos ajustar las entradas del

controlador a nuestras necesidades revisando para ello las entradas del archivo.

6. Chequeo de errores. Se dispone de una herramienta de validación del archivo

.ccf utilizando para ello el motor del programa Simulate. Así podremos estar

seguros de que no existen errores de configuración en nuestro .ccf, aunque ésto

no garantiza que el control que se aplique funcione correctamente.

7. Utilizar el archivo .ccf con Simulate y Manage. Mediante Simulate tendremos la

oportunidad de realizar ajustes, sintonizar el control y definir más concretamente

los límites del control antes de utilizarlo sobre el proceso. Manage es la

herramienta para ejecutar el control en línea sobre la planta.

8. Generar documentación. Podemos generar a partir del .ccf una documentación

de los valores y de la configuración de nuestro controlador.

5.4.2.- Controller Configuration File (CCF) La CCF está organizada en secciones, cada una de ellas conteniendo una o más

entradas. Estas entradas son las unidades básicas de la CCF, ya que contienen la

información necesaria para describir el controlador.

Cada parámetro del controlador puede describirse mediante una entrada, cuyo contenido

hay que especificar y que es el siguiente:

• Name: es una etiqueta de texto única para cada entrada. Existen una serie de

etiquetas reservadas para entradas estándar del controlador DMCplus, aunque es

posible introducir nuevas entradas creadas por el usuario.

• Keyword: informa de si los datos de la entrada residen en el controlador de

forma interna o son obtenidos del exterior, así como el tipo de acceso que se

permite (lectura, escritura o ambos)

• Data Type: determina cómo ha de interpretarse el valor del parámetro.

• Valor: se trata del valor que deberá cargarse en el controlador la primera vez que

se ejecute éste. Puede ser numérico, una cadena de caracteres o una ecuación

dependiendo del Data Type.

Page 80: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 80 Víctor J. Cuadrado Alvarado

• Entity: contiene la información necesaria para localizar el valor en una base de

datos o en el propio DCS (sistema de control distribuido). A su vez está

compuesta por varios ítems:

• Source: palabra clave para describir el mecanismo de lectura o

escritura.

• Tag Name: cadena de caracteres que nos permite encontrar el punto a

través de la conexión CIM-IO.

• CIM-IO information: sólo si se utiliza la interfaz CIM-IO.

Por lo tanto la configuración del controlador se realiza especificando los valores para las

entradas de la CCF. Las entradas, como ya se ha comentado, se estructuran en

secciones, estando compuesta cada .ccf por varias de ellas, que se nos muestran en la

zona izquierda de la pantalla, cada una de ellas con un cometido específico en la

configuración del control. Estas secciones son:

- Configure: muestra las entradas de configuración general.

- General: entradas de descripción de la .ccf como número de MV y CV, tiempo

de ejecución y demás.

- Independent: en esta sección tendremos un apartado para las entradas de cada

variable MV (variable manipulable) o FF (variable independiente pero no

manipulable) que se vayan a utilizar.

- Dependent: ídem al anterior pero con las variables CV (variables controlables).

- Calculations: dividido en dos, Declarations, donde declararemos nuevas entradas

de la .ccf que creemos nosotros, y Ecuations, en donde podremos crear fórmulas

para su uso en el archivo.

- Subcontrollers: sólo se muestra si permitimos que en nuestro controlador puedan

participar subcontroladores.

- Composite: el uso de Composite se indica cuando vamos a utilizar varios

controladores a la vez, y entre los cuales se establece una relación en la cual la

salida de alguno de ellos va a ser la entrada para otros. Al igual que el anterior

sólo aparece si incluimos el controlador en un conjunto gestionado por

Composite para participar en un objetivo en común.

- ET (external targets): las External Targets son objetivos de control especificados

desde el exterior de DMCplus. Esta sección no se muestra a no ser que

especifiquemos dicha posibilidad.

Las entradas de todas las secciones pueden encontrarse en el anexo correspondiente.

Page 81: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 81 Víctor J. Cuadrado Alvarado

A continuación pasaremos a ir explicando los pasos a seguir en la configuración de la

.ccf desde el principio.

5.4.2.1.- Entradas: Keyword La palabra clave sirve para agrupar las entradas por su mecanismo de almacenamiento y

el mecanismo de entrada salida del valor. Además según la palabra clave que le

elijamos a la entrada podremos realizar una acción u otra y no todas las entradas

disponen de todas las palabras clave.

Las keyword existentes son las siguientes:

- None: marcando una entrada con esta palabra clave dicha entrada no se reflejará

en la CCF/TCC.

- AWRITE: escribe siempre (Always Write) el valor en una etiqueta del PCS

(Process Control System). Es la clave para entradas definidas por el usuario.

- BUILD: reservado para entradas de Build solamente.

- CALGET: calculo de entrada (sólo disponible en la sección Calculation).

- CALPUT: igual al anterior pero de salida.

- CONFIG: parámetro de configuración que se actualiza sólo una vez al cargar la

CCF.

- CONS: valor constante, actualizado únicamente una vez sin posibilidad de

cambiarlo.

- INIT: valor que se inicializa tomando el dato del PCS en el momento de la

inicialización.

- LOCAL: valor compartido en la memoria local de DMCplus. Se pueden cambiar

mediante View, ecuaciones o transformaciones.

- LWRITE: escritura de baja prioridad hacia el PCS.

- PWRITE: escritura de alta prioridad al PCS.

- RDWRT: lectura y escritura de y hacia el PCS de prioridad media.

- READ: lectura de prioridad media del PCS.

- WRITE: escritura en el PCS de prioridad media. Cuando se trate de entradas

definidas por el usuario debe usarse AWRITE.

- XFORM: transformaciones.

Page 82: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 82 Víctor J. Cuadrado Alvarado

5.4.2.2.- Creación de un nuevo CCF Para crear un nuevo archivo CCF hemos de presionar el botón New de la barra de

herramientas. Entonces nos aparece una ventana para elegir la plantilla sobre la que nos

basaremos para crear la .ccf. Además se nos indicará la posibilidad de elegir un modelo

para el controlador.

Una vez hayamos especificado nuestras preferencias se nos preguntará por el número de

variables MV (de 1 a 999), FF (entre 0 y 999 menos el número de MV) y CV (de 1 a

999) que incluiremos en nuestro controlador, así como por el nombre que le pondremos

al controlador.

Hecho lo anterior se nos indicará si deseamos seleccionar una serie de opciones

generales de la CCF. Aunque no es obligatorio sí se recomienda seleccionar las

opciones en este momento, ya que nos ahorraremos tener que introducirlas luego en las

entradas correspondientes. Las opciones que se pueden seleccionar son entre otras:

• Información para Composite.

• Uso de External Targets.

• Modelo a utilizar.

• Tipo de solución del controlador (lineal o cuadrática).

• Dispositivo de conexión CIM-IO.

• Mensajería a utilizar.

• Subcontroladores que se incluirán en nuestro controlador.

Page 83: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 83 Víctor J. Cuadrado Alvarado

Figura 5.29.- Opciones de la CCF

Figura 5.30.- Opciones de la CCF

Indicadas las opciones anteriores se nos preguntará si queremos ejecutar la herramienta

Tag Wizard. Esta herramienta se utiliza para rellenar una serie de parámetros de forma

automática sin necesidad de hacerlo uno a uno. Los parámetros que se introduzcan serán

Page 84: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 84 Víctor J. Cuadrado Alvarado

añadidos de forma automática en los lugares de la CCF en los que en la TCC se

introdujeron los valores *, ~ y ^.

Figura 5.31.- Uso de Tag Wizard

En este caso podemos observar una ventaja de la creación de una TCC en la que

basarnos para crear más adelante nuestra CCF, ya que si elegimos bien dónde colocar

los valores “comodín” anteriores ahorraremos tiempo y necesidad de escribir.

Figura 5.32.- Uso de Tag Wizard

Hay que indicar que ni las opciones anteriores ni el Tag Wizard son de ejecución

obligatoria, aunque sí se recomienda su uso.

Una vez hayamos cerrado las opciones y Tag Wizard habremos terminado de crear la

nueva CCF y estaremos en disposición de variar los parámetros de las entradas de la

CCF.

Page 85: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 85 Víctor J. Cuadrado Alvarado

5.4.2.3.- Configure La sección de configuración muestra las entradas de configuración de la CCF (o la

TCC) como son el mostrar las predicciones y los movimientos que se van a realizar, el

uso de External Targets, la participación de Composite y demás, aunque como se indicó

en el apartado anterior, muchas de estas entradas se configuran utilizando el panel de

opciones, al que se puede acceder en cualquier momento a través del menú Tools>

Options.

Es de reseñar también que muchas de estas entradas son configuradas automáticamente

por Build a partir del modelo que se utilice.

Algunas de las entradas más interesantes de esta sección son las siguientes:

• CTLINT: entrada de sólo escritura y de configuración automática según el modelo.

Es una entrada utilizada para verificar que el controlador se está ejecutando en el

periodo de control correcto.

• DEFSOLT: indica el ranking de restricciones que se utilizará por defecto. Ver más

adelante en el apartado de las variables dependientes. También es configurada por

Build.

• INTSUM: es una constante, por defecto a 0 (off). Se usa para indicar al controlador

que mantenga una copia de los setpoints con una resolución mayor que la del

sistema de control del proceso. Así se previene la pérdida de pequeños movimientos

que el proceso no es capaz de reflejar por su poca resolución.

• SSMINS: introducido de forma automática por Build, son los minutos establecidos

para el Steady State.

Page 86: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 86 Víctor J. Cuadrado Alvarado

Figura 5.33.- Entradas obligatorias de Configure

5.4.2.4.- General Esta sección muestra una lista con entradas generales como el número mínimo de

variables CV o MV que deben cumplir las restricciones, tiempo de ejecución, indicador

de parada y otros.

Presenta la misma estructura que la sección Configure y que el resto de secciones,

aunque en esta sección es en la que aparece un menor número de entradas, siendo sólo

cuatro las entradas obligatorias.

Cabe destacar de entre todas las entradas:

• CNTDWN: se trata del típico perro guardián que se utiliza en toda programación

con el fin de verificar que el controlador está ejecutándose. Es una entrada de

escritura o local.

• MVOSWC: tipo de solución a adoptar para los movimientos de las variables

manipulables (0 es lineal, 1 cuadrático). Es LOCAL, READ o CONS.

• ONREQ: gestor de inicio del controlador. Cuando está a 1 (ON) y se indica que

debe comenzar el control se permite que se inicie el control si se dan las condiciones

Page 87: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 87 Víctor J. Cuadrado Alvarado

para ello. De lo contrario se pone a cero y no permite la ejecución del controlador.

Puede ser RDWRT, LOCAL, READ o CONS.

• LPOBJ: entrada que almacena el valor de la función objetivo durante la ejecución

del controlador. Es None, WRITE o LOCAL.

• NGDDEP, NGDMAN: son el número mínimo de variables CV y MV

respectivamente que deben mantenerse en buen estado pues de lo contrario el

control deja de ejecutarse. None, LOCAL, CONS o READ.

• ONSTS: muestra el resultado de ONREQ obtenido al intentar ejecutar el

controlador. None, WRITE o LOCAL.

• PRDSWC: indica si han de inicializarse las predicciones. None, LOCAL o

RDWRT.

Figura 5.34.- Panel de entradas de la sección General

5.4.2.5.- Independents En la sección de variables independientes tendremos que definir las mismas entradas

para todas las variables que se encuentren en esta sección. Las variables independientes

pueden ser de dos tipos como ya se ha indicado con anterioridad:

Page 88: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 88 Víctor J. Cuadrado Alvarado

- Manipulated Variables (MV): son las variables independientes que podemos

manejar para controlar el proceso.

- Feedforward Variables (FF): se tratan de variables independientes del proceso

pero que nos es imposible su manipulación, como por ejemplo una entrada de

agua corriente en la cual no podemos actuar sobre su temperatura. Estas

variables pueden tratarse como una perturbación al sistema.

Para seleccionar una variable independiente como feedforward simplemente hemos de

seleccionar la variable y validar la ‘check-box’ situada debajo de la barra de

herramientas. En ese momento, las variables independientes que estén situadas por

debajo de la seleccionada, y por supuesto la seleccionada, se convertirán en variables

feedforward.

Para deseleccionar hemos de hacer lo mismo, es decir, desvalidar la misma ‘check-box’.

Si queremos deseleccionar todas las variables FF basta con situarnos en la ultima de

estas variables y deseleccionar el ‘check-box’.

Figura 5.35.- Panel de entradas de Independents

En esta sección las entradas más interesantes son las siguientes:

• CRIIND: indica si la variable es crítica para el control del proceso. Si se indica que

lo es, el control dejará de funcionar en el momento que dicha variable se salga de los

límites que se le impongan. None, LOCAL, CONS o READ.

Page 89: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 89 Víctor J. Cuadrado Alvarado

• CST: es la penalización en la que incurrimos por incrementar en una unidad el valor

de la variable. LOCAL, READ o CONS.

• LLINDM, ULINDM: son los límites inferior y superior respectivamente que son

válidos para la variable. El programa siempre tratará de buscar una solución que

mantenga a la variable dentro de estos límite, que podríamos llamar límites de

operación. Se tratan básicamente de un par de restricciones sobre las variables

independientes. READ, LOCAL o RDWRT.

• MAXMOV: se trata del movimiento máximo en unidades ingenieriles que puede

realizar el set point de la variable en un ciclo. Debe ser mayor o igual a SSSTEP.

LOCAL, READ o CONS.

• SSMAN: valor de Steady State para la variable. El control moverá la variable hasta

llevarla a este valor al final del horizonte temporal del controlador. LOCAL o

WRITE.

• SSSTEP: es el movimiento máximo en el valor del Steady State permitido para una

variable independiente. Esto permite que el controlador sea capaza de mover la

variable al nuevo valor de Steady State durante el horizonte temporal. LOCAL,

READ o CONS.

• VIND: valor actual de la variable medida en el proceso. READ o LOCAL.

• VINDSP: se trata del set point calculado por el controlador para la variable. Este

valor es enviado al proceso al final de cada ciclo de ejecución del controlador.

PWRITE o LOCAL.

NOTAS IMPORTANTES

A. CMOV es la entrada para las variables independientes que le indica al proceso el

movimiento que debe realizar dicha variable (si el control está OFF se trata del

movimiento propuesto). Sin embargo en la planta sobre la que se probó el programa

este movimiento no puede implementarse ya que deben ser valores absolutos no

incrementales como es CMOV. Para solucionar este problema simplemente se

definió una entrada de usuario, ABSRES y ABSV8, en la cual sumábamos al valor

que tuviera en ese momento la variable el valor de CMOV mediante ecuaciones, y el

total era el valor que le proporcionábamos a la planta.

B. También es importante resaltar que debe tenerse especial cuidado con los valores de

las variables que se leen y se escriben en la planta, puesto que las prioridades de

estas acciones pueden hacer que estemos leyendo valores que no sean los que se

Page 90: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 90 Víctor J. Cuadrado Alvarado

deseaban. Esto ocurre por ejemplo en la planta en la que se realizaron las pruebas

con el valor que lee la entrada VIND, que es el valor que en un momento tiene la

variable, y el valor que escribe cualquiera de las entradas que definimos

anteriormente. Así, si se escribe antes de leer el valor de la variable entonces en

VIND no tendremos el valor de la variable en el momento actual sino el del ciclo

siguiente que es el que escribe el controlador al ejecutarse. Para solucionar esto

podemos crear una nueva variable en la base de datos de la planta, V8_VIND y

RESISTENCIA_VIND, que sea una copia del valor que queremos leer y escribir,

evitando de esta manera que la escritura borre los datos que queremos leer.

5.4.2.6.- Dependent Esta sección es parecida a la anterior ya que en ésta se agrupan todas las variables del

proceso que se desean controlar. Las variables de esta sección tienen unas

características propias que son:

- Intermittent: son variables que no se actualizan de forma continua sino cada cierto

tiempo según configuremos la entrada adecuada para ello.

- Ramp CV: se trata de variables dependientes de tipo rampa. Las variables de este

tipo llevan esta característica activada según se marcaran en el modelo del proceso.

Al contrario de la característica Ramp, la característica Intermittent sí puede activarse a

voluntad para cada variable con solo validar la ‘check-box’ que está debajo de la barra

de herramientas. La validación de esta característica sólo afecta a la variable para la que

se activa o desactiva, al contrario de lo que ocurría con el marcaje de FF de las variables

independientes en la sección anterior.

Como en las secciones precedentes, a continuación listamos algunas de las entradas más

importantes con las que nos encontramos en la sección Dependents:

• DEP: se trata del valor actual de la variable leído directamente del proceso. Puede

ser READ o LOCAL.

Page 91: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 91 Víctor J. Cuadrado Alvarado

Figura 5.36.- Entradas obligatorias de una variable en la sección Dependent

• LDEPTG, UDEPTG: son las entradas correspondientes a los límites inferior y

superior para el objetivo que debe alcanzarse en el régimen permanente o Steady

State. Debe estar dentro de los márgenes establecidos por los límites de validación

(LVLDEP, UVLDEP) e ingenieriles (LDPENG, UDPENG). Con estos límites lo

que delimitamos es una zona válida en la que el programa debe encontrar una

solución en régimen permanente para esta variable. Si queremos forzar la variable

para que se dirija a un valor concreto deberemos tomar el mismo límite inferior y

superior, con lo cual restringimos la banda válida a un solo valor, aunque ésto tiene

el inconveniente de que puede ser que no exista una solución conjunta para todas las

variables, con lo cual no se podrá ejercer el control sobre el proceso, a no ser que la

variable no sea cr. RDWRT, LOACL o READ.

• SRVDEP: es la entrada que nos indica si la variable debe entrar en los cálculos del

controlador para buscar la solución óptima en el régimen permanente. READ,

LOCAL o CONS.

• ACPRER: se trata de la entrada que nos guarda el error acumulado en la predicción.

Esta entrada nos sirve para detectar posibles errores o desajustes en el modelo

Page 92: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 92 Víctor J. Cuadrado Alvarado

utilizado para la predicción del proceso. El controlador actualiza este valor en cada

ciclo de ejecución. None, WRITE o LOCAL.

• CVRANKL, CVRANKU: mediante estas entradas podemos definir los rankings de

las soluciones que busque el programa simplemente asignando un número de

ranking para el límite inferior y el superior. None, LOCAL, READ o CONS.

• CVSTEP: máximo cambio permitido en el valor de Steady State de la variable en un

ciclo de control. Es interesante utilizarlo para variables que no sean rampas para

limitar los cambios del objetivo en régimen permanente. None, READ, LOCAL o

CONS.

• SSDEP: nos indica el objetivo Steady State o de régimen permanente para la

variable con la que estemos trabajando. None, WRITE o LOCAL.

• SSERR: esta entrada muestra el error cometido en el Steady State. Es la diferencia

entre SSDEP y los límites (si se ha violado alguno, de lo contrario se resetea a cero)

UDEPTG o LDEPTG. None, WRITE o LOCAL.

5.4.2.7.- Calculations Esta sección se divide en dos subsecciones a su vez, la correspondiente a la definición

de entradas del usuario y la correspondiente a las ecuaciones que se quieran utilizar.

DECLARATIONS

En esta subsección definiremos las entradas que deseemos crear para completar la

configuración de la CCF y que Build no proporciona de forma predeterminada.

Para crear una nueva entrada basta con pulsar el botón de la barra de herramientas

Define a New Entry. Entonces el programa nos pedirá un nombre para la nueva entrada,

que debe ser distinto de los nombres que están reservados para las entradas que Build

nos proporciona de forma predeterminada, y además deberemos elegir el tipo de datos

que utilizará la entrada.

Una ves validado lo anterior aparecerá en la sección la nueva entrada y podremos

editarla. Al editar podremos observar que se tienen a disposición del usuario todas las

palabras clave o Keyword de que dispone Build, esto es: None, CONS, LOCAL, INIT,

READ, WRITE, LWRITE, PWRITE, AWRITE y RDWRT. Así pues podremos elegir

cualquiera de las Keyword disponibles, con todas las posibilidades que esto nos ofrece.

Page 93: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 93 Víctor J. Cuadrado Alvarado

Una vez editada la nueva entrada ésta estará disponible para usar como si fuese una

entrada más de Build, sin diferencias con las que vienen predeterminadas en Build.

Figura 5.37.- Sección Declarations

EQUATIONS

Build nos ofrece la posibilidad de utilizar una serie de fórmulas sencillas, lo que nos

permite hacer que el valor de alguna entrada de la CCF esté en función de otra serie de

entradas. Esto resulta de gran utilidad si se desea tener valores de entradas

condicionadas a valores del proceso que vamos a controlar por ejemplo.

Para crear una ecuación hemos de seguir una serie de pasos:

1. Pulsar el botón de herramientas Add.

2. Abrir la lista desplegable Keyword que nos aparece y seleccionar el tipo que

queramos: None, Input Calculation o Output Calculation.

3. Seleccionar el campo Result y seleccionar del desplegable Grp|Var la variable o

el grupo de variables a la que se aplicará el cálculo así como la entrada en la que

irá el resultado del cálculo. Una vez seleccionado lo que queramos pulsamos el

botón Insert.

Page 94: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 94 Víctor J. Cuadrado Alvarado

4. Posicionarse luego en el campo Formula. En este campo podremos insertar

también entradas de variables o grupo de variables, así como algunas de las

funciones que Build trae predeterminadas (ver el anexo correspondiente).

5. Repetir los pasos para seguir insertando nuevas ecuaciones.

Figura 5.38.- Sección Equations de Build

Las ecuaciones también pueden ser duplicadas de forma rápida y sencilla.

5.4.2.8.- Subcontrollers, Composite, ET El trabajo en estas secciones se realiza de igual forma que en las secciones anteriores,

aunque sólo aparecerán si previamente en las opciones de la CCF se habilitaron estas

posibilidades.

5.4.3.- Set Point frente a Steady State Target Hemos de distinguir en la configuración del controlador los conceptos de Set Point Y

Steady State.

Como Set Point (SP) se establece el valor que ha de tener una variable al final de cada

ciclo de ejecución del controlador. En procesos en los que a nivel de campo las señales

de control estén reguladas mediante PID por ejemplo, este valor es el que se le

Page 95: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 95 Víctor J. Cuadrado Alvarado

suministraría a dicho PID para que moviese la variable hacia el valor de SP

proporcionado en el ciclo del controlador.

Por otro lado hay que distinguir del SP el valor de Steady State (SS), ya que éste es el

valor objetivo al que se debe llegar al final del horizonte de predicción del controlador,

esto es, el tiempo de establecimiento que se indicó en su momento.

Por lo tanto los SP que se suministren a la planta en cada ciclo de ejecución del

controlador irán variando durante el tiempo de establecimiento hasta alcanzar el valor

objetivo en el SS. Esto no quita sin embargo que el valor de SS pueda variar también a

lo largo del proceso de control hasta que se encuentre un valor óptimo para el mismo.

En nuestro caso, al no disponer de PID en la planta sobre la que se utilizó el programa,

los valores de SP no se fueron teniendo en cuenta, aunque podrían haber sido utilizados

como valores a suministrar a las variables de campo.

5.4.4.- Rankings Hemos hablado anteriormente de rankings de soluciones. La sección Rank nos muestra

todos los grupos de ranking o categoría que hayamos creado mediante los valores dados

a las entradas correspondientes (CVRANKL, CVRANKU).

Figura 5.39.- Sección Ranks

Page 96: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 96 Víctor J. Cuadrado Alvarado

Los rankings creados sirven para relajar las restricciones del problema de control en un

orden determinado para asegurar la consecución de una solución en régimen

permanente. Así pues, el controlador intenta buscar una solución para el problema de

control utilizando las restricciones del rango de menor número. Si para ese rango

obtiene una solución para el problema, dichas restricciones se convertirán en

restricciones fuertes, es decir, que se tendrán en cuenta siempre y se continúa con el

siguiente rango de restricciones. Este proceso termina cuando todos los rangos son

considerados como restricciones fuertes, y se ejecuta entonces la optimización

económica.

Por lo tanto aquellas limitaciones que no se hayan incorporado a un rango pueden no ser

cumplidas y serán tenidas como restricciones relajadas.

5.4.5.- Validación de la CCF Una vez que tengamos la CCF configurada, Build nos permite realizar un chequeo de la

misma para comparar la estructura del modelo con la CCF, verificar que todas las

entradas obligatorias han sido introducidas y llevar a cabo una validación completa del

controlador utilizando para ello el motor de Simulate. Esta validación también se hará

antes de guardar el archivo.

Para realizar la validación basta con utilizar el botón Validate situado en la barra de

herramientas.

Hay que tener en cuenta que las etiquetas de las variables normalmente no podrán

validarse debido a que la conexión con el proceso no esté disponible. De todas formas

cuando se ejecute el controlador usando el programa Manage, éste realizará dicha

validación de las etiquetas justo en el momento anterior a la ejecución del controlador, y

si existe algún error se nos comunicará.

5.4.6.- Creación de una plantilla Una plantilla de controlador es un archivo TCC (Template Controller Configuration),

como ya se explicó al principio de este capítulo.

La creación de un archivo de este tipo se realiza de la misma manera que una CCF. Lo

único que hay que tener en cuenta es que no debemos asignarle ningún modelo al

archivo. Una vez hayamos creado la TCC, debe hacerse notar que sólo es posible la

inclusión de una variable de cada tipo, es decir, una MV, FF y CV.

Page 97: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 97 Víctor J. Cuadrado Alvarado

Además al guardar la plantilla deberemos cambiar el tipo de archivo a .tcc y tener

cuidado de guardarlo en la carpeta \dmcplus\templates en donde tengamos instalado el

programa para que más tarde nos aparezca la plantilla cuando vayamos a crear la CCF.

5.4.7.- Generación de documentación Por último podemos generar una documentación del estado de configuración del

controlador, ya que en momentos posteriores puede que la configuración inicial del

controlador sea cambiada por el usuario. La documentación nos permite pues no perder

la configuración inicial y tenerla siempre disponible para cuando sea necesaria.

Para obtener el informe de la configuración sólo hemos de ir al menú File> Print.

Entonces podremos elegir el formato del informe y realizar cambios en el mismo.

Page 98: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 98 Víctor J. Cuadrado Alvarado

5.5.- DMCplus Simulate Tras haber configurado el controlador que se aplicara sobre la planta utilizaremos este

módulo de DMCplus para comprobar el funcionamiento del control sin ejecutarlo en

línea, es decir, sin necesidad de estar físicamente conectado al proceso para evitar que

posibles errores de configuración del controlador pudieran inducir un funcionamiento

incorrecto del proceso.

Para abrir este módulo iremos a Inicio> Programas> Aspen Manufacturing Suite>

DMCplus Desktop> Simulate una vez que el servidor de licencias esté ejecutándose.

5.5.1.- Generalidades Para poder realizar una simulación del funcionamiento del proceso es necesario

disponer en la misma carpeta de los archivos .mdl del modelo y .ccf de la configuración

del controlador.

Simulate se compone básicamente de dos clases de ventanas: la de tablas de variables y

las de simulación gráfica.

En la ventana de tabla de variables se nos mostrarán tres tablas: una con las variables

MV, otra con las CV y una tercera con las variables FF.

Figura 5.40.- Vista de las tablas de Simulate

Por otra parte, las ventanas de simulación gráfica pueden ser varias, según la necesidad

del usuario, pudiéndose abrir tantas ventanas de simulación como variables existan en

las tablas anteriores.

Page 99: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 99 Víctor J. Cuadrado Alvarado

Figura 5.41.- Ventana de simulación para una variable

En general, los pasos a seguir para realizar una simulación son los siguientes:

1. Abrir el archivo de configuración CCF y crear un PSM.

2. Realizar un ajuste de los parámetros.

3. Ejecutar la simulación.

4. Analizar los resultados obtenidos.

5. Guardar los estados iniciales y los ajustes.

6. Actualizar la CCF con los datos nuevos.

7. Generar la documentación asociada a la simulación. Controller> Create Report

File, generando un archivo PRT.

5.5.2.- Archivos utilizados en Simulate En Simulate se pueden utilizar una serie de archivos de distinto tipo cada uno de con un

cometido distinto. Estos archivos se enumeran a continuación:

- .ccf ⇒ es el archivo de configuración del controlador que vamos a utilizar.

Simulate lo carga para realizar simulaciones con él y comprobar el

funcionamiento del mismo. Desde Simulate es posible ajustar algunos

parámetros del controlador y actualizarlo.

- .psm ⇒ este tipo de archivo se utiliza para salvar el estado actual de una

simulación. Pueden crearse distintos archivos de este tipo usando el mismo CCF

Page 100: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 100 Víctor J. Cuadrado Alvarado

para guardar diferentes ajustes de los parámetros. Este archivo sólo se utiliza con

Simulate.

- .prt ⇒ es el archivo en el cual se guarda la documentación generada por

Simulate y que contiene información acerca de la simulación, los parámetros del

controlador y ciertos valores de las variables. Su formato y su cantidad de

información pueden variarse.

- .dbg ⇒ son archivos generados por el programa que gestiona la ejecución en

línea del controlador. Contiene el estado y los parámetros del controlador y las

predicciones en el momento de generar dicho archivo. La configuración de este

archivo se realiza a través de la entrada de la CCF SIMSWC. Este archivo puede

cargarse en Simulate como si se tratase de un .ccf.

5.5.3.- Ventana de variables Al cargar un archivo de configuración de un controlador (CCF), menú File> Open lo

primero que nos muestra Simulate es la ventana que contiene las tablas con las variables

que intervienen en el controlador.

Figura 5.42.- Tablas de variables

Page 101: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 101 Víctor J. Cuadrado Alvarado

Puede observarse que en cada una de las tablas nos aparece una fila para cada variable

que hubiéramos indicado en el momento de realizar el controlador. Estas filas están

compuestas por una serie de parámetros del controlador que podremos modificar desde

estas tablas para realizar un mejor ajuste de los mismos.

A continuación se detallan los parámetros que podemos variar desde Simulate para las

variables MV y FF:

• Service status

• Lower limit

• Current value

• Steady State target

• Upper limit

• Current move

• Active constraint

• Oper. Srv. Switch

• Engr. Srv. Switch

• Critical flag

• Maximum move

• Move suppresion

• Maximum SS step

• SS criterion

• SS cost

• Shadow price

• Lower Eng limit

• Upper Eng limit

• Lower Val limit

• Upper Val limit

• Loop status

• Windup status

• Reverse acting

• Limit tolerance

• Tracking lag

• Future moves

• Subctrl name

• ET criterion

• ET cost

• ET Lower rank

• ET Upper rank

• ET Srv switch

• ET status

• ET mode switch

• ET Upd time (day)

• ET Upd time (sec)

• External Target

• ET track

• ET range

• New ET flag

• ET age

• ET Lower Sol type

• ET Upper Sol type

• ET Lower ECE

• ET Upper ECE

• Typical move

Y en las siguientes columnas aparecen los parámetros que podemos variar para las

variables CV:

• Service status

• Lower limit

• Current value

• Steady State target

• Upper limit

• Ramp Setpoint

• Active constraint

• Steady State error

• Oper. Srv. Switch

• Engr. Srv. Switch

• Critical flag

• Lower Eng limit

• Upper Eng limit

• Lower Val limit

• Upper Val limit

• Use prediction

• Max pred cycles

• Limit tracking

• Shadow price

• Prediction error

• Avg. Pred. Error

• Prediction Filter

type

• Prediction Filter

time constant

• Prediction Filter

horizon

Page 102: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 102 Víctor J. Cuadrado Alvarado

• Prediction

inicialization switch

• Maximum CV step

• Lower limit rank

• Upper limit rank

• SS lower Eq.

Corncern

• SS upper Eq.

Corncern

• Dyn Lower Eq.

Corncern

• Dyn Middle Eq.

Corncern

• Dyn Upper Eq.

Corncern

• Lower Trans. Zone

• Upper Trans. Zone

• Control Weight

• Noise Standard

desviation

• Ramp Rot factor

• Ramp rate

• Ramp horizon

• Ramp max

imbalances

• Prediction

• Prediction with

control

• Subctrl names

• ET Lower rank

• ET Upper rank

• ET Srv switch

• ET status

• ET mode switch

• ET Upd time (day)

• ET Upd time (sec)

• External Target

• Lower rank sol type

• Upper rank sol type

• ET track

• ET range

• ET Lower Sol type

• ET Upper Sol type

• ET Lower ECE

• ET Upper ECE

• New ET flag

• ET age

Page 103: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 103 Víctor J. Cuadrado Alvarado

Existe también la posibilidad de ver otra serie de parámetros del controlador, como por

ejemplo la función objetivo del controlador, los cuales también podemos variar pero no

se aconseja, ya que influyen directamente en el funcionamiento interno del mismo. Para

poder acceder a estos parámetros hemos de ir al menú Controller> Internal Variables.

Entonces se nos abre una nueva ventana en la que aparecen los parámetros internos del

controlador. En la figura 5.43 se observa esta ventana, siendo el parámetro que se

encuentra resaltado el valor de la función objetivo.

Figura 5.43.- Parámetros internos del controlador

ACTUALIZACIÓN DEL CONTROLADOR

Una vez que se han realizado los ajustes necesarios en los parámetros del controlador,

para hacerlos efectivos para su ejecución en línea con el proceso hemos de hacer que se

reflejen en el archivo de configuración del controlador. Para realizar esta operación

Simulate nos proporciona una función para hacerlo de forma automática. Así,

accediendo al menú Controller> Update Configuration, el controlador queda actualizado

automáticamente con los valores que se tengan en Simulate, sin necesidad de volver a

Build y hacerlo de forma manual.

ARCHIVOS PSM

Hemos comentado anteriormente que este tipo de archivos se utiliza para salvar las

distintas configuraciones que se hagan de un mismo controlador. Así podremos hacer

los cambios que veamos necesarios y poder guardar todos ellos de forma ordenada y sin

Page 104: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 104 Víctor J. Cuadrado Alvarado

perder información. Además este tipo de archivos sólo se utilizan en Simulate, con lo

que no existe la posibilidad de que se modifique mediante otro programa.

Para guardar el estado de un controlador en el formato PSM sólo hay que usar la

función de guardar File> Save As, eligiendo antes de aceptar el formato de archivos

.psm.

5.5.4.- Ventanas de simulación Las ventanas gráficas o de simulación nos dan la posibilidad de seguir la evolución de

las variables según la simulación que nos proporciona Simulate. Para abrir esta

ventanas, una por cada variable del controlador, simplemente picamos con el ratón dos

veces en la ventana de las tablas sobre la variable en cuestión, generándose al momento

una nueva ventana con un gráfico para dicha variable.

Podemos observar en la figura 5.44 que en estos gráficos se muestran varios trazos, los

cuales corresponden a los siguientes datos:

• LP Target: objetivo a alcanzar según solución lineal.

• Without Control: evolución de la variable sin utilizar el control.

• With Control: evolución de la variable de forma controlada.

• Up Limit: valor máximo para situar el objetivo a alcanzar de la variable.

• Low Limit: valor mínimo para situar el objetivo a alcanzar de la variable.

Es posible además cambiar el aspecto de estas ventanas mediante el cambio de colores,

de líneas, escalas y demás. Para ello la forma más fácil de acceder a estas funciones es

utilizar el menú contextual picando con el botón derecho del ratón cuando estemos

situados en la ventana que nos interese.

Page 105: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 105 Víctor J. Cuadrado Alvarado

Figura 5.44.- Gráficos de simulación

5.5.5.- Realizar una simulación Para realizar una simulación del proceso una vez que tenemos cargado el controlador o

un archivo .psm solamente hay que pulsar el botón Run Simulation de la barra de

herramientas. Entonces comenzará la simulación del proceso según las opciones que

hayamos marcado antes de ejecutar la simulación.

5.5.5.1.- Opciones de simulación RUN MODE OPTIONS

Accesibles a través de Controller> Run Mode Options, podemos especificar los

siguientes parámetros de la simulación:

- Time between cycles (ms): se trata del tiempo que transcurrirá entre cada ciclo

de ejecución del controlador. Esto nos sirve para poder seguir la evolución de la

simulación pausadamente.

Page 106: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 106 Víctor J. Cuadrado Alvarado

Figura 5.45.- Run Mode Options

- Number of cycles to run before pausing: como indica su nombre, son el número

de ciclos del controlador que se simularán antes de parar la simulación.

HERRAMIENTAS DE SIMULACIÓN

Entendemos por éstas a las funciones disponibles en la barra de herramientas de

simulación. Estas funciones nos ayudan a trabajar con la simulación de una forma

bastante cómoda:

Figura 5.46.- Barra de herramientas de simulación

- Run Simulation: inicia la simulación del proceso en el estado actual del

controlador.

- Pause Simulation: para la simulación en cualquier instante.

- Step Simulation: inicia la simulación pero de forma que se para cada vez que se

ejecuta un ciclo del controlador.

- Add Noise : se utiliza para añadir ruido a las variables CV. Para que tenga efecto

deben haberse configurado correctamente el parámetro correspondiente de cada

variable en el controlador (SIMCVSTDDEV). El ruido que se añade es un ruido

blanco, con una distribución Normal de media cero y desviación estándar dada

por el parámetro anterior.

- Init Predictions: podemos utilizar este botón para inicializar las predicciones del

controlador en cualquier momento.

Closed Loop (on/off)

Init Predictions

Step Simulaton

Run Simulation

Pause Simulation

Add Noise

Page 107: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 107 Víctor J. Cuadrado Alvarado

- Closed Loop (on/off): se utiliza para poner en marcha la acción del controlador.

Pulsar el botón para que empiece a ejercer su acción no indica que se ejecute el

controlador, puesto que puede ocurrir que no se den las condiciones para que el

controlador pueda arrancar (variables críticas fuera de rango, algún parámetro no

configurado...).

5.5.5.2.- Área de mensajes Volviendo la vista atrás hasta la figura 5.42 podemos observar que debajo de las tablas

de las variables aparece un área gris. Esta área es la denominada zona de mensajes. En

esta área Simulate nos insertará una serie de mensajes informativos cuando se realice la

simulación.

Figura 5.47.- Mensajería generada por Simulate al realizar una simulación

Los mensajes generados son de gran utilidad para detectar errores en la configuración

del controlador, como se ve en la figura anterior.

5.5.5.3.- Edición del controlador PARÁMETROS GENERALES

Se tratan de varios parámetros que tienen gran importancia en el funcionamiento del

controlador y que se pueden variar si accedemos a ellos mediante Controller> General.

Figura 5.48.- Parámetros generales que podemos cambiar

Page 108: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 108 Víctor J. Cuadrado Alvarado

EDICIÓN DEL MODELO DE LA PLANTA

Podemos editar el modelo de la planta de tal forma que elegiremos entre el modelo que

lleva incorporado el controlador o un modelo importado, aunque es recomendable

utilizar el modelo del controlador ya que si utilizamos otro modelo puede que se den

incompatibilidades entre el controlador y el nuevo modelo.

Para ello acceder al editor del modelo, Controller> Edit Plant Model.

EDICIÓN DEL MODELO DEL CONTROLADOR

El modelo del controlador puede ser modificado de forma independiente al modelo de la

planta cambiando los multiplicadores de ganancia del controlador. Si se habilitan en

Simulate los multiplicadores de ganancia, el controlador aplicará estos multiplicadores

de ganancia a los cálculos llevados a cabo por el controlador. El modelo de la planta

nunca aplicará los multiplicadores de ganancia a las predicciones y por lo tanto podrá

analizarse en el entorno de simulación los posibles desajustes del modelo.

Figura 5.49.-Controller’s Gain Multipliers

Para poder editar los multiplicadores de ganancia del controlador es necesario habilitar

esta característica en los parámetros generales (ver figura 5.49). Una vez habilitados,

bata con dirigirnos a Controller> Edit Controller Model.

Hay que tener en cuenta que los valores que podemos introducir deben estar dentro del

intervalo que se especifique en Build mediante las entradas de la sección Configure

GMULTL y GMULTU, por defecto 0.5 y 2.0, activando además el flag GMULTE.

Page 109: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 109 Víctor J. Cuadrado Alvarado

5.6.- DMCplus Manage Tras haber pasado por los módulos de identificación del proceso, configuración del

controlador y simulación del control del proceso llegamos finalmente al módulo

mediante el cual gestionamos los controladores existentes en el sistema y ejecutamos

los controladores que deseemos.

Para lanzar este módulo de DMCplus existen dos formas, o bien abrimos una sesión

MS-DOS y ejecutamos el comando dmcpmanage, o bien a través de Inicio>

Programas> AspenTech> Aspen Manufacturing Suite> DMCplus Online> Manage.

5.6.1.- Antes de empezar Para poder ejecutar un controlador mediante este programa es necesario disponer del

archivo del modelo del proceso a controlar, MDL, juntamente con el archivo de

configuración del controlador, CCF, ambos guardados en una carpeta determinada.

Se creará una carpeta o directorio nuevo para cada controlador que vayamos a utilizar.

Estas carpetas irán en colgadas del directorio raíz app/ de Aspen Tech. En nuestro caso

este directorio es el siguiente:

C:\Archivos de programa\AspenTech\AC Online\app\

Así se tendrán una serie de carpetas en dicho directorio, como en la figura 5.50.

Figura 5.50.- Carpetas de los controladores en el directorio app\

Page 110: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 110 Víctor J. Cuadrado Alvarado

5.6.2.- Menú Principal Una vez ejecutado el comando dmcpmanage nos aparecerá la pantalla principal tal y

como sale en la figura 5.51.

Figura 5.51.- Menú principal de la aplicación

A continuación detallamos la funcionalidad de cada una de las opciones que nos

aparecen:

1 > List controllers: muestra todos los controladores cargados en forma de lista, de los

cuales se da la siguiente información: nombre del controlador, momento en que se

cargó, hora de la última ejecución y tiempo transcurrido para la última ejecución.

Además al principio de cada controlador pueden aparecer otros dos símbolos: *,

indicando que el controlador marcado está en ejecución, y A, que indica que el

controlador está marcado para funcionar en autoarranque.

Figura 5.52.- Lista de controladores cargados en Manage

Page 111: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 111 Víctor J. Cuadrado Alvarado

2 > Load a controller: esta opción se utiliza para cargar un controlador para poder usarlo

normalmente. Al elegir esta opción el programa nos guía para realizar la carga del

controlador.

3 > Start a controller process: si el controlador que queremos ejecutar está cargado, esta

opción se usa para comenzar su ejecución.

Hay que tener claro que indicar a Manage que comience la ejecución del controlador

no implica que éste lo haga, sino que dependerá del parámetro ONREQ del archivo

CCF.

4 > Stop a controller process: como indica el nombre de esta opción, detendremos el

controlador que se desee.

5 > DMCplus Context Menu: esta opción nos muestra un nuevo menú con opciones

para la configuración de los controladores. Ver en un capítulo más adelante.

6 > Display the messages: para mostrar los mensajes generados por uno o por todos los

controladores.

Estos mensajes pueden ser configurados y controlados. Para ello es necesario

modificar el archivo que controla dicha configuración:

C:\Archivos de programa\AspenTech\AC Online\cfg\message.dat

Figura 5.53.- Mensajes de los controladores

7 > Exit: salimos de Manage. Presionar Intro sin haber elegido ninguna opción tiene el

mismo efecto.

Page 112: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 112 Víctor J. Cuadrado Alvarado

5.6.3.- Menú secundario Este segundo menú o Context Menu se utiliza para controlar la configuración de los

controladores que vamos a cargar.

Figura 5.54.- Context Menu

Algunas de las opciones de este menú son ya conocidas por lo que se detallarán solo

aquellas que sean nuevas:

2 > Create a new controller entry: se utiliza para incluir un nuevo controlador en la lista

de controladores. Aunque se trata de una opción no necesaria puesto que cuando se

carga un controlador este paso se realiza de forma automática, es bueno hacer este

paso para especificar el orden de los controladores.

4 > Unload a controller: al utilizar esta opción el controlador se mantendrá en la lista

aunque no podrá ejecutarse hasta que lo volvamos a cargar. Para eliminar

completamente el controlador de la lista debe usarse la opción 6.

5 > Save a controller context to CCF: mediante esta opción se guarda una fotografía de

los valores actuales del controlador en un archivo CCF para poder verlo desde Build

o Simulate.

6 > Delete a controller: elimina el controlador de la lista. Antes de ser eliminado el

controlador debe detenerse si está ejecutándose, además es recomendable guardarlo

mediante la opción 5 antes de borrarlo.

7 > Download the context values to the host DB: esta opción hace que se envíen los

valores del controlador a la base de datos del DCS (Distributed Control System). Es

recomendable realizar esta operación antes de resintonizar los parámetros con

Page 113: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 113 Víctor J. Cuadrado Alvarado

Simulate, pero no debe realizarse cuando el controlador esté en ejecución.

Los parámetros que se envían son los que estén configurados en:

C:\Archivos de programa\AspenTech\AC Online\cfg\download.dat

8 > Set the autostart flag for a controller: esta opción permite marcar un controlador

para que se inicie de forma automática. Sin embargo, igual que en el caso de la

ejecución manual, el proceso de control empieza en el momento que lo permita

ONREQ.

Page 114: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 114 Víctor J. Cuadrado Alvarado

5.7.- CIM-IO Aunque la configuración de la parte Cim-IO se detalló en el capítulo dedicado a la

instalaxión de las herramientas necesarias para trabajar, tenemos a nestra disposición

una seriede herramientas para trabajar con nuestra interface Cim-IO para archivos OPC

cuya utilización se describe en este apartado.

5.7.1.- Inicio de la interface Para comunicar DMCplus es necesaio tener activada la interfaz Cim-IO, de lo contrario

los módulos online de DMCplus que utilicemos (en nuestro caso Collect y Manage) no

podrán aceder a los datos del proceso.

El arranqeu de la interfaz es un proceso muy simple que puede reaizarse de dos formas:

A. Utilizando la utilidad StartAndStop, situada en Inicio> Programas> Aspen Tech>

Aspen Manufacturing Suite> CIM-IO> Servers> CIM-IO for OPC> CIM-IO for

OPC StartStop. En la ventana que nos aparezca deberemos especificar el servidor

OPC al que queremos tener acceso.

Este método tiene el inconveniente de que ha de estar ejecutándose previamente el

Manager del Cim-IO, aunque no es nada importante.

B. Accediendo a los servicios del sistema operativo, Inicio> Configuración> Panel de

Control> Servicios. Nos encontraremos entonces con una serie de servicios en

ejecución o no entre los que se encontrará “Cim-IO for OPC interface”. Lo

seleccionamos y lo arrancamos de forma manual.

Figura 5.55.- Inicio de la interfaz mediante Servicios de Windows NT

Page 115: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 115 Víctor J. Cuadrado Alvarado

OBSERVACIONES IMPORTANTES

1. La interfaz deberá arrancarse antes de utilizar alguno de los productos online que

necesiten datos OPC.

2. Previamente al arranque de la interfaz el servidor de licencias ALM ha de estar en

ejecución.

3. El servidor OPC, en nuestro caso Cube cuyo nombre del servidor es OPC.Cube.1,

deberá estar listo antes también de que se lance la interfaz, pues de lo contrario no

reconocerá al servidor y habrá que reiniciar el arranque de la interfaz.

Para poner en marcha el servidor OPC de Cube basta con iniciar una sesión de Cube

con la planta que vayamos a utilizar.

5.7.2.- Utilidades de la interfaz CIM-IO

5.7.2.1.- Display Tags Utility Esta utilidad es nos permite comprobar todos los servidores OPC existentes en el equipo

y las etiquetas de las variables de cada uno de ellos.

Accedemos a través de Inicio> Programas> Aspen Tech> Aspen Manufacturing Suite>

CIM-IO> Servers> CIM-IO for OPC> CIM-IO for OPC DisplayTags.

Figura 5.56.- Servidores OPC disponibles en el equipo

Page 116: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 116 Víctor J. Cuadrado Alvarado

5.7.2.2.- Test API Se trata de una utilidad que nos permite comunicarnos de forma interactiva con el

servidor OPC, muy útil para comprobar el funcionamiento de la comunicación entre el

servidor OPC, en nuestro caso Cube, y el cliente, que es la interfaz Cim-IO.

Para ejecutar esta herramienta hemos de ir a Inicio> Programas> Aspen Tech> Aspen

Manufacturing Suite> CIM-IO> Servers> Test API.

Se nos mostrará entonces una sesión MS-DOS en la cual aparecen una serie de opciones

para comprobar la conexión cliente-servidor OPC.

Figura 5.57.- Sesión MS-DOS de Test API con sus opciones

Las opciones del test de conexión nos permiten llevar a cabo funciones simples como

GET y PUT para verificar el funcionamiento del Cim-IO. Al seleccionar alguna de ellas

deberá proporcionarse cierta información como:

• List ID: grupo de una o más etietas o tag names. Han de ser números positivos a

no ser que sea la primera vez que se usa el grupo o las etiquetas han cambiado,

por lo que será un número negativo.

• Access Type: síncrono o asíncrono, aunque el acceso asíncrono puede que no

sea soportado por todos los servidores.

• Tagname Entry Options: se permite la introducción de información sobre las

etiquetas a través de archivos, aunque no se suele utilizar.

• Output Type: debemos decidir el tipo de dato de salida. Suelen ser datos reales

enteros, aunque ha de consultarse la documentación del producto que vayamos a

usar.

Page 117: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 117 Víctor J. Cuadrado Alvarado

OPCIONES DEL TEST

1- Test CIM-IO time functions: comprueba las funciones de conversión de tiempo.

2- Test Adding a Logical Device: añade un dispositivo lógico en el archivo

cimio_logical_devices.def como se hacía en la configuración general.

3- Test Deleting a Logical Device: realiza la acción contraria al anterior.

4- Test Logging an Error Block: busca en el archivo cimio_msg.log información acerca

de los errores en las peticiones I/O.

5- Test Logging a Message: comprueba la mensajería en el archivo cimio_msg.log.

6- Test Retirving an Error Message: permite mostrar un mensaje de error en pantalla.

7- Test Retrieving a Status Message: nos muestra información acerca de un error.

8- Test Shutting Down a Device: utilizado para cerrar un dispositivo.

9- Test Cim-IO GET: para leer u obtener un dato del servidor.

a- Test Cim-IO PUT: contrario al anterior.

b- Test Cim-IO DECLARE: especifica etiquetas cuyos valores serán obtenidos de

forma asíncrona.

c- Test Cim-IO CANCEL: notifica al servidor la finalización del procesado de una

lista de etiquetas declarado anteriormente.

d- Test Cim-IO GET Historical Data

e- Test Cim-IO Stop GET

f- Test Disconnecting from a Device

g- Test Performance: permite realizar varios GET o PUT y mostrar los valores por

pantalla, proporcionando además al final del test una pequeña estadística de los

datos tratado.

h- Enable Scanner: se usa con el Cim-IO Store & Forward.

i- Disable Scanner: ídem al anterior.

x- Exit

Page 118: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 118 Víctor J. Cuadrado Alvarado

6.- APLICACIÓN SOBRE PLANTA DE LABORATORIO En este capítulo crearemos un controlador para aplicarlo sobre una planta del

Laboratorio de Automática, en concreto la planta piloto. Realizaremos una serie de

ensayos para comprobar el funcionamiento de los controladores que se crean usando

DMCplus.

6.1.- Planta piloto Se trata de una planta experimental del Laboratorio de Automática utilizada para que los

alumnos tomen contacto con equipos reales así como para la experimentación de nuevas

técnicas de control antes de ser implementadas en procesos más complejos.

Esa planta, que podemos ver en las figuras 6.1 y 6.2, por su concepción como ayuda a la

Figura 6.1.- Planta piloto

Figura 6.2.- Planta piloto

docencia y la investigación es bastante simple, constando de :

- Un depósito de agua, que dispone a su vez de una resistencia para calentar el

agua.

- Un circuito de agua fría, mantenida a una temperatura de 18 ºC mediante un

refrigerador.

- Un circuito de agua caliente, mantenida constante por medio de un termo

acumulador.

- Un circuito de recirculación del agua del depósito.

- Un intercambiador de calor que enfría el agua de la recirculación.

Page 119: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 119 Víctor J. Cuadrado Alvarado

De forma esquemática la planta es la mostrada en la figura siguiente.

Figura 6.3.- Esquema de la planta

En la figura anterior, aparte de distinguirse claramente los tres circuitos del agua, están

señaladas las variables de las que se dispone para trabajar con la planta. Éstas son:

Variables no manipulables:

• FT1 Caudal de la tubería de agua caliente

• FT2 Caudal de la tubería de agua fría

• FT3 Caudal de la tubería de agua de recirculación

• TT1 Temperatura del agua caliente

• TT2 Temperatura del agua fría

• TT3 Temperatura del agua de salida

• TT4 Temperatura del agua de recirculación

• TT5 Temperatura del agua en el depósito

Depósito

Acumulador de agua

Calentador

Enfriador

TT1

FT1

FT2

TT2FT4

TT3

FT3

TT4 TT5LT1

V4

V5

V8CAL

ONRES

Page 120: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 120 Víctor J. Cuadrado Alvarado

• LT1 Nivel de agua en el depósito

Variables manipulables:

• V4 Válvula de tubería del agua caliente

• V5 Válvula de tubería del agua fría

• V8 Válvula de tubería del agua de recirculación

• CAL Encendido del calentador

• ON Encendido de la resistencia del depósito

• RES Porcentaje de resistencia utilizado

6.2.- Sistema a controlar El sistema que se seleccionó para aplicar un controlador DMCplus fue el de la

recirculación, es decir, un sistema multivariable simple de dos variables manipulables,

la apertura de la válvula de recirculación V8 y la cantidad de resistencia del depósito

RES, y dos variables a controlar, la temperatura de recirculación TT4 y la temperatura

del agua del depósito TT5. Este sistema es el representado en la figura 6.4.

Figura 6.4.- Sistema a controlar

Depósito

Acumulador de agua

Enfriador

TT2FT4

TT4 TT5LT1

V8

RES

Page 121: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 121 Víctor J. Cuadrado Alvarado

Para trabajar con este sistema han de tomarse las siguientes medidas:

- La temperatura del agua fría, TT2, que se usa para enfriar el agua de

recirculación. Mediante el equipo de refrigeración del agua mantenemos TT2 en

un rango entre 17 y 19 ºC.

- El nivel del depósito. Para conseguir un nivel estable en el depósito basta con

cerrar la válvula manual que posee y que cierra la salida de agua del depósito

por la parte inferior del mismo. Así se mantiene el nivel constante en un valor

marcado por el rebosadero del mismo, que son unos 95 cm.

- La señal ON de la resistencia estará en todo momento encendida, permitiendo

que el controlador sólo tenga que variar el valor de la resistencia RES.

- Las válvulas V4 y V5 se mantendrán en todo momento cerradas.

6.3.- Implementación del control En este apartado se procederá a implementar el controlador que mantenga controlado el

sistema descrito anteriormente siguiendo los pasos indicados en capítulos anteriores de

la presente memoria.

6.3.1.- Punto de operación Lo primero que debe hacerse es buscar un punto de operación estable del sistema para

identificarlo y trabajar alrededor de dicho punto. Este punto de operación se estableció

de forma que las variables a controlar no tomaran valores demasiado peligrosos desde el

punto de vista de operación, como por ejemplo temperaturas altas (∼ 50 ºC) en el

depósito.

El punto de operación tomado fue el siguiente:

- V8 al 50%

- RES al 5%

Lo cual hace que las variables a controlar tomen los valores:

- TT4 alrededor de 20 ºC

- TT5 entorno a los 23 ºC

6.3.2.- Toma de datos Se ensayó la planta para su posterior identificación aplicando un tren de escalones a las

variables independientes o manipulables. Este tren de escalones es el de la figura 6.5.

Page 122: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 122 Víctor J. Cuadrado Alvarado

0

50

100

150

200

250

300

16:3

9:22

16:5

6:10

17:1

2:58

17:2

9:46

17:4

6:34

18:0

3:22

18:2

0:10

18:3

6:58

18:5

3:46

19:1

0:34

19:2

7:22

19:4

4:10

20:0

0:58

%

RESISTENCIAV8

Figura 6.5.- Tren de escalones para el ensayo del sistema

0

5

10

15

20

25

30

16:3

9:22

16:5

2:46

17:0

6:10

17:1

9:34

17:3

2:58

17:4

6:22

17:5

9:46

18:1

3:10

18:2

6:34

18:3

9:58

18:5

3:22

19:0

6:46

19:2

0:10

19:3

3:34

19:4

6:58

20:0

0:22

ºC

TT4TT5

Figura 6.6.- Respuesta de temperaturas en el ensayo

El rango de valores utilizado es el siguiente:

- V8 entre 0 y 100%

- RES entre 0 y 20%

ARCHIVO DE CONFIGURACION PARA LA EXTRACCIÓN DE DATOS

Como ya sabemos, ha de crearse un archivo en el que se especifiquen los datos que se

van a tomar de la planta. En nuestro caso se configuró de forma que se tomaran datos de

todas las variables disponible de la planta completa, aunque en realidad no todos fueran

necesarios.

Page 123: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 123 Víctor J. Cuadrado Alvarado

A continuación se muestra el archivo de configuración utilizado, en el cual se puede

observar: el dispositivo de comunicación Cim-IO, CIOOPCCUBE1; la lista de datos,

tomada de forma general a –1; el tiempo de muestreo utilizado, 2 segundos; el número

de muestreos totales, 5400 que dan para 3 horas de recolección, y el nombre de las

variables que vamos a recoger.

Figura 6.7.- Archivo de configuración para Collect

6.3.3.- Modelado del sistema Una vez extraídos los datos de la planta mediante Collect/Extract tenemos que

identificar el sistema a controlar.

!Version del programa que estamos usando VERSIONNUM=6.0 !Descripcion IDLINE=Recoleccion de datos de la planta piloto v.1 !Informacion sobre la conexion al proceso CIMIOINFO=CIOOPCCUBE1,1,UT !Lista de datos CIMIOLIST=-1,-1,-1 !Tiempo de muestreo que vamos a usar SAMPLEPER=2s !Numero de muestras que tomaremos. Con 5400=3h MAXSAMP=5400 !Offset para el comienso de la recoleccion de datos desde el comienzo de un minuto OFFSET=0 !Cuando se hagan todos los muestreos se para la recoleccion EOFCHOICE=0 !NOMSGS=0 muestra mensajes en cada muestreo de las variables !WATCHDOGTAG="CIOOPCCUBE1":1:"PLANTA\PERRO":REAL:UT escribe en este tag cuando ha habido alguna parada !NUMSAMTAG="CIOOPCCUBE1":1:"PLANTA\NUMEROTAG":REAL:UT escribe en este tag el numero de muestreos !STATUSTAG="CIOOPCCUBE1":1:"PLANTA\STATUSTAG":REAL:UT escribe en este tag si fue bien la cosa =============== ""::"PLANTA\TT1":REAL: ""::"PLANTA\FT1":REAL: ""::"PLANTA\V4":REAL: ""::"PLANTA\TT2":REAL: ""::"PLANTA\FT2":REAL: ""::"PLANTA\V5":REAL: ""::"PLANTA\TT4":REAL: ""::"PLANTA\FT4":REAL: ""::"PLANTA\V8":REAL: ""::"PLANTA\TT5":REAL: ""::"PLANTA\LT1":REAL: !Tag de encendido de la resistencia del depósito ""::"PLANTA\RESIST_DIG":REAL: !Tag del porcentaje de resistencia utilizado ""::"PLANTA\RESISTENCIA":REAL: !Tag de activación de alguna de las alarmas programadas !""::"PLANTA\ALARMA_R":REAL:

Page 124: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 124 Víctor J. Cuadrado Alvarado

Como ya se comentó en su momento ésta es una tarea bastante crítica en la

implementación del controlador, ya que el modelo que obtengamos se utiliza para

realizar las predicciones de las señales, las cuales luego utiliza el controlador. Es por

ello por lo que debe emplearse todo el tiempo necesario en esta tarea hasta conseguir un

modelo que se aproxime con la máxima fidelidad al sistema real.

Figura 6.8.- Datos extraídos del ensayo del sistema

En la figura anterior podemos ver gráficamente los datos tomados durante el ensayo de

la planta. Hay que hacer notar que los datos pueden llevar a veces algún error, como se

ve en la figura 6.8 donde los valores de la válvula (en verde) llegan a tomar valores de

más de 100% en un par de muestras. Por ello se deben analizar estos datos y adoptar las

medidas necesarias para eliminar los errores.

Pasamos luego a tratar de identificar el sistema probando con diferentes casos de

identificación. Es recomendable realizar varios casos de identificación con el objetivo

de obtener la mejor identificación posible, probando con distintos tiempos de

establecimiento, número de coeficientes y algoritmos de identificación.

Además es interesante tener algún conocimiento previo del sistema que se va a

identificar, ya que nos permitirá reducir el rango de posibilidades en la identificación

Page 125: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 125 Víctor J. Cuadrado Alvarado

del sistema, con el consiguiente ahorro de tiempo. Sin embargo no es imprescindible el

conocimiento previo del sistema.

Figura 6.9.- Múltiples casos de identificación para obtener el mejor

Figura 6.10.- Casos de identificación de forma gráfica

Page 126: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 126 Víctor J. Cuadrado Alvarado

Finalmente creamos un modelo final del sistema que nos aproxima el sistema a

controlar de forma aceptable. Nuestro modelo queda como se muestra a continuación.

Figura 6.11.- Modelo final del sistema (V8,RESISTENCIA)-(TT4,TT5)

El modelo anterior se obtuvo tras añadir curvas provenientes de varios casos de

identificación distintos así como de una serie de modificaciones realizadas sobre las

mismas curvas de respuesta. Para la realización de estas modificaciones nos apoyamos

en las predicciones generadas por el modelo, en las cuales podemos ver el ajuste de los

valores predichos por el modelo y los datos reales tomados de la planta.

En este modelo se tiene que el tiempo de establecimiento o de Steady State es de 6

minutos, dando un margen suficiente para que la temperatura del depósito pueda

estabilizarse de forma adecuada. Además las ganancias en el Steady State:

0.0037-0.01000.07440088.0

V8RES

TT5 TT4

siendo estos valores las ganancias en régimen permanente. Aunque los valores parezcan

extraños debe recordarse que se han usado como valores típicos de cambio de las

variables el 5% y el 50% para RES y V8 respectivamente y 1 ºC para las dos

temperaturas.

Page 127: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 127 Víctor J. Cuadrado Alvarado

También puede parecer extraña la forma que adquieren algunas curvas de respuesta,

aunque ha de tenerse en cuenta que estamos trabajando en un entorno real, en el cual no

suelen obtenerse resultados demasiado parecidos a los estudiados teóricamente. Sin

embargo basta comprobar la predicción generada por el modelo que se ha utilizado para

ver que es un modelo aceptable del sistema.

Nuestro modelo final genera las predicciones mostradas en la figura 6.12, en las cuales

se aprecia que la dinámica del sistema real queda bastante bien reflejada.

Figura 6.12.- Predicciones y datos reales para TT4

El otro aspecto que nos interesa del modelo, aparte de su dinámica es su ganancia.

Volviendo a la predicción del modelo se observa que las ganancias referentes a TT4

(real en rojo, predicción en azul, error en rosa) están bien ajustadas ya que los picos

observados en los datos y en la predicción son bastante parecidos en forma y tamaño.

Sin embargo para la temperatura del depósito TT5 (real en rojo, predicción en azul,

error en azul) los valores de las ganancias no son los adecuados, ya que si observamos

el gráfico como en el caso anterior vemos que aunque la dinámica se aproxima bien no

es ése el caso de los valores que se alcanzan.

Con todo, como se verá más adelante, utilizando el modelo mostrado anteriormente, el

sistema puede ser controlado de manera muy aceptable.

Page 128: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 128 Víctor J. Cuadrado Alvarado

Figura 6.13.- Predicciones y datos reales para TT5

6.3.4.- Configuración del controlador Obtenido el modelo del sistema que vamos a controlar hemos de configurar el control

que queremos ejercer. Para ello daremos los valores que deseemos a las entradas de

Build correspondientes.

En nuestro caso se optó por:

Solución del punto de operación: solución lineal (Linear Program, LP).

Ranking de restricciones: un único grupo con las limitaciones de las dos variables

controlables.

Costes de las variables manipulables: para la válvula V8 se tomó un valor de 10,

mientras que a la resistencia, debido a que es un elemento mucho más delicado que

la válvula, se le asignó un coste variable con su uso, siendo

ARESISTENCI10CST ⋅=

Límites de operación de las variables manipulables: se tomaron fijos en unos valores

que aseguraran una operación de la planta de forma segura. Dichos valores fueron V8 RESISTENCIA

Límite inferior 0 0

Límite superior 100 20

Page 129: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 129 Víctor J. Cuadrado Alvarado

Límites para las variables a controlar: estos son los límites que definen el rango en

el que debe encontrarse el punto de operación de las variables. Se definieron de

forma que fueran leídos desde Cube, dejando así la posibilidad de modificarse de

forma interactiva.

A continuación pueden verse de forma detallada todas las entradas definidas en nuestro

controlador gracias al resumen generados por Build.

ENTRADAS DEL CONTROLADOR CCF Summary for DMCplus Controller CONTROLFINAL

Report generated by DMCplus Build on 17-may-05 16:25:09 File Names CCF: controlfinal.ccf Model: ModeloFinal.mdl Template: default.tcc Controller Size 2 Independents (2 MVs, 0 FFs) 2 Dependents (0 Ramps, 0 Intermittent Signals) Selected Options User defined Entries exist Connect Protocol: CIMIO Default device: CIOOPCCUBE1 Default unit: 1 Independent Variable Summary Name Type VIND Source & Tagname RES MV REAL PLANTA\RESISTENCIA_VIND V8 MV REAL PLANTA\V8_VIND Dependent Variable Summary Name Type DEP Source & Tagname TT4 Normal REAL PLANTA\TT4 TT5 Normal REAL PLANTA\TT5 Config Section Name Description Type Keyword Value Entity BLDTEMP Template File Name BLD BUILD DEFAULT.TCC BLDVERS Build Version Used on La BLD BUILD 6.0 CLPENB Enable Composite Particip CFG CONS 0 CLPSHOW Include Composite Informat BLD CONS 0 CNCDEV Default Cim-IO Logical De CNC CONS CIOOPCCUBE1 CNCFMT Default Format Code for CNC CONS UT CNCHOST Connect Protocol in Use CNC CONS CIMIO CNCUNIT Default Cim-IO Unit Numb CNC CONS 1 CTLINT Application Interval in Se INIT CONS 12 DEFSOLT Default Rank Group Soluti CFG BUILD 0 ETENB Enable External Targets CFG CONS 0 ETSHOW Include External Target Info BLD CONS 0 FPENB Output Moves and Predict CFG CONS 0 INTSUM Use Internal Summation o CFG CONS 0

Page 130: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 130 Víctor J. Cuadrado Alvarado

IPMIND Number of MVs INIT CONS 2 IPNCI Number of Intervals to Ste CFG CONS 30 IPNDEP Number of Dependents INIT CONS 2 IPNEQ Number of Equations INIT CONS 15 IPNMOV Number of Future Moves INIT CONS 8 IPNSUB Number of Subcontroller CFG CONS 0 IPSKIP Number of Predictions per CFG CONS 1 IPTIND Number of Independents INIT CONS 2 IPXCTH Number of Intervals in Tim CFG CONS 43 IPXNCI Number of Coefficients in CFG CONS 30 LISTSZ List Size Maximum for Co CNC CONS 99 MDLNAM Model Filename INIT CONS ModeloFinal.mdl NORMOV Normalized Moves in Us CFG CONS 1 OMSGBY Optional Message Bytes MSG CONS 0 OMSGLN Optional Message Total L MSG CONS 0 OMSGSG Optional Message Segment MSG CONS 0 SSMINS Minutes to Steady State INIT CONS 6 UBYTES Total User Defined Entry B BLD BUILD 8 XTDMOV Extended Moves in Use CFG CONS 0 XTDREQ Extended Moves Reques CFG CONS 1 General Section Name Description Type Keyword Value Entity CNTDWN Watchdog Countdown GEN LOCAL 0. CTOFF Cycle Start Offset in Sec GEN CONS 0 DMCFLG Most Recent Error GEN LOCAL 0 DSTSWC Daylight-Saving Time Swi GEN LOCAL 0 IABORT Abort Indicator GEN LOCAL 0 LICSTS Minutes Until App License E GEN LOCAL 14400 LPOBJ Steady-State Objective Fu GEN LOCAL 0. LSTDAY Last Run (Days) GEN LOCAL 0 LSTSEC Last Run (Seconds) GEN LOCAL 0 LSTTIM THISTM in Floating Point F GEN LOCAL 0. MVOSWC MV Optimization Type GEN LOCAL 0 NGDDEP Minimum Good CVs GEN LOCAL 2 NGDMAN Minimum Good MVs GEN LOCAL 1 ONREQ Master ON/OFF Request GEN LOCAL 0 ONSTS Resulting State of ONRE GEN LOCAL 0 PRDIND Predictions Initialized Indic GEN LOCAL 0 PRDOUT Prediction Output Switch GEN LOCAL 2 PRDSWC Initialize Predictions Requ GEN LOCAL 0 PRMODE Diagnostic Print Mode GEN LOCAL 1 PRTSWC Diagnostic Print Switch GEN LOCAL 0 SIMSWC Simulation File Output Sw GEN LOCAL 1 THISTM Time of Last Run GEN LOCAL WHYOFF Whyoff Message GEN LOCAL Independent Variable: RES ( #001 ) Name Description Type Keyword Value Entity AWSCOD Anti-Windup Indicator MV LOCAL 0 BARIL Plot Lower Limit (Manual S VIEW LOCAL 0. BARISC Plot Default Scaling Meth IND LOCAL 1 BARIU Plot Upper Limit (Manual Sc VIEW LOCAL 0. CMOV Current Move MV LOCAL 0. CRIIND Critical Indicator IND LOCAL 1 CST Steady-State Cost MV CONS 0. DESCIND Description IND LOCAL Resistencia del depó ENGIND Engineering Units IND CONS % INDSTA Status Indicator IND LOCAL 0 LLINDM Lower Operator Limit MV LOCAL 0. LMVENG Lower Engineer Limit MV LOCAL 0. LOOPST Loop Status MV LOCAL 1 LPCRIT Steady-State Criterion MV LOCAL 0 LVLIND Lower Validity Limit IND LOCAL 0. MANACT Active Constraint Indicat MV LOCAL 0 MAXMOV Maximum Move MV LOCAL 20. MDLIND Model Tag IND CONS RES

Page 131: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 131 Víctor J. Cuadrado Alvarado

MOVACC Accumulated Moves MV LOCAL 0. MOVRES Move Resolution MV LOCAL 0. MTGIND Message Tag IND CONS RES SREIND Engineer Service Indicato IND LOCAL 1 SRVIND Operator Service Indicat IND LOCAL 1 SSMAN Steady-State Target MV WRITE 0. ""::"PLANTA\RESISTENCIA_SST":REAL: SSSTEP Maximum Steady-State MV LOCAL 20. SUPMOV Move Suppression MV LOCAL 1. TYPMOV Typical Move IND LOCAL 5. ULINDM Upper Operator Limit MV LOCAL 20. UMVENG Upper Engineer Limit MV LOCAL 25. UVLIND Upper Validity Limit IND LOCAL 100. VIND Current Input Value PV READ 0. ""::"PLANTA\RESISTENCIA_VIND":REAL: VINDSP Setpoint Output Value PV PWRITE 0. ""::"PLANTA\RESISTENCIA_SP":REAL: Independent Variable: V8 ( #002 ) Name Description Type Keyword Value Entity AWSCOD Anti-Windup Indicator MV LOCAL 0 BARIL Plot Lower Limit (Manual S VIEW LOCAL 0. BARISC Plot Default Scaling Meth IND LOCAL 1 BARIU Plot Upper Limit (Manual Sc VIEW LOCAL 0. CMOV Current Move MV LOCAL 0. CRIIND Critical Indicator IND LOCAL 1 CST Steady-State Cost MV LOCAL 10. DESCIND Description IND LOCAL Válvula de recircula ENGIND Engineering Units IND CONS % INDSTA Status Indicator IND LOCAL 0 LLINDM Lower Operator Limit MV LOCAL 0. LMVENG Lower Engineer Limit MV LOCAL 0. LOOPST Loop Status MV LOCAL 1 LPCRIT Steady-State Criterion MV LOCAL 0 LVLIND Lower Validity Limit IND LOCAL 0. MANACT Active Constraint Indicat MV LOCAL 0 MAXMOV Maximum Move MV LOCAL 100. MDLIND Model Tag IND CONS V8 MOVACC Accumulated Moves MV LOCAL 0. MOVRES Move Resolution MV LOCAL 0. MTGIND Message Tag IND CONS V8 SREIND Engineer Service Indicato IND LOCAL 1 SRVIND Operator Service Indicat IND LOCAL 1 SSMAN Steady-State Target MV WRITE 0. ""::"PLANTA\V8_SST":REAL: SSSTEP Maximum Steady-State MV LOCAL 100. SUPMOV Move Suppression MV LOCAL 1. TYPMOV Typical Move IND LOCAL 25. ULINDM Upper Operator Limit MV LOCAL 100. UMVENG Upper Engineer Limit MV LOCAL 100. UVLIND Upper Validity Limit IND LOCAL 100. VIND Current Input Value PV READ 0. ""::"PLANTA\V8_VIND":REAL: VINDSP Setpoint Output Value PV PWRITE 0. ""::"PLANTA\V8_SP":REAL: Dependent Variable: TT4 ( #001 ) Name Description Type Keyword Value Entity ACPRER Accumulated Prediction E DEP LOCAL 0. BARDL Plot Lower Limit (Manual S VIEW LOCAL 0. BARDSC Plot Default Scaling Meth DEP LOCAL 1 BARDU Plot Upper Limit (Manual Sc VIEW LOCAL 0. CRIDEP Critical Indicator DEP LOCAL 1 CVLPQL CV Lower Limit Solution DEP LOCAL 0 CVLPQU CV Upper Limit Solution DEP LOCAL 0 CVRANKL CV Rank - Lower Limit DEP LOCAL 10 CVRANKU CV Rank - Upper Limit DEP LOCAL 10 DEP Dependent Value PV READ 0. ""::"PLANTA\TT4":REAL: DEPACT Active Constraint Indicat DEP LOCAL 0

Page 132: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 132 Víctor J. Cuadrado Alvarado

DEPSTA Status Indicator DEP LOCAL 0 DESCDEP Description DEP LOCAL Temperatura de recir ECECML Move Calc Lower Equal Co DEP LOCAL 1 ECECMM Move Calc Middle Equal Co DEP LOCAL 1 ECECMU Move Calc Upper Equal Co DEP LOCAL 1 ECELPL Steady-State Lower Equal DEP LOCAL 1 ECELPU Steady-State Upper Equal DEP LOCAL 1 ENGDEP Engineering Units DEP CONS ºC LDEPTG Lower Limit DEP LOCAL 17. LDPENG Lower Engineer Limit DEP LOCAL 0. LVLDEP Lower Validity Limit DEP LOCAL 0. MDLDEP Model Tag DEP CONS TT4 MTGDEP Message Tag DEP CONS TT4 PREDER Prediction Error DEP LOCAL 0. PREDINIT Initialize Predictions Requ DEP LOCAL 0 PRERHORIZ Pred. Error Filter Time Horiz DEP LOCAL 0. PRERTAU Pred. Error Filter Time Const DEP LOCAL 0. PRERTYPE Prediction Error Filter Ty DEP LOCAL 0 SHPDEP Shadow Price DEP LOCAL 1000. SREDEP Engineer Service Indicato DEP LOCAL 1 SRVDEP Operator Service Indicat DEP LOCAL 1 SSDEP Steady-State Target DEP WRITE 0. ""::"PLANTA\TT4_SP":REAL: SSERR Steady-State Error DEP LOCAL 0. TRANZL Move Calc Lower Transit DEP LOCAL 0. TRANZU Move Calc Upper Transiti DEP LOCAL 0. TRKDEP Tracking Indicator DEP LOCAL 0 UDEPTG Upper Limit DEP LOCAL 30. UDPENG Upper Engineer Limit DEP LOCAL 50. UVLDEP Upper Validity Limit DEP LOCAL 50. Dependent Variable: TT5 ( #002 ) Name Description Type Keyword Value Entity ACPRER Accumulated Prediction E DEP LOCAL 0. BARDL Plot Lower Limit (Manual S VIEW LOCAL 0. BARDSC Plot Default Scaling Meth DEP LOCAL 1 BARDU Plot Upper Limit (Manual Sc VIEW LOCAL 0. CRIDEP Critical Indicator DEP LOCAL 1 CVLPQL CV Lower Limit Solution DEP LOCAL 0 CVLPQU CV Upper Limit Solution DEP LOCAL 0 CVRANKL CV Rank - Lower Limit DEP LOCAL 10 CVRANKU CV Rank - Upper Limit DEP LOCAL 10 DEP Dependent Value PV READ 0. ""::"PLANTA\TT5":REAL: DEPACT Active Constraint Indicat DEP LOCAL 0 DEPSTA Status Indicator DEP LOCAL 0 DESCDEP Description DEP LOCAL Temperatura del depó ECECML Move Calc Lower Equal Co DEP LOCAL 1 ECECMM Move Calc Middle Equal Co DEP LOCAL 1 ECECMU Move Calc Upper Equal Co DEP LOCAL 1 ECELPL Steady-State Lower Equal DEP LOCAL 1 ECELPU Steady-State Upper Equal DEP LOCAL 1 ENGDEP Engineering Units DEP CONS ºC LDEPTG Lower Limit DEP LOCAL 20. LDPENG Lower Engineer Limit DEP LOCAL 18. LVLDEP Lower Validity Limit DEP LOCAL 18. MDLDEP Model Tag DEP CONS TT5 MTGDEP Message Tag DEP CONS TT5 PREDER Prediction Error DEP LOCAL 0. PREDINIT Initialize Predictions Requ DEP LOCAL 0 PRERHORIZ Pred. Error Filter Time Horiz DEP LOCAL 0. PRERTAU Pred. Error Filter Time Const DEP LOCAL 0. PRERTYPE Prediction Error Filter Ty DEP LOCAL 0 SHPDEP Shadow Price DEP LOCAL 1000. SREDEP Engineer Service Indicato DEP LOCAL 1 SRVDEP Operator Service Indicat DEP LOCAL 1 SSDEP Steady-State Target DEP WRITE 0. ""::"PLANTA\TT5_SP":REAL: SSERR Steady-State Error DEP LOCAL 0. TRANZL Move Calc Lower Transit DEP LOCAL 0. TRANZU Move Calc Upper Transiti DEP LOCAL 0. TRKDEP Tracking Indicator DEP LOCAL 0

Page 133: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 133 Víctor J. Cuadrado Alvarado

UDEPTG Upper Limit DEP LOCAL 50. UDPENG Upper Engineer Limit DEP LOCAL 60. UVLDEP Upper Validity Limit DEP LOCAL 60. Calc Declarations Name Description Type Keyword Value Entity ABSRES User Defined Entry USER AWRITE 0. ""::"PLANTA\RESISTENCIA":REAL: ABSV8 User Defined Entry USER AWRITE 0. ""::"PLANTA\V8":DBVL: Calc Functions CALPUT: ABSRES = {IND:RES|CMOV}+ {IND:RES|VIND} CALPUT: ABSV8 = {IND:V8|CMOV}+ {IND:V8|VIND} CALGET: {IND:RES|CST} = 10* {IND:RES|VIND}

6.3.5.- Simulación del controlador Este es el paso previo que debe darse antes de ejecutarse el controlador sobre la planta

con el fin de asegurarnos de que su funcionamiento va a ser el adecuado y modificar si

es necesario aquellos parámetros del controlador que necesiten un ajuste.

Figura 6.14.- Simulación del controlador

En esta simulación pudimos comprobar un correcto funcionamiento del controlador,

pese a las limitaciones el modelo ya comentadas y que sabíamos que se arrastraban

desde entonces.

Como ejemplo de la simulación realizada se muestra en la página siguiente el resumen

generado por Simulate de la simulación de la figura 6.14.

Page 134: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 134 Víctor J. Cuadrado Alvarado

Current Time: 17-May-2005 16:37:44 VERSION: 6.0.0 PROGRAM: controlfinal SOURCE: DIAGNOSTIC Time for Calculations (MM-DD-YYYY HH:MM:SS): 17-May-2005 16:34:19 CONTROLLER DATA =============== CONTROLLER ON/OFF STATE - ON CONTROLLER ON/OFF REQUEST (IN) - ON CONTROLLER ON/OFF REQUEST - ON CONTROL LICENSE STATUS - 0 CONTROLLER SHUTDOWN (1=SHUTDOWN)- 0 MINIMUM GOOD SUBCONTROLLERS - 0 ABORT INDICATOR (0=GOOD) - 0 GENERAL ERROR FLAG - 0 PREDICTION INIT. SWITCH - 0 PREDICTION INIT. INDICATOR - 0 PRINT FILE SWITCH - 1 NUMBER OF MISSED CYCLES - 0 MINIMUM NUMBER OF MANIPULATED - 1 MINIMUM NUMBER OF CONTROLLED - 2 CONTROLLER INTERVAL (SECONDS) - 12 COUNTDOWN RESET VALUE - 30.00000 MV OPTIMIZATION TYPE - LP LP OBJECTIVE FUNCTION VALUE - -32.47025 MANIPULATED VARIABLES 1- 2 =========================== RES V8 % % ------------ ------------ SRV SWITCH 1 1 ENG SWITCH 1 1 CRIT IND 1 1 DMC STAT GOOD 0 GOOD 0 VALID HI 100.0000 100.0000 ENGR HIGH 25.0000 100.0000 OPER HI IN 20.0000 100.0000 OPER HIGH 20.0000 100.0000 VIND IN 0.1801 3.2146 VIND OUT 0.1691 3.0885 OPER LOW 0.0000 0.0000 OPER LO IN 0.0000 0.0000 ENGR LOW 0.0000 0.0000 VALID LO 0.0000 0.0000

Page 135: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 135 Víctor J. Cuadrado Alvarado

TARGET 0.0000 0.0000 TGT RATIO 0.0003 0.0002 CURR MOVE -0.0110 -0.1261 MANACT LOW 2 LOW 2 RESOLUTN 0.0000 0.0000 MAX MOVE 20.0000 100.0000 SS STEP 20.0000 100.0000 SS COST 1.8007 10.0000 SS CRITER 0 0 LOOP STAT 1 1 AWS CODE 0 0 REVRS IND 0 0 TRACK IND 0 0 SHD PRICE 1.8007 10.0000 MOVE SUPP 1.0000 1.0000 LP UNIT MV 14.8373 120.4852 CM UNIT MV 31.4805 60.1505 INDFLG 0 0 FUTMOV 1 0.1691 3.0885 FUTMOV 2 0.1453 2.9835 FUTMOV 3 0.1122 2.8930 FUTMOV 4 0.0770 2.7799 FUTMOV 5 0.0431 2.5395 FUTMOV 7 0.0357 2.1367 FUTMOV 10 0.1301 1.7961 FUTMOV 14 0.0001 0.0002 DEPENDENT VARIABLES 1- 2 ========================= TT4 TT5 ºC ºC ------------ ------------ SRV SWITCH 1 1 ENG SWITCH 1 1 CRIT IND 1 1 DMC STAT GOOD 0 GOOD 0 VALID HI 50.0000 60.0000 ENGR HIGH 50.0000 60.0000 OPER HI IN 30.0000 50.0000 OPER HIGH 30.0000 50.0000 DEP 17.4370 22.8235 DEP INPUT 17.4370 22.8235 OPER LOW 17.0000 20.0000 OPER LO IN 17.0000 20.0000 ENGR LOW 0.0000 18.0000 VALID LO 0.0000 18.0000 TARGET 17.4558 22.8123 CV RANK LO 10 10 CV RANK HI 10 10 CV TYPE LO LP 0 LP 0 CV TYPE HI LP 0 LP 0 DEPACT 0 0 LP ERROR 0.0000 0.0000 SHD PRICE 0.0000 0.0000 PRED ERR 0.0000 0.0000 FILT TYPE DMC 0 DMC 0 FILT CONST 0.0000 0.0000 FILT HORIZ 0.0000 0.0000

Page 136: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 136 Víctor J. Cuadrado Alvarado

AV PR ERR 0.0000 0.0000 AC PR ERR 0.0000 0.0000 PRED INIT NO 0 NO 0 TRACK IND 0 0 DEPFLG 0 0 WT SS LOW 1.0000 1.0000 WT SS HIGH 1.0000 1.0000 WT CM LOW 1.0000 1.0000 WT CM MID 1.0000 1.0000 WT CM HIGH 1.0000 1.0000 DYN WEIGHT 1.0000 1.0000 TRN ZON LO 0.0000 0.0000 TRN ZON HI 0.0000 0.0000 ECE SS LO 1.0000 1.0000 ECE SS HI 1.0000 1.0000 ECE CM LO 1.0000 1.0000 ECE CM MID 1.0000 1.0000 ECE CM HI 1.0000 1.0000 PRED 1 17.4386 22.8228 PRED 2 17.4422 22.8220 PRED 3 17.4464 22.8212 PRED 4 17.4507 22.8205 PRED 5 17.4547 22.8199 PRED 6 17.4583 22.8194 PRED 7 17.4617 22.8189 PRED 8 17.4648 22.8185 PRED 10 17.4697 22.8178 PRED 12 17.4738 22.8171 PRED 15 17.4791 22.8161 PRED 20 17.4855 22.8149 PRED 25 17.4887 22.8140 PRED 32 17.4895 22.8138 PRED 39 17.4895 22.8138 PFMDEP 1 17.4377 22.8228 PFMDEP 2 17.4383 22.8223 PFMDEP 3 17.4390 22.8221 PFMDEP 4 17.4395 22.8221 PFMDEP 5 17.4388 22.8225 PFMDEP 6 17.4377 22.8229 PFMDEP 7 17.4369 22.8233 PFMDEP 8 17.4341 22.8233 PFMDEP 10 17.4362 22.8213 PFMDEP 12 17.4389 22.8180 PFMDEP 15 17.4089 22.8157 PFMDEP 20 17.4093 22.8139 PFMDEP 25 17.4297 22.8127 PFMDEP 32 17.4411 22.8138 PFMDEP 39 17.4520 22.8131 Non Standard Buffer Variables BARISC001 1 DESCIND001 Resistencia del depósito ENGIND001 % BARISC002 1 DESCIND002 Válvula de recirculación ENGIND002 % BARDSC001 1

Page 137: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 137 Víctor J. Cuadrado Alvarado

DESCDEP001 Temperatura de recirculación ENGDEP001 ºC BARDSC002 1 DESCDEP002 Temperatura del depósito ENGDEP002 ºC ABSRES 0.1690691 ABSV8 3.0884686 Controller Interface Message Log -- DUMP Para mayor información sobre las entradas mostradas dirigirse al anexo

correspondiente.

6.3.6.- Aplicación del control Tras haber realizado la simulación y haber comprobado que el funcionamiento del

controlador se correspondía con lo que deseamos se procedió a la ejecución en línea del

controlador.

Para ello lo primero que tenemos que hacer es poner en marcha Cube y la planta, así

como lanzar la interface OPC de Cim-IO para poder comunicar con la planta.

Seguidamente hay que crear una carpeta en el directorio

C:\Archivos de programa\AspenTech\AC Online\app\

en la que introduciremos nuestro controlador .ccf y el modelo asociado .mdl, en nuestro

caso “CONTROL.CCF” y “MODELOFINAL.MDL”.

Una vez creada la carpeta simplemente se cargó el nuevo controlador y se lanzó su

ejecución, la cual comenzó desde el mismo momento ya que las entradas ONREQ y

ONSTS no encontraron problemas para el comienzo del controlador.

6.4.- Resultados del control En este apartado se mostrarán algunos resultados obtenidos al ejercer el control DMC

sobre el sistema descrito en los apartados anteriores.

6.4.1.- Solución LP (Linear Program) Como ya se comentó, se utilizó un controlador que obtenía las soluciones de forma

lineal. Se realizaron varios ensayos del controlador de forma que se forzara la

consecución de unos valores por parte de las variables dependientes TT4 y TT5,

comprobándose así el funcionamiento del control mediante DMCplus.

Page 138: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 138 Víctor J. Cuadrado Alvarado

PRIMER ENSAYO

En las figuras 6.15 y 6.16 se muestran los movimientos de las variables manipulables y

controlables del sistema cuando especificamos los siguientes límites de operación para

las variables TT4 y TT5: TT4 TT5

Límite inferior 17 20

Límite superior 22 30

Puede observarse un comportamiento bastante aceptable del controlador, en concreto

para la variable TT5 se ve que ésta sigue de forma fiel al Set Point (SP) marcado por el

controlador y situado en un valor cercano al límite inferior. Sin embargo, aunque la

variable TT4 también sigue claramente a su SP, éste se va fuera de los límites de

operación especificados. En estos casos el control nos indicaría esta situación aunque no

deja de actuar debido a que el rango válido de operación y el rango de ingeniería

(entradas LDPENG, LVLDEP, UDPENG y UVLDEP) se definieron con valores

mayores que engloban al rango de operación, por lo que el controlador seguirá

ejecutándose e intentando hacer regresar a las variables a su zona de operación. Hay que

recordar que no siempre es posible encontrar un punto de operación válido para todas

las variables.

0

5

10

15

20

25

30

35

17:4

5:13

17:5

3:25

17:5

7:37

18:0

1:49

18:0

6:01

18:1

0:13

18:1

4:25

18:1

8:37

18:2

2:49

18:2

7:01

18:3

1:13

ºC

TT4 TT4_LL TT4_UL TT4_SPTT5 TT5_LL TT5_UL TT5_SP

Figura 6.15.- Evolución de las variables

Page 139: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 139 Víctor J. Cuadrado Alvarado

De todas formas el experimento en cuestión tuvo el problema comentado debido a que

se comenzó la ejecución del control antes de que el sistema hubiese estado en un punto

estable, con lo cual las variables aún no se habían establecido en un valor fijo.

0,00

10,00

20,00

30,00

40,00

50,00

60,0017

:45:

13

17:5

3:25

17:5

7:37

18:0

1:49

18:0

6:01

18:1

0:13

18:1

4:25

18:1

8:37

18:2

2:49

18:2

7:01

18:3

1:13

%

RESISTENCIA RESISTENCIA_SST V8 V8_SST

Figura 6.16.- Señales de control aplicadas

En cuanto a las señales de control podemos destacar que en el gráfico no aparecen los

valores de Steady State (SS) de ninguna de las dos variables. Esto se debe a que ambos

valores son nulos, es decir, el controlador ha establecido que ambas variables han de ser

conducidas a cero, cosa que se observa también en la evolución de sus valores.

SEGUNDO ENSAYO

En este caso, como se puede ver en la tabla, se forzó a que la temperatura de

recirculación adquiriese un valor fijo. Por el contrario se relajó el rango para la

temperatura en el depósito con el fin de permitir que el controlador pudiese conducir a

TT4 al valor especificado sin problemas. TT4 TT5

Límite inferior 23 20

Límite superior 23 35

Se trata de ver la capacidad que tiene el controlador para encontrar una solución válida

del problema cuando se le obliga a que alguna variable tenga un valor fijo.

Page 140: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 140 Víctor J. Cuadrado Alvarado

0

5

10

15

20

25

30

35

40

18:3

3:25

18:3

4:15

18:3

5:05

18:3

5:55

18:3

6:45

18:3

7:35

18:3

8:25

18:3

9:15

18:4

0:05

18:4

0:55

18:4

1:45

18:4

2:35

18:4

3:25

18:4

4:15

18:4

5:05

18:4

5:55

18:4

6:45

18:4

7:35

18:4

8:23

ºC

TT4 TT4_LL TT4_UL TT4_SPTT5 TT5_LL TT5_UL TT5_SP

Figura 6.17.- Evolución de las variables

0,00

20,00

40,00

60,00

80,00

100,00

120,00

18:3

3:25

18:3

4:31

18:3

5:37

18:3

6:43

18:3

7:49

18:3

8:55

18:4

0:01

18:4

1:07

18:4

2:13

18:4

3:19

18:4

4:25

18:4

5:31

18:4

6:37

18:4

7:43

%

RESISTENCIA RESISTENCIA_SST V8 V8_SST

Figura 6.18.- Señales de control aplicadas

Puede observarse que el control de las temperaturas se lleva a cabo de forma adecuada,

es decir, mantiene a la variable TT5 dentro del rango definido para su punto de

operación mientras que la temperatura de recirculación, con las oscilaciones propias de

Page 141: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 141 Víctor J. Cuadrado Alvarado

los procesos reales, se ajusta de forma más que aceptable al valor que se especificó.

Por otro lado ha de comentarse la evolución que presentan las variables manipulables.

Salta a la vista que ambas variables siguen en gran medida a sus valores SS aunque a

veces no llegan a alcanzarlo completamente. Esto se debe al funcionamiento propio del

control predictivo. El controlador establece un valor SS al que debe conducirse a la

variable manipulable al final del horizonte de predicción (recordemos que pusimos 6

minutos). Entonces el propio controlador comienza a mover las variables con el

propósito de dirigirlas a dichos valores, aunque no de forma drástica, ya que los

movimientos fuertes de las variables están restringidos en la configuración del

controlador. De esta forma, cuando la variable comienza a dirigirse a su punto SS, el

controlador puede que cambie su SS a otro nuevo para mantener las temperaturas en los

valores dados, por lo que también debe cambiar la evolución de las variables

manipulables sin que éstas llegaran a alcanzar el punto SS anterior.

TERCER ENSAYO

Éste es el caso contrario al anterior, es decir, se marca un valor fijo para la temperatura

dentro del depósito mientras que se mantiene un rango relativamente amplio para la

temperatura de recirculación. TT4 TT5

Límite inferior 18 25

Límite superior 22 25

En este experimento en principio podríamos suponer que vamos a tener problemas ya

que si recordamos, el modelo que estamos utilizando de nuestro sistema tenía ciertas

limitaciones en cuanto a la ganancia de la temperatura del depósito ante cambios de las

variables independientes. Por lo tanto este es un buen experimento para ver la capacidad

de control de los controladores realizados con DMCplus.

Sin embargo al analizar los resultados mostrados en las figuras 6.19 y 6.20 vemos que el

controlador que estamos utilizando responde satisfactoriamente a las imposiciones que

se le dieron. La temperatura de recirculación se mantiene dentro del rango especificado,

aunque a veces roce uno de los límites (siempre que se abre la válvula V8 para

refrigerar el depósito). Y, aún más importante, es observar cómo la temperatura del

depósito se mantiene en el valor dado al controlador antes de comenzar su ejecución.

Page 142: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 142 Víctor J. Cuadrado Alvarado

05

10152025303540

18:4

8:23

18:5

0:23

18:5

2:23

18:5

4:23

18:5

6:23

18:5

8:23

19:0

0:23

19:0

2:23

19:0

4:23

19:0

6:23

19:0

8:23

19:1

0:23

19:1

2:23

19:1

4:23

19:1

6:23

ºC

TT4 TT4_LL TT4_UL TT4_SPTT5 TT5_LL TT5_UL TT5_SP

Figura 6.19.- Evolución de las variables

0,00

20,00

40,00

60,00

80,00

100,00

120,00

18:4

8:23

18:5

0:23

18:5

2:23

18:5

4:23

18:5

6:23

18:5

8:23

19:0

0:23

19:0

2:23

19:0

4:23

19:0

6:23

19:0

8:23

19:1

0:23

19:1

2:23

19:1

4:23

19:1

6:23

%

RESISTENCIA RESISTENCIA_SST V8 V8_SST

Figura 6.20.- Señales de control aplicadas

CUARTO ENSAYO

Por último en cuanto a la solución lineal se refiere, se probó a controlar la planta de

forma que se le especificaban al controlador los valores de las dos temperaturas.

Page 143: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 143 Víctor J. Cuadrado Alvarado

TT4 TT5

Límite inferior 22 27

Límite superior 22 27

Éste es el caso que más problemas podía tener a priori a la hora de ejecutar el control,

ya que se trata de restringir en gran medida la capacidad de búsqueda de solución del

problema al controlador.

Sin embargo puede observarse en lo gráficos el resultado, el cual disipa todas las dudas

que pudiésemos tener en un principio.

0

5

10

15

20

25

30

19:3

9:33

19:4

1:53

19:4

4:13

19:4

6:33

19:4

8:53

19:5

1:13

19:5

3:33

19:5

5:53

19:5

8:13

20:0

0:33

20:0

2:53

20:0

5:13

20:0

7:33

20:0

9:53

20:1

2:13

20:1

4:33

20:1

6:53

20:1

9:13

ºC

TT4 TT4_LL TT4_UL TT4_SP

TT5 TT5_LL TT5_UL TT5_SP

Figura 6.21.- Evolución de las variables

En la figura 6.21 podemos ver con claridad que el controlador lleva acabo su tarea

conforme a los valores especificados, es decir, conduciendo a las temperaturas a los

valores que deseábamos. Aunque en dicha gráfica se observa una pequeña oscilación de

las temperaturas alrededor de los SP, éstas son algo normal en los procesos de control

reales.

En cuanto a las variables manipulables no hay nada nuevo que decir salvo que en este

caso necesitan mayores movimientos para poder mantener las variables en sus valores.

Page 144: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 144 Víctor J. Cuadrado Alvarado

0,00

20,00

40,00

60,00

80,00

100,00

120,00

19:3

9:33

19:4

1:53

19:4

4:13

19:4

6:33

19:4

8:53

19:5

1:13

19:5

3:33

19:5

5:53

19:5

8:13

20:0

0:33

20:0

2:53

20:0

5:13

20:0

7:33

20:0

9:53

20:1

2:13

20:1

4:33

20:1

6:53

20:1

9:13

%

RESISTENCIA RESISTENCIA_SST V8 V8_SST

Figura 6.22.- Señales de control aplicadas

6.4.2.- Solución QP (Quadratic Program) En este caso se realizaron experimentos del mismo tipo que en apartado 6.4.1 pero

resolviendo el problema de control de forma cuadrática para probar el funcionamiento

del controlador con este tipo de soluciones.

PRIMER ENSAYO TT4 TT5

Límite inferior 17 20

Límite superior 22 27

Una ves introducidos los límites para las temperaturas y ejecutado el controlador sobre

la planta se comprobó un correcto funcionamiento del sistema ya que las variables TT4

y TT5 se mantienen dentro de los rangos de temperatura especificados, como se muestra

en la figura 6.23, además los valores recogidos para las dos temperaturas siguen de

manera bastante fiel a los SP marcados por el controlador.

En cuanto a las variables V8 y RESISTENCIA puede verse en este caso que también se

ajustan a sus valores de SS, aunque como es normal no lo alcancen cuando cambia de

Page 145: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 145 Víctor J. Cuadrado Alvarado

antes de que se haya cumplido el tiempo de los 6 minutos establecidos en el modelado.

05

10152025

3035

8:53

:28

8:55

:28

8:57

:28

8:59

:28

9:01

:28

9:03

:28

9:05

:28

9:07

:28

9:09

:28

9:11

:28

9:13

:28

9:15

:28

9:17

:28

9:19

:28

ºC

TT4 TT4_LL TT4_UL TT4_SPTT5 TT5_LL TT5_UL TT5_SP

Figura 6.23.- Evolución de las variables

0

10

20

30

40

50

60

8:53

:28

8:55

:28

8:57

:28

8:59

:28

9:01

:28

9:03

:28

9:05

:28

9:07

:28

9:09

:28

9:11

:28

9:13

:28

9:15

:28

9:17

:28

9:19

:28

%

RESISTENCIA RESISTENCIA_SST V8 V8_SST

Figura 6.24.- Señales de control aplicadas

Page 146: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 146 Víctor J. Cuadrado Alvarado

SEGUNDO ENSAYO

En este segundo ensayo volvemos a forzar a las temperaturas a que tomen un valor fijo,

en este caso la temperatura de recirculación, que se establece en 22 ºC mientras se deja

un rango amplio para la temperatura dentro del depósito. TT4 TT5

Límite inferior 22 20

Límite superior 22 30

Como puede comprobarse en la figura 6.25, la temperatura de recirculación se adapta

con facilidad al valor propuesto. Por el otro lado, la temperatura del depósito se

mantiene en unos valores dentro del rango dado, siempre cercano al valor medio del

mismo, por lo que no existe peligro de que abandone el rango válido de operación.

05

10152025303540

9:20

:02

9:24

:58

9:29

:54

9:34

:50

9:39

:46

9:44

:42

9:49

:38

9:54

:34

9:59

:30

10:0

4:26

10:0

9:22

ºC

TT4 TT4_LL TT4_UL TT4_SPTT5 TT5_LL TT5_UL TT5_SP

Figura 6.25.- Evolución de las variables

Podemos ver que en este caso las variables manipulables no requieren excesivos

movimientos para situar las temperaturas en los valores establecidos. Los movimientos

que efectúan se realizan con vistas a situar a TT4 en el valor de los 22 ºC siempre que

esta temperatura decae un poco. Así se comprueba que las pequeñas oscilaciones en los

valores de las temperaturas coinciden con los movimientos de las variables

manipulables. Además estos movimientos se realizan de forma más o menos periódica,

lo cual es debido a que la temperatura TT4 baja de los 22 ºC al pasar de manera

Page 147: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 147 Víctor J. Cuadrado Alvarado

constante por el intercambiador de calor, por lo que cada cierto tiempo ha de

incrementarse dicha temperatura.

0

20

40

60

80

100

120

9:20

:02

9:22

:58

9:25

:54

9:28

:50

9:31

:46

9:34

:42

9:37

:38

9:40

:34

9:43

:30

9:46

:26

9:49

:22

9:52

:18

9:55

:14

9:58

:10

10:0

1:06

10:0

4:02

10:0

6:58

10:0

9:54

%

RESISTENCIA RESISTENCIA_SST V8 V8_SST

Figura 6.26.- Señales de control aplicadas

TERCER ENSAYO

Al igual que se hizo en el apartado 6.4.1, este experimento es justamente el contrario al

realizado en el segundo ensayo del controlador. Se estableció un rango de operación

válido para la temperatura de recirculación, mientras que se especificó una temperatura

fija para la temperatura del agua dentro del depósito.

TT4 TT5

Límite inferior 18 25

Límite superior 22 25

Centrándonos en las figuras 6.27 y 6.28 puede decirse que de nuevo el controlador

cumple con las especificaciones dadas para su funcionamiento. Como algo a reseñar

puede decirse que se aprecian momentos en los que TT4 roza el límite superior, aunque

sin mayores problemas. Ésto ocurre cuando para regular TT5 es necesario abrir la

válvula de recirculación, lo cual introduce en la recirculación agua caliente.

Page 148: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 148 Víctor J. Cuadrado Alvarado

05

101520253035

10:1

2:38

10:1

6:10

10:1

9:42

10:2

3:14

10:2

6:46

10:3

0:18

10:3

3:50

10:3

7:22

10:4

0:54

10:4

4:26

10:4

7:58

10:5

1:30

10:5

5:02

10:5

8:34

11:0

2:06

11:0

5:38

11:0

9:10

11:1

2:42

11:1

6:14

ºC

TT4 TT4_LL TT4_UL TT4_SPTT5 TT5_LL TT5_UL TT5_SP

Figura 6.27.- Evolución de las variables

0

20

40

60

80

100

120

10:1

2:38

10:1

7:16

10:2

1:54

10:2

6:32

10:3

1:10

10:3

5:48

10:4

0:26

10:4

5:04

10:4

9:42

10:5

4:20

10:5

8:58

11:0

3:36

11:0

8:14

11:1

2:52

11:1

7:30

%

RESISTENCIA RESISTENCIA_SST V8 V8_SST

Figura 6.28.- Señales de control aplicadas

CUARTO ENSAYO

Por último se realizó el experimento que más problemas pudiera dar, es decir, hacer que

el controlador mantenga las dos temperaturas en un valor fijo. Dichos valores son los

que se muestran en la siguiente tabla.

Page 149: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 149 Víctor J. Cuadrado Alvarado

TT4 TT5

Límite inferior 22 27

Límite superior 22 27

0

5

10

15

20

25

3011

:17:

44

11:2

1:36

11:2

5:28

11:2

9:20

11:3

3:12

11:3

7:04

11:4

0:56

11:4

4:48

11:4

8:40

11:5

2:32

11:5

6:24

12:0

0:16

12:0

4:08

12:0

8:00

12:1

1:52

12:1

5:44

12:1

9:36

12:2

3:28

12:2

7:20

ºC

TT4 TT4_LL TT4_UL TT4_SPTT5 TT5_LL TT5_UL TT5_SP

Figura 6.29.- Evolución de las variables

0

20

40

60

80

100

120

11:1

7:44

11:2

2:48

11:2

7:52

11:3

2:56

11:3

8:00

11:4

3:04

11:4

8:08

11:5

3:12

11:5

8:16

12:0

3:20

12:0

8:24

12:1

3:28

12:1

8:32

12:2

3:36

12:2

8:40

%

RESISTENCIA RESISTENCIA_SST V8 V8_SST

Figura 6.30.- Señales de control aplicadas

Page 150: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 150 Víctor J. Cuadrado Alvarado

Simplemente con observar los resultados mostrados en las figuras anteriores queda de

relieve que el funcionamiento del controlador es totalmente aceptable, considerando

ahora también las consideraciones dadas en otros apartados sobre las pequeñas

oscilaciones de las variables de temperatura y el alcance de los SS por parte de las

variables manipulables V8 y RESISTENCIA.

Únicamente reseñar que los movimientos que se observan más o menos a partir de las

18:20 no corresponden a movimientos generados por el controlador sino que a partir de

ese momento el controlador ya se había desconectado y se apagó la planta, de ahí que

todas las variables se mantengan fijas en un valor constante hasta el final.

Page 151: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 151 Víctor J. Cuadrado Alvarado

7.- CONCLUSIONES El desarrollo del presente proyecto tiene ciertos aspectos importantes que conviene

resaltar a modo de conclusiones.

Se ha pretendido dar una visión general sobre el control predictivo, haciendo especial

hincapié en la técnica DMC (Dynamic Matrix Control), alrededor del cual gira este

proyecto. Esto no quita sin embargo que aquellas personas que deseen acercarse al uso

de la herramienta utilizada deban poseer unos conocimientos sólidos sobre el control

predictivo, lo cual no era el objetivo del proyecto.

En los procesos industriales actuales, en los cuales intervienen multitud de variables de

procesos, las técnicas de control predictivo representan una buena alternativa al control

que tradicionalmente se ha venido implantando en las mismas, ya que en la actualidad,

además de la necesidad habitual de mantener los procesos dentro de un punto de

operación adecuado, es necesario satisfacer otros criterios que afectan más en cuanto a

rentabilidad de la empresa, calidad de la misma y respeto al medioambiente. Esto hace

que sea necesario el uso de controles multivariables que a su vez permitan aplicar

restricciones de operación al margen del funcionamiento del proceso, características

ambas para las que el control predictivo ha sido diseñado.

No obstante lo anterior cabe decir que las técnicas tradicionales de control, como el

típico control PID, no han de ser sustituidas en su totalidad a favor del control

predictivo. Es más, ambas técnicas de control pueden convivir y complementarse, de tal

forma que es muy común encontrase con un control jerárquico en el cual por ejemplo se

utiliza un control predictivo como selector de puntos de operación de todas las variables

del proceso sobre el que se trabaja, mientras que se utilizan controles PID para mantener

un control individualizado sobre cada variable del proceso. Es decir, el control

predictivo proporcionaría a los PID los Set Point de cada variable, encargándose éste

entonces de mantener a dicha variable en el Set Point marcado.

Existen en el mercado una variada oferta de productos basados en técnicas de control

predictivo listos para su utilización en los proceso de cualquier industria. En este

proyecto se ha utilizado una herramienta comercial llamada DMCplus de la compañía

americana Aspen Technologies, aunque la elección del producto con el que se desee

Page 152: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 152 Víctor J. Cuadrado Alvarado

trabajar dependen en gran medida de los costes del producto, servicio técnico ofrecido

por la compañía y principalmente las referencias sobre su fiabilidad proporcionadas por

analistas del mercado de dichos productos.

El presente proyecto está pensado como una herramienta para el futuro usuario del

producto DMCplus. Por ello se ha intentado proporcionar una visión clara sobre el

funcionamiento general del producto, detallando los componentes de los cuales se

compone, así como su utilidad dentro del proceso de implementación del controlador.

Así se facilita al futuro usuario una breve guía sobre la instalación de la herramienta,

además de una serie de manuales en los cuales se ha intentado reflejar de la manera más

fiel posible tanto el uso general del producto como los pasos necesarios a seguir en la

construcción de un controlador.

Finalmente se trabajó en un proceso real aplicando un control generado por la

herramienta DMCplus. El trabajo sobre la planta del laboratorio nos permitió

comprobar el funcionamiento real del producto. Se pudo así establecer que la

herramienta utilizada cumple con las características propias que debe tener un control

predictivo, asegurándonos además de su fiabilidad a la hora de ejercer el control sobre

el proceso.

Debido a la orientación del proyecto, en el cual se pretendía poner en funcionamiento la

herramienta así como servir de guía para el futuro, los próximos usuarios podrán hacer

uso del producto DMCplus en procesos más complejos que el utilizado en la realización

de este proyecto sin encontrarse con las dificultades propias de utilizar una nueva

herramienta sin tener conocimientos de la misma y sin disponer de las ayudas

adecuadas. Los problemas anteriores ya han sido resueltos por el autor del presente

proyecto, por lo que los usuarios inexpertos podrán hacer uso de la misma para

solventar cualquier tipo de problema en el uso de DMCplus.

Como indicación final cabe añadir que existe la posibilidad de realizar aún un proceso

de desarrollo del producto a través del uso de módulos de supervisión y control

complejo como DMCplus View y DMCplus Composite, los cuales quedaron fuera del

objetivo del presente proyecto.

También resultaría necesario realizar una labor de mantenimiento de la herramienta

Page 153: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 153 Víctor J. Cuadrado Alvarado

DMCplus, ya que como cualquier otra aplicación comercial software que desee

mantenerse en el mercado, DMCplus cuenta con una serie de actualizaciones por parte

de la empresa fabricante que permite al usuario final disponer de nuevas características

muy útiles para su tarea.

Finalmente, como ya se indicó anteriormente, espero que esta memoria sea de ayuda

para aquellos usuarios que deban trabajar con DMCplus y que no posean conocimientos

previos sobre el uso de la herramienta.

Page 154: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 154 Víctor J. Cuadrado Alvarado

ANEXO I

BARRA DE HERRAMIENTAS Y MENÚS A lo largo de este anexo se indican los distintos menús y botones de herramientas de los

que disponemos en los programas.

DMCplus Model BARRA DE MENÚS File

New Project Create a new Model project (with the extension *.dpp).

Open Project Open an existing project.

Close Project Close the current project but leave Model open.

Save Project Store the project.

Save Project As Save the project under a new name.

Import Import various objects.

Export (Slices and Formulas) Export various objects.

Page Setup For printing, change page options: margins, layout, numbers, and

headers/footers,

Print Create a hard copy.

Print Preview View a copy on-screen before printing it.

Print Setup Change printer settings.

Exit Close Model.

Edit

Copy Create a duplicate of a selected object.

Paste Paste the duplicated object.

Select All Highlight all available objects.

Find Vectors Locate a vector.

Tag Properties View/modify tag properties.

Bad Slices View/modify bad data slices.

Go To Go to the indicated independent/dependent variable pair.

Next Page Move to the next screen in a view.

Previous Page Move to the previous screen in a view.

Table of Contents View the table of contents for a report view.

Make List Create a new list using the selected object(s).

Report/List Properties View report or list properties.

Font Change the font for the active view.

Mark Bad Slice Identify bad data slices.

Edit Bad Slice Edit bad data slices.

Page 155: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 155 Víctor J. Cuadrado Alvarado

Get Curve Get a curve from a source model and place it in the target model.

Put Curve Put a curve from a source model into a target model.

Curve Operations Perform various operations on a curve.

Delete Curve Remove a selected curve from a model.

Refresh Regenerate the selected object (usually recalculates a model’s curves)

Copy Steady-State Gain Copy the steady-state gain matrix onto the clipboard. Available from

the Model view only.

View

New Project Outline Display a copy of the project view.

New Vector Plot Display a vector plot view.

New Model Plot Display a model plot view.

New Report Display a report view.

Show/hide Display or hide tool bars (Main, Project) and the status bar.

Project

Expand/Collapse Open or close the selected part of the project outline tree.

New Create a new object.

Copy Duplicate an existing object.

Delete Remove an existing object.

Make New List Create a new list using the selected object(s).

View Display a view of the selected object(s).

Run Run/recalculate the selected object.

Reassemble Update (recalculate) the selected assembled model.

Export Create an external file of the selected object(s), for import into another

project.

Properties of Display the properties of the selected object(s).

Format

Colors and Fonts Change colors/fonts for a view.

Show Legend Display a legend for a view.

Show Grid Display a grid for a view.

Show Description Display a description for a view.

Show X-Scale Display the X-Scale for a view.

Show Y-Scale Display the Y-Scale for a view.

Show Tooltips Display information under the cursor point for a view.

Show Time Coordinates Display the time coordinates for a view. Toggles with Show Sample

Number Coordinates.

Show Sample Number Coordinates Show the sample number coordinates for a view. Toggles

with Show Time Coordinates.

Page 156: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 156 Víctor J. Cuadrado Alvarado

Set Plots Per Page Change the number of plots shown in a view.

Set Transform Flag Show a vector as transformed or untransformed.

Range

Set Indicate a new range.

Full Width Show the full range.

Zoom In View a smaller time range in more detail.

Zoom Out View a larger range in less detail.

Scale

Auto Set the scale so that the tick marks along the Y-axis are reasonably

whole, easily readable numbers.

Common Set the scaling limits near the min and max vector values in the

displayed sample range; this function imposes the same scale on all

vectors in the display and allows for direct comparison of similar

vectors.

Distributed Spread the vectors in multi-plot displays vertically across the screen

so that each vector is displayed in a separate region of the screen with

no overlap.

Min/Max Set the scaling range at the minimum and maximum values in the

vector.

Set Display the Set Scale dialog box. The current tag is selected; enter a

Minimum and Maximum value.

Typical Moves Display the model plot using the typical moves indicated for each tag

name.

Move Sizes Show a Move Size dialog box for selecting a tag name on the plot and

changing its typical move value.

Tools

Formula Editor Display the Formula Editor.

Options Change various project-related options.

Window

CascadeTileArrange Icons Select standard display functions for windows in the work area; see

your Windows documentation for details. Also, choose a window

from the list of open windows to activate one in the work area.

Help

Help Topics

DMCplus Reference

Entry Dictionary

Page 157: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 157 Víctor J. Cuadrado Alvarado

Technical Support

About DMCplus Model

BARRA DE HERRAMIENTAS

Create a New Object: create new objects of the type currently selected, either vectors,

vector lists, cases, case lists, models, model lists, predictions, or general lists.

Duplicate Current Object: select an existing vector, vector list, case, case list, model

(only for assembled models), model list, prediction, or general list and create a copy of

it.

Delete Current Object: remove a currently selected object, either a vector, vector list,

case, case list, model, model list, prediction, or general list. You cannot delete an object

if it is currently used by another object in the project.

View Current Object: display a currently selected object, either a vector, vector list,

case, model, model list, prediction, or general list.

Execute: run a currently selected vector (calculated vectors only), vector list, case, case

list, model (only for assembled models), model list, or prediction.

Export: create an external file of information for a currently selected vector, vector list,

case, cas e list, model, model list, or general list.

Edit Properties of Current Object: show the properties dialog box for a selected object,

either a vector, vector list, case, case list, model, model list, prediction, or general list.

New Project Outline: open a new project view.

New Vector Plot: plot the vectors in an existing vector plot view or create a new one.

New Model Plot: plot the models in an existing model plot view or create a new one.

New Report: display a report view for an existing general list or create a new one.

Previous Page: go to the previous page.

Next Page: go to the next page. Scroll vector range: scroll forward/backward along time axis. Zoom In: enlarge the visible time range. Zoom Out: reduce the visible time range. Mark Bad: mark the currently selected time range as bad.

Show Values: show numerical values for each vector at the cursor position at the bottom

of the window.

Page 158: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 158 Víctor J. Cuadrado Alvarado

DMCplus Build BARRA DE MENÚS File

Choose New (create a new controller configuration file, or CCF)

Open (open an existing CCF with the extension .ccf, or template configuration with the extension .tcc)

Close (shut down the active window in the work area)

Save

Print Setup

Print.

Edit

Cut/Copy/Paste

Insert Variable

Insert Copied Entry

Add Variable

Add Entry

Delete

Rename

View

Show/hide the Toolbar or Status Bar

Show Entries (All, Required, Optional, Completed, Bad, or Not Used)

Long or Short of the Entity Format.

Tools

Display the Entry Editor

Entry Replacement dialog

Tag Wizard

Validity Check on a CCF

Window

Standard display functions for windows

Choose a window from the list

Help

Build help

Search for Help On to locate a specific help topic

Entry Dictionary help

Technical Support,

About DMCplus Build.

Page 159: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 159 Víctor J. Cuadrado Alvarado

BARRA DE HERRAMIENTAS New: create a new CCF.

Open: open an existing CCF or TCC. Save: save a CCF or TCC. Options: display the Options dialog. Entry Editor: display the Entry Editor. Entry Replacement: display the Entry Replacement dialog. Tag Wizard: display the Tag Wizard. Validate: run the Validity Check on a CCF or TCC. Launch Simulate: launch DMCplus Simulate with the current CCF loaded. Print: print a report on a CCF. Add Variable: add an independent (MV or FF) or dependent variable (CV). Delete Variable: delete a selected independent or dependent variable. Add Entry: add a user-defined entry. Delete Entry: delete a user-defined entry. View All: show all entries. View Required: show only required entries. View Optional: show only optional entries. View Complete: show only completed entries.

View Incomplete: show only incomplete entries.

View Keyword None: show only entries with None as a keyword. Format: show only entries with None as a keyword.

Page 160: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 160 Víctor J. Cuadrado Alvarado

DMCplus Simulate

BARRA DE MENÚS File

New (create a new simulate file using a CCF)

Open (open an existing simulate file with the extension .psm)

Close (shut down the program)

Save

Save As

Page Setup

Print

Print Preview

Print Setup

Exit (quit DMCplus Simulate)

Edit

Cut, Copy, or Paste

Options

Colors and Fonts.

View

Show/Hide

Display a New Trend or New Table

Controller

Step

Run

Pause

Run Mode Options

General

Subcontrollers

Edit Plant Model

Edit Controller Model

Closed Loop

Initialize Predications

Internal Variables

Update Configuration

Create Report File

Export History to File/Clipboard

Change Solution Type for Rank Groups.

Page 161: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 161 Víctor J. Cuadrado Alvarado

Scale (only if a trend window is active)

Auto

Extended

User Set.

Window

Standard display functions

Help

Simulate help

Help On to locate a specific help topic

DMCplus Reference help

Technical Support

About DMCplus Simulate.

BARRA DE HERRAMIENTAS New: create a new simulation file (.psm) using an existing CCF. Open: open an existing .psm. Save: save a .psm. Cut: standard Windows Cut function. Copy: standard Windows Copy function. Paste: standard Windows Paste function. Print: standard Windows Print function. Help: display a help file on using Simulate. Closed Loop: turn on/off closed loop mode for the simulation. Init Predictions (next cycle): initialize controller and simulation predictions on the next cycle. Run Simulation One Cycle: run the simulation for one cycle (step) then stop. Run Simulation Continuously: run the simulation until you select Pause. Pause Simulation: stop a running simulation. Add Noise: enable/disable noise in the simulation.

Page 162: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 162 Víctor J. Cuadrado Alvarado

ANEXO II

FÓRMULAS PREDETERMINADAS DE MODEL A continuación se listan las fórmulas que Model nos proporciona para realizar cálculos

con los vectores. Las fórmulas pueden combinarse entre ellas para obtener una nueva

fórmula que sea de nuestro interés.

Todas las fórmulas realizan sus cálculos utilizando doble precisión de punto flotante,

incluso con funciones Booleanas, en las cuales el cero es Falso y distinto de cero

Verdadero.

Para introducir valores del tipo Bad Value debe utilizarse la palabra reservada BAD en

lugar del valor –9999.

El rango de valores permitidos para las fórmulas está comprendido entre -10^20 y

10^20.

@Log(value) Natural logarithm of a positive real value

@Log10(value) Common logarithm of a positive real value

@Exp(value) Natural antilogarithm of a value

@Sqrt(value) Square root of a positive real value

@Abs(value) Absolute value of a value

@Interp(value,x1, y1, x2, y2[, x3, y3…] ) Piece-wise linear interpolation: (x,y) pairs define function

@InterpBad(vector) Interpolate over bad values in a vector

@Cav(vector, nsamples) Central average of a vector. nsamples must be odd

@EFilt(vector, factor) Exponential filter: out(1) = in(1),

out(i) = out(i-1) * factor + in(i) * (1 - factor)

@Diff(vector) Difference a vector: out(1) = 0,

out(i) = in(i) - in(i-1)

@Integ(vector, bias) Integrate a vector: out(1) = in(1) + bias,

out(i) = in(i) + out(i-1)

@Shift(vector, nsamples) Shift a vector. Negative nsamples means shift earlier.

@VaLim(vector, vallow, valhigh ) Mark samples outside range vallow and valhigh as BAD

@MkBad(vector, nfirst1, nlast1[, nfirst2, nlast2…]) Mark sample ranges as BAD. nfirst and nlast are

sample numbers

@LoClp(vector, valclip, valnew) Set values less than valclip to valnew

@HiClp(vector, valclip, valnew) Set values greater than valclip to valnew

@Max(value1[, value2, value3 …]) Maximum of a set of values

@Min(value1[, value2, value3 …]) Minimum of a set of values

@IF(test, value1, value2) value1 if test is "true" or value2 if test is "false"

@EQ(value1, value2) "true" if value1 is equal to value2

Page 163: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 163 Víctor J. Cuadrado Alvarado

@NE(value1, value2) "true" if value1 is not equal to value2

@GT(value1, value2) "true" if value1 is greater than value2

@GE(value1, value2) "true" if value1 is greater than or equal to value2

@LT(value1, value2) "true" if value1 is less than value2

@LE(value1, value2) "true" if value1 is less than or equal to value2

@OR(value1, value2[, value3…]) "true" if any value in a list of values is true

@AND(value1, value2[, value3…]) "true" if all values in a list of values are true

@NOT(value) "true" if value is "false"

@BADVAL(value) "true" if value is a BAD value

@PCT2(Temp<degF>, Pres<psig>, Rpres<psig>, B, C, Bias<degF>, LogInd<1=ln, 2=log10>) Pressure

Compensated Temperature

@PFPCT(Temp<degF>, Pres<psig>, StdP<psig>, WatK) Petroleum Fraction Pressure Compensated

Temperature

@REFPCT(Temp<degF>, Pres<psig>, StdP<psig>, Bias<degF>) Refinery Pressure Compensated

Temperature

@SELECT(N, V1, V2, V3, …)x Returns Vn based on value of N

@MAPRANGE(X, L1, I1, L2, I2, …, Ln, In, In+1) Returns range indicator In if X <= Ln

Page 164: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 164 Víctor J. Cuadrado Alvarado

ANEXO III

FÓRMULAS PREDETERMINADAS DE BUILD A continuación se listan las fórmulas que Build nos proporciona para realizar cálculos

con los vectores. Las fórmulas pueden combinarse entre ellas para obtener una nueva

fórmula que sea de nuestro interés.

Todas las fórmulas realizan sus cálculos utilizando doble precisión de punto flotante,

incluso con funciones Booleanas, en las cuales el cero es Falso y distinto de cero

Verdadero.

Para usar una variable CCF en una fórmula su nombre debe satisfacer los siguientes

requerimientos:

- El nombre de la variables de ser una combinación de caracteres, números y

símbolos, pero deben comenzar por una letra.

- No debe sobrepasar los 15 caracteres.

Funciones matemáticas:

@MAX(value1, value2[, value3...])= maximum of a list of values

@MIN(value1, value2[, value3...])= minimum of a list of values

@LOG10(value)= base 10 logarithm of value

@LOG(value)= natural logarithm of value

@EXP(base)= natural antilogarithm of base

@POW(base, exponent)= base to the power exponent

@INTERP(value, x1, y1, x2, y2[, x3, y3...])= piece-wise linear interpolation

@SQRT(value)= square root of value

@ABS(value)= absolute value of value

@RAND(seed)=uniformly distributed random number between the range of 0.0 and 1.0

Funciones lógicas:

@IF(test1, value1, value2)= value1 if test1 is "true" or value2 if test1 is "false"

@EQ(value1, value2)= "true" if value1 is equal to value2

@NE(value1, value2)= "true" if value1 does not equal value2

@GT(value1, value2)= "true" if value1 is greater than value2

@GE(value1, value2)= "true" if value1 is greater than or equal to value2

@LT(value1, value2)= "true" if value1 is less than value2

@LE(value1, value2)= "true" if value1 is less than or equal to value2

@OR(value1, value2[, value3...])= "true" if any value in a list of values is true

@AND(value1, value2[, value3...])= "true" if all values in a list of values is true

Page 165: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 165 Víctor J. Cuadrado Alvarado

@NOT(value)= "true" if value is "false"

@BADVAL(value)= "true" if value is less than -9998.0

Page 166: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 166 Víctor J. Cuadrado Alvarado

ANEXO IV

ENTRADAS DE CONFIGURACIÓN DEL

CONTROLADOR A continuación se listan las entradas disponibles en DMCplus para la configuración del

controlador. El listado ha sido tomado directamente del soporte documental de Aspen

Technologies.

Descripción de la información mostrada

Applies to: describe el área o el tipo de variable a la cual se aplica la entrada. La sección correspondinte

de DMCplus Build se muestra entre paréntesis.

Data Type: tipo de datos origiales.

Access: método I/O permitido a la entrada respecto a la aplicación de control.

Range: rango de valores válidos.

Default: valor por defecto suponiendo que no se especifica la entrada en la CCF.

Keywords: palabras clave disponibles para la entrada.

Note: información adicional.

Related Topics: lista de entradas relacionadas.

ACPRER

Dependent variable accumulated (integrated) prediction error. This entry is the integrated value of prediction

errors (predicted minus actual) since the last prediction initialization.

Changes in this value indicate either a mismatch between the model predicted response and the actual process

response, or that an unmeasured process disturbance has occurred.

Monitoring ACPRER is recommended over PREDER as time correlated controller disturbances (prediction

errors) are better detected by observing the integrated value.

This value ultimately represents the current bias, since the last prediction reset, that must be added to the

model predicted dependent value to match the response of the process.

When this value is trending upward, a disturbance (or model error) that is decreasing the actual dependent

variable value is occurring. When this value is trending downward, a disturbance that increases the actual

dependent variable value is occurring.

The controller updates ACPRER during each cycle. ACPRER gets reset to the current cycle's PREDER value

whenever one of the following conditions occurs:

(a) the dependent variable predictions are initialized (PRDIND = 1).

(b) the absolute value of ACPRER becomes greater than 9000.0 (to avoid exceeding any

numerical tolerances for the system).

Page 167: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 167 Víctor J. Cuadrado Alvarado

In both cases, accumulation resumes from that point.

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) WRITE LOCAL

Related Topics: AVPRER, PREDER

AVPFIL

Average absolute prediction error filter factor.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Float

Access: Read Only

Range: 0.0 to 1.0

Default: 0.965

Keywords: (None) CONSTANT

Note: For AspenTech use only.

AVPRER

Dependent variable filtered average prediction error. This value is the heavily-filtered average of the

absolute value of the prediction error. Use it to determine, on average, how big errors are in the model.

The controller updates AVPRER during each cycle. AVPRER is reset to 0.0 when the controller initializes

the dependent variable predictions.

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) WRITE LOCAL

Related Topics: ACPRER, PREDER

AWSCOD

Manipulated variable anti-windup code:

0 (NONE) Can move output in either direction

1 (LOW) Can only move output in a positive direction

2 (HIGH) Can only move output in a negative direction

Page 168: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 168 Víctor J. Cuadrado Alvarado

3 (BOTH) Cannot move output

In order to prevent PID controller windup, AWSCOD is read by the controller on each cycle. If it is not

possible to provide the controller with meaningful anti-windup information, set AWSCOD to 0 in the CCF;

then, warn operations and engineering that there is no anti-windup protection on manipulated variables.

As a work-around for cases where wind-up information is not available, you can consider making the

regulatory loop output an explicitly controlled dependent variable to ensure limits are honored.

Applies to: MVs only (Independent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 3

Default: 0 (Although not required, AspenTech recommends defining this entry)

Keywords: (None) READ LOCAL CONSTANT

Related Topics: IREVRS

BARDL

In DMCplus View, this value is used to set the lower display limit of bar graphs that show information about

the current dependent variable.

In the Production Control Web viewer, this value is the dependent variable detail plot lower limit (when the

auto-scale option is not in use - see BARDSC).

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Read Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: LOCAL CONSTANT READ

Note: This entry is only used for display limit settings and has no affect on controller

performance.

Related Topics: BARDSC, BARDU, BARIL, BARIU

BARDSC

This entry is used to select whether a dependent variable detail plot is scaled manually using the BARDL and

BARDU values or auto scaled. This entry is used by the Web Server to generate plot images in detail pages.

Valid entries are:

0 MANUAL- Use BARDL and BARDU values as the minimum and maximum to scale the

plot.

1 AUTO - (Default) Auto-scale the plot based on the range of plot data.

Applies to: All CVs (Dependent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Page 169: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 169 Víctor J. Cuadrado Alvarado

Default: 1 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: BARISC, BARDL, BARDU

BARDU

In DMCplus View, this value is used to set the upper display limit of bar graphs that show information about

the current dependent variable.

In the Production Control Web viewer, this value is the dependent variable detail plot upper limit (when the

auto-scale option is not in use - see BARDSC).

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Read Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: LOCAL CONSTANT READ

Note: This entry is only used for display limit settings and has no affect on controller

performance.

Related Topics: BARDSC, BARDL, BARIL, BARIU

BARIL

In DMCplus View, this value is used to set the lower display limit of bar graphs that show information about

the current independent variable.

In the Production Control Web viewer, this value is the independent variable detail plot lower limit (when the

auto-scale option is not in use - see BARISC).

Applies to: MVs and FFs (Independent Section)

Data Type: Float

Access: Read Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: LOCAL CONSTANT READ

Note: This entry is only used for display limit settings and has no affect on controller

performance.

Related Topics: BARISC, BARDL, BARDU, BARIU

BARISC

This entry is used to select whether an independent variable detail plot is scaled manually using the BARIL

and BARIU values or auto scaled. This entry is used by the Web Server to generate plot images in detail

pages. Valid entries are:

0 MANUAL- Use BARIL and BARIU values as the minimum and maximum to scale the plot.

1 AUTO - (Default) Auto-scale the plot based on the range of plot data.

Page 170: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 170 Víctor J. Cuadrado Alvarado

Applies to: MVs and FFs (Independent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: 1 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: BARDSC, BARIL, BARIU

BARIU

In DMCplus View, this value is used to set the upper display limit of bar graphs that show information about

the current independent variable.

In the Production Control Web viewer, this value is the independent variable detail plot upper limit (when the

auto-scale option is not in use - see BARISC).

Applies to: MVs and FFs (Independent Section)

Data Type: Float

Access: Read Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: LOCAL CONSTANT READ

Note: This entry is only used for display limit settings and has no affect on controller

performance.

Related Topics: BARISC, BARDL, BARDU, BARIL

BLDTEMP

Template file name used by DMCplus Build when creating the current CCF.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Variable Length String

Access: Read Only

Range: No Restrictions

Default: Build automatically sets this value based on your selections.

Keywords: BUILD

Note: Used by DMCplus Build.

BLDVERS

DMCplus Build version used to create the current CCF.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Float

Access: Read Only

Page 171: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 171 Víctor J. Cuadrado Alvarado

Range: No Restrictions

Default: Build automatically sets this value based on your selections.

Keywords: BUILD

Note: Used by DMCplus Build.

CDEPAC

Composite dependent variable active constraint indicator. CDEPAC indicates which dependent variable

constraints are active and which are violated in the Composite solution.

0 NOT CONSTRAINED. Composite does not plan to move the variable to either its upper

or lower limit.

1 UPPER LIMIT. Composite plans to move the variable to its upper limit.

2 LOWER LIMIT. Composite plans to move the variable to its lower limit.

4 CVSTEP IN UP DIRECTION. Composite plans to move the variable up toward the upper

limit, but that limit is more than CVSTEP away from the current value.

5 CVSTEP IN DOWN DIRECTION. Composite plans to move the variable down toward the

lower limit, but that limit is more than CVSTEP away from the current value. 7 SETPOINT. Composite plans to move the variable to either the upper or lower limit, and

both limits are the same value (within some tolerance).

9 RAMP. The value depends on the value of MXNIMB:

When MXNIMB > 0 then

CDEPAC = 1 when Composite is planning to move the ramp to URDPTG;

CDEPAC = 2 when Composite is planning to move the ramp to LRDPTG;

CDEPAC = 11 when Composite had to allow the ramp to become unbalanced above

URDPTG in order to produce a solution;

CDEPAC = 12 when Composite had to allow the ramp to become unbalanced below

LRDPTG in order to produce a solution.

When MXNIMB = 0 then

CDEPAC = 9 when the Composite is at or between LRDPTG and URDPTG;

CDEPAC = 11 when Composite had to allow the ramp to become unbalanced above

URDPTG in order to produce a solution;

CDEPAC = 12 when Composite had to allow the ramp to become unbalanced below

LRDPTG in order to produce a solution.

11 GAVE UP ON THE UPPER LIMIT. Composite had to allow the variable to move above

the upper limit in order to produce a solution.

12 GAVE UP ON THE LOWER LIMIT. Composite had to allow the variable to move below

the lower limit in order to produce a solution.

20 ACTIVE AT EXTERNAL TARGET. Composite is planning to move the variable to the

external target value.

21 GAVE UP ABOVE EXTERNAL TARGET. Composite had to allow the variable to move

above the external target, but below the upper limit, in order to produce a solution.

22 GAVE UP BELOW EXTERNAL TARGET. Composite had to allow the variable to move

below the external target, but above the lower limit, in order to produce a solution.

Applies to: All CVs if Composite option enabled (Dependent Section)

Page 172: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 172 Víctor J. Cuadrado Alvarado

Data Type: Integer

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) WRITE LOCAL

Related Topics: CLPDEP, CLPRNKL, CLPRNKU, CLPTRK, CVSTEP, ETCV, LRDPTG,

CMANAC, MXNIMB, URDPTG

CLOMSG

This flag is part of the Optional Message Buffer (OMSG) facility. It is used to clear the message buffer of

any previous messages before adding the messages for the next control cycle. This flag only affects the

Optional Message Buffer (if you have selected this option). It has no effect on messages saved in the

message history file. The flag is reset to zero after each control cycle.

0 Do not clear the optional message buffer, just add to it.

1 Clear the contents of the optional message buffer before adding current messages.

Applies to: Controller General variables (General Section)

Data Type: Integer

Access: Read/Write

Range: 0 to 1

Default: 0

Keywords: (None) RDWRT LOCAL

Related Topics: OMSGLN, OMSGSG, OMSGnnn, SBOMSG, SWHYOnnn, WHYOnnn

CLPCRI

Composite manipulated variable criterion (applies only to the Composite solution):

0 (COST) Minimum Cost

1 (MOVE) Minimum Movement

This entry determines the Composite objective for this manipulated variable. If CLPCRI is 0, Composite

tries to minimize the actual cost of this variable. The variable will be driven up if the unit cost (CLPCST) is

negative, or driven down if the unit cost is positive. If CLPCRI is set to 1, then minimizing movement in

either direction is the objective for this MV. In this case, CLPCST is defined as the penalty for movement

away from the current value and must be specified as a non-negative number.

Applies to: MVs only if Composite option enabled (Independent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: 0 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: CLPCST, CLPMAN, CMANAC, LPCRIT

CLPCST

Page 173: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 173 Víctor J. Cuadrado Alvarado

Composite cost for this manipulated variable (applies only to the Composite solution):

If CLPCRI = 0 (Economic criterion), CLPCST is the cost

If CLPCRI = 1 (Minimum movement criterion), ABS(CLPCST) is the movement penalty

This value represents the cost of increasing a manipulated variable by one unit.

Applies to: MVs only if Composite option enabled (Independent Section)

Data Type: Float

Access: Read Only

Range: -9998 to (No Maximum)

Default: 1 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: CLPCRI, CLPMAN, CMANAC, CST

CLPDEP

Dependent variable Composite steady-state target. The DMCplus control move calculation is constrained to

drive the variable to this value at the end of the controller time horizon (IPXCTH).

Applies to: All CVs if Composite option enabled (Dependent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) WRITE LOCAL

Related Topics: CDEPAC, CLPMAN, CLPRNKL, CLPRNKU, CLPTRK, IPXCTH

CLPENB

Composite enabling switch:

0 (NO) Disabled

1 (YES) Enabled

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: 0 (Required Entry)

Keywords: CONSTANT

Note: Only required if Composite steady-state optimizer is used for a DMCplus controller. This

setting has no effect in SmartStep but serves to alert the user that the SmartStep tester CCF was

taken from a DMCplus Composite application. The Composite information is preserved by

SmartStep but never used.

Related Topics: CLPSHOW

Page 174: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 174 Víctor J. Cuadrado Alvarado

CLPLIC

Minutes remaining until Composite license expiration. Set to 14400 when running controller is not part of a

Composite suite. Set to 14400 (10 days) when Composite is running with a valid license and controller has

joined the Composite suite. Modified downward by a running Composite when license is lost. Set to zero by

a running Composite when no valid license has been obtained within the previous 10 days.

Applies to: Composite General variables (Composite Section)

Data Type: Integer

Access: Write Only

Range: No Restrictions

Default: 14400 (Required Entry)

Keywords: LOCAL AWRITE WRITE

Note: This variable is provided so that a Composite license expiration alarm can be configured

on the DCS.

Related Topics: LICSTS

CLPMAN

Manipulated variable Composite steady-state target. The DMCplus control move calculation is constrained

to drive the variable to this value at the end of the controller time horizon (IPXCTH).

If CLPSTA = PASSIVE, this value is for display only. If CLPSTA = ACTIVE, this value is used as the target

for the move calculation.

Applies to: MVs only if Composite option enabled (Independent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) WRITE LOCAL

Related Topics: CLPCRI, CLPCST, CLPDEP, CLPSTA, CMANAC, IPXCTH

CLPNAM

Composite steady-state optimizer program name.

Applies to: Composite General variables (Composite Section)

Data Type: String*16

Access: Read Only

Range: No Restrictions

Default: (Required Entry)

Keywords: CONSTANT

Note: This entry is only used when Composite is enabled.

Related Topics: CLPENB, CLPREQ, CLPSTA, CLPTIME

Page 175: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 175 Víctor J. Cuadrado Alvarado

CLPREQ

Request to participate in Composite steady-state solution:

0 (OFF) Do not participate in the Composite steady-state solution

1 (ON) Participate in the Composite steady-state solution

Applies to: Composite General variables (Composite Section)

Data Type: Integer

Access: Read/Write

Range: 0 to 1

Default: 0 (Required Entry)

Keywords: RDWRT LOCAL

Related Topics: CLPENB, CLPNAM, CLPSTA, CLPTIME

CLPRNKL

Composite rank for the lower limit of this dependent variable:

0 CV Composite ranking is not used. When this value is specified for all the CVs, it will

generate the same behavior as the DMC 5.02 control engine. This option is all or none. All CV

Composite ranks must be zero or none of the CV Composite ranks can be zero.

1 - 999 Valid CV Composite ranks. The lower the rank, the more important the ranking.

1000 Special BIAS ranking indicating a soft limit.

9999 CV not in the Composite solution.

Applies to: All CVs if Composite option enabled (Dependent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 9999

Default: 10 (Required Entry)

Keywords: LOCAL READ CONSTANT

Note: If any CV Composite rank is non-zero, both CV Composite ranks for all dependents must

be non-zero.

Related Topics: CDEPAC, CLPDEP, CLPRNKU, CLPTRK, CVRANKL

CLPRNKU

Composite rank for the upper limit of this dependent variable:

0 CV Composite ranking is not used. When this value is specified for all the CVs, it will

generate the same behavior as the DMC 5.02 control engine. This option is all or none. All CV

Composite ranks must be zero or none of the CV Composite ranks can be zero.

1 - 999 Valid CV Composite ranks. The lower the rank, the more important the ranking.

1000 Special BIAS ranking indicating a soft limit.

9999 CV not in the Composite solution.

Page 176: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 176 Víctor J. Cuadrado Alvarado

Applies to: All CVs if Composite option enabled (Dependent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 9999

Default: 10 (Required Entry)

Keywords: LOCAL READ CONSTANT

Note: If any CV Composite rank is non-zero, both CV Composite ranks for all dependents must

be non-zero.

Related Topics: CDEPAC, CLPDEP, CLPRNKL, CLPTRK, CVRANKU

CLPSHOW

Include Composite information in the CCF:

0 Do not include Composite information in the CCF

1 Include Composite information in the CCF

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT

Note: This setting has no effect in SmartStep but serves to alert the user that the SmartStep

tester CCF was taken from a DMCplus Composite application. The Composite information is

preserved by SmartStep but never used.

Related Topics: CLPENB

CLPSTA

Composite status supplied to the controller each cycle. Can be used to display the status of this controller

with respect to the Composite steady-state optimizer:

-1 (IGNORE) Controllers ignore Composite

0 (PASSIVE) Solution provided; do not implement solution

1 (ACTIVE) Implement solution

Applies to: Composite General variables (Composite Section)

Data Type: Integer

Access: Write Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: WRITE LOCAL

Related Topics: CLPENB, CLPNAM, CLPREQ, CLPTIME

CLPTIME

Page 177: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 177 Víctor J. Cuadrado Alvarado

Time-out tolerance for Composite interaction in seconds.

Applies to: Composite General variables (Composite Section)

Data Type: Integer

Access: Read Only

Range: 1 to (No Maximum)

Default: 15 (Required Entry)

Keywords: CONSTANT LOCAL

Related Topics: CLPENB, CLPNAM, CLPREQ, CLPSTA

CLPTRK

This entry enables dependent variable tracking when the Composite status (CLPSTA) transitions from ON to

OFF (sheds). It determines what the controller does if a dependent variable value (DEP) is outside its

operating limits (UDEPTG/LDEPTG) when Composite sheds. It can be used to reduce the disturbance to the

process when transitioning from the Composite steady-state solver to the individual controller steady-state

solvers.

Dependent variable tracking has two forms: one for target ranges and one for setpoints:

0 (NONE) No tracking. The dependent variable limits are not altered.

1 (LIMIT) Track violated limit. If one of the limits is violated, the violated operating limit will

be reset to the current dependent variable value.

2 (BOTH) Track both limits (setpoint tracking). If one of the limits is violated, both limits will

be reset to the current dependent variable value.

In both options 1 and 2, a check is made to see if the current value is outside the engineering limits

(UDPENG/LDPENG). If it is, the operating limit (or limits for option 2) will be reset to the violated

engineering limit.

Tracking for MVs can also be done using the Composite tracking but only with the use of special CVs that

have been added to mirror the MVs. For example, a CV with a unit gain and fast dynamics with respect to an

MV could be added to the controller. Normally, the Composite CV rank (CLPRNKU/CLPRNKL) for this

special CV would be set to 9999 to allow the Composite to ignore this CV during operation, while a normal

CV rank (CVRANKU/CVRANKL) would be assigned to the CV at the controller level.

Applies to: All CVs if Composite option enabled (Dependent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 2

Default: 0

Keywords: (None) LOCAL CONSTANT READ

Related Topics: CDEPAC, CLPDEP, CLPRNKL, CLPRNKU

CMANAC

Composite manipulated variable active constraint indicator. CMANAC indicates which manipulated

variable constraint is active in the steady-state CLP solution.

0 NOT CONSTRAINED. Composite does not plan to move the variable to either its upper

Page 178: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 178 Víctor J. Cuadrado Alvarado

or lower limit.

1 UPPER LIMIT. Composite plans to move the variable to its upper limit.

2 LOWER LIMIT. Composite plans to move the variable to its lower limit.

4 SSSTEP IN UP DIRECTION. Composite plans to move the variable up toward the upper

limit, but that limit is more than SSSTEP away from the current value.

5 SSSTEP IN DOWN DIRECTION. Composite plans to move the variable down toward the

lower limit, but that limit is more than SSSTEP away from the current value.

6 ZERO MOVE DUE TO ZERO COST OR MINIMUM MOVE CRITERION.

7 SETPOINT. Composite plans to move the variable to either the upper or lower limit, and

both limits are the same value (within some tolerance). Since an independent variable cannot be

moved outside the limits, then the variable is considered to be "clamped".

8 INACTIVE. The variable is not used for control.

20 ACTIVE AT EXTERNAL TARGET. Composite is planning to move the variable to the

external target value.

21 GAVE UP ABOVE EXTERNAL TARGET. Composite had to allow the variable to move

above the external target, but below the upper limit, in order to produce a solution.

22 GAVE UP BELOW EXTERNAL TARGET. Composite had to allow the variable to move

below the external target, but above the lower limit, in order to produce a solution.

Applies to: MVs only if Composite option enabled (Independent Section)

Data Type: Integer

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) WRITE LOCAL

Related Topics: CLPCRI, CLPCST, CLPMAN, MANACT, SSMAN, SSSTEP

CMOV

Manipulated variable current move. If the controller is OFF, CMOV is the proposed move.

CMOV is calculated via move normalization as:

CMOV = ( FMOV(1) - VINDSP ) / IPSKIP

Applies to: MVs only (Independent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: LOCAL WRITE

Related Topics: IPSKIP, NORMOV, VINDSP, XTDMOV

CNCDEV

The default logical device name that DMCplus Connect uses when accessing values through Cim-IO. This

entry is only valid when using the Cim-IO Connect protocol.

Page 179: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 179 Víctor J. Cuadrado Alvarado

For more information on what a Cim-IO logical device is, see the Cim-IO User's Guide. For information on

how to select the default logical device in DMCplus Build, select Help on DMCplus Build.

Applies to: Controller Configuration variables (Configure Section)

Data Type: String*31

Access: Read Only

Range: No Restrictions

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT

Note: Used by DMCplus Build and Connect.

Related Topics: CNCFMT, CNCUNIT

CNCFMT

The default formatting code that DMCplus Connect uses when validating tag names through Cim-IO. This

entry is a two character string:

First character: How to treat character case in tag names:

U Force all characters in tag name to UPPER CASE.

L Force all characters in tag name to lower case.

N No change. Leave all characters as entered in the tag name.

Second character: How to treat spaces in tag names:

C Compress all extra spaces in tag name.

T Trim leading and trailing spaces only.

N No change. Leave all spaces as entered in the tag name.

This entry is only valid when using the Cim-IO Connect protocol. A unique format code is maintained for

each Cim-IO logical device name you specify in DMCplus Build. Selecting a particular Cim-IO logical

device to be used with a tag name automatically causes Connect to use the format code for that logical

device. Therefore, CNCFMT will always be set to the format code for the Cim-IO logical device set in the

CNCDEV entry.

Applies to: Controller Configuration variables (Configure Section)

Data Type: String*2

Access: Read Only

Range: No Restrictions

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT

Note: Used by DMCplus Build and Connect.

Related Topics: CNCDEV, CNCUNIT

CNCHOST

The DMCplus Connect protocol in use for the current CCF. This value determines the available list of

sources that can be used when specifying an entity in the entry editor of DMCplus Build. As of version 2.0

of DMCplus, the only supported value for this entry is CIMIO:

CIMIO Connect for Cim-IO

Page 180: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 180 Víctor J. Cuadrado Alvarado

As of version 2.0 of DMCplus, Direct-Connect interfaces are no longer supported. As a result, the following

values for CNCHOST are not allowed:

IPX [OBSOLETE] Direct-Connect for InfoPlus-X, InfoPlus.21 and SETCIM

SETCON [OBSOLETE] Direct-Connect for SETCON and InfoPlus

If you upgrade from a Direct-Connect interface to Cim-IO, you may be required to make syntax changes to

tag names and sources.

Applies to: Controller Configuration variables (Configure Section)

Data Type: String*20

Access: Read Only

Range: No Restrictions

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT

Note: Used by DMCplus Build and Connect.

CNCUNIT

The default "unit number" to be used along with the default logical device name that DMCplus Connect uses

when accessing values through Cim-IO. This entry is only valid when using the Cim-IO Connect protocol.

For more information on what a Cim-IO unit number is, see the Cim-IO User's Guide. For information on

how to select the default unit number in DMCplus Build, select Help on DMCplus Build.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Read Only

Range: Positive Integer values (including zero)

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT

Note: Used by DMCplus Build and Connect.

Related Topics: CNCDEV, CNCFMT

CNTDWN

Countdown timer reset. Written out by on every cycle to reset a watchdog timer. The timer permits the

process control system to verify that the controller is running. The controller always writes a value equal to

2.5 times the controller interval, CTLINT (in seconds).

If the watchdog timer decrements once per minute on the process control system, the timer would expire if

more than two consecutive one minute cycles were skipped. It is strongly recommended that you implement

a watchdog timer on every controller application, tied to an operator alarm.

Applies to: Controller General variables (General Section)

Data Type: Float

Access: Write Only

Range: Positive Floating-point values (including zero)

Default: 0 (Required Entry)

Page 181: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 181 Víctor J. Cuadrado Alvarado

Keywords: WRITE LOCAL

Related Topics: CTLINT

CRIDEP

Dependent variable critical switch:

0 (N) Not critical for DMCplus controller operation

1 (Y) Critical for DMCplus controller operation (and for Composite if Composite option is

used)

2 (C) Critical for Composite participation (but not for controller operation)

Identifies critical dependent variables in the controller with respect to control operation and with respect to

participation in a Composite suite. If for any reason a variable deemed critical for control (CRIDEP = 1) is

not available to the controller and the controller is ON, it will turn OFF. Similarly, if a variable is critical for

Composite and not available, then the Composite participation switch (CLPREQ) will be set to OFF.

Applies to: All CVs (Dependent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 2

Default: 0

Keywords: (None) LOCAL CONSTANT READ

Related Topics: CRIIND, NGDDEP

CRIIND

Independent variable critical switch:

0 (N) Not critical for DMCplus controller operation

1 (Y) Critical for DMCplus controller operation (and Composite if Composite option is used)

2 (C) Critical for Composite participation (but not for controller operation)

Identifies critical independent variables in the controller with respect to control operation and with respect to

participation in a Composite suite. If for any reason a variable deemed critical for control (CRIIND = 1) is

not available to the controller and the controller is ON, it will turn OFF. Similarly, if a variable is critical for

Composite and not available, then the Composite participation switch (CLPREQ) will be set to OFF.

Applies to: MVs and FFs (Independent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 2

Default: 0

Keywords: (None) LOCAL CONSTANT READ

Related Topics: CRIDEP, NGDMAN

CST

Manipulated variable cost factor:

Page 182: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 182 Víctor J. Cuadrado Alvarado

If LPCRIT = 0 (Economic criterion), CST is the cost

IF LPCRIT = 1 (Minimum movement criterion), ABS(CST) is the movement penalty

This value represents the cost of increasing a manipulated variable by one unit.

Applies to: MVs only (Independent Section)

Data Type: Float

Access: Read Only

Range: -9998 to (No Maximum)

Default: 1 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: LPCRIT

CTLINT

This entry is a write-only value that DMCplus Build sets automatically based on the Model file. The

controller uses the control interval to verify that it is running on the correct control period. Missed-cycle

checking uses this value to check for missed cycles. It is calculated (in seconds) as follows:

CTLINT = ( SSMINS / IPXNCI ) * 60

where,

SSMINS = model time to steady state

IPXNCI = number of coefficients used in the model.

When scheduling your controller, this value is the interval that should be used to periodically issue a

command for the controller to run one cycle.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Write Only

Range: Positive Integer values (including zero)

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT INIT

Related Topics: IPXNCI, MCTOL, SSMINS

CTOFF

Controller cycle time offset in seconds for internal scheduling (WTMODE=1). Sets the amount of delay to

introduce at the beginning of each controller cycle, before the controller actually begins operation. When

multiple controllers are running on the same computer system with the same control interval, this parameter

can be used to balance the load by spacing out their execution.

By default, the control cycle begins at the top of the minute. Use CTOFF to force an offset to this behavior.

For example setting CTOFF to 15 will force the controller to run at 15 seconds past the top of the minute.

Applies to: Controller General variables (General Section)

Data Type: Integer

Access: Read Only

Range: Positive Integer values (including zero)

Page 183: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 183 Víctor J. Cuadrado Alvarado

Default: 0

Keywords: (None) CONSTANT LOCAL READ

Related Topics: WTMODE

CVINSB

Character string indicating to which subcontrollers this dependent variable is assigned. This entry is only

valid if the controller incorporates subcontrollers. Dependent variables can be made to participate in multiple

subcontrollers by specifying each subcontroller name, separated by the ampersand character, "&".

For example, "SUBUNITA&SUBUNITC".

Applies to: All CVs if Subcontrollers option enabled (Dependent Section)

Data Type: String*64

Access: Read Only

Range: No Restrictions

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT

Related Topics: MVINSB

CVLPQL

Solution type for the lower limit for this dependent variable:

0 LP - linear

1 QP - quadratic or least squares

The solution type determines how equally ranked constraints behave in the presence of infeasibilities. If the

solution type is LP, then the weighted sum of the absolute values of the infeasibilities is minimized. If the

solution type is QP, then the weighted sum of the squared infeasibilities is minimized. The weighting is also

squared in the QP case. In both cases, the weighting is the inverse of the lower limit equal concern:

ECELPL.

Applies to: All CVs (Dependent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: Build automatically sets this value based on your selections.

Keywords: LOCAL READ CONSTANT

Related Topics: CVLPQU, ECELPL

CVLPQU

Solution type for the upper limit for this dependent variable:

0 LP - linear

1 QP - quadratic or least squares

The solution type determines how equally ranked constraints behave in the presence of infeasibilities. If the

solution type is LP, then the weighted sum of the absolute values of the infeasibilities is minimized. If the

Page 184: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 184 Víctor J. Cuadrado Alvarado

solution type is QP, then the weighted sum of the squared infeasibilities is minimized. The weighting is also

squared in the QP case. In both cases, the weighting is the inverse of the upper limit equal concern:

ECELPU.

Applies to: All CVs (Dependent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: Build automatically sets this value based on your selections.

Keywords: LOCAL READ CONSTANT

Related Topics: CVLPQL, ECELPU

CVRANKL

Steady-state rank for the lower limit for this dependent variable:

0 CV ranking is not used in this controller. When this value is specified for all the CVs, it will

generate the same behavior as the DMC 5.02 control engine. This option is all or none. All CV

ranks must be zero or none of the CV ranks can be zero.

1 - 999 Valid CV ranks. The lower the rank, the more important the ranking.

1000 Special BIAS ranking indicating a soft limit.

9999 CV not in the steady-state solution. This value is equivalent to an ECELPL of 1,000,000

Applies to: All CVs (Dependent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 9999

Default: 10

Keywords: (None) LOCAL READ CONSTANT

Note: If any CV rank is non zero, both CV ranks for all dependents must be non-zero.

Related Topics: CVRANKU, ECELPL

CVRANKU

Steady-state rank for the upper limit for this dependent variable:

0 CV ranking is not used in this controller. When this value is specified for all the CVs, it will

generate the same behavior as the DMC 5.02 control engine. This option is all or none. All CV

ranks must be zero or none of the CV ranks can be zero.

1 - 999 Valid CV ranks. The lower the rank, the more important the ranking.

1000 Special BIAS ranking indicating a soft limit.

9999 CV not in the steady-state solution. This value is equivalent to an ECELPU of 1,000,000

Applies to: All CVs (Dependent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 9999

Page 185: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 185 Víctor J. Cuadrado Alvarado

Default: 10

Keywords: (None) LOCAL READ CONSTANT

Note: If any CV rank is non zero, both CV ranks for all dependents must be non-zero.

Related Topics: CVRANKL, ECELPU

VSTEP

Maximum dependent variable steady-state target change allowed in a single control cycle:

0.0 (Default) No checking, use operator limit

> 0.0 Value in engineering units to limit steady-state target changes

Use CVSTEP to limit the size of a steady-state target change per control cycle for a non-ramp dependent

variable.

For example, on an operator limit change (LDEPTG/UDEPTG), the controller will consider:

(a) the distance from DEP to the operator limit it is driving toward

(b) CVSTEP (if > 0.0)

and use the more restrictive of the two values to calculate the steady-state target (SSDEP) for the dependent

variable. If CVSTEP is the more limiting, then the effect is that of limiting the size of the operator limit

change in a single control cycle. Finally, as the dependent value DEP begins to approach the new limit (on

subsequent control cycles), CVSTEP will no longer be limiting and SSDEP can be set at the operator limit.

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Read Only

Range: Positive Floating-point values (including zero)

Default: 0.0

Keywords: (None) READ LOCAL CONSTANT

Note: This entry does not apply to RAMP CVs.

Related Topics: LDEPTG, SSDEP, SSSTEP, UDEPTG

DEFSOLT

Default rank group solution type. When adding a new rank group to CV's or ET's, the value of this parameter

will be used to define that rank group's solution type. Either LP or QP.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Read Only

Range: No Restrictions

Default: Build automatically sets this value based on your selections.

Keywords: BUILD

DENSFR

Model density fraction.

Page 186: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 186 Víctor J. Cuadrado Alvarado

Applies to: Controller Configuration variables (Configure Section)

Data Type: Float

Access: Read Only

Range: 0.0 to 1.0

Default: 0.6

Keywords: (None) CONSTANT

Note: For AspenTech use only.

DEP

Dependent variable current process value.

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Read Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: READ LOCAL

Related Topics: VIND

DEPA

Dependent variable current process value used in the internal calculations of the controller. This is the

transformed value of DEP.

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) LOCAL WRITE

Related Topics: DEP

DEPACT

Dependent variable active constraint indicator. DEPACT indicates which dependent variable constraints are

active and which are violated in the steady-state solution. Characters in square brackets ( [ ] ) are characters

displayed on the View operator screens for the specified condition.

0 [ ] NOT CONSTRAINED. The controller does not plan to move the variable to either its

upper or lower limit.

1 [U] UPPER LIMIT. The controller plans to move the variable to its upper limit.

2 [L] LOWER LIMIT. The controller plans to move the variable to its lower limit.

4 [^] CVSTEP IN UP DIRECTION. The controller plans to move the variable up toward the

upper limit, but that limit is more than CVSTEP away from the current value.

5 [v] CVSTEP IN DOWN DIRECTION. The controller plans to move the variable down toward

Page 187: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 187 Víctor J. Cuadrado Alvarado

the lower limit, but that limit is more than CVSTEP away from the current value.

7 [S] SETPOINT. The controller plans to move the variable to either the upper or lower limit,

and both limits are the same value (within some tolerance).

9 [R] RAMP. The value depends on the value of MXNIMB:

When MXNIMB > 0 then

DEPACT = 1 when the controller is planning to move the ramp to URDPTG;

DEPACT = 2 when the controller is planning to move the ramp to LRDPTG;

DEPACT = 11 when the controller had to allow the ramp to become unbalanced above

URDPTG in order to produce a steady-state solution;

DEPACT = 12 when the controller had to allow the ramp to become unbalanced below

LRDPTG in order to produce a steady-state solution.

When MXNIMB = 0 then

DEPACT = 9 when the controller is at or between LRDPTG and URDPTG;

DEPACT = 11 when the controller had to allow the ramp to become unbalanced above

URDPTG in order to produce a steady-state solution;

DEPACT = 12 when the controller had to allow the ramp to become unbalanced below

LRDPTG in order to produce a steady-state solution.

11 [UU] GAVE UP ON THE EFFECTIVE UPPER LIMIT. The steady-state solution had to allow

the variable to move above the upper limit in order to produce a solution. The violated limit is the

more restrictive of the operator limit, engineering limit or the CVSTEP limit.

12 [LL] GAVE UP ON THE EFFECTIVE LOWER LIMIT. The steady-state solution had to allow

the variable to move below the lower limit in order to produce a solution. The violated limit is the

more restrictive of the operator limit, engineering limit or the CVSTEP limit.

20 [X] ACTIVE AT EXTERNAL TARGET. The controller is planning to move the variable to the

external target value.

21 [XU] GAVE UP ABOVE EXTERNAL TARGET. The steady-state solution had to allow the

variable to move above the external target, but below the upper limit, in order to produce a solution.

22 [XL] GAVE UP BELOW EXTERNAL TARGET. The steady-state solution had to allow the

variable to move below the external target, but above the lower limit, in order to produce a solution.

Limit Highlighting in the Web Interface:

Depending on the value of DEPACT, the Web interface will highlight appropriate limits, ramp setpoint or

steady-state targets to show active constraints.

SmartStep Only -- In test modes (TEST, TEST-NOPULSE) SmartStep highlights one constraint per test

group. The SmartStep move calculation routine determines the most restrictive constraint (MV max test

step, MV upper limit, MV lower limit, CV test upper limit, CV test lower limit, CV ramp SP limit, etc.) that

limits the MV step size, and highlights only this constraint for the duration of the MV step. For example, if

the step size is limited by the CV lower test limit, then that value will be highlighted until the step is

completed, canceled, or superceded by a test group mode change. In control modes (CONTROL,

REPOSITION, LAB) SmartStep uses the DMCplus engine to calculate steady-state targets and the

highlighting reflects the constraints that are active for the target calculation.

Applies to: All CVs (Dependent Section)

Data Type: Integer

Access: Write Only

Range: No Restrictions

Page 188: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 188 Víctor J. Cuadrado Alvarado

Default: 0 (Although not required, AspenTech recommends defining this entry)

Keywords: (None) WRITE LOCAL

Note: Extremely useful for operations display to illustrate to the operators and engineers against

which constraints the controller is pushing.

Related Topics: CVSTEP, LRDPTG, MANACT, MXNIMB, URDPTG

DEPFLG

Dependent variable condition flag. Holds the most recent warning or error code detected for each dependent

variable. DEPFLG is included for debugging and for systems where the full functionality of the message

queues cannot be supported.

The values displayed by INDFLG and DEPFLG are the message numbers found in the message.dat file.

Applies to: All CVs (Dependent Section)

Data Type: Integer

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) LOCAL WRITE

Related Topics: INDFLG

DEPMLT

Dependent LP multiplier used by the DMC 5.02 engine.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Float

Access: Read Only

Range: 10.0 to 1.0E8

Default: 1000.0

Keywords: (None) CONSTANT

Note: For AspenTech use only.

DEPSTA

Dependent variable DMCplus status:

-2 (ENG_OFF) Engineer has turned this variable off via SREDEP

-1 (BAD) Bad for Prediction and Control. Cannot use at all. Either the measurement status

is bad, the value is outside a validity limit, or the operator has turned this variable off via SRVDEP.

0 (GOOD) Good for both Prediction and Control. Normal state.

1 (PRED_ONLY) Prediction Only. Good for Prediction, Bad for Control.

2 (USE_PRED) Use Predicted Value. Used for discrete signals between measurements.

3 (MAINT_PRED) Maintain prediction for intermittent variables, use neither the value nor

the prediction for control.

DEPSTA is set by the controller validation routines and used by the controller to determine which variables

Page 189: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 189 Víctor J. Cuadrado Alvarado

are included in the controller calculation for this cycle.

Applies to: All CVs (Dependent Section)

Data Type: Integer

Access: Write Only

Range: No Restrictions

Default: 0 (Although not required, AspenTech recommends defining this entry)

Keywords: (None) WRITE LOCAL

Note: Recommended that DEPSTA be displayed to operations.

Related Topics: INDSTA, SREDEP, SRVDEP

DEPW

Dependent variable process value, possibly calculated, written back to database.

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) LOCAL WRITE

Related Topics: DEP

DESCDEP

Dependent variable description. The purpose of this entry is to provide operators with a useful description (up

to 40 characters) for Dependent variables in the web interface. The value is blank by default. It is

recommended that the description be kept short to prevent wide columns when shown in a table in the web

interface. The description appears in the tool tip text for the variable name (MDLDEP) in the web interface

but it can also be added as its own column in the column sets.

One possible method for populating the descriptions is to define them using the READ keyword, pointing to

the process value's description field in the DCS. CAUTION: It may pose unacceptable load on the I/O

interface if you define this entry as a permanent READ value. ASCII values, in general, require longer times

to resolve and fetch. One option is to allow the application to run one cycle (to acquire the descriptions),

save the CCF using Manage, then change all the description entries to use the CONSTANT or LOCAL

keyword and reload the controller.

Applies to: All CVs (Dependent Section)

Data Type: String*40

Access: Read Only

Range: No Restrictions

Default: (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: DESCIND, MDLDEP, MTGDEP

Page 190: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 190 Víctor J. Cuadrado Alvarado

DESCIND

Independent variable description. The purpose of this entry is to provide operators with a useful description

(up to 40 characters) for Independent variables in the web interface. The value is blank by default. It is

recommended that the description be kept short to prevent wide columns when shown in a table in the web

interface. The description appears in the tool tip text for the variable name (MDLIND) in the web interface

but it can also be added as its own column in the column sets.

One possible method for populating the descriptions is to define them using the READ keyword, pointing to

the process value's description field in the DCS. CAUTION: It may pose unacceptable load on the I/O

interface if you define this entry as a permanent READ value. ASCII values, in general, require longer times

to resolve and fetch. One option is to allow the application to run one cycle (to acquire the descriptions),

save the CCF using Manage, then change all the description entries to use the CONSTANT or LOCAL

keyword and reload the controller.

Applies to: MVs and FFs (Independent Section)

Data Type: String*40

Access: Read Only

Range: No Restrictions

Default: (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: DESCDEP, MDLIND, MTGIND

DMCFLG

General controller condition flag. Holds the most recent warning or error code detected for the DMCplus

general variables.

DMCFLG is included for debugging and for systems where the full functionality of the message queues can

not be supported.

Applies to: Controller General variables (General Section)

Data Type: Integer

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) WRITE LOCAL

DMCXIT

DMCplus controller orderly exit switch. Enacts an orderly shutdown of the controller program:

0 Run

1 Exit at end of cycle

2 Exit immediately

The value of this switch is acquired each cycle, and is re-set to zero by the DMCplus controller.

‘One Pass’ mode can be simulated by ensuring that DMCXIT is set to 1.

Page 191: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 191 Víctor J. Cuadrado Alvarado

Applies to: Controller General variables (General Section)

Data Type: Integer

Access: Read/Write

Range: 0 to 2

Default: 0

Keywords: (None) RDWRT LOCAL

DSTSWC

A switch to allow the controller to ignore a one hour time shift at daylight saving time transitions. This

switch is cleared and a message issued when the time shift is detected:

0 (NO) Do not ignore a one hour time shift at daylight saving time transitions.

1 (YES) Ignore a one hour time shift at daylight saving time transitions.

Applies to: Controller General variables (General Section)

Data Type: Integer

Access: Read/Write

Range: 0 to 1

Default: 0 (Although not required, AspenTech recommends defining this entry)

Keywords: (None) LOCAL RDWRT

Note: The time must be changed by exactly one hour. Do not compensate for small time offsets

during this time.

ECECML

Dependent variable equal concern errors:

ECELPL Steady-state lower equal concern error (DEP < Low Limit)

ECELPU Steady-state upper equal concern error (DEP > High Limit)

ECECML Control calculation lower equal concern error (DEP < Low Limit)

ECECMM Control calculation middle equal concern error (Low Limit < DEP < High Limit)

ECECMU Control calculation upper equal concern error (DEP >High Limit) Equal concern errors for the steady-state solution influence which constraints the steady-state optimizer will

give up on first when it cannot find a feasible steady-state solution.

Equal concern errors for the control calculation determine how aggressively the dependent variables will be

driven to their steady-state targets.

Equal concern errors are supplied to the controller each cycle.

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Read Only

Range: 1.0E-6 to 1.0E6

Default: 1 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: TRANZL, TRANZU

Page 192: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 192 Víctor J. Cuadrado Alvarado

ECECMM

See ECECML.

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Read Only

Range: 1.0E-6 to 1.0E6

Default: 1 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: ECECML

ECECMU

See ECECML.

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Read Only

Range: 1.0E-6 to 1.0E6

Default: 1 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: ECECML

ECELPL

See ECECML.

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Read Only

Range: 1.0E-6 to 1.0E6

Default: 1 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: ECECML

ECELPU

See ECECML.

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Read Only

Range: 1.0E-6 to 1.0E6

Page 193: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 193 Víctor J. Cuadrado Alvarado

Default: 1 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: ECECML

ENGDEP

Dependent variable engineering units. This value is obtained from the model file and is made available for

display purposes. It can only be changed in the model file.

Applies to: All CVs (Dependent Section)

Data Type: String*12

Access: Read Only

Range: No Restrictions

Default: (Required Entry)

Keywords: CONSTANT

Related Topics: ENGIND

ENGIND

Independent variable engineering units. This value is obtained from the model file and is made available for

display purposes. It can only be changed in the model file.

Applies to: MVs and FFs (Independent Section)

Data Type: String*12

Access: Read Only

Range: No Restrictions

Default: (Required Entry)

Keywords: CONSTANT

Related Topics: ENGDEP

EPSCND

Used as a check on the condition of the dynamic control matrix.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Float

Access: Read Only

Range: 0.0 to 0.01

Default: 0.001

Keywords: (None) CONSTANT

Note: For AspenTech use only.

EPSCST

LP matrix cost tolerance. This tolerance is used by the LP to differentiate a significant change to the LP

Page 194: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 194 Víctor J. Cuadrado Alvarado

objective function when choosing a basis variable. If the reduced cost changes by less than this value, then

the change is considered insignificant.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Float

Access: Read Only

Range: 0.0 to 0.001

Default: 1.00E-08

Keywords: (None) CONSTANT

Note: For AspenTech use only.

EPSDV0

Divide by zero tolerance. This tolerance is used by the LP to ensure that division by zero does not occur

during the calculation of the variable that must leave the basis.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Float

Access: Read Only

Range: 0.0 to 0.001

Default: 1.00E-08

Keywords: (None) CONSTANT

Note: For AspenTech use only.

EPSFEA

Steady-state solution feasibility tolerance. The LP uses this value to check that the LP constraints are

feasible. The linear constraints are considered feasible if the difference between the calculated constraint and

the actual constraint is less than this value.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Float

Access: Read Only

Range: 0.0 to 0.01

Default: 1.00E-05

Keywords: (None) CONSTANT

Note: For AspenTech use only.

EPSINV

Matrix inversion tolerance. This value has a role similar to EPSDV0. It is used to check for zero pivoting and

divide by zero in the dynamic controller calculations.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Float

Page 195: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 195 Víctor J. Cuadrado Alvarado

Access: Read Only

Range: 0.0 to 0.001

Default: 1.00E-15

Keywords: (None) CONSTANT

Note: For AspenTech use only.

EPSMVPMN

The minimum move penalty is used as a tuning factor to improve the numerical performance of the steadystate

QP. It must be set to a value less than the maximum move penalty (EPSMVPMX). It should be

increased very carefully since large values may suppress movement in the MVs at the expense of constraint

violations. Decreasing the value should also be done very carefully since this may cause numerical problems.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Float

Access: Read Only

Range: 1.0E-8 to 1.0E8

Default: .0001

Keywords: (None) CONSTANT

Note: For AspenTech use only.

Related Topics: EPSMVPMX

EPSMVPMX

Maximum Move Penalty. This entry is used to select and/or tune the steady-state QP algorithm.

To enable the original DMCplus 2.x QP engine, set this value less than or equal to 1.

To enable the interior point QP engine (recommended) set this value to 2. This is now the default value (as

of DMCplus 6.0).

A value of 3 will use the interior point QP algorithm and also generates a QP diagnostic file every cycle.

This value is not recommended as it can quickly fill up the disk.

For the original QP engine (EPSMVPMX <= 1) this parameter is used as the maximum move penalty to

improve numerical performance. It must be set to a value greater than the minimum move penalty

(EPSMVPMN). The maximum value allowed for the original QP engine is 1.0.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Float

Access: Read Only

Range: 1.0E-8 to 1.0E8

Default: 2

Keywords: (None) CONSTANT

Note: For AspenTech use only.

Related Topics: EPSMVPMN

EPSRES

Page 196: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 196 Víctor J. Cuadrado Alvarado

LP solution resolution tolerance. This value is used in the LP as a check on solution accuracy, and for

determining the variable that must leave the basis.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Float

Access: Read Only

Range: 0.0 to 0.00001

Default: 1.00E-08

Keywords: (None) CONSTANT

Note: For AspenTech use only.

EPSSPR

Matrix sparseness tolerance. This entry is used to evaluate non-zero values. If the absolute value of a double

precision floating point number is larger than this tolerance, then the value is considered significant. If not,

then the value is considered to be zero.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Float

Access: Read Only

Range: 0.0 to 0.001

Default: 1.00E-15

Keywords: (None) CONSTANT

Note: For AspenTech use only.

ETCAGE

ETCAGE is calculated in seconds as (current time - ET update time ), where ET update time is the time when

the external target was last updated. The ET update time can be determined from the combined values of

ETCSEC and ETCDAY. If ETCAGE indicates that the target is too old (compared to ETSTT), the External

Target status (ETCSTA) for this variable will be set to stale.

Applies to: CVs with External Targets (Dependent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: LOCAL WRITE

Related Topics: ETSTT, ETCSTA, ETCAGE, ETCSEC, ETCDAY

ETCDAY

External Target time in days for this dependent variable in DMCplus internal time format (see LSTDAY).

The External Target solution time is validated using the combined values of ETCSEC and ETCDAY. These

values are combined and the age of the ET (ETCAGE) is calculated. If ETCAGE indicates that the target is

Page 197: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 197 Víctor J. Cuadrado Alvarado

too old (compared to ETSTT), the External Target status (ETCSTA) for this variable will be set to stale.

Applies to: CVs with External Targets (Dependent Section)

Data Type: Integer

Access: Read Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: READ LOCAL

Related Topics: ETCSEC, ETCAGE, ETCSTA, ETSTT, LSTDAY, LSTSEC

ETCECEL

The dependent variable lower external target equal concern error is used to weight the amount of violation for

equally ranked external targets. If the solution type ETCLPQL is LP then the weighted sum of the absolute

value of the violations is minimized. If the solution type is QP, then the weighted sum of the squared

violations is minimized.

Applies to: CVs with External Targets (Dependent Section)

Data Type: Float

Access: Read Only

Range: 1.0E-6 to 1.0E6

Default: 1 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: ETCECEU, ETCLPQL, ETCRL

ETCECEU

The dependent variable upper external target equal concern error is used to weight the amount of violation for

equally ranked external targets. If the solution type ETCLPQU is LP then the weighted sum of the absolute

value of the violations is minimized. If the solution type is QP, then the weighted sum of the squared

violations is minimized.

Applies to: CVs with External Targets (Dependent Section)

Data Type: Float

Access: Read Only

Range: 1.0E-6 to 1.0E6

Default: 1 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: ETCECEL, ETCLPQU, ETCRU

ETCLPQL

Solution type for the lower external target for this dependent variable:

0 LP - linear

1 QP - quadratic or least squares

Page 198: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 198 Víctor J. Cuadrado Alvarado

The solution type determines how equally ranked constraints behave in the presence of infeasibilities. If the

solution type is LP, then the weighted sum of the absolute values of the infeasibilities is minimized. If the

solution type is QP, then the weighted sum of the squared infeasibilities is minimized. The weighting is also

squared in the QP case. In both cases, the weighting is the inverse of the lower external target equal concern:

ETCECEL.

Applies to: CVs with External Targets (Dependent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: Build automatically sets this value based on your selections.

Keywords: LOCAL READ CONSTANT

Related Topics: ETCLPQU

ETCLPQU

Solution type for the upper external target for this dependent variable:

0 LP - linear

1 QP - quadratic or least squares

The solution type determines how equally ranked constraints behave in the presence of infeasibilities. If the

solution type is LP, then the weighted sum of the absolute values of the infeasibilities is minimized. If the

solution type is QP, then the weighted sum of the squared infeasibilities is minimized. The weighting is also

squared in the QP case. In both cases, the weighting is the inverse of the upper external target equal concern:

ETCECEU.

Applies to: CVs with External Targets (Dependent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: Build automatically sets this value based on your selections.

Keywords: LOCAL READ CONSTANT

Related Topics: ETCLPQL

ETCNEW

The ETCNEW switch signals the controller that a new external target value has been posted. If the switch is

set to 1, the controller sets ETCDAY and ETCSEC to the current time, resets ETCAGE to 0, and resets

ETCNEW to 0 after execution.

0 A new external target is not yet available.

1 A new external target has been posted.

Applies to: CVs with External Targets (Dependent Section)

Data Type: Integer

Access: Read/Write

Range: 0 to 1

Page 199: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 199 Víctor J. Cuadrado Alvarado

Default: 0 (Required Entry)

Keywords: RDWRT LOCAL

Related Topics: ETCDAY, ETCSEC, ETCAGE, ETMNEW

ETCRL

External Target rank for the lower limit for this dependent variable. This entry is only used when there is an

external target for this variable.

1 - 999 Valid CV External Target ranks. The lower the rank, the more important the ranking.

1000 Special BIAS ranking indicating a soft limit.

9999 External Target disabled for this CV.

As of DMCplus version 4.0, the ET and CV rank groups are no longer considered distinct. In addition, valid

values for external target ranks now include both 1000 and 9999. Rank 1000 constraints are considered in the

economic optimization only (not in the feasibility calculations) and rank 9999 constraints are disregarded in

the steady-state solver. In order to preserve old controller behavior, the ET rank groups need to have higher

numbers than the CV rank groups. If you are upgrading a controller with external targets enabled, you must

open your CCF in DMCplus Build and manually set the ranks to values that reflect your optimization

strategy. Failure to do so could result in unexpected controller behavior.

Applies to: CVs with External Targets (Dependent Section)

Data Type: Integer

Access: Read Only

Range: 1 to 9999

Default: 0 (Required Entry)

Keywords: LOCAL CONSTANT READ

Related Topics: CVRANKL, ETCRU, ETMRL, ETMRU

ETCRNG

ETCRNG specifies a range for the external target. The upper limit for the external target is set to

ETCV+ETCRNG/2. The lower limit for the external target is set to ETCV-ETCRNG/2. Any value within

these ranges will be considered a feasible value by the steady-state solver.

Applies to: CVs with External Targets (Dependent Section)

Data Type: Float

Access: Read Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: ETMRNG, ETCV

ETCRU

External Target rank for the upper limit for this dependent variable. This entry is only used when there is an

external target for this variable.

Page 200: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 200 Víctor J. Cuadrado Alvarado

1 - 999 Valid CV External Target ranks. The lower the rank, the more important the ranking.

1000 Special BIAS ranking indicating a soft limit.

9999 External Target disabled for this CV.

As of DMCplus version 4.0, the ET and CV rank groups are no longer considered distinct. In addition, valid

values for external target ranks now include both 1000 and 9999. Rank 1000 constraints are considered in the

economic optimization only (not in the feasibility calculations) and rank 9999 constraints are disregarded in

the steady-state solver. In order to preserve old controller behavior, the ET rank groups need to have higher

numbers than the CV rank groups. If you are upgrading a controller with external targets enabled, you must

open your CCF in DMCplus Build and manually set the ranks to values that reflect your optimization

strategy. Failure to do so could result in unexpected controller behavior.

Applies to: CVs with External Targets (Dependent Section)

Data Type: Integer

Access: Read Only

Range: 1 to 9999

Default: 0 (Required Entry)

Keywords: LOCAL CONSTANT READ

Related Topics: CVRANKU, ETCRL, ETMRL, ETMRU

ETCSEC

External Target time in seconds for this dependent variable in DMCplus internal time format (see LSTSEC).

The External Target solution time is validated using the combined values of ETCSEC and ETCDAY. If this

combined value indicates that the target is too old (compared to ETSTT), the External Target status

(ETCSTA) for this variable will be set to stale.

Applies to: CVs with External Targets (Dependent Section)

Data Type: Integer

Access: Read Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: READ LOCAL

Related Topics: ETCDAY, ETCSTA, ETSTT, LSTDAY, LSTSEC

ETCSRV

External Target dependent variable operations service switch:

0 (OFF) Disable External Target for this dependent variable

1 (ON) Enable External Target for this dependent variable

Applies to: CVs with External Targets (Dependent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: 0 (Required Entry)

Page 201: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 201 Víctor J. Cuadrado Alvarado

Keywords: READ LOCAL CONSTANT

Related Topics: ETCSWC

ETCSTA

Status of this dependent variable to be supplied to the External Targeting agent. Colors in square brackets ( [ ]

) indicate the color displayed on the View operator screens for the specified condition:

-1 (BAD) Bad status [red]

0 (GOOD) Variable is in service and can accept an external target [green]

1 (STALE) Last update time for this external target is too old (defined by comparing

ETCDAY and ETCSEC with ETSTT) [yellow]

2 (READY) Accepting External Target but is not implementing the current value of ETCV

[blue]

When ETENB=1 (RTO Mode) the external target facility provides full RT-OPT support including checks for

the ETCSTA=2 condition that indicates that the ET is not being used currently due to staleness but a "new"

ETCV value will be used when received. This state is a "Ready" state for the ET. The facility also provides for

accurate prediction mode solution and shedding of stale ETs only when one of the ET switches

(ETREQ,ETCSRV,ETCSWC) has been turned off.

Note to RT-OPT users: RT-OPT will only need to look at ONSTS for the controller and ETCSTA for the

optimizer target to know if a target is on control and on optimization.

When ETENB=2 (IRV Mode) the external target facility operates in a simplified manner designed for

applications where only IRVs will be implemented. ETSTT, ETCDAY, ETCSEC are all ignored. ETREQ is

locked ON and no staleness checking is done.

Also, the ET messaging is suppressed except for ETCV validation messages. If an ETCSWC is inadvertently

set to 1, it is adjusted to 2 and messaged. The only possible statuses are BAD (-1) and GOOD (0).

Applies to: CVs with External Targets (Dependent Section)

Data Type: Integer

Access: Write Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: WRITE LOCAL

Related Topics: ETCDAY, ETCSEC, ETCV, ETENB, ETSTT, ETREQ

ETCSWC

External Target dependent variable switch. Allows the engineer or a transform to:

0 (OFF) Do not supply an external target for this variable

1 (RTO) Use as an external target (e. g. RTO target) with staleness checking (defined by

comparing ETCDAY and ETCSEC with ETSTT)

2 (IRV) Use as an IRV (no staleness checking)

Applies to: CVs with External Targets (Dependent Section)

Data Type: Integer

Access: Read Only

Page 202: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 202 Víctor J. Cuadrado Alvarado

Range: 0 to 2

Default: 0 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: ETCDAY, ETCSEC, ETCSRV, ETCSTA, ETSTT

ETCTRK

If the ET Track switch is ON and ETSTS is transitioning from OFF to ON, (or the variable's ETCSRV is

transitioning from OFF to ON) a tracked stale ETCV will be set to SSDEP and a tracked stale ETMV will be

set to SSMAN.

IRV’s will always track if this switch is set, but RTO Timer ET’s will only track if they are stale.

Applies to: CVs with External Targets (Dependent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: 0 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: ETCV, SSDEP, SSMAN, ETMV, ETSTS, ETCSRV

ETCV

External Target for this dependent variable. It is only used when External Targeting is enabled and active

and this CV is able to accept External Targets.

Applies to: CVs with External Targets (Dependent Section)

Data Type: Float

Access: Read/Write

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: RDWRT READ LOCAL CONSTANT

Related Topics: ETCDAY, ETCSEC, ETCSRV, ETCSWC, ETMV

ETENB

Master External Target interaction enabling switch:

0 (OFF) External Target facility is Disabled.

1 (RTO) Enabled for full RT-OPT support.

2 (IRV) Enabled for IRV type External Targets only.

If enabled, then the individual variable parameters govern their interaction with the source of External

Targets. If disabled, all ET parameters are ignored.

When ETENB=1 (RTO Mode) the external target facility provides full RT-OPT support including checks for

the ETxSTA=2 (where x can be M or C for MV or CV) condition that indicates that the ET is not being used

currently due to staleness but a "new" ETxV value will be used when received. This state is a "Ready" state

for the ET. The facility also provides for accurate prediction mode solution and shedding of stale ETs only

Page 203: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 203 Víctor J. Cuadrado Alvarado

when one of the ET switches (ETREQ,ETxSRV,ETxSWC) has been turned off.

Note to RT-OPT users: RT-OPT will only need to look at ONSTS for the controller and ETxSTA for the

optimizer target to know if a target is on control and on optimization (where "x" will either be M or C for

Manipulated or Controlled variables).

When ETENB=2 (IRV Mode) the external target facility operates in a simplified manner designed for

applications where only IRVs will be implemented. ETSTT, ETMCST, ETMCRT, ETxDAY, ETxSEC are

all ignored. ETREQ is locked ON, no staleness checking is done and no swapping of steady-state costs is

performed. Also, the ET messaging is suppressed except for ETxV validation messages. If an ETxSWC is

inadvertently set to 1, it is adjusted to 2 and messaged. The only possible statuses are BAD (-1) and GOOD

(0).

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Read Only

Range: 0 to 2

Default: 0 (Required Entry)

Keywords: CONSTANT

Note: This setting has no effect in SmartStep but serves to alert the user that the SmartStep

tester CCF was taken from a DMCplus application that uses External Targets. The External Target

information is preserved by SmartStep but never used.

Related Topics: ETSHOW

ETMAGE

ETMAGE is calculated in seconds as (current time - ET update time ), where ET update time is the time

when the external target was last updated. The ET update time can be determined from the combined values

of ETMSEC and ETMDAY. If ETMAGE indicates that the target is too old (compared to ETSTT), the

External Target status (ETMSTA) for this variable will be set to stale.

Applies to: MVs with External Targets (Independent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: LOCAL WRITE

Related Topics: ETSTT, ETMSTA, ETMAGE, ETMSEC, ETMDAY

ETMCLCRT

Manipulated variable steady-state cost criterion for use when an external target is being used for this variable

and the Composite is also being used:

If ETMCLCRT = 0 (Economic criterion) ETMCLCST is the cost,

If ETMCLCRT = 1 (Minimum movement criterion) ABS(ETMCLCST) is the movement penalty.

This value represents the cost of increasing a manipulated variable by one unit.

Page 204: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 204 Víctor J. Cuadrado Alvarado

Applies to: MVs with External Targets (Independent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: 0 (Required Entry)

Keywords: LOCAL READ

Related Topics: CST, LPCRIT, ETMCRT, ETMCLCST

ETMCLCST

Manipulated variable steady-state cost factor for use when an external target is being used for this variable

and the Composite is also being used:

If ETMCLCRT = 0 (Economic criterion) ETMCLCST is the cost,

If ETMCLCRT = 1 (Minimum movement criterion) ABS(ETMCLCST) is the movement penalty.

This value represents the cost of increasing a manipulated variable by one unit.

Applies to: MVs with External Targets (Independent Section)

Data Type: Float Access: Read Only

Range: -9998 to (No Maximum)

Default: 1 (Required Entry)

Keywords: LOCAL READ

Related Topics: CST, LPCRIT, ETMCST, ETMCLCRT

ETMCRT

Manipulated variable steady-state cost criterion for use when an external target is being used for this variable:

0 (COST) Minimum Cost

1 (MOVE) Minimum Movement

Applies to: MVs with External Targets (Independent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: 0 (Required Entry)

Keywords: LOCAL READ

Related Topics: ETMCST, LPCRIT, CST

ETMCST

Manipulated variable steady-state cost factor for use when an external target is being used for this variable:

If ETMCRT = 0 (Economic criterion) ETMCST is the cost,

Page 205: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 205 Víctor J. Cuadrado Alvarado

If ETMCRT = 1 (Minimum movement criterion) ABS(ETMCST) is the movement penalty.

This value represents the cost of increasing a manipulated variable by one unit.

Applies to: MVs with External Targets (Independent Section)

Data Type: Float

Access: Read Only

Range: -9998 to (No Maximum)

Default: 1 (Required Entry)

Keywords: LOCAL READ

Related Topics: CST, ETMCRT

ETMDAY

External Target time in days for this manipulated variable in DMCplus internal time format (see LSTDAY).

The External Target solution time is validated using the combined values of ETMSEC and ETMDAY. If this

combined value indicates that the target is too old (compared to ETSTT), the External Target status

(ETMSTA) for this variable will be set to stale.

Applies to: MVs with External Targets (Independent Section)

Data Type: Integer

Access: Read Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: READ LOCAL

Related Topics: ETMSEC, ETMSTA, ETSTT, LSTDAY, LSTSEC

ETMECEL

The independent variable lower external target equal concern error is used to weight the amount of violation

for equally ranked external targets. If the solution type ETMLPQL is LP then the weighted sum of the

absolute value of the violations is minimized. If the solution type is QP, then the weighted sum of the

squared violations is minimized.

Applies to: MVs with External Targets (Independent Section)

Data Type: Float

Access: Read Only

Range: 1.0E-6 to 1.0E6

Default: 1 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: ETMECEU, ETMLPQL, ETMRL

ETMECEU

The independent variable upper external target equal concern error is used to weight the amount of violation

for equally ranked external targets. If the solution type ETMLPQU is LP then the weighted sum of the

Page 206: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 206 Víctor J. Cuadrado Alvarado

absolute value of the violations is minimized. If the solution type is QP, then the weighted sum of the

squared violations is minimized.

Applies to: MVs with External Targets (Independent Section)

Data Type: Float

Access: Read Only

Range: 1.0E-6 to 1.0E6

Default: 1 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: ETMECEL, ETMLPQU, ETMRU

ETMLPQL

Solution type for the lower external target for this independent variable:

0 LP - linear

1 QP - quadratic or least squares

The solution type determines how equally ranked constraints behave in the presence of infeasibilities. If the

solution type is LP, then the weighted sum of the absolute values of the infeasibilities is minimized. If the

solution type is QP, then the weighted sum of the squared infeasibilities is minimized. The weighting is also

squared in the QP case. In both cases, the weighting is the inverse of the lower external target equal concern:

ETMECEL.

Applies to: MVs with External Targets (Independent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: Build automatically sets this value based on your selections.

Keywords: LOCAL READ CONSTANT

Related Topics: ETMLPQU, ETMRL

ETMLPQU

Solution type for the upper external target for this independent variable:

0 LP - linear

1 QP - quadratic or least squares

The solution type determines how equally ranked constraints behave in the presence of infeasibilities. If the

solution type is LP, then the weighted sum of the absolute values of the infeasibilities is minimized. If the

solution type is QP, then the weighted sum of the squared infeasibilities is minimized. The weighting is also

squared in the QP case. In both cases, the weighting is the inverse of the upper external target equal concern:

ETMECEU.

Applies to: MVs with External Targets (Independent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Page 207: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 207 Víctor J. Cuadrado Alvarado

Default: Build automatically sets this value based on your selections.

Keywords: LOCAL READ CONSTANT

Related Topics: ETMLPQL

ETMNEW

The ETMNEW switch signals the controller that a new external target value has been posted. If the switch is

set to 1, the controller sets ETMDAY and ETMSEC to the current time, resets ETMAGE to 0, and resets

ETMNEW to 0 after execution.

0 A new external target is not yet available.

1 A new external target has been posted.

Applies to: MVs with External Targets (Independent Section)

Data Type: Integer

Access: Read/Write

Range: 0 to 1

Default: 0 (Required Entry)

Keywords: RDWRT LOCAL

Related Topics: ETMDAY, ETMSEC, ETMAGE, ETCNEW

ETMRL

External Target rank for the lower limit for this manipulated variable. This entry is only used when there is an

external target for this variable.

1 - 999 Valid MV External Target ranks. The lower the rank, the more important the ranking.

1000 Special BIAS ranking indicating a soft limit.

9999 External Target disabled for this MV.

As of DMCplus version 4.0, the ET and CV rank groups are no longer considered distinct. In addition, valid

values for external target ranks now include both 1000 and 9999. Rank 1000 constraints are considered in the

economic optimization only (not in the feasibility calculations) and rank 9999 constraints are disregarded in

the steady-state solver. In order to preserve old controller behavior, the ET rank groups need to have higher

numbers than the CV rank groups. If you are upgrading a controller with external targets enabled, you must

open your CCF in DMCplus Build and manually set the ranks to values that reflect your optimization

strategy. Failure to do so could result in unexpected controller behavior.

Applies to: MVs with External Targets (Independent Section)

Data Type: Integer

Access: Read Only

Range: 1 to 9999

Default: 0 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: ETCRL, ETCRU, ETMRU

ETMRNG

Page 208: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 208 Víctor J. Cuadrado Alvarado

ETMRNG specifies a range for the external target. The upper limit for the external target is set to

ETMV+ETMRNG/2. The lower limit for the external target is set to ETMV-ETMRNG/2. Any value within

these ranges will be considered a feasible value by the steady-state solver.

Applies to: MVs with External Targets (Independent Section)

Data Type: Float

Access: Read Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: ETCRNG, ETMV

ETMRU

External Target rank for the upper limit for this manipulated variable. This entry is only used when there is an

external target for this variable.

1 - 999 Valid MV External Target ranks. The lower the rank, the more important the ranking.

1000 Special BIAS ranking indicating a soft limit.

9999 External Target disabled for this MV.

As of DMCplus version 4.0, the ET and CV rank groups are no longer considered distinct. In addition, valid

values for external target ranks now include both 1000 and 9999. Rank 1000 constraints are considered in the

economic optimization only (not in the feasibility calculations) and rank 9999 constraints are disregarded in

the steady-state solver. In order to preserve old controller behavior, the ET rank groups need to have higher

numbers than the CV rank groups. If you are upgrading a controller with external targets enabled, you must

open your CCF in DMCplus Build and manually set the ranks to values that reflect your optimization

strategy. Failure to do so could result in unexpected controller behavior.

Applies to: MVs with External Targets (Independent Section)

Data Type: Integer

Access: Read Only

Range: 1 to 9999

Default: 0 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: ETCRL, ETCRU, ETMRL

ETMSEC

External Target time in seconds for this manipulated variable in DMCplus internal time format (see

LSTSEC). The External Target solution time is validated using the combined values of ETMSEC and

ETMDAY. If this combined value indicates that the target is too old (compared to ETSTT), the External

Target status for this variable will be set to stale.

Applies to: MVs with External Targets (Independent Section)

Data Type: Integer

Access: Read Only

Page 209: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 209 Víctor J. Cuadrado Alvarado

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: READ LOCAL

Related Topics: ETMDAY, ETMSTA, ETSTT, LSTDAY, LSTSEC

ETMSRV

ET manipulated variable operations service switch:

0 (OFF) Disable External Target for this manipulated variable

1 (ON) Enable External Target for this manipulated variable

Applies to: MVs with External Targets (Independent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: 0 (Required Entry)

Keywords: READ LOCAL

Related Topics: ETMSWC

ETMSTA

Status of this manipulated variable to be supplied to the External Targeting agent. Colors in square brackets (

[ ] ) indicate the color displayed on the View operator screens for the specified condition:

-1 (BAD) Bad status [red]

0 (GOOD) Variable is in service and can accept an external target [green]

1 (STALE) Last update time for this external target is too old (defined by comparing

ETMDAY and ETMSEC with ETSTT) [yellow]

2 (READY) Accepting External Target but is not implementing the current values of ETMV

[blue]

When ETENB=1 (RTO Mode) the external target facility provides full RT-OPT support including checks for

the ETMSTA=2 condition that indicates that the ET is not being used currently due to staleness but a "new"

ETMV value will be used when received. This state is a "Ready" state for the ET. The facility also provides

for accurate prediction mode solution and shedding of stale ETs only when one of the ET switches

(ETREQ,ETMSRV,ETMSWC) has been turned off.

Note to RT-OPT users: RT-OPT will only need to look at ONSTS for the controller and ETMSTA for the

optimizer target to know if a target is on control and on optimization.

When ETENB=2 (IRV Mode) the external target facility operates in a simplified manner designed for

applications where only IRVs will be implemented. ETSTT, ETMCST, ETMCRT, ETMDAY, ETMSEC

are all ignored. ETREQ is locked ON, no staleness checking is done and no swapping of MV steady-state

costs is performed.

Also, the ET messaging is suppressed except for ETMV validation messages. If an ETMSWC is

inadvertently set to 1, it is adjusted to 2 and messaged. The only possible statuses are BAD (-1) and GOOD

(0).

Applies to: MVs with External Targets (Independent Section)

Page 210: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 210 Víctor J. Cuadrado Alvarado

Data Type: Integer

Access: Write Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: WRITE LOCAL

Related Topics: ETCSTA, ETENB, ETMDAY, ETMSEC, ETMV, ETSTT

ETMSWC

External Target manipulated variable switch. Allows the engineer or a transform to:

0 (OFF) Do not supply an external target for this variable

1 (RTO) Use as an external target (e. g. RTO target) with staleness checking (defined by

comparing ETMDAY and ETMSEC with ETSTT)

2 (IRV) Use as an IRV (no staleness checking)

Applies to: MVs with External Targets (Independent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 2

Default: 0 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: ETMDAY, ETMSEC, ETMSRV, ETSTT

ETMTRK

If the ET Track switch is ON and ETSTS is transitioning from OFF to ON, (or the variable's ETMSRV is

transitioning from OFF to ON) a tracked stale ETMV will be set to SSMAN and a tracked stale ETCV will

be set to SSDEP.

IRV’s will always track if this switch is set, but RTO Timer ET’s will only track if they are stale.

Applies to: MVs with External Targets (Independent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: 0 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: ETMV, SSDEP, SSMAN, ETCV, ETSTS, ETMSRV

ETMV

External Target for this manipulated variable. It is only used when external targeting is enabled and active

and this MV is able to accept External Targets.

Applies to: MVs with External Targets (Independent Section)

Data Type: Float

Page 211: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 211 Víctor J. Cuadrado Alvarado

Access: Read/Write

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: RDWRT READ LOCAL CONSTANT

Related Topics: ETMDAY, ETMSEC, ETMSRV, ETMSWC, ETCV

ETREQ

A switch implementation that allows the DMCplus controller to differentiate between the requested ET state

and the actual ET state. In practice the user will request that ET processing be turned ON by setting the

ETREQ to ON. DMCplus will examine the ETREQ switch and will perform validity check on the ET data

fields when the switch is in the ON state.

DMCplus will delay one cycle in order to generate a current steady-state solution. It then will set any

ETMTRK and ETCTRK variables, set the ETSTS to ON, complete ET data validation, and -- if the data

passes all the validitity checks -- begin using ET’s.

If the ET’s shed, the value of both ETREQ and ETSTS will be set to OFF and an appropriate message will be

issued to the operator log. ETSTS being set to OFF will disable all ET’s, including the IRVs.

Applies to: External Target General variables (ET Section)

Data Type: Integer

Access: Read/Write

Range: 0 to 1

Default: 0 (Required Entry)

Keywords: RDWRT LOCAL READ CONSTANT

Note: This switch together with ETSTS replace the parameter ETON found in previous versions

of DMCplus.

Related Topics: ETSTS

ETSHED

ETSHED is the shed time for external targets expressed in minutes. Staleness checking and shed checking

are only performed on the ET’s of type ETMSWC=1 and ETCSWC=1. If all the ETMSWC=1 and

ETCSWC=1 ET’s are more than ETSHED old then the ET’s will SHED. This will result in the ETREQ and

ETSTS being set to OFF disabling all ET’s, including the IRVs.

Applies to: External Target General variables (ET Section)

Data Type: Integer

Access: Read Only

Range: 0 to (No Maximum)

Default: 3000 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: ETMSWC, ETCSWC, ETREQ, ETSTS

ETSHOW

Page 212: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 212 Víctor J. Cuadrado Alvarado

Include ET information in the CCF.

0 Do not include ET information in the CCF

1 Include ET information in the CCF

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT

Note: This setting has no effect in SmartStep but serves to alert the user that the SmartStep

tester CCF was taken from a DMCplus application that uses External Targets. The External Target

information is preserved by SmartStep but never used.

Related Topics: ETENB

ETSTS

Master External Target ON/OFF Status

0 OFF

1 ON

An ON status indicates that the Master External Target Request switch (ETREQ) has been enabled, validity

checks have passed, and external targets will be implemented for those variables whose individual External

Target dependent and independent variable switches have been enabled. If the status is OFF,

implementation of External Targets for all variables is ignored.

Applies to: External Target General variables (ET Section)

Data Type: Integer

Access: Write Only

Range: 0 to 1

Default: 0 (Required Entry)

Keywords: LOCAL WRITE

Related Topics: ETREQ, ETMSWC, ETCSWC

ETSTT

External Target time tolerance in minutes. Used to determine when an external target is too old. This

tolerance is compared to the last update time (defined by ETCDAY, ETCSEC for CVs and ETMDAY,

ETMSEC for MVs) each cycle and, if the targets are recent enough (see LSTDAY and LSTSEC), they are

allowed to be considered.

Applies to: External Target General variables (ET Section)

Data Type: Integer

Access: Read Only

Range: No Restrictions

Default: 3000 (Required Entry)

Page 213: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 213 Víctor J. Cuadrado Alvarado

Keywords: CONSTANT LOCAL

Note: Only used by External Targets with staleness checking enabled.

Related Topics: ETCDAY, ETCSEC, ETMDAY, ETMSEC, LSTDAY, LSTSEC

FMOV

Manipulated variable calculated future moves. FMOV holds the projected future manipulated variable values

at selected future intervals.

We recommend that FMOV values be available for display at least during commissioning for engineering, if

not for operations.

Applies to: MVs only if Output Future Moves and Predictions to Process Control System

option enabled (Independent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: LOCAL WRITE

Note: FMOV can be output to the process control system by checking the "Output future moves

and predictions to PCS Tags" option (FPENB) in Build, where PCS stands for Process Control

System.

Related Topics: FMOVT, FPENB

FMOVT

Time in minutes into the future of each of the Manipulated variable calculated future moves. These values

are sent only on a DMCplus controller initialization. They are available for configuring in the Configure

section of DMCplus Build.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Float

Access: Write Only

Range: Positive Floating-point values (including zero)

Default: 0

Keywords: (None) INIT

Related Topics: FMOV, FPENB, PDEPT

FPENB

This entry is an internal flag that DMCplus Build uses to display future move and prediction entries so you

can define entities for those values (to send to the process control system).

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Read Only

Page 214: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 214 Víctor J. Cuadrado Alvarado

Range: 0 to 1

Default: Build automatically sets this value based on your selections.

Keywords: (None) CONSTANT

Note: Used by DMCplus Build only.

Related Topics: FMOV, FMOVT, PDEPC, PDEPT, PFMDEP

GMULT

Some situations require the use of variable model gains. With DMCplus, you can manually adjust the gain

using a multiplier (gain multiplier) applied to a response curve for a dependent/independent variable pair.

You may apply a gain multiplier to any or all of the response curves in the model. The multiplier is applied to

the entire curve, not just the steady-state gain. This needs to be implemented with greater care than a staticgain

model because the validation routines in the controller do not protect against bad or nonsensical gain

changes. The gain changes need to be done "smoothly" or the controller may not react properly. The only

check made is that the absolute value of GMULT specified must be between a lower limit GMULTL and

upper limit GMULTU.

The following steps should be performed using DMCplus Build to enable the use of GMULT.

1. Add an entry, GMULTE, to the Configure section as a User-Defined, Integer constant with a value of 1.

2. By default the controller will only accept gain multipliers with absolute values between 0.5 and 2.0. To

change this, you will need to add two additional User-Defined entries for GMULTU and GMULTL in the

Configure section for defining the upper and lower bounds for the model gain multiplier. Configure the entry

data types as Real, use a keyword of LOCAL, and set the default values to the desired number. The absolute

value of GMULT is limited between GMULTL and GMULTU. GMULTL and GMULTU should be

expressed as non-negative real values. If any of the GMULT values exceeds either GMULTL or GMULTU,

then the controller turns off so that the predictions are not destroyed.

The values for Gain Multipliers can be viewed and set from the Model View in the Web Interface. To set the

values in Simulate, you must use the "Internal Variables" dialog. When you save a CCF from DMCplus

Manage or Simulate, the GMULT entries for individual model curves that have a value other than 1.0 get

created in the CCF and their values saved. Therefore, there is no need to manually create these entries using

DMCplus Build unless a calculation specifically references them. To manually add a Gain Multiplier entry

for a model curve in the CCF, do the following:

1. Add GMULT as a User-Defined Real entry in the appropriate independent variable section. Use a

keyword of READ or LOCAL. It MUST be placed in the independent variable section for the curve that is to

be affected. Use the following format to name the entry:

GMULTxxx

where xxx is the dependent variable number.

In older versions of DMCplus, users were allowed to define GMULT entries in the General section. As of

AMS 4.1, if DMCplus Build finds such entries, they will be moved automatically to the respective MV

section when loading, validating or saving the CCF.

Applies to: MVs and FFs (Independent Section)

Data Type: Float

Access: Read Only

Range: No Restrictions

Default:

Page 215: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 215 Víctor J. Cuadrado Alvarado

Keywords: (None) READ LOCAL

Note: If you add, remove, or reorder the dependent variables in your model, DMCplus Build will

not automatically renumber the GMULTxxx parameters. This must be done manually.

Related Topics: GMULTE, GMULTL, GMULTU

GMULTE

Flag that enables use of Gain Multipliers (GMULT).

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: 0

Keywords: (None) CONSTANT

Related Topics: GMULT, GMULTL, GMULTU

GMULTL

Sets lower limit for the absolute value of GMULT.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Float

Access: Read Only

Range: Positive Floating-point values (including zero)

Default: 0.5

Keywords: (None) CONSTANT LOCAL

Related Topics: GMULT, GMULTE, GMULTU

GMULTU

Sets upper limit for the absolute value of GMULT.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Float

Access: Read Only

Range: Positive Floating-point values (including zero)

Default: 2.0

Keywords: (None) CONSTANT LOCAL

Related Topics: GMULT, GMULTE, GMULTL

IABORT

DMCplus controller error indicator:

0 No errors

Page 216: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 216 Víctor J. Cuadrado Alvarado

1 Controller OFF, moves not implemented

5 Controller OFF, moves not calculated

9 Controller OFF, only ONREQ and ONSTS updated in process control system

10 Fatal Error -- exit controller program

IABORT indicates the status of the most recent controller cycle.

Applies to: Controller General variables (General Section)

Data Type: Integer

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) WRITE LOCAL

IMBCNT

Actual number of imbalance counts. This value is compared against MXNIMB.

Applies to: All CVs (Dependent Section)

Data Type: Integer

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) LOCAL WRITE

Related Topics: MXNIMB

IMBMLT

Ramp imbalance multiplier.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Float

Access: Read Only

Range: 1.0 to 1000.0

Default: 3.0

Keywords: (None) CONSTANT

Note: For AspenTech use only.

IMBTOL

Ramp imbalance tolerance.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Float

Access: Read Only

Range: 0.0 to 0.01

Page 217: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 217 Víctor J. Cuadrado Alvarado

Default: 1.00E-05

Keywords: (None) CONSTANT

Note: For AspenTech use only.

IMISS

IMISS is the actual number of missed cycles. It is calculated as the delta time minus half a control interval

(CTLINT) divided by the control interval:

IMISS = INT( ( DELTAT - CTLINT/2 ) / CTLINT )

where the delta time DELTAT is calculated as the current time minus the last time (LSTTIM) and INT means

that the value is truncated to an integer.

Applies to: Controller General variables (General Section)

Data Type: Integer

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) LOCAL WRITE

Related Topics: LSTTIM, CTLINT

INDFLG

Independent variable condition flag. Holds the most recent warning or error code detected for each

independent variable. INDFLG is included for debugging and for systems where the full functionality of the

message queues cannot be supported.

The values displayed by INDFLG and DEPFLG are the message numbers found in the message.dat file.

Applies to: MVs and FFs (Independent Section)

Data Type: Integer

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) WRITE LOCAL

Related Topics: DEPFLG

INDSTA

Independent variable DMCplus status:

For manipulated variables:

-2 (ENG_OFF) Engineer has turned this variable off via SREIND

-1 (BAD) Bad for Prediction and Control. Cannot use at all. Either the measurement status is

bad, the value is outside a validity limit, or the operator has turned this variable off via SRVIND.

0 (GOOD) Good for both Prediction and Control. Normal state.

1 (PRED_ONLY) Prediction Only. Good for Prediction, Bad for Control. Will be used as a

feedforward variable.

Page 218: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 218 Víctor J. Cuadrado Alvarado

2 (READY) Conditional GOOD Status. Set only when DMCplus controller is OFF. Indicates

that although LOOPST is OFF, all other requirements for a GOOD status have been satisfied. The

controller will calculate moves for this MV as if its status were GOOD.

For feedforward variables:

-2 (ENG_OFF) Engineer has turned this variable off via SREIND

-1 (BAD) Bad for Prediction. Cannot use at all. Either the measurement status is bad, the

value is outside a validity limit, or the operator has turned this variable off via SRVIND.

0 (GOOD) Good for Prediction. Normal state.

INDSTA is set by the controller validation routines and used to determine which variables are included in the

controller calculation for this cycle

Applies to: MVs and FFs (Independent Section)

Data Type: Integer

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) WRITE LOCAL

Related Topics: DEPSTA, LOOPST, SREIND, SRVIND

INTSUM

Internal move accumulation switch:

0 OFF

1 ON

Defaulted to OFF, this switch allows the controller to maintain its own copy of setpoints in a higher

resolution than the process control system.

When INTSUM is set to 1, the controller sums the changes to the MV setpoints (VINDSP) and maintains an

internal copy of the setpoint that is written out. This calculation prevents the loss of the small moves that are

not read back from the process control system. The controller actually writes out each move, however the

process control system may lose the small moves (less than MVTOL). DMCplus keeps up with what was

written out and adds the new moves to that value each time so that the small moves are not lost permanently.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: 0 (Required Entry)

Keywords: CONSTANT

Note: For AspenTech use only.

Related Topics: MVTOL

IPMIND

Actual number of manipulated variables (excluding feedforward variables) in the controller.

Page 219: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 219 Víctor J. Cuadrado Alvarado

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Write Only

Range: Positive Integer values (including zero)

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT INIT

Related Topics: IPNDEP, IPTIND

IPNCI

Number of intervals to steady state.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Read Only

Range: Positive Integer values (including zero)

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT

IPNDEP

Actual number of dependent variables in the controller.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Write Only

Range: Positive Integer values (including zero)

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT INIT

Related Topics: IPMIND, IPTIND

IPNEQ

Actual number of equations in the control matrix. Valid range:

15 <= IPNEQ <= 21

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Write Only

Range: 15 to 21

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT INIT

IPNMOV

Page 220: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 220 Víctor J. Cuadrado Alvarado

Actual number of calculated control moves. Valid range:

8 <= IPNMOV <= 14

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Write Only

Range: 8 to 14

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT INIT

IPNSUB

Number of subcontrollers. If zero, subcontroller logic is ignored. Cannot be negative or one.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Read Only

Range: Positive Integer values (including zero)

Default: Build automatically sets this value based on your selections.

Keywords: (None) CONSTANT

IPSKIP

Ratio of model coefficients (IPXNCI) to controller coefficients (IPNCI). Must be an integer. Valid range:

1 <= IPSKIP

Values greater than 5 are not recommended.

In order to reduce the computational resources required to solve the dynamic move calculation, DMCplus is

able to solve the move calculation at a lower resolution than that used for the model prediction. In other

words, the control calculation may be performed using a time interval that is longer than the time interval

used in the prediction. IPSKIP is the number of prediction intervals in one control interval.

IPSKIP and IPNCI are determined automatically based on IPXNCI, which is a property of the model. The

procedure is as follows:

If extended moves (XTDMOV) has been requested, IPNCI will be the largest legal value

which is evenly divisible into IPXNCI. Legal values for IPNCI are 30, 45, 60, 75, 90, 105, 120.

If extended moves has not been requested, IPNCI is assigned the value of 30.

In either case IPSKIP is set equal to the integer ratio of IPXNCI to IPNCI.

Note that IPXNCI must be an integer multiple of one of the legal values of IPNCI. Any model not meeting

this criterion cannot be used for control by DMCplus.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Read Only

Range: 1 to (No Maximum)

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT

Page 221: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 221 Víctor J. Cuadrado Alvarado

Related Topics: XTDMOV, IPNCI, IPXNCI

IPTIND

Actual number of independent variables (MVs + FFs) in the controller.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Write Only

Range: Positive Integer values (including zero)

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT INIT

Related Topics: IPMIND, IPNDEP

IPXCTH

Number of intervals in DMCplus controller time horizon.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Read Only

Range: Positive Integer values (including zero)

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT

IPXNCI

Number of coefficients used in the model for this DMCplus controller.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Read Only

Range: 30 to (No Maximum)

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT

Related Topics: MAXMIS, MCTOL

IREVRS

Manipulated variable reverse action indicator:

0 (NO) Direct acting (increase setpoint, output increases)

1 (YES) Reverse acting (increase setpoint, output decreases)

IREVRS is used solely to determine setpoint movement restrictions based on output movement restrictions

indicated by the anti-windup code, AWSCOD. It has the effect of reversing states 1 and 2 of AWSCOD.

Page 222: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 222 Víctor J. Cuadrado Alvarado

Applies to: MVs only (Independent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: 0

Keywords: (None) CONSTANT LOCAL READ

Related Topics: AWSCOD

ISCET

Dependent variable External Target information indicator:

0 (FALSE) CV does not have ET information associated with it

1 (TRUE) CV does have ET information associated with it

This value is independent of the mode of ET behavior (ETCSWC). This parameter is generally used only by

Build to determine what information is displayed to the user.

Applies to: All CVs (Dependent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT

Related Topics: ETENB, ISFF, ISMET, ISRAMP, ISSIG

ISFF

Independent variable feedforward indicator:

0 (FALSE) Independent variable is potentially a manipulated variable

1 (TRUE) Independent variable is only a feedforward variable

Applies to: MVs and FFs (Independent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT

Related Topics: ISRAMP, ISSIG

ISMET

Manipulated variable External Target information indicator:

0 (FALSE) MV does not have ET information associated with it

1 (TRUE) MV does have ET information associated with it

This value is independent of the mode of ET behavior (ETMSWC). This parameter is generally used only by

Build to determine what information is displayed to the user.

Page 223: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 223 Víctor J. Cuadrado Alvarado

Applies to: MVs only (Independent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT

Related Topics: ETENB, ISCET, ISFF, ISRAMP, ISSIG

ISRAMP

Dependent variable ramp indicator:

0 (NONE) Not a Ramp variable

1 (RAMP) A true Ramp variable

2 (PSEUDO) A Pseudo-Ramp variable

Applies to: All CVs (Dependent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 2

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT

Related Topics: ISFF, ISSIG

ISSIG

Dependent variable intermittent signal indicator:

0 (FALSE) Normal continuously updated value

1 (TRUE) Intermittent signal (e.g. an analyzer)

Applies to: All CVs (Dependent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT

Related Topics: ISFF, ISRAMP

LDEPTG

Dependent variable lower operating target used in control calculations. This value must be at or within the

validity and engineering limits for the dependent variable and less than or equal to the upper target

(UDEPTG).

If dependent variable tracking is enabled (TRKDEP), the controller will adjust LDEPTG if it is greater than

the current dependent variable value when the controller is turned ON.

Page 224: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 224 Víctor J. Cuadrado Alvarado

This value will highlight in the Production Control Web interface if it is considered to be an active constraint.

For more information see DEPACT.

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Read/Write

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: RDWRT LOCAL READ

Related Topics: LDPENG, LVLDEP, TRKDEP, UDEPTG, UDPENG, UVLDEP

LDPENG

Dependent variable lower engineering limit. This value must be at or within the validity limits for the

dependent variable and less than or equal to the upper engineering limit (UDPENG).

If dependent variable tracking is enabled (TRKDEP), LDPENG is the lower bound on the dependent variable

targets (UDEPTG/LDEPTG) which can be written back to the process control system when the controller is

turned ON. LDPENG should be set by engineering to define the minimum allowable lower target for the

dependent variable.

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Read Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: READ LOCAL CONSTANT

Related Topics: LDEPTG, LVLDEP, TRKDEP, UDEPTG, UDPENG, UVLDEP

LICSTS

Minutes remaining until Control license expiration. Set to 14400 (10 days) when controller is running with a

valid license. Modified downward by a running controller when license is lost. Set to zero by a running

controller when no valid license has been obtained within the previous 10 days.

Applies to: Controller General variables (General Section)

Data Type: Integer

Access: Write Only

Range: No Restrictions

Default: 14400 (Required Entry)

Keywords: LOCAL AWRITE WRITE

Note: This variable is provided so that a Control license expiration alarm can be configured on

the DCS.

LISTSZ

Page 225: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 225 Víctor J. Cuadrado Alvarado

List size maximum for Connect:

-1 (Default) Connect doesn't break up lists into multiple Cim-IO lists.

> 0 Connect will break up lists into multiple Cim-IO lists of maximum size LISTSZ.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Read Only

Range: -1 to (No Maximum)

Default: -1

Keywords: (None) CONSTANT

Related Topics: WFAILM

LLINDM

Manipulated variable lower operating limit used in control calculations. This value must be at or within the

validity and engineering limits for the manipulated variable and less than or equal to the upper limit

(ULINDM).

If manipulated variable tracking is enabled (TRKMAN), the controller will adjust LLINDM if it is greater

than the current manipulated variable value when the controller is turned ON.

This value will highlight in the Production Control Web interface if it is considered to be an active constraint.

For more information see MANACT.

Applies to: MVs only (Independent Section)

Data Type: Float

Access: Read/Write

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: READ LOCAL RDWRT

Related Topics: LMVENG, LVLIND, TRKMAN, ULINDM, UMVENG, UVLIND

LMVENG

Manipulated variable lower engineering limit. This value must be less than or equal to the upper engineering

limit (UMVENG).

If manipulated variable tracking is enabled (TRKMAN), LMVENG is the lower bound on the adjustment of

manipulated variable limits (ULINDM/LLINDM). LMVENG should be set by engineering to define the

minimum allowable lower limit for the manipulated variable.

Applies to: MVs only (Independent Section)

Data Type: Float

Access: Read Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: LLINDM, LVLIND, TRKMAN, ULINDM, UMVENG, UVLIND

Page 226: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 226 Víctor J. Cuadrado Alvarado

LOOPST

Manipulated variable control loop status:

0 (FF) DMCplus controller cannot adjust this variable

1 (MV) DMCplus controller can adjust this variable

LOOPST identifies which manipulated variables the controller can move. If the controller is ON, a

manipulated variable with LOOPST = 0 will be treated as a feedforward variable (INDSTA = 1). If the

variable is critical (CRIIND = 1) the controller will be turned OFF.

If there is no process control system parameter analogous to LOOPST, you may have to write an input

calculation to derive this value. If using Cim-IO, the CBST "Smart Data Type" may be available for this

purpose. However, not all Cim-IO servers implement the smart data types (consult the Cim-IO server

documentation).

Applies to: MVs only (Independent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: 1 (Required Entry)

Keywords: READ LOCAL

Related Topics: CRIIND, INDSTA

LPCRIT

Steady-state manipulated variable criterion:

0 (COST) Minimum Cost

1 (MOVE) Minimum Movement

This entry determines the steady-state objective for this manipulated variable. If LPCRIT is 0, the steadystate

solver tries to minimize the actual cost of this variable. The variable will be driven up if the unit cost

(CST) is negative, or driven down if the unit cost is positive. If LPCRIT is set to 1, then minimizing

movement in either direction is the steady-state objective for this MV. In this case, CST is defined as the

penalty for movement away from the current value and must be specified as a non-negative number.

Applies to: MVs only (Independent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: 0 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: CST

LPOBJ

Steady-state objective function. This entry is the current value of the economic portion of the steady-state

objective function, based on the manipulated variable costs (CST) and cost criteria (LPCRIT). The steadystate

Page 227: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 227 Víctor J. Cuadrado Alvarado

solver searches for the solution which minimizes LPOBJ.

Applies to: Controller General variables (General Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) WRITE LOCAL

Related Topics: CST, LPCRIT

LPSTOL

LP Solution tolerance. LPSTOL is used to ensure that the dynamic moves calculated by the controller will

place the MVs at the desired steady-state values calculated by the LP (within a tolerance of LPSTOL).

Applies to: Controller Configuration variables (Configure Section)

Data Type: Float

Access: Read Only

Range: 0.0 to 0.01

Default: 0.01

Keywords: (None) CONSTANT

Note: For AspenTech use only.

Related Topics: LPTGRT

LPTGRT

Calculated by the controller. LPTGRT is a measure of how close the move trajectory is to the steady-state

target. Small numbers (<0.001) indicate that the move plan successfully implements the steady-state targets.

If the value calculated is greater than 1.0, an error message is generated stating: "5060:Sum of MV moves not

equal (<>) to steady-state solution."

Applies to: MVs and FFs (Independent Section)

Data Type: Float

Access: Read Only

Range: No Restrictions

Default: Keywords: (None) READ LOCAL

Related Topics: SUPMOV, LPSTOL

LRDPTG

Ramp dependent variable lower imbalance target. For ramps with a programmed imbalance (MXNIMB = -

1), LRDPTG is the lower limit on the allowed ramp imbalance, based on the ramp horizon (RHORIZ), the

Page 228: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 228 Víctor J. Cuadrado Alvarado

current dependent variable targets (UDEPTG/LDEPTG), and the current value of the dependent variable.

Applies to: Ramp CVs only (Dependent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) LOCAL WRITE

Related Topics: LDEPTG, MXNIMB, RHORIZ, UDEPTG, URDPTG

LSTDAY

Integer representation of the time of the last controller cycle in days since a fixed reference point (DMCplus

internal time).

Applies to: Controller General variables (General Section)

Data Type: Integer

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) LOCAL WRITE

Related Topics: LSTSEC, LSTTIM, THISTM

LSTSEC

Integer representation of the time of the last controller cycle in seconds since midnight of the day specified in

LSTDAY.

Applies to: Controller General variables (General Section)

Data Type: Integer

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) LOCAL WRITE

Related Topics: LSTDAY, LSTTIM, THISTM

LSTTIM

Floating point representation of the time of the last controller cycle in the form HHMMSS.0. If the process

control system cannot display THISTM, LSTTIM can provide assurances to operations that the controller is

running on time.

LSTTIM is no longer written automatically from the controller, so to output this value you must set a variable

equal to LSTTIM in a CALC and then write that variable to the process control system.

Following are sample lines that update the LSTTIM field:

[CALC]

Page 229: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 229 Víctor J. Cuadrado Alvarado

.MYTIME~~~AWRITE~~~R4~~~0.~~~""::"MAINPT.LSTTIM":DBVL:

.CALC0001~~~CALPUT~~~CH(15)~~~MYTIME = LSTTIM~~~

Applies to: Controller General variables (General Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) LOCAL WRITE

Related Topics: LSTDAY, LSTSEC, THISTM

LVLDEP

Dependent variable lower validity limit. If a dependent variable current value, operating limit, or engineering

limit is less than LVLDEP, the controller will treat it as a bad value. LVLDEP should be set by engineering

to define the acceptable range of values the dependent variable can assume.

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Read Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: READ LOCAL CONSTANT

Related Topics: LDEPTG, LDPENG, TRKDEP, UDEPTG, UDPENG, UVLDEP

LVLIND

Independent variable lower validity limit. If an independent variable current value, manipulated variable

operating limit, or manipulated variable engineering limit is less than LVLIND, it will be treated as a bad

value by the controller. LVLIND should be set by engineering to define the acceptable range of values the

independent variable can assume.

Applies to: MVs and FFs (Independent Section)

Data Type: Float

Access: Read Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: READ LOCAL CONSTANT

Related Topics: LLINDM, LMVENG, TRKMAN, ULINDM, UMVENG, UVLIND

MANACT

Manipulated variable active constraint indicator. MANACT indicates which manipulated variable constraint

is active in the steady-state solution. Characters in square brackets ( [ ] ) are characters displayed on the

View operator screens for the specified condition.

Page 230: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 230 Víctor J. Cuadrado Alvarado

0 [ ] NOT CONSTRAINED. The controller does not plan to move the variable to either its

upper or lower limit.

1 [U] UPPER LIMIT. The controller plans to move the variable to its upper limit.

2 [L] LOWER LIMIT. The controller plans to move the variable to its lower limit.

4 [^] SSSTEP IN UP DIRECTION. The controller plans to move the variable up toward the

upper limit, but that limit is more than SSSTEP away from the current value.

5 [v] SSSTEP IN DOWN DIRECTION. The controller plans to move the variable down toward

the lower limit, but that limit is more than SSSTEP away from the current value.

6 [0] ZERO MOVE DUE TO ZERO COST OR MINIMUM MOVE CRITERION.

7 [S] SETPOINT. The controller plans to move the variable to either the upper or lower limit,

and both limits are the same value (within some tolerance). Since an independent variable cannot

be moved outside the limits, then the variable is considered to be "clamped".

8 [-] INACTIVE. The variable is not used for control.

20 [X] ACTIVE AT EXTERNAL TARGET. The controller is planning to move the variable to the

external target value.

21 [XU] GAVE UP ABOVE EXTERNAL TARGET. The steady-state solver had to allow the

variable to move above the external target, but below the upper limit, in order to produce a solution.

22 [XL] GAVE UP BELOW EXTERNAL TARGET. The steady-state solver had to allow the

variable to move below the external target, but above the lower limit, in order to produce a solution.

Limit Highlighting in the Web Interface:

Depending on the value of DEPACT, the Web interface will highlight appropriate limits or steady-state

targets to show active constraints.

SmartStep Only -- In test modes (TEST, TEST-NOPULSE) SmartStep highlights one constraint per test

group. The SmartStep move calculation routine determines the most restrictive constraint (MV max test

step, MV upper limit, MV lower limit, CV test upper limit, CV test lower limit, CV ramp SP limit, etc.) that

limits the MV step size, and highlights only this constraint for the duration of the MV step. For example, if

the step size is limited by the CV lower test limit, then that value will be highlighted until the step is

completed, canceled, or superceded by a test group mode change. In control modes (CONTROL,

REPOSITION, LAB) SmartStep uses the DMCplus engine to calculate steady-state targets and the

highlighting reflects the constraints that are active for the target calculation.

Applies to: MVs only (Independent Section)

Data Type: Integer

Access: Write Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: LOCAL WRITE

Note: Extremely useful for operations display to illustrate to the operators and engineers against

which constraints the controller is pushing.

Related Topics: DEPACT, SSSTEP

MAXMIS

This entry is a read-only value that DMCplus Build sets automatically based on the Model file. The online

controller uses MAXMIS in the missed-cycle checking to determine whether to initialize predictions when

Page 231: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 231 Víctor J. Cuadrado Alvarado

missed cycles are detected. It is calculated as follows:

MAXMIS = IPXNCI / 10

where,

IPXNCI = Number of coefficients used in the model.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Read Only

Range: Positive Integer values (including zero)

Default: 0

Keywords: (None) CONSTANT

Related Topics: IPXNCI, MCTOL

MAXMOV

Manipulated variable maximum move. The largest change (in engineering units) the controller is allowed to

make in the manipulated variable setpoint in one cycle.

Applies to: MVs only (Independent Section)

Data Type: Float

Access: Read Only

Range: 0 to (No Maximum)

Default: 0 (Required Entry)

Keywords: LOCAL READ CONSTANT

Note: If MAXMOV = 0 and the variable is critical (CRIIND = 1), then the controller will be turned

off (ONSTS = 0).

Related Topics: CRIIND, ONSTS, SSSTEP

MCTOL

Missed cycle tolerance. Fraction of controller frequency that can be used for tolerance checking:

-1 Missed cycle checking is disabled. See messages.

>0 to 1 The percentage of the cycle frequency that the missed cycle check in the controller will

use to determine off-schedule runs and missed cycles.

For example, an MCTOL value of 0.8 for a controller scheduled to run every 60 seconds at the top of the

minute will provide 20% ( (1 - 0.8)*100) of 60 seconds (12 seconds) around the top of the minute (6 seconds

either way) as the missed cycle tolerance window.

The tolerance check can fail only MAXMIS number of times before predictions are initialized. The tolerance

check is based on the scheduled time of execution.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Float

Access: Read Only

Range: -1.0 to 1.0

Default: 0.8

Page 232: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 232 Víctor J. Cuadrado Alvarado

Keywords: (None) CONSTANT

Note: For AspenTech use only.

Related Topics: IPXNCI, MAXMIS

MDLDEP

Dependent variable Model Tag. This name is used to perform validation between the CCF and the Model

file. It ensures that the order of dependent variables found in the model match that of the CCF.

Applies to: All CVs (Dependent Section)

Data Type: String*12

Access: Read Only

Range: No Restrictions

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT

Related Topics: MDLIND, MTGDEP

MDLIND

Independent variable Model Tag. This name is used to perform validation between the CCF and the Model

file. It ensures that the order of independent variables found in the model match that of the CCF.

Applies to: MVs and FFs (Independent Section)

Data Type: String*12

Access: Read Only

Range: No Restrictions

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT

Related Topics: MDLDEP, MTGIND

MDLNAM

Model file name to use with the current CCF. DMCplus Build, Simulate and Manage use this file name

when loading a CCF and model file. The CCF is read first, then the model file is loaded. The model file

should be in the same directory as the CCF.

IMPORTANT: If you are changing the model file associated with a CCF, be sure to first load the CCF into

Build along with the new model file and save before trying to simulate or load using Manage. Build

calculates many internal variables in the CCF based on the model file and must pass those on to the controller

engine in a consistent manner.

Applies to: Controller Configuration variables (Configure Section)

Data Type: String*132

Access: Write Only

Range: No Restrictions

Default: Build automatically sets this value based on your selections.

Page 233: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 233 Víctor J. Cuadrado Alvarado

Keywords: CONSTANT INIT

MNGCVS

Minimum number of good dependent variables for this subcontroller. Defaulted and ignored when

subcontrollers are not being used. When subcontrollers are in use, the valid range for this entry is:

1 <= MNGCVS <= (Number of CVs in the subcontroller)

Applies to: Subcontroller General variables (Subcontrollers Section)

Data Type: Integer

Access: Read Only

Range: 1 to (No Maximum)

Default: 1 (Although not required, AspenTech recommends defining this entry)

Keywords: (None) LOCAL CONSTANT READ

Related Topics: MNGMVS, NGDDEP, SUBCRT

MNGMVS

Minimum number of good manipulated variables for this subcontroller. Defaulted and ignored when

subcontrollers are not being used. When subcontrollers are in use, the valid range for this entry is:

1 <= MNGMVS <= (Number of MVs in the subcontroller)

Applies to: Subcontroller General variables (Subcontrollers Section)

Data Type: Integer

Access: Read Only

Range: 1 to (No Maximum)

Default: 1 (Although not required, AspenTech recommends defining this entry)

Keywords: (None) LOCAL CONSTANT READ

Related Topics: MNGCVS, NGDMAN, SUBCRT

MOVACC

Manipulated variable accumulated moves (in engineering units). When using the dynamic minimum

movement functionality (MOVRES > 0) then moves smaller than MOVRES are accumulated into

MOVACC. When MOVACC > MOVRES a move will be implemented and MOVACC is reset to zero. This

feature is useful for working with valves that require sufficient movement before the process is affected and

for discrete variables such as fin fans.

This feature is reserved for internal Aspentech use only.

Applies to: MVs only (Independent Section)

Data Type: Float

Access: Write Only

Range: 0 to (No Maximum)

Default: 0 (Required Entry)

Keywords: LOCAL WRITE

Page 234: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 234 Víctor J. Cuadrado Alvarado

Note: Controller moves of zero are allowed.

Related Topics: MOVRES

MOVRES

Manipulated variable dynamic minimum move resolution. This defines the smallest change (in engineering

units) the controller is allowed to make in the manipulated variable setpoint in one cycle if the controller

decides to move this variable. This feature is useful for working with valves that require sufficient movement

before the process is affected and for discrete variables such as fin fans. Moves smaller than MOVRES are

not implemented, but are accumulated in MOVACC instead. This feature is different than setting LPCRIT to

1 (minimum movement) which penalizes moving the manipulated variable in either direction when

determining the steady state solution.

This feature is reserved for internal Aspentech use only.

Applies to: MVs only (Independent Section)

Data Type: Float

Access: Read Only

Range: 0 to (No Maximum)

Default: 0 (Required Entry)

Keywords: LOCAL READ CONSTANT

Note: Controller moves of zero are allowed.

Related Topics: MAXMOV, MOVACC, LPCRIT

MSGACT

Message action switch defines the destination and timing of the messages produced by the DMCplus message

system:

0 No messages produced - message system disabled

1 Immediate - write the messages to the console

2 Log - send the messages to the standard logs

3 Both - immediate and log.

Applies to: Controller General variables (General Section)

Data Type: Integer

Access: Read Only

Range: 0 to 3

Default: 1

Keywords: (None) CONSTANT LOCAL READ

MSGFIL

File specification for the DMCplus message file containing the message definitions for the interface message

system.

Applies to: Controller Configuration variables (Configure Section)

Page 235: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 235 Víctor J. Cuadrado Alvarado

Data Type: String*132

Access: Read Only

Range: No Restrictions

Default: message.dat

Keywords: (None) CONSTANT

MTGDEP

Dependent variable tag names. The dependent variable model names (MDLDEP) are used only for

messaging. They appear in messages that refer to a specific dependent variable. MTGDEP usually contains

the actual tag names that are familiar to operations.

MTGDEP does not have to match the dependent variable model names (MDLDEP). By default, Build will

set MTGDEP to MDLDEP.

Applies to: All CVs (Dependent Section)

Data Type: String*32

Access: Read Only

Range: No Restrictions

Default: (Required Entry)

Keywords: CONSTANT

Related Topics: MDLDEP, MTGIND

MTGIND

Independent variable tag names. The independent variable model names (MDLIND) are used only for

messaging. They appear in messages thet refer to a specific independent variable. MTGIND usually

contains the actual tag names that are familiar to operations.

MTGIND does not have to match the independent variable model names (MDLIND). By default, Build will

set MTGIND to MDLIND.

Applies to: MVs and FFs (Independent Section)

Data Type: String*32

Access: Read Only

Range: No Restrictions

Default: (Required Entry)

Keywords: CONSTANT

Related Topics: MDLIND, MTGDEP

MVINSB

Character string indicating to which subcontroller this independent variable is assigned. This entry is only

valid if the controller incorporates subcontrollers. Each independent variable can only be a member of one

subcontroller.

Applies to: MVs only if Subcontrollers option enabled (Independent Section)

Page 236: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 236 Víctor J. Cuadrado Alvarado

Data Type: String*16

Access: Read Only

Range: No Restrictions

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT

Related Topics: CVINSB

MVOSWC

Solution type for the manipulated variable (MV) optimization

0 LP - linear

1 QP - quadratic or least squares

The solution type determines how MV movement is minimized. If the solution type is LP, then the weighted

sum of the absolute values of the MV movements is minimized. If the solution type is QP, then the weighted

sum of the squared MV movement is minimized. The weighting is also squared in the QP case. In both

cases, the weighting is the MV steady-state cost factor: CST. Only the movement of MVs with the

appropriate economic criterion (LPCRIT) will be minimized.

Note that the MV movement and bias CV (rank 1000) constraint violations are minimized at the same time.

Because of this, the value of MVOSWC must match the solution type (CVLPQL and CVLPQU) for any bias

CVs.

Applies to: Controller General variables (General Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: Build automatically sets this value based on your selections.

Keywords: LOCAL READ CONSTANT

Related Topics: CVRANKL, CVRANKU, CST, LPCRIT, CVLPQL, CVLPQU

MVTOL

Resolution in engineering units of a manipulated variable. It is suggested that this value be determined from

the process control system documentation.

It might be acceptable to supply the value derived by dividing the range of the variable in engineering units

by 2 raised to the power of the number of bits in the analog to digital converter of the process control system.

MVTOL is used as a tolerance beyond the high and low MV limits (ULINDM and LLINDM). Suppose that

the MV high limit is 5.00 and the controller has moved the setpoint (VINDSP) to that limit. If round-off

occurs due to process control system numerical resolution and the value read back (VIND) is a slightly larger

value than what was sent, say 5.01, this value will cause the controller to turn off that MV and treat it as a

feedforward. To avoid this problem, MVTOL is added to the high limit so that the VIND value is compared

to the sum of ULINDM and MVTOL. Even if VIND is read in as 5.01, the VINDSP that is calculated will

not exceed 5.00 (ULINDM).

It can also be used in an input transform to avoid numerical conflicts in process values and limits.

Applies to: MVs only (Independent Section)

Page 237: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 237 Víctor J. Cuadrado Alvarado

Data Type: Float

Access: Read Only

Range: Positive Floating-point values (including zero)

Default: 0

Keywords: (None) LOCAL CONSTANT READ

Related Topics: INTSUM

MXLPIT

Maximum primary LP iterations.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Read Only

Range: 0 to 100000

Default: 0

Keywords: (None) CONSTANT

Note: For AspenTech use only.

MXNIMB

Maximum number of ramp imbalance cycles allowed:

-1 Steady-state solver does not attempt to balance ramp

0 Steady-state solver must always balance ramp

>0 Steady-state solver permits ramp imbalance for MXNIMB cycles

MXNIMB specifies the maximum number of cycles for which dependent variable ramp imbalance in the

steady-state solver will be permitted. For ramps where MXNIMB >= 0, the steady-state solver attempts to

balance the ramp on every cycle.

After MXNIMB consecutive cycles where the steady-state solver cannot balance the ramp, the controller will

turn OFF. For ramps where MXNIMB = -1, the steady-state solver does not attempt to balance the ramp.

Applies to: Ramp CVs only (Dependent Section)

Data Type: Integer

Access: Read Only

Range: -1 to (No Maximum)

Default: 0 (Required Entry)

Keywords: LOCAL CONSTANT READ

MXRFAC

Maximum secondary LP iterations.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Read Only

Page 238: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 238 Víctor J. Cuadrado Alvarado

Range: 0 to 2000

Default: 0

Keywords: (None) CONSTANT

Note: For AspenTech use only.

MXUSPR

Maximum cycles for which the prediction for this dependent variable can be used for control. Once this limit

is exceeded, the variable is set BAD. This entry is only required for variables with intermittent signals.

Applies to: Intermittent update CVs only (Dependent Section)

Data Type: Integer

Access: Read Only

Range: 0 to (No Maximum)

Default: 0 (Required Entry)

Keywords: LOCAL CONSTANT READ

Note: Only used for intermittent signals. Must not be present for continuous signals.

Related Topics: ISSIG, NEWPV

NEWPV

Dependent variable new value for a PV indicator:

0 Use model prediction in control calculations based on the last new PV value read.

1 Use current process control system value (DEP) in control calculations.

NEWPV should be set to 1 by some external mechanism when a discretely sampled variable, such as

composition from a stream analyzer, has been updated since the last controller cycle. The controller resets

NEWPV back to 0 after it receives a value of 1.

The controller validation suite sets DEP to BAD if more than MXUSPR cycles have elapsed since the last

new process control system value was received.

Applies to: Intermittent update CVs only (Dependent Section)

Data Type: Integer

Access: Read/Write

Range: 0 to 1

Default: 0 (Required Entry)

Keywords: RDWRT LOCAL

Note: Only used for intermittent signals. Must not be present for continuous signals. Typically

this value is computed in the process control system or in an input calculation.

Related Topics: ISSIG, MXUSPR

NEWPVA

Value for NEWPV used by the controller. Saved because the controller will overwrite NEWPV.

Applies to: All CVs (Dependent Section)

Page 239: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 239 Víctor J. Cuadrado Alvarado

Data Type: Integer

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) LOCAL WRITE

Related Topics: NEWPV

NGDDEP

Minimum number of good dependent variables required for DMCplus control. Valid range:

1 <= NGDDEP <= IPNDEP

If an insufficient number of dependent variables are available, the controller will turn OFF (ONSTS = 0).

Applies to: Controller General variables (General Section)

Data Type: Integer

Access: Read Only

Range: 1 to (No Maximum)

Default: 1

Keywords: (None) LOCAL CONSTANT READ

Related Topics: CRIDEP, IPNDEP, MNGCVS, ONSTS, SUBCRT

NGDMAN

Minimum number of good manipulated variables required for DMCplus Control. Valid range:

1 <= NGDMAN <= IPMIND

If an insufficient number of manipulated variables are available, the controller will turn OFF (ONSTS = 0).

Applies to: Controller General variables (General Section)

Data Type: Integer

Access: Read Only

Range: 1 to (No Maximum)

Default: 1

Keywords: (None) LOCAL CONSTANT READ

Related Topics: CRIIND, IPMIND, MNGMVS, ONSTS, SUBCRT

NGDSUB

Minimum number of good subcontrollers required for DMCplus control. Valid range:

1 <= NGDSUB <= IPNSUB

If an insufficient number of subcontrollers are available, the controller will turn OFF (ONSTS = 0).

Applies to: Controller General variables (General Section)

Data Type: Integer

Access: Read Only

Range: 1 to (No Maximum)

Page 240: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 240 Víctor J. Cuadrado Alvarado

Default: Build automatically sets this value based on your selections.

Keywords: LOCAL CONSTANT READ

Related Topics: IPNSUB, ONSTS, SUBCRT

NORMOV

Normalized moves in use indicator. Build will set NORMOV to 1 when IPSKIP > 0 and extended moves are

used.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT

Related Topics: CMOV, XTDMOV, XTDREQ, IPSKIP

OMSGnnn

Optional Message Text Segment. The 3-digit suffix (nnn) demotes the text segment number. This entry is

part of the optional message output facility of DMCplus. The number of these text segments is determined

from the number of text segments per message (OMSGSG) and the number of message lines to be displayed

(OMSGLN).

Total text segments = OMSGSG * OMSGLN

There is a maximum limit of 80 text segments currently supported by DMCplus.

Applies to: Controller General variables (General Section)

Data Type: Variable Length String

Access: Write Only

Range: No Restrictions

Default: (Required Entry)

Keywords: LASTW LOCAL

Related Topics: OMSGBY, OMSGLN, OMSGSG, SWHYOnnn, WHYOnnn

OMSGBY

This value is part of the optional message output facility. It specifies the number of characters in a single

message text segment. Three variables are used in combination to determine the buffer size of the optional

message output facility:

OMSGLN Number of messages you wish to show in the output area.

OMSGBY Number of characters (bytes) allowed in each text segment.

OMSGSG Number of text segments required to display a single message.

These three values determine how many tag names (or point names) are required to contain the optional

message output area (on a DCS screen for example).

Page 241: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 241 Víctor J. Cuadrado Alvarado

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Read Only

Range: Positive Integer values (including zero)

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT

Related Topics: OMSGLN, OMSGSG, OMSGnnn, SWHYOnnn, WHYOnnn

OMSGLN

This value is part of the optional message output facility. It specifies the total number of messages you wish

to display in the message buffer. See OMSGBY for more information.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Read Only

Range: Positive Integer values (including zero)

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT

Related Topics: OMSGBY, OMSGSG, OMSGnnn, SWHYOnnn, WHYOnnn

OMSGSG

This value is part of the optional message output facility. It specifies the number of text segments that must

be used to display a single message in the message buffer. See OMSGBY for more information.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Read Only

Range: Positive Integer values (including zero)

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT

Related Topics: OMSGBY, OMSGLN, OMSGnnn, SWHYOnnn, WHYOnnn

ONREQ

DMCplus controller master on/off request switch:

0 (OFF) Controller OFF

1 (ON) Request controller to turn ON

ONREQ is the master ON/OFF request switch for implementing manipulated variable setpoints. The

controller will not allow manipulated variable setpoints to be implemented if ONREQ is OFF. The controller

will never set the ONREQ flag to ON, but in some circumstances may set it to OFF.

ONREQ works in conjunction with ONSTS (the ON/OFF request result indicator). When ONREQ is set to

ON, the controller performs validation to see if conditions are favorable to come ON or not. If conditions are

favorable, it sets ONSTS to 1 (ON) and normal control is established. If conditions are not favorable,

Page 242: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 242 Víctor J. Cuadrado Alvarado

ONSTS will be set to 0 (OFF) until conditions change, however ONREQ will continue to stay in the ON

position.

The only normal case where ONREQ will be set to OFF is upon an ONSTS transition from ON to OFF. This

would occur when the controller has been ON and an critical error occurs causing it to shed.

If you always wish to turn ONREQ OFF if it cannot turn ON within one cycle, then simply use the same tag

name in the process control system for both ONREQ and ONSTS. This way, if ONSTS does not change to

ON after the first cycle that ONREQ is requested, the controller will set ONSTS (and subsequently ONREQ)

to OFF immediately.

To prevent ONREQ from ever being changed to OFF (by the controller) simply use the READ keyword

instead of the RDWRT keyword.

Applies to: Controller General variables (General Section)

Data Type: Integer

Access: Read/Write

Range: 0 to 1

Default: 0 (Required Entry)

Keywords: RDWRT LOCAL READ CONSTANT

Note: This switch replaces DMCON.

Related Topics: ONSTS, SONREQ, SWHYOFF, WHYOFF

ONSTS

Resulting state of DMCplus controller master ON/OFF request switch (ONREQ):

0 (OFF) Controller is OFF

1 (ON) Controller is ON

This indicator will be set to OFF until conditions are favorable for the DMCplus controller to be able to write

manipulated variable setpoints. It is used indicate whether or not the master ON/OFF request (ONREQ) was

completed successfully.

Consider the following scenario:

Operator sets ONREQ to ON. The DMCplus controller detects the ON request and tries to turn the controller

ON. However, one of the critical manipulated variable's loop status is OFF. This means the controller

cannot turn ON this cycle. So the controller sets ONSTS to OFF, leaving ONREQ in the ON position (unless

both ONSTS and ONREQ share the same process control system tag name). The controller goes into its wait

mode for the next cycle. Before the next cycle, the operator sets the offending MV's loop status to ON. The

controller runs again (with ONREQ still in the ON position). The MV passes validation and the controller

turns ON. New MV setpoints are implemented and ONSTS is set to ON. ONSTS and ONREQ will now

both stay ON unless the operator turns ONREQ to OFF or a critical error occurs in the controller.

Applies to: Controller General variables (General Section)

Data Type: Integer

Access: Write Only

Range: 0 to 1

Default: 0

Keywords: (None) WRITE LOCAL

Related Topics: ONREQ, SONREQ, SWHYOFF, WHYOFF

Page 243: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 243 Víctor J. Cuadrado Alvarado

PDEPC

Compressed dependent variable predictions. Each value in PDEPC is selected from PDEP to correspond to

the equivalent move time in FMOV.

Applies to: All CVs if Output Future Moves and Predictions to Process Control System

option enabled (Dependent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: LOCAL WRITE

Note: PDEPC can be output to the process control system by checking the "Output future moves

and predictions to PCS Tags" option (FPENB) in Build, where PCS stands for Process Control

System.

Related Topics: FMOV, FMOVT, FPENB, PDEPT, PFMDEP

PDEPT

Time in minutes into the future of each of the dependent variable calculated predictions. These values are

sent only on a DMCplus controller initialization. They are available for configuring in the Configure section

of DMCplus Build.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Float

Access: Write Only

Range: Positive Floating-point values (including zero)

Default: 0

Keywords: (None) INIT

Note: PDEPT can be output to the process control system by checking the "Output future moves

and predictions to PCS Tags" option (FPENB) in Build, where PCS stands for Process Control

System.

Related Topics: FMOVT, FPENB, PFMDEP

PFMDEP

Dependent variable predictions with future moves. As part of its calculations, the controller predicts the

future trajectories of the dependent variables based on past changes in the independent variables.

PFMDEP contains the controller's prediction of the future trajectories assuming the manipulated variable

moves proposed in FMOV are implemented, but no future movement occurs in the feedforward variables.

The predicted trajectories span one controller time horizon (IPXCTH) into the future. PFMDEP contains one

future prediction for each equation in the control matrix.

Applies to: All CVs if Output Future Moves and Predictions to Process Control System

Page 244: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 244 Víctor J. Cuadrado Alvarado

option enabled (Dependent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: LOCAL WRITE

Note: PFMDEP can be output to the process control system by checking the "Output future

moves and predictions to PCS Tags" option (FPENB) in Build, where PCS stands for Process

Control System.

Related Topics: FMOV, FMOVT, FPENB, IPXCTH, PDEPC, PDEPT, PRDOUT

PRDIND

Prediction initialization indicator:

0 (NO) Prediction not initialized

1 (YES) Prediction initialized

Indicates that prediction initialization occurred during this cycle. Prediction initialization occurs when: (1)

the controller program is started after a re-load, (2) prediction initialization is requested via PRDSWC, or (3)

when too many cycles are missed (as determined by MAXMIS).

Applies to: Controller General variables (General Section)

Data Type: Integer

Access: Write Only

Range: 0 to 1

Default: 0 (Although not required, AspenTech recommends defining this entry)

Keywords: (None) WRITE LOCAL

Related Topics: MAXMIS, PRDSWC

PRDOUT

Diagnostic print file prediction option:

0 (NONE) No prediction

1 (FULL) Full prediction

2 (SHORT) Pre-determined prediction pattern

Dependent variable predictions (PDEP and PFMDEP) can be included in the diagnostic print file. PRDOUT

controls how much prediction information is printed.

Based on PRDOUT, no prediction information, full prediction information, or a short pre-determined pattern

of prediction information will be included.

Applies to: Controller General variables (General Section)

Data Type: Integer

Access: Read Only

Range: 0 to 2

Default: 2

Keywords: (None) LOCAL CONSTANT READ

Page 245: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 245 Víctor J. Cuadrado Alvarado

Related Topics: PRTSWC

PRDSWC

Prediction initialization switch:

0 (NO) Do not initialize prediction

1 (YES) Initialize prediction

Controller actions are based on the prediction of dependent variable values (PDEP). The prediction

initialization switch, PRDSWC, allows the user to initialize PDEP for all CVs without stopping the controller

program. The predictions for an individual CV may be initialized using the CV's PREDINIT flag.

Initializing the prediction may be necessary if a major unmeasured disturbance occurs because it will not be

reflected in PDEP. The controller clears PRDSWC after initializing PDEP.

Applies to: Controller General variables (General Section)

Data Type: Integer

Access: Read/Write

Range: 0 to 1

Default: 0 (Although not required, AspenTech recommends defining this entry)

Keywords: (None) LOCAL RDWRT

Related Topics: PRDIND, PREDINIT

PREDER

Dependent variable prediction error. This value is the difference between the predicted and the actual

controlled variable values, calculated as "prediction - actual".

As part of the controller calculations, the controller adjusts the prediction of future dependent variable values,

PDEP, for movement in the independent variables, and then corrects for model error -- the difference

between the adjusted prediction and the actual dependent variable value.

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) WRITE LOCAL

Related Topics: ACPRER, AVPRER

PREDINIT

Dependent variable prediction initialization switch:

0 (NO) Do not initialize predictions

1 (YES) Initialize prediction and prediction error history

2 (HISTORY ONLY) Initialize the prediction error history only (do not initialize the prediction

itself)

Controller actions are based on the prediction of dependent variable values (PDEP). The prediction

Page 246: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 246 Víctor J. Cuadrado Alvarado

initialization switch, PREDINIT, allows the user to initialize PDEP for a single CV without stopping the

controller program or affecting the other CV predictions. A value of 2 for this parameter will initialize the

prediction error history. The prediction error history is used to calculate the bias when a moving horizon

filter is in use (PRERTYPE = 2).

Initializing the prediction may be necessary if a major unmeasured disturbance occurs because it will not be

reflected in PDEP. The controller clears PREDINIT after initializing PDEP.

Applies to: All CVs (Dependent Section)

Data Type: Integer

Access: Read/Write

Range: 0 to 2

Default: 0 (Required Entry)

Keywords: LOCAL RDWRT

Related Topics: PRDSWC, PRERTYPE, PRERHORIZ

PRERHORIZ

The prediction error filter time horizon is used by the moving average filter (PRERTYPE = 2). The horizon

is in minutes and is used to specify the number of past prediction errors that will be averaged to determine the

final bias applied to the predictions. An exponential filter will automatically be applied to the moving

average filter. The user defined PRERTAU will be used. If it is not set then a value of one-tenth of

PRERHORIZ will be used. PRERHORIZ must be greater than or equal to CTLINT/60 and less than or equal

to SSMINS.

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Read Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: LOCAL READ

Related Topics: PRERTYPE

PRERTAU

The prediction error filter time constant is used with an exponential prediction error filter (PRERTYPE = 1).

The time constant is in minutes and is used to calculate the bias that is applied to the prediction array.

When using an exponential filter the prediction error, PREDER, is calculated as follows:

PREDER = (1-alpha)*(PDEP001 - DEP)

where

alpha = PRERTAU/(PRERTAU + CTLINT/60)

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Read Only

Range: 0 to (No Maximum)

Page 247: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 247 Víctor J. Cuadrado Alvarado

Default: 0 (Required Entry)

Keywords: LOCAL READ

Related Topics: PRERTYPE

PRERTYPE

Dependent variable prediction error filtering type:

0 (DMC) Traditional DMC prediction error filtering

1 (FIRST ORDER) Apply first order filter to the prediction error

2 (MOVING AVG.) Apply moving average filter to the prediction error

Controller actions are based on the prediction of dependent variable values (PDEP). The prediction error

filter type governs how the controller updates the prediction based on feedback received from the plant.

DMC filtering takes the difference between the current measurement and the current prediction to calculates

a bias that is applied to each element of the prediction array. The first order filter option allows a fraction of

the bias to be applied to the prediction array. The fraction is calculated based on the value of the prediction

error filter time constant PRERTAU. The moving average filter uses an average of past values of the bias to

determine the final bias applied to the prediction array . The number of past values used is specified by the

prediction error filter time horizon PRERHORIZ. In addition, an exponential filter will be applied to the

error. If PRERTAU is set to zero then a value equal to one-tenth of the PRERHORIZ will be used.

The various filtering schemes are intended to improve controller performance by improving the quality of the

predictions. First order filters can be used for noisy measurements or to dampen infrequent disturbances to a

given CV. Cycles of known duration can be removed or dampened with a moving horizon filter with a

horizon of the same duration. DMC filtering is appropriate when there is high confidence in the incoming

measurement.

Applies to: All CVs (Dependent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 2

Default: 0 (Required Entry)

Keywords: LOCAL READ

Related Topics: PRERTAU, PRERHORIZ

PRMODE

Establishes the sources of diagnostic print files:

1 (NORMAL) As seen by the controller (file name will be:

<controllername>_<date>_<time>.PRT)

2 (BUFFER) Contents of common buffer following output transforms (file name will be:

<controllername>_<date>_<time>.PRB)

3 (BOTH) Both the .PRT and .PRB files will be generated

Applies to: Controller General variables (General Section)

Data Type: Integer

Access: Read Only

Page 248: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 248 Víctor J. Cuadrado Alvarado

Range: 1 to 3

Default: 1

Keywords: (None) LOCAL READ

Related Topics: PRDOUT, PRTSWC

PRTSWC

Diagnostic print file down counter. Number of cycles to generate a diagnostic print file. If PRTSWC is

greater than zero, the controller will generate a diagnostic print file at the end of the cycle. The controller

will decrement a positive PRTSWC on each cycle until it is zero.

Applies to: Controller General variables (General Section)

Data Type: Integer

Access: Read/Write

Range: 0 to (No Maximum)

Default: 0 (Although not required, AspenTech recommends defining this entry)

Keywords: (None) RDWRT LOCAL

Related Topics: PRDOUT, PRMODE

R4ZTOL

Real zero tolerance.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Float

Access: Read Only

Range: 0.0 to 0.001

Default: 1.00E-06

Keywords: (None) CONSTANT

Note: For AspenTech use only.

RAMPRT

Dependent variable ramp rate. Fraction of the distance from the current value back toward the ramp setpoint

(RAMPSP) to use as the current setpoint. Valid range:

0.0 <= RAMPRT <= 1.0

The ramp rate controls how "hard" the controller will attempt to push a ramp-type dependent variable to the

ramp setpoint. Ramp rate is only valid for ramp dependent variables and is ignored for non-ramp dependent

variables

Applies to: Ramp CVs only (Dependent Section)

Data Type: Float

Access: Read Only

Range: 0.0 to 1.0

Default: 0 (Required Entry)

Page 249: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 249 Víctor J. Cuadrado Alvarado

Keywords: LOCAL READ CONSTANT

Related Topics: RAMPSP, RHORIZ, ROTFAC

RAMPSP

Dependent variable ramp setpoint. Target to which the controller will attempt to drive a ramp-type

dependent variable. Valid range:

LDEPTG <= RAMPSP <= UDEPTG

If RAMPSP is outside the valid range, RAMPSP is set to the value of the violated limit.

This value will highlight in the Production Control Web interface if it is considered to be an active constraint.

For more information see DEPACT.

Applies to: Ramp CVs only (Dependent Section)

Data Type: Float

Access: Read Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: READ LOCAL

Related Topics: LDEPTG, RAMPRT, UDEPTG

RESMON

Resource usage monitoring switch:

0 (OFF - Default) No resource monitoring

1 (ON) Resource monitoring output will be performed

If set, resource usage statistics are written to the resource monitoring file (<controllername>.RMN) at the end

of major program steps. Time-stamped resource monitoring data will be appended to the file each control

cycle until RESMON is set to 0 by the user.

Recommended usage: Turn ON for a few control cycles, then turn it OFF.

Applies to: Controller General variables (General Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: 0

Keywords: (None) CONSTANT LOCAL READ

RHORIZ

Dependent variable ramp horizon. Specified as a fraction of the time to steady state. RHORIZ is used to

calculate upper and lower allowed imbalance limits. Valid range:

1/30 <= RHORIZ

The upper allowed imbalance limit is the slope of the line connecting the current value to the "upper safety

zone" at the time specified by RHORIZ. The lower limit is calculated in a similar manner. The upper safety

zone is hard coded as 10% of UDEPTG - LDEPTG.

Page 250: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 250 Víctor J. Cuadrado Alvarado

If the calculated imbalance for a ramp dependent variable exceeds the imbalance limits on any cycle, the

controller will turn OFF.

The ramp horizon is only valid for ramp dependent variables with a non-zero MXNIMB. It is ignored for

non-ramp type dependent variables, or ramp variables with a zero MXNIMB.

Applies to: Ramp CVs only (Dependent Section)

Data Type: Float

Access: Read Only

Range: 0.0333 to (No Maximum)

Default: 0 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: MXNIMB, RAMPRT, ROTFAC

ROTFAC

Dependent variable ramp rotation factor. Fraction of the model error that is attributed to the imbalance in the

system. Normally between 0.1 and 0.4. Valid range:

0.0 <= ROTFAC <= 1.0

The controller corrects its dependent variable future predictions using the difference between the actual

current value and the predicted value.

For ramp-type variables, the error can be corrected by either shifting the prediction curve or rotating it.

ROTFAC specifies the fraction of the error which is corrected by rotation. ROTFAC is only valid for ramp

dependent variables and is ignored for non-ramp dependent variables.

Applies to: Ramp CVs only (Dependent Section)

Data Type: Float

Access: Read Only

Range: 0.0 to 1.0

Default: 0 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: MXNIMB, RAMPRT, RHORIZ

SBOMSG

This flag is part of the Optional Message Buffer (OMSG) facility. It is used to prevent blank messages from

appearing in the message buffer. This flag only affects the Optional Message Buffer (if you have selected

this option). It has no effect on the master DMCplus message historian that Manage and View use.

0 Send all messages to the buffer.

1 Send only non-blank messages to the buffer.

Applies to: Controller General variables (General Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: 0

Page 251: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 251 Víctor J. Cuadrado Alvarado

Keywords: (None) LOCAL READ

Related Topics: CLOMSG, OMSGLN, OMSGSG, OMSGnnn, SWHYOnnn, WHYOnnn

SCNAM

Subcontroller name. One for each subcontroller.

Applies to: Subcontroller General variables (Subcontrollers Section)

Data Type: String*16

Access: Read Only

Range: No Restrictions

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT

SHPDEP

Dependent variable LP shadow price. A non-zero value indicates this variable is an active constraint in the

LP. The shadow price is the incremental improvement in the LP objective function that would be obtained

by relaxing this limit.

Shadow prices are not calculated when external targets are used or if the QP is used to minimize MV

movement (MVOSWC set to 1).

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) WRITE LOCAL

Related Topics: DEPACT, SHPMAN

SHPMAN

Manipulated variable LP shadow price. A non-zero value indicates this variable is an active constraint in the

LP. The shadow price is the incremental improvement in the LP objective function that would be obtained

by relaxing this limit.

Shadow prices are not calculated when external targets are used or if the QP is used to minimize MV

movement (MVOSWC set to 1).

Applies to: MVs only (Independent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) WRITE LOCAL

Related Topics: MANACT, SHPDEP

Page 252: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 252 Víctor J. Cuadrado Alvarado

SIMCVSTDDEV

This entry is only used by Simulate. A Gaussian distribution with a mean of zero and a standard deviation of

SIMCVSTDDEV is added to the dependent variable DEP value.

For a Gaussian or Normal distribution, often referred to as "white noise," 68.26% of the values will fall

within one standard deviation of the mean, 95.44% of the values will be within two standard deviations of the

mean, and 99.74% of the values will be within three standard deviations of the mean.

In DMCplus Simulate, enable the Add Noise option from the Controller menu or Toolbar icon, to add the

Gaussian noise calculation to the dependent variable DEP value.

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Read Only

Range: Positive Floating-point values (including zero)

Default: 0.0 (Required Entry)

Keywords: LOCAL

SIMSWC

Simulation file output switch:

0 (OFF - Default) No simulation file produced

1 (ON) Output one simulation file and reset SIMSWC to 0

If set, causes the controller to produce a simulation file (<controllername>_<date>_<time>.DBG).

Applies to: Controller General variables (General Section)

Data Type: Integer

Access: Read/Write

Range: 0 to 1

Default: 1

Keywords: (None) LOCAL RDWRT

SONREQ

ON/OFF switch for each subcontroller:

0 (OFF) Subcontroller is OFF

1 (ON) Subcontroller is ON

The master ON/OFF result indicator (ONSTS) is not affected by turning SONREQ to OFF unless the

subcontroller is critical (SUBCRT=1).

Applies to: Subcontroller General variables (Subcontrollers Section)

Data Type: Integer

Access: Read/Write

Range: 0 to 1

Default: 0 (Required Entry)

Page 253: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 253 Víctor J. Cuadrado Alvarado

Keywords: RDWRT LOCAL

Related Topics: ONREQ, ONSTS, SUBCRT

SRECLP

Engineering switch which can be used to enable or disable a controller's participation in a DMCplus

Composite suite.

Applies to: Composite General variables (Composite Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: 0 (Required Entry)

Keywords: LOCAL READ

Related Topics: CLPENB, CLPREQ

SREDEP

Engineering service indicator for a dependent variable:

0 (OFF) Out of service for DMCplus controller

1 (ON) In service for DMCplus controller

Switch permitting engineering or an input transform to remove a variable from the controller calculations. If

SREDEP = 0 for a dependent variable, its DMCplus status will be set to ENG_OFF (DEPSTA = -2).

SREDEP is independent of the process control system status indicator. A variable can be flagged as out of

service in the DMCplus controller without affecting its status in the process control system.

Applies to: All CVs (Dependent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: 1

Keywords: (None) READ LOCAL CONSTANT

Note: This entry is analogous to SRVDEP, but should not be available to operations. It is

particularly useful in allowing a transform to set a variable in and out of service.

Related Topics: DEPSTA, SREIND, SRVDEP

SREIND

Engineer service indicator for an independent variable:

0 (OFF) Out of service for DMCplus controller

1 (ON) In service for DMCplus controller

Switch permitting engineering or an input transform to remove a variable from the controller calculations. If

SREIND = 0 for an independent variable, its DMCplus status will be set to ENG_OFF (INDSTA = -2).

SREIND is independent of the process control system status indicator. A variable can be flagged as out of

service in the DMCplus controller without affecting its status in the process control system.

Page 254: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 254 Víctor J. Cuadrado Alvarado

Applies to: MVs and FFs (Independent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: 1

Keywords: (None) READ LOCAL CONSTANT

Note: This entry is analogous to SRVIND, but should not be available to operations. It is

particularly useful in allowing a transform to set a variable in and out of service.

Related Topics: INDSTA, LOOPST, SREDEP, SRVIND

SRVDEP

Operator service indicator for a dependent variable:

0 (OFF) Out of service for DMCplus controller

1 (ON) In service for DMCplus controller

Switch permitting operations to remove a variable from the controller calculations. If SRVDEP = 0 for a

dependent variable, its DMCplus status will be set to BAD (DEPSTA = -1). SRVDEP is independent of the

process control system status indicator. A variable can be flagged as out of service in the DMCplus

controller without affecting its status in the process control system.

Applies to: All CVs (Dependent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: 1 (Required Entry)

Keywords: READ LOCAL CONSTANT

Note: It is recommended that this variable be available to the operator to take variables out of

service.

Related Topics: DEPSTA, SREDEP, SRVIND

SRVIND

Operations service indicator for an independent variable:

0 (OFF) Out of service for DMCplus controller

1 (ON) In service for DMCplus controller

2 (FFW) Used as a feedforward (Manipulated variables only)

Switch permitting operations to remove a variable from the controller calculations. If SRVIND = 0 for an

independent variable, its DMCplus status will be set to BAD (INDSTA = -1). SRVIND is independent of the

process control system status indicator. A variable can be flagged as out of service in the DMCplus

controller without affecting its status in the process control system.

Applies to: MVs and FFs (Independent Section)

Data Type: Integer

Access: Read Only

Page 255: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 255 Víctor J. Cuadrado Alvarado

Range: 0 to 2

Default: 1 (Required Entry)

Keywords: READ LOCAL CONSTANT

Note: It is recommended that this variable be available to the operator to take variables out of

service.

Related Topics: INDSTA, LOOPST, SREIND, SRVDEP

SSDEP

Dependent variable steady-state target. The DMCplus control move calculation is constrained to drive the

variable to this value. If the controller is ON and no disturbances occur, the dependent variable should be

equal to SSDEP at the end of the controller time horizon (IPXCTH).

This value will highlight in the Production Control Web interface if it is considered to be an active constraint.

For more information see DEPACT.

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0 (Although not required, AspenTech recommends defining this entry)

Keywords: (None) WRITE LOCAL

Note: It is strongly recommended that SSDEP be displayed to operations.

Related Topics: IPXCTH, SSERR, SSMAN

SSDEPA

Dependent variable steady-state target calculated by the controller engine before anti-transformation.

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) LOCAL WRITE

Related Topics: SSDEP

SSERR

Dependent variable steady-state target error. Difference between the dependent variable steady-state target

(SSDEP) and a violated dependent variable target (UDEPTG or LDEPTG).

SSERR will be 0.0 if the steady-state target is at or within the dependent variable targets. SSERR will be

non-zero if the steady-state target is outside the controlled variable targets. In that case, the controller was

unable to satisfy the control objectives with the current setpoint and move limits on the manipulated

variables.

Page 256: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 256 Víctor J. Cuadrado Alvarado

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) WRITE LOCAL

Related Topics: LDEPTG, SSDEP, UDEPTG

SSMAN

Manipulated variable steady-state target. The DMCplus control move calculation is constrained to drive the

variable to this value at the end of the controller time horizon (IPXCTH).

This value will highlight in the Production Control Web interface if it is considered to be an active constraint.

For more information see MANACT.

Applies to: MVs only (Independent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: LOCAL WRITE

Note: It is strongly recommended that SSMAN be displayed to operations.

Related Topics: IPXCTH, SSDEP

SSMANA

Manipulated variable steady-state target calculated by the controller before anti-transformation.

Applies to: MVs and FFs (Independent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) LOCAL WRITE

Related Topics: SSMAN

SSMINS

The number of minutes to steady state for the current controller. DMCplus Build reads this value directly

from the model file and stores the value for reference in the CCF.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Float

Access: Write Only

Range: Positive Floating-point values (including zero)

Page 257: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 257 Víctor J. Cuadrado Alvarado

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT INIT

SSRDEP

Steady-state ramp dependent variable imbalance target. This entry is the imbalance value which the

DMCplus controller is expecting the ramp controlled variable to reach.

Applies to: Ramp CVs only (Dependent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) LOCAL WRITE

Related Topics: RAMPSP, SSDEP

SSSTEP

Manipulated variable maximum steady-state target move (step). The controller may not calculate a steadystate

target that is more than SSSTEP away from the current setpoint value. Valid range:

0.0 < SSSTEP <= 10.0 * (IPXNCI / 30) * MAXMOV

This upper bound on SSSTEP ensures that the controller will be able to move the manipulated variable to the

new steady-state target during the controller time horizon (IPXCTH).

Applies to: MVs only (Independent Section)

Data Type: Float

Access: Read Only

Range: 0 to (No Maximum)

Default: 1 (Required Entry)

Keywords: LOCAL READ CONSTANT

Note: If SSSTEP = 0 and the variable is critical (CRIIND = 1), then the controller will be turned

off (ONSTS = 0).

Related Topics: IPXCTH, IPXNCI, MAXMOV

SUBCRT

Subcontroller critical indicator. Indicates that this subcontroller is:

0 (N) Not critical for DMCplus controller operation

1 (Y) Critical for DMCplus controller operation (and Composite if Composite option is used)

2 (C) Critical for Composite participation (but not for controller operation)

Only used if subcontrollers are enabled.

Applies to: Subcontroller General variables (Subcontrollers Section)

Page 258: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 258 Víctor J. Cuadrado Alvarado

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: 1

Keywords: (None) LOCAL CONSTANT READ

Related Topics: CRIDEP, CRIIND, MNGCVS, MNGMVS, SONREQ

SUPMLT

Move suppression (SUPMOV) affects how aggressively the controller will move the manipulated variable to

achieve control objectives.

A larger value means more suppression, i.e., less movement.

The move suppression multiplier (SUPMLT) primarily affects the MV move plan after the 5th move. From

the 5th move to the final (8th to 14th) move in the plan, the move suppression is modified linearly over the

remaining coefficients from the value of the move suppression to the value of the multiplied move

suppression (SUPMOV * SUPMLT). Valid range:

1.0 <= SUPMLT

If the multiplier is greater than 2, the effect on the move plan is to cause the controller to make slightly more

aggressive moves earlier in the move plan to reach the same steady-state target. The default value for

SUPMLT is two.

If the multiplier is less than 2, the move suppression will decrease from move 5 to the final move (8 - 14) and

the controller will be able to push more of the MVs activity to the end of the move plan.

Most of the effect of the multiplier will be felt above the 5th move.

The move suppression should be manipulated up or down to affect the move plan between the 1st and 5th

moves, accounting for the effect of the move suppression multiplier on the moves later in the plan.

Applies to: MVs only (Independent Section)

Data Type: Float

Access: Read Only

Range: 1.0 to (No Maximum)

Default: 2

Keywords: (None) READ LOCAL CONSTANT

Note: SUPMLT is not evident in DMCplus Build. The user must add SUPMLT as a user-defined

LOCAL or READ entry in the CCF for each MV where modification is required.

Related Topics: SUPMOV

SUPMOV

Manipulated variable move suppression factor. Valid range:

0.01 <= SUPMOV

Affects how aggressively the controller will move the manipulated variables to achieve control objectives. A

larger value means more suppression, i.e., less movement.

The move suppression multiplier (SUPMLT) primarily affects the move plan after the fifth move. From the

fifth move to the final (8th and 14th) move in the plan, the move suppression is modified linearly over the

remaining coefficients from the value of the move suppression to the value of the multiplied move

Page 259: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 259 Víctor J. Cuadrado Alvarado

suppression (SUPMOV * SUPMLT).

Applies to: MVs only (Independent Section)

Data Type: Float

Access: Read Only

Range: 0.01 to (No Maximum)

Default: 1 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: MAXMOV, SUPMLT

SWHYOnnn

Optional Message Text Segment for subcontroller WHYOFF message. The 3 digit suffix (nnn) denotes the

text segment number. This entry is part of the optional message output facility of DMCplus. The number of

these text segments is determined from the number of text segments per message (OMSGSG).

Only a single WHYOFF message is stored in the SWHYOnnn text segments.

Applies to: Subcontroller General variables (Subcontrollers Section)

Data Type: Variable Length String

Access: Write Only

Range: No Restrictions

Default: (Required Entry)

Keywords: LASTW LOCAL

Related Topics: OMSGBY, OMSGLN, OMSGSG, OMSGnnn, WHYOnnn

SWHYOFF

Text string indicating why a subcontroller was turned off. Output on an ON to OFF transition of SONREQ

and cleared on an OFF to ON transition of SONREQ. There is one whyoff message for each subcontroller. If

the subcontroller is flagged as critical (SUBCRT = 1) and the subcontroller turns off, then the master

ON/OFF status (ONSTS) for the entire DMCplus controller will be turned OFF also.

Applies to: Subcontroller General variables (Subcontrollers Section)

Data Type: String*80

Access: Write Only

Range: No Restrictions

Default: (Required Entry)

Keywords: WRITE LOCAL

Related Topics: ONREQ, ONSTS, SONREQ, SUBCRT, WHYOFF

THISTM

Character string representation of the time the controller last ran.

Applies to: Controller General variables (General Section)

Page 260: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 260 Víctor J. Cuadrado Alvarado

Data Type: String*20

Access: Write Only

Range: No Restrictions

Default: Keywords: (None) WRITE LOCAL

Related Topics: LSTDAY, LSTSEC, LSTTIM

TRANZL

Transition zone size for dependent variable equal concern error at the lower limit. The transition zone is the

size, in engineering units, of the region in which the control calculation equal concern error increases from its

middle value to its value at the limit.

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Read Only

Range: 0 to (No Maximum)

Default: 0 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: ECECML, ECECMM, TRANZU

TRANZU

Transition zone size for dependent variable equal concern error at the upper limit. The transition zone is the

size, in engineering units, of the region in which the control calculation equal concern error increases from its

middle value to its value at the limit.

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Read Only

Range: 0 to (No Maximum)

Default: 0 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: ECECML, ECECMM, ECECMU, TRANZL

TRKDEP

Dependent variable tracking indicator:

0 (NONE) No tracking

1 (LIMIT) Track violated limit

2 (BOTH) Track both limits (setpoint tracking)

Enables dependent variable tracking. Dependent variable tracking has two forms, one for target ranges and

one for setpoints. Use setpoint tracking (TRKDEP = 2) if the operating target range limits

(UDEPTG/LDEPTG) are pinched. The tracking option determines what the controller does if a dependent

variable is outside its operating limits when the controller is turned from OFF to ON.

Page 261: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 261 Víctor J. Cuadrado Alvarado

If tracking is disabled, the controller will attempt to drive the variable back into the target range. If tracking

is enabled, the controller will reset the violated operating limit (or both limits). The operating limit(s) will be

reset to the current dependent variable value, unless the current value is outside the engineering limits

(UDPENG/LDPENG). In that case the operating limit(s) will be reset to the violated engineering limit. The

reset operating limit(s) will only be written back to the process control system if the controller is ON this

cycle and was OFF last cycle.

NOTE: Limit tracking only occurs when ONSTS changes from OFF to ON. Tracking does not occur when

turning on a subcontroller (SONREQ).

For SmartStep Testers, tracking only affects the operator limits and not the testing limits in order to preserve

the testing range. Therefore, turning a Tester ON with a test group in one of the TEST modes will not cause

the associated CV testing limits to track (thus possibly placing the test group into REPOSITION mode).

Applies to: All CVs (Dependent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 2

Default: 0

Keywords: (None) LOCAL READ CONSTANT

Related Topics: LDEPTG, LDPENG, LVLDEP, UDEPTG, UDPENG, UVLDEP

TRKMAN

Manipulated variable tracking indicator:

0 (NO) No tracking

1 (YES) Track violated limit

Enables manipulated variable tracking. The tracking option determines what the controller does if a

manipulated variable is outside its operating limits (ULINDM/LLINDM) when the controller is turned from

OFF to ON.

If tracking is disabled the controller will not pick up the manipulated variable for control, but will treat it as a

feedforward variable (INDSTA = 1). If tracking is enabled the controller will reset the violated operating

limit.

The operating limit will be reset to the current manipulated variable value, unless the current value is outside

the engineering limits (UMVENG/LMVENG). In that case the operating limit will be reset to the violated

engineering limit. The reset operating limit will only be written back to the process control system if the

controller is ON this cycle and was OFF last cycle.

NOTE: Limit tracking only occurs when ONSTS changes from OFF to ON. Tracking does not occur when

turning on a subcontroller (SONREQ).

Applies to: MVs only (Independent Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: 0

Keywords: (None) LOCAL CONSTANT READ

Related Topics: INDSTA, LLINDM, LMVENG, LVLIND, ULINDM, UMVENG, UVLIND

Page 262: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 262 Víctor J. Cuadrado Alvarado

TYPMOV

The typical move value is used in model plots to show relative magnitudes between the step responses for a

given dependent variable. This parameter has no effect on the controller calculations.

Applies to: MVs and FFs (Independent Section)

Data Type: Float

Access: Read Only

Range: Positive Floating-point values (including zero)

Default: 1.0 (Required Entry)

Keywords: LOCAL READ CONSTANT

UBYTES

This value is used by Manage to allocate memory for User Defined entries contained in the CCF. It is

recalculated by Build automatically whenever an Open, Check or Save operation is performed on a CCF.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Read Only

Range: No Restrictions

Default: Build automatically sets this value based on your selections.

Keywords: BUILD

Note: This value gets updated automatically and cannot be modified directly.

UDEPTG

Dependent variable upper operating target used in control calculations. Must be at or within the validity and

engineering limits for the dependent variable and greater than or equal to the lower target (LDEPTG).

If dependent variable tracking is enabled (TRKDEP), the controller will adjust UDEPTG if it is less than the

current dependent variable value when the controller is turned ON.

This value will highlight in the Production Control Web interface if it is considered to be an active constraint.

For more information see DEPACT.

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Read/Write

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: RDWRT LOCAL READ

Related Topics: LDEPTG, LDPENG, LVLDEP, TRKDEP, UDPENG, UVLDEP

UDPENG

Page 263: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 263 Víctor J. Cuadrado Alvarado

Dependent variable upper engineering limit. Must be at or within the validity limits for the dependent

variable and greater than or equal to the lower engineering limit (LDPENG).

If dependent variable tracking is enabled (TRKDEP), UDPENG is the upper bound on the dependent variable

targets (UDEPTG/LDEPTG) which can be written back to the process control system when the controller is

turned ON. UDPENG should be set by engineering to define the maximum allowable upper target for the

dependent variable.

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Read Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: READ LOCAL CONSTANT

Related Topics: LDEPTG, LDPENG, LVLDEP, TRKDEP, UDEPTG, UVLDEP

ULINDM

Manipulated variable upper operating limit used in control calculations. Must be at or within the validity and

engineering limits for the manipulated variable and greater than or equal to the lower limit (LLINDM).

If manipulated variable tracking is enabled (TRKMAN), the controller will adjust ULINDM if it is less than

the current manipulated variable value when the controller is turned ON.

This value will highlight in the Production Control Web interface if it is considered to be an active constraint.

For more information see MANACT.

Applies to: MVs only (Independent Section)

Data Type: Float

Access: Read/Write

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: READ LOCAL RDWRT

Related Topics: LLINDM, LMVENG, LVLIND, TRKMAN, UMVENG, UVLIND

UMVCM

Scaling factor used for the dynamic control move calculations for each MV.

Applies to: MVs only (Independent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) LOCAL WRITE

UMVENG

Page 264: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 264 Víctor J. Cuadrado Alvarado

Manipulated variable upper engineering limit. Must be at or within the validity limits for the manipulated

variable and greater than or equal to the lower engineering limit (LMVENG).

If manipulated variable tracking is enabled (TRKMAN), UMVENG is the upper bound on the adjustment of

the manipulated variable limits (ULINDM/LLINDM). UMVENG should be set by engineering to define the

maximum allowable upper limit for the manipulated variable.

Applies to: MVs only (Independent Section)

Data Type: Float

Access: Read Only

Range: No Restrictions

Default: 1 (Required Entry)

Keywords: LOCAL READ CONSTANT

Related Topics: LLINDM, LMVENG, LVLIND, TRKMAN, ULINDM, UVLIND

UMVLP

Scaling factor used for the steady-state calculation.

Applies to: MVs only (Independent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) LOCAL WRITE

URDPTG

Ramp dependent variable upper imbalance target. For ramps with a programmed imbalance (MXNIMB = -

1), URDPTG is the upper limit on the allowed ramp imbalance, based on the ramp horizon (RHORIZ), the

current dependent variable targets (UDEPTG/LDEPTG), and the current value of the dependent variable.

Applies to: Ramp CVs only (Dependent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) LOCAL WRITE

Related Topics: LDEPTG, LRDPTG, MXNIMB, RHORIZ, UDEPTG

UVLDEP

Dependent variable upper validity limit. If a dependent variable current value, operating limit, or engineering

limit is greater than UVLDEP, the controller will treat it as a bad value. UVLDEP should be set by

engineering to define the acceptable range of values the dependent variable can assume.

Page 265: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 265 Víctor J. Cuadrado Alvarado

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Read Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: READ LOCAL CONSTANT

Related Topics: LDEPTG, LDPENG, LVLDEP, TRKDEP, UDEPTG, UDPENG

UVLIND

Independent variable upper validity limit. If an independent variable current value, manipulated variable

operating limit, or manipulated variable engineering limit is greater than UVLIND, it will be treated as a bad

value by the controller. UVLIND should be set by engineering to define the acceptable range of values the

independent variable can assume.

Applies to: MVs and FFs (Independent Section)

Data Type: Float

Access: Read Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: READ LOCAL CONSTANT

Related Topics: LLINDM, LMVENG, LVLIND, TRKMAN, ULINDM, UMVENG

VIND

Independent variable current process value. Prior to the controller engine calculations, VIND contains the

current process control system value of either the manipulated or feedforward variable.

Applies to: MVs and FFs (Independent Section)

Data Type: Float

Access: Read Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: READ LOCAL

Related Topics: DEP, VINDSP

VINDA

Independent variable current process value used in the internal calculations of the controller. This is the

transformed value of VIND.

Applies to: MVs and FFs (Independent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Page 266: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 266 Víctor J. Cuadrado Alvarado

Default: 0

Keywords: (None) LOCAL WRITE

Related Topics: VIND

VINDSP

Manipulated variable setpoint value as computed by the controller. If ONSTS is ON, the controller writes

valid manipulated variable setpoints at the end of each controller cycle.

Applies to: MVs only (Independent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0 (Required Entry)

Keywords: PWRITE LOCAL

Related Topics: DEP, ONSTS, VIND

VLARGE

Math very large number.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Float

Access: Read Only

Range: 1.0E3 to 1.0E12

Default: 1.00E+12

Keywords: (None) CONSTANT

Note: For AspenTech use only.

WFAILM

Connect put error recovery mode. Allows the response of the controller on a process control system (PCS)

write failure to be configured:

0 EXIT - (Default) Kill controller process if a write failure occurs.

1 OFF2EX - Try to turn off controller, and if two consecutive write failures occur, then kill the

controller process.

2 OFF - Try to turn off controller, and don't track consecutive write failures.

3 IGNORE - Don't kill or turn off controller (ignore write failures). This option is a valid choice

only after verifying that the PCS point list is stable (no points being added/deleted) and the

controller has been well exercised and proven. Additionally, the watchdog timer logic at the PCS

level must be in place to fail the controller and shed regulatory loops to normal mode when the

timer expires due to a communications link failure.

Some common conditions where put errors can happen are:

PCS controller MODE is changed from CASC to non-CASC. Which may prevent computer

write operations.

Page 267: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 267 Víctor J. Cuadrado Alvarado

The MV limits are changed between the read and write phase of the DMCplus controller

cycle.

A point in the PCS is re-built, moved or deleted. In this case, put errors will occur because

of an invalid point address.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Read Only

Range: 0 to 3

Default: 0

Keywords: (None) CONSTANT

Note: If it is necessary to change WFAILM, you must first stop the controller and unload the

context (Save the context to the CCF, then Delete the controller). Then edit the CCF and re-load it.

Editing the CCF and re-loading over an existing controller will not change the value of WFAILM.

Related Topics: LISTSZ

WHYOnnn

Optional Message Text Segment for the overall DMCplus controller WHYOFF message. The 3 digit suffix

(nnn) denotes the text segment number. This entry is part of the optional message output facility of

DMCplus. The number of these text segments is determined from the number of text segments per message

(OMSGSG).

Only a single WHYOFF message is stored in the WHYOnnn text segments.

Applies to: Controller General variables (General Section)

Data Type: Variable Length String

Access: Write Only

Range: No Restrictions

Default: (Required Entry)

Keywords: LASTW LOCAL

Related Topics: OMSGBY, OMSGLN, OMSGSG, OMSGnnn, SWHYOnnn

WHYOFF

Message stating why the controller turned off. Output on an ON to OFF transition of ONSTS and cleared on

an OFF to ON transition of ONSTS.

Applies to: Controller General variables (General Section)

Data Type: String*80

Access: Write Only

Range: No Restrictions

Default: (Although not required, AspenTech recommends defining this entry)

Keywords: (None) WRITE LOCAL

Related Topics: ONREQ, ONSTS, SONREQ, SWHYOFF

Page 268: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 268 Víctor J. Cuadrado Alvarado

WT

Dependent variable dynamic weight used in the control calculation. There are actually six values associated

with this entry:

(I,1) Steady-state lower weight (DEP < Low Limit)

(I,2) Steady-state upper weight (DEP > High Limit)

(I,3) Control calculation lower weight (DEP < Low Limit)

(I,4) Control calculation middle weight (Low Limit < DEP < High Limit)

(I,5) Control calculation upper weight (DEP >High Limit)

(I,6) Control calculation weight used for this cycle.

Used by the controller to determine the relative importance of the dependent variables. The weights are

always the inverse of the equal concern errors. The dynamic weight actually used in the control calculation is

stored in the sixth element of the WT array, which is the only one output for the WT entry. All six values

appear in the diagnostic print file.

Applies to: All CVs (Dependent Section)

Data Type: Float

Access: Write Only

Range: No Restrictions

Default: 0

Keywords: (None) LOCAL WRITE

Related Topics: ECECML, ECECMM, ECECMU, ECELPL, ECELPU

WTLP

Steady-state consistency weight. Weighting factor for the dynamic matrix to ensure that the dynamic moves

calculated by the controller will place the MVs at the desired steady-state values calculated by the LP.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Float

Access: Read Only

Range: 10.0 to 1.0E5

Default: 5.00E+02

Keywords: (None) CONSTANT

Note: For AspenTech use only.

WTMODE

This entry sets the method by which the DMCplus controller expects to be scheduled:

1 INTERNAL - (Default) Internal scheduling. The controller process schedules itself.

2 EXTERNAL - External scheduling. The controller process waits until an external source

signals it to run.

Applies to: Controller Configuration variables (Configure Section)

Page 269: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 269 Víctor J. Cuadrado Alvarado

Data Type: Integer

Access: Read Only

Range: 1 to 2

Default: 1

Keywords: (None) CONSTANT

Related Topics: CTOFF

XFORM

See the Standard Transform documentation.

Applies to: MVs and FFs (Independent Section)

Data Type: Variable Length String

Access: Read Only

Range: No Restrictions

Default: Keywords: (None) XFORM

XTDMOV

Informational flag stating whether extended moves will be used or not:

0 Extended moves will not be used.

1 Extended moves will be used.

Without extended moves, the controller uses 30 coefficients, 15 predictions and 8 moves. With extended

moves, the controller has up to 120 coefficients, 21 predictions and 14 moves. Another move is added for

every 15 controller coefficients above 30. The following table shows this relationship.

Coefs. -- Preds. -- Moves

30 -- 15 -- 8

45 -- 16 -- 9

60 -- 17 -- 10

75 -- 18 -- 11

90 -- 19 -- 12

105 -- 20 -- 13

120 -- 21 -- 14

Note: The controller is limited to 120 coefficients, but the model may have more. See IPSKIP.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT

Related Topics: IPNMOV, IPSKIP, NORMOV, XTDREQ

XTDREQ

Page 270: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 270 Víctor J. Cuadrado Alvarado

Request stating that extended moves should be used if possible:

0 (Default) Do not use extended moves.

1 Use extended moves if possible.

Applies to: Controller Configuration variables (Configure Section)

Data Type: Integer

Access: Read Only

Range: 0 to 1

Default: Build automatically sets this value based on your selections.

Keywords: CONSTANT

Related Topics: NORMOV, XTDMOV

Page 271: P EN UNA PLANTA DE LABORATORIO Proyecto Final de Carrerabibing.us.es/proyectos/abreproy/3886/fichero/Memoria+Completa.pdf · 2.4.1.- Algoritmos de identificación de los modelos 2.4.2.-

Puesta en marcha de herramienta de control DMC en una planta de laboratorio

Proyecto Fin de Carrera 271 Víctor J. Cuadrado Alvarado

BIBLIOGRAFÍA • ‘Adaptive control’

Karl Johan Aström, Björn Wittenmark. 1989

• ‘An overview of industrial model predictive control technology. In chemical process

control: Assessment and new directions for research’

S.J. Qin, Thomas A. Badgwell. AIChE Symposium series 316, 93. 1997

• ‘Aplicación de estrategias de control predictivo generalizado a una planta piloto’

Joaquín Rus Pezzi, Proyecto Final de Carrera. 1995

• ‘Aplicación del controlador OPTIMAX a una planta de producción de frío mediante

energía solar’

José María Gamboa Maldonado, Proyecto Final de Carrera. 2004

• ‘Apuntes de la asignatura Ingeniería de Control’

4º curso Ingeniería Industrial

• ‘Aspen Manufacturing Suite Documentation’

Aspen Technology, Inc. 2003

• ‘Control predictivo conrestricciones de una planta piloto mediante un sistema de

control distribuido’

Federico Delgado Barrero, Proyecto Final de Carrera. 1995

• ‘Control predictivo: Metodología, tecnología y nuevas perspectivas’

Carlos Bordons Alba, I curso de Especialización en Automática

Aguadulce, Almería. 2000

• ‘Integración de herramientas de simulación y ajuste de controladores en un sistema

distribuido mediante OPC’

Rafael Payseo Díaz, Proyecto Final de Carrera. 2003

• ‘Modelado, simulación y control H adaptativo de una planta piloto’

Carlos Urquízar Herrera, Proyecto Final de Carrera. 2000

• ‘Modelo de planta solar en Ecosimpro e integración OPC’

Alberto Rufí Tornos, Proyecto Final de Carrera. 2004

• ‘Model Predictive Control’

E.F. Camacho y C. Bordons. 2004

• support.aspentech.com

• www.aspentech.com

• www.opcfoundation.org