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. 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.

2

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 2 Define the manipulated variables using AddInputVariable. Define the measured variables using AddOutputVariable.

1 Using DMCplus Controllers

6

3 4 5

Specify values for options controlling the generation of the mdl file. Request generation of the mdl file. 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 Reset AddInputVariable "var path" Accesses CDI functions for the currently open simulation document Clears the list of variables and resets the other options to their default values Used to add manipulated variables. If the variable name 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"")" Used to add measured variables 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. Calculates and specifies the name of the .mdl file. The filename 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 Specifies a positive value intervaltime defining the sample times 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 Specifies a positive integer stepsperinterval defining the number of integration steps taken per time interval used to generate the step response; the default is 10. Defines the absolute tolerance used to compute the responses 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. Defines the relative tolerance used to compute the responses of the measured variables. It has default 1.e-5 and range 0 to 1.

AddOutputVariable "var path" GenerateStepResponse

Calculate "filename argument"

StepResponseTime Interval = intervaltime

StepResponse IntegrationsPerInterval = stepsperinterval StepResponseAbsolute Tolerance = stepabstol

StepResponseRelative Tolerance = stepreltol

1 Using DMCplus Controllers

7

StepResponseAbsolute RampTolerance = steprampabstol

Defines the absolute tolerance used to detect if any of the measured variables are "ramping", that is not at steady state. 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. Defines the relative tolerance used to detect if any of the measured variables are "ramping", that is not at steady state. 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. Defines the minimum number minint of sample time intervals to 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. Defines the maximum number of sample time intervals of the 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.

StepResponseRelative RampTolerance = steprampreltol

StepResponseMin Intervals = minint

StepResponseMax Intervals = maxint

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 3 4 5 6 In the All Items pane of the Simulation Explorer, select Flowsheet and in the Contents pane, double-click Add Task. When prompted, enter an appropriate name for the task, for example, StepTest1. Use Task Language to define the steps. 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. 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. Activate the step test Task to be used. Run the dynamic simulation.

2 3

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. Click the right mouse button again and click Export Table. The Export File Properties dialog box opens.

2

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 5

When you are satisfied with the tag names click the Export button. 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 2

Create a block on your flowsheet that uses this model. 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. 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.

3

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. In the Configure form, enter values for each of the parameters. For details on this form, see the next section. Go to the ConfigureUnits form and define the unit of measurement conversions. For details of this form, see About the ConfigureUnits Form.

5 6

About the Configure Form
This table describes the parameters on the Configure form.
Parameter
ControllerNameControllerNameforDMCplus ControllerActiveControllerActiveforDMCplus NMVNMVforDMCplus NFFNFFforDMCplus NCVNCVforDMCplus MVTagMVTagforDMCplus FFTagFFTagforDMCplus CVTagCVTagforDMCplus MVManMVManforDMCplus1

Description
DMCplus controller name Controller active Number of MVs Number of FFs Number of CVs MV DMCplus tag name FF DMCplus tag name CV DMCplus tag name Manual MV value

Valid Values
Any string Yes No Any integer Any integer Any integer Any string Any string Any string Any real

Default Value
Yes 2 2 2 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
MVUOMMVUO MforDMCplus MVFactorMVFa ctorforDMCplus MVOffsetMVOff setforDMCplus FFUOMFFUOMf orDMCplus FFFactorFFFact orforDMCplus FFOffsetFFOffs etforDMCplus CVUOMCVUOM forDMCplus CVFactorCVFac torforDMCplus CVOffsetCVOff setforDMCplus

Description
MV unit of measurement MV UOM conversion factor MV UOM conversion offset FF unit of measurement FF UOM conversion factor FF UOM conversion offset CV unit of measurement CV UOM conversion factor CV UOM conversion offset

Valid Values
Any string Any real Any real Any string Any real Any real Any string Any real Any real

Default Value
1.0 0.0 1.0 0.0 1.0 0.0

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 MVdmcp = MV value in metric units = 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 MVdmcp = MV value in metric units = 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 FFdmcp = FF value in metric units = 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 FFdmcp = FF value in metric units = 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 CVdmcp = CV value in metric units = 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 CVdmcp = CV value in metric units = 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 2 Select the units for all of the MVs, FFs, and CVs. 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
ONREQONREQfo rDMCplus MVManMVManfo rDMCplus2

Description
Master on/off request switch Manual MV value

Valid Values
0 (Off) 1 (On) Any real

Default Value
1 1.0

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
LC-FEED.OP A-PHENPID.OP Q-REBPID.SP PC-TOP.SP F-REFLUX

Description
Feed to T-1 from V-1 Phenol feed to T-1 Tray 19 temperature cascaded to reboiler duty Top pressure in T-1 Reflux in T-1

Other independents that are modeled as feedforwards (FF) are:
Tagname
F-FEEDMCH T-WATERIN F-FEEDTOL

Description
MCH feed to V-1 Cooling water temperature to condenser Toluene feed to V-1

2 Example of Using a DMCplus Controller

25

The controlled variables (CV) are:
Tagname
L-DRUMV1 DP-T2T21 Q-REBPID.OPX F-WATER A-PHENPID.PV F-MCHPROD

Description
Level in V-1 (held within upper and lower limits) Pressure drop in tower (held within dumping and flooding limits) Reboiler duty (constrained by maximum available duty) Cooling water flow to condenser (constrained by maximum flow) MCH concentration in top product stream (product specification) Top MCH product flow rate from T-1 (constrained by the amount downstream units can accept) Phenol to feed ratio (minimum limit for relative volatility) 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.

PHENOLRATIO T-STAGE19PCT

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 V1. 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 CimIO 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 TASCMechanical™, 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. Ten Canal Park Cambridge, MA 02141-2201 USA Phone: (1) (617) 949-1000 Toll Free: (1) (888) 996-7001 Fax: (1) (617) 949-1030 URL: http://www.aspentech.com

General Information

39

Related Documentation
Title
Aspen Custom Modeler 2004.1 Getting Started Guide Aspen Custom Modeler 2004.1 User Guide

Content
Contains basic hands-on tutorials to help you become familiar with Aspen Custom Modeler. Contains a general overview of ACM functionality and more complex and extensive examples of using Aspen Custom Modeler. Contains reference information on control models, property procedure types, utility routines, port types, and variable types. Contains detailed reference information about the modeling language, including syntax details and examples. Contains information on using automation, solver options, physical properties, the Control Design Interface (CDI)), Simulation Access eXtensions, online links, and using external nonlinear algebraic solvers. Polymers Plus is a layered product of Aspen Custom Modeler. It provides additional functionality to the properties package, Properties Plus, enabling polymers to be fully characterized in Aspen Custom Modeler models.

Aspen Custom Modeler 2004.1 Library Reference Aspen Custom Modeler 2004.1 Modeling Language Reference Aspen Custom Modeler 2004.1 Aspen Modeler Reference

Aspen Custom Modeler 2004.1 Polymer Simulations with Polymers Plus

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
North America South America Europe Asia and Pacific Region

Operating Hours
8:00 – 20:00 Eastern time 9:00 – 17:00 Local time 8:30 – 18:00 Central European time 9:00 – 17:30 Local time

Technical Support

42

Sign up to vote on this title
UsefulNot useful