You are on page 1of 42

Aspen Custom

Modeler 2004.1
DMCplus Controllers
Interface Guide
Who Should Read this Guide

This guide is designed for users requirening information on Contains


information on using DMCplus with Aspen Custom Modeler or Aspen
Dynamics.

Who Should Read this Guide 2


Contents
INTRODUCING ASPEN CUSTOM MODELER ....................................................... 5

1 USING DMCPLUS CONTROLLERS ................................................................. 6


Generate a DMCplus .mdl File .................................................................................... 6
Creating a Script to Generate a DMCplus .mdl File ........................................................ 6
Example of Generating a DMCplus .mdl File ............................................................ 8
Running Step Tests on a Dynamic Simulation ............................................................... 9
Defining a Step Test ............................................................................................ 9
Example Task ..................................................................................................... 9
Running the Step Test ....................................................................................... 10
Exporting Step Test Results as Collect Files........................................................... 11
Using a DMCplus Controller in a Dynamic Simulation ................................................... 11
System Requirements........................................................................................ 12
Configuring the Controller in DMCplus .................................................................. 12
Configuring the Controller in your Dynamic Simulation ........................................... 12
About the Configure Form ....................................................................................... 13
ControllerName for DMCplus ............................................................................... 14
ControllerActive for DMCplus............................................................................... 14
NMV for DMCplus .............................................................................................. 14
NFF for DMCplus ............................................................................................... 14
NCV for DMCplus............................................................................................... 14
MVTag for DMCplus ........................................................................................... 14
FFTag for DMCplus ............................................................................................ 14
CVTag for DMCplus............................................................................................ 14
MVMan for DMCplus........................................................................................... 15
About the ConfigureUnits Form ................................................................................ 15
MVUOM for DMCplus.......................................................................................... 16
MVFactor for DMCplus........................................................................................ 16
MVOffset for DMCplus ........................................................................................ 16
FFUOM for DMCplus........................................................................................... 16
FFFACTOR for DMCplus ...................................................................................... 16
FFOffset for DMCplus ......................................................................................... 17
CVUOM for DMCplus .......................................................................................... 17
CVFactor for DMCplus ........................................................................................ 17
CVOffset for DMCplus ........................................................................................ 17

Contents 3
Automatic Configuration of Units of Measurement ....................................................... 17
Running the Simulation with a DMCplus Controller ...................................................... 18
ONREQ for DMCplus .......................................................................................... 18
MVMan for DMCplus........................................................................................... 19

2 EXAMPLE OF USING A DMCPLUS CONTROLLER .......................................... 20


Running the Simulation in Aspen Plus................................................................... 20
Modifying the Regulatory Control Loops ................................................................ 20
Designing the Multivariable Control Scheme............................................................... 23
Automating the Step Test................................................................................... 24
About the Tagnames.......................................................................................... 25
Importing the Data................................................................................................. 26
Creating and Updating a Controller Configuration File .................................................. 29
Configuring the DMCplus Controller in Aspen Dynamics ............................................... 30
Studying Disturbances ............................................................................................ 33

GENERAL INFORMATION............................................................................... 38
Copyright.............................................................................................................. 38
Related Documentation........................................................................................... 40

TECHNICAL SUPPORT.................................................................................... 41
Online Technical Support Center .............................................................................. 41
Phone and E-mail................................................................................................... 42

Contents 4
Introducing Aspen Custom
Modeler

Aspen Custom Modeler (ACM) is an easy-to-use tool for creating, editing and
re-using models of process units. You build simulation applications by
combining these models on a graphical flowsheet. Models can use inheritance
and hierarchy and can be re-used directly or built into libraries for distribution
and use. Dynamic, steady-state, parameter estimation and optimization
simulations are solved in an equation-based manner which provides flexibility
and power.
ACM uses an object-oriented modeling language, editors for icons and tasks,
and Microsoft Visual Basic for scripts. ACM is customizable and has extensive
automation features, making it simple to combine with other products such as
Microsoft Excel and Visual Basic. This allows you to build complete
applications for non-experts to use.

Introducing Aspen Custom Modeler 5


1 Using DMCplus
Controllers

There are three capabilities in Aspen Custom Modeler® and Aspen


Dynamics™ designed to help you develop and test DMCplus™ controllers. You
can:
• Generate a DMCplus .mdl file directly for immediate use in DMCplus. This
is the recommended option and avoids the intermediate Collect file.
• Run step tests on the dynamic simulation and export the results to the
DMCplus Collect file format for use by the model identification tool
DMCplus Model.
• Use a DMCplus controller in a dynamic simulation.

Generate a DMCplus .mdl File


To generate a DMCplus mdl file:
1 Ensure that the simulation is at steady state. A convenient way to do this
is to display the History Table as a Plot, and check that the values of the
variables do not vary with time prior to the start of the step tests.
2 Create and then run a script defining the variables you want the DMC
controller to manipulate, the measured variables and appropriate values
for options controlling the generation of the mdl file.

The .mdl file is automatically generated using the values of response of the
measured variables to step changes in the manipulated variables. This is done
by integrating the state-space linear model manipulated variable, through
time until the state variables of your model have settled down to steady
state.

Creating a Script to Generate a


DMCplus .mdl File
To create a script to generate a DMCplus .mdl file:
1 Define the manipulated variables using AddInputVariable.
2 Define the measured variables using AddOutputVariable.

1 Using DMCplus Controllers 6


3 Specify values for options controlling the generation of the mdl file.
4 Request generation of the mdl file.
5 Specify the name of the mdl file using Calculate.

Syntax for Generating a DMCplus .mdl File


Use the following syntax:
Set Doc = ActiveDocument
Set MDL = Doc.CDI
MDL.Reset
MDL.AddInputVariable "var path"
MDL.AddOutputVariable "var path"
MDL.GenerateStepResponse
MDL.StepResponseTimeInterval = intervaltime
MDL.StepResponseIntegrationsPerInterval = stepsperinterval
MDL.StepResponseAbsoluteTolerance = stepabstol
MDL.StepResponseRelativeTolerance = stepreltol
MDL.StepResponseAbsoluteRampTolerance = steprampabstol
MDL.StepResponseRelativeRampTolerance = steprampreltol
MDL.StepResponseMinIntervals = minint
MDL.StepResponseMaxIntervals = maxint
MDL.Calculate "filename argument"

Set Doc = ActiveDocument Accesses CDI functions for the currently open simulation
document
Reset Clears the list of variables and resets the other options to their
default values
AddInputVariable Used to add manipulated variables. If the variable name
"var path" includes double quotes, you must insert two of these in the
variable path for input and output variables, for
example:CDI.AddInputVariable "Feed1.F(""CH4"")"
AddOutputVariable Used to add measured variables
"var path"
GenerateStepResponse Requests computation of the response of the measured
variables with respect to perturbations in the manipulated
variables. The results of the step response calculation are
output in the form of a DMCPlus mdl file.
Calculate Calculates and specifies the name of the .mdl file. The filename
"filename argument" argument provides a file name prefix. If you provide a prefix,
the file is named prefix.mdl. If you do not supply a file name
prefix, the files is named cdi_.mdl
StepResponseTime Specifies a positive value intervaltime defining the sample times
Interval = intervaltime of the response of the measured variables to steps in the
manipulated variables. It has default equal to the current value
of the Communication Time
StepResponse Specifies a positive integer stepsperinterval defining the
IntegrationsPerInterval number of integration steps taken per time interval used to
= stepsperinterval generate the step response; the default is 10.
StepResponseAbsolute Defines the absolute tolerance used to compute the responses
Tolerance = stepabstol of the measured variables. It has default 1.e-5 and range 0 to
1. You may need to decrease this tolerance if your measured
variables have very small values.
StepResponseRelative Defines the relative tolerance used to compute the responses of
Tolerance = stepreltol the measured variables. It has default 1.e-5 and range 0 to 1.

1 Using DMCplus Controllers 7


StepResponseAbsolute Defines the absolute tolerance used to detect if any of the
RampTolerance = measured variables are "ramping", that is not at steady state.
steprampabstol Ramping variables can exist even though all the state variables
in your flowsheet have settled down to steady state after the
step changes in the manipulated variables. You may need to
change this tolerance depending on the scaling and range of
your measured variables to avoid falsely detecting ramping
variables. It has default 1.e-2 and range 0 to 1 and the value
should always be greater than StepResponseAbsoluteTolerance.
StepResponseRelative Defines the relative tolerance used to detect if any of the
RampTolerance = measured variables are "ramping", that is not at steady state.
steprampreltol You may need to change this tolerance depending on the
scaling and range of your measured variables. It has default
1.e-2 and range 0 to 1 and the value should always be greater
than StepResponseRelativeTolerance.
StepResponseMin Defines the minimum number minint of sample time intervals to
Intervals = minint be computed before the step response is defined to be at
steady state, with default of 15. This can be used to avoid
terminating the step response too early in the case of
controllers with "dead time" or in special cases where the
response settles down temporarily before moving to the true
steady state later.
StepResponseMax Defines the maximum number of sample time intervals of the
Intervals = maxint measured variables to be calculated, with default 1000.
Note: The number of intervals produced will be a multiple of
30, 45, 60, 75, 90, 105 or 120 for compatibility with DMCPlus.

Example of Generating a DMCplus .mdl


File
The following is an example of generating a DMCplus .mdl file:

Set Doc = ActiveDocument


Set MDL = Doc.CDI
MDL.Reset
MDL.AddInputVariable "b1.valueposition"
MDL.AddOutputVariable "b1.level"
MDL.GenerateStepResponse
MDL.StepResponseTimeInterval = 1
MDL.StepResponseIntegrationsPerInterval = 10
MDL.StepResponseMinIntervals = 30
MDL.StepResponseMaxIntervals = 800
MDL.Calculate "myresponse"

1 Using DMCplus Controllers 8


Running Step Tests on a
Dynamic Simulation
This section describes how to generate step response results from a
simulation for import into DMCplus Model, where they can be used for model
identification.
Click one of the following links to display information on running step tests:
• Defining a step test.
• Running the step test.
• Exporting the step test results.
This section assumes that you have already created the dynamic simulation.

Defining a Step Test


To define a step test:
1 Determine the variables that you wish to perturb in the step tests and
determine their variable names.

Tip: In Aspen Custom Modeler or Aspen Dynamics, the best


place to look for these variables is on the Manipulate tables of
the blocks. These forms include variables whose values can be
changed at runtime and which are therefore potential step
testing perturbation variables.

Note: Only variables that are Fixed can be perturbed in step


tests.

2 In the All Items pane of the Simulation Explorer, select Flowsheet and in
the Contents pane, double-click Add Task.
3 When prompted, enter an appropriate name for the task, for example,
StepTest1.
4 Use Task Language to define the steps.
5 Now you can create a History Table containing the variables for which you
require results. To do this, from the Tools menu click New History Table.
6 Open the tables containing the variables you require and drag and drop
the variables from these tables to the History Table.

You must define the History Table before the run to ensure that results are
recorded for your chosen variable throughout the dynamic simulation.
Click and hold down the mouse button on the required variable name and
drag the variable to the History Table. Release the mouse button.

Example Task
An example task is shown here:

1 Using DMCplus Controllers 9


Task StepTest1 runs when time == 0.1

TC101.SPRemote : CC101.SPRemote * 1.05;


wait for time == 1.1;

TC101.SPRemote : CC101.SPRemote / 1.05;


wait for time == 2.1;

TC101.SPRemote : CC101.SPRemote * 0.95;


wait for time == 3.1;

TC101.SPRemote : CC101.SPRemote / 0.95;


wait for time == 4.1;

Pause;

End
This task increases the set point of a temperature controller by 5%, waits an
hour for the simulation to level out, and then reduces the set point to the
original value, and again waits an hour for the simulation to stabilize.
It then repeats this for a 5% decrease in the temperature controller set point
and pauses the simulation.
This task only manipulates one variable, but you could go on to repeat this
perturbation sequence for other variables.
When creating the task you may need to use trial and error to ensure you
allow sufficient time between steps for the simulation to level out to a new
steady state.

Running the Step Test


To run the step test:
1 Ensure that the simulation is at steady state before the step tests begin. A
convenient way to do this is to display the History Table as a Plot, and
check that the values of the variables do not vary with time prior to the
start of the step tests.
2 Activate the step test Task to be used.
3 Run the dynamic simulation.

Now you can export the results as a Collect file.

1 Using DMCplus Controllers 10


Exporting Step Test Results as Collect
Files
To export the step test results as a collect file:
1 In the History Table that you created, click with the right mouse button
and from the menu that appears, click Refresh.
The table is updated with the results from the simulation.
2 Click the right mouse button again and click Export Table.
The Export File Properties dialog box opens.

3 The TagName column contains the TagName property for each variable.
Edit this to enter the tag name that you wish to use to refer to the
variable within DMCplus. Every variable must have a tag name.
The maximum length of a DMCplus tag name is 12 characters. If the tag
name is longer than 12 characters, it will be truncated when exported to
the Collect file.
The Variable and Description columns contain the name and description
for each variable in the History Table. You cannot edit these.
4 When you are satisfied with the tag names click the Export button.
5 In the Export dialog box, select DMCplus Collect (*.clc) in the Save As
Type box, and enter the name for the file, then click Export.

Using a DMCplus Controller in a


Dynamic Simulation
This section describes how to use a DMCplus™ controller in a simulation of
the process being controlled.

1 Using DMCplus Controllers 11


System Requirements
To use a DMCplus controller in a simulation, you must have the following
software installed on a PC running Windows 2000 Professional or Windows XP
Professional:
• Aspen Custom Modeler or Aspen Dynamics 2004.1 server
• DMCplus Online version 6.0 Service Pack 1 or later
• Cim-IO version 6.0 Service Pack 1 or later (you do not need Cim-IO
servers installed to use the interface)
The Aspen Custom Modeler or Aspen Dynamics client user interface can run
on the same PC or another PC.

Configuring the Controller in DMCplus


You configure a DMCplus controller for use in a dynamic simulation in exactly
the same way as a controller for use on-line on a real plant. For details on
how to do this, see the DMCplus documentation.
Because the simulation schedules execution of the controller you must ensure
that the WTMODE entry for the controller is set to a value of 2.
When you are using the controller in a dynamic simulation, it will not
communicate with a DCS or other external software. Therefore, you must
ensure that no entries have the READ or WRITE keyword values. If any
entries have these values, change them to LOCAL. You may need to change
these back to READ or WRITE before you deploy the controller.
For your convenience, DMCplus includes the template DMCplus-ACM.tcc,
which includes default values designed for use in building a controller for
dynamic simulations.
You should place the .mdl and .ccf files for the controller in a folder with the
same name as the controller below the AC Online\app folder in your DMCplus
online installation. That is, these files should exist:
Program Files\AspenTech\AC
Online\app\controllername\controllername.mdl
Program Files\AspenTech\AC Online
\app\controllername\controllername.ccf
Where controllername is the name of your controller.

Configuring the Controller in your


Dynamic Simulation
The Aspen Custom Modeler and Aspen Dynamics libraries include a model
called DMCplus. In Aspen Dynamics you can find it in the Dynamics,
ControlModels folder. In Aspen Custom Modeler, this is in the Modeler, Models
folder. This model represents the DMCplus controller within your simulation,
and will automatically exchange measured and controlled variable values with
the controller, and schedule its execution.
To use this model:

1 Using DMCplus Controllers 12


1 Create a block on your flowsheet that uses this model.
2 Open the Configure form for the block and enter values for the number of
MVs (NMV), feed forwards (NFF) and CVs (NCV).
These values should be the same as in your DMCplus controller definition.
3 Use the ControlSignal stream type to connect each of the CVs and FFs
from their source block to the InputSignal port of the controller block. You
are prompted to select which CV or FF to connect the signal to.

Tip: You must connect all variables so that they are in the same
order as in your controller definition, for example use CV (1) for
the first CV in your controller.

4 Use the ControlSignal stream type to connect the MVs from the
OutputSignal port to their destination blocks. Typically the destination will
be a remote setpoint for a PID controller block.
Again, connect the MVs in the same order as the MVs in your controller
definition.
5 In the Configure form, enter values for each of the parameters.
For details on this form, see the next section.
6 Go to the ConfigureUnits form and define the unit of measurement
conversions.
For details of this form, see About the ConfigureUnits Form.

About the Configure Form


This table describes the parameters on the Configure form.

Parameter Description Valid Values Default


Value
ControllerNameControllerNameforDMCplus DMCplus controller Any string -
name
ControllerActiveControllerActiveforDMCplus Controller active Yes Yes
No
NMVNMVforDMCplus Number of MVs Any integer 2
NFFNFFforDMCplus Number of FFs Any integer 2
NCVNCVforDMCplus Number of CVs Any integer 2
MVTagMVTagforDMCplus MV DMCplus tag name Any string -
FFTagFFTagforDMCplus FF DMCplus tag name Any string -
CVTagCVTagforDMCplus CV DMCplus tag name Any string -
MVManMVManforDMCplus1 Manual MV value Any real 1.0

1 Using DMCplus Controllers 13


ControllerName for DMCplus
ControllerName specifies the name of the DMCplus controller to be used.
Capitalization is unimportant, in other words the name COL5X3 is equivalent
to col5x3.

ControllerActive for DMCplus


When ControllerActive=Yes, and the run mode is dynamic, the DMCplus
controller is loaded and used during the simulation.
When ControllerActive=No, or the run mode is not dynamic, the controller is
not run, and the MVs are set to MVMan – the manual MVs.
Set ControllerActive=No if you wish to disable the controller for an entire run,
for example if you are performing step tests. To switch the controller on and
off during a run use ONREQ.

NMV for DMCplus


Specifies the number of MVs. This should be equal to the number of MVs in
the DMCplus controller.

NFF for DMCplus


Specifies the number of FFs. This should be equal to the number of FFs in the
DMCplus controller.

NCV for DMCplus


Specifies the number of CVs. This should be equal to the number of CVs in
the DMCplus controller.

MVTag for DMCplus


Specifies the DMCplus controller tag names (MDLDEP entry) for each MV. You
must enter a valid tag name for each MV, and this must match the name of
an MV in the DMCplus controller. The MVTag for each MV must be unique. The
capitalization of the MVTag is not important.

FFTag for DMCplus


Specifies the DMCplus controller tag names (MDLDEP entry) for each FF. You
must enter a valid tag name for each FF, and this must match the name of an
FF in the DMCplus controller. The FFTag for each FF must be unique. The
capitalization of the FFTag is not important.

CVTag for DMCplus


Specifies the DMCplus controller tag names (MDLIND entry) for each CV. You
must enter a valid tag name for each CV, and this must match the name of a

1 Using DMCplus Controllers 14


CV variable in the DMCplus controller. The CVTag for each CV must be
unique. The capitalization of CVTag is not important.

MVMan for DMCplus


Specifies the manual output values of the MVs. The MVs are set to these
values for all non-dynamic run modes. These values are also used as the
initial values of the controller MVs at the start of a dynamic simulation.
MVMan can also be used to change the MV values during a dynamic
simulation when the controller is in manual mode.

About the ConfigureUnits Form


Internally, all Aspen Dynamics models work in the Metric unit of
measurement set. This is true regardless of the units of measurement
selected for input and display of results. To see values in this unit of
measurement set:
• From the Tools menu, point to Units of Measurement and click Metric.
By default, all CV and FF values passed to the DMCplus controller will be in
Metric units and all MV values returned from the controller will be assumed to
be in Metric units. If the units of measurement for any of the controller
variables are different, these units must be converted to achieve correct
operation of the controller.
Use the ConfigureUnits form to define the units of measurement used and any
conversion factors required.

Name Description Valid Values Default


Value
MVUOMMVUO MV unit of measurement Any string -
MforDMCplus
MVFactorMVFa MV UOM conversion factor Any real 1.0
ctorforDMCplus
MVOffsetMVOff MV UOM conversion offset Any real 0.0
setforDMCplus
FFUOMFFUOMf FF unit of measurement Any string -
orDMCplus
FFFactorFFFact FF UOM conversion factor Any real 1.0
orforDMCplus
FFOffsetFFOffs FF UOM conversion offset Any real 0.0
etforDMCplus
CVUOMCVUOM CV unit of measurement Any string -
forDMCplus
CVFactorCVFac CV UOM conversion factor Any real 1.0
torforDMCplus
CVOffsetCVOff CV UOM conversion offset Any real 0.0
setforDMCplus

1 Using DMCplus Controllers 15


MVUOM for DMCplus
Specifies the units of measurement for each MV. The DMCplus model will
check the units of measurement against those in the DMCplus controller
definition (ENGIND entry). When the simulation is run the model will warn if
there are any differences.

MVFactor for DMCplus


Specifies the unit of measurement conversion factor for each MV. The MV
values in metric units and the value returned from the DMCplus controller are
related as follows:
MV = MVdmcp * MVFactor + MVOffset
Where:
MV = MV value in metric units
MVdmcp = MV value returned from the DMCplus controller

MVOffset for DMCplus


Specifies the unit of measurement conversion offset for each MV. The MV
values in metric units and the value returned from the DMCplus controller are
related as follows:
MV = MVdmcp * MVFactor + MVOffset
Where:
MV = MV value in metric units
MVdmcp = MV value returned from the DMCplus controller

FFUOM for DMCplus


Specifies the units of measurement for each FF. The DMCplus model will
check the units of measurement against those in the DMCplus controller
definition (ENGIND entry). When the simulation is run the model will warn if
there are any differences.

FFFACTOR for DMCplus


Specifies the unit of measurement conversion factor for each FF. The FF
values in metric units and the value returned from the DMCplus controller are
related as follows:
FF = FFdmcp * FFFactor + FFOffset
Where:
FF = FF value in metric units
FFdmcp = FF value returned from the DMCplus controller

1 Using DMCplus Controllers 16


FFOffset for DMCplus
Specifies the unit of measurement conversion offset for each FF. The FF
values in metric units and the value returned from the DMCplus controller are
related as follows:
FF = FFdmcp * FFFactor + FFOffset
Where:
FF = FF value in metric units
FFdmcp = FF value returned from the DMCplus controller

CVUOM for DMCplus


Specifies the units of measurement for each CV. The DMCplus model will
check the units of measurement against those in the DMCplus controller
definition (ENGDEP entry). When the simulation is run the model will warn if
there are any differences.

CVFactor for DMCplus


Specifies the unit of measurement conversion factor for each CV. The CV
values in metric units and the value actually passed to the DMCplus controller
are related as follows:
CV = CVdmcp x CVFactor + CVOffset
Where:
CV = CV value in metric units
CVdmcp = CV value passed to the DMCplus controller

CVOffset for DMCplus


Specifies the unit of measurement conversion offset for each CV. The CV
values in metric units and the value actually passed to the DMCplus controller
are related as follows:
CV = CVdmcp x CVFactor + CVOffset
Where:
CV = CV value in metric units
CVdmcp = CV value passed to the DMCplus controller

Automatic Configuration of
Units of Measurement
For convenience, you can automatically complete the ConfigureUnits table by
running the UOMFactors script for the block. This script assumes that the

1 Using DMCplus Controllers 17


units you are currently using to display results in your simulation are the
same as those used in the DMCplus controller.
To complete the ConfigureUnits table automatically using the UOMFactors
script:
1 Select the units for all of the MVs, FFs, and CVs.
2 In the Simulation Explorer, go to the controller block and run the
UOMFactors script.
The ConfigureUnits table will be completed automatically.

Note: If the DMCplus units of measurement for a variable are


not in the list of available units, you must enter the units,
conversion factor and conversion offset manually.

Running the Simulation with a


DMCplus Controller
When you run a dynamic simulation with the controller active, if you have not
already loaded or started the controller using DMCplus Manage, the controller
is automatically loaded and started.
Open the Results form to see the current values of the MVs, CVs and Feed
Forward variables.
As well as using the Aspen Custom Modeler or Aspen Dynamics user interface,
you can use DMCplus OPCON to interact with the controller during the
simulation.
Use the Manipulate table to change controller settings during the simulation.

Tip: It is easier to pause the simulation before changing values


in this table.

The Manipulate table enables you to change:

Name Description Valid Values Default Value


ONREQONREQfo Master on/off request 0 (Off) 1
rDMCplus switch 1 (On)
MVManMVManfo Manual MV value Any real 1.0
rDMCplus2

ONREQ for DMCplus


Corresponds to the ONREQ flag in the DMCplus controller. Set ONREQ to 1 to
have the controller update the values of the MVs, or 0 to switch this off.

1 Using DMCplus Controllers 18


If you change from on to off, the MVs will be frozen at their current values.
You can manually change their values. To do this:
• Enter your required value in the MVMan row.
The corresponding MV will then change to this value.

MVMan for DMCplus


Specifies the manual output values of the MVs. The MVs are set to these
values for all non-dynamic run modes. These values are also used as the
initial values of the MVs at the start of a dynamic simulation.
MVMan can also be used to change the MVs during a dynamic simulation
when the controller is inactive or switched off.

1 Using DMCplus Controllers 19


2 Example of Using a
DMCplus Controller

This example describes a simulation in which 98% pure methylcyclohexane


(MCH) is recovered from a mixture of MCH and toluene. Because these
components form a close boiling system that is difficult to separate by simple
binary distillation, phenol is used as an extractant to enhance the relative
volatility of MCH over toluene. This example describes the steps required to
set up a DMCplus controller to control the process.
To follow this example, you need to have Aspen Plus™, Aspen Dynamics™
and DMCplus Online installed.
All of the files for this example are supplied in the MchDMC example folder.
If you have installed Aspen Dynamics in the default location, this folder is in
C:\Program Files\Aspentech\Aspen Dynamics 12.1\Examples.
For more information on using DMCplus with Aspen Dynamics, see the
UsingDMCplus Controllers help.

Running the Simulation in Aspen Plus


Firstly, the simulation was run and exported from Aspen Plus using the file
MchDMC.bkp. If you do this yourself:
• Ensure the Dynamic button is pressed in.
• Because the required dynamic information has already been entered, the
simulation just needs to be run.
• Export the file as a flow driven dynamic simulation (.dynf file).

Modifying the Regulatory Control


Loops
In Aspen Dynamics, when you open the file that was exported from Aspen
Plus, the simulation is automatically updated to insert some default pressure
and level regulatory controls.

2 Example of Using a DMCplus Controller 20


These regulatory control loops were then modified and tuned to reflect the
actual control configuration in the plant The following figure shows the
modified configuration:

2 Example of Using a DMCplus Controller 21


The regulatory loops were then tuned. This is the configuration prior to the
installation of the DMCplus controller. Notice that in addition to the default
PID loops created after the Aspen Plus simulation, two other PID loops were
added:
• A PHENOLPID loop increases the flow of phenol to increase the purity of
MCH in the product stream.
• The REB_PID loop regulates reboiler duty to control the temperature on
stage 19 of T-1. Stage 19 was chosen because it is sensitive to
composition changes at the bottom of the column.
The following plot was generated using Aspen Plus and varying the distillate
rate:

2 Example of Using a DMCplus Controller 22


This version of the file is available as MchRegCtrl.dynf. You can run the
simulation, introduce disturbances and view the responses. When simulating
a real plant, compare the performance of the simulation with real data, and
make modifications as necessary.

Designing the Multivariable


Control Scheme
Next, the multivariable control scheme was designed and the flowsheet
modified to reflect the desired configuration.
For example, the level loop associated with the feed drum V-1 will be
controlled manually by DMCplus. This is because DMCplus controller will not
use the LC_FEED PID loop to control the level. Similarly, the PHENOLPID loop
will be set to manual because DMCplus will rely on multiple manipulated
variables to decide the most economical way to control MCH purity in the
product stream.

2 Example of Using a DMCplus Controller 23


The Aspen Dynamics simulation was prepared to collect data during the
DMCplus step test. During a step test, manipulated variables in the DMCplus
controller are stepped and data is collected in order to generate DMCplus
models for the controlled variables.
In this example, the model is used to generate the step test results. In
practice, this would normally be done using the real plant and not the model,
although the model can be used to help plan the step testing program.

Tip: In order to collect data, create a history table(s) containing


all the variables required for DMCplus modeling.

The following figure shows a history table, with some selected tags:

The faceplates of the two controllers PHENOLPID and LC_FEED were used to
set the controllers to manual before beginning the step test.

Automating the Step Test


To automate the step test, tasks were added to the Aspen Dynamics
simulation.
The task Steptest1 in the example file calls subtasks FF_FEED, FF_CWTWMP,
FF_FEEDT, MVSTEPS and FINISHTEST to accomplish this. Step inputs are
made to the manipulated variables, followed by a wait to allow the variables
to come to steady state, so that the effect of the change can be identified by
DMCplus Model.

2 Example of Using a DMCplus Controller 24


This version of the file is saved as MchStepTest.dynf.
Having activated the task Steptest1, the simulation was run. When it had
finished, the history table(s) were exported. The DMCplus tag names are
specified at this time.

About the Tagnames


Tagnames are identifiers (up to 12 characters) used by DMCplus to identify
variables. These should be specified when the history table is saved at the
end of the step test, in DMCplus readable format (clc file).
The manipulated variables (MV) selected for this controller are:

Tagname Description
LC-FEED.OP Feed to T-1 from V-1
A-PHENPID.OP Phenol feed to T-1
Q-REBPID.SP Tray 19 temperature cascaded to reboiler duty
PC-TOP.SP Top pressure in T-1
F-REFLUX Reflux in T-1

Other independents that are modeled as feedforwards (FF) are:

Tagname Description
F-FEEDMCH MCH feed to V-1
T-WATERIN Cooling water temperature to condenser
F-FEEDTOL Toluene feed to V-1

2 Example of Using a DMCplus Controller 25


The controlled variables (CV) are:

Tagname Description
L-DRUMV1 Level in V-1 (held within upper and lower
limits)
DP-T2T21 Pressure drop in tower (held within dumping
and flooding limits)
Q-REBPID.OPX Reboiler duty (constrained by maximum
available duty)
F-WATER Cooling water flow to condenser (constrained
by maximum flow)
A-PHENPID.PV MCH concentration in top product stream
(product specification)
F-MCHPROD Top MCH product flow rate from T-1
(constrained by the amount downstream units
can accept)
PHENOLRATIO Phenol to feed ratio (minimum limit for relative
volatility)
T-STAGE19PCT Pressure compensated temperature on stage
19 (maintain minimum temperature to prevent
loss of MCH in bottoms product). Temperature
on stage 19 is compensated linearly for
variations in tower pressure. The expression for
the PCT calculation is:
PCT = Tray19Temp(F) - 14.12
(TowerPressure(psi) - 16)
Note: The numbers are converted to Metric
units when implemented in Aspen Dynamics.
PC-TOP.PV Pressure in tower T-1 (prevent tower from
running into vacuum or exceeding equipment
pressure specification)

Importing the Data


DMCplus Model was opened and the collected data file(s) imported. The
vectors were plotted as shown in the following figure:

2 Example of Using a DMCplus Controller 26


Cases in the Model file listing independents and dependents, data ranges,
times to steady state were created:

2 Example of Using a DMCplus Controller 27


The case(s) were run to identify DMCplus models and the models generated
by the case(s) were viewed. An example is shown in the following figure:

A model matrix was assembled, selecting the most appropriate models from
different cases:

2 Example of Using a DMCplus Controller 28


This model was exported as a file (mchcol.mdl) for use by the controller. All
the above operations in DMCplus Model are saved in the file mchcol.dpp.

Creating and Updating a


Controller Configuration File
The model file (mchcol.mdl) was imported in DMCplus Build then exported as
a controller configuration file (ccf). This is available as mchcol.ccf.
The ccf file was imported in DMCplus Simulate and the controller was tuned
and Tuning parameters were changed to get the desired response from the
controller.
The ccf file was updated from the Controller menu to save the tuning
changes.
Both the model and the ccf files were copied into a newly created folder in the
app directory of DMCplus Online. For example, if the controller name was

2 Example of Using a DMCplus Controller 29


mchcol, then you would copy mchcol.mdl (model file) and mchcol.ccf (ccf file)
into the: DMCplusOnline\app\Mchcol folder

Configuring the DMCplus


Controller in Aspen Dynamics
In Aspen Dynamics, a DMCplus block was placed on the flowsheet.
The controller was configured by inserting tag names, as in the model file,
and connecting the dependents and independents to the appropriate variables
in the dynamic simulation using control signals:

The flow diagram looks like this:

2 Example of Using a DMCplus Controller 30


The units were configured using the ConfigureUnits form on the DMCplus
block and the controller turned on using the Configure form.
In DMCplus Online, the Operator Console (DMCplus View) was used to change
operating limits and to further tune the controller. The configuration was
saved using the Manage program.
When the dynamic simulation was run, plots of manipulated and controlled
variables were viewed to monitor the performance of the controller.

Tip: The example file, MchDMCplus.dynf contains predefined


plots MVs, FFs, CV1to5 and CV6to9.

If you open the Operator Console, you can see how the controller drives
towards constraints:

2 Example of Using a DMCplus Controller 31


The highlighted numbers indicate that the controlled variable is at a lower or
upper limit constraint. Notice how the controller tries to minimize pressure,
reboiler temperature, meet the low limit of MCH concentration in the product
stream and maximize the valuable product stream.
The corresponding plots in Aspen Dynamics looks like this:

2 Example of Using a DMCplus Controller 32


Studying Disturbances
To study the effect of disturbances, you can perturb the feedforward (FF)
variables in the DMCplus controller either manually by using the appropriate
forms, or by using tasks.
In the example, there are two tasks DIST_CW and DIST_FEED that disturb
the cooling water temperature and feed flow rate respectively. Activate these
tasks whenever desired to study the effect of disturbances.
The following figure shows the effect of lowering the feed rate to the drum V-
1. As the level L-DRUMV1 approaches the low limit, the controller reduces
feed to the column, in order to prevent V-1 from running dry. The following
figure shows the active constraints in this case:

2 Example of Using a DMCplus Controller 33


Notice how the controller tries to minimize steam, pressure and run close to
the low limit constraint of MCH product specification, while trying to balance
the level.
The corresponding Aspen Dynamics plots are shown in the following figure:

2 Example of Using a DMCplus Controller 34


Activate the task DIST_CW to study the effect of disturbances in cooling
water temperature. DIST_CW increases cooling water temperature to 104 °F.
The controller is driven to new constraints as shown in this figure:

2 Example of Using a DMCplus Controller 35


Notice how the controller hits the upper limit on cooling water flow,
maximizes valuable product, minimizes pressure and reboiler temperature. It
also increases phenol to compensate the loss in MCH because of higher tower
temperature. The corresponding Aspen Dynamics plots are shown in the
following figure:

2 Example of Using a DMCplus Controller 36


Notice how the feed disturbances increase feed to the drum V-1 and allow the
controller to maximize product flow.

2 Example of Using a DMCplus Controller 37


General Information

Copyright
Version Number: 2004.1
April 2005
Copyright © 1982-2005 Aspen Technology, Inc, and its applicable
subsidiaries, affiliates, and suppliers. All rights reserved. This Software is a
proprietary product of Aspen Technology, Inc., its applicable subsidiaries,
affiliates and suppliers and may be used only under agreement with
AspenTech.
Aspen ACOL™, Aspen Adsim®, Aspen Advisor™, Aspen Aerotran®, Aspen
Alarm & Event™, Aspen APLE™, Aspen Apollo Desktop™, Aspen Apollo
Online™, Aspen AssetBuilder™, Aspen ATOMS™, Aspen Automated Stock
Replenishment™, Aspen Batch Plus®, Aspen Batch.21™, Aspen BatchCAD™,
Aspen BatchSep™, Aspen Calc™, Aspen Capable-to-Promise®, Aspen
CatRef®, Aspen Chromatography®, Aspen Cim-IO for ACS™, Aspen Cim-IO
for Csi VXL™, Aspen Cim-IO for Dow MIF™, Aspen Cim-IO for G2™, Aspen
Cim-IO for GSE D/3™, Aspen Cim-IO for Hewlett-Packard RTAP™, Aspen Cim-
IO for Hitachi PLC (H04E)™, Aspen Cim-IO for Intellution Fix™, Aspen Cim-IO
for Melsec™, Aspen Cim-IO for WonderWare InTouch™, Aspen Cim-IO for
Yokogawa Centum CS™, Aspen Cim-IO for Yokogawa Centum XL™, Aspen
Cim-IO for Yokogawa EW3™, Aspen Cim-IO Interfaces™, Aspen Cim-IO
Monitor™, Aspen Cim-IO™, Aspen Collaborative Demand Management™,
Aspen Collaborative Forecasting™, Aspen Compliance.21™, Aspen
COMThermo TRC Database™, Aspen COMThermo®, Aspen Cost Factor
Manual™, Aspen Crude Manager™, Aspen Crude Margin Evaluation™, Aspen
Custom Modeler®, Aspen Data Source Architecture™, Aspen Decision
Analyzer™, Aspen Demand Manager™, Aspen DISTIL™, Aspen Distribution
Scheduler™, Aspen DMCplus® Composite, Aspen DMCplus® Desktop, Aspen
DMCplus® Online, Aspen DPO™, Aspen Dynamics®, Aspen eBRS™, Aspen
Enterprise Model™, Aspen ERP Connect™, Aspen FCC®, Aspen FIHR™, Aspen
FLARENET™, Aspen Fleet Operations Management™, Aspen Framework™,
Aspen FRAN™, Aspen Fuel Gas Optimizer Desktop™, Aspen Fuel Gas
Optimizer Online™, Aspen General Construction Standards™, Aspen Hetran®,
Aspen HX-Net®, Aspen Hydrocracker®, Aspen Hydrotreater™, Aspen HYSYS
Amines™, Aspen HYSYS Crude™, Aspen HYSYS Dynamics™, Aspen HYSYS
OLGAS 3-Phase™, Aspen HYSYS OLGAS™, Aspen HYSYS OLI Interface™,
Aspen HYSYS Tacite™, Aspen HYSYS Upstream Dynamics™, Aspen HYSYS
Upstream™, Aspen HYSYS®, Aspen Icarus Process Evaluator®, Aspen Icarus

General Information 38
Project Manager®, Aspen InfoPlus.21®, Aspen Inventory Balancing™, Aspen
IQ Desktop™, Aspen IQ Online™, Aspen IQmodel Powertools™, Aspen
Kbase®, Aspen LIMS Interface™, Aspen Local Security™, Aspen LPIMS™,
Aspen MBO™, Aspen MIMI®, Aspen MPIMS™, Aspen Multivariate Server™,
Aspen MUSE™, Aspen NPIMS™, Aspen OnLine®, Aspen Operations Manager -
Event Management™, Aspen Operations Manager - Integration
Infrastructure™, Aspen Operations Manager - Peformance Scorecarding™,
Aspen Operations Manager - Role Based Visualization™, Aspen Order Credit
Management™, Aspen Orion Planning™, Aspen Orion™, Aspen PEP Process
Library™, Aspen PIMS Blend Model Library™, Aspen PIMS Distributed
Processing™, Aspen PIMS Enterprise Edition™, Aspen PIMS Mixed Integer
Programming™, Aspen PIMS Simulator Interface™, Aspen PIMS Solution
Ranging™, Aspen PIMS Submodel Calculator™, Aspen PIMS XNLP
Optimizer™, Aspen PIMS™, Aspen PIPESYS™, Aspen PIPE™, Aspen Planning
Accuracy™, Aspen Plant Planner & Scheduler™, Aspen Plant Scheduler Lite™,
Aspen Plant Scheduler™, Aspen Plus OLI Interface™, Aspen Plus®, Aspen
Polymers Plus®, Aspen PPIMS™, Aspen Process Data™, Aspen Process
Explorer™, Aspen Process Manual™, Aspen Process Order™, Aspen Process
Plant Construction Standards™, Aspen Process Recipe®, Aspen Process
Tools™, Aspen Product Margin & Blending Evaluation™, Aspen Production
Control Web Server™, Aspen ProFES® 2P Tran, Aspen ProFES® 2P Wax,
Aspen ProFES® 3P Tran, Aspen ProFES® Tranflo, Aspen Properties®, Aspen
Pumper Log™, Aspen Q Server™, Aspen RateSep™, Aspen RefSYS
CatCracker™, Aspen RefSYS Spiral™, Aspen RefSYS™, Aspen Report Writer™,
Aspen Resource Scheduling Optimization™, Aspen RTO Watch Cim-IO
Server™, Aspen RTO Watch Server™, Aspen Scheduling & Inventory
Management™, Aspen SmartStep Desktop™, Aspen SmartStep Online™,
Aspen SQLplus™, Aspen Supply Chain Analytics™, Aspen Supply Chain
Connect™, Aspen Supply Planner™, Aspen Tank Management™, Aspen TASC-
Mechanical™, Aspen TASC™, Aspen Teams®, Aspen Terminals
Management™, Aspen TICP™, Aspen Transition Manager™, Aspen Turbo
PIMS™, Aspen Utilities™, Aspen Voice Fulfillment Management™, Aspen
Watch Desktop™, Aspen Watch Server™, Aspen Water™, Aspen Web
Fulfillment Management™, Aspen WinRace Database™, Aspen XPIMS™,
Aspen Zyqad Development Version™, Aspen Zyqad™, SLM™, SLM
Commute™, SLM Config Wizard™, the aspen leaf logo, and Plantelligence are
trademarks or registered trademarks of Aspen Technology, Inc., Cambridge,
MA.
All other brand and product names are trademarks or registered trademarks
of their respective companies.
This document is intended as a guide to using AspenTech's software. This
documentation contains AspenTech proprietary and confidential information
and may not be disclosed, used, or copied without the prior consent of
AspenTech or as set forth in the applicable license.

Corporate
Aspen Technology, Inc. Phone: (1) (617) 949-1000
Ten Canal Park Toll Free: (1) (888) 996-7001
Cambridge, MA 02141-2201 Fax: (1) (617) 949-1030
USA URL: http://www.aspentech.com

General Information 39
Related Documentation
Title Content
Aspen Custom Modeler 2004.1 Getting Started Contains basic hands-on tutorials to help
Guide you become familiar with Aspen Custom
Modeler.

Aspen Custom Modeler 2004.1 User Guide Contains a general overview of ACM
functionality and more complex and
extensive examples of using Aspen Custom
Modeler.

Aspen Custom Modeler 2004.1 Library Contains reference information on control


Reference models, property procedure types, utility
routines, port types, and variable types.

Aspen Custom Modeler 2004.1 Modeling Contains detailed reference information


Language Reference about the modeling language, including
syntax details and examples.

Aspen Custom Modeler 2004.1 Aspen Modeler Contains information on using automation,
Reference solver options, physical properties, the
Control Design Interface (CDI)), Simulation
Access eXtensions, online links, and using
external nonlinear algebraic solvers.

Aspen Custom Modeler 2004.1 Polymer Polymers Plus is a layered product of Aspen
Simulations with Polymers Plus Custom Modeler. It provides additional
functionality to the properties package,
Properties Plus, enabling polymers to be
fully characterized in Aspen Custom Modeler
models.

General Information 40
Technical Support

Online Technical Support


Center
AspenTech customers with a valid license and software maintenance
agreement can register to access the Online Technical Support Center at:
http://support.aspentech.com
You use the Online Technical Support Center to:
• Access current product documentation.
• Search for technical tips, solutions, and frequently asked questions
(FAQs).
• Search for and download application examples.
• Search for and download service packs and product updates.
• Submit and track technical issues.
• Search for and review known limitations.
• Send suggestions.
Registered users can also subscribe to our Technical Support
e-Bulletins. These e-Bulletins proactively alert you to important technical
support information such as:
• Technical advisories.
• Product updates.
• Service Pack announcements.
• Product release announcements.

Technical Support 41
Phone and E-mail
Customer support is also available by phone, fax, and e-mail for customers
who have a current support contract for their product(s). Toll-free charges are
listed where available; otherwise local and international rates apply.
For the most up-to-date phone listings, please see the Online Technical
Support Center at:
http://support.aspentech.com

Support Centers Operating Hours


North America 8:00 – 20:00 Eastern time
South America 9:00 – 17:00 Local time
Europe 8:30 – 18:00 Central European time
Asia and Pacific Region 9:00 – 17:30 Local time

Technical Support 42

You might also like