SimSci APC User Guide
SimSci APC User Guide
APC
User Guide
Version 2016 SP2
September 2017
2017 Schneider Electric Software, LLC. All rights reserved.
No part of this documentation shall be reproduced, stored in a retrieval system, or transmitted
by any means, electronic, mechanical, photocopying, recording, or otherwise, without the
prior written permission of Schneider Electric Software, LLC. No liability is assumed with
respect to the use of the information contained herein.
Although precaution has been taken in the preparation of this documentation, Schneider
Electric Software, LLC assumes no responsibility for errors or omissions. The information in
this documentation is subject to change without notice and does not represent a commitment
on the part of Schneider Electric Software, LLC. The software described in this
documentation is furnished under a license agreement. This software may be used or copied
only in accordance with the terms of such license agreement.
ArchestrA, Avantis, DYNSIM, eDNA, EYESIM, Foxboro, Foxboro Evo, I/A Series, InBatch,
InduSoft, InStep, IntelaTrac, InTouch, PIPEPHASE, PRiSM, PRO/II, PROVISION, ROMeo,
Schneider Electric, SIM4ME, SimCentral, SimSci, Skelta, SmartGlance, Spiral Software,
VISUAL FLARE, WindowMaker, WindowViewer, and Wonderware are trademarks of
Schneider Electric SE, its subsidiaries, and affiliated companies. An extensive listing of
Schneider Electric Software, LLC trademarks can be found at: http://software.schneider-
electric.com/legal/trademarks/. All other brands may be trademarks of their respective
owners.
Schneider Electric Software, LLC
26561 Rancho Parkway South
Lake Forest, CA 92630 U.S.A.
(949) 727-3200
http://software.schneider-electric.com/
Publication date: 9/18/2017
Contact Us
Contact Schneider Electric Software Technical Support
Avantis Technical Support
Listing of regional and local country contacts: http://software.schneider-
electric.com/support/avantis/
Technical support: http://softwaresupport.schneider-electric.com/
For Avantis.PRO, Avantis Approvals, Avantis.DSS, and Condition Manager:
Email: [email protected]
Phone (8:30 a.m. to 5:00 p.m. Monday to Friday, Eastern Time):
o Toll-Free U.S. and Canada: 1-888-262-7111
o Toll-Free EMEA: 1-800-4670-6466
o Direct dial: 1-905-632-0635
For Avantis.XA:
Email: [email protected]
Phone (8:30 a.m. to 5:00 p.m. Monday to Friday, Eastern Time):
o Toll-Free U.S. and Canada: 1-800-991-8000
o Toll-Free EMEA: 1-800-4670-6466
o Direct dial: 1-905-632-4122
SimSci Technical Support
Listing of regional and local country contacts: http://software.schneider-
electric.com/support/simsci/
Technical support: http://softwaresupport.schneider-electric.com/
Email U.S. and Canada: [email protected]
Phone (USA 8:00 a.m. to 5:00 p.m. Central Time)
o Toll-Free U.S. and Canada: 1-800-746-7241
Skelta Technical Support
Email: [email protected]
Phone:
o U.S.: 1-678-306-4110 Option 3
o India: 91-80-4060-2600 Option 3
Wonderware Technical Support
Listing of regional and local country contacts: https://www.wonderware.com/contact/contact-
support/
Technical support: http://softwaresupport.schneider-electric.com/
Priority email for Customer FIRST Members: [email protected]
Email for customers without a support agreement: [email protected]
Phone
o Toll-Free North America and Latin America: 1-800-966-3371
o Direct dial: 1-949-639-8500
InStep Technical Support
Contact page: http://www.instepsoftware.com/contact-us
Technical support: https://support.instepsoftware.com/
Email: [email protected]
Phone (USA 8:00 a.m. to 5:00 p.m. Central Time)
o 1-312-894-7870
Schneider Electric Smart Water Software Technical Support
Help desk email: [email protected]
Help desk telephone hotline: +45 88 30 20 77 (09:00 to 16:00 Monday to Thursday,
Friday 09:00 to 15:00, Central European Time)
Contact Schneider Electric Software Learning Services
Contact Software Learning Services for assistance regarding classes, schedule, offerings,
frequently asked questions, tuition, policies, and more.
Email: [email protected]
Toll-Free U.S. and Canada: 1-866-998-7246
Direct: 1-949-639-8508
Fax: 1-949-639-1847
Acknowledgements
IronPython
The SimSci APC Director uses the IronPython programming language for all Director scripts.
IronPython is an open-source implementation of the Python programming language for
Microsoft .NET Framework. It is free software available under the Apache License 2.0
(http://www.apache.org/licenses/LICENSE-2.0.html), as published by The Apache Software
Foundation.
The source code for IronPython is available at https://github.com/IronLanguages/main.
SimSci APC User Guide
Contents
Acknowledgements .................................................................................................................. 5
Chapter 1 Getting Started with SimSci APC ..................................................................... 15
Overview ................................................................................................................................ 15
User Interface ......................................................................................................................... 16
SimSci APC User Interface Badging ......................................................................................... 17
Diagnostic Messages .............................................................................................................. 18
Managing Projects .................................................................................................................. 19
Importing Data ........................................................................................................................ 20
Importing Aspen DMCplus Dat a ............................................................................................... 23
Importing .csv Files ................................................................................................................. 25
Format for .csv Files ................................................................................................................ 26
Changing the View for the Tables............................................................................................. 28
Trends and Strips.................................................................................................................... 28
Automatically Generating a Trend ...................................................................................... 30
Creating a Trend ............................................................................................................... 32
Managing Trends .............................................................................................................. 34
Managing Strips ................................................................................................................ 36
Adjusting the Scaling for a Strip .......................................................................................... 39
Managing the Trends in the Trend Manager ........................................................................ 41
Viewing Future Values for Trends ....................................................................................... 41
Limiting the Data wit hin the APC Project ................................................................................... 42
Scanning ................................................................................................................................ 43
Running SimSci APC as a Service ........................................................................................... 43
Enabling Auto Save for an APC Project .................................................................................... 44
Engineering Units and Normalized Units ................................................................................... 44
C HAPTER 1
Getting Started with SimSci APC
In This Chapter
Overview...................................................................................................................................... 15
User Interface............................................................................................................................... 16
SimSci APC User Interface Badging .............................................................................................. 17
Diagnostic Messages .................................................................................................................... 18
Managing Projects ........................................................................................................................ 19
Importing Data .............................................................................................................................. 20
Importing Aspen DMCplus Dat a..................................................................................................... 23
Importing .csv Files ....................................................................................................................... 25
Format for .csv Files ..................................................................................................................... 26
Changing the View for the Tables .................................................................................................. 28
Trends and Strips ......................................................................................................................... 28
Limiting the Data wit hin the APC Project ........................................................................................ 42
Scanning...................................................................................................................................... 43
Running SimSci APC as a Service ................................................................................................. 43
Enabling Auto Save for an APC Project .......................................................................................... 44
Engineering Units and Normalized Units ........................................................................................ 44
Overview
SimSci APC is a powerful software package that provides the integrated capability to
develop, implement, and support model-predictive control and optimization strategies. These
strategies tighten the control of the key variables in a process and push the process as a
whole closer to the economic optimum.
The principal functions of the SimSci APC software are:
Establishing the real-time distributed control system (DCS)/PLC communications
Acquiring the real-time or historical plant data
Performing the process response tests
Processing the imported plant data and the results of the process response tests
Performing the real-time calculations and manipulations for imported data
Modeling the plant data
Designing the controllers
User Interface
You can dock, undock, float, or hide any main window in the SimSci APC user interface. You
can also change the layout of the windows and your preferences are automatically saved and
displayed the next time you load the SimSci APC software.
The SimSci APC user interface includes the following:
SimSci APC Button (A)
Application Ribbon (B)
APC Explorer (C)
Page View (D)
Diagnostics Window (E)
Status Bar (F)
You can use the SimSci APC Button to manage projects and to import data. See Managing
Projects on page 19 and Importing Data on page 20 for more information.
You can use the tabs found on the Application Ribbon to:
Manage trends, diagnostics, and diagnostic logging levels.
Configure servers, system times, and graph limits.
Start scanning.
Use tools such as the Theme selection and the Director Script Editor.
Display product Help.
You can access the majority of the SimSci APC features by using the APC Explorer, which
contains an hierarchical view of the project features. You can expand items in the tree and
click on a feature to open the corresponding tab in the Page View.
You can use the tabs in the Page View to view and edit data for the various components of
an APC Project, such as OPC server connections, PRBS Generators, models, and
controllers. You can also float, dock, hide, and unhide the individual tabs in the Page View.
You can view all logged Error, Warning, and Information messages related to the project in
the Diagnostics Window. See Diagnostic Messages on page 18 for more information.
The list in the Theme area on the Home tab controls the color scheme of the UI. If you do not
like the Dark theme, you can change it to the Light theme.
Diagnostic Messages
Diagnostic messages are informational messages that are displayed in the Diagnostics
Window. You can hide the Diagnostics Window by clearing the Diagnostic Window check
box on the Home tab, in the Diagnostics group.
You can change the number of diagnostic messages that appear in the Diagnostics Window
by changing the value of the Messages variable on the Home tab, in the Diagnostics group.
If the number of logged diagnostic messages is greater than the number of diagnostic
messages that can be displayed, the SimSci APC software stores the excess diagnostics
messages in the logfile.txt file for the APC Project. The SimSci APC software stores the
oldest diagnostic messages first. You can find the logfile.txt file in the
...\APC2016\User\Projects\<Project> folder, where <Project> is the name of the APC
Project.
There are three types of diagnostic messages:
Information: Information diagnostic messages detail the actions that the SimSci APC
software performs during a SimSci APC session, such as connecting to an OPC server or
creating a model.
Warning: Warning diagnostic messages detail any potentially erroneous data,
connections, or configurations.
Error: Error diagnostic messages detail any errors that occur during the APC session.
Each diagnostic message has four parameters:
Time Stamp: This is the time at which the SimSci APC software logs the diagnostic
message.
Type: This is the type for the diagnostic message.
Area: This is the SimSci APC area from which the diagnostic message originated.
Message: This is the content of the diagnostic message.
The SimSci APC software stores all the logged diagnostic messages in the APC Project file. It
reloads the logged diagnostic messages when you reopen an APC Project.
You can filter the diagnostic messages based on the logging level. You can choose from one
of three logging levels:
High: Logs all diagnostic messages.
Medium: Logs only relatively important diagnostic messages.
Low: Logs only vital diagnostic messages.
You can change the logging level by clicking the desired logging level on the Home tab, in
the Logging Levels group. The current logging level appears in the status bar at the bottom
of the SimSci APC window.
The logging level applies to all types of diagnostic messages. You cannot specify individual
logging levels for the different types of diagnostic messages.
By default, the Diagnostics Window jumps to the most current diagnostic message when the
SimSci APC software logs a new diagnostic message. You can freeze the Diagnostics
Window at the current location in the message log by selecting the Freeze Diagnostic check
box on the Home tab, in the Diagnostics group. If you select the Freeze Diagnostic check
box, the Diagnostics Window no longer jumps to the latest diagnostic message when the
SimSci APC software logs a new diagnostic message. Note that you can still scroll through
the Diagnostics Window.
Managing Projects
The SimSci APC software stores all APC Projects in an APC Project (.apc) file. An .apc file
contains the logged data and configuration information for the following:
OPC server connections
OPC tags
Saved trends
PRBS generators
Custom tags
Models
Controllers
Director calculations
You can create, open, and save APC Projects by using commands found under the SimSci
APC Button. New APC Projects are initially titled untitled. You can rename a new APC
Project by saving it for the first time. We recommend that you save your APC Projects to the
...\APC2016\User\Projects folder in your SimSci APC install directory to allow for quick
access to your saved APC Projects. Note that this is the default save location for APC
Projects.
Creating a new project Click the SimSci APC Button, and then click New Project.
Saving a project Click the SimSci APC Button, and then click Save Project. When
you save a project for the first time, the Save As dialog box
appears. In the Save As dialog box, in the File name box, type a
name for the project, and then click Save.
Saving a project under a new Click the SimSci APC Button, and then click Save As Project. In
name the File name box, type the new name for the project, and then
click Save.
Opening an existing project Click the SimSci APC Button, and then click Open Project.
Browse to and select the APC Project that you want to open, and
then click Open.
Importing Data
You can import the following data files by using commands under the SimSci APC Button, on
the Import menu:
SimSci APC tag data (.tagData) files
Connoisseur tag data (.fdax) files
SimSci APC tag configuration (.tagconfig files)
SimSci APC model data (.model) files
Connoisseur model data (.dat) files
SimSci APC transfer function model (.TFModel) files
SimSci APC or Connoisseur controller data (.dat) files
Note: Connoisseur is a powerful software package offered by SimSci; you can consider it as
the predecessor of the SimSci APC software.
If you import a SimSci APC or Connoisseur tag data (.tagData or .fdax) file while an APC
Project is open, the SimSci APC software closes the open APC Project, and then creates a
new APC Project for the imported tag data file. You can choose the tags that you want to
import from the tag data file. You can then use the data from the tag data file to create
models and design controllers.
You can import an OPC tag (.tag) file from the Manual page by right-clicking on the Group
tab and selecting Import.
You can import the model data (.model or .dat) files and controller data (.dat) files only into an
open APC Project. You can use these data files to import one of the following:
A SimSci APC model
A Connoisseur model
A SimSci APC controller
A Connoisseur controller
There are two types of controller data (.dat) files, one for the QP controller (that is, the MVC
controller) and one for the LP controller (that is, the Optimizer). You can import both the
controller data files or only the QP controller data file. At the minimum, you must include both
the model data file and the QP controller data file in the import to provide all the required
information. If you import a SimSci APC or Connoisseur model, the SimSci APC software
creates only a new linear model during the import. If you import a SimSci APC or
Connoisseur controller, the SimSci APC software creates the following during the import:
A new linear model with identified model coefficients, gains, and steady state responses
A new composite linear model
A new final linear model
A new MVC controller and an associated modelset
A new Optimizer with the same tag structure as the new MVC controller and an
associated gainset
If you do not include the LP controller data file in the import, the new Optimizer is blank. If you
include the LP controller data file in the import, the new Optimizer contains configuration data
from the data file.
Note: In the Connoisseur software, you can create the Connoisseur model data files and
Connoisseur controller data files by clicking Write to File on the Controller Configuration
page for a QP or LP controller. The Write to File button is available in the Connoisseur 15.5
software and later Connoisseur versions. The Connoisseur QP controller Write to File
function writes a .txt file to the directory that the specification file was read from. It writes four
.dat files (QP controller, QP model, LP controller, and LP model) to the Connoisseur/bin
directory. Only the .dat files are required. Please see the Connoisseur documentation for
more information.
When you import data files, the SimSci APC software adds all the Connoisseur signals or
SimSci APC tags in the data files to the APC Project as tags. Initially, it adds these tags to an
OPC group named ImportedGroup<#>, where <#> is the number of times you have imported
data files. In the APC Project, this Group exists within a pseudo OPC server (PseudoServer)
on a pseudo OPC server host (PseudoMachine). You can view this setup on the Interface
tab, in the Connected Servers tree:
To use the data in the imported data files for an online application, you must move the
imported Group to an actual OPC server by dragging the Group into the actual OPC server in
the Connected Servers tree. After you move the OPC Group, you must map the tags to
existing tags in the OPC server to connect to process data. Typically, you map an imported
tag to the same tag to which the original Connoisseur signal or SimSci APC tag connected.
See Connecting to an OPC Server on page 45 and Replacing and Mapping Tags on page 59
for more information.
Importing a SimSci APC tag Under the SimSci APC Button, on the Import menu, on the Data
data file menu, click Import File. You must browse to and select a
.tagData file created from an APC Project to successfully import
data.
Note that you may change the Tag Type for tags in .tagData files
during import.
Importing a SimSci APC model Under the SimSci APC Button, on the Import menu, on the
Model menu, click Import Model. You must browse to and select
the .model file created from a SimSci APC linear modeling
scenario to successfully import data.
Importing a SimSci APC Under the SimSci APC Button, on the Import menu, on the
controller Controller menu, click Import Controller. You must browse to
and select both the model and controller .dat files created from a
SimSci APC controller to successfully import data. This type of
import adds tags to the PseudoServer group.
Importing a SimSci APC tag Under the SimSci APC Button, on the Import menu, on the Data
configuration file menu, click Import Tag Configurations. You must browse to
and select a .tagconfig file created from an AP C project to
successfully import data.
Importing a Connoisseur tag Under the SimSci APC Button, on the Import menu, on the Data
data file menu, click Connoi sseur Data Files. You must browse to and
select an .fdax file creat ed from the Connoisseur software to
successfully import data.
Note that you may change the Tag Type for tags in .fdax files
during import.
Importing a Connoisseur Under the SimSci APC Button, on the Import menu, on the
model Model menu, click Connoisseur Model. You must browse to and
select both the model and controller .dat files creat ed from a
Connoisseur controller to successfully import data.
Importing a Connoisseur Under the SimSci APC Button, on the Import menu, click Import
controller Controller. You must browse to and select both the model and
controller .dat files created from a Connoisseur controller to
successfully import data.
A new linear model with identified model coefficients, gains, and steady state responses
A new composite linear model
A new final linear model
A new MVC controller and an associated modelset
A new Optimizer with the same tag structure as the new MVC controller and an
associated gainset
Any subcontrollers that are present in the Aspen DMCplus controller data (.ccf) file
When you import Aspen DMCplus data files, the SimSci APC software adds all the Aspen
DMCplus tags in the data files to the APC Project. Initially, it adds these tags to an OPC
group named ImportedGroup<#>, where <#> is the number of times you have imported data
files. In the APC Project, this Group exists within a pseudo OPC server (PseudoServer) on a
pseudo OPC server host (PseudoMachine). You can view this setup on the Interface tab, in
the Connected Servers tree:
To use the data in the imported data files for an online application, you must move the
imported Group to an actual OPC server by dragging the Group into the actual OPC server in
the Connected Servers tree. After you move the OPC Group, you must map the tags to
existing tags in the OPC server to connect to process data. Typically, you map an imported
tag to the same tag to which the original Aspen DMCplus tag connected. See Connecting to
an OPC Server on page 45 and Replacing and Mapping Tags on page 59 for more
information.
Importing an Aspen DMCplus Under the SimSci APC Button, on the Import menu, on the
model Model menu, click Import DMC+ Model. You must browse to
and select a .mdl file created from Aspen DMCplus to
successfully import data.
Importing an Aspen DMCplus Under the SimSci APC Button, on the Import menu, on the
controller Controller menu, click Import DMC+ Controller. You must
browse to and select both the model data (.mdl)and controller
data (.ccf) files creat ed from Aspen DMCplus to successfully
import data.
3. Browse to and select the .mdl and .ccf files, and then click Open. The SimSci APC
software imports the controller data.
4. Check the Linear Modeling, Composite Linear Model, Final Linear Model, and
Controller Details tabs to verify that the imported data is correct.
Important: The SimSci APC software uses the header row to populate the timestamp for the
imported data points. That is, when the SimSci APC software imports the data, it ignores the
values in the Date and Time column. Instead, it uses the specified number of data points, the
final date, the final time, and the scan interval to calculate the time range for the data points
and assign a timestamp to each data point. Thus, it removes any time gaps in the file by
overwriting the value in the Date and Time column with the timestamp that it calculates from
the header row values. For this reason you should not have any nonconsecutive data points
in any .fdax file (or .csv file) that you import.
The second row of the .csv file is a list of the A-Signals and M-Signals in Connoisseur. Each
signal should have its own column with the first column reserved for timestamp information.
The SimSci APC software imports A -Signals as output tags and M-Signals as input tags.
The third row of the .csv file is a list of tag names that are associated with the A -Signals and
M-Signals in the second row. Each tag should have its own column with the first column
reserved for timestamp information. Each tag should appear under its associated A-Signal or
M-Signal. Note that the names of the imported tags in the APC Project are the same as these
tag names and not the names of the associated A-Signals and M-Signals.
The fourth row of the .csv file is a list of descriptions that are associated with the A-Signals
and M-Signals in the second row. Each description should have its own column with the first
column reserved for timestamp information. Each description should appear under its
associated A-Signal or M-Signal.
You should not leave the descriptions blank in the .csv file. A blank value in the .csv file
results in a string of commas in the resulting .fdax file. The SimSci APC software ignores
strings of commas when you import the .fdax file. If you leave a description blank in the .csv
file, the SimSci APC software cannot parse the resulting .fdax file correctly and gives errors
when you import it into an APC Project. You must fill each description with at least one
character. We suggest that you type a space or hyphen ("-") for each description that you
want to leave blank.
The fifth row of th.csv file is a list of units of measure (UOMs) that are associated with the A-
Signals and M-Signals in the second row. Each UOM should have its own column with the
first column reserved for timestamp information. Each description should appear under its
associated A-Signal or M-Signal.
You should not leave the UOMs blank in the .csv file. A blank value in the .csv file results in a
string of commas in the resulting .fdax file. The SimSci APC software ignores strings of
commas when you import the .fdax file. If you leave a description blank in the .csv file, the
SimSci APC software cannot parse the resulting .fdax file correctly and gives errors when you
import it into an APC Project. You must fill each description with at least one character. We
suggest that you type a space or hyphen ("-") for each description that you want to leave
blank.
The remaining rows of the .csv file are the data points that you want to import into an APC
Project. The first column should be a timestamp for the data point. The timestamp can be in
any format, since the SimSci APC software does not use this timestamp when you import the
resulting .fdax file into an APC Project.
The following figure shows an example .csv file that you can convert into an .fdax file and
then import into an APC Project. See Importing .csv Files on page 25 for more information.
1. In the upper-left corner of the table, click Field Chooser to open the Field Chooser.
2. In the Field Chooser, clear the check box for a column to hide it in the table.
3. In the Field Chooser, select the check box for a column to display it in the table.
4. Repeat steps 2 and 3 until the table contains only the columns that you want to display.
5. Close the Field Chooser.
6. Drag a column heading (for example, Description) to the position in which you want it to
appear.
7. Repeat step 6 until the columns appear in the desired order.
Single-tag Strips: Use this type of Strip to plot data for tag parameters with independent
y-axis values. Time appears on a common x-axis.
Superimposed Strips: Use this type of Strip to plot data for comparative analysis of tag
parameters. By default, the tag data appears on the same y-axis.You can change this
default axis setup. See Adjusting the Scaling for a Strip on page 39 for more information.
Concepts
A Strip displays the time-dependent behavior of a tag.
A trend is a collection of Strips.
You can choose between single-tag Strips and superimposed Strips.
Actions
Generate a trend.
Create a trend.
Add Strips to a trend.
Delete Strips from a trend.
Change the line colors for a Strip.
Change the scaling for a Strip.
Save trends to the Trend Manager.
Reopen saved trends.
Data Table: Generate single-tag Strips or a superimposed Strip on the trend depending
on which right-click command you use to generate the trend. Note that when you
generate a trend from this tab, you can generate a trend for only input tags or for only
output tags at one time.
Operation: Generate single-tag Strips that compare the input tags and the output tags for
the PRBS generator. See Viewing Trends from a PRBS Generator on page 72 for more
information.
All Tags: Generate single-tag Strips or a superimposed Strip depending on the right-click
command you use to generate the trend. Note that when you generate a trend from this
tab, you can generate a trend for only raw tags or for only custom tags at one time.
Result: Generate a trend for the coefficient results of linear modeling. See Expanding
Sparklines on page 141 for more information.
You can automatically generate a trend by clicking buttons in the following tabs:
Data Manipulation: Generate single-tag Strips that compare the custom tags to the tags
from which the SimSci APC software calculates the custom tags. See Running
Calculations for the Custom Tags on page 88 for more information.
Data Mining: Generate single-tag Strips for the results of the correlation analysis. See
Generating Trends for the Correlation Analysis Calculations on page 95 for more
information.
You can also automatically generate a number of specialized trends for an MVC controller by
using the Controller Overview and Sub Controller Summary tabs. See Managing Trends
for the MVC Controller on page 218 and Creating Radial Plots for the MVC Controller on
page 219 for more information.
Generating single-tag Strips On the Input Tags tab, the Output Tags tab, the Custom Input
from the Data Table tab Tags tab, or the Custom Output Tags tab, select the tags for
which you want to generate single-t ag Strips. Right-click the
selection, and then click Add to Stripped Trends.
Generating a superimposed On the Input Tags tab, the Output Tags tab, the Custom Input
Strip from the Data Table tab Tags tab, or the Custom Output Tags tab, select the tags for
which you want to generate a superimposed Strip. Right-click the
selection, and then click Add to SuperImposed Trends.
Generating single-tag Strips In either the Raw Tag(s) area or the Custom Tag(s) area, select
from the All Tags tab the tags for whic h you want to generate single -tag Strips. Right-
click the selection, and then click Generate Stripped Trend(s).
Generating a superimposed In either the Raw Tag(s) area or the Custom Tag(s) area, select
Strip from the All Tags tab the tags for whic h you want to generate a superimposed Strip.
Right -click the selection, and then click Generate Superimposed
Trend(s).
See the preceding references for more information on generating a trend from tabs other than the Data Table and All Tags tabs.
Creating a Trend
You can create a fully customized trend by clicking Add Trend on the Home tab, in the
Trends group. A trend created in this manner contains no Strips, unlike a trend that you
automatically generate from a tab. You can add multiple Strips to the trend. Each Strip can be
a single-tag Strip or a superimposed Strip.
Note that a Strip can contain visualizations for more than one tag parameter for a single tag.
Although the visualized data relates to a single tag, the SimSci APC documentation still
classifies this type of Strip as a superimposed Strip, because more than one line appears on
the Strip.
You can add tag data to a Strip by using general tag collections, by using controller-specific
tag collections, or by using linear model-specific tag collections.
If you add tag data to a Strip by using a general tag collection, you can add only the Current
Value parameter to the Strip.
If you add tag data to a Strip by using controller-specific tag collections, you can add the
Current Value parameter as well as the following controller-specific tag parameters to the
Strip:
High Constraint (CVs and MVs)
Low Constraint (CVs and MVs)
SetPoint (CVs only)
Opt Target (MVs only)
Optimum (CVs and MVs)
Model Prediction (CVs only)
FiveStep Prediction (CVs only)
LongRangeModel Prediction (CVs only)
Switch Status (CVs and MVs)
QP Constraint Status (CVs and MVs)
LP Constraint Status (CVs and MVs)
If you add tag data to a Strip by using model-specific tag collections, you can add the Current
Value parameter as well as the following model data parameters to the Strip:
Prediction
IncrementError
ResidualError
You can also add the Controller Status and Optimizer Status of the controller to the Strip.
Note that the model data parameters are specific to a linear modeling scenario within a
specified linear model. They include data only for the time interval in which you identify the
associated linear modeling scenario. See Model Data Comparisons on page 141 for more
information.
WARNING: If you add tag data to a Strip by using the model-specific tag collections, you
cannot use the controller-specific or general tag collections to add tag data to a Strip or to
create new Strips. The reverse is also true.
After you add Strips to the trend, you can change the order of the Strips, the scaling for a
Strip, and the line color for each visualization within a Strip. See Managing Strips on page 36
for more information.
To create a trend:
1. On the Home tab, in the Trends group, click Add Trend. A blank trend appears.
1. On the trend, enter the Trend Name.
2. Click on the Trend Settings button and enter the Trend Range.
2. Click Add an empty chart. A new Strip appears in the trend.
3. To add tag data to a Strip by using a general tag collection, expand the Tag List area.
4. In the Collection Name list, select the tag collection that contains the tags you want to
add to the Strip.
5. In the list of tags, select the tags you want to add to the Strip, and then drag the selection
onto the Strip. Note that you can create a new Strip by dragging the selection onto an
area outside of any existing Strips.
6. To add tag data to a Strip by using controller-specific tag collections, expand the
Controller Tags area.
7. In the Controller Name list, select the controller containing the tags you want to add to
the Strip.
8. In the Parameters list, select the check box for each tag parameter you want to add to
the Strip. Note that the SimSci APC software always adds the Current Value parameter
to the Strip.
9. In the list of tags on the Control variables tab, the Manipulated variables tab, or the
Feed Forward variables tab, select the tags you want to add to the Strip, and then drag
the selection onto the Strip.Note that you can create a new Strip by dragging the selection
onto an area outside of any existing Strips.
10. To add tag data to a Strip by using linear model-specific tag collections, expand the
Models area.
11. In the Model Name list, select the linear model that contains the tags you want to add to
the Strip.
12. In the Scenario Number list, select the scenario that contains the model data you want to
add to the Strip.
13. In the Model Data Parameters list, select the check box for each tag parameter you want
to add to the Strip. Note that the SimSci APC software always adds the Current Value
parameter to the Strip.
14. In the Controlled Variable list, select the tags you want to add to the Strip, and then drag
the selection onto the Strip.Note that you can create a new Strip by dragging the selection
onto an area outside of any existing Strips.
15. Repeat steps 3-15 as desired.
Managing Trends
You can add Strips to a trend. Newly added Strips appear at the bottom of the list of Strips.
You can move a Strip up or down in the list.
You can also delete Strips from the trend.
You can save a trend by storing it in the Trend Manager. After you save a trend, you can
reopen the trend from the Trend Manager. A reopened trend contains the same displayed line
series, line colors, and scaling as when you last saved it. You can open the Trend Manager
by clicking Trend Manager on the Home tab, in the Trends group. See Managing the Trends
in the Trend Manager on page 41 for more information.
You can rename a trend by using the Trend Name parameter on the trend.
You can export the data in a trend. The exported trend data includes only the data that
appears in the trend at the time of the export. Exported trend data is saved as a .csv file. You
can then open the .csv file in Microsoft Excel.
While the APC Project is scanning, the Strips in a trend update with the most recent
information.
Only a specified time range appears on the trend. You can set the time range by using the
Trend Range and Trend Offset parameters on the trend. You can also set the Trend Range
parameter on the Configure tab, in the Trend Properties group.The Trend Range
parameter on the Configure tab does not apply to existing trends; that is, it applies to newly
created or generated trends only. The Trend Range parameter determines the total amount
of time that trend spans. The Trend Offset allows you to shift the trend view back in time so
that you can focus on the data that you are interested in. When you navigate through trends,
the range and offset from the first trend is preserved.
If you want to stop the Strips from updating with new data while t he APC Project is scanning,
you can click Stop on the trend. If you want to restart the Strips so that they update with new
data, you can click Start on the trend. Note that the Start and Stop buttons appear in the
same location.
Adding a blank Strip to a trend On the trend, click Add an empty chart. A new Strip appears on
the trend.
Adding tag data to a Strip by Expand the Tag Li st area. In the Collection Name list, select the
using a general tag collection tag collection that contains the tags you want to add to the Strip.
In the list of tags, select the tags you want to add to the Strip, and
then drag the selection onto the Strip. Not e that you can create a
new Strip by dragging the selection onto an ar ea outside of any
existing Strips.
Adding tag data to a Strip by Expand the Controller Tags area. In the Controller Name list,
using controller-specific tag select the controller that contains the tags you want to add to the
collections Strip. In the Parameters list, select the check box for each tag
parameter you want to add to the Strip. Note that the SimSci APC
software always adds the Current Value parameter to the Strip.
In the list of tags, select the tags you want to add to the Strip, and
then drag the selection onto the Strip. Not e that you can create a
new Strip by dragging the selection onto an area outside of any
existing Strips.
Adding tag data to a Strip by Expand the Models area. In the Model Name list, select the
using linear model -specific tag linear model that contains the tags you want to add to the Strip. In
collections the Scenario Number list, select the scenario that contains the
model data you want to add to the Strip. In the Model Data
Parameters list, select the check box for each tag parameter you
want to add to the Strip. Note that the SimSci APC software
always adds the Current Value parameter to the Strip. In the
Controlled Variable list, select the tags you want to add to the
Strip, and then drag the selection onto the Strip.Note that you can
create a new Strip by dragging the selection onto an area outside
of any existing Strips.
Deleting Strips from a trend In the Tag Details area for the Strips you want to remove, select
the check box at the top of the Tag Details area, and then click
Delete Trends .
Moving a Strip up in the list of In the Tag Details area for the Strip you want to move, select the
Strips check box at the top of the Tag Details area, and then click
Move Strip up . Note that you can move only one Strip at a
time.
Moving a Strip down in the list In the Tag Details area for the Strip you want to move, select the
of Strips check box at the top of the Tag Details area, and then click
Move Strip down . Note that you can move only one Strip at
a time.
Renaming a trend On the trend, click the Trend Name box. Type the new name for
the trend, and then press Enter.
Zooming in on a trend by On the trend, double-click the left side of the area you want to
selection a region zoom in on, and then double click the right side of the area you
want to zoom in on.
1. On the trend, click Export Data . The Export Trends Data dialog box appears.
2. Browse to the folder in which you want to save the .csv file.
3. In the File name box, type the name of the .csv file, and then click Save.
Managing Strips
Strips appear in a trend. You can add tag data to a Strip by using general tag collections, by
using controller-specific tag collections, or by using linear model-specific tag collections.
WARNING: If you add tag data to a Strip by using the model-specific tag collections, you
cannot use the controller-specific or general tag collections to add tag data to a Strip or to
create new Strips. The reverse is also true.
If you add tag data to a Strip by using a general tag collection, you can add only the Current
Value parameter to the Strip.
If you add tag data to a Strip by using controller-specific tag collections, you can add the
Current Value parameter as well as the following controller-specific tag parameters to the
Strip:
Adding tag data to a Strip by Expand the Tag Li st area. In the Collection Name list, select the
using a general tag collection tag collection that contains the tags you want to add to the
Strip.In the list of tags, select the tags you want to add to the
Strip, and then drag the selection onto the Strip. Note that you
can create a new Strip by dragging the selection onto an area
outside of any existing Strips.
Adding tag data to a Strip by Expand the Controller Tags area. In the Controller Name list,
using controller-specific tag select the controller that contains the tags you want to add to the
collections Strip. In the Parameters list, select the check box for each tag
parameter you want to add to the Strip. Note that the SimSci APC
software always adds the Current Value parameter to the Strip.
In the list of tags, select the tags you want to add to the Strip, and
then drag the selection onto the Strip. Not e that you can create a
new Strip by dragging the selection onto an area outside of any
existing Strips.
Adding tag data to a Strip by Expand the Models area. In the Model Name list, select the
using linear model -specific tag linear model that contains the tags you want to add to the Strip. In
collections the Scenario Number list, select the scenario that contains the
model data you want to add to the Strip. In the Model Data
Parameters list, select the check box for each tag parameter you
want to add to the Strip. Note that the SimSci APC software
always adds the Current Value parameter to the Strip. In the
Controlled Variable list, select the tags you want to add to the
Strip, and then drag the selection onto the Strip.Note that you can
create a new Strip by dragging the selection onto an area outside
of any existing Strips.
Deleting tag data from a Strip In the Tag Details area for the Strip, select the tags or tag
1. On the trend, on the Strip, click Configure . The configuration area appears.
2. On the Variables tab, click the Color list for the line series you want to change.
3. If you want to use a color on the color palette, click the color. Otherwise, skip to the next
step.
4. If you want to use your own color, click Advanced. The Advanced dialog box appears.
5. To specify the RGB color code for your color, on the RGB tab, enter the Red, Green,
Blue, and Alpha values for your color.
Note: The Alpha value represents the opacity of the color. A higher Alpha value results
in a more opaque color. A lower Alpha value results in a more transparent color. You may
find transparent colors useful for Strips that contain intersecting lines, such as
superimposed Strips and the trend results for linear model identification scenarios.
6. To specify the HSL color code for your color, on the HSL tab, enter the Hue, Saturation,
Lightness, and Alpha values for your color.
7. To specify the CMYK color code for your color, on the CMYK tab, enter the Cyan,
Magenta, Yellow, Black, and Alpha values for your color.
Note: You need to specify only one type of color code (RGB, HSL, or CMYK) for your
color.
8. After you specify the color code, click OK.
1. In the Tag Details area for the Strip, click Configure . The configuration area
appears.
2. On the Scales tab, clear the Auto Scale check box for the primary y-axis.
3. Change the value of the High Scale parameter to adjust the greatest value on the primary
y-axis.
4. Change the value of the Low Scale parameter to adjust the least value on the primary y-
axis.
Example: Providing Your Own Scaling for the Secondary y-Axis
1. In the Tag Details area for the Strip, click Configure . The configuration area
appears.
2. On the Scales tab, clear the Auto Scale check box for the secondary y-axis.
3. Change the value of the High Scale parameter to adjust the greatest value on the
secondary y-axis.
4. Change the value of the Low Scale parameter to adjust the least value on the secondary
y-axis.
40 Version 2016 SP2
Getting Started with SimSci APC SimSci APC User Guide
Saving a trend to the Trend After you generate or create a trend, on the trend, click Save to
Manager
Trend Manager . The trend appears in the Trend Manager
under the name you specified in the Trend Name parameter.
Note that if the trend already exists in the Trend Manager, you
Viewing saved trends In the Trend Manager, select the trends you want to view, and
then click View.
Navigating to the previous On the trend, click Show previous trend from trend manager
trend in the Trend Manager
. Note that you cannot click this button unless you open and
view the trend from the Trend Manager.
Deleting trends from the Trend In the Trend Manager, select the trends you want to delet e, and
Manager
then click Delete Trend Item .
Turning on Data Management On the Configure tab, in the Data Management group, click On.
Note that you can click On only when the AP C Project is
scanning.
Specifying the amount of data On the Configure tab, in the Data Management group, in the
to store in the APC Project Recent Hi story box, type the number of days worth of data that
you want to store in the APC Project. The SimSci APC software
removes any data older than the specified number of days.
Removing all data stored in On the Home tab, in the Purge group, click Purge All Data. The
the APC Project SimSci APC software removes all data stored in the AP C Project.
Turning off Data Management On the Configure tab, in the Data Management group, click Off.
Note that you can click Off only when the APC Project is
scanning.
Scanning
Scanning is an online operation that contacts the OPC servers, loads the current data for the
input tags into the APC Project, and writes the current values for the output tags in the APC
Project to the OPC servers.
You can activate a controller only when you are scanning. If you stop scanning, the SimSci
APC software sets all the controllers to the Manual state.
You can start scanning by clicking On on the Home tab, in the Scan group.
You can stop scanning by clicking Off on the on the Home tab, in the Scan group.
While the SimSci APC software runs as a service, you can close the user interface and the
software continues to run.
To stop running SimSci APC as a service:
1. Open the SimSci APC user interface.
2. On the Home tab, in the APC as Service group, click Off.
C HAPTER 2
Connecting to Data
In This Chapter
Overview...................................................................................................................................... 45
Connecting to an OPC Server........................................................................................................ 45
Connecting to an AIM*AP I Server .................................................................................................. 46
Adding a Group to a Connected OPC Server .................................................................................. 47
Editing a Group ............................................................................................................................ 47
Removing a Group from a Connected OPC Server ......................................................................... 48
Removing a Connected Server ...................................................................................................... 48
Tags ............................................................................................................................................ 48
The Data Table............................................................................................................................. 58
Overview
The first step in building a SimSci APC Project is to connect to data from the DCS.
The SimSci APC software acts as an OPC server client. It can connect to local or remote
OPC servers, which in turn communicate with the DCS. It can also connect to local or remote
AIM*API servers, which in turn communicate with the DCS by using the APC Bridge software.
3. If the server is hosted on a remote machine and you know the IP address of that machine,
do the following:
a. Expand the Manual Host node.
b. Double-click the resulting node.
c. Type the IP address, and then press Enter.
d. Browse to the OPC server to which you want to connect.
4. If the server is hosted on a remote machine, expand the Remote Host node to explore
the machines on your network, and then browse to the OPC server to which you want to
connect.
5. Do one of the following:
o In the Explore Servers tree, right-click the OPC server, and then click Connect to
Server.
o In the Explore Servers tree, double-click the OPC server.
o Drag the OPC server from the Explore Servers tree into the Connected Servers
tree.
5. Click Add .
Editing a Group
You can edit a Group by changing the Read Mode option or the Update Interval value. You
cannot change the Group Name value. Thus, you cannot rename a Group after you add it to
the OPC server.
You can also change the Read Mode option by using features available on the Application
Ribbon.
Editing a Group On the Interface tab, in the Connected Servers tree, right-click
the Group, and then click Edit Group. On the the Update Group
dialog box, change the values for the Update Interval parameter
and the Read Mode option as desired, and then click Update
Changing the Read Mode On the Interface tab, in the Connected Servers tree, select the
option for a Group desired Group. On the Configure tab, in the OP C DA group, click
Read Mode, and then click Device to read tags directly from the
DCS device or click Cache to read tags from the temporary tag
values stored on the OP C server.
Tags
Tags are variables in the APC Project that represent parameters in the DCS. After you add
an OPC Group to a connected OPC server, you can add tags to the project. You can do this
manually or automatically. After you add tags, you can move them between Groups or
remove them from the APC Project.
There are two types of tags:
Input tags: The plant measurements that the controller uses to determine the appropriate
actuation values for the plant. Typically, input tags are the CVs and FVs.
Output tags: The actuation values that the SimSci APC software sends to the plant.
Typically, output tags are the MVs.
Concepts
An OPC Group contains tags.
Tags correspond to DCS parameters.
Tags are either input tags or output tags.
Actions
Add tags manually or automatically.
Remove tags from the APC Project.
Map imported tags to existing tags in an OPC server.
You can click Flat Browsing to browse the tags on the OPC server in a single list. The
SimSci APC software lists the tags alphabetically.
You can click Hierarchical Browsing to browse the tags on the OPC server in a tree
structure based on the hierarchical location of the tags. You can expand or collapse nodes as
desired. Click a node in the tree to view the tags contained in the node. The SimSci APC
software lists the tags in the node alphabetically.
button . You can use wildcards to narrow or broaden the filter. When you use the
Hierarchical Browsing method, the SimSci APC software applies the filter to the
currently selected node in the tree, that is, the node outlined in green.
The SimSci APC software applies filters to all levels of the hierarchical tree, regardless of a
node's expanded or collapsed state. That is, it applies the search string at the node level and
again for all the associated tags for that node. If the associated tags do not contain the
search string you use to filter the nodes, you may need to change the search string to see the
tags in those nodes.
You can select multiple tags by using the Shift key or the Ctrl key. You can then add the
selected tags to the Group at the same time by using the same methods you use to add a
single tag to the Group. Note that you must hold the Shift key or Control key while you add
the selected tags.
Auto Discovery
An OPC server may contain a very large number of tags. In some cases, manually adding
tags consumes a large amount of time and may be cumbersome to users. For such cases,
you can use Auto Discovery to streamline the process of adding tags to the APC Project.
Auto Discovery automatically adds tags to the APC Project based on user-specified tag
selection criteria for a particular make of DCS. Currently, only selection criteria for Foxboro
I/A Series DCSs are configured by default. See Configurations for the Selection Criteria on
page 56 for more information on configuring selection criteria for DCSs other than Foxboro
I/A Series.
You can access the Auto Discovery features on the AutoDiscovery tab. To open the
AutoDisovery tab, click Auto Discovery in the APC Explorer, under the Connect node.
There are three tabs on the AutoDiscovery tab:
Rule Book: Use this tab to configure and apply the selection criteria for tag addition.
Input Tags: Use this tab to view summaries of the input tags that you add to the APC
Project by using Auto Discovery.
Output Tags: Use this tab to view summaries of the output tags that you add to the APC
Project by using Auto Discovery.
The Rule Book tab contains the Rule Book, which you can use to manage Rulesets. A
Ruleset is a collection of rules that filter the tags based on their associated block type and tag
type; that is, a rule contains the selection criteria that you use to automatically add tags to an
APC Project.
Managing Rulesets
You can add, delete, edit, or apply a Ruleset by using the Rule Book on the AutoDiscovery
tab. You can edit a Ruleset by adding, deleting, or editing its rules.
Adding a Ruleset
At the top of the Rule Book, click Add Ruleset . In the
RuleSet Name box, type the name for the new Ruleset, and then
click Add. The name must be unique to add the new Ruleset.
Deleting a Ruleset In the Rule Book, select the Ruleset that you want to delete, and
Editing a Ruleset In the Rule Book, select the Ruleset that you want to edit, and
Applying a Rules et In the Rule Book, select the Ruleset that you want to apply, and
Rules
A rule is a set of selection criteria that you can use to filter tags in an OPC server. The SimSci
APC software maintains block input and output values in individual block parameters. It
organizes the blocks into groups, or compounds, which are contained within a single control
processor (CP). The structured hierarchical name for a CP data value, that is, a tag, is thus:
<Compound>:<Block>.<Parameter>
A typical tag example might be:
UNIT1:FIC1000.MEAS
You can filter these kinds of tags by using the rules. Each rule contains the following user-
specified selection criteria:
Rule Name: A user-specified name for the rule.
Tag Type: The type of tags that you want to add. You can select INPUT or OUTPUT.
Block Type: The type of Block that contains the tags. You can select any available input
or output block in the DCS. The selections in this list change based on the Tag Type
selection.
Block Name Filter: A filter that Auto Discovery applies to the Block portion of the tag
name. The SimSci APC software adds only tags with names that contain the specified
filter string.
DCS Parameter: The DCS Parameter that contains the value of interest. The SimSci
APC software adds tags for the selected DCS Parameter. The selections in this list
change based on the Block Type selection.
Description: The DCS Parameter that contains the description for a Block. The SimSci
APC software uses this DCS PArameter in conjunction with the Description Filter. The
selections in this list change based on the Block Type selection.
Description Filter: A filter that Auto Discovery applies to the value of the description DCS
Parameter for a Block. The SimSci APC software includes only Blocks that have a
description DCS Parameter that contains the filter string.
Units: The DCS Parameter that contains the engineering unit specification for the Block.
The selections in this list change based on the Block Type selection.
The SimSci APC software adds only tags that match all the specified selection criteria to the
APC Project.
Managing Rules
You can manage the rules in a Ruleset by using the Ruleset window. Rules appear in the
rules grid. Each rule is unique. No two rules can have the same name or the same Tag Type,
Block Type, and DCS Tag combination.
You can export the rules currently listed in the rules grid to a .Rules file. A .Rules file contains
information for all the selection criteria associated with the rules that you exported. You can
import the rules in a .Rules file into any APC Project, into any Ruleset.
When you import the rules in the .Rules file, the SimSci APC software adds the rules to the
rules grid (that is, the Ruleset), except in the following situations:
The rule in the .Rules file and an existing rule in the Ruleset have the same name. The
existing rule does not change during the import; that is, the SimSci APC software does
not overwrite the rule with the selection criteria contained in the .Rules file.
The Tag Type, Block Type, and DCS Tag selections for a rule in the .Rules file are the
same as the Tag Type, Block Type, and DCS Tag selections for another rule in the
Ruleset.
Adding a rule In the pane on the left, select the desired selection criteria, and
Editing a rule In the pane on the right, in the rules grid, select the rule that you
want to edit, and then click Edit Rule . In the pane on the
left, you can change the selection criteria for the rule. You must
Deleting rules In the pane on the right, in the rules grid, select the rules that you
Exporting rules
In the pane on the right, click Export Rule s . You can save
the .Rules file to any location accessible by your machine. In the
File name box, type a name for the .Rules file, and then click
Save.
Importing rules
In the pane on the right, click Import Rules . Browse to and
select a previously saved .Rules file, and then click Open.
click Edit Rule . The selection criteria for the rule appears in the left pane.
2. In the left pane, change the selection criteria as desired.
3. In the pane on the right, click Save Rule to update the currently selected rule. This
overwrites all the selection criteria for the selected rule with the selection criteria currently
specified in the left pane, including the Rule Name selection criterion.
Applying a Ruleset
After you add rules to a Ruleset, you can apply the Ruleset to add tags to the APC Project.
You can selectively apply the rules in the Ruleset to any connected OPC server.
The SimSci APC software adds the tags to the AutoDiscoveryGroup Group under the select
OPC server. If the AutoDiscoverGroup Group does not exist, the SimSci APC software
creates it. You can view all the added input tags by using the Input Tags tab on the
AutoDiscovery tab. You can view all of the added output tags by using the Output Tags tab
on the AutoDiscovery tab.
To apply a Ruleset:
1. In the Rule Book, select the Ruleset.
2. At the top of the Rule Book, click Apply Ruleset . The Apply Rules dialog box
appears.
3. In the Connected OPC Server list, select the OPC server that contains the tags that you
want to add to the APC Project.
4. In the rules list, select the Select check box for each rule that you want to apply.
5. Click Discover to start the Auto Discovery process, which adds tags matching the
selection criteria for each applied rule to the APC Project.
2. In the Rule Book, select the Temperature Tags Ruleset, and then click Edit Ruleset .
The Temperature Tags dialog box appears.
3. Add the following rules:
</Description>
<Units>
<Param Selection="Default">EO1</Param>
</Units>
<Interface0P>
<Param>LSCO1</Param>
</Interface0P>
<Interface100P>
<Param>HSCO1</Param>
</Interface100P>
<Engg0P>
<Param>LSCO1</Param>
</Engg0P>
<Engg100P>
<Param>HSCO1</Param>
</Engg100P>
</Block>
This structure directly corresponds to the selections available for a rule with a Tag Type of
INPUT and a Block Type of AIN.
Removing Tags
You can remove single or multiple tags from the APC Project by using the Manual tab. You
can also remove tags by using a right-click command on the Data Table tab.
To remove tags from the APC Project:
1. On the Manual tab, select the Group tab that contains the tags that you want to remove.
2. In the Tag Data Grid area, select the tags that you want to remove, and then right-click
the tag selection.
3. Click Remove Tag.
4. A confirmation message appears. Click Yes.
Define readback signals for use in process response testing and controllers.
Replace tags.
Map imported tags to existing tags in an OPC server.
Export tags.
WARNING: When you replace a tag, all archived data for the tag is lost.
You can also map a tag that you imported from a set of model data and controller data (.dat)
files to an existing tag in an OPC server. If you want your imported tags to connect to current
process data, you must map the imported tags to existing tags. Before you map the imported
tags to existing tags, you must move the imported OPC Group that contains the imported
tags to an existing, connected OPC server. See Importing Data on page 20 for more
information. When the mapping is successful, references to the imported tag throughout the
APC Project update to use the existing tag. This includes all tag references in:
Tag collections
PRBS Generators
Linear models
MVC controllers
Optimizers
Note: You can generate the model data and controller data (.dat) files from either the
Connoisseur software or the SimSci APC software. For Connoisseur data files, the imported
tags have the same names as the Connoisseur signals, which do not have a direct naming
correlation to existing tags in an OPC server. You may need to refer to the signal
configurations within the Connoisseur software to determine the best mapping for the
imported tags.
You can replace or map only one tag at a time.
To replace or map a tag:
1. In the Data Table, select the tag.
2. Right-click the tag, and then click Map Tag. A dialog box appears.
3. If you know the name of the tag with which you want to replace or map the current tag,
select the first option, and then type the name of that tag.
4. If you do not know the name of the tag with which you want to replace or map the current
tag, select the second option. In the associated list, select the name of the tag with which
you want to replace or map the current tag.
5. Click Map.
Editing Data
For input tags, you can change the values for any column in the Data Table except the
following columns:
Quality
Tag
Value
Trend
OPC Group
OPC Server
Machine
For output tags, you can change the values for any column in the Data Table except the
following columns:
Quality
Tag
Trend
OPC Group
OPC Server
Machine
For custom input tags, you can change the values for any column in the Data Table except
the following columns:
Quality
Tag
Value
Trend
For custom output tags, you can change the values for any column in the Data Table except
the following columns:
Quality
Tag
Trend
C HAPTER 3
Process Response Testing
In This Chapter
Overview...................................................................................................................................... 63
Readback Signals ......................................................................................................................... 64
PRBS Generators ......................................................................................................................... 64
Creating a PRBS Generator .......................................................................................................... 65
Configuring a P RBS Generator ...................................................................................................... 65
Operating a PRBS Generator ........................................................................................................ 70
Deleting a PRBS Generator........................................................................................................... 73
A vailable PRBSs .......................................................................................................................... 74
Overview
You can generate process response data in two ways, both of which are available with the
SimSci APC software:
Manual step tests applied to process Manipulated Variables (MVs)
Statistical sequence tests, such as Pseudo-Random Binary Sequence (PRBS) tests
The statistical sequence test method is the more efficient method of generating suitable data
with minimum plant disturbance. You can perform both manual step tests and PRBS tests by
using PRBS Generators.
When a response test is complete, you can then process the process response data. See
Overview on page 77 for more information.
You must specify readback signals for output tags that you add to a PRBS Generator. See
Readback Signals on page 64 for more information.
The following tasks are performed to generate process response data:
1. Create a PRBS Generator.
2. Configure the PRBS Generator.
3. Activate the PRBS Generator to start the response test.
4. Monitor the response test.
5. Deactivate the PRBS Generator to terminate the response test.
Readback Signals
A readback signal is an input tag that monitors the actual value of a field point that is updated
by its associated output tag. Typically, you use readback signals to implement tracking and
initialization functions. You can set a readback signal for each output tag by using the
ReadBack Signal list on the Data Table tab, on the Output Tags tab.
You can use raw input tags or custom input tags as readback signals.
A PRBS Generator does not initialize past a Waiting state if an output tag in the PRBS
Generator does not have a set readback signal.
Concepts
Readback signals are required for process response testing.
Readback signals are input tags that are associated with output tags. They monitor the
actual plant values for output tags.
Readback signals are defined in the Data Table.
Actions
Set the readback signal for an output tag.
Use an output tag with a defined readback signal in a PRBS Generator.
PRBS Generators
A PRBS Generator is a specialized controller that does not execute any form of control.
Instead, it deliberately moves its associated MVs and monitors the response of selected CVS
to the changes in the MVs. The MVs are the inputs to the process that is being controlled and
the CVs are the outputs of the process that is being controlled.
You can use a PRBS Generator to perform a manual step test or a PRBS test. In the case of
a manual step test, you are required to manually change values for the MVs. In the case of a
PRBS test, the PRBS Generator automatically changes the MVs between two specified
values. See Creating a PRBS Generator on page 65 and Configuring a PRBS Generator on
page 65 for more information.
Concepts
PRBS Generators are specialized controllers you can use to perform process response
tests.
You can perform manual step test or PRBS tests by using PRBS Generators.
Actions
Create a PRBS Generator.
Configure a PRBS Generator.
Activate a PRBS Generator.
Deactivate a PRBS Generator.
o Mean on page 69
o Increment on page 69
o Amplitude on page 69
o Low Limit on page 70
o High Limit on page 70
Adding input tags to a PRBS In the Tag Li st area, on the Input Tags tab, select the tags you
Generat or want to add, and then drag the selection int o the Generator tags
area, on the Input Tags tab. Alternatively, you can right-click the
selection, and then click the desired P RBS Generator in the Add
To Generator submenu to add the tags to that PRBS Generator.
Adding output tags to a PRBS In the Tag Li st area, on the Output Tags tab, select the tags you
Generat or want to add, and then drag the selection int o the Generator tags
area, on the Output Tags tab. Alternatively, you can right-click
the selection, and then click the desired PRBS Generator in the
Add To Generator submenu to add the tags to that PRBS
Generat or.
Control Interval
The control interval is the frequency at which the PRBS Generator computes the next move
for its associated output tags (that is, its associated MVs).
The control interval must be a multiple of the scan interval. You can set the control interval by
using the Configuration tab. See Configuring a PRBS Generator on page 65 for more
information.
This interval applies to all the tags in the PRBS Generator. It is used only for PRBS tests and
does not apply to manual step tests.
Random Interval
The random interval (T) is the least number of seconds for which the MVs hold at a particular
value. The duration that the MVs hold at a particular value is a pseudo-random multiple of the
random interval.
The random interval must be a multiple of the control interval. You can set the random
interval by using the Configuration tab. See Configuring a PRBS Generator on page 65 for
more information.
This interval applies to all the tags in the PRBS Generator. It is used only for PRBS tests and
does not apply to manual step tests.
Auto
The Auto check box specifies whether a manual step test or a PRBS test is performed for the
output tags. You can select the Auto check box to perform a PRBS test for the respective
output tag. By default, the Auto check box is cleared for each newly added output tag.
PRBS Length
The PRBS Length value is an input to the algorithm that generates the pseudo-random
binary sequence (PRBS). The SimSci APC software uses this value as the "seed" of the
random number generator. Thus, the PRBS Length value determines the pattern of the
PRBS. That is, it defines the number of random intervals that pass before the sequence
pattern of random changes repeats exactly. The SimSci APC software calculates this number
according to the following equations:
2n 1
N 2n1 1
t T 2n 1 1
where
n is the specified PRBS length
is the number of times the variable value changes in the sequence pattern
N is the number of random intervals in the sequence pattern
T is the random interval
t is the total time that passes for each complete sequence pattern
For example, a PRBS Length value of 2 results in the following sequence pattern:
Note that is 3 and N is 7. If the random interval is 4 seconds, the sequence pattern
repeats every 28 seconds. The resulting PRBS looks similar to the following figure:
You can set the PRBS Length value to any integer value between 0 and 32. Typically, you
set this value to integer values greater than 9, because the statistical properties of the
resulting PRBS approximate those of white noise.
You should set the PRBS Length for each output tag to a unique value. PRBSs that have
different PRBS Length values are hardly correlated with each other. When you carry out
PRBS tests with a number of output tags, it is important that the PRBSs for those outputs are
not correlated. Otherwise, when you subsequently analyze the PRBS data, the SimSci APC
software cannot separate out the various causes and effects. See Correlation Analysis on
page 89 for more information.
Mean
The Mean value is used to define the high and low values for the PRBS. The high value of
the PRBS is greater than the Mean value by an amount that is half the Amplitude value. The
low value of the PRBS is less than the Mean value by an amount that is half the Amplitude
value.
Increment
The Increment value is the total amount by which an output tag value can change for any
one move of an MV.
For manual step tests, the total change in an output tag does not exceed the Increment
value. If you attempt to apply a step change that is greater than the Increment value, the
current value changes by only the Increment value.
For PRBS tests, a step change of the full Increment value is usually applied when there is a
significant difference between the current value and the Mean value for the output tag. The
step change is applied every random interval until the current value approaches the Mean
value. After the current value approaches the Mean value, the specified Amplitude value
determines the step changes to the current value.
Amplitude
The Amplitude value is the amount by which an output tag value changes about the Mean
value for one move of an output tag value.
Low Limit
The Low Limit value is the lower constraint on the output tag value. A PRBS Generator
cannot move an output tag to a value less than the Low Limit value. If the PRBS for an
output tag is configured to have a low value that is less than the Low Limit value, the Low
Limit value overrides the configured low value for the PRBS.
High Limit
The High Limit value is the upper constraint on the output tag value. A PRBS Generator
cannot move an output tag to a value greater than the High Limit value. If the PRBS for an
output tag is configured to have a high value that is greater than the High Limit value, the
High Limit value overrides the configured high value for the PRBS.
Initialize: The PRBS Generator loads initial values for the output tags based on values
read from the readback signals specified on the Data Table tab, on the Output Tags tab.
Ready: The PRBS Generator writes values to the output tags based on values read from
the readback signals. It also calculates the Mean value based on the values read from the
readback signals. The Increment and Amplitude values do not apply.
Active: The PRBS Generator writes values to the output tags based on its configuration.
See Configuring a PRBS Generator on page 65 for more information.
If you configure the output tags in a PRBS Generator for manual step tests, you can
change the Current Value value manually to change the output values.
If you configure the output tags in a PRBS Generator for PRBS tests, the PRBS
Generator automatically changes the output values such that it creates a PRBS for the
output tags. The configuration for the PRBS Generator defines the PRBS for each output
tag. You can change the Mean, Amplitude, and Increment values for an output tag to
change the output values that the PRBS Generator automatically generates. Note that
you can use a combination of manual step tests and PRBS tests in a single PRBS
Generator.
You can use the Current Status field on the Operation tab, on the desired PRBS Generator
tab, to determine the current state of a PRBS Generator.
On the Input Tags tab, you can select only one input tag for which to view trends. When you
view the trends for an input tag in a PRBS Generator, the following trends are added to the
Trend window:
The trend for the selected input tag
The trends for all the output tags in the PRBS Generator
On the Output Tags tab, you can select only one output tag for which to view trends. When
you view the trends for an output tag in a PRBS Generator, the following trends are added to
the Trend window:
The trend for the selected output tag
The trends for all the input tags in the PRBS Generator
Alternatively, you can use the Data Table tab to view trends for the input tags and output
tags. This is especially useful if you want to see multiple input tags and output tags together
in the same Trend window. See Trends and Strips on page 28 for more information.
Viewing the trends for an input On the Operation tab, on the Input Tags tab, select the input tag
tag for which you want to view trends. Right-click the Trend column
for the tag, and then click Generate Trend(s).
Viewing the trends for an On the Operation tab, on the Output Tags tab, select the output
output tag tag for which you want to view trends. Right-click the Trend
column for the tag, and then click Generate Trend(s).
Available PRBSs
When you use PRBS tests to generate process response data, you can specify a PRBS
Length value for each output tag that you add to a PRBS Generator. The value of the PRBS
Length determines the pattern of the PRBS; the random interval of the PRBS Generator
determines the length of the PRBS. See Random Interval on page 67 and PRBS Length on
page 68 for more information.
The following table displays the patterns for the available PRBSs. The purpose of this table is
to give you an idea of what the PRBS patterns look like so that you can better select the
PRBS Length values that fit your needs. The graphs that appear in this table encompass
approximately 5 minutes of data. The PRBS Generator that generated this data has a
Control Interval of 1.00 and a Random Interval of 2.00. Note that for PRBS Length values
greater than 6, the full pattern of the PRBS does not complete within the time shown. The
PRBSs that you see in your APC Project may not look exactly the same as the graphs in the
table, but they should look similar.
PRBS Pattern
Length
10
11
12
13
14
15
C HAPTER 4
Data Processing
In This Chapter
Overview...................................................................................................................................... 77
The Translation Table ................................................................................................................... 77
Creating SimSci APC Tag Data and Comma Delimited Files ........................................................... 78
Creating a Tag Configuration File from the Data Table .................................................................... 79
Managing Custom Tags ................................................................................................................ 79
Managing Tag Collections ............................................................................................................. 80
Tag Data Manipulation .................................................................................................................. 82
Correlation Analysis ...................................................................................................................... 89
Overview
Data processing is an offline tool that is used to configure and manipulate data. You can also
use the data processing features to determine mathematical correlations in the data.
Typically, the tag correlation analysis is performed by using data obtained from process
response tests. This can include manipulated data or raw data. See Process Response
Testing (see "Overview" on page 63) for more information on process response tests.
The typical workflow for data manipulation is as follows:
1. Create the custom tags used to archive the manipulated data.
2. Create and manage the tag collections used to quickly access tags.
3. Define the calculations used to manipulate the data.
4. Run the calculations and view the resulting data with respect to the raw data.
Editing a string translation in In the Translation Table, double-click either the OP C Server
the Translation Table Value column or the AP C Value column for the string translation
you want to edit. Type the new value, and then press Enter.
Deleting string translations In the Translation Table, select the string translations you want to
from the Translation Table delete, and then click Delete String Translation .
Note that you can click the down arrow in the box to select and change the date based
on a calendar view.
4. In the End Date box, type the ending time of the data range that you want to export. Note
that you can click the down arrow in the box to select and change the date based on a
calendar view.
5. In the File Type box, click the down arrow to select either a .tagData file or .fdax file type.
6. Click Export.The Export Data dialog box appears.
7. Browse to the folder in which you want to create the tag data file.
78 Version 2016 SP2
Data Processing SimSci APC User Guide
8. In the File name box, type the name for the tag data file, and then click Save.
Note: You can export tags in an .fdax with different start and end times. Any data gaps will be
filled with a value of -999.
Deleting a custom tag In the Custom Tag(s) area, select the custom tag you want to
delete, and then click
Renaming a custom tag In the Custom Tag(s) area, double-click the Custom Tag
column for the tag, type a new name for the tag, and then press
Enter.
Entering a description for a In the Custom Tag(s) area, double-click the Description column
custom tag for the tag, type a description for the tag, and then press Enter.
Setting the UOM for a custom In the Custom Tag(s) area, double-click the Unit column for the
tag tag, type a unit of measure (UOM) for the tag, and then press
Enter.
Changing the tag type for a In the Custom Tag(s) area, in the Tag Type column, select
custom tag either Input or Output to specify the custom tag as an input tag
or as an output tag, respectively.
Converting a custom tag into a Open the Data Table tab under the Connect node in the APC
raw tag Explorer. On the Custom Input Tags or Custom Output Tags
tab, right-click on the custom tag(s ) you want to convert to a raw
tag and select Convert To RawTag.
You can add tags in the Raw Tag(s) area and in the Custom Tag(s) area to a tag collection.
You can remove tags from a tag collection by using the Tag List area on the All Tags tab.
Creating a tag collection In the Tag Collection area, click Add Tag Collections .
Renaming a tag collection In the Tag Collection area, double-click the Collection Name
column for the tag collection, type the new name for the tag
collection, and then press Enter.
Adding a description for a tag In the Tag Collection area, double-click the De scription column
collection for the tag collection, type a description for the tag collection, and
then press Enter.
Adding tags to a tag collection In either the Raw Tag(s) area or the Custom Tag(s) area, select
the tags you want to add, and then drag the selection into the
Tag List area. Alternatively, you can right-click the selection, and
then click the desired tag collection in the Add to Collection
submenu to add the tags to that tag collection.
Removing tags from a tag In the Tag Collection area, select the tag collection from which
collection you want to remove tags.Iin the Tag Li st area, select the tags
that you want to remove. Right-click the selection, and then click
Delete Tag(s).
Exporting the tag dat a for a tag In the Tag Collection area, right-click the tag collection, and then
collection click Export. You can then save the tag data for all the tags in the
tag collection as a SimSci APC tag data (.tagData) file. See
Creating SimSci APC Tag Data and Comma Delimited Files on
page 78 for more information.
Deleting a tag collection In the Tag Collection area, select the tag collection you want to
Default Equations
A default equation is a predefined equation that you can use to manipulate raw data and
calculate the data that is stored in a custom tag.
Default equations are defined in the Formula Editor. You cannot edit or delete these
equations from the APC Project. These equations are not included in the exported .csv file
when you export the customized equations in the Formula Editor. See Managing Customized
Equations on page 86 for more information.
There are 15 default equations that are automatically included in an APC Project:
ADD on page 83
SUB on page 83
MUL on page 83
DIV on page 83
LOG on page 83
EXP on page 83
SQRT on page 83
DIFF on page 83
LOG10 on page 84
LOW PASS FILTER on page 84
AVERAGE on page 84
SMOOTH on page 84
REMOVE SPIKES on page 84
SHIFT LEFT on page 85
SHIFT RIGHT on page 85
XY Lookup on page 85
ADD
The ADD equation uses two variables, X and Y. The value of the X variable is added to the
value of the Y variable for each sampled instant in the entire analysis range. The resulting
values are used for the values of the custom tag.
SUB
The SUB equation uses two variables, X and Y. The value of the Y variable is subtracted
from the value of the X variable for each sampled instant in the entire analysis range. The
resulting values are used for the values of the custom tag.
MUL
The MUL equation uses two variables, X and Y. The value of the X variable is multiplied by
the value of the Y variable for each sampled instant in the entire analysis range. The resulting
values are used for the values of the custom tag.
DIV
The DIV equation uses two variables, X and Y. The value of the X variable is divided by the
value of the Y variable for each sampled instant in the entire analysis range. The resulting
values are used for the values of the custom tag.
LOG
The LOG equation uses one variable, X. It calculates the natural logarithm of the value of the
X variable for each sampled instant in the entire analysis range. The resulting values are
used for the values of the custom tag.
EXP
The EXP equation uses one variable, X. It calculates the natural exponential function for the
value of the X variable for each sampled instant in the entire analysis range. The resulting
values are used for the values of the custom tag.
SQRT
The SQRT equation uses one variable, X. It calculates the square root of the value of the X
variable for each sampled instant in the entire analysis range. The resulting values are used
for the values of the custom tag.
DIFF
The DIFF equation uses one variable, X. The previous value of the X variable is subtracted
from the current value of the X variable for each sampled instant in the entire analysis range.
The resulting values are used for the values of the custom tag.
The first value of the custom tag is set to zero to indicate that a previous value of the X
variable does not exist in the data set for this data point.
LOG10
The LOG10 equation uses one variable, X. It calculates the base-10 logarithm of the value of
the X variable for each sampled instant in the entire analysis range. The resulting values are
used for the values of the custom tag.
xkf xkf1 xk e
T
TC
xk
where
T is the frequency, in seconds, at which the data for the Tag variable is sampled
TC is the filter time constant, TC, in seconds
xk
is the value of the Tag variable at instant k
xkf
is the value of the custom tag, that is, the filtered value, at instant k
AVERAGE
The AVERAGE equation uses one variable, Tag, and one constant, NoS. It calculates the
moving average of the value of the Tag variable for each set of sampled instants in the entire
analysis range. The maximum number of data points in each set of sampled instants is equal
to the specified NoS value. The resulting values are used for the values of the custom tag.
SMOOTH
The SMOOTH equation uses one variable, Tag, and one constant, NoS. It calculates the
average of the values of the Tag variable for each set of sampled instants in the entire
analysis range. The maximum number of data points in each set of sampled instants is equal
to the specified NoS value. Each set of sampled instants contains:
A number of past values of the Tag variable
The current value of the Tag variable
A number of future values of the Tag variable.
The number of past values of the Tag variable is always equal to the number of future values
of the Tag variable. Therefore, you must specify an odd number for the NoS value.
REMOVE SPIKES
The REMOVE SPIKES equation uses three variables, Tag, LL, and HL. It applies a lower
limit, LL, and an upper limit, HL, on the values of the Tag variable to remove any spikes that
are present in the data. The resulting values are used for the values of the custom tag.
For each sampled instant in the entire analysis range, the following logic determines the
value of the custom tag:
If the value of the Tag variable is less than the LL value, the value of the custom tag is set
equal to the LL value.
If the value of the Tag variable is greater than the HL value, the value of the custom tag is
set equal to the HL value.
If the value of the Tag variable is greater than the LL value and less than the HL value,
the value of the custom tag is set equal to the current value of the Tag variable.
SHIFT LEFT
The SHIFT LEFT equation uses two variables, Tag and Shift. It shifts the values of the Tag
variable to the left, and then copies the values of the Tag variable to the values of the custom
tag. The Shift value specifies the time, in seconds, by which the values of the Tag variable
are shifted to the left.
A shift to the left is equivalent to shifting the time reference of the data points for the Tag
variable so that they correspond to an earlier instant in time. A number of values in the
custom tag do not have corresponding values of the Tag variable due to the time shift in the
data range. The SHIFT LEFT equation sets these values equal to zero.
SHIFT RIGHT
The SHIFT RIGHT equation uses two variables, Tag and Shift. It shifts the values of the Tag
variable to the right, and then copies the values of the Tag variable to the values of the
custom tag. The Shift value specifies the time, in seconds, by which the values of the Tag
variable are shifted to the right.
A shift to the right is equivalent to shifting the time reference of the data points for the Tag
variable so that they correspond to a later instant in time. A number of values in the custom
tag do not have corresponding values of the Tag variable due to the time shift in the data
range. The SHIFT RIGHT equation sets these values equal to zero.
XY Lookup
The XY Lookup equation uses one variable, Tag, and a lookup table that defines a series of
X and Y values used to transform the Tag data values. The XY Lookup equation applies a
piecewise nonlinear transform function to the Tag data values and passes the results to the
custom tag.
See Piecewise Nonlinear Transforms on page 193 for an explanation of how SimSci APC
software fits the Tag data values to the defined X and Y values.
Customized Equations
A customized equation is a user-defined equation that you can use to manipulate data. It is
used to calculate the data that is stored in a custom tag.
Customized equations are defined by using the Formula Editor. The Formula Editor includes
a number of default equations that you can use to create and configure the calculations for
the custom tags. See Default Equations on page 82 for more information. If you cannot find
an appropriate equation among the default equations, you can create a customized equation
by using any number of variables and available functions.
A custom tag contains the same number of data points as the input tags and output tags that
you use in the customized equation to calculate the values for the custom tag.
You can change the Formula for a customized equation by using the Formula Editor. You can
edit only customized equations that are not used in a calculation for a custom tag. You cannot
change the name of a customized equation after you create it.
You can export a set of customized equations for later use or for use in another APC Project.
Exported customized equations are saved to a .csv file.
You can import a set of customized equations that are stored as a .csv file into an APC
Project. Imported customized equations are added at the bottom of the equation list in the
Formula Editor. If an imported customized equation already exists in the APC Project, a copy
of the customized equation is added to the equation list.
You can delete only customized equations that are not used in a calculation for a custom tag.
Creating a customized In the Formula Editor, in the Name box, type the name of the
equation customized equation. In the Formula box, type the equation, and
Editing a customized equation In the Formula Editor, in the equation list, double-click the
Equation column for the customized equation, type the new
formula for the customized equation, and then press Enter.
Exporting customized In the Formula Editor, select the Select Formula check box for
equations each equation that you want to export, and then click Export
Importing customized
equations In the Formula Editor, click Import Formula(s) . Browse to
and select the .csv file cont aining the customized equations, and
then click Open.
Deleting customized equations In the Formula Editor, select the Select Formula check box for
each equation that you want to delete, and then click Delete
4. In the Define column, click the Define button to configure the calculation. See
Configuring a Calculation for a Custom Tag on page 88 for more information.
5. In the Calculate Per Scan column, select the check box to automatically recalculate the
custom tag values at every scan internal while the APC Project is scanning. You should
select this check box if you want to use the custom tag in an MVC controller and
Optimizer.
6. In the Comments column, type any comments you may have about the equation.
7. Press Enter.
1. In the calculations grid, in the Define column, click the Define button . The Equation
dialog box appears.
2. In the Collection Name list, select the tag collection that contains the tags that you want
to map to the variables in the equation.
3. If you want to map a variable to a tag value, do the following:
a. In the process tags grid, select the tag that you want to map to a variable in the
equation.
b. Right-click the selected tag, and then click the variable to which you want to map the
tag.
c. Check the parameters grid or the Formula Equation field to ensure the mapping is
successful.
4. If you want to set a constant value for a variable, in the parameters grid, in the Tag/Value
column, type the value to which you want to set the variable.
5. Repeat steps 3 and 4 as desired until all the variables in the equation are mapped to tags
or set to constant values.
6. Click OK.
You can export the trend data by clicking Export Data on the trend. The exported data is
saved as a .csv file. You can then open the .csv file in Microsoft Excel for further analysis of
the data.
Correlation Analysis
Correlation analysis is a statistical tool used to analyze the dependencies in the dynamic
variation of two signals. The two tags analyzed are termed cause tags and effect tags.
The correlation may be of two types:
Autocorrelation: The same tag is defined as both the cause tag and the effect tag. The
result reflects the statistical properties of that tag alone. See Correlation Coefficients on
page 89 and Autocorrelation Function on page 90 for more information.
Cross-correlation: Two different tags are defined as the cause tag and the effect tag.
The result quantifies their statistical dependency. See Correlation Coefficients on page 89
and Cross-correlation Function on page 90 for more information.
You can perform a correlation analysis by using the Data Mining tab. To open the Data
Mining tab, click Data Mining in the APC Explorer, under Data Processing.
Correlation Coefficients
A correlation coefficient, x, y , is a measure of the overall deviation around the linear fit,
where x and y are the two variables in question. This measure is also known as Pearsons
correlation coefficient, or Pearsons r. The correlation coefficient is calculated as follows:
x x y
i i y
x, y i
x x y y
2 2
i i
i i
where
x is the mean value of the variable x
y is the mean value of the variable y
The correlation coefficient can take any value between +1 and 1:
A correlation coefficient of +1 indicates a perfect, positive linear correlation. All of the data
points lie exactly on a line, which has a positive slope.
A correlation coefficient of 1 indicates a perfect, negative linear correlation. All of the
data points lie exactly on a line, which has a negative slope.
A correlation coefficient of 0 indicates that no correlation is present. The data points are
randomly distributed around a line.
Correlation coefficients of a value other than +1, 1, or 0 indicate varying strengths of
correlation.
The SimSci APC software calculates the value of the correlation coefficient for a range of
different offsets between the cause and effect variation. This range is 10% of the current
analysis range, that is, the total number of data points archived for the tags. It then plots the
result as a graph of the value of the correlation constant versus the offset. See Generating
Trends for the Correlation Analysis Calculations on page 95 for more information.
Autocorrelation Function
The autocorrelation function of a tag indicates the extent to which the value of the tag at one
instant in time is related to the values of the same tag at any other subsequent instant. It
provides a rough measure of the time constant of the dynamics that are associated with a
tag. Therefore, you can use it as an aid to selecting the interval at which the tag should be
monitored for control purposes.
Rxx
The discrete autocorrelation function, , can be expressed as follows:
Rxx xt , xt , N , ,1,0,1, , N
where
a, b is the correlation between the variable a and b .
xt
is the variable of interest
Cross-correlation Function
The cross-correlation function, which relates one tag to another, indicates the extent to which
the value of the cause tag, at one instant in time, determines the value of the effect tag at any
subsequent instant in time. It measures whether there is any significant correlation between
the two tags.
The cross-correlation function also represents the impulse response for a single-input, single-
output (SISO) dynamic system that involves the cause and effect tags if the following
statements are true:
The data collected for the cause tag has properties that approximate those of white noise.
One example of white noise is a tag manipulated as a PRBS. See Process Response
Testing (see "Overview" on page 63) for more information.
The dynamics of the effect tag are approximately linear.
Rxy
A discrete cross-correlation function, , can be expressed as follows:
Rxy xt , yt , N , ,1,0,1,, N
where
a, b is the correlation between the variable a and b .
xt
is the cause variable with no time shift applied.
Differencing
In the SimSci APC software, differencing is the act of using the increments from one data
point to the next to perform calculations instead of the absolute tag values.
By default, the correlation function is calculated by using the absolute values of the cause
and effect tags, that is, the values expressed in normal engineering units. However, in certain
situations, this absolute form of correlation does not accurately represent the behavior of the
system and could lead to unsatisfactory or misleading results for the correlation analysis. This
is particularly true for integrating systems, where the system response may be a varying rate
of change. In such situations, you can perform the correlation analysis by using differencing
for the tags to get a more accurate and satisfactory result. You can use differencing for both
the cause tag and the effect tag or for either the cause tag or effect tag individually.
Differencing does not alter the original tag data. When you use differencing for a tag, you
change the correlation function such that it uses the difference between the previous archived
tag value and the current tag value for each value in the data set. You cannot apply
differencing to the first archived tag value in the data set because a previous archived value
does not exist for the first archived tag value. The number of data points that are used in the
correlation analysis calculation therefore decreases by 1.
The cross-correlation function with differencing applied to the cause variable can be
expressed as follows:
Rxy xt , yt , N ,,1,0,1,, N
where
a, b is the correlation between the variable a and b .
x is the cause variable
xt xk xk 1 , k 1, , N 1
Adding tags to the Cause In the Collection Name list box, select the collection that
Tags collection contains the tags of interest. In the Proce ss Tag column, select
the tags that you want to add to the collection, and then drag the
selection into the Cause Tags list. Alternatively, you can right-
click the selection, and then click Cause Tags in the Add To
Collection submenu to add the selection to the Cause Tags list.
Adding tags to the Effect Tags In the Collection Name list box, select the collection that
collection contains the tags of interest. In the Proce ss Tag column, select
the tags that you want to add to the collection, and then drag the
selection into the Effect Tags list. Alternatively, you can right-
click the selection, and then click Effect Tags in the Add To
Collection submenu to add the selection to the Effect Tags list.
Removing tags from the In the Cause Tags list, select the tags you want to remove from
Cause Tags collection the collection. Right-click the selection, and then click Delete.
Removing tags from the Effect In the Cause Tags list, select the tags you want to remove from
Tags collection the collection. Right-click the selection, and then click Delete.
The results of the run for a correlation analysis calculation are displayed as sparklines in the
Correlation Analysis area, in the Result column. These sparklines are miniatures of the
trends for the correlation analysis calculations. See Generating Trends for the Correlation
Analysis Calculations on page 95 for more information.
To run the correlation analysis calculations:
1. In the Correlation Analysis area, in the Select column, select the check box for each
correlation analysis calculation that you want to run.
2. Click Run .
Each time you generate a trend for a correlation analysis calculation, the SimSci APC
software performs a run for the correlation analysis calculation. See Running Correlation
Analysis Calculations on page 93 for more information.
To generate a trend for the correlation analysis calculations:
1. In the Correlation Analysis section, in the Select column, select the check box for each
correlation analysis calculation for which you want to generate a trend.
The x-axis of the trends is centered on zero and has a range of N 10 to N 10 , where N
is the number of data points in the analysis range. The positive half of the x-axis represents a
positive time shift ( ) for the tag data, that is, the cause tag leads, or drives, the effect tag.
The negative half of the x-axis represents a negative time shift for the tag data, that is, the
effect tag leads, or drives, the cause tag. The negative side is useful for assessing whether
there is any significance to be read from the correlation function on the positive side of the x-
axis. If the correlation function on the positive half of the x- axis does not stand out from the
correlation function on the negative half of the x-axis, either there is no significant relationship
between the two tags, or the data analyzed is not excited enough to provide a basis for
determining the required information.
If you generate multiple trends for the correlation analysis calculations, the x-axes for each
trend are the same as the x-axis for the most recently run correlation analysis calculation.
The values on the x-axis are measured in units of time shift and not in units of time. If you
want to calculate the elapsed time at a certain point on the x-axis, multiply the value on the x-
axis by the frequency at which the data points were taken. For example, if a data set is
sampled at a frequency of 2 seconds, the elapsed time at an x-value of 15 (in absolute terms)
is 30 seconds; that is, the fifteenth data point in the set is taken after 30 seconds have
elapsed.
You can use the peak values of the correlation function as useful measures of the
interdependence between the tags. The closer the peak is to 1, the more confidence there is
that the correlation is significant. The time at which the peak occurs indicates the time that
elapses before the impact of the one tag on the other is at its greatest. As a rule-of-thumb,
you can use peak values that are greater than 0.2 (in absolute terms) to indicate a significant
correlation. However, your interpretation of the results for the correlation analysis calculation
should also consider the Granger index calculated for the run. See Displaying the Statistical
Results for the Correlation Analysis Calculations on page 97 for more information.
PeakMaxNegativeValueTime
The PeakMaxNegativeValueTime value is the time at which the greatest peak occurs for the
negative half of the correlation function. It indicates the time that elapses before the impact of
the effect tag on the cause tag is at its greatest.
PeakMaxNegativeValue
The PeakMaxNegativeValue value is the value of the correlation function at the greatest
peak for the negative half of the correlation function. It provides a useful measure of the
interdependence between the tags. The closer the peak is to 1, the more confidence there is
that the correlation is significant. A PeakMaxNegativeValue value that is greater than the
Granger Index value indicates a significant correlation.
A PeakMaxNegativeValue value that is greater than the PeakMaxPositiveValue value
indicates that there is a stronger correlation between the variables when the specified cause
tag acts as the effect variable and the specified effect tag acts as the cause variable. If this is
the case, we recommend that you swap the cause and effect tags.
PeakMaxPositiveValueTime
The PeakMaxPositiveValueTime value is the time at which the greatest peak occurs for the
positive half of the correlation function. It indicates the time that elapses before the impact of
the cause tag on the effect tag is at its greatest.
PeakMaxPositiveValue
The PeakMaxPositiveValue value is the value of the correlation function at the greatest peak
for the positive half of the correlation function. It provides a useful measure of the
interdependence between the tags. The closer the peak is to 1, the more confidence there is
that the correlation is significant. A PeakMaxPositiveValue value that is greater than the
Granger Index value indicates a significant correlation.
A PeakMaxPositiveValue value that is greater than the PeakMaxNegativeValue value
indicates that there is a stronger correlation between the variables when the specified cause
tag acts as the cause variable and the specified effect tag acts as the effect variable. If this is
the case, we recommend that you keep the cause and effect tags in their current
configuration.
Granger Index
The Granger Index value is the threshold value above which we consider the cause tag to be
significant to the effect tag. It provides a quantitative method of excluding small correlation
peaks from consideration and is estimated as:
2
GrangerIndex
Nc 2
where
Nc
is the number of data points used in the correlation analysis.
Any value of the correlation function that is greater (in absolute terms) than the Granger
Index value is statistically significant at a 95 % confidence level. Alternatively, you can
consider any value of the correlation function that is less (in absolute terms) than the
Granger Index value to be effectively zero, with 95% confidence.
Dead Time
The Dead Time value is the time at which the earliest significant peak on the positive half of
the correlation function occurs.
If both the cause and effect tags are differenced (that is, you select Both for the Difference
Option selection for the correlation analysis calculation), the Dead Time value is the same as
or similar to the pure dead time of the cause and effect relationship. That is, it indicates the
time that elapses before the impact of the cause tag on the effect tag is at its greatest.
If both the cause and effect tags are not differenced (that is, you select Cause, Effect, or
None for the Difference Option selection for the correlation analysis calculation), the Dead
Time value is set to zero and does not represent the pure dead time of the cause and effect
relationship.
Suggestion
The Suggestion value is a message that indicates whether or not the cause tag and the
effect tag for the correlation analysis calculation should be changed. If it is blank, we
recommend that you do not change the cause tag and the effect tag. If it contains the
"CAUSE and EFFECT tags should be swapped" message, we recommend that you change
the cause tag to be the current effect tag and change the effect tag to be the current cause
tag.
The Suggestion value is set based on which half of the correlation function, positive or
negative, contains the earliest significant peakthat is, the peak with the least x-value in
absolute terms. If the earliest significant peak occurs on the positive half of the correlation
function, the Suggestion value is left blank. If the earliest significant peak occurs on the
negative half of the correlation function, the Suggestion value is set to the "CAUSE and
EFFECT tags should be swapped" message.
C HAPTER 5
Modeling
In This Chapter
Overview.................................................................................................................................... 101
Linear Models ............................................................................................................................. 101
Scenarios for a Linear Model ....................................................................................................... 106
Managing Scenarios ................................................................................................................... 106
Selecting Data for Scenarios ....................................................................................................... 108
Scenario Parameters .................................................................................................................. 110
Trans fer Functions ...................................................................................................................... 113
Identification Algorithms .............................................................................................................. 117
Results of a Linear Model ............................................................................................................ 129
Composite Linear Model ............................................................................................................. 142
Overview
In the SimSci APC software, a model is a mathematical representation of the dynamics of the
process plant that provides a basis for predicting the process behavior. Models are used to
configure model-based predictive control strategies for the process plant in question. You can
establish a model by applying statistical identification procedures to plant-sampled
information. Typically, you collect such information by scanning tag data, but you may also
attain this information by importing a Connoisseur tag data (.fdax) file or a SimSci APC tag
data (.tagData) file. See Importing Data on page 20 for more information.
Currently, you can create only linear models in an APC Project.
Linear Models
A linear model is a mathematical representation of the dynamics of the process plant. It uses
linear modeling techniques to predict the process behavior. The cause and effect
relationships between the tags within a linear model are assumed to be linear or can be
approximated as linear. Linear models include the following:
Autoregressive models with exogenous inputs (ARX models)
Fixed Impulse Response (FIR) models
Transfer function models
State space models
Currently, you can use only ARX models, FIR models, and transfer function models in an
APC Project. See Identification Algorithms on page 117 and Transfer Functions on page 113
for more information.
You can perform linear modeling by using the Linear Modeling tab. To open the Linear
Modeling tab, click Linear Modeling in the APC Explorer, under Modeling.
You can change the order in which the variables appear in the Variables area. When you
change the order of the variables on the Linear Modeling tab, you also change the order of
the variables on the Results tab. You can quickly access the variables that are the most
important or the most interesting to you by moving those variables to the top of the list. You
can change the order of only one variable at a time.
You can also delete any number of CVs, MVs, or FVs from a linear model. Note that you
cannot delete different types of variables at the same time. For example, if you want to delete
a set of CVs and MVs from a linear model, you should first delete the CVs and then delete
the MVs.
To configure the structure of a linear model:
1. On the Linear Modeling tab, select the tab for the linear model.
2. In the Tags List list, select the collection that contains the tags of interest.
3. In the Input Tags area, select the tags that you want to specify as CVs for the model.
4. Drag the selection into the Control Variables area. Alternatively, you can right-click the
selection, and then click Add to Control Variables.
5. If desired, in the Input Tags area, select the input tags that you want to specify as FVs for
the model.
6. Drag the selection into the Feed Forward Variables area. Alternatively, you can right-
click the selection, and then click Add to FeedForward Variables.
7. In the Output Tags area, select the tags that you want to specify as MVs for the model.
8. Drag the selection into the Manipulated Variables area. Alternatively, you can right-click
the selection, and then click Add to Manipulated Variables.
9. If desired, in the Output Tags area, select the output tags that you want to specify as FVs
for the model.
10. Drag the selection into the Feed Forward Variables area. Alternatively, you can right-
click the selection, and then click Add to FeedForward Variables.
To change the order of a variable in the linear model:
1. In the Linear Modeling tab, on the tab for the associated linear model, in the Variables
area, select the variable that you want to move.
2. If you want to move the selected variable up in the list, right-click the variable, and then
click Move Up.
3. If you want to move the selected variable down in the list, right-click the variable, and then
click Move Down.
4. If you want to move the selected variable to the top of the list, right-click the variable, and
then click Move To Top.
5. If you want to move the selected variable to the bottom of the list, right-click the variable,
and then click Move To Bottom.
To delete variables from a linear model:
1. On the Linear Modeling tab, on the tab for the associated linear model, in the Variables
area, select the variables that you want to delete. Note that you cannot select different
types of variables at the same time.
2. Right-click the selection, and then click Delete Variable(s).
Version 2016 SP2 105
SimSci APC User Guide Modeling
Managing Scenarios
You can manage the scenarios for a linear model by using the scenarios grid on the Linear
Modeling tab, on the associated model tab.
When you create a scenario, the new scenario uses the default values for all the scenario
parameters. See Scenario Parameters on page 110 for more information.
When you copy scenarios, the SimSci APC software copies the scenarios in the order in
which you selected them.
When you export scenarios, you can export only one scenario at a time. The SimSci APC
software saves the exported scenario as a .model file. You can then import then import the
.model file into another APC Project.
When you identify scenarios, you run the least square algorithm for each of the selected
scenarios. That is, you run the calculations for the model coefficients, residuals, process
gains, and steady-state responses for each scenario. You can filter out bad data or data that
is not related to the identification of the scenarios by using the Model Data Selector. You can
also choose which data you want to include in the identification calculations. See Selecting
Data for Scenarios on page 108 for more information.
If you modify any of the model coefficients for a scenario after you identify the scenario, you
should regenerate residuals for those scenarios. You can regenerate residuals for the entire
linear model or for a single MV or FV within the linear model. When you regenerate residuals
for the scenario, the SimSci APC software re-identifies the scenario by using the modified
coefficients and creates a cohesive model for the linear modeling scenario. See Modifying the
Model Coefficients on page 133 for more information.
Note that you can regenerate residuals for unidentified scenarios, such as those that you
import from a SimSci APC or Connoisseur model or those that you build by copying and
pasting model coefficients from other scenarios. See Importing Data on page 20 and Copying
and Pasting Model Coefficients on page 131 for more information.
Creating a scenario On the associated model tab, click Add Modeling Scenario
Copying scenarios On the associated model tab, in the scenarios grid, in the Select
column, select the check box for each scenario that you want to
Exporting a scenario On the desired model tab, in the scenarios grid, right-click the
scenario, and then click Export Scenario. Save the .model file in
the desired location.
Identifying scenarios On the associated model tab, in the scenarios grid, in the Select
column, select the check box for each scenario that you want to
Regenerating residuals for On the associated model tab, in the scenarios grid, in the Select
scenarios column, select the check box for each scenario for which you
want to regenerate residuals, and then click Regenerating
Residual s .
Regenerating residuals for a On the associated model tab, in the scenarios grid, in the Select
single MV or FV column, select the check box for each scenario for which you
want to regenerate residuals. In the Variables area, right-click
the MV or FV for which you want to regenerate residuals, and
then click Regenerate Residuals.
Deleting scenarios On the associated model tab, in the scenarios grid, in the Select
column, select the check box for each scenario that you want to
You can open the Model Data Selector by clicking Model Data Selector on the
associated model tab.
The Model Data Selector appears as a trend in which you can select sets of data. It displays
a Strip for each tag in the linear model. You can adjust the scaling for these Strips by using
the same procedures to adjust the scaling for Strips in any other trend. You can also add tags
to a Strip by using the general tag collections. See Adjusting the Scaling for a Strip on page
39 and Managing Strips on page 36 for more information.
There are two views in the Model Data Selector, Bad Data and Model Data.
On the Bad Data view, you select the bad quality data that you want to filter out of the
scenario identification. The bad data selections apply to all scenarios within the associated
linear model. The SimSci APC software does not include the selected data in any
identification calculations when it identifies the scenarios. When you select a set of bad data
points in a Strip, the SimSci APC software highlights the bad data in blue. In all other Stips in
the Model Data Selector, it highlights the bad data in red. That is, it highlights the bad data in
blue only in the Strip in which you select the bad data.
On the Model Data view, you select the data that you want to include in the scenario
identification. The model data selections apply to a single scenario. Each selection is known
as a data slice. If you do not add any data slices to a scenario, the SimSci APC software
includes all the model data (that is, all the data that you have not selected as bad data) in the
identification calculations when it identifies the scenario. If you add data slices to a scenario,
the SimSci APC software includes only the data slices in the identification calculations when it
identifies the scenario. If a data slice includes a bad data selection, the SimSci APC software
excludes that portion of the data slice when it identifies the scenario. Note that you can copy
a data slice configuration in one scenario to another scenario. When you add a data slice to a
Strip, the SimSci APC software highlights the data slice in green.
The Bad Data view and the Model Data view always display the same highlighting. Only the
data slices for the current scenario (that is, the scenario you select in the Selected Scenario
list on the Model Data view) appear in these views.
In both the Bad Data view and the Model Data view, you must double-click a point on the
trend to select data. When you first double-click the trend, a highlighted spike appears on the
trend to indicate the starting point for the selection. You must double-click another point on
the trend to select a set of data points. That is, you cannot select only a single data point. If
you select a set of data points that overlaps an existing set of selected data points, the
SimSci APC software removes the existing set of selected data points. On the Model Data
view, you can resize your set of data points by using the Start Time and End Time
parameters for a data slice or by dragging the ends of the data slice on the strip.
Opening the Model Dat a On the Linear Modeling tab, on the associated model tab, click
Selector
Model Data Selector .
Switching to the Bad Data On the upper-left corner of the Model Data Selector, click Bad
view Data.
Switching to the Model Data On the upper-left corner of the Model Data Selector, click
view
Model Data.
Selecting a set of bad data On the Bad Data view, double-click a point on a Strip. Double-
points click another point on the Strip to select all dat a points bet ween
the data points on which you double-clicked.
Zooming in on an area of bad On the Bad Data view, at the bottom of the list of Strips, drag the
data points zoom bar. Drag the leftmost end of the zoom bar to zoom in on
the rightmost side of the Strips. Drag the rightmost end of the
zoom bar to zoom in on the leftmost side of the Strips.
Removing a set of selected On the Bad Data view, right-click a set of selected data points,
bad data points and then click Remove.
Adding a data slice On the Model Data view, in the Selected Scenario list, select
the scenario to which you want to add the data slice. Double -click
a point on a Strip. Double-click another point on the Strip to select
all data points between the data points on which you double-
clicked.
Zooming in on an area of On the Model Data view, select the Enable Zoom check box. At
model data points the bottom of the list of Strips, drag the zoom bar. Drag the
leftmost end of the zoom bar to zoom in on the rightmost side of
the Strips. Drag the rightmost end of the zoom bar to zoom in on
the rightmost side of the Strips. Alternatively, select an area on a
Strip to zoom in on that area.
Renaming a dat a slice On the Model Data view, in the Model Data Selections area,
double-click the Data Slice value for the data slice that you want
to rename. Type the new name, and then press Enter.
Changing the start time for a On the Model Data view, in the Model Data Selections area,
data slice double-click the Start Time parameter for the data slice. Type the
new start time for the data slice, in mm/dd/yyyy hh:mm:ss format,
and then press Enter.
Changing the end time for a On the Model Data view, in the Model Data Selections area,
data slice double-click the End Time parameter for a data slice. Type the
new end time for the dat a slice, in mm/dd/yyyy hh:mm:ss format,
and then press Enter.
Resizing a data slice by On the Model Data view, clear the Enable Zoom check box. To
dragging the ends of the dat a change the start time of the data slice, on any Strip, drag the
slice leftmost end of the data slice to the position at which you want
the data slice to start. To change the end time of the data slice,
on any Strip, drag the rightmost end of the d ata slice to the
position at which you want the data slice to end.
Copying dat a slices to another On the Model Data view, in the Copy to Scenario(s) list, select
scenario the scenario to which you want to copy the data slices. In the
Model Data Selections area, click the area immediately to the
left of the Data Slice column for a data slice to select the data
slice. Select the data slices that you want to copy, and then click
Copy .
The selected data slices appear highlighted in green.
Removing a data slice On the Model Data view, right-click a set of selected dat a points,
and then click Remove. Alternatively, on the Model Data view, in
the Model Data Selections area, select the data slices you want
Using director scripts to mark On the Tool s tab, select Director Calc to open the Script
bad data slices Editor. Type in the SetBadDataSlicesForTag function and fill
out the required arguments, and then run the script.
Bad data slices will be marked for the tag you specified.
For more information, see the Director Functions Guide.
Scenario Parameters
Each scenario has the following parameters:
ID on page 111
110 Version 2016 SP2
Modeling SimSci APC User Guide
ID
The ID value is the identification number of the scenario. The SimSci APC software gives
each scenario a sequential ID value that corresponds to the order in which you create the
scenarios. The SimSci APC software references these ID values in all the modeling results
available on the Result tab.You cannot change the ID value for a scenario.
Order
The Order value is the order of the dynamics of the model. It determines the number of auto-
regressive terms associated with each CV prediction. The specified order is applied to each
CV in the model. You can set the Order value to any integer value greater than or equal to
zero and less than or equal to 3.
Scaling
The Scaling option allows you to change the normalization scaling for the contribution of
each MV, CV, and FV to the model. You can choose from one of two selections:
Auto: You cannot change the scaling for any variable. The Scale value in the Variables
area for each variable is calculated when you identify the scenario.
Predefined: You can change the scaling for any variable. That is, you can change the
Scale value in the Variables area for any variable in the model.
Each scenario has its own set of Scale values. There is one Scale value for each variable.
By default, the Scaling option for each scenario is initially set to Auto and the Scale value for
each variable is initially set to one.
The Predefined selection is typically used for specialized circumstances in which it is
inappropriate to automatically derive the Scale values. For example, you may want to make a
side-by-side comparison of two models that are identified by using different data sets. For the
model parameters to be directly comparable, the models should have the same normalization
scaling. Otherwise, you must compare the engineering form of the model parameters.
See Normalization on page 128 for more information.
Prediction Interval
The Prediction Interval value is the time step at which new predictions of the CVs are
generated. It is also the execution interval of the model-based predictive controller derived
from the model.
By default, the Prediction Interval value is initially set to the scan interval. The Prediction
Interval value must be a multiple of the scan interval.
If you have performed correlation analyses for your data, you should set the Prediction
Interval value to 25% of the time to the earliest cross-correlation peak obtained for all of the
possible correlation analysis calculations.
If you have not performed correlation analyses for your data, you can set the Prediction
Interval value to 5% of the shortest time to steady state exhibited by the system.
We recommend that you select a single prediction interval for all of the model scenarios at
the beginning of the model identification to avoid problems when you develop the composite
linear model and the final linear model. See Effect of Prediction Intervals on page 143 for
more information.
Model Length
The Model Length value is the minimum number of past values for the input variables (that
is, the MVs and FVs) that the identification algorithm considers when you identify a model.
Both the Order value and the Model Length value determine the total number of past values
that are considered. See Vectors for the Process Inputs on page 119 for more information.
The Model Length value determines the number of past values for the input variables that
the model-based predictive controller considers. See Model Length of the Final Linear Model
on page 149 for more information.
By default, the Model Length value is initially set to the scan interval. You can set the Model
Length value to any integer value greater than or equal to zero.
Number of Cycles
The Number of Cycles value is the number of cycles required to go through the data. It is
used in conjunction with the Least Squares Type selection. It can have any integer value
greater than or equal to zero.
The default value for the Number of Cycles value is determined by the Least Squares Type
selection:
Ordinary 0
Partial 25
Recursive 3
If you set the Number of Cycles value for a scenario and then change the Least Squares
Type selection for that same scenario, the Number of Cycles value changes to the default
value for the selected type.
ARX Mask
The ARX Mask check box determines whether the ARX coefficients for the scenario change
when you re-identify the scenario or regenerate residuals for the scenario. If you select this
check box, the SimSci APC software does not update the ARX coefficients for the scenario.
Note that this check box is available only for first-order scenarios.
Transfer Functions
Transfer functions are Laplace transforms that you can use to model the dynamics of the
process plant. Each transfer function corresponds to a variable relationship, that is, a CV and
MV pair or a CV and FV pair. The SimSci APC software uses transfer function models to
manage the transfer functions in the APC Project. The transfer function models act as
alternative simulation models to the ARX and FIR models that you obtain by identifying
scenarios in a linear model.
The SimSci APC software currently offers the following types of transfer functions:
First Order
Second Order Time Constant
Second Order Damping Ratio
Integrating
Parameter Description
K The gain for the variable relationship. You use this parameter for all the
available types of transfer function.
Parameter Description
D The time delay for the variable relationship. You use this parameter for all the
available types of transfer function.
0 The numerator time constant for the variable relationship. You use this
parameter for transfer functions that are second order time constants, second
order damping ratios, or integrating.
1 The numerator time constant for the variable relationship. You use this
parameter for transfer functions that are first order or second order time
constants.
2 The numerator time constant for the variable relationship. You use this
parameter for transfer functions that are second order time constants or
integrating.
n The natural frequency for the variable relationship. You use this paramet er
only for trans fer functions that are second order damping ratios.
The damping ratio for the variable relationship. You use this parameter only for
transfer functions that are second order damping ratios.
The following table shows the mathematical formula for each type of transfer function.
Type Formula
First order Ke D s
Gs
1 1s
Integrating K 1 0 s e D s
Gs
s1 2 s
The first time that you open the Transfer Function tab, the SimSci APC software
automatically creates a transfer function model named TF Model1. You can use this transfer
function model to create and manage transfer functions for variable relationships. You can
also create your own transfer function models in addition to the initial transfer function model,
TF Model1.
You can import and export transfer function models. The SimSci APC software saves transfer
function models as .tfmodel files.
Creating a trans fer function On the Transfer Function tab, right-click a tab for a transfer
model function, and then click Add Model.
Copying a transfer function On the Transfer Function tab, right-click a tab for a transfer
model function, and then click Copy Model.
Adding CVs to a transfer On the tab for the associated transfer function model, on the
function model Configuration tab, in the Input Tags area, select the tags that
you want to specify as CVs for the trans fer function model. Drag
the selection into the Control Variables area. Alternatively, you
can right -click the selection, and then click Add to Control
Variables.
Adding MVs to a transfer On the tab for the associated transfer function model, on the
function model Configuration tab, in the Output Tags area, select the tags that
you want to specify as MVs for the transfer function model. Drag
the selection into the Manipulated Variables area. Alternatively,
you can right-click the selection, and then click Add to
Manipulated Variables.
Adding FVs to a transfer On the tab for the associated transfer function model, on the
function model Configuration tab, in the Input Tags area, select the tags that
you want to specify as FVs for the transfer function model. Drag
the selection into the Feed Forward Variables area. In the
Output Tags area, select the tags that you want to specify as
FVs for the transfer function model. Drag the selection into the
Feed Forward Variables area. Alternatively, you can right-click
the selection, and then click Add to FeedForward Variables.
Configuring a transfer function On the tab for the associated transfer function model, on the
Configuration tab, in the variable relationships grid, in the
Transfer Function list, select the type of trans fer function that
you want to use for the variable relationship. Change the trans fer
function parameters as desired. See Transfer Function
Parameters on page 113 for more information.
Modifying transfer function On the tab for the associated transfer function model, on the
parameters from the Transfer Transfer Function tab, double-click a transfer function. A dialog
Function tab box appears. In the boxes, type the values for the corresponding
parameters. See Transfer Function Parameters on page 113 for
more information.
Exporting transfer functions On the Transfer Function tab, right-click the tab for the transfer
function, and then click Export Model. The Export Transfer
Function Model dialog box appears. Browse to the folder in
which you want to save the file. In the File name box, type the
name of the file, and then click Save.
Importing trans fer function Click the SimSci APC Button.On the Import menu, on the Model
menu, click Import Transfer Function Model. The Open dialog
box appears. Browse to and select the desired .tfmodel file, and
then click Open.
Renaming a transfer function Double-click the tab for the associated transfer function model.
model Type the new name, and then press Enter.
Deleting transfer functions On the Transfer Function tab, right-click a tab for a transfer
function, and then click Delete Model.
3. Click First Order to restrict the transfer functions for the variable relationships to the First
Order and Integrating types.Click Any Order to allow the SimSci APC software to set
the transfer functions for the variable relationships to any type of transfer function.
4. View the new transfer function models on the Transfer Function tab.
Identification Algorithms
The SimSci APC software uses three different algorithms to identify scenarios:
Ordinary Least Squares (OLS) algorithm
Partial Least Squares (PLS) algorithm
Recursive Least Squares (RLS) algorithm
These algorithms are used to calculate the model coefficients, residuals, process gains, and
steady-state responses for each scenario. They can be derived from a generalized equation
for models. See Generalized Equation on page 117 for more information.
Generalized Equation
You can use the following generalized equation for models:
Y1 k p Y2 k 1W1,k r Wr ,k
where
Y1 is a vector that contains the prediction values for the process outputs, that is, the CVs.
is the transition matrix containing the autoregressive terms. A model uses the
autoregressive terms only if its order of dynamics is greater than zero.
Y2 is a vector that contains the current and past values for the CVs.
1 is the driving matrix for the input variable corresponding to W1
W1 is the vector of increments for the first input variable that is added to the model. It
contains the current and past increments for the first input variable.
r is the driving matrix for the input variable corresponding to Wr
Wr is the vector of increments for the last input variable that is added to the model. It
contains the current and past increments for the last input variable.
r is the total number of input variables that are added to the model
k is the "current" time instant
p is the prediction interval ratio
The generalized equation represents an autoregressive model with exogenous inputs (ARX
model), where is the matrix of autoregressive terms. If we set to zero, the algorithm does
not consider any past outputs and the equation represents a Finite Impulse Response (FIR)
model.
In the generalized equation, the vectors for the input variables, W1 through Wr , are given in
incremental terms, that is, they contain differenced values. The vectors for the output
variables, Y1 and Y2 , are given in non-incremental terms. When you are using the model to
subsequently evaluate controllers, this form of the equation is most suitable. However, when
you are performing the identification procedures for the model, a completely incremental
version of the equation is more efficient. See Incremental Equation on page 123 for more
information.
Order of Dynamics
The order of the dynamicsthat is, the Order value for a scenariois defined as n . When
you set n to zero, the generalized equation for a model has no autoregressive matrix ( = 0)
and therefore represents an FIR model. See Generalized Equation on page 117 and Order
on page 111 for more information.
Y1 k p
The vector containing the prediction values for the process outputs, , has the same
yk Y1 k p yk
dimensions as ; that is, the vectors and both contain a c number of individual
scalar sampled values.
Y2 k
The vector , which contains the current and past CV values that are considered by the
algorithm, is defined as follows:
yk
y
k p
y k 2 p
Y2k .
.
.
y k N 1 p ,
N n 1
where
N is an integer that determines the number of previous prediction intervals over which the
Y2 k
vector extends.
n is the order of dynamics
In the generalized equation for a model, the W1 through Wr vectors contain values that
relate to the process inputs (MVs and FVs) at certain time instants. To derive these vectors,
w
we can define a vector of the MV and FV values for every discrete time instant, k , as
follows:
u1
.
. w1
. .
u k um
wk .
v k v1 .
. w
. r k
.
v
q k ,
r mq
where
uk
is a vector of MV values for every discrete time instant
vk
is a vector of FV values for every discrete time instant
ui
is a manipulated input variable for the model, that is, an MV
vi
is a feedforward input variable for the model, that is, an FV
wj
is an input variable for the model
m is the total number of MVs added to the model
q is the total number of FVs added to the model
r is the total number of input variables added to the model
We assume that each input variable, j ( j 1,, r ), remains constant in value across each
w
prediction interval and changes only at the prediction instant.
The model length for the input variables in the modelthat is, the Model Length value for a
scenariois defined as L . The value of this parameter determines the dimensions of the
vectors of increments for the input variables. It effectively determines the amount of past
variation for the input variables that the algorithm considers. You must set the value of L to
be a positive integer. See Model Length on page 112 for more information.
w Wj
For each input variable, j , we can define a vector that contains the increments of the
input variable value across the succeeding prediction intervals:
w j ,k w j ,k p
w
j ,k p w j ,k 2 p
.
W j ,k
.
.
w j ,k R 1 p w j ,k R p
j j
where
Rj
is the number of incremental terms in the vector.
y k N 1 p Y2 k
If the term in
(see Vectors for the Process Outputs on page 118) involves only
sample values at instant k N 1 p after a truncation to n c elements, then j is
R
calculated as follows:
R j N L 1
Rj
Otherwise, is calculated as follows:
R j N L
In relation to the generalized equation for a model, we can define the following summation for
the contributions of the input variables to the predicted values for the output variables:
r
W
j 1
j j ,k 1W1,k r Wr ,k
Steady-State Properties
You can use the following generalized equation for models:
Y1 k p Y2 k 1W1,k r Wr ,k
where
Y1 is a vector that contains the prediction values for the process outputs, that is, the CVs.
is the transition matrix containing the autoregressive terms. A model uses the
autoregressive terms only if its order of dynamics is greater than zero.
Y2 is a vector that contains the current and past values for the CVs.
1 is the driving matrix for the input variable corresponding to W1
W1 is the vector of increments for the first input variable that is added to the model. It
contains the current and past increments for the first input variable.
r is the driving matrix for the input variable corresponding to Wr
Wr is the vector of increments for the last input variable that is added to the model. It
contains the current and past increments for the last input variable.
r is the total number of input variables that are added to the model
k is the "current" time instant
p is the prediction interval ratio
In the steady-state condition, all of the input variables are static. Therefore, all of the vectors
of increments for the input variables, W1 through Wr , are zero:
Y1 k p Y2 k
Furthermore, the values of the output variables in vectors Y1 and Y2 are static.
For a single-output system, the equation for the model output is:
yk p 1 2 3 yk yk p
yk 2 p
T
Since the output variables are static, all of the y values are equal to a constant, y :
y y1 2 3
To fulfill this condition, the coefficients in the associated non-incremental transition matrix
must sum to unity:
i 1
Consider a single-input, single-output (SISO) system. The controlled variable (CV) is y and
the manipulated variable (MV) is u . When we add the CV and the MV to the model, the
following is true:
Consider a two-input, two-output system. The two output variables (CVs) are y1 and y 2 . The
two input variables (MVs) are u1 and u 2 . When we add the CVs and the MVs to the model,
the following is true:
1,k 8
y
y
u 1, k 16 u1, k 20
u 2 , k 16 u 2 , k 20
2 , k 8
where
is a 26 matrix
1 is a 25 matrix
2 is a 25 matrix
Incremental Equation
In the generalized equation, the vectors for the input variables, W1 through Wr , are given in
incremental terms, that is, they include differenced values. The vectors for the output
variables, Y1 and Y2 , are given in non-incremental terms. When you are using the model to
subsequently evaluate controllers, this form of the equation is most suitable. However, when
you are performing the identification procedures for the model, a completely incremental
version of the equation is more efficient. An incremental identification is more immune to
influences of drift and unmeasured disturbances in the data. Therefore, the incremental
model is used for all identification algorithms. The incremental model is converted to an
absolute form when you subsequently use the model in the control system design.
You can use the following incremental equation for models:
Y3 k p Y4 k 1W1,k r Wr ,k
where
Y3 is the vector of increments that contains the prediction increments for the process
outputs, that is, the CVs, with respect to the current values.
Y4 is the vector of increments that contains the current and past increments for the CVs
All other variables in the incremental equation are the same as those in the generalized
W
equation. See Generalized Equation on page 117 for more information. The vectors 1, k
Wr ,k
through are unaffected by the transition from an absolute form of the equation to an
incremental form of the equation.
All of the CV increments are referenced to the same data point, that is, the same values in
the vector y at instant k .
3
Y W
k p k p k
Y3
k p
Y3 k 2 p
.
4
Y
k
.
.
Y3 k N 1 p
Y 4
k p
W1,k p
.
W
k p
.
.
Wr ,k p
where
k 0, p, 2 p, , Rt p Rt
, in which is the total number of prediction intervals in the analysis
range
Pk
is the symmetric covariance matrix evaluated at instant k
Wk is the same as the vector Wk except that is incorporates Y4k , which is the estimate of
Y4 k Y4 k
the process output vector , instead of
These equations provide a method for obtaining the next estimate of the model parameters
based on the current estimate. This estimate is updated by using a contribution that is
dependent on the prediction error over the corresponding prediction interval.
These equations are evaluated for each prediction instant in the current analysis range. The
actual implementation of this algorithm is done in a robust manner, utilizing the upper
diagonalization concept. This, in effect, takes into account the symmetry of the covariance
P
matrix, k , and ensures that the covariance matrix is always positive definite.
Implementation
To consider the manner in which the RLS algorithm functions, we assume that the analysis
commences with k 0 . The calculation for k p is performed first:
T
k p k Y3k p k Wk Wk Pk
W0
P0
Y3 p
The vector is calculated by using the actual plant values:
Y3 p y p y 0
The algorithm also initializes
W0 with actual plant values rather than with estimated values:
Y40
W
1, p
W .
W0 0 .
.
Wr , p
126 Version 2016 SP2
Modeling SimSci APC User Guide
Initially, we have no knowledge of the model coefficients. Therefore, the algorithm initially
0
0
P0
The initial covariance matrix, , is set to a diagonal matrix with very large coefficients:
P0 bI
where
b is the Covariance Weight value (see Covariance Weight). It is a large value, 104 by
default.
I is the identity matrix.
P0
In effect, the values in indicate a total lack of confidence in the current estimate of the
W
P0 W TP
Pp P0 0 0 0
d0
Y3 p Y3 p
The algorithm then computes the estimate of the process output vector , that is, :
Y W
3
p p 0
Wp
Finally, the algorithm computes the contribution vector that is used at the next stage, , by
using the following equation:
Y 4
p
W1, p
.
W p
.
.
Wr , p
After all of the values have been calculated, the data pointer advances by an increment of p
in the data set (that is, k p ) and the algorithm repeats the complete procedure. This cycle
k 0, p, 2 p, , Rt p
repeats until the entire analysis range of the data is processed (that is, ,
Rt
in which is the total number of prediction intervals in the analysis range).
NOTE: You can find the general forms of these equations in Recursive Least Squares (RLS)
Algorithm on page 124.
As the analysis proceeds through the data, there is normally a general convergence, with the
estimated values of the model parameters tending to stabilize. Such convergence can be
slow, particularly if the data is noisy. In these circumstances, to improve the convergence,
you can cycle the analysis through the data a number of times. At the beginning of each new
W
cycle, the 0 reinitializes with the actual data, but
0 and P0 remain equal to the estimates
from the end of the previous cycle.
You can specify the number of times the algorithm cycles through the data by using the
Number of Cycles parameter for a scenario for a model. See Number of Cycles on page 113
for more information. By default, the RLS algorithm executes three such cycles.
You can use the Covariance Trace parameter as a measure of the convergence. The
Covariance Trace parameter is calculated at the end of the RLS algorithm. See Covariance
Trace on page 140 for more information.
Normalization
Data monitored from industrial processes is usually unsuitable for the direct application of
RLS identification. In general, the magnitudes of the various input and ouptut data are
diverse. For example, a model may include an MV which varies between 40 and 60 tons/h
and a CV between 0.5 and 0.6%; the ratio between the two ranges is 200:1. If you apply RLS
analysis to this data, there is a high probability that a numerical instability will occur. This
results in a failure to correctly identify the process dynamics.
Furthermore, industrial data rarely has a constant, steady-state mean that underlies the
transients; there is usually some superimposed drift that is caused by unmeasured, long-term
disturbances. This condition causes difficulty in directly applying RLS analysis to the absolute
input and output values. For this reason, the SimSci APC software uses an incremental
equation for the model identification. See Incremental Equation on page 123 for more
information.
To avoid these potential difficulties, the SimSci APC software normalizes the identification
data prior to the application of the RLS algorithm. This normalization takes place internally
and the processed information is never shown to you. The SimSci APC software calculates
the normalized value by subtracting the mean for the analysis range from each incremental
value, and then dividing by the standard deviation for the same range. It applies the
procedure to all of the data involved in the identification and creates data which is normalized
to vary across a consistent span. The normalization expression for the incremental data is:
yi Meany
Normyi
stdevy
where
yi is the incremental value of the input or output variable with respect to some constant
y yi yi yk
reference value, k , that is,
y is the entire set of increments for the data analysis range.
The RLS algorithm uses this normalized data for the identification. The result is a
"normalized" model, which relies on the input and output variables expressed in their
normalized range.
This form of the model data leads to numerical stability during the identification. It is also used
to directly compare the magnitudes of the model coefficients associated with the different
input and output variables; thus, you can quickly assess the relative significance of the
different input and output variables to the model.
Model Coefficients
The model coefficients are the coefficients for a linear model that determine the contribution
of the current and past values for the variables (MVs, FVs, and CVs) to the calculated future
values for the set of controlled variables. They represent the elements in the and the j
matrices in the identification algorithm. See Identification Algorithms on page 117 for more
information. You can view the model coefficients for a linear model on the Coefficients tab
on the Result tab, on the model tab associated with the linear model of interest.
The model coefficients are displayed as sparklines for each CV and MV relationship and for
each CV and FV relationship. You can expand the sparklines to view the exact values of the
model coefficients. See Expanding Sparklines on page 141 for more information. Each
individual sparkline represents the model coefficients that are calculated for the associated
variable relationship. See Example of Model Coefficients on the Result Tab on page 131 for
more information.
You can view two types of model coefficients:
Sum: The model coefficients that are calculated by using the normalized data for the
input and output variables. See Viewing the Sum Model Coefficients on page 130 for
more information.
Impulse: The model coefficients that are calculated by using the raw data for the input
and output variables. See Viewing the Impulse Model Coefficients on page 130 for more
information.
1. On the Results tab, click on the TagID button . The tag names are replaced by tag
descriptions.
If a tag does not have a tag description, you will see "No Description" when you click on
the TagID button.
2. On the Results tab, click on the TagID button again. The tag descriptions are
replaced by tag names.
Note: You are able to toggle the tag names with tag descriptions anywhere you see the
TagID button in the APC software.
Based on the figure above, we can write an equation for each of the CVs, TIC355.MEAS and
TIC412.MEAS:
y1,k p 11u1 12u 2 13 v1 1Y4 1,k
11 is a single-row matrix that contains the model coefficients for the contribution of the
current and past values of the FIC034.SUP_IN tag to the predicted value for the
TIC355.MEAS tag, all in incremental terms
12 is a single-row matrix that contains the model coefficients for the contribution of the
current and past values of the FIC376.SUP_IN tag to the predicted value for the
TIC355.MEAS tag, all in incremental terms
13
is a single-row matrix that contains the model coefficients for the contribution of the
current and past values of the TIC283.MEAS tag to the predicted value for the TIC355.MEAS
tag, all in incremental terms
21 is a single-row matrix that contains the model coefficients for the contribution of the
current and past values of the FIC034.SUP_IN tag to the predicted value for the
TIC412.MEAS tag, all in incremental terms
22 is a single-row matrix that contains the model coefficients for the contribution of the
current and past values of the FIC376.SUP_IN tag to the predicted value for the
TIC412.MEAS tag, all in incremental terms
23
is a single-row matrix that contains the model coefficients for the contribution of the
current and past values of the TIC283.MEAS tag to the predicted value for the TIC412.MEAS
tag, all in incremental terms
1 is a single-row matrix that contains the model coefficients for the contribution of the current
and past values of the TIC355.MEAS tag to the predicted value for the TIC355.MEAS tag, all
in incremental terms
2 is a single-row matrix that contains the model coefficients for the contribution of the
current and past values of the TIC412.MEAS tag to the predicted value for the TIC412.MEAS
tag, all in incremental terms
Shift Right: Use this operation to shift the model coefficients to the right by a specified
number of coefficients. Due to the shift, a number of model coefficients at the beginning of
the model coefficient set do not have corresponding calculated values. The SimSci APC
software sets these model coefficients to zero.
Smooth: Use this operation to smooth the model coefficients by using a smoothing spline
method. This operation can eliminate noise from the calculated values. You can specify
how many coefficients the operation uses to calculate the new values for the model
coefficients. You can also set a threshold value that filters out negligible model
coefficients at the beginning or end of the model coefficient set. See Curve Smoothing for
the Model Coefficients on page 136 for more information.
Flush All: Use this operation to set all the model coefficients to zero. This operation
effectively deletes all the model coefficients.
Multiply Selected: Use this operation to apply a multiplying factor to a single model
coefficient. The new value for a model coefficient is equal to the original value of the
model coefficient multiplied by the multiplying factor. Note that you must click a model
coefficient on the expanded sparkline to apply the multiplying factor to that model
coefficient.
You can use more than one curve operation to change the values of the model coefficients.
However, you can use only one curve operation at a time. When you switch to a different
curve operation, you must save your changes to keep the changes from the previous curve
operation.
To directly set the value of a model coefficient:
1. On the Result tab, on the Coefficients tab, click Impulse, and then expand the sparkline
for the relationship containing the model coefficients you want to modify. See Expanding
Sparklines on page 141 for more information.
2. Expand the Change Coefficients area at the top of the graph.
3. In the Operation list, click Modify.
4. On the graph, click the model coefficient you want to modify. The current value, index,
and associated scenario of the selected model coefficient appear in the Change
Coefficients area.
5. In the Selected Scenario list, click the scenario containing the model coefficient you want
to modify.
6. In the Selected Value box, type a new value for the model coefficient.
7. Click Preview to view the new value of the model coefficient on the graph.
8. Click Save to set the change or click Restore to revert to the previously saved
value for the model coefficient.
To apply a gain factor to a set of model coefficients:
1. On the Result tab, on the Coefficients tab, click Impulse, and then expand the sparkline
for the relationship containing the model coefficients you want to modify. See Expanding
Sparklines on page 141 for more information.
2. Expand the Change Coefficients area at the top of the graph.
3. In the Operation list, click Gain Multiply.
4. In the Gain Factor box, type the factor you want to apply to all the model coefficients for
the relationship.
5. Click Preview to view the new values of the model coefficients on the graph.
6. Click Save to set the changes or click Restore to revert to the previously saved
values for the model coefficients.
To shift the model coefficients to the left or to the right:
1. On the Result tab, on the Coefficients tab, click Impulse, and then expand the sparkline
for the relationship containing the model coefficients you want to modify. See Expanding
Sparklines on page 141 for more information.
2. Expand the Change Coefficients area at the top of the graph.
3. In the Operation list, click Shift Left to shift the model coefficients to the left, or click
Shift Right to shift the model coefficients to the right.
4. In the Shift By box, type the number of coefficient by which you want to shift all the model
coefficients for the relationship.
5. Click Preview to view the new values of the model coefficients on the graph.
6. Click Save to set the changes or click Restore to revert to the previously saved
values for the model coefficients.
To smooth the model coefficients:
1. On the Result tab, on the Coefficients tab, click Impulse, and then expand the sparkline
for the relationship containing the model coefficients you want to modify. See Expanding
Sparklines on page 141 for more information.
2. Expand the Change Coefficients area at the top of the graph.
3. In the Operation list, click Smooth.
4. In the No of Coefficient(s) box, type the number of coefficients you want to use to
calculate each model coefficient in the relationship.
5. In the Threshold Value box, type the threshold you want to use to filter negligible values
of the model coefficients.
NOTE: See Curve Smoothing for the Model Coefficients on page 136 for more
information on the limitations for the values of the No of Coefficient(s) and Threshold
Value parameters.
6. Click Preview to view the new values of the model coefficients on the graph.
7. Click Save to set the changes or click Restore to revert to the previously saved
values for the model coefficients.
To delete all the model coefficients:
1. On the Result tab, on the Coefficients tab, click Impulse, and then expand the sparkline
for the relationship containing the model coefficients you want to modify. See Expanding
Sparklines on page 141 for more information.
4. Click Preview to view the new values of the model coefficients on the graph.
5. Click Save to set the changes or click Restore to revert to the previously saved
values for the model coefficients.
To apply a multiplying factor to a single model coefficient:
1. On the Result tab, on the Coefficients tab, click Impulse, and then expand the sparkline
for the relationship containing the model coefficients you want to modify. See Expanding
Sparklines on page 141 for more information.
2. Expand the Change Coefficients area at the top of the graph.
3. In the Operation list, click Multiply Selected.
4. On the graph, click the model coefficient that you want to change.
5. In the Multiply Factor box, type the factor you want to apply to the model coefficient.
6. Click Preview to view the new value of the model coefficient on the graph.
7. Click Save to set the change or click Restore to revert to the previously saved
value for the model coefficient.
The Threshold Value parameter is a threshold factor that determines the minimum value for
a model coefficient in the variable relationship. The SimSci APC software multiplies the
threshold factor by the largest absolute value across all the model coefficients to give the
threshold. If the absolute value of a model coefficient is not greater than the threshold, the
SimSci APC software considers the model coefficient as negligible to the smoothing
operation and sets its value to zero. The SimSci APC software also removes the model
coefficient from the smoothing calculations. The threshold applies only to negligible model
coefficients at the beginning and the end of the set of model coefficients for the variable
relationship. If a negligible model coefficient falls between significant model coefficients (that
is, model coefficients with an absolute value greater than the threshold), the SimSci APC
software does not remove the model coefficient from the smoothing calculations and does not
set its value to zero.
The Smooth curve operation uses the following equations to calculate the current model
coefficient:
k 0 t t 1 i
k f k i 0 k i 0 2
t 1 i 1 t 1 for t k p t
t
n 1
2
where
n is the number of model coefficients participating in the smoothing calculations, that is, the
value of the No of Coefficient(s) parameter.
is a vector of the model coefficients for the variable relationship.
k is the index in vector of the current model coefficient (that is, the model coefficient that
the SimSci APC software is currently calculating)
k 0
is the original value of the current model coefficient
k f
is the calculated value of the current model coefficient
p is the total number of calculated model coefficients. This number may be less than the
total number of model coefficients in the variable relationship due to the application of the
threshold. That is, this number does not include the model coefficients that the SimSci APC
software removes from the calculations when the curve operation applies the threshold.
Note that the preceding equation applies only to the range of t k p t . For model
coefficients that fall in the range of 1 k t , there is an insufficient number of model
coefficients before the current model coefficient to properly calculate the current model
coefficient. For model coefficients that fall in the range of k p t , there is an insufficient
number of model coefficients after the current model coefficient to properly calculate the
current model coefficient. In these cases, the curve operation substitutes the value of the
current model coefficient for all the missing model coefficients.
Gains
The gains are the steady-state parameters that are calculated when the identification
algorithm determines the steady-state responses for each variable relationship in the linear
model. See Steady-state Responses on page 140 for more information.
There are two types of gains:
Absolute: The absolute gains represent the process gains relating the CVs to the MVs
and FVs. The absolute gains are expressed in engineering units.
Incremental: The incremental gains represent the rate of change over the final iteration.
The incremental units are expressed in engineering units per second.
The absolute gains are equal to the value of the steady-state response at the final iteration.
The incremental gains are calculated as follows:
SteadyStateResponse f SteadyStateResponse f 1
Incrementa lGain
PredictionInterval
where
SteadyStateResponse f
is the value of the steady-state response at the final iteration
SteadyStateResponse f 1
is the value of the steady-state response at the second to last
iteration
The incremental gains should always be zero. If the incremental gains are not zero, you
should assume that the responses are integrating in nature.
Residuals
The residuals for a model scenario are the statistical measurements of the accuracy of the
linear model as a representation of the process dynamics. You can view the residuals by
using the Residuals tab on the Result tab. Each output variable has its own set of the
following residuals for each model scenario:
Absolute Mean Error
Absolute RMS Error
Incremental Mean Error
y y k
1
AbsMeanError
Rt k 0
k
k 0, p,2 p,, Rt p
,
Rt p
y y k
1
AbsRMSError
2
Rt k 0
k
k 0, p,2 p,, Rt p
,
y yk p y k y k p
Rt p
1
IncMeanError
Rt k p
k
k p,2 p,, Rt p
,
y yk p y k y k p
Rt p
1
IncRMSError
2
k p,2 p,, Rt p
k
Rt k p
,
2
a 1 a 1 a 1
a
y y
i i y i yi
RSquared i 0 i 0 i 0
a 1
a 1
2 a 1
a 1
2
a y i y i r yi yi
2 2
i 0 i 0 i 0 i 0
where
y i
is the value of the output variable that is predicted by the linear model
yi
is the value of the output variable that is obtained from the plant
a is the number of data points in the analysis range
Rt
is the total number of prediction intervals in the analysis range
The SimSci APC software calculates the residuals based on the normalized data values (see
Normalization on page 128). The residuals are therefore meaningful in the absolute sense as
a basis for interpreting the accuracy of the linear model. The values for the residuals are
restricted to the range of 0 to 1.
Except for the RSquared value, smaller values for the residuals indicate a more accurate
model. The Absolute Mean Error value and the Absolute RMS Error value measure the
extent to which the data and the linear model drift apart. The Incremental Mean Error value
should always be close to zero. The Incremental RMS Error value measures the extent to
which the shape of the actual data from the plant and the predicted data from the linear
model compare for the process outputs.
A larger value for the RSquared value indicates a more accurate model. A value of 1
indicates that the model scenario for the linear model perfectly predicts the associated output
variable.
Covariance Trace
P
The covariance trace is the sum of the diagonal elements in the covariance matrix, k (see
Recursive Least Squares (RLS) Algorithm on page 124). It serves as a measure of the
convergence of the linear model. You can view the covariance trace by using the Residuals
tab on the Result tab. The Covariance Trace values are listed in the Covariance Trace area
on the left of the Residuals tab.
The covariance trace is calculated only for the model scenarios that have Recursive
selected for the Least Square Type parameter, that is, the model scenarios that use the RLS
algorithm for calculations. When you identify a model scenario, the identification algorithm
converges on a set of model coefficients. As the convergence progresses, the elements
within the covariance matrix should become very small. Thus, the covariance trace should
also become very small.
When the identification for a model scenario completes, the covariance trace should have a
value of less than 1. If the covariance trace remains large (that is, greater than 10) after the
identification completes, you may need to adjust the scenario parameters for the model
scenario. The following situations can lead to a large covariance trace:
Situation Solution
There are too many model coefficients You can do the following to reduce the number of model
in the model. coefficients in the model:
Increase the Prediction Interval paramet er for the
scenario.
Decrease the Model Length parameter for the
scenario
Reduce the dimension of the linear model.
There is not enough data. Obtain more plant data by starting scanning or by
importing more data.
One or more of the input variables for Remove the variables that have inactive data from the
the linear model has inactive data. linear model.
Steady-state Responses
The steady-state responses for a model provide additional insight into the model predictions.
For the steady-state responses, the model is subjected to separate step changes for each of
the model inputs (both MVs and FVs), and the CV responses are calculated by iterating the
model over a sufficient number of prediction intervals to achieve CV stability. The magnitude
of the step change applied to a model input is always one engineering unit. In all cases, the
step change is an increase in the MV or FV value.
You can view the steady-state responses on the Result tab, on the Steady State tab. The
steady-state responses are displayed as sparklines. You can expand the sparkline for a
variable relationship to view the steady-state responses in more detail. See Expanding
Sparklines on page 141 for more information.
Each point on the trend for the steady-state responses represents one iteration. Each
iteration represents one prediction interval. Therefore, the time between iterations is equal to
the amount of time specified for the prediction interval, in seconds. At the end of the
iterations:
The final CV value is used to calculate the absolute gains for each CV and MV pair and
for each CV and FV pair.
The final rate of change in the response is used to calculate the incremental gains.
See Gains on page 138 for more information.
Expanding Sparklines
Results for the model coefficients and steady-state behavior for a model are displayed in the
form of sparklines on the Result tab. You can expand these sparklines to better analyze the
relationship.
Expanded sparklines are displayed in a Relation window, which is titled according to the CV
and the MV or FV relationship for the displayed sparklines. You can cycle through the
different relationships by using the Previous Relation and Next Relation buttons at the top
of the Relation window.
Expanding a sparkline for the On the associated model tab, on the Coefficients tab, right-click
model coefficients the sparkline for the relationship that you want to analyze, and
then click Zoom Re sults.
Expanding a sparkline for the On the associated model tab, on the Steady State tab, right-click
steady-state behavior the sparkline for the relationship that you want to analyze, and
then click Zoom Re sults.
You can use the model data comparison trends to determine how well the linear modeling
scenario models the responses and behavior of the plant process. If the linear modeling
scenario provides a well-fitting model for the tag behavior within the plant process, the
following is true:
The model-predicted data is the same as or nearly the same as the actual tag data.
The incremental error is always zero or nearly zero.
The residual error is always zero or nearly zero.
Composite Model .
2. In the Composite Models list, select the check box for the composite linear model.
3. Select the check boxes for the variable relationships that you want to add to the
composite linear model. Note that you can select the Select All check box to select the
check boxes for all the variable relationships.
4. Right-click one of the selected variable relationships.
142 Version 2016 SP2
Modeling SimSci APC User Guide
5. In the Add relationship to Composite model from Scenario submenu, click the
scenario that you want to add to the composite linear model. The submenu lists the
scenarios by their ID values.
o Order
o Prediction Interval
o Model Length
o Least Square Type
o ScaleMode
o Start Time
o End Time
o Number of Cycles
o Covariance Weight
See Scenario Parameters on page 110 for more information.
To view the composite linear model:
1. On the Composite Linear Model tab, click Steady State to view the steady-state
responses for each variable relationship that you added to the composite linear model.
2. Click Impulse to view the impulse model coefficients for each variable relationship that
you added to the composite linear model.
3. If desired, view a specific variable relationship in a zoomed state by doing one of the
following:
o Right-click on a variable relationship and select Zoom Results.
o Double-click on a variable relationship.
4. Expand the Relationship(s) area to view information regarding each variable
relationship.
Adding a variable relationship On the Re sul t tab, on the associated model tab, on the
to the composite linear model Coefficients tab, right-click the desired variable relationship. In
the Add relationship to Composite model from scenario
submenu, click the scenario that you want to use for the variable
relationship. The submenu lists the scenarios by their ID values.
Replacing a variable On the Re sul t tab, on the associated model tab, on the
relationship to the composite Coefficients tab, right-click the desired variable relationship. In
linear model the Add relationship to Composite model from Scenario
submenu, click the scenario that you want to use for the variable
relationship. The submenu lists the scenarios by their ID values.
Deleting variable relationships On the Composite Linear Model tab, in the Relationship(s)
from the composite linear area, select the Select check box for the variable relationships
model that you want to delete, and then click Delete the Selected
NOTE: When you select a variable relationship in the Relationship(s) area, the SimSci APC
software highlights the sparkline for the variable relationship. The reverse is also true.
Example: Replacing a Variable Relationship in the Composite Linear Model
1. On the Result tab, on the desired linear model tab, on the Coefficients tab, right-click the
desired variable relationship.
2. In the Add relationship to Composite model from Scenario submenu, click the desired
scenario. The submenu lists the scenarios by their ID values.
3. A confirmation message appears. Click Yes.
C HAPTER 6
Controller Design
In This Chapter
Overview.................................................................................................................................... 147
Final Linear Model ...................................................................................................................... 147
Cont roller Assembly .................................................................................................................... 155
Simulation Mode ......................................................................................................................... 194
Cost Function ............................................................................................................................. 195
Profit Function ............................................................................................................................ 201
Overview
When you design a model-predictive controller in the SimSci APC software, you create a
multi-variable dynamic model that accurately predicts the variation in the control variables for
the process plant in question. You can use the results from the linear model identifications to
build this multi-variable dynamic model. The first step is to build a composite linear model.
See the following for more information:
Linear Models on page 101
Scenarios for a Linear Model on page 106
Results of a Linear Model on page 129
Composite Linear Model on page 142
From the composite linear model, you can build a final linear model. You can then use the
final linear model to create the model-predictive controller.
A single steady-state response for each variable relationship within the linear model
A single set of impulse coefficients for each variable relationship within the linear model
A single absolute gain for each variable relationship within the linear model
PredictionIntervali
OrderFinal max Orderi
PredictionIntervalLCM
where
OrderFinal
is the order of dynamics for the final linear model
PredictionIntervali
is the prediction interval for a variable relationship that is added to the
composite linear model
PredictionIntervalLCM
is the prediction interval for the final linear model
Orderi
is the order of dynamics for a variable relationship that is added to the composite
linear model
You can change the order of dynamics for the final linear model by adding or deleting variable
relationships from the composite linear model, and then recreating the final linear model. See
Configuring the Composite Linear Model on page 144 for more information.
If all of the variable relationships have the same prediction interval, the model length for the
final linear model is equal to the minimum model length for all of the variable relationships
that are added to the composite linear model.
If the variable relationships have different prediction intervals, the model length is calculated
as follows:
PredictionIntervali
max R j ,i OrderFinal , if OrderFinal 0
PredictionIntervalLCM
ModelLengthFinal
max Prediction Interval
PredictionInterval
i
R 1, if OrderFinal 0
LCM
j , i
where
ModelLengthFinal
is the model length for the final linear model
PredictionIntervali
is the prediction interval of a variable relationship that is added to the
composite linear model
PredictionIntervalLCM
is the prediction interval for the final linear model
R j ,i
is the number of model coefficients present for the variable relationship that is added to
the composite linear model
OrderFinal
is the order of dynamics for the final linear model
If the prediction interval for the variable relationship in the composite linear model is not equal
to the prediction interval for the final linear model, the values of the impulse model
coefficients in the composite linear model are not available for all of the values of the impulse
model coefficients in the final linear model. In this case, the values of the impulse model
coefficients in the composite linear model are distributed across the values of the impulse
model coefficients in the final linear model for the duration of the prediction interval for the
variable relationship in the composite linear model. That is, the values of the impulse model
coefficients in the composite linear model are divided by the number of prediction intervals for
the final linear model that pass before the value occurs. See Example of Impulse Model
Coefficients for the Final Linear Model on page 151 for more information.
If the value of an impulse model coefficient in the final linear model occurs after the last value
of the impulse model coefficients in the composite linear model occurs, the value of that
impulse model coefficient in the final linear model is set equal to zero. See Example of
Impulse Model Coefficients for the Final Linear Model on page 151 for more information.
You can change the impulse model coefficients for the final linear model. See Modifying the
Model Coefficients on page 133 for more information.
Parameter Value
Order 4
Prediction Interval 2
Model Length 4
Each variable relationship in the final linear model must have 8 impulse model coefficients.
A variable relationship in the composite linear has the following configuration:
Parameter Value
Order 1
Prediction Interval 6
Model Length 1
The variable relationship has two impulse model coefficients in the composite linear model:
Coefficient Value
0 -0.03684
1 -0.02068
There are 3 prediction intervals for the final linear model for every 1 prediction interval for the
variable relationship in the composite linear model. Therefore, for this variable relationship:
Version 2016 SP2 151
SimSci APC User Guide Controller Design
The first three impulse model coefficients in the final linear model are equal to a third of
the first impulse model coefficient in the composite linear model
The second three impulse model coefficients in the final linear model are equal to a third
of the second impulse model coefficient in the composite linear model.
All remaining impulse model coefficients in the final linear model are equal to zero.
Coefficient Value
0 -0.01228
1 -0.01228
2 -0.01228
3 -0.00689
4 -0.00689
5 -0.00689
6 0.0
7 0.0
Parameter Value
Order 4
Prediction Interval 2
The final linear model requires 4 autoregressive coefficients for each CV.
A variable relationship in the composite linear has the following configuration:
Parameter Value
Order 2
Prediction Interval 4
The CV related to this variable relationship has two autoregressive coefficients in the
composite linear model:
Coefficient Value
0 -0.66271
1 -0.05408
There are 2 prediction intervals for the final linear model for every 1 prediction interval for the
variable relationship in the composite linear model. Therefore, for this CV, the values of the
autoregressive coefficients in the final linear model are:
Coefficient Value
0 0
1 -0.66271
2 0
3 -0.05408
Each point on the trend for the steady-state responses represents one iteration. Each
iteration represents one prediction interval. Therefore, the time between iterations is equal to
the amount of time specified for the prediction interval, in seconds. At the end of the
iterations:
The final CV value is used to calculate the absolute gains for each CV and MV pair and
for each CV and FV pair.
The final rate of change in the response is used to calculate the incremental gains.
See Gains for the Final Linear Model on page 154 for more information.
The steady-state responses are calculated based on the impulse model coefficients for the
final linear model. If you modify the impulse model coefficients for the final linear model, the
final linear model automatically recalculates the steady-state responses.
Controller Assembly
In the SimSci APC software, there are two types of controllers:
MVC controller
Optimizer
You can create multiple MVC controllers and Optimizers in a single APC Project. Each MVC
controller is associated with a single Optimizer. Together, an MVC controller and Optimizer
are known as a controller pair. The name of the controller pair is the same as the name of the
MVC controller.
A controller pair can also contain subcontrollers. The subcontrollers allow you to organize the
MVs, CVs, and FVs in your controllers so that you can choose which MVs, CVs, and FVs in
the controller are online.
Controller Name
The Controller Name parameter is the name of the MVC controller. It is a string type of
parameter that can contain any alphanumeric character as well as underscores. When you
first create the MVC controller from the final linear model, the SimSci APC software sets the
value of this parameter to MVC1. You can change this value as desired.
Control Interval
The Control Interval parameter is the interval at which the MVC controller calculates the
appropriate MV increments that the SimSci APC software applies to the DCS. When you first
create the MVC controller, the SimSci APC software sets the value of this parameter to the
prediction interval for the final linear model.
The value of this parameter must be a multiple of the scan interval.
Coupling
The Coupling parameter defines the amount of coupling between the MVC controller and
ithe Optimizer. It can have one of three values:
Tightly Coupled: The MVC controller takes the Optimizer values into account and cannot
exceed the bounds set by the Optimizer.
Loosely Coupled: The MVC controller takes the Optimizer values into account, but can
exceed the bounds set by the Optimizer.
None: The MVC controller does not take the Optimizer values into account.
The default value for this parameter is Tightly Coupled.
Blocking Width
The Blocking Width parameter is the number of control intervals that the SimSci APC
software groups together to reduce the computational demand of the MVC controller when it
minimizes the quadratic cost function.
Within a group, or "block," of control intervals, the SimSci APC software forces the MVs in the
MVC controller to change by an equal amount at each control interval in the group; the MVC
controller calculates the MV increments for each group of control intervals instead of for each
individual control interval. As a result, the time required to design the MVC controller is
significantly reduced.
Typically, increasing the Blocking Width parameter reduces the aggression of controller
performance and may increase the time the MVC controller takes to drive the MVs and CVs
to their target. If the value of the Blocking Width parameter changes significantly, you may
need to adjust the controller tuning by changing the design weights. See Parameters for the
Variables in the MVC Controller for more information.
The default value for this parameter is 10.
Blocking Horizon
The Blocking Horizon parameter is an initial portion of the Control Horizon parameter
within which the cost function is minimized at intervals equal to one control interval. After the
specified number of control intervals pass, the cost function is minimized at intervals equal to
the number of control intervals specified in the Blocking Width parameter.
The default value for this parameter is 5.
Control Horizon
The Control Horizon parameter is the number of control intervals in which the MVC
controller minimizes the cost function. See Cost Function on page 195 for more information.
This value must be sufficiently large to obtain convergence of the design procedure. It should
equal or exceed the settling time of the system under consideration.
When you first create the MVC controller, the SimSci APC software sets the value of this
parameter to the model length for the final linear model.
Predictions
The Predictions parameter determines how the recursive least squares (RLS) algorithm
calculates the future predictions of the MVs when the SimSci APC software identifies the
linear models (that is, the modelsets) in the MVC controller. It can have one of two values:
Unbiased Predictions: The recursive least squares (RLS) algorithm uses the calculated
model predictions rather than the actual process data to calculate the future prediction of
the MVs.
Biased Predictions: The recursive least squares (RLS) algorithm uses the actual
process data rather than the calculated model predictions to calculate the future
prediction of the MVs.
See Unbiased Least Squares on page 126 for more information.
The default value for this parameter is Unbiased Predictions.
Control Modelset
The Control Modelset parameter is the modelset that contains the linear model coefficients
and the model-predictive gainsets that the MVC controller currently uses as the basis for
control. When the MVC controller is online, the SimSci APC software recalculates the
associated model coefficients and gainsets by using an iterative procedure that involves
minimizing the quadratic cost function over the number of control intervals specified by the
Control Horizon parameter. See Cost Function on page 195 for more information.
The SimSci APC software also recalculates the model coefficients and gainsets when the
value of the Scales parameter for any CV or MV changes or when the value of the Control
Modelset parameter changes.
By default, the SimSci APC software sets this parameter to Model Set 1, which is the
modelset that the SimSci APC software automatically generates when you create the MVC
controller from the final linear model. You can change this parameter to any modelset in the
MVC controller.
You must manually activate the MVC controller to write values from the MVC controller to the
DCS.
By default, this parameter is blank.
Watchdog To DCS
The Watchdog To DCS parameter is the name of the tag that contains the watchdog signal
for communication to the DCS from the SimSci APC software. A watchdog is a tag that can
be used to monitor the communications between the SimSci APC software and the DCS. It
generates a continuously changing value, typically a saw-toothed pattern that ranges from
zero to 100. The value of the watchdog is continuously tested to ensure that it is changing.
If the value of the watchdog that originates from the SimSci APC software does not change,
the DCS assumes that there is a failure in the communications between the SimSci APC
software and the DCS. The DCS then takes action accordingly. See the documentation for
the DCS for more information.
By default, this parameter is blank.
Fail Time
The Fail Time parameter is the time, in seconds, in which a watchdog value can remain static
before the MVC controller fails to the Waiting state.
When you first create the MVC controller, the SimSci APC software sets the value of this
parameter to 2.5 times the prediction interval for the final linear model.
Recover Time
The Recover Time parameter is the time, in seconds, in which a watchdog tag value must
continue to change to indicate that the MVC controller has recovered from a failure due to the
loss of signal communication between the DCS and the SimSci APC software. After the MVC
controller recovers, it automatically initializes to the Ready state. You must manually activate
the MVC controller to write values from the MVC controller to the DCS.
When you first create the MVC controller, the SimSci APC software sets the value of this
parameter to the prediction interval for the final linear model.
MVC/LP Modes
The MVC/LP Modes parameter determines the mode in which the MVC controller and the
Optimizer operate when integrated with DCSs that utilize the Foxboro I/A Series software.
By default, the SimSci APC software sets this parameter to Operator Choice, indicating that
the operator can activate the MVC controller and the Optimizer independently.
You can edit this parameter only when you activate the APC Bridge software. Please see the
SimSci APC Bridge User Guide for more information.
Simulation Modelset
The Simulation Modelset parameter is the modelset that contains the linear model
coefficients and the model-predictive gainsets that the MVC controller uses as the basis for
simulation.
Initial Value
The Initial Value parameter displays the initial value that the associated variable takes during
a simulation run, and is calculated based on available process data. The initial value should
be in engineering units. See Engineering Units and Normalized Units on page 44 for more
information.
This parameter applies to CVs, MVs, and FVs.
You can edit this parameter only when you activate Simulation mode. See Simulation Mode
on page 194 for more information.
Vital
The Vital parameter is a check box that determines whether or not a variable is vital to the
MVC controller. If you select this check box, the MVC controller considers the associated
variable as vital to the operations of the MVC controller. If you clear this check box, the MVC
controller considers the associated variable as nonessential to the operations of the MVC
controller.
If the MVC controller considers a variable as vital to the operations of the MVC controller, the
MVC controller fails to the Waiting state when the variable is turned off or has a bad quality.
You cannot activate the MVC controller until the vital variable is turned on and has a good
quality.
If the MVC controller considers a variable as nonessential to the operations of the MVC
controller, the MVC controller continues its normal operations and does not use the variable
in any calculations or procedures when the variable is turned off or has a bad quality.
Nonessential CVs are an exception to this rules. If a nonessential CV is turned off or has a
bad quality, the MVC controller uses prediction values for the CV instead of the actual values
for the CV for the amount of time specified by the Infer Time parameter. After the amount of
time specified by the Infer Time parameter elapses, the MVC controller does not use the CV
in any calculations or procedures. See Infer Time on page 172 for more information.
If the MVC controller has a subcontroller and a vital CV or MV is turned off on the
subcontroller, the MVC controller will remain active. See Managing Subcontrollers on page
173 for more information.
You can specify this parameter for CVs, MVs, or FVs.
Switch
The Switch parameter is a list that determines whether a variable is on or off with regards to
MVC controller operations. You can set this parameter to one of the following values:
On: The MVC controller uses the associated variable in all calculation and procedures.
Off: The MVC controller does not use the variable in any calculations or procedures.
Infer: The MVC controller uses the inferred value of the variable in all calculations and
procedures. You can use this option for CVs only. If you want to use this value for a CV,
the CV cannot be vital to the operations of the MVC controller. Typically, the MVC
controller uses the inferred value of a CV when a communication error occurs with the CV
or the CV has a bad quality. The MVC controller can infer the value of a CV only for the
amount of time specified by the Infer Time parameter. See Vital on page 184 and Infer
Time on page 189 for more information.
FFWD: The MVC controller uses the values of the readback signal for the variable in all
calculations and procedures instead of the value of the variable. It also treats the variable
as a feedforward variable (FV).You can use this option for MVs only. This option is also
known as feedforward mode. If you want to use feedforward mode for an MV, the MV
cannot be vital to the operations of the MVC controller. Typically, the MVC controller uses
feedforward mode for an MV when a communication error occurs with the MV or the MV
has a bad quality. See Vital on page 162 for more information.
You can specify this parameter for CVs, MVs, and FVs.
Constraint Mode
The Constraint Mode parameter determines which method is used for constraint calculations
for each variable. You can set this parameter to one of five values:
Setpoint: The MVC controller controls the value of the variable to be as close as possible
to its associated setpoint.
Controlled Constraints: The MVC controller controls the value of the variable to be
within its high and low constraints.
Setpoint+QP: The MVC controller controls the value of the variable to be as close as
possible to its associated setpoint. If the MVC controller cannot control the value of the
variable tightly to the setpoint due to either an insufficient number of MVs or conflicts with
other CVs, the MVC controller controls the value of the variable to be within its high and
low constraints by using strong quadratic programming (QP) action. We recommend that
you use this configuration only when the CV is very critical to the process.
Controlled+QP: The MVC controller controls the value of the variable to be within its high
and low constraints, if possible. If the variable violates either its high or low constraint, the
MVC controller adjusts the MVs by using strong QP action to bring the value of the
variable back within its constraints. We recommend that you use this configuration only
when the CV is very critical to the process.
QP: The MVC controller uses strong QP action to control the value of the variable to be
within its high and low constraints.
Almost all MVC controllers require only the first two of the preceding configurations, because
the MV action under the QP constraints is very aggressive and typically provides sufficient
control.
The default value for this parameter is Controlled Constraints.
You can specify this parameter for CVs only.
Track Setpoint
The Track Setpoint option determines whether a controlled variable tracks the setpoint to the
actual process value. If you have a CV with Constraint Mode set to Setpoint or Setpoint +
QP, you can enable setpoint tracking.
If you enable setpoint tracking, the controller automatically moves the setpoint value to equal
the parameter's process value when the controller updates to Ready state. SimSci APC
displays the updated setpoint value on the Controller Overview tab. This parameter
provides a bumpless transfer when you activate the controller if the process value is initially
different than the setpoint value.
By default, the Track Setpoint parameter is not enabled. You can specify this parameter for
CVs only.
Increment
The Increment parameter is the maximum amount by which an MV value can change from
one control action to the next. The value of the Increment parameter represents a constraint
on the rate of change for an MV. The MVC controller respects this constraint when it
calculates the MV increments that minimize the quadratic cost function.
The MVC controller reports the value of the Increment parameter in engineering units.
You can specify this parameter for MVs only.
Low Constraint
The Low Constraint parameter is the lower constraint that you place on the value of a
variable. That is, the value of the variable should not be less than the value of the Low
Constraint parameter.
The MVC controller can move the value of the variable to be less than the lower constraint
during calculations. However, the final solution of the MVC controller cannot contain a
variable with a value that is less than its associated lower constraint.
The MVC controller uses the lower constraint as a soft bound or as a hard bound based on
the associated priority of the variable. For CVs,the value of the Priority parameter
determines the priority (see Priority on page 167). For MVs, the value of the MV Priority
parameter determines the priority (see MV Priority on page 167). If the priority of the variable
is low, the MVC controller uses the lower constraint as a hard bound and does not relax the
bound during calculations. If the priority of the variable is high, the MVC controller uses the
lower constraint as a soft bound and relaxes the bound during calculations, if required.
The default value for this parameter is -1,000.00. You can set the value of this parameter to
any real value that is:
Greater than or equal to the value of the Low Limit parameter.
Less than the value of the High Constraint parameter.
You can specify this parameter for CVs and MVs only.
High Constraint
The High Constraint parameter is the upper constraint that you place on the value of a
variable. That is, the value of the variable should not be greater than the value of the High
Constraint parameter.
The MVC controller can move the value of the variable to be greater than the upper constraint
during calculations. However, the final solution of the MVC controller cannot contain a
variable with a value that is greater than its associated upper constraint.
The MVC controller uses the upper constraint as a soft bound or as a hard bound based on
the associated priority of the variable. For CVs, the value of the Priority parameter
determines the priority (see Priority on page 167). For MVs, the value of the MV Priority
parameter determines the priority (see MV Priority on page 167). If the priority of the variable
is low, the MVC controller uses the upper constraint as a hard bound and does not relax the
bound during calculations. If the priority of the variable is high, the MVC controller uses the
upper constraint as a soft bound and relaxes the bound during calculations, if required.
The default value for this parameter is 1,000.00. You can set the value of this parameter to
any real value that is:
Greater than or equal to the Low Constraint parameter
Less than or equal to the value of the High Limit parameter
You can specify this parameter for CVs and MVs only.
Low Limit
The Low Limit parameter is the lower limit that you place on the value of a variable. For CVs,
the setpoint value of the variable cannot be less than the lower limit. For MVs, the actuation
value of the variable that the MVC controller calculates cannot be less than the lower limit.
The default value for this parameter is -1,000.00. You can set the value of this parameter to
any real value that is:
Greater than -1,000,000,000.00
Less than the value of the High Limit parameter
You can specify this parameter for CVs and MVs only.
High Limit
The High Limit parameter is the upper limit that you place on the value of a variable. For
CVs, the setpoint value of the variable cannot be greater than the lower limit. For MVs, the
actuation value of the variable that the MVC controller calculates cannot be greater than the
upper limit.
The default value for this parameter is 1,000.00. You can set the value of this parameter to
any real value that is:
Greater than 0.00 or the value of the Low Limit parameter, whichever value is greater
Less than 10,000,000,000.00.
You can specify this parameter for CVs and MVs only.
Low Validity
The Low Validity parameter is the least value of a variable in the validation range. If the
value of the variable is less than the value of the Low Validity parameter, the MVC controller
sets the quality of the variable to bad.
The default value for this parameter is -1,000.00. You can set the value of this parameter to
any real value that is:
Greater than -1,000,000,000.00
Less than the value of the High Validity parameter
You can specify this parameter for CVs, MVs, and FVs.
High Validity
The High Validity parameter is the greatest value of a variable in the validation range. If the
value of the variable is greater than the value of the High Validity parameter, the MVC
controller sets the quality of the variable to bad.
The default value for this parameter is 1,000.00. You can set the value of this parameter to
any real value that is:
Greater than 0.00 or the value of the Low Validity parameter, whichever is greater
Less than 10,000,000,000.00
You can specify this parameter for CVs, MVs, and FVs.
Scales
The Scales parameter is a normalization factor that the MVC controller uses to normalize the
weighting matrices in the cost function. See Cost Function on page 195 for more information.
The default value for this parameter is 1.00.
You can specify this parameter for CVs, MVs, and FVs.
Error Factor
The Error Factor parameter is a factor that modifies the CV setpoints that the Optimizer
calculates. The MVC controller uses the modified CV setpoints to calculate the various error
terms in the cost function. See Cost Function on page 195 for more information.
The MVC controller calculates the modified CV setpoints by using the following equation:
yi , ss yi ,k yi ,k Si ErrorFacto r
where
y i , ss
is the modified setpoint of the ith CV.
yi , k
is the value of the ith CV at instant k .
Si
is the actual setpoint of the ith CV, which the Opitmizer calculates.
When you modify the CV setpoints, you modify the sensitivity of the MVC controller by
altering the amount of setpoint error that the MVC calculates for each CV. If you set the value
of this parameter to 1.00, the modified CV setpoint is equal to the actual CV setpoint and the
sensitivity of the MVC controller does not change. If you set the value of this parameter to a
value less than 1.00, the modified CV setpoint is less than the actual CV setpoint and the
sensitivity of the MVC controller decreases. That is, the MVC controller responds less
vigorously to actual setpoint errors.
The default value for this parameter is 1.00. You can set the value of this parameter to any
real value that is:
Greater than or equal to zero
Less than or equal to 1.00
Deadzone
The Deadzone parameter is a bound that you can use to desensitize the MVC controller to
certain levels of error in the CVs. If the absolute value of the error between the CV and its
setpoint is equal to or less than the value of the Deadzone parameter, the error is set to zero.
The default value for this parameter is 0.00.
You can specify this parameter for CVs only.
Cushion
The Cushion parameter is a modification to the effective constraints on a variable. That is,
the MVC controller effectively raises the low constraint and lowers the high constraint for the
associated variable by the amount you specify for the Cushion parameter.
You can use the Cushion parameter to set a safety margin for the constraints. The safety
margin ensures that the value of a CV never rises above the high constraint or falls below the
low constraint due to uncontrollable noise in the process.
You can specify this parameter for CVs only.
Priority
The Priority parameter is a ranking of the relative importance of a CV with regards to
maintaining the degree of freedom in the MVC controller. The control system must have a
sufficient degree of freedom to solve the control problem without using more MVs than
necessary and without attempting to control more CVs than are possible.
You can set the Priority parameter to any integer equal to or greater than 1. A value of 1
represents the highest priority. You can assign the same priority to more than one CV.
If the number of CVs is greater than the number of MVs, the MVC controller controls only an
m number of CVs, where m is the number of MVs. The MVC controller excludes the CVs
with the lowest priority first.
The default value for this parameter is 1.
You can specify this parameter for CVs only.
MV Priority
The MV Priority parameter is a ranking of the relative importance of an MV with regards to
maintaining the degree of freedom in the MVC controller. The control system must have a
sufficient degree of freedom to solve the control problem without using more MVs than
necessary and without attempting to control more CVs than are possible.
You can set the MV Priority parameter to any integer equal to or greater than 1. A value of 1
represents the highest priority. You can assign the same priority to more than one MV.
If the number of MVs is greater than the number of CVs, the MVC controller uses only a c
number of MVs to control the CVs, where c is the number of CVs. The MVC controller
excludes the MVs with the lowest priority first.
The default value for this parameter is 1.
You can specify this parameter for MVs only.
Low Importance
The Low Importance parameter is a measure of the relative freedom of the MVC controller
to relax the lower constraint on the associated variable. For situations in which it is impossible
to obtain a solution that respects all of the constraints for the variables in the MVC controller,
the MVC controller must relax some of the soft constraints to achieve feasibility and obtain a
solution. You can use the Low Importance parameter to specify the lower constraints that
the MVC controller can relax first.
If you specify a large value (for example, 10,000.00) for this parameter, the MVC controller
relaxes the lower constraint on the associated variable by a very small amount, if at all. If you
specify a small value (for example, 1.00) for this parameter, the MVC controller relaxes the
lower constraint on the associated variable as needed to achieve feasibility.
The default value for this parameter is 1,000.00. You can set the value of this parameter to
any real value that is:
Greater than or equal to zero
Less than 10,000,000,000.00
You can specify this parameter for CVs only.
High Importance
The High Importance parameter is a measure of the relative freedom of the MVC controller
to relax the upper constraint on the associated variable. For situations in which it is
impossible to obtain a solution that respects all of the constraints for the variables in the MVC
controller, the MVC controller must relax some of the soft constraints to achieve feasibility
and obtain a solution. You can use the High Importance parameter to specify the upper
constraints that the MVC controller can relax first.
If you specify a large value (for example, 10,000.00) for this parameter, the MVC controller
relaxes the upper constraint on the associated variable by a very small amount, if at all. If you
specify a small value (for example, 1.00) for this parameter, the MVC controller relaxes the
upper constraint on the associated variable as needed to achieve feasibility.
The default value for this parameter is 1,000.00. You can set the value of this parameter to
any real value that is:
Greater than or equal to zero
Less than 10,000,000,000.00
You can specify this parameter for CVs only.
Lr Horizon
The Lr Horizon parameter is the number of control intervals for which the MVC controller
predicts the future trajectory of a variable. The MVC controller uses the predictions to
anticipate any future violations of the constraints for the variable. You should set the value of
the Lr Horizon parameter to a value that is equal to or greater than the settling time of the
associated variable.
The default value for this parameter equals the model length for the final linear model that
you use to create the MVC controller.
You can specify this parameter for CVs only.
Readback
The Readback parameter is a check box that determines whether the MVC controller
archives data for the previous increments of the associated variable or for the previous
increments of the readback tag for the associated variable. The MVC controller maintains an
internal archive of previous control moves that it uses to correctly predict and compute the
appropriate control moves.
If you select this check box, the MVC controller uses the previous increments of the readback
tag for the associated MV to compute the appropriate control moves. The MVC controller
uses the tag specified by the DCS Readback parameter as the readback tag for the
associated MV. See DCS Readback on page 169 for more information.
If you clear this check box, the MVC controller uses the previous increments of the
associated MV to compute the appropriate control moves.
When you archive data for the previous increments of the readback tag, the MVC controller
computes the control moves based on actual data from the process instead of its own
predictions. Therefore, we recommend that you select this check box whenever possible.
You can specify this parameter for MVs only.
DCS Readback
The DCS Readback parameter is the readback tag that contains the process data for the
variable that the MVC controller manipulates by changing the associated MV. That is, the
MVC controller makes changes to the MV to control the readback tag. For example, if the
MVC controller uses the associated MV to change the setpoint of a reflux flow PID controller,
the readback tag for the associated MV typically is the input tag that monitors the actual reflux
flowrate in the process plant.
You can use the readback tag to:
Compute the control moves based on actual data from the process. See Readback on
page 169 for more information.
Implement anti-windup protection. See DCS Status on page 169 for more information.
Validate the value of the associated MV with regards to its upper and lower validity limits.
See Low Validity on page 165 and High Validity on page 166 for more information.
You can specify this parameter for MVs only.
DCS Status
The DCS Status parameter is an input tag that monitors the wind-up status of the underlying
regulatory control loop in the plant process.
The MVs in an APC Project are usually output tags that provide suggested actuation values
to a physical controller in the plant process. Typically, the actuation values take the form of
setpoints that are inputs to the physical controllers. The physical controllers then calculate
actuation values based on their internal regulatory loops. A regulatory loop is "wound up"
when it reaches the maximum or minimum actuation value and can no longer make
adjustments to the process value of a variable by means of the actuator. For example, a
valve that is fully open can no longer increase flow to meet the requested setpoint:
The MVC controller uses the previous increments of the readback tag for the associated
MV to compute the appropriate control moves. That is, it selects the Readback check
box. See Readback on page 169 for more information.
If the MVC controller detects a low PID wind-up:
The MVC controller temporarily overrides the specified value of the Low Constraint
parameter for the associated MV with the current value of the readback tag. See Low
Constraint on page 164 and DCS Readback on page 169 for more information.
The MVC controller uses the previous increments of the readback tag for the associated
MV to compute the appropriate control moves. That is, it selects the Readback check
box. See Readback on page 169 for more information.
When the wind-up condition clears, the MCV controller incrementally returns the constraint
limit for the associated MV to its previous value over 10 successive scan intervals.
You can specify this parameter for MVs only.
Linearizing Function
The Linearizing Function parameter is a function that the MVC controller applies to the
values of the associated variable to provide a linear relationship for the variable. The MVC
controller transforms the process data for the associated variable based on the function that
you select, and then uses the newly calculated values for all calculations and procedures.
You can select one of six functions for this parameter:
NONE: The MVC controller uses the process values of the associated variables for all
calculations and procedures.
LN(): The MVC controller uses the natural log of the process values of the associated
variable for all calculations and procedures.
EXP(): The MVC controller uses the natural exponential function for the value of the
associated variable for all calculations and procedures.
SQUARE: The MVC controller uses the square of the value of the associated variable for
all calculations and procedures.
SQUARE ROOT(): The MVC controller uses the square root of the value of the
associated variable for all calculations and procedures.
XY Lookup(): The MVC controller uses a piecewise nonlinear transform function for all
calculations and procedures. You should define a lookup table for this function by using
the Define button. See Define on page 171 for more information.
You can specify this parameter for CVs, MVs, and FVs.
Define
The Define parameter contains a button that opens the Piecewise Nonlinear Transform
dialog box. You can use the Piecewise Nonlinear Transform dialog box to define a lookup
table for piecewise nonlinear transforms. See Piecewise Nonlinear Transforms on page 193
for more information.
You cannot click the Define button unless you set the Linearizing Function parameter
to XY Lookup().
Rate of Change
The Rate of Change parameter is the maximum amount by which the value of a variable can
change from one data point to the next. The value of the Rate of Change parameter
represents a validation constraint on the rate of change for a CV or an FV. If the value of the
CV or FV changes by an amount that is greater than the value of the Rate of Change
parameter, the MVC controller sets the quality of the CV or FV to bad.
If you set the value of the Rate of Change parameter to zero, the MVC controller does not
consider this validation constraint for the associated CV or FV.
The default value for this parameter is 0.00.
You can specify this parameter for CVs and FVs only.
Frozen Time
The Frozen Time parameter is the maximum amount of time in which the value of a variable
can remain unchanged. The value of the Frozen Time parameter represents a validation
constraint on the dynamic quality of a CV or an FV. If the value of the CV or FV is static for a
duration that is greater than the value of the Frozen Time parameter, the MVC controller sets
the quality of the CV or FV to bad.
If you set the value of the Frozen Time parameter to zero, the MVC controller does not
consider this validation constraint for the associated CV or FV.
The default value for this parameter is 0.00.
You can specify this parameter for CVs and FVs only.
Infer Time
The Infer Time parameter is the amount of time in which the MVC controller infers values for
a variable. The Infer Time parameter applies to nonessential variables only, that is, variables
that are not specified as vital to the operations of the MVC controller. See Vital on page 162
for more information.
If a nonessential CV is turned off or has a bad quality, the MVC controller uses prediction
values for the CV instead of the actual values for the CV for the amount of time specified by
the Infer Time parameter. After the amount of time specified by the Infer Time parameter
elapses, the MVC controller does not use the CV in any calculations or procedures.
If you set the value of the Infer Time parameter to zero, the MVC controller does not infer
values for the CV and immediately stops using the CV in any calculations or procedures if the
CV is turned off or has a bad quality.
The default value for this parameter is 0.00.
You can specify this parameter for CVs only.
If the MVC controller excludes the associated variable from any calculations or procedures
due to the bad quality of the variable, the variable must have a good quality for the amount of
time specified by the Data Valid Time parameter to once again include the associated
variable in all calculations and procedures in the MVC controller.
You can specify this parameter for CVs and FVs only.
Display
The Display parameter determines which variables are included in the standard I/A Series
displays created by the APC Bridge software. This parameter is specific to integration with
DCSs that utilize the Foxboro I/A Series software.
You can set this parameter to one of two values:
Yes: The variable is included in the I/A Series display.
No: The variable is not included in the I/A Series display.
The default value for this parameter is Yes.
This parameter applies to CVs, MVs, and FVs.
You can edit this parameter only when you activate the APC Bridge software. Please see the
SimSci APC Bridge User Guide for more information.
Page Number
The Page Number parameter determines the location of a variable in the standard I/A Series
displays created by the APC Bridge software. This parameter is specific to integration with
DCSs that utilize the Foxboro I/A Series software.
The default value for this parameter is 0.
This parameter applies to CVs, MVs, and FVs.
You can edit this parameter only when you activate the APC Bridge software. Please see the
SimSci APC Bridge User Guide for more information.
Subcontrollers
A subcontroller is a collection of CVs and MVs within an MVC controller. The subcontroller
allows you to selectively put online or take offline a set of variables in a controller.
The subcontroller contains the same parameters for the CVs and MVs as does the main MVC
controller. Any changes you make to these parameters in the subcontroller are automatically
carried over to the main MVC controller.
Managing Subcontrollers
You can create a subcontroller within an MVC controller. After you create the subcontroller,
you can add CVs and MVs to it, delete it, or rename it.
You can view an overview of the subcontrollers within an MVC controller on the Sub
Controller Summary tab. Note that you can open the Sub Controller Summary tab by
clicking Sub Controller Summary on the APC Explorer, under Promote.
Creating a subcontroller On the Controller Details tab, on the tab for the controller pair,
right-click the Sub Controller tab, and then click Add Sub
Controller.
Renaming a subcontroller On the Controller Details tab, on the tab for the controller pair,
on the Sub Controller tab, double-click the title of the associated
subcontroller tab. Type a new name for the subcontroller, and
then press Enter.
Adding controller variables On the Controller Details tab, on the tab for the controller pair,
(CVs) to a subcontroller on the MVC tab, on the Control variables tab, in the
SubController list for each CV you want to add to a
subcontroller, expand the SubController list, and then select the
check boxes for the subcont roller to which you want to add the
CV. Note that you can add a single CV to multiple subcontrollers.
Adding manipulat ed variables On the Controller Details tab, on the tab for the controller pair,
(MVs) to a subcontroller on the the MV C tab, on the Manipulated variables tab, in the
SubController list for each MV you want to add to a
subcontroller, select the subcontroller to which you want to add
the MV. Note that you can add a single MV to only one
subcontroller.
Turning off a subcontroller On the Controller Details tab, on the tab for the controller pair,
on the the Sub Controller tab, on the tab for the associated
subcontroller, expand the Configuration area. In the Switch list,
select Off.
Turning on a subcontroller On the Controller Details tab, on the tab for the controller pair,
on the the Sub Controller tab, on the tab for the associated
subcontroller, expand the Configuration area. In the Switch list,
select On.
Deleting a subcontroller On the Controller Details tab, on the tab for the controller pair,
on the the Sub Controller tab, right-click the title of the
associated subcont roller tab, and then click Delete
SubController.
Viewing the steady-state On the Sub Controller Summary tab, on the tab for the
responses for variable associated MVC controller, in the Sub-Controller Gridview,
relationships in a subcontroller select the check box for a subc ontroller to highlight the s teady-
state respons es for the variable relationships in that
subcontroller.
Configuring Subcontrollers
You can configure a subcontroller by using the Controller Details tab. The subcontroller
contains the following configuration parameters:
Vital on page 175
Switch (Subctrlr) on page 175
Vital
The Vital parameter is a check box that determines whether or not the subcontroller is vital to
the MVC controller. If you select this check box, the MVC controller considers the associated
subcontroller as vital to the operations of the MVC controller. If you clear this check box, the
MVC controller considers the associated subcontroller as nonessential to the operations of
the MVC controller.
If the MVC controller considers a subcontroller as vital to the operations of the MVC
controller, the MVC controller fails to the Waiting state when the subcontroller is turned off.
You cannot activate the MVC controller until the vital subcontroller is turned on.
If the MVC controller considers a subcontroller as nonessential to the operations of the MVC
controller, the MVC controller continues its normal operations and does not use the variables
in the subcontroller in any calculations or procedures when the subcontroller is turned off.
When you turn off a subcontroller, the SimSci APC software automatically turns off the CVs
and MVs in the subcontroller.
Note that you can set the value of this parameter on the Controller Details tab, the
Controller Overview tab, or the Sub Controller Summary tab.
Switch (Subctrlr)
The Switch parameter is a list that determines whether a subcontroller is on or off with
regards to MVC controller operations. You can set this parameter to one of the following
values:
On: The MVC controller uses the associated subcontroller and its associated CVs and
MVs in all calculation and procedures.
Off: The MVC controller does not use the subcontroller or its associated CVs and MVs in
any calculations or procedures.
Note that you can set the value of this parameter on the Controller Details tab, the
Controller Overview tab, or the Sub Controller Summary tab.
Modelsets
A modelset is the set of model coefficients that the MVC controller uses to predict future
values for the CVs within the MVC controller. See Cost Function on page 195 for more
information on how the MVC controller uses the predicted values for the CVs.
Modelsets are specific to a controller pair, that is, the MVC controller and the Optimizer. The
controller pair can contain multiple modelsets. The controller pair can use only one modelset
at a time. You can specify which modelset the controller pair uses by using the Control
Modelset configuration parameter for the MVC controller. See Control Modelset on page 158
for more information.
Managing Modelsets
The SimSci APC software automatically creates a modelset named Model Set 1 when you
create the MVC controller from the final linear model. You can rename, copy, export, or
delete this modelset as desired. Note that you cannot delete the modelset that the MVC
controller uses for calculations.
When you export a modelset, the SimSci APC software saves the exported modelset as a
.model file, which you can then import into another APC Project. With the .model extension
you can also import it as a modelset or as a linear model. The exported modelset contains
data for all the model coefficients for all variable relationships present in the modelset. You
cannot export data for a single variable relationship.
You can create a blank modelset into which you can import an exported modelset from
another APC Project. The blank modelset must have the same tag structure as the exported
modelset to successfully import the exported modelset.
Typically, the quickest way to create a new modelset is to create a copy of an existing
modelset (for example, Model Set 1), and then modify the model coefficients in the modelset
to suite your needs. You can modify the model coefficients in the modelset by using the same
curve operations and procedures that you use with the model coefficients for a linear model.
See Modifying the Model Coefficients on page 133 for more information.
When you import a modelset, you can choose to import the entire modelset or a selection of
the variable relationships within the modelset. The SimSci APC software always overwrites
the current model coefficients with the model coefficients that you import, even if you modified
the current coefficients by using curve operations.
If you import a modelset that has a model length that is greater than the model length of the
associated MVC controller, the SimSci APC software increases the model length of the
associated MVC controller to equal that of the imported modelset. That is, it increases the
model length of all other modelsets within the MVC controller to match the model length of
the imported modelset. To account for the increase in model length in the other modelsets, it
adds a number of model coefficients to the end of the model coefficient set for each variable
relationship and sets the value of these added model coefficients to zero.
If you import a modelset that has a model length that is less than the model length of the
associated MVC controller, the SimSci APC software sets the value of any missing model
coefficients to zero.
You cannot import a modelset that has a control interval that does not equal the control
interval of the associated MVC controller.
You can import a modelset of a lower order of dynamics than the controller. You can also
update a controller with a modelset of a lower order of dynamics.
You can copy and paste individual model coefficient curves in a modelset.
Creating a modelset After you complete the configuration for the final linear model, on
Creating a blank modelset On the Controller Details tab, right-click the ModelSets tab, and
then click Add Model Set.
Renaming a modelset On the Controller Details tab, on the ModelSets tab, double-
click the title of the associated modelset tab. Type a new name
for the modelset, and then press Enter.
Exporting a modelset On the Controller Details tab, on the ModelSets tab, right-click
the associated modelset tab, and then click Export Model Set.
The Export Model Set data dialog box appears. Browse to the
folder in which you want to save the .model file. In the File name
box, type the name of the .model file, and then click Save.
Importing an entire exported On the Controller Details tab, on the ModelSets tab, right-click
modelset the associated modelset tab, and then click Import Model Set.
The Import Model Set data dialog box appears. Browse to and
select the .model file you want to import, and then click Open.
The existing modelset must have the same tag structure as the
modelset you want to import.
Importing a selection of On the Controller Details tab, on the ModelSets tab, right-click
variable relationships within an the associated modelset tab, and then click Import Model Set
exported modelset With Selection. The Import Model Set data dialog box appears.
Browse to and select the .xml file you want to import, and then
click Open. The Applicable Curves dialog box appears. Select
the associated check box for each variable relationship you want
to import, and then click Import Data. The existing modelset
must contain the variable relationships you want to import.
Deleting a modelset On the Controller Details tab, on the ModelSets tab, right-click
the associated modelset tab, and then click Delete Model Set.
Copying a modelset On the Controller Details tab, on the ModelSets tab, right-click
the associated modelset tab, and then click Copy Model Set.
Viewing the steady-state On the Controller Details tab, on the ModelSets tab, on the
responses for a modelset associated modelset tab, click Steady State.
Viewing the impulse model On the Controller Details tab, on the ModelSets tab, on the
coefficients for a modelset associated modelset tab, click Impulse.
Copying a curve from a On the Controller Details tab, on the ModelSets tab, on the
modelset. associated modelset tab, right-click the model coefficient curve
that you want to copy, and then click Copy Curve.
Pasting a curve into a After you copy a curve from a modelset, on the Controller
modelset Details tab, on the ModelSets tab, on the associated modelset
tab, right-click the model coefficient curve into which you want to
paste the copied curve, and then click Paste Curve.
Optimizer Name
The Optimizer Name parameter is the name of the Optimizer. It is a string type of parameter
that can contain any character. It is automatically updated each time that you create the
Optimizer from the final linear model.
Control Interval
The Control Interval parameter is the interval at which the Optimizer implements the
optimum steady-state values for the MVs and the CVs with regards to the MVC controller.
The optimum steady-state values represent the MV steady-state targets and the CV setpoints
that the MVC controller uses in the calculations for the cost function. See Cost Function on
page 195 for more information.
The Optimizer calculates the optimum steady-state values each time it calculates a solution
to the optimization problem. The Optimize Interval parameter determines the frequency at
which the the Optimizer calculates the optimum steady-state values. See Optimize Interval on
page 179 for more information.
The value of this parameter must be a multiple of the scan interval.
Optimize Interval
The Optimize Interval parameter is the interval at which the Optimizer calculates a solution
to the optimization problem, that is, maximizes the profit function while taking into account all
control constraints. The results of the solution are the optimum steady-state values for the
MVs and the CVs. The Control Interval parameter determines the frequency at which the
optimum steady-state values are implemented with regards to the MVC controller. See
Control Interval on page 179 for more information.
The value of this parameter must be a multiple of the Control Interval parameter.
Origin Source
The Origin Source parameter is the source that the Optimizer uses to calculate the set of
MV, CV, and FV values that are the starting point, that is, the origin, for the maximization of
the profit function. See Profit Function on page 201 for more information.
The Origin Source parameter can have one of three values:
MVC model for Steady State: Uses the steady-state linear model from the MVC
controller to calculate the origin of the maximization of the profit function.
Origin: Uses a fixed set of specified values for the CVs, MVs, and FVs as the origin of the
maximization of the profit function. You can update the fixed set of values for the CVs,
MVs and FVs by using a Director calculation.
LP ARX Model: Uses the steady-state linear model from the LP process as the origin of
the maximization of the profit function.
By default, the SimSci APC software sets this parameter to MVC model for Steady State. If
the MVC controller and the Optimizer are tightly coupled, you cannot change this parameter
from the default value.
Iteration
The Iteration parameter is the number of iterations that are performed to calculate the values
of the CVs and MVs that are used for the origin of the maximization of the profit function. See
Profit Function on page 201 for more information.
The value of this parameter must be large enough to obtain convergence of the steady-state
model that is used to determine the origin of the maximization of the profit function.
The default value for this parameter is 0.
Version 2016 SP2 179
SimSci APC User Guide Controller Design
Control GainSet
The Control Gainset parameter is the gainset that contains the gains that the Optimizer uses
for the calculations. See Profit Function on page 201 for more information.
By default, the SimSci APC software sets this parameter to Gain Set 1, which is the gainset
that the SimSci APC software automatically generates when you create the Optimizer from
the final linear model. You can change this parameter to any gainset in the Optimizer.
Cost
The Cost parameter is the cost factor associated with the variable. The cost factor
determines the relative contribution of its associated variable to the profit function. That is, the
cost factor influences the relative significance of the variable to the LP solution. See Profit
Function on page 201 for more information.
You can specify this parameter for CVs and MVs only.
Increment
The Increment parameter is the maximum amount by which an MV value can change from
one iteration to the next. The value of the Increment parameter represents a constraint on
the rate of change for an MV. The Optimizer respects this constraint when it calculates the
optimum steady-state values that maximize the profit function. The value of the Increment
parameter therefore determines the rate at which the LP solution moves toward the true
optimum. If you set this parameter too low, the Optimizer may not reach the optimum LP
solution by the end of the iterations for the maximization of the profit function. You should set
this parameter to a large value so that it does not constrain the LP solution. See Profit
Function on page 201 for more information.
The Optimizer reports the value of the Increment parameter in engineering units.
You can specify this parameter for MVs only.
Low Importance
The Low Importance parameter is a measure of the relative freedom of the Optimizer to
relax the lower constraint on the associated variable. For situations in which it is impossible to
obtain a solution that respects all of the constraints for the variables in the Optimizer, the
Optimizer must relax some of the soft constraints to achieve feasibility and obtain a solution.
You can use the Low Importance parameter to specify the lower constraints that the
Optimizer can relax first.
If you specify a large value (for example, 10,000.00) for this parameter, the Optimizer relaxes
the lower constraint on the associated variable by a very small amount, if at all. If you specify
a small value (for example, 1.00) for this parameter, the Optimizer preferentially relaxes the
lower constraint on the associated variable as needed to achieve feasibility.
The default value for this parameter is 1,000.00. You can set the value of this parameter to
any real value that is:
Greater than or equal to zero
Less than 10,000,000,000.00
You can specify this parameter for CVs only.
High Importance
The High Importance parameter is a measure of the relative freedom of the Optimizer to
relax the upper constraint on the associated variable. For situations in which it is impossible
to obtain a solution that respects all of the constraints for the variables in the Optimizer, the
Optimizer must relax some of the soft constraints to achieve feasibility and obtain a solution.
You can use the High Importance parameter to specify the upper constraints that the
Optimizer can relax first.
If you specify a large value (for example, 10,000.00) for this parameter, the Optimizer relaxes
the upper constraint on the associated variable by a very small amount, if at all. If you specify
a small value (for example, 1.00) for this parameter, the Optimizer preferentially relaxes the
upper constraint on the associated variable as needed to achieve feasibility.
The default value for this parameter is 1,000.00. You can set the value of this parameter to
any real value that is:
Greater than or equal to zero
Less than 10,000,000,000.00
You can specify this parameter for CVs only.
Integrating
The Integrating parameter is a check box that indicates whether or not a variable exhibits
integrating behavior in response to process disturbances. You can specify this parameter for
CVs only.
Through linear programming (LP), the Optimizer considers only the steady-state behavior of a
system. Many process systems contain integrating variables. Integrating variables do not
settle at a new steady state when disturbed and thus, do not have an overall steady-state.
Instead, these variables continue to increase or decrease at a constant rate. For example,
vessel levels, which are commonly required to participate in a constrained optimization
scheme, typically exhibit integrating behavior.
182 Version 2016 SP2
Controller Design SimSci APC User Guide
An integrating variables does not have a set of steady-state gains linking it to the incremental
changes in the process inputs. Therefore, you cannot directly include an integrating variable
in the Optimizer. Otherwise, the LP fails. Instead, you must use the rate of change of an
integrating variable to include it in the Optimizer. The rate of change of a integrating variable
has a conventional steady-state relationship with the system inputs and does not cause an
LP failure.
If you select the Integrating check box, the Optimizer uses the rate of change of the variable
when it performs calculations and procedures and returns the steady-state gains and steady-
state reference value for the rate of change of the CV instead of for the instantaneous value
of the CV.When you select this check box for a CV:
The Optimizer assumes that the CV is vital to the operations of the Optimizer. You cannot
select or clear the Vital check box for the CV.
The Optimizer assumes that the CV is always on. You cannot select or clear the Switch
check box for the CV.
The High Constraint and Low Constraint parameters for the CV apply to the rate of
change of the CV instead of the instantaneous value of the CV. Typically, the constraints
are set close to zero so that the Optimizer balances the integrating variable, making the
integrating variable static at some arbitrary instantaneous value. See High Constraint on
page 185 and Low Constraint on page 185 for more information.
The High Limit and Low Limit parameters for the CV apply to the rate of change of the
CV instead of the instantaneous value of the CV. See High Limit on page 186 and Low
Limit on page 186 for more information.
The High Validity and Low Validity parameters for the CV apply to the rate of change of
the CV instead of the instantaneous value of the CV. The values of the validity limits also
determine the normalization range for the rate of change of the CV instead of the
instantaneous value of the CV. See High Validity on page 187 and Low Validity on page
187 for more information.
If you clear the Integrating check box, the Optimizer uses the instantaneous value of the CV
when it performs calculations and procedures.
By default, the Integrating check box is cleared.
Integrating Scale
The Integrating Scale parameter is the scaling that the Optimizer uses to normalize the rate
of change for the associated integrating variable. The value of this parameter is given in
engineering units per second. It should reasonably encompass the maximum rate of change
that the variable can experience. The Optimizer applies the value of this parameter in an
additive and subtractive sense () around zero to normalize the rate of change and account
for negative rates of change. The Optimizer calculates the normalized value of an integrating
variable according to the following equation:
ValueScaled ScaleInt
ValueNorm 1
2ScaleInt
where
ValueNorm
is the normalized value. Note that this value must be between 1.0 and 2.0.
ValueScaled
is the value to be scaled, that is, the rate of change of the variable.
ScaleInt
is the value of the Integrating Scale parameter.
This parameter applies to integrating variables only. That is, you can set this parameter only
when you select the Integrating check box for the associated variable. See Integrating on
page 182 for more information.
You can specify this parameter for CVs only.
Vital
The Vital parameter is a check box that determines whether or not a variable is vital to the
Optimizer. If you select this check box, the Optimizer considers the associated variable as
vital to the operations of the Optimizer. If you clear this check box, the Optimizer considers
the associated variable as nonessential to the operations of the Optimizer.
If the Optimizer considers a variable as vital to the operations of the Optimizer, the Optimizer
fails to the Waiting state when the variable is turned off or has a bad quality. You cannot
activate the Optimizer until the vital variable is turned on and has a good quality.
If the Optimizer considers a variable as nonessential to the operations of the Optimizer, the
Optimizer continues its normal operations and does not use the variable in any calculations or
procedures when the variable is turned off or has a bad quality. Nonessential CVs are an
exception to this rule. If a nonessential CV is turned off or has a bad quality, the Optimizer
uses prediction values for the CV instead of the actual values for the CV for the amount of
time specified by the Infer Time parameter. After the amount of time specified by the Infer
Time parameter elapses, the Optimizer does not use the CV in any calculations or
procedures. See Infer Time on page 172 for more information.
If you specify a variable as integrating, the Optimizer automatically considers the variable as
vital to the operations of the Optimizer. See Integrating on page 182 for more information.
If the MVC controller is tightly coupled to the Optimizer, the Optimizer uses the value of the
Vital parameter from the MVC controller instead of the value of the Vital parameter from the
Optimizer.
You can specify this parameter for CVs, MVs, or FVs.
Switch
The Switch parameter is a list that determines whether a variable is on or off with regards to
Optimizer operations. You can set this parameter to one of the following values:
On: The Optimizer uses the associated variable in all calculation and procedures.
Off: The Optimizer does not use the variable in any calculations or procedures.
Infer: The Optimizer uses the inferred value of the variable in all calculations and
procedures. You can use this value for CVs only. If you want to use this value for a CV,
the CV cannot be vital to the operations of the Optimizer. Typically, the Optimizer uses
the inferred value of a CV when a communication error occurs with the CV or the CV has
a bad quality. The Optimizer can infer the value of a CV only for the amount of time
specified by the Infer Time parameter. See Vital on page 184 and Infer Time on page 189
for more information.
If you specify a variable as integrating, the Optimizer assumes that the CV is always on. See
Integrating on page 182 for more information.
If the MVC controller is tightly coupled to the Optimizer, the Optimizer uses the value of the
Switch parameter from the MVC controller instead of the value of the Switch parameter from
the Optimizer.
You can specify this parameter for CVs, MVs, and FVs.
Low Constraint
The Low Constraint parameter is the lower constraint that you place on the value of a
variable. That is, the value of the variable should not be less than the value of the Low
Constraint parameter.
The Optimizer can move the value of the variable to be less than the lower constraint during
calculations. However, the final solution of the Optimizer cannot contain a variable with a
value that is less than its associated lower constraint.
Typically, the lower constraints in the Optimizer should be equal to or greater than the
corresponding lower constraints in the MVC controller. This forces the Optimizer to locate an
optimum operating point that the MVC controller can achieve. The SimSci APC software does
not have an internal check to ensure that the lower constraints in the Optimizer are
compatible with the lower constraints in ithe MVC controller. You should set the lower
constraints in the Optimizer with care.
If you specify a variable as integrating (see Integrating on page 182 for more information), the
lower constraint for the variable applies to the rate of change of the variable instead of the
instantaneous value of the variable. Typically, the upper and lower constraints for an
integrating variable are set close to zero so that the Optimizer balances the integrating
variable, making the integrating variable static at some arbitrary instantaneous value. If you
set the lower constraint for an integrating variable to a nonzero value, the Optimizer
calculates the optimum rate of change of the variable, which causes the value of the variable
to change constantly at the optimum rate.
If the MVC controller is tightly coupled to the Optimizer, the Optimizer uses the value of the
Low Constraint parameter from the MVC controller instead of the value of the Low
Constraint parameter from the Optimizer.
The default value for this parameter is -1,000.00. You can set the value of this parameter to
any real value that is:
Greater than or equal to the value of the Low Limit parameter.
Less than the value of the High Constraint parameter.
You can specify this parameter for CVs and MVs only.
High Constraint
The High Constraint parameter is the upper constraint that you place on the value of a
variable. That is, the value of the variable should not be greater than the value of the High
Constraint parameter.
The Optimizer can move the value of the variable to be greater than the upper constraint
during calculations. However, the final solution of the Optimizer cannot contain a variable with
a value that is greater than its associated upper constraint.
Typically, the upper constraints in the Optimizer should be less than or equal to the
corresponding upper constraints in the MVC controller. This forces the Optimizer to locate an
optimum operating point that the MVC controller can achieve. The SimSci APC software does
not have an internal check to ensure that the upper constraints in the Optimizer are
compatible with the upper constraints in the MVC controller. You should set the upper
constraints in the Optimizer with care.
If you specify a variable as integrating (see Integrating on page 182 for more information), the
upper constraint for the variable applies to the rate of change of the variable instead of the
instantaneous value of the variable. Typically, the upper and lower constraints for an
integrating variable are set close to zero so that the Optimizer balances the integrating
variable, making the integrating variable static at some arbitrary instantaneous value. If you
set the upper constraint for an integrating variable to a nonzero value, the Optimizer
calculates the optimum rate of change of the variable, which causes the value of the variable
to change constantly at the optimum rate.
If the MVC controller is tightly coupled to the Optimizer, the Optimizer uses the value of the
High Constraint parameter from the MVC controller instead of the value of the High
Constraint parameter from the Optimizer.
The default value for this parameter is 1,000.00. You can set the value of this parameter to
any real value that is:
Greater than or equal to the value of the Low Constraint parameter
Less than or equal to the value of the High Limit parameter
You can specify this parameter for CVs and MVs only.
Low Limit
The Low Limit parameter is the lower limit that you place on the value of a variable. The
optimum steady-state value of the variable that is calculated by the Optimizer cannot be less
than the lower limit.
If the MVC controller is tightly coupled to the Optimizer, the Optimizer uses the value of the
Low Limit parameter from the MVC controller instead of the value of the Low Limit
parameter from the Optimizer.
The default value for this parameter is -1,000.00. You can set the value of this parameter to
any real value that is:
Greater than -1,000,000,000.00
Less than the value of the High Limit parameter
You can specify this parameter for CVs and MVs only.
High Limit
The High Limit parameter is the upper limit that you place on the value of a variable. The
optimum steady-state value of the variable that is calculated by the Optimizer cannot be
greater than the upper limit.
If the MVC controller is tightly coupled to the Optimizer, the Optimizer uses the value of the
High Limit parameter from the MVC controller instead of the value of the High Limit
parameter from the Optimizer.
The default value for this parameter is 1,000.00. You can set the value of this parameter to
any real value that is:
Greater than 0.00 or the value of the Low Limit parameter, whichever value is greater
Less than 10,000,000,000.00.
You can specify this parameter for CVs and MVs only.
Low Validity
The Low Validity parameter is the least value of a variable in the validation range. If the
value of the variable is less than the value of the Low Validity parameter, the Optimizer sets
the quality of the variable to bad.
The Optimizer uses the value of the Low Validity parameter to calculate the normalized
values of a variable. If the MVC controller is tightly coupled to the Optimizer, the Optimizer
uses the value of the Low Validity parameter from the MVC controller instead of the value of
the Low Validity parameter from the Optimizer to calculate the normalized values of a
variable. See Normalization for the Profit Function on page 202 for more information.
The default value for this parameter is -1,000.00. You can set the value of this parameter to
any real value that is:
Greater than -1,000,000,000.00
Less than the value of the High Validity parameter
You can specify this parameter for CVs, MVs, and FVs.
High Validity
The High Validity parameter is the greatest value of a variable in the validation range. If the
value of the variable is greater than the value of the High Validity parameter, the Optimizer
sets the quality of the variable to bad.
The Optimizer uses the value of the High Validity parameter to calculate the normalized
values of a variable and its associated cost factor. If the MVC controller is tightly coupled to
the Optimizer, the Optimizer uses the value of the High Validity parameter from the MVC
controller instead of the value of the High Validity parameter from the Optimizer to calculate
the normalized values of a variable and its associated cost factor. See Normalization for the
Profit Function on page 202 for more information.
The default value for this parameter is 1,000.00. You can set the value of this parameter to
any real value that is:
Greater than 0.00 or the value of the Low Validity parameter, whichever value is greater
Less than 10,000,000,000.00
You can specify this parameter for CVs, MVs, and FVs.
Cushion
The Cushion parameter is a modification to the effective constraints on a variable. That is,
the Optimizer effectively raises the low constraint and lowers the high constraint for the
associated variable by the amount you specify for the Cushion parameter.
You can use the Cushion parameter to set a safety margin for the constraints. The safety
margin ensures that the process value of a CV never rises above the high constraint or falls
below the low constraint due to uncontrollable noise in the process.
If the MVC controller is tightly coupled to the Optimizer, the Optimizer uses both the value of
the Cushion parameter from the MVC controller and the value of the Cushion parameter
from the Optimizer to determine the safety margin. Otherwise, the Optimizer uses only the
value of the Cushion parameter from the Optimizer to determine the safety margin.
You can specify this parameter for CVs only.
Linearizing Function
The Linearizing Function parameter is a function that the Optimizer applies to the values of
the associated variable to provide a linear relationship for the variable. The Optimizer
transforms the process data for the associated variable based on the function that you select,
and then uses the newly calculated values for all calculations and procedures.
You can select one of five functions for this parameter:
NONE: The Optimizer uses the process values of the associated variables for all
calculations and procedures.
LN(): The Optimizer uses the natural log of the process values of the associated variable
for all calculations and procedures.
EXP(): The Optimizer uses the natural exponential function for the value of the associated
variable for all calculations and procedures.
SQUARE: The Optimizer uses the square of the value of the associated variable for all
calculations and procedures.
SQUARE ROOT(): The Optimizer uses the square root of the value of the associated
variable for all calculations and procedures.
You can specify this parameter for CVs, MVs, and FVs.
Rate of Change
The Rate of Change parameter is the maximum amount by which the value of a variable can
change from one data point to the next. The value of the Rate of Change parameter
represents a validation constraint on the rate of change for a CV or an FV. If the value of the
CV or FV changes by an amount that is greater than the value of the Rate of Change
parameter, the Optimizer sets the quality of the CV or FV to bad.
If you set the value of the Rate of Change parameter to zero, the Optimizer does not
consider this validation constraint for the associated CV or FV.
If the MVC controller is tightly coupled to the Optimizer, the Optimizer uses the value of the
Rate of Change parameter from the MVC controller instead of the value of the Rate of
Change parameter from the Optimizer.
The default value for this parameter is 0.00.
You can specify this parameter for CVs and FVs only.
Frozen Time
The Frozen Time parameter is the maximum amount of time in which the value of a variable
can remain unchanged. The value of the Frozen Time parameter represents a validation
constraint on the dynamic quality of a CV or an FV. If the value of the CV or FV is static for a
duration that is greater than the value of the Frozen Time parameter, the Optimizer sets the
quality of the CV or FV to bad.
If you set the value of the Frozen Time parameter to zero, the Optimizer does not consider
this validation constraint for the associated CV or FV.
If the MVC controller is tightly coupled to the Optimizer, the Optimizer uses the value of the
Frozen Time parameter from the MVC controller instead of the value of the Frozen Time
parameter from the Optimizer.
The default value for this parameter is 0.00.
You can specify this parameter for CVs and FVs only.
Infer Time
The Infer Time parameter is the amount of time in which the Optimizer infers values for a
variable. The Infer Time parameter applies to nonessential variables only, that is, variables
that are not specified as vital to the operations of the Optimizer. See Vital on page 184 for
more information.
If a nonessential CV is turned off or has a bad quality, the Optimizer uses prediction values
for the CV instead of the actual values for the CV for the amount of time specified by the Infer
Time parameter. After the amount of time specified by the Infer Time parameter elapses, the
Optimizer does not use the CV in any calculations or procedures.
If you set the value of the Infer Time parameter to zero, the Optimizer does not infer values
for the CV and immediately stops using the CV in any calculations or procedures if the CV is
turned off or has a bad quality.
If the MVC controller is tightly coupled to the Optimizer, the Optimizer uses the value of the
Infer Time parameter from the MVC controller instead of the value of the Infer Time
parameter from the Optimizer.
The default value for this parameter is 0.00.
You can specify this parameter for CVs only.
You can specify this parameter for CVs and FVs only.
Gainsets
A gainset is the set o steady-state gains that the MVC controller and the Optimizer use to
perform calculations. See Cost Function on page 195 and Profit Function on page 201 and
for more information on how the MVC controller and the Optimizer use the steady-state gains.
Gainsets are specific to the controller pair, that is, the MVC controller and the Optimizer. The
controller pair can contain multiple gainsets, but can use only one gainset at a time.
Managing Gainsets
The SimSci APC software automatically creates a gainset named Gain Set 1 when you
create the Optimizer from the final linear model. You can rename, copy, or delete this gainset
as desired. Note that you cannot delete the gainset that the Optimizer uses for calculations.
You can create a gainset from a modelset. After you create a gainset, it is no longer
associated with the modelset from which you created it. Any changes that you make to the
model coefficients in a modelset do not affect any existing gainsets. If you want to apply your
modelset changes to a gainset, you must create a new gainset from the modified modelset.
NOTE: The SimSci APC software automatically creates Gain Set 1 from the automatically
created Model Set 1. See Managing Modelsets on page 176 for more information.
You can modify the gains in a gainset to suite your needs. You cannot modify the gains in the
gainset that the Optimizer uses for calculations if the Optimizer is in the Initialize, Ready, or
Active state.
Creating the default gainset After you complete the configuration for the final linear model, on
Creating a gains et from a On the Controller Details tab, on the ModelSets tab, right-click
modelset the tab for the modelset from which you want to create the
gainset, and then click Create Gain Set.
Renaming a gainset On the Controller Details tab, on the GainSets tab, double-click
the title of the associated gains et tab. Type a new name for the
gainset, and then press Enter.
Copying a gainset On the Controller Details tab, on the GainSet tab, right-click the
associated gainset tab, and then click Copy Gain Set.
Modifying the gains for a On the Controller Details tab, on the GainSet tab, on the
gainset associated gainset tab, double-click the gain you want to modify.
An editable box that contains the full gain value appears. Click
the box, type a new value for the gain, and then press Enter.
Deleting a gainset On the Controller Details tab, on the GainSet tab, right-click the
associated gainset tab, and then click Delete Gain Set.
If you add a variable relationship for a new CV, MV, or FV to the final linear model, the
software creates a single new modelset and adds the variable relationships for the new
CV, MV, or FV to the existing modelsets. Note that you cannot add more variable
relationships for the new CV, MV, or FV by once again updating the MVC controller and
Optimizer from the final linear model.
Updating the MVC controller and Optimizer removes any existing modelsets and gainsets
from the controllers and replaces them with the single default modelset, Model Set 1, and the
single default gainset, Gain Set 1, if any of the following conditions are true:
The prediction interval for the final linear model does not equal the control interval for the
MVC controller and Optimizer.
The order of dynamics for the final linear model does not equal the order of dynamics for
the MVC controller and Optimizer.
The model length for the final linear model is less than the model length of the controllers.
If the model length for the final linear model is greater than the model length of the
controllers, the software creates a single new modelset. It also appends the existing
modelsets with the model coefficients from the new modelset to ensure that all the modelsets
have the same model length.
The following table summarizes the result of updating the MVC controller and the Optimzer
after you make changes to the final linear model:
Change the prediction interval Removes any existing modelsets and gainsets from
the controllers and replaces them with the single
default modelset, Model Set 1, and the single default
gainset, Gain Set 1
Change the order of dynamics Removes any existing modelsets and gainsets from
the controllers and replaces them with the single
default modelset, Model Set 1, and the single default
gainset, Gain Set 1
Decrease the model length Removes any existing modelsets and gainsets from
the controllers and replaces them with the single
default modelset, Model Set 1, and the single default
gainset, Gain Set 1
2
Increase the model lengt h Creates a single new modelset and appends the
existing modelsets with the model coefficients from
the new modelset
1 Applies only if you do not change the predic tion interval, order of dynamics, or model length for the final linear model.
2 Applies only if you do not change the predic tion interval or order of dynamics for the final linear model.
Setpoint Yes
Target Yes
Increment Yes
1
Readback value Yes
1 This value is internal to the controller. You cannot access this value from the UI.
A lookup table is specific to a variable in a controller. You can define the series of X and Y
values in a lookup table by using the Define parameter for the variable. See Define on page
171 for more information.
The SimSci APC software uses the lookup table to determine how it should change the
parameter values for a variable. You must specify at least two sets of X and Y values to
transform the parameter values for the variable. That is, if you specify only one X and Y
value, the controller does not transform the parameter values for the variable.
If you specify two sets of X and Y values, the SimSci APC software fits the parameter values
to a single line.
If you specify more than two sets of X and Y values, the SimSci APC software fits the
parameter values to a set of lines. There is one line for each pair of X values The SimSci
APC software compares the parameter value to the specified X values to determine which
line it should use for the transformation.
If the parameter value is less than the first X value in the lookup table, the SimSci APC
software replaces the parameter value with the Y value associated with the first X value.
If the parameter value is greater than first X value in the lookup table, the SimSci APC
software compares the parameter value to each X value in the lookup table in the order in
which the X values appear on the table.
If the parameter value is equal to any X value, the SimSci APC software replaces the
parameter value with the Y value associate with that X value.
If the parameter value falls between two X values, the SimSci APC software uses the linear
interpolation method shown in the following equation to transform the parameter value:
Value X i 1
Result Yi 1 Yi Yi 1
X i X i 1
where
Result is the transformed value
Value is the value you want to transform
X i 1
is the preceding X value in the lookup table
Xi
is the current X value in the lookup table
Yi 1 X i 1
is the Y value associated with in the lookup table
Yi Xi
is the Y value associated with in the lookup table
X i 1 Xi
Note that in this case, the parameter value is greater than and less than .
If the parameter value is greater than all the X values in the lookup table, the SimSci APC
software replaces the parameter value with the Y value associated with the last X value in the
lookup table.
To avoid undesirable results, you should specify the X values in ascending order. The X
values should cover beyond the full range of possible operating data for the specific tag.
Simulation Mode
You can perform process simulations by using Simulation mode for the controllers.
Simulations allow you to tune and test the performance of a model-based controller before
you apply the controller to a real process. Typically, you use simulations to fine tune the
configured settings for a controller until you obtain an appropriate set of weights and costs for
the CVs, MVs, and FVs.
In Simulation mode, the MVC controller does not receive process values from the DCS.
Instead, the MVC controller uses the predictions calculated from its associated modelset and
the SimSci APC algorithms as the current process values. You can use the responses of the
variables to this simulated process data and the overall performance of the MVC controller
during the simulation to determine if you need to modify the controllers before you apply them
to the real process.
To make a simulation as real as possible, you should provide accurate initial values from the
process plant for all the CVs, MVs, and FVs before you start the simulation. Initial values are
calculated based on available process data. The values should be in engineering units. You
can enter these values in the Initial Value parameters for the variables in the MVC controller.
See Initial Value on page 162 for more information.
You can activate Simulation mode by clicking On on the Home tab, in the Simulation group.
You can specify the MVC controller should operate in Simulation mode by using the
Simulation Mode check box for the MVC controller. See Simulation Mode on page 209 for
more information.
Cost Function
The cost function is a mathematical equation that expresses the cost of attaining the control
target. It is used within the MVC controller to identify the optimum control moves. The general
form of the cost function is:
M
J C eTk 1Pe k 1 uTk Qu k f kT Rf k
k 1 ,
e k 1 y k 1 y ss
,
u k u k uk
,
f k u k u ss
where
JC
is the cost associated with the control moves
M is the Control Horizon parameter (see Control Horizon on page 157)
k is the "current" time instant
e k 1
is a vector that is composed of the errors between the values of the CVs and the
associated setpoint at instant k 1
y ss
is a vector of setpoints that defines the values to which the elements of the output vector,
y , are to be set by the MVC controller
P is a diagonal weighting matrix that has all non-diagonal elements set to zero. It is a square
matrix that has the dimensions c c , where c is the number of CVs in the MVC controller.
uk
is a vector that is composed of the values of the MVs at instant k
uk
is a vector that is composed of the values of the MVs at the instant immediately before the
u
instant k . In most cases, this vector is equal to k 1
Q is a diagonal weighting matrix that has all non-diagonal elements set to zero. It is a square
matrix that has the dimensions m m , where m is the number of MVs in the MVC
controller.
fk
is a vector that is composed of the deviations between the values of the MVs instant k
and the associated steady-state target.
u ss
is a vector that is composed of the steady-state target values for the MVs in the MVC
controller.
R is a diagonal weighting matrix that has all non-diagonal elements set to zero. It is a square
matrix that has the dimension m m , where m is the number of MVs in the MVC controller.
Each diagonal element of P relates to a particular CV and gives rise to an error-squared term
associated with that CV. Thus, minimizing the cost, J , leads to a minimization of each error-
squared term in P . As the minimization of the cost progresses, the controller outputs, that is,
the MVs, approach their respective setpoints.
Each diagonal element of Q relates to a particular MV and gives rise to a term that involves
the square of the changes that are to be applied to the MV setting. The minimization of the
cost invokes a constraint upon the degree to which the MVC controller can adjust an MV
during the course of control implementation.
Each diagonal element of R relates to a particular MV and generates a term that involves the
square of the deviation of the MVs from their respective steady-state targets. Thus, when the
SimSci APC software applies the MVC controller to the plant process, the MVs are driven
towards their steady-state targets.
Infer Time
All control systems must operate subject to the practical constraint imposed by the process
hardware and operational procedures. For example, a flow control valve has an operating
range of 10% to 90%, with no signal move of greater than 10% permitted. Process outputs
are permitted to vary within declared limits, perhaps corresponding to product specification
limits. Such constraints place a fundamental restriction on the performance of the control
system. If constraints are not considered at the design state, the performance of the control
system may be comprised when they are encountered in the process.
There are two possible approaches for dealing with constraints in the context of control
system design:
Design a control system that avoids constraint violation under all anticipates
circumstances by using a judicious choice of weightings. This may be referred to as an
unconstrained design since the constraints are considered informally rather than explicitly.
Design a control system that is subject to an explicit declaration of t he constraints. The
resulting control system should systematically cope with constraints when they are
encountered. There is no unique solution to the problem (that is, no algorithmic solution)
and the design mst be re-evaluated at each instant that control is executed.
The discussions on the minimization of the quadratic cost function and the control algorithm
focuses on an unconstrained design for the sake of simplicity.
An increase in the value of an element of Q implies that the associated actuator is more constrained,
that is, that successive adjustments are smaller.
An increase in the value of an element of R implies that the associated MV is driven more
urgently to its target. Note that the scope for steady-state MV targeting depends on the
availability of spare MVs. There is no scope if the problem is square, that is, the number of
MVs equals the number of CVs, in which case the actuator positions are dictated by the
control requirement. You can choose to retain the default values of zero in the matrix R to
exclude steady-state actuator considerations from the control system.
The minimization of the cost function uses the normalized linear model. Using this model
simplifies the initial selection of weights. If the weights in P and Q are initially set to 1, the
minimization procedure generally yields a realistic control system, one that gives rise to
responses of a reasonable rate given the time constants of the process to be controlled.
Thus, an initial control system can be established without the need for any decisions. Given
an initial design, you can then change the design weights from the initial value of 1 to adjust
the control system responses to be closer to the desired responses.
Elements of P should be set to zero if the corresponding CVs are not to be driven to setpoint
at all. If the number of CVs exceeds the number of MVs (that is, c m ), only an m number of
CVs can be driven to setpoint.
You can specify the design weights for the cost function by using the following online
parameters for the variables in the MVC controller:
CV Weight on page 214
MV Weight on page 215
Target Weight on page 215
See Online Parameters for the Variables in the MVC Controller on page 210 for more
information.
Control Algorithm
Minimization of the cost function is carried out over a control horizon of M control intervals.
At each stage, that is, for each value of k 1 to M , the MVC controller calculates a set of
control systems gains. These system gains minimize the cost function up to that stage. These
gains normally converge to a constant set of values as the stages progress. The converged
set of gains represents the optimal solution to the control problem, subject to the specified
design weights and control horizon.
The solution of the controller design is represented by the control algorithm. The control
algorithm is:
u k uk G1 Y2 k Y2 ss G2 Vk G3 u k u ss ,
wk wk p
w w
k p k 2 p
.
Vk
.
.
w k S 1 p w k Sp
where
u k uk is a vector of increments to be made to each of the MVs in the MVC controller at
instant k relative to the current values at instant k
Y2 k Y2 ss is a vector of measurement errors from the setpoint, adhering to the structured
of the vector Y2 , which is a vector of the process outputs, that is, the CVs. See Vectors for
the Process Outputs on page 118 for more information.
Vk
is vector that is composed of the previous manipulated and feedforward increments.
wk
is a vector of the process inputs, that is, the MVs and FVs, at instant k .
u k u ss is a vector that is composed of the deviations of each MV in the MVC controller, at
instant k , from the associated steady-state target.
G1 is a matrix that holds the error gains of the control system, that is, the gain coefficients for
the current and past CV deviations from the setpoint. This matrix has m rows and n c
columns.
G2 is a matrix that holds the input gains of the control system, that is, the gain coefficients
for the current and past actuation and feedforward increments. This matrix has m rows and
r S q columns. The value of S depends on R j . See Vectors for the Process Inputs on
page 119 for more information.
G3 is a matrix that holds the steady-state actuator gains of the control system, that is, the
gain coefficients for the deviations of each actuator value from the associated steady-state
target. This matrix has m rows and n columns.
c is the total number of CVs in the MVC controller
m is the total number of MVs in the MVC controller
q is the total number of FVs in the MVC controller
r is the total number of input variables in the MVC controller
n is the order of the linear model that the MVC controller uses during calculations
V R
The dimension of k and G2 depend on j . Consider the input gain matrix G2 . For any
process input j ( j 1 to r ), the number of samples required in k for the specific process
w V
S
input is given by j :
S j Rj
Vk
Given the above, the total number of samples required in , that is, S , is equal to the
maximum of j for j 1 to r :
S
S max S j
S V
For any particular process input j , if S is greater than j , there are more elements in k
than required. In this case, the associated gains in G2 are set to zero so that the unwanted
elements do not contribute to the MVC controller.
V
The k and G2 matrices include terms that are associated with the FVs. These terms give
rise to feedforward control. The MVC controller anticipates a disturbance and corrects for it
before the effect of the disturbance is apparent in the output.
The feedforward terms and the other terms in the matrices are based on a common selection
of design weights. However, the cost function does not include an independent basis for
defining the urgency of feedforward control relative to feedback control. You can use a set of
alternate design weights for the design of feedforward terms. A complete set of controller
gains is established by using this alternative, but only those gains that relate to the
disturbance terms are updated. The remaining gains are held at their previously designed
settings.
The Controller Model Order value is set to 1. Thus, the order of dynamics is 1, n 1 .
Consider a two-input, two-output system. The two output variables (CVs) are y1 and y 2 . The
two input variables (MVs) are u1 and u 2 . When we add the CVs and the MVs to the model,
the following is true:
The Controller Model Order value is set to 2. Thus, the order of dynamics is 2, n 2 .
The Control Interval value is equal to four times the scan interval, p 4 .
The Model Length value for the model that is used to create the MVC controller is set to
two, L 2 .
We make the following assumption:
Based on the above specifications and assumptions, the model has the following form:
uk u k 4
y k y ss
u1,k u1,k G11 G12 G13 G21 G22 G23 G24 u k 4 u k 8
u u y k 4 y ss
2, k 2, k G14 G15 G16 y y G25 G26 G27 G28 u k 8 u k 12
k 8 ss
u k 12 u k 16
where
y
yk 1
y2 k
u
uk 1
u2 k
Gxy gxy1 gxy2
Profit Function
The profit function is a mathematical equation that expresses the optimal overall profitability
of the process. It is used within the Optimizer to identify the optimum set of steady-state
values for the MVs and CVs of the system that maximizes the profit while respecting all of the
specified process constraints. The steady-state values that are calculated from the profit
function are used as the setpoints in the cost function. See Cost Function on page 195 for
more information.
The general form of the profit function is a linear combination of the values of the CVs and
MVs, each multiplied by an appropriate cost factor:
c m
J P aiYi b jU j
i 1 j 1
where
J P is the profit of the process
c is the number of CVs in the Optimizer
ai
is the cost assigned to the ith CV
Yi
is the ith CV
m is the number of MVs in the Optimizer
bj
is the cost assigned to the jth MV
Uj
is the jth MV
Yi Uj
The maximization of the profit function generates a set of values for and . These sets
y u
are known as ss and ss , respectively, in the cost function.
The Optimizer carries out the maximization of the profit function in association with a steady-
state model for the process so that the generated values for the input and output variables
are consistent. The steady-state model can include feedforward inputs, but the FVs are not
considered in the profit function. See Steady-state Model on page 205 for more information.
The Optimizer carries out the maximization of the profit function subject to all of the
constraints specified for the process variables. See Low Constraint on page 185 and High
Constraint on page 185 for more information.
The maximization of the profit function is an iterative process. The Optimizer calculates the
profit of the process at the origin that is determined by the initial steady-state values. See
Initial Steady-state Values on page 204 for more information. For each iteration, the
Optimizer adjusts the values of the CVs and MVs and recalculates the profit by using the
adjusted values. This process continues until the profit converges. If the profit does not
converge within 500 iterations, the Optimizer stops the maximization of the profit function and
an error message appears in the Diagnostics Window.
Incremental Form
The principal source of error in the solution of the Optimizer is inaccuracy in the linear steady-
state model, which is a localized approximation of the actual steady-state properties of the
system. To minimize this error, the Optimizer formulates the problem values as incremental
quantities that are referred to the origin for the maximization of the profit function. That is, the
following values are calculated with reference to the origin:
High constraints
Low constraints
Values derived from the steady-state model (see Steady-state Model on page 205)
Values of the CVs, MVs, and FVs
Incremental values are not reported and are used for calculation purposes only. That is, all
reported values are given in non-incremental terms.
The incremental form of the profit function is:
c m
J P ai Yi b j U j
i 1 j 1 ,
where
J P is the difference between the current profit of the process and the profit that is calculated
at the origin for the maximization of the profit function
c is the number of CVs in the Optimizer
ai
is the cost assigned to the ith CV
Yi is difference between the current value of the ith CV and its value at the origin for the
maximization of the profit function
m is the number of MVs in the Optimizer
bj
is the cost assigned to the jth MV
U j
is the difference between the current value of the jth CV and its value at the origin for the
maximization of the profit function
N n 1
where
Y3 is the vector of increments that contains the prediction increments for the process
outputs, that is, the CVs, with respect to the current values.
is the transition matrix containing the autoregressive terms. A model uses the
autoregressive terms only if its order of dynamics is greater than zero.
Y4 is the vector of increments that contains the current and past increments for the CVs.
1 is the driving matrix for the input variable corresponding to W1 .
W1 is the vector of increments for the first input variable that is added to the model. It
contains the current and past increments for the first input variable.
r is the driving matrix for the input variable corresponding to Wr .
Wr is the vector of increments for the last input variable that is added to the model. It
contains the current and past increments for the last input variable.
r is the total number of input variables that are added to the model.
k is the "current" time instant.
p is the prediction interval ratio.
N is an integer that determines the number of previous prediction intervals over which the
Y4 k
vector extends.
n is the order of dynamics.
All of the CV increments are referenced to the same data point, that is, the same values in
the vector y at instant k . Based on the preceding equations, the Optimizer uses the
yk p
following equation to calculate the predicted CV values, :
y k p y k Y4 k 1W1,k r Wr ,k
The Optimizer calculates the initial steady-state values of the CVs, MVs, and FVs by using an
iterative process. It calculates the predicted CV values for each iteration, and then uses the
y
predicted CV values as the reference values, k , for the next iteration. The iterations
continue until the CV values converge at a tolerance of 10-5 or until the maximum number of
iterations has been reached. The maximum number of iterations is the value of the Iteration
parameter. If the CV values do not converge at the end of the iterations, an error message
appears in the Diagnostics Window.
If the CV values converge, the final values of the CVs, MVs, and FVs represent the initial
steady-state values of the CVs, MVs, and FVs, which are used as the origin for the
y 1 FilterFactor y k p FilterFactor
maximization of the profit function. f
Steady-state Model
The steady-state model is expressed as a set of steady-state gains relating incremental
changes in the MVs and FVs to incremental responses in the CVs. The steady-state gains
are automatically calculated from the linear model that is associated with the Optimizer.
Based on the steady-state model, we can develop equations for the CV responses with
respect to changes in the MVs and FVs. The equation for each CV has the following form:
m q
Yi gij U j gik Vk
j 1 k 1
where
Yi is difference between the current value of the ith CV and its value at the origin for the
maximization of the profit function
m is the number of MVs in the Optimizer
g ij
is the steady-state gain that relates the ith CV to the jth MV
U j
is the difference between the current value of the jth CV and its value at the origin for the
maximization of the profit function
q is the number of FVs in the Optimizer
g ik
is the steady-state gain that relates the ith CV to the kth FV
Vk
is difference between the current value of the kth FV and its value at the origin for the
maximization of the profit function
The Optimizer must maximize the profit of the process in association with the steady-state
model so that the generated values for the input and output variables are consistent. The
equations from the steady-state model represent equality constraints on the CVs.
C HAPTER 7
Enabling Controllers
In This Chapter
Overview.................................................................................................................................... 207
Enabling the MV C Controller ....................................................................................................... 207
State of the MV C Controller ......................................................................................................... 208
Online Configuration Parameters for the MVC Controller ............................................................... 209
Online Parameters for the Variables in the MV C Controller ............................................................ 210
Changing the Parameters for the Enabled MV C Controller ............................................................ 216
Managing Trends for the MV C Controller...................................................................................... 218
Creating Radial Plots for the MVC Cont roller ................................................................................ 219
Enabling the Optimizer ................................................................................................................ 221
State of the Optimizer ................................................................................................................. 222
Online Configuration Parameters for the Optimizer ....................................................................... 223
Online Parameters for the Variables in the Optimizer .................................................................... 223
Changing the Parameters for an Enabled Optimizer ...................................................................... 226
Overview
When you enable an MVC controller and its associated Optimizer, the SimSci APC software
implements the MVC controller and the Optimizer onto the target process. The extent to
which the SimSci APC software implements the controllers depends on the current state of
the controller. See State of the MVC Controller on page 208 and State of the Optimizer on
page 222 for more information.
You can implement the MVC controller and the Optimizer separately. See Enabling the MVC
Controller on page 207 and Enabling the Optimizer on page 221 for more information.
You can enable controllers only when the APC Project is scanning. You can enable more
than one MVC controller and more than one Optimizer at a time, provided that the MVC
controllers are not in Simulation mode. For Simulation mode, you can enable only one MVC
controller at a time.
The MVC controller begins in the Manual state. When you initialize the MVC controller, it
transitions to the Waiting state, then to the Initialize state, and finally to the Ready state.
When you activate the MVC controller, it transitions from the Ready state to the Auto state,
and then to the Active state. The MVC controller must be in the Ready state before you can
activate it. That is, you must initialize the MVC controller before you activate it.
You can view the current state of the MVC controller by using the Current Status parameter
on the Controller Overview tab, in the Configuration area. When the state of the MVC
controller changes, informational messages indicating the change appear in the Diagnostics
Window.
Starting scanning On the Home tab, in the Scan group, click On.
Initializing the MVC cont roller On the Controller Overview tab, in the Configuration
area, select Initialize for the Controller Mode parameter,
Activating the MVC controller On the Controller Overview tab, in the Configuration
area, select Active for the Controller Mode parameter,
Deactivating the MVC controller On the Controller Overview tab, in the Configuration
area, select either Ready, Initialize, or Manual for the
Controller Mode parameter, and then click Change
Stopping scanning On the Home tab, in the Scan group, click Off.
2. In the Controller Mode list, select Initialize, and then click Change Status .
Manual: The MVC controller does not perform any calculations and does not write values
to the output tags. When the APC Project is scanning, the MVC controller updates the
current values for the input tags and output tags with the latest process data.
Waiting: The MVC controller performs steps to transition to the Initialize state, and then
automatically transitions to the Initialize state. It typically stops at the Waiting state only if
an error occurs due to one of the following:
o A vital tag is off
o A communication error occurs, which is indicated by static watchdog tags
o The MVC controller does not contain CVs or MVs
Initialize: The MVC controller refreshes the values for all parameters in the MVC
controller, and then automatically transitions to the Ready state.
Ready: The MVC controller minimizes the cost function at the specified control interval for
the MVC controller. That is, the MVC controller calculates the optimum control moves for
the process. It does not write values to the output tags. See Cost Function on page 195
for more information.
Auto: The MVC controller performs steps to transition to the Active state.
Active: The MVC controller minimizes the cost function and writes values to the output
tags based on its configuration and calculations.
You can use the Current Status parameter on the Controller Overview tab, in the
Configuration area, to determine the current state of the MVC controller.
Simulation Mode
The Simulation Mode check box determines whether or not the MVC controller operates in
Simulation mode. You cannot select the Simulation Mode check box unless the APC Project
is in Simulation mode. See Simulation Mode on page 194 for more information.
If you select the Simulation Mode check box for the MVC controller, the MVC controller
operates in Simulation mode when you activate it. That is, the MVC controller does not
receive values from the DCS. Instead, the MVC controller uses the predictions calculated
from its associated modelset and the SimSci APC algorithms as the current process values.
Controller Mode
The Controller Mode parameter allows you to select and change the state of the MVC
controller.
The amount of states that you can select depends on the current state of the MVC controller.
If the MVC controller is in a Manual state, you can select only Manual or Initialize. If the MVC
controller is in a Ready or Active state, you can select Manual, Initialize, Ready, or Active.
After you select a state, you must click Change Status to change the state of the MVC
controller.See Enabling the MVC Controller on page 207 and State of the MVC Controller on
page 208 for more information.
You can edit this parameter only when the APC Project is scanning.
Current Status
The Current Status parameter indicates the current online state of the MVC controller. See
State of the MVC Controller on page 208 for more information.
You cannot edit this parameter.
Set Point
The Set Point parameter displays the current setpoint for the associated CV. If the MVC
controller is coupled with the Optimizer, the Optimizer calculates the setpoint and you cannot
edit this parameter.
This parameter applies to CVs only.
Opt Target
The Opt Target parameter is the current value of the optimized steady-state target for an MV.
If the MVC controller is tightly coupled to the Optimizer, the MVC controller uses the
optimized steady-state target that the Optimizer calculates. In this case, you cannot edit this
parameter.
If the MVC controller is loosely coupled to the Optimizer or is not coupled to the Optimizer,
you can change this parameter to change the optimized steady-state target for the associated
MV. The value of this parameter must be between the high and low constraints for the
associated MV.
You can specify this parameter for MVs only.
Vital
The Vital parameter displays the value of the Vital parameter in the MVC controller
assembly, which is a check box that determines whether or not a variable is vital to the MVC
controller. If the check box is selected, the MVC controller considers the associated variable
as vital to the operations of the MVC controller. If the check box is cleared, the MVC
controller considers the associated variable as nonessential to the operations of the MVC
controller. See Vital on page 162 for more information.
You cannot edit this parameter.
This parameter applies to CVs, MVs, and FVs.
Switch
The Switch parameter is a list that determines whether a variable is on or off with regards to
MVC controller operations. You can set this parameter to one of the following values:
On: The MVC controller uses the associated variable in all calculation and procedures.
Off: The MVC controller does not use the variable in any calculations or procedures.
Infer: The MVC controller uses the inferred value of the variable in all calculations and
procedures. You can use this option for CVs only. If you want to use this value for a CV,
the CV cannot be vital to the operations of the MVC controller. Typically, the MVC
controller uses the inferred value of a CV when a communication error occurs with the CV
or the CV has a bad quality. The MVC controller can infer the value of a CV only for the
amount of time specified by the Infer Time parameter. See Vital on page 184 and Infer
Time on page 189 for more information.
FFWD: The MVC controller uses the values of the readback signal for the variable in all
calculations and procedures instead of the value of the variable. It also treats the variable
as a feedforward variable (FV).You can use this option for MVs only. This option is also
known as feedforward mode. If you want to use feedforward mode for an MV, the MV
cannot be vital to the operations of the MVC controller. Typically, the MVC controller uses
feedforward mode for an MV when a communication error occurs with the MV or the MV
has a bad quality. See Vital on page 162 for more information.
You can specify this parameter for CVs, MVs, and FVs.
Current Value
The Current Value parameter displays the current value of the variable.
The value appears on a slider. The greatest value on the slider is set equal to the upper limit
for the variable. The least value on the slider is set equal to the lower limit for the variable.
See High Limit on page 165 and Low Limit on page 165 for more information. Two nodes
appear on the slider to indicate the upper and lower constraints for the variable. See High
Constraint on page 164 and Low Constraint on page 164 for more information. The color of
the slider indicates the proximity of the current value of the variable to the constraints.
The color of the slider is green if both of the following statements are true:
The current value of the variable is greater than the lower constraint by a margin of 5% of
the lower constraint.
The current value of the variable is less than the upper constraint by a margin of 5% of
the upper constraint.
The color of the slider is yellow if either of the following statements is true:
The current value of the variable is within a 5% margin of the lower constraint.
The current value of the variable is within a 5% margin of the upper constraint.
The color of the slider is red if either of the following statements is true:
The current value of the variable is greater than the upper constraint by a margin of 5% of
the upper constraint.
The current value of the variable is less than the lower constraint by a margin of 5% of the
lower constraint.
The color of the slider is always gray for the FVs, which do not have defined constraints.
This parameter applies to CVs, MVs, and FVs.
Trend
The Trend parameter displays a sparkline for the variable. You can use the sparkline to view
recent changes in a variable between scan intervals.
This parameter applies to CVs, MVs, and FVs.
Low Constraint
The Low Constraint parameter is the lower constraint that you place on the value of a
variable. That is, the value of the variable should not be less than the value of the Low
Constraint parameter.
The MVC controller can move the value of the variable to be less than the lower constraint
during calculations. However, the final solution of the MVC controller cannot contain a
variable with a value that is less than its associated lower constraint.
The MVC controller uses the lower constraint as a soft bound or as a hard bound based on
the associated priority of the variable. For CVs,the value of the Priority parameter
determines the priority (see Priority on page 167). For MVs, the value of the MV Priority
parameter determines the priority (see MV Priority on page 167). If the priority of the variable
is low, the MVC controller uses the lower constraint as a hard bound and does not relax the
bound during calculations. If the priority of the variable is high, the MVC controller uses the
lower constraint as a soft bound and relaxes the bound during calculations, if required.
The default value for this parameter is -1,000.00. You can set the value of this parameter to
any real value that is:
High Constraint
The High Constraint parameter is the upper constraint that you place on the value of a
variable. That is, the value of the variable should not be greater than the value of the High
Constraint parameter.
The MVC controller can move the value of the variable to be greater than the upper constraint
during calculations. However, the final solution of the MVC controller cannot contain a
variable with a value that is greater than its associated upper constraint.
The MVC controller uses the upper constraint as a soft bound or as a hard bound based on
the associated priority of the variable. For CVs, the value of the Priority parameter
determines the priority (see Priority on page 167). For MVs, the value of the MV Priority
parameter determines the priority (see MV Priority on page 167). If the priority of the variable
is low, the MVC controller uses the upper constraint as a hard bound and does not relax the
bound during calculations. If the priority of the variable is high, the MVC controller uses the
upper constraint as a soft bound and relaxes the bound during calculations, if required.
The default value for this parameter is 1,000.00. You can set the value of this parameter to
any real value that is:
Greater than or equal to the Low Constraint parameter
Less than or equal to the value of the High Limit parameter
You can specify this parameter for CVs and MVs only.
Move
The Move parameter displays the value by which an MV changed from the previous control
interval. The MVC controller recalculates this parameter every control interval.
You cannot edit this parameter.
This parameter applies to MVs only.
CV Weight
The CV Weight parameter is a weighting factor that is applied to the associated CV during
the minimization of the cost function. The values of the CV Weight parameters are held in the
weighting factor matrix P . See Cost Function on page 195 for more information.
If you increase this parameter, the error between the current value of the CV and the
associated setpoint has a greater contribution to the cost function. Therefore, the MVC
controller more urgently drives the CV to the setpoint at the expense of other control
objectives.
If you decrease this parameter, the error between the current value of the CV and the
associated setpoint has a lesser contribution to the cost function. Therefore, the MVC
controller less urgently drives the MV to the optimization target to the advantage of other
control objectives.
If you set this parameter to zero, the error between the current value of the CV and the
associated setpoint does not contribute to the cost function and the MVC controller ignores
the CV.
The default value for this parameter is 1.00. You must change this value to include the CV in
the minimization of the cost function.
You can specify this parameter for CVs only.
MV Weight
The MV Weight parameter is a weighting factor that is applied to the associated MV
increment during the minimization of the cost function. The values of the MV Weight
parameters are held in the weighting factor matrix Q . See Cost Function on page 195 for
more information.
If you increase this parameter, the current incremental change for the associated MV has a
greater contribution to the cost function. Therefore, the MVC controller moves the MV less
freely at the expense of other control objectives.
If you decrease this parameter, the current incremental change for the associated MV has a
lesser contribution to the cost function. Therefore, the MVC controller moves the MV more
freely to the advantage of other control objectives.
If you set this parameter to zero, the current incremental change for the associated MV does
not contribute to the cost function and the MVC controller ignores the increments for the MV.
The default value for this parameter is 1.00. You must change this value to include the MV
increments in the minimization of the cost function.
You can specify this parameter for MVs only.
Target Weight
The Target Weight parameter is a weighting factor that is applied to the associated MV
target during the minimization of the cost function. The values of the Target Weight
parameters are held in the weighting factor matrix R . See Cost Function on page 195 for
more information.
If you increase this parameter, the error between the current value of the MV and the
associated optimization target has a greater contribution to the cost function. Therefore, the
MVC controller more urgently drives the MV to the optimization target at the expense of other
control objectives.
If you decrease this parameter, the error between the current value of the MV and the
associated optimization target has a lesser contribution to the cost function. Therefore, the
MVC controller less urgently drives the MV to the optimization target to the advantage of
other control objectives.
If you set this parameter to zero, the error between the current value of the MV and the
associated optimization target does not contribute to the cost function and the MVC controller
ignores the MV target.
The default value for this parameter is 0.00. You must change this value to include the MV
targets in the minimization of the cost function.
You can specify this parameter for MVs only.
Status
The Status parameter indicates the current status of the quality for the variable tag. It can
have one of the following values:
Blank: The tag has a good quality. There are no communication errors or validation
errors associated with the tag.
Bad: The tag has a bad quality. There are either communication errors or validation
errors associated with the tag.
Off: The tag is turned off.
High Constraint: The tag is close to or at its associated upper constraint.
Low Constraint: The tag is close to or at its associated lower constraint.
You cannot edit this parameter.
This parameter applies to CVs, MVs, and FVs.
Increment
The Increment parameter displays the value of the Increment parameter in the MVC
controller assembly. It displays the maximum amount by which an MV value can change from
one control action to the next. See Increment on page 164 for more information.
You cannot edit this parameter.
This parameter applies to MVs only.
Tracking
The Tracking parameter is the mean squared error of the model predictions for the
associated variable. The MVC controller evaluates the mean squared errors by using the 5-
step-ahead predictions and the archived data from the previous 30 control actions. The
Tracking parameter should have a value of less than 0.5 to indicate acceptable accuracy in
the predictions for the associated variable.
You cannot edit this parameter.
This parameter applies to CVs only.
On the Controller Overview tab, you can change all of the editable online configuration
parameters for the MVC controller and all of the editable online parameters for the variables
in the MVC controller while the MVC controller is enabled.
The only online configuration parameter that you can edit for the MVC controller is the
Controller Mode parameter. See Controller Mode on page 210 for more information.
You can edit only the Set Point and the CV Weight online parameters for the CVs in the
MVC controller. See Set Point on page 211 and CV Weight on page 214 for more
information.
You can edit the following online parameters for the MVs in the MVC controller:
Opt Target on page 211
MV Weight on page 215
Target Weight on page 215
Changing the configuration paramet ers On the Controller Details tab, on the MVC tab, in
while the MVC controller is enabled the Configuration area, change the configuration
parameters as desired.
Changing the parameters for CVs while the On the Controller Details tab, on the MVC tab, on
MVC controller is enabled the Control variables tab, change the parameters
for the CVs as desired.
Changing the parameters for MVs while the On the Controller Details tab, on the MVC tab, on
MVC controller is enabled the Manipulated variables tab, change the
parameters for the MVs as desired.
Changing the parameters for FVs while the On the Controller Details tab, on the MVC tab, on
MVC controller is enabled the Feed Forward variables tab, change the
parameters for the FVs as desired.
Changing the online parameters for CVs On the Controller Overview tab, on the Control
while the MVC controller is enabled variables tab, change the editable online
parameters for the CVs as desired.
Changing the online parameters for MVs On the Controller Overview tab, on the
while the MVC controller is enabled Manipulated variables tab, change the editable
online parameters for the MVs as desired.
Example: Changing the Parameters for CVs While the MVC Controller is Enabled
1. On the Controller Details tab, on the MVC tab, select the Control variables tab.
2. Change the parameters for a single CV or for multiple CVs as desired.
On CV and MV trends, you can view the current value, maximum value, and minimum value
for the CV or MV parameters for a Strip by using the Configure area for that Strip. You can
also adjust the scaling for the associated superimposed Strip by using the same procedures
you use for normal trends. See Adjusting the Scaling for a Strip on page 39 for more
information.
Creating CV trends from an MV C On the Controller Overview tab, select the Control
controller variables tab, and then select the CVs for which you want to
Creating CV trends from a On the Sub Controller Summary tab, on the tab for the
subcontroller associated MVC controller, in the CV Trends column, click
Viewing parameter data for a CV On the CV trend, on the Strip for the desired CV, click
Configure to expand the Configure area. On the Variables
tab, view the parameter data associated with the CV.
Creating MV trends from an MVC On the Controller Overview tab, select the Manipulated
controller variables tab, and then select the MVs for which you want to
Creating MV trends from a On the Sub Controller Summary tab, on the tab for the
subcontroller associated MVC controller, in the MV Trends column, click
Viewing parameter data for an On the MV trend, on the Strip for the desired MV, click
MV Configure to expand the Configure area. On the Variables
tab, view the parameter data associated with the MV.
Each radial plot displays the following values for its associated variable:
Current Value
High Constraint
Set Point
Low Constraint
You can create radial plots for the MVC controller by using the Controller Overview tab. You
can create two kinds of radial plots:
CV radial plots
MV radial plots
NOTE: You cannot create radial plots for the FVs.
You can create CV radial plots only when you select the Control variables tab on the
Controller Overview tab. The SimSci APC software displays CV radial plots in the CV
Targets and Constraints window. The CV Targets and Constraints window contains a
single radar chart that includes a scaling radius and a CV radius (that is, a CV radial plot) for
each CV in the MVC controller.
You can create MV radial plot only when you select the Manipulated variables tab on the
Controller Overview tab. The SimSci APC software displays MV radial plots in the MV
Targets and Constraints window. The MV Targets and Constraints window contains a
single radar chart that includes a scaling radius and an MV radius (that is, an MV radial plot)
for each MV in the MVC controller.
The scaling radius displays the axis scaling for all of the radial plots on the radar chart. The
axis scaling is determined by the maximum constraint value and the minimum constraint
value for all of the variables on the radar chart.
To simplify the appearance of the radial plots, you can add or remove tags from the radar
chart. When you add or remove tags from the radar chart, the scaling changes to
accommodate the new set of tags.
Creating CV radial plots On the Controller Overview tab, select the Control variables tab,
Removing tags from the In the CV Targets and Constraints window, in the
radar chart (CVs) Check/UnCheck Tags area, clear the associated check boxes for
the tags you want to remove from the radar chart.
Adding tags to the radar In the CV Targets and Constraints window, in the
chart (CVs) Check/UnCheck Tags area, select the associated check boxes for
the tags you want to add to the radar chart.
Creating MV radial plots On the Controller Overview tab, select the Manipulated variables
Removing tags from the In the MV Targets and Constraints window, in the
radar chart (MVs) Check/UnCheck Tags area, clear the associated check boxes for
the tags you want to remove from the radar chart.
Adding tags to the radar In the MV Targets and Constraints window, in the
chart (MVs) Check/UnCheck Tags area, select the associated check boxes for
the tags you want to add to the radar chart.
Starting scanning On the Home tab, in the Scan group, click On.
Stopping scanning On the Home tab, in the Scan group, click Off.
2. In the Controller Mode list, select Initialize, and then click Change Status .
Controller Mode
The Controller Mode parameter allows you to select and change the state of the Optimizer.
The amount of states that you can select depends on the current state of the Optimizer. If the
Optimizer is in a Manual state, you can select only Manual or Initialize. If the Optimizer is in
a Ready or Active state, you can select Manual, Initialize, Ready, or Active.
After you select a state, you must click Change Status to change the state of the
Optimizer.See Enabling the Optimizer on page 221 and State of the Optimizer on page 222
for more information.
You can edit this parameter only when the APC Project is scanning.
Current Status
The Current Status parameter indicates the current online state of the Optimizer. See State
of the Optimizer on page 222 for more information.
You cannot edit this parameter.
Current Value
The Current Value parameter displays the current value of the variable.
The value appears on a slider. The greatest value on the slider is set equal to the upper limit
for the variable. The least value on the slider is set equal to the lower limit for the variable.
See High Limit on page 186 and Low Limit on page 186 for more information. Two nodes
appear on the slider to indicate the upper and lower constraints for the variable. See High
Constraint on page 185 and Low Constraint on page 185 for more information. The color of
the slider indicates the proximity of the current value of the variable to the constraints.
The color of the slider is green if both of the following statements are true:
The current value of the variable is greater than the lower constraint by a margin of 5% of
the lower constraint.
The current value of the variable is less than the upper constraint by a margin of 5% of
the upper constraint.
The color of the slider is yellow if either of the following statements is true:
The current value of the variable is within a 5% margin of the lower constraint.
The current value of the variable is within a 5% margin of the upper constraint.
The color of the slider is red if either of the following statements is true:
The current value of the variable is greater than the upper constraint by a margin of 5% of
the upper constraint.
The current value of the variable is less than the lower constraint by a margin of 5% of the
lower constraint.
The color of the slider is always gray for the FVs, which do not have defined constraints.
This parameter applies to CVs, MVs, and FVs.
Trend
The Trend parameter displays a sparkline for the variable. You can use the sparkline to view
recent changes in a variable between scan intervals.
Optimum
The Optimum parameter is the value of the optimum steady-state setpoint or target for the
associated variable. When the Optimizer maximizes the profit function, it calculates the
optimum steady-state setpoint for all CVs in the Optimizer and the optimum steady-state
targets for all MVs in the Optimizer. See Profit Function on page 201 for more information.
The Optimizer calculates the value of the Optimum parameter at the interval specified by the
Optimize Interval parameter. See Optimize Interval on page 179 for more information.
If the Optimizer is coupled with the MVC controller, the Optimizer:
Writes the value of the Optimum parameter for all CVs to the associated Set Point
parameter in the MVC controller. See Set Point on page 211 for more information.
Writes the value of the Optimum parameter for all MVs to the associated Opt Target
parameter in the MVC controller. See Opt Target on page 211 for more information.
The Optimizer writes the values of the Optimum parameters to the MVC controller at the
interval specified by the Control Interval parameter. See Control Interval on page 179 for
more information.
You cannot edit this parameter.
This parameter applies to CVs and MVs only.
Status
The Status parameter indicates the current status of the quality for the variable tag. It can
have one of the following values:
Blank: The tag has a good quality. There are no communication errors or validation
errors associated with the tag.
Bad: The tag has a bad quality. There are either communication errors or validation
errors associated with the tag.
Off: The tag is turned off.
High Constraint: The tag is close to or at its associated upper constraint.
Low Constraint: The tag is close to or at its associated lower constraint.
You cannot edit this parameter.
This parameter applies to CVs, MVs, and FVs.
Vital
The Vital parameter displays the value of the Vital parameter in the Optimizer assembly,
which is a check box that determines whether or not a variable is vital to the Optimizer. If the
check box is selected, the Optimizer considers the associated variable as vital to the
operations of the Optimizer. If the check box is cleared, the Optimizer considers the
associated variable as nonessential to the operations of the Optimizer. See Vital on page 184
for more information.
You cannot edit this parameter.
This parameter applies to CVs, MVs, and FVs.
Version 2016 SP2 225
SimSci APC User Guide Enabling Controllers
Origin
The Origin parameter is the initial steady-state value for the associated variable. The
Optimizer uses the initial steady-state values of the variables as the origin for the
maximization of the profit function. See Profit Function on page 201 and Initial Steady-state
Values on page 204 for more information.
You can edit this parameter only if you set the Origin Source parameter for the Optimizer to
Origin. In this case, the Optimizer uses the values that you set for the Origin parameters.
Otherwise, the Optimizer calculates the Origin parameter for all the variables based on the
selection for the Origin Source parameter:
MVC model for Steady State: The Optimizer calculates the Origin parameter for the
CVs from the linear model for the MVC controller. It sets the Origin parameters for the
MVs and FVs to the current values of the associated variables.
LP ARX Model: The Optimizer calculates the Origin parameter for the CVs from the
linear model for the Optimizer. It sets the Origin parameters for the MVs and FVs to the
current values of the associated variables.
See Origin Source on page 179 for more information.
You can specify this parameter for CVs, MVs, and FVs.
Changing the configuration paramet ers On the Controller Details tab, on the Optimizer
while the Optimizer is enabled tab, in the Configuration area, change the
configuration parameters as desired.
Changing the parameters for CVs while the On the Controller Details tab, on the Optimizer
Optimizer is enabled tab, on the Control variables tab, change the
parameters for the CVs as desired.
Changing the parameters for MVs while the On the Controller Details tab, on the Optimizer
Optimizer is enabled tab, on the Manipulated variables tab, change
the paramet ers for the MVs as desired.
Changing the parameters for FVs while the On the Controller Details tab, on the Optimizer
Optimizer is enabled tab, on the Feed Forward variables tab, change
the paramet ers for the FVs as desired.
Changing the online parameters for CVs On the Optimizer Overview tab, on the Control
while the Optimizer is enabled variables tab, change the editable online
parameters for the CVs as desired.
Changing the online parameters for MVs On the Optimizer Overview tab, on the
while the Optimizer is enabled Manipulated variables tab, change the editable
online parameters for the MVs as desired.
Example: Changing the Parameters for CVs While the Optimizer is Enabled
1. On the Controller Details tab, on the Optimizer tab, select the Control variables tab.
2. Change the parameters for a single CV or for multiple CVs as desired.
C HAPTER 8
Monitoring Controllers
In This Chapter
SimSci APC Reports ................................................................................................................... 229
Tag Data Reports ....................................................................................................................... 229
Managing Reports ...................................................................................................................... 230
3. Run the PRBS Generator until the SimSci APC software creates a new tag data report.
Alternatively, you can manually generate the tag data report at any time.
4. Copy the tag data report to a common folder (for example, ...\APC2016\User\Data).
5. Close the APC Project.
6. Create a new APC Project.
7. Import the tag data report.
8. Create models by using the imported tag data.
Managing Reports
You can create SimSci APC reports or tag data reports. Each report has an associated file
type, report time, report length, and number of versions to keep on file.
You can create as many reports as you need. The SimSci APC software stores the reports in
the folder specified on the Configure tab, in the Data Management group.
Creating a SimSci APC (.fdax) On the Proce ss Monitor Configuration tab, click Add
report
Configuration . A new report appears in the list of reports. In
the File Type list for the new report, select Comma delimited
(*.fdax).
Creating a tag data (.tagData) On the Proce ss Monitor Configuration tab, click Add
report
Configuration . A new report appears in the list of reports. In
the File Type list for the new report, select Tag Data (*.tagData).
Renaming a report On the Proce ss Monitor Configuration tab, double-click the File
Name parameter for the report. Ty pe the new name, and then press
Enter.
Deleting a report On the Proce ss Monitor Configuration tab, select the report, and
Generating reports On the Proce ss Monitor Configuration tab, click Generate File(s)
Specifying the folder in which On the Configure tab, in the Data Management group, click
to save the reports
Brow se . The Brow se For Folder dialog box appears. Browse
to and select the folder in which you want to store the reports, and
then click OK.
Specifying a time to generate On the Proce ss Monitor Configuration tab, in the Report Time
a report column, type in the time at whic h you want a report to be generated.
Once that time has passed, a report will be generated into the folder
specified on the Configure tab.
Specifying the sourc e type for On the Proce ss Monitor Configuration tab, near the File Name
the data source
column, click the Field Chooser , and make sure the check box
next to Source Type is checked. Then, select the desired tag or
controller collection from the dropdown menu in the Source Type
column.
C HAPTER 9
Director Calculations
In This Chapter
Overview.................................................................................................................................... 233
Script Editor ............................................................................................................................... 233
Managing Scripts ........................................................................................................................ 234
Managing Sequences ................................................................................................................. 235
Overview
Director calculations are customized programs that you can use to customize your SimSci
APC application. You can create Director calculations by using the Director.
The Director is the internal programming facility for the SimSci APC software. It uses
IronPython as a language base. You can use any native IronPython function to create a
Director calculation. You can also use built-in Director functions that are specific to the SimSci
APC software. See the SimSci APC Director Functions Guide for full descriptions of the
available native IronPython functions and the built-in Director functions, including syntax
information and examples.
A Director calculation is specific to a single APC Project and the SimSci APC software saves
a Director calculation as part of the APC Project. Each Director calculation contains a set of
scripts and sequences. The scripts contain the code for the Director calculations and the
sequences determine when the code runs for the project. See Managing Scripts on page 234
and Managing Sequences on page 235 for more information.
You can manage a Director calculation by using the Script Editor. See Script Editor on page
233 for more information.
Script Editor
The Script Editor is a window that you can use to manage the scripts and sequences for a
Director calculation. You can open the Script Editor by clicking Editor on the Tool tab, in the
Director Calc group. The Script Editor has three areas:
Script and Sequences Pane: You can create, delete and rename scripts and sequences
by using this pane. (A)
Editor Pane: You can edit a script or a sequence by using this pane. (B)
Diagnostics Pane: You can view the outputs for all scripts or sequences that are running
by using this pane. (C)
Managing Scripts
A script is an IronPython (.py) file that contains code you can use to create a Director
calculation. You can manage scripts by using the Script Editor. See Script Editor on page 233
for more information.
There are two types of scripts:
System Scripts: These are scripts that are installed with the SimSci APC software. You
cannot use these scripts in a sequence. You cannot edit these scripts, but you can copy
and paste the contents of these scripts into any user script.
User Scripts: These are scripts that you create. You can use these scripts in any
sequence and you can modify them at any time.
You can create, rename, and delete scripts by using the Scripts and Sequences Pane on the
Script Editor.
After you create a script, you can edit and run the script by using the Editor Pane for the
script. You can open the Editor Pane for the script by selecting the script in the Scripts and
Sequences Pane.
The SimSci APC software interprets the code for a Director calculation at runtime instead of
compiling the code before you perform runs. You can check the syntax of the code by running
the script. When you run a script, the SimSci APC software automatically saves the code in
the script and error messages appear on the Output tab in the Script Editor if the code
contains syntax errors.
Creating a script Double-click Add new script. Type the name of the new script,
and then press Enter.
Renaming a script Double-click the script. Type a new name for the script, and then
press Enter.
Deleting a script Right -click the script, and then click Delete.
Editing a script On the Editor Pane, edit the code for the script.
Running a script
On the Editor Pane, click Run Scripts .
Saving a script
On the Editor Pane, click Save Script .
Managing Sequences
A sequence is a set of scripts that you can schedule to run at a specified interval. You can
manage sequences by using the Script Editor. See Script Editor on page 233 for more
information.
You can create, rename, and delete sequences by using the Scripts and Sequences Pane on
the Script Editor.
After you create a sequence, you can specify the interval for the sequence and add scripts to
the sequence by using the Editor Pane for the sequence, which you can open by selecting
the sequence in the Scripts and Sequences Pane. The interval for the sequence determines
how often the sequence runs, and therefore, how often the scripts in the sequence run. The
Director runs all the scripts in the sequence for each sequence run. The scripts in the
sequence run one after another in the order in which they appear in the Scheduled Scripts
area.
Each script in a sequence has a specified break time. The break time determines how long a
script in a sequence can run before the Director exits the script run. If the script run does not
complete within the amount of time specified by the break time, an error message appears in
the Diagnostics window. If you set the break time to -1, the Director waits for an infinite
amount of time for the script run to complete.The Director runs any subsequent scripts in the
sequence regardless of whether the previous scripts completed their respective runs or not.
After you specify the interval for a sequence and add scripts to the sequence, you can take
the sequence online. When a sequence is online, you cannot modify it. You must take the
sequence offline to make changes. An online sequence runs at the specified interval when
the APC Project is scanning. See Scanning on page 43 for more information.
You can associate a sequence with the MVC controller. Associating a sequence with the
MVC controller does not change how or when the sequence runs.
Creating a sequence Double-click Add new sequence, and then type the
name of the new sequence. Then, press Enter.
Renaming a sequence Double-click the sequence, and then type the new
name. Then, press Enter.
Deleting a sequence Right -click the sequence, and then click Delete.
Specifying the interval for a sequence In the Interval (Milliseconds) box, enter the run
interval, in milliseconds, for the sequence. If you set the
run interval to zero, the sequence runs continuously.
Adding a script to a sequence In the Scheduled Scripts area, click Add Scheduled
Deleting scripts from a sequence In the Scheduled Scripts area, click the area to the left
of the Name column to select the scripts that you want
Associating a sequence with the MVC On the Controller Details tab, on the MVC tab, in the
controller Associated Sequence list, select the sequence you
want to associate with the MVC controller.
1. On the Editor Pane, in the Scheduled Scripts area, click Add Scheduled Script .
2. In the Name list, select the script that you want to add to the sequence.
3. In the Break Time (Milliseconds) column, type the break time, in milliseconds, for the
script.
4. Press Enter.
A PPENDIX A
Glossary of Terms
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Actuator
The mechanical device that enacts a change in the physical system that is under control.
Comments
A description box you can use to provide any significant or useful information about the tag.
Control Interval
The frequency at which a controller calculates and updates the values of its associated MVs.
Controller
A device used to act on process MVs so that the process transfers form its current operating
point to some desired target operating point. Both the MVC controller and the Optimizer are
controllers.
Coupling
The extent to which the MVC controller and the Optimizer are linked.
CV
A controlled variable. Typically, CVs are input tags.
DCS
Distributed control system.
Description
A description box you can use to describe or otherwise identify a tag.
Director
The internal programming facility for the SimSci APC software. It uses IronPython as a
language base.
Director Calculation
A customized program you can use to customize your SimSci APC application. It contains a
set of scripts and sequences.
FV
A feedforward variable. An FV can be an input tag or an output tag.
Graph Limit
The number of trends that can appear on one page of a Trend window.
LP
Linear Programming. An optimization technique used to establish the economic optimum
operating point, based on a user-supplied cost function.
MIMO
Multiple-input, multiple-output.
MV
A manipulated variable. Typically, MVs are output tags.
MVC
Multivariable Control.
OLS
Ordinary Least Squares. A mathematical technique used to derive linear process models
from plant data. This method considers all plant data simultaneously, obtaining a set of model
coefficients by minimizing the square of the model prediction error.
OPC Group
A grouping of tags on the OPC server, which the APC Project uses to communicate with the
OPC server.
PLS
Partial Least Squares. A mathematical technique used to derive linear process models from
plant data. This method considers all plant data simultaneously, obtaining a set of model
coefficients by minimizing the square of the model prediction error. It uses sophisticated
mathematics to deal with insufficient or bad data that would otherwise not reveal any
significant relationships.
PRBS
Pseudo random binary sequence. A digital test signal that simulates white noise and is used
for generating statistically rich plant data.
Prediction Interval
The frequency at which the linear model generates a prediction.
Priority
A positive integer used with the CVs and MVs in a controller to define the ranking of the
relative importance of the variables. It permits the controller to balance the number of
satisfied control objectives with the number of degrees of freedom.
QP
Quadratic programming. A constrained optimization technique used by MVC controllers.
Readback Signal
An input tag that monitors the actual value of a field point that is updated by its associated
output tag (MV).
RLS
Recursive Least Squares. A mathematical technique used to derive linear process models
from plant data. It employs a recursive approach wherein plant data is considered point by
point form beginning to end until converging on a fixed set of model coefficients, minimizing
the squares of the model prediction error.
Ruleset
A set of user-specified rules used to filter OPC server tags for the purpose of automatically
adding the tags to the APC Project.
Scan Interval
The frequency at which the APC Project communicates with the OPC servers, and thus, with
the DCS.
Scanning
A state of the APC Project in which the APC Projects performs real-time APC operations at
the specified scan interval. This includes, but is not limited to, updating tag values, running
scheduled Director sequences, and applying activated controllers.
Script
An IronPython (.py) file that contains code you can use to create a Director calculation.
Script Editor
A UI component that you can use to manage the scripts and sequences for a Director
calculation.
Sequence
A set of scripts that you can schedule to run at a specified interval.
SimSci APC Button
The SimSci APC Button contains options to create, import, open, save, and close APC
Projects.
SISO
Single-input, single-output.
Smooth
A mathematical curve operation that removes noise from the identified impulse model
coefficients for the final linear model.
Sparkline
A small trend that lacks axes and coordinates. It provides a quick, simplified preview for a
trend. You can use it to quickly determine the shape of the trend and compare the trend to
other trends.
Tag
An object on an OPC server containing stored and current data related to plant
measurements.
Translation Table
A UI component that you can use to manage string translations between the OPC server and
the APC Project.
Trend
An object that graphically displays the time-dependent behavior of tag values.
Trend Manager
A UI component that you can use to manage and reopen saved Trend windows.
Trend Range
The maximum amount of time displayed on a trend while the APC Project is scanning.
Unit
A description box you can use to describe the units of measure associated with a tag.
Update Interval
The frequency at which an OPC Group updates its associated input tag information in the
APC Project. When an input tag is updated, the current value in the DCS overwrites the
current value in the APC Project.
Validity Limit
The maximum and minimum value a tag can take and still be considered of good quality.
Variable Relationship
The results of a model identification that are associated with a certain pair of variables. The
variable pair can be a CV coupled with an MV or a CV coupled with an FV.