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
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
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
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
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)
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.
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
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.
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).
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.
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
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
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
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 +⋅=∧
)(
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
)()|(
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.
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-
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
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
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:
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
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.
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
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
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
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.
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
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.
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
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.
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
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.
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
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.
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”.
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).
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
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
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.
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
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..
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
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.
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.
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:
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:~~~~~~
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
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.
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
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)
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
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
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:
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
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
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.
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.
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.
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):
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
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
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:
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.
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
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.
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
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.
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
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.
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.
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’.
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.
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.
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:
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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
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:
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.
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
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.
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
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.
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.
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
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
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.
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.
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.
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
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
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
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
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
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.
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.
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
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
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.
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\
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
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.
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
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.
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
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
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.
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
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.
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
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
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.
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.
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:
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
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
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.
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.
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
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
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
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
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
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.
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
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
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
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.
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
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.
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
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.
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.
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.
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
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
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
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.
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.
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
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.
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
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
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.
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.
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.
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
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.
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.
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.
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 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.
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.
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
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
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
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
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).
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
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
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.
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
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)
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
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
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
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.
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
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
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.
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
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)
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:
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)
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
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
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.
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
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
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
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
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.
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
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
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
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
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
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
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
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
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.
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)
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
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
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.
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,
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
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
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
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
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)
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
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
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)
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
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:
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
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
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.
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.
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
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
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.
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.
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.
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
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
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
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
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]
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.
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
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
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.
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
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)
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)
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)
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
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)
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)
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).
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,
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
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
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
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
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)
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
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)
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.
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
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
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)
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.
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
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.
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)
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)
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
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)
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.
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
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
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
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.
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
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.
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
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)
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
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
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