07-Advanced Control Products
07-Advanced Control Products
07-Advanced Control Products
1 of 137
Advanced Control Products
Key Topics
Inspect with InSight
Tune with InSight
Fuzzy
Simulate
Neural
Predict
PredictPro
Introduction to This Manual
The DeltaV Advanced Control manual contains information about DeltaV software advanced control capabilities. It includes detailed descriptions of the functions
available with DeltaV InSight, DeltaV Fuzzy, DeltaV Simulate, and DeltaV Predict.
DeltaV InSight is used to examine the health of your control system, measurements, and actuators and to tune PID and Fuzzy Logic Control (FLC) function
blocks. DeltaV InSight provides two selections: Inspect for performance monitoring and Tune for tuning.
Inspect for performance monitoring is used to analyze I/O function blocks (AI, AO, DI, DO, and PIN) and Control function blocks (DC, FLC, MPC, PID, and
Ratio) for:
tuning recommendations available to improve control performance
control performance based on Variability Index
abnormal measurement or actuator status
control utilization based on Block Mode
downstream limited condition on control
Tune automatically identifies models of processes controlled by PID and FLC function blocks during normal plant operations and automatically uses this
information to provide tuning recommendations. Also, an option is provided to allow tuning to be established on demand based on automated plant testing using
the relay self-oscillation principle. The tuning capabilities can be used to tune the control over a wide range of processes and addresses many of the requirements
in a typical operating plant. This manual provides a description of how the process dynamics associated with a control loop are captured by DeltaV Tune. It also
details how this information is used to tune your control loops.
DeltaV Fuzzy is an alternative to PID control that provides faster response and improved performance over standard PID control on most loops. The Fuzzy Logic
Control (FLC) function block is the basis for DeltaV Fuzzy. This manual describes the FLC function block principles and its standard operations. It also provides
references to other sections pertaining to this block.
DeltaV Simulate allows you to configure a DeltaV System on your laptop or office PC. You can configure all of the features that are supported by DeltaV
software without having to use DeltaV hardware. Also, you can simulate the execution of the DeltaV Operate and control modules defined for your plant using a
single workstation or distributed workstations without a physical controller. Using the Control and I/O block simulation capability of DeltaV software and
fieldbus, you can either manually supply field measurement values and status or you can have them automatically provided by function blocks or applications that
simulate the process.
DeltaV Predict implements model predictive control of small and medium-sized multivariable processes in DeltaV environments. You can control interactive
processes within measurable operating constraints while automatically accounting for process interaction and measurable disturbances. DeltaV Predict also allows
you to easily address the numerous small and medium-sized multivariable processes (2×2, 3×3 or 8×8) that can benefit from MPC technology.
DeltaV PredictPro implements model predictive control of large multivariable processes in DeltaV environments. It allows you to define as many as five control
objectives for interactive processes within measurable operating constraints while automatically accounting for process interaction and measurable disturbances.
With PredictPro you can easily address a wide variety of multivariable processes as large as 20×20 that can benefit from Model Predictive Control (MPC)
technology.
DeltaV Neural is a collection of tools you use to implement neural networks in DeltaV environments. With DeltaV Neural you can create virtual sensors to
monitor and predict process parameters that are otherwise expensive, difficult, or impossible to measure directly. Neural networks are sometimes referred to as
intelligent or software sensors.
DeltaV InSight
Inside this topic
DeltaV InSight is a suite of tools that support a systematic approach to improving control by monitoring control performance, identifying and diagnosing problem
loops, recommending tuning and maintenance improvements, and continuously adapting to changing conditions to optimize plant performance.
When Process Learning is enabled on PID blocks, process models are automatically identified based on day-to-day operations. These models are then used in
InSight to provide PID tuning recommendations and to continuously evaluate plant performance and associated controller tuning. By embedding learning
algorithms directly into the control system, InSight:
Locates hidden variability and underperforming control loops
Monitors control performance and loop operation
Enables Adaptive Control
Defines process models across the plant
Evaluates controller tuning
Delivers tuning recommendations
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 2 of 137
As a result, it may be possible to improve quality and increase throughput by reducing process variability.
Process Learning can be enabled on:
PID blocks running in the controller
PID blocks assigned to an H1 card
PID blocks running in devices
FFPID_RMT blocks running in devices
DeltaV InSight comprises the following system components:
Input/Output and Control blocks' embedded capability to support the calculation of variability, detect oscillating loops, and automatically report abnormal
conditions detected by the block.
PID Function Block Modifier that extends the functionality of the standard PID function block to enable On-Demand and Adaptive Tuning, and support
performance monitoring and diagnostics reported by the block. A PID function block must be licensed for Adaptive Control.
InSight application that enables monitoring of loop operation and tuning and process model development. Navigation Panes are provided for the two basic
features that make up DeltaV Insight :
Inspect – for performance monitoring and control tuning evaluation
Tune – for accessing and working with On-Demand and Adaptive Tuning recommendation and loop tuning evaluation
Licensing for Adaptive Control
With the exception of closed loop Adaptive Control, all InSight functionality is available with a DeltaV InSight system license assigned to the ProfessionalPLUS
workstation (small, medium, large, very large systems). Refer to the DeltaV Explorer online help for information on how to load license files. Contact your
Emerson Process Management representative for sizing information for InSight system licenses.
To enable closed loop Adaptive Control, separate DeltaV Adapt Function Block license bundles must also be assigned to the ProfessionalPLUS workstation and
then assigned to FLC and PID blocks running in the controller. PID blocks running in the H1 card and in fieldbus devices cannot be licensed for closed loop
Adaptive Control. The DeltaV Adapt Function Block license bundles stipulate the number of blocks that can be licensed for closed loop Adaptive Control: DeltaV
Adapt 1 Function Block, DeltaV Adapt 10 Function Block, and DeltaV Adapt 100 Function Block.
Assigning Adapt Function Block License Bundles to the ProfessionalPLUS Workstation
Follow these steps to assign DeltaV Adapt 1, 10, or 100 Function Block License bundles to the ProfessionalPLUS workstation.
1. Open DeltaV Explorer and select the Licenses container.
2. Select a DeltaV Adapt Function Block License bundle or multiple bundles and drag them to the ProfessionalPLUS workstation. The license bundles are
sized for 1, 10, and 100 blocks. Assign any combination of license bundles to equal the number of blocks that will be used for Adaptive Control. For
example to license 21 blocks, assign two DeltaV Adapt 10 Function Block licenses and one DeltaV Adapt 1 Function Block license.
Another way to assign DeltaV Adapt Function Block licenses is to select the ProfessionalPLUS workstation and select Licensing | Assign a License from the
context menu.
Assigning an Adapt License to a PID Block in Non Class-Based Modules
Adapt license can be assigned to PID blocks in modules that are not class-based and to PID blocks in class-based modules.
Follow these steps to assign an Adapt license to a PID block in a non-class based module.
1. Select the PID block under an Area in the DeltaV Explorer.
2. Select Licensing | Assign Adapt License from the context menu.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 3 of 137
3. Download the controller setup data after assigning Adapt licenses.
Assigning an Adapt License to a PID Block in Class-Based Modules
For class-based modules, you must first expose the ENABLE_LEARNING parameter to configure process learning and then assign an Adapt license to PID blocks
in instances of that class. By default, the ENABLE_LEARNING parameter is not exposed on module classes.
1. In the DeltaV Explorer select the module class and click Configure to open the Configuration dialog.
2. Select the Parameters tab.
3. Click the Add button and browse to the PID block's ENABLE_LEARNING parameter.
4. Select the ENABLE_LEARNING parameter and click OK in the Browse dialog to add ENABLE_LEARNING to the module class.
When the ENABLE_LEARNING parameter has been exposed for configuration in a module class, you can enable or disable learning for module instances based
on the class and assign or unassign licenses to PID blocks in module instances based on that class. Refer to the Module Classes topic for information on
propagation behavior and inheritance in module classes.
Adapt licenses are assigned to PID blocks in class-based modules in the same way as non class-based modules: select the PID block in the DeltaV Explorer and
select Licensing | Assign Adapt License.
In the following sections, the DeltaV InSight topics provide a description of the algorithms used by InSight. Also, provided is information on how to use the
InSight applications for tuning and performance monitoring. Application examples are provided for both applications. Understanding the details of the InSight
algorithms is not necessary to successfully use InSight. Unless you have an interest in how the InSight algorithms operate and how they are implemented, go
directly to the DeltaV InSight topics. For information on enabling Process Learning, refer to the Parameters section of the PID Function Block topic.
DeltaV Insight Overview
The InSight applications enable you to examine abnormal operating conditions that have been detected by I/O and Control blocks and access the recommended
tuning and associated process models that are developed on demand or automatically during normal plant operation. The time-critical process identification and
adjustment of tuning functions are performed through the use of block modifiers that execute with the PID function block and operate independently of the InSight
application. This approach allows the process dynamics to be precisely captured without introducing errors from communication delays. InSight can be used to
view the model identification and tuning performed by the function block. The following image shows the DeltaV InSight architecture.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 4 of 137
DeltaV InSight Architecture
Inspect with InSight
Inside this topic
Poorly tuned loops and malfunctioning field devices can jeopardize product quality and, quite often, production or yield. Therefore, the ability to inspect control
and measurement loops quickly is of primary importance. InSight provides advanced process monitoring that allows under-performing loops and malfunctioning
field devices to be identified instantly. In providing this advanced capability, InSight takes full advantage of the fieldbus block architecture supported in the
DeltaV system. A Bad, Uncertain, or Limited measurement, downstream limitations in control, and incorrect mode of operation are automatically determined
based on block mode and status of block parameters. In addition, the Input/Output function blocks (AI, AO, DI, DO, and PIN) and Control function blocks (DC,
FLC, MPC, PID, and Ratio) include two parameters that are provided to support performance monitoring. These parameters are updated automatically without any
extra block configuration. Since most calculations required for performance monitoring are done in function blocks, this approach greatly simplifies InSight and
reduces network traffic between controller and workstation.
The InSight user interface provides indices that quantify loop utilization, measurements with a Bad, Uncertain or Limited status, limitations in control action,
process variability, and availability of recommended tuning. In addition, the Overview page shows control performance and utilization for a selected area, unit, or
cell.
InSight performance monitoring contains the following features:
Innovative loop performance and loop utilization monitoring techniques
Easy custom settings
Summary results presented in a graphical way (bargraph) for hour, shift, and day
Easy access to detailed results for modules and blocks and device alerts
Guidance for improving performance
An easy-to-use user interface
From the user interface you can monitor the performance of the entire plant or any part of the plant of particular interest. DeltaV also includes an Inspect function
block and an Inspect dynamo. Operators can use the function block to enable and disable areas and make utilization information available for viewing, plotting,
adding to history, and so on. The dynamo can be used to provide operators easy access to data.
Reporting Loop Utilization and Performance
InSight consists of one server and multiple clients. The server is the central collection point for the information obtained from the DeltaV controllers. The server
calculates the percent time an abnormal condition is present for hour/shift/day, compares the results of these calculations with percent time limits you set to detect
an abnormal condition or an under-performing loop, and provides this information to clients for viewing upon request. Refer to Setting Limits for more
information. The clients (Inspect with InSight) can access information only through the server.
The existence of an abnormal condition is determined within the controller based on function block parameters in the controller (such as measurement status, back
calculation input status, standard deviation, tuning index, and mode). The state of these monitored conditions are automatically reported to the DeltaV Inspect
server on an exception basis. This server is located on the DeltaV ProfessionalPLUS workstation. The server calculates the percent time a condition is active and
flags it if the value is above a maximum percent time limit. These results can be accessed through any DeltaV Inspect client.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 5 of 137
Information Flow for InSight Performance Monitoring
The status and actual mode parameters are used by the function block to determine incorrect mode, Limited control, and Bad, Limited, or Uncertain measurement
status. Other parameters are used within the block to calculate standard deviation, Tuning and Variability Index, and to determine if these values exceed limits set
for the block. These conditions are communicated in a single parameter to the server only when a monitored condition changes state. Therefore, the
communication load for reporting these parameters is usually very small.
When the DeltaV Inspect Server is initially placed online, the current state of all monitored conditions is reported to the DeltaV InSight server by the DeltaV
controller. From that point on, these parameters are reported by the controller only if one of the monitored conditions changes state.
Loop Performance Calculations
This section provides details about the calculations performed by the DeltaV control blocks to evaluate control performance. Read this topic if you are interested in
how these calculations are performed. Otherwise, refer to the Using Inspect with InSight topic.
A Variability Index (VI), a measure of the quality of control, is calculated in all DeltaV Control blocks.
If Process Learning is enabled for a PID block and a process model has been automatically identified, the function block will calculate a Tuning Index. The Tuning
Index indicates the potential for improving control performance by updating controller tuning according to the identified process mode; and the selected or default
tuning rule.
Through the Variability and Tuning Index calculations, you can better judge the performance of plant control. These calculated performance measurements can be
viewed at DeltaV workstations that support DeltaV InSight clients. InSight identifies Control blocks, whose Variability Index and total standard deviation exceeds
the configured limits. In Control function blocks, the total standard deviation and capability standard deviation are calculated. Based on these two values,
Variability Index is calculated in the function block and compared to a limit. These conditions determined in the block are reported to the DeltaV InSight server
where the condition becomes visible if it persists longer than the specified percent (%) time limit for high variability.
In the InSight server, overall control performance is calculated as follows:
Performance = 100-Average % time high variability as reported by the block.
VI - Variability Index
The overall control utilization is as follows:
Utilization = Average Percent Time Control blocks were in Normal Mode%
To support the performance calculations performed in the Control function blocks (FLC, MPC, MPC Pro, PID, and Ratio) and fieldbus devices, calculate ,
, and VI. and are visible parameters (STDEV and STDEV_CAP respectively) of these function blocks. The block parameter STDEV_TIME
determines the timeframe over which these calculations are performed.
Calculations in Function Blocks
The I/O function blocks (AI, AO, and PIN) and Control function blocks (FLC, MPC, MPC Pro, PID, and Ratio) in DeltaV controllers and fieldbus devices support
the STDEV and STDEV_CAP parameters, and . These intermediate calculations are done each time one of these function blocks execute. After N
executions of the function block (where N = 120) or two minutes (whichever is longest), the parameter values are updated.
The total standard deviation, , is calculated using "moving time window computation" based on N=120 executions of the function block and the time horizon
(in seconds) defined by STDEV_TIME as follows:
Where:
= mean absolute error
is the function block output
is the function block output mean value
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 6 of 137
WFstd = 120/((STDEV_TIME/module execution period) + 120) = standard deviation filter factor
= Previously calculated value of
The PV is used in the I/O block to calculate the mean values as follows based on N=30 executions of the function block and the time horizon defined by
STDEV_TIME.
Where:
WFmean = 30/((STDEV_TIME/module execution period) + 30) = mean value filter factor
= Previously calculated mean value of the function block output
In Control blocks, either the working setpoint or PV is used, depending on the block mode.
The capability standard deviation, , is calculated as follows:
Where:
= average moving range
= Previously calculated value of .
Only the summing component associated with the mean absolute error (MAE) and moving range (MR) is computed at each execution of the function block. The
parameter STDEV_TIME should be set to match the time response for the process (in seconds) and by default is set to zero.
Where
S is the sensitivity factor that makes calculations stable. The default value is 0.1% of the variable scale.
is the actual measured standard deviation.
is the estimated capability standard deviation (measurement of short-term variation)
The Tuning Index is based on the variability difference estimate for the current controller tuning (PID1) and the model-based desired controller tuning (PID2).
The Tuning Index indicates the potential for improving control performance and is defined as the ratio of the potential non-compensated PID variability reduction
to the actual PID non-compensated variability, for example:
In the implementation, the standard deviation's ratio is used instead of the variances ratio which results in the formula:
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 7 of 137
The Tuning Index estimates how much PID variability can be reduced by applying model-based tuning. The Tuning Index calculation requires estimates for
process model parameters , , as described here:
is the parameter of the assumed noise Z-transform model
It is assumed
- sampling period
tuning formula:
as
where is the desired closed loop time constant for a new tuning that can be defined from the process model time constant and lambda factor as
.
Calculations for the integrating process are:
and
Where:
K is PID controller gain
is PID integral time (reset)
is self-regulating process gain
is integrating process gain
is process deadtime
Identification of Under-Performing Loops
The following block measurement and processing conditions are automatically identified by InSight based on block mode and parameter status:
Mode Incorrect - The actual mode of the block does not match the Normal mode configured for the block. This can be caused by the operator changing the target
mode because of poor response or equipment malfunction.
Limited Control (Action) - BKCAL_IN status of the block is either high limited or low limited, indicating that a block downstream from the control block has
reached a setpoint or output limit. Such limitations can prevent the loop from achieving or maintaining setpoint. Limiting is detected through BKCAL_IN only if
the block is wired to another block such as AO. If a PID block with direct I/O is used, limiting is detected through BKCAL_OUT. The limited condition is
suppressed if this block is not selected by the downstream block because the downstream block should be flagged for incorrect mode.
Uncertain Input - The status of the block process variable (PV parameter) is Bad, Uncertain or Limited. A sensor failure, miscalibration of the measurement
range, or measurement diagnostics have detected a condition that requires attention by maintenance.
High Variability - Standard deviation and the Variability Index calculated by the block exceed their default configured limits.
Tuning Recommendation is Available - The Tuning Index calculated by the block exceeds its default or configured limit.
The percent of the time that these conditions exist over an hour, a shift, or a day is computed for every block by the DeltaV Inspect Server and compared to a
configured global limit for each condition. When one of these limits is exceeded, the associated module is displayed in InSight.
Identification of Malfunctioning Devices
InSight monitors devices for the following device diagnostics values:
Advisory Device Count
Maintenance Device Count
Failed Device Count
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 8 of 137
Comm Fail Device Count
Total Device Count
The diagnostic values are sent to the Inspect block as totals for the time period. For the Now time frame, the value is 0 or 1. For all other time frames, the values is
the total count of the time the value was true. For large systems, this will typically be the number of minutes in the time frame. However, for small systems where
there are fewer than 60 modules enabled, there may be more than one read per minute. This is similar to how data is polled for other items.
These values are available to InSight directly from devices that support PlantWeb rules (fieldbus devices, for example). No additional configuration is required.
For other devices, use the Diagnostic function block to access device diagnostic information and make it available to InSight. Parameters that indicate device
diagnostic information can be wired to the Diagnostic block directly or processed by other blocks first, if necessary.
When you use Diagnostic blocks it is important to give each block a unique name. It is recommended that you name the Diagnostic blocks the same as the device
the block refers to. Because the Devices page does not include the module name in which a Diagnostic block resides, this naming convention eliminates duplicate
names and gives operators more meaningful information.
Using Inspect with InSight
Inside this topic
InSight performance monitoring does not require any configuration or setup. To use InSight for performance monitoring, click Start | DeltaV | Advanced Control
| Inspect with InSight. The following figure shows DeltaV InSight opened to the Overview page.
InSight Interface for Performance Monitoring
Refer to the Using Tune with InSight topic for other ways of launching InSight.
Before InSight will recognize any changes or downloads of modules to a controller, you must download the controller setup data.
Note The first time that you access InSight for performance monitoring, it displays the number of modules active as 0 because, by default, no areas are enabled for
data collection. To enable an area for Inspect, select the area in the hierarchy and select Enable Inspect for Area from the context menu.
If you need to delete module assignments from controllers in your configuration follow this recommended procedure.
The InSight user interface for performance monitoring consists of the hierarchy in the left pane and three pages: Overview, Summary, and Devices.
Overview Page
The Overview page includes a summary of the blocks that have one or more abnormal conditions and shows active device alerts. The Overview page contains the
following sections:
Control Condition
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 9 of 137
This section graphically shows the percent of downloaded modules containing blocks that have abnormal conditions. The actual number of modules that have each
of the abnormal conditions is listed on the graph. The Tuning value indicates the number of loops that would benefit from the Adaptive Tuning recommendations.
The Variability Index is a measure of the quality of the control. The Oscillation Index, available when Process Learning is enabled, defines how a PV's signal
resembles the oscillatory signal. The Device Alert value presents a summary of the information on the Devices tab. When an abnormal device alert occurs, the
associated module or block shows a device alert. The Control Utilization values indicate the percent time the control was within variability and the control blocks
were used as designed.
Devices in Alert Section
This section graphically shows the percent of devices monitored at each of the four alert levels: Device Failed, Maintenance Soon, Advisory, and Communications
Failed. The actual number of devices at each of the alert levels is shown on the graph. The numbers include all devices (fieldbus or not) that are monitored for
maintenance state.
The information of interest is the worst currently active alert level for the monitored device. For example, a device may have multiple alert levels active at one
time but only the highest level will be reflected in the overview. For fieldbus devices, this alert information comes directly from the device's shadow block.
Communications Failed is the highest priority for fieldbus devices; no other alerts are present when Communications Failed is Active. For nonfieldbus devices,
add Diagnostic function blocks to modules to report device alerts. Refer to the Diagnostic function block topic for information.
Summary Page
The Summary page provides performance information and a summary of abnormal conditions for all modules or only for modules that have exceeded limits,
depending on the setting you selected in the Filters area. When DeltaV System, an Area, or module is selected in the hierarchy, the Summary page shows overview
information for the selection. For example, when an Area is selected in the hierarchy, the Summary page provides overview information for all modules in that
area that contain I/O and Control function blocks. Modules containing I/O function blocks (AI, AO, DI, DO, and PIN) and Control function blocks (DC, FLC,
MPC, NN, PID, and Ratio) appear in the Module Name list. Also, with the exception of the FFMDI, FFMDO, and FFMAI blocks, modules containing most of the
extended function blocks appear in the Module Name list. The abnormal conditions that can be detected are abnormal block mode, limited control, uncertain input,
and whether the limits for average variability index and oscillation index have been exceeded. The Tuning column indicates if the loop would benefit from the
Adaptive Tuning recommendation. The Report column indicates if reporting is enabled or disabled for the block. Use the context menu commands to enable or
disable reporting. When reporting is enabled on a block, information about that block is included in performance reports that can be exported from InSight and
used in office applications such as Excel 2007. Refer to InSight Performance Reports for information on creating and generating reports. Reporting can also be
used as filtering criteria to limit the information shown on the Summary page. Similarly, to filter the information shown on this page, you can assign a priority (1-
5) to modules and blocks. Use the context menu commands to assign a priority. The priority applies to modules and blocks below the selection. You can select
multiple items on this page using the standard methods of multiple selection: shift click and control click. A grayed cell indicates that the condition does not apply
to the block. Context menu commands are available from the module and block level. Use these commands to open Control Studio and Diagnostics from a
module, to enable or disable Inspect for a module or block, enable and disable reports, and set a priority for a module or block. The following image shows the
Summary page with an area selected in the hierarchy.
Summary Page with an Area Selected in the Hierarchy
Modules are listed in alphabetical order. Select a module in the hierarchy to see performance information about the I/O and Control blocks in the module. If one
or more blocks in a module has exceeded one of the limits, the associated problem is indicated by an icon. You can change the icon from the View menu. To see
detailed information about a block, double-click the icon related to that block on the Summary page or select the block in the hierarchy.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 10 of 137
Summary Page with a Block Selected in the Hierarchy
Use the information on the block Summary page to identify conditions causing the module to exceed its limits, as well as the percent of time that the condition was
abnormal.
Control Conditions
The % Limited column shows the percent of time that an abnormal condition has existed during the currently selected timeframe. If the % Limited value exceeds
the number in the Limit column, the value in the % Limited column is shown in red. This condition also causes the exceeded icon to be shown on the area and
module summaries for this block. The limits shown in this area are global limits that apply to all blocks. Refer to Setting Limits for more information on global
limits. Conditions not applicable to the currently selected block are marked n/a. Oscillation and Tuning are only applicable when process learning is enabled on the
block. Device Alert is only applicable when the block is assigned to a fieldbus or HART device. Variability is based on Variability Index and Standard Deviation.
Note The MPC, MPCPro, and Neural Network (NN) function blocks have multiple input and output values that can cause limited control or uncertain input
conditions. For these multi-variable blocks, the Inspect application is unable to display the current value of the parameter that is causing the limited or uncertain
input condition and displays n/a in the Current Value column and active values in the % Limited and Limit columns. To identify the source of limited control or
uncertain input for multi-variable blocks, use the blocks' engineering or operator applications such as PredictPro or MPCPro Operate.
Performance Indices
The Average column shows the average values for the selected timeframe. Indices not assigned to the Continuous Historian are marked n/a. Averages are
calculated on the Current and Previous timeframes. Averages are not calculated on the Now timeframe. Refer to Filtering Items to Monitor for more information
on the timeframe choices. Conditions not applicable to the currently selected block are marked n/a. The Oscillation and Tuning indices are only applicable when
learning is enabled on the block. The limits shown in this area only apply to this block. Refer to Setting Limits for more information on limits on individual blocks.
The Easy InSight History Collection command simplifies history assignment by adding the control performance indices (Standard Deviation, Variability Index,
Tuning Index, and Oscillation Index) to the Continuous Historian's history collection for the selected block. To access this command, expand a module under an
Area in the DeltaV Explorer and select the command from the block's context menu. By default, this command uses a history sampling period of 60 x module
execution rate. Be aware that if the block scan rate is greater than the history sampling period, it is possible to collect history multiple times per block and clutter
the historian with unnecessary data. It is recommended that you manually adjust the historian sample rate if you use the Easy InSight History Collection command
with a block running at a scan rate greater than 60 x module execution rate. To manually adjust the sampling rate, select the Continuous Historian in the DeltaV
Explorer and select History Collection from the context menu.
You can modify the trend for a block parameter by selecting the parameter in the Legend. Click Options | Legend Enabled to view the Legend.
The current values for the selected block's parameters (Out, PV, SP) as well as the Normal and Target modes and Standard Deviation time are provided in the table
in the lower right corner of the Summary page.
Write to Inspect Alarm
The Write to Inspect Alarm command is available from the Summary page. Select a block and click the right mouse button to access this command.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 11 of 137
Accessing the Write to Inspect Alarm Command
When this command is selected, the block's INSPECT_ACT parameter will trigger the Inspect block alarm if Inspect is enabled and one or more of the block limits
have been exceeded. The Inspect block alarm is triggered if both of the following conditions are true:
The Write to Inspect Alarm command has been selected from InSight for this block.
With the "Current Hour" filter selected, InSight indicates that an abnormal condition exists for Mode, Control, Input, or Variability. Note that an abnormal
condition exists for Variability only if both the Variability Index and the Standard Deviation have exceeded their limits.
To assign the INSPECT Block Alarm, select the block in Control Studio, and select Assign Alarm from the context menu.
Devices Page
Select the Devices tab to display the Devices page.
Devices Page
The Devices page provides a list of field devices that have abnormal alert conditions. Filter selections are available to show all devices, devices in alert only,
fieldbus devices in alert only, or none. The timeframe is always Now for information shown. The Devices page lists the device name (or the associated Diagnostic
block name for nonfieldbus devices) and the active alert conditions, if any, for each device. Right clicking on a block or device opens a menu from which you can
open the appropriate detail analysis application, if one exists. If a Fisher-Rosemount fieldbus device is selected, the choice to open AMS Device Manager software
appears.
Selecting Items to Monitor
InSight monitors all I/O and Control blocks that are downloaded to any DeltaV plant area, process cell or unit module that has been enabled through the InSight
interface.
Note InSight limits the number of blocks it watches to 10,000. The system prevents you from enabling an area that would add enough blocks to exceed the limit.
To enable and disable InSight performance and utilization calculations, select the area, process cell, or unit module and select a command from the context menu
in the Inspect hierarchy.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 12 of 137
Enabling Inspect from the Hierarchy
For those modules that are contained within an area assigned to InSight, the software automatically includes all of the I/O function blocks (AI, AO, DI, DO, and
PIN) and Control function blocks (DC, FLC, MPC, PID, and Ratio) as long as those modules have been downloaded to a DeltaV controller. As modules are added
or deleted, InSight detects these changes. In other words, no module-level configuration is necessary for tags to be included in InSight. You can enable and disable
performance and utilization calculations for individual modules by selecting the module in the hierarchy and using the context menu commands.
Note that if you disable all the blocks in a module and have the Filters area Modules toggle set to Limit Exceeded Only, the module you disabled disappears from
the Module Name list. To make it reappear, set the Modules toggle to All Modules.
Using the Context Menu Commands
Context menu commands are available from all levels in the InSight hierarchy. The context level commands vary depending upon the item selected. To use the
context menu commands, select an item in the hierarchy and click the right mouse button. From the DeltaV system level you can:
Enable/Disable Inspect for the DeltaV system
Enable/Disable Inspect for the DeltaV system and all sub-areas
Enable/Disable InSight Performance Reports
Set priorities
Change Performance Index Limits
For modules, you can use the context menu commands to:
Open Control Studio in various modes in context with the module
Launch Diagnostics in context with the module
Enable Inspect for the module
Enable/Disable InSight Performance Reports for the module
Set priorities
Change Performance Index Limits
For blocks, you can use the context menu commands to:
Enable Inspect for the block
Enable/Disable InSight Performance Reports for the block
Write to the Inspect Alarm
Set priorities
Filtering Items to Monitor
The filter settings you make help determine what modules and blocks are included in the performance and utilization calculations. You can filter by time period,
block types, report status, priority, device status, and module status. You can set filters from the Filters dialog which is accessed through the Options menu or from
the InSight Toolbar. The filter selections from the toolbar and dialog are the same; the only difference is how they are accessed.
Filter Toolbar
The following section describes the filter selections when accessed from the Filters Dialog There are three areas on the filters dialog: Time Filters, Control Filters
and Device Filters.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 13 of 137
Filters Dialog
There are two time filter pulldown lists: Time Frame and Time Window. The choices for Time Frame are Now, Current, and Previous. The choices for Time
Window are Hour, Shift, and Day. If you select Now, the Time Window list is not available and the InSight performance monitoring view shows the instantaneous
parameter values of the block and uses these values to determine if a module is in the Module list. By combining selections in the two lists you can filter the data
for the following time periods:
Current Hour
Current Shift
Current Day
Previous Hour
Previous Shift
Previous Day
In the Block Types area, select one or more types of blocks to include in the InSight window. To display only Control blocks with Process Learning enabled, select
Identification Enabled only in the Block Types area. When Process Learning is enabled for Control blocks, the DeltaV system automatically identifies process
models. Refer to the Using Tune with InSight topic for information on Process Learning.
In the Modules area, you can elect to show all modules in the Module list or only those modules that have at least one block that exceeds a limit (either for average
variability or percent of time that the mode, control, or input was abnormal).
In the Report area, you can elect to show data for all modules and blocks or only for modules and blocks with reports enabled.
In the Priority area, you can display data for modules and blocks based on the priority selection: All Priorities, Priority 1-4, 1-3, 1-2 and 1.
In the Device Filters area, select whether you want to see data for all devices, only devices in alert, only fieldbus devices in alert, or none.
Setting Limits
Limits used by InSight are, in some cases, set on individual blocks while other limits globally apply to all input, output, and control blocks in the system. If one or
more blocks in a module has exceeded one of the limits, the problem is indicated by an icon on the Summary page. Select a block in the Inspect hierarchy or
double-click a block on the Summary page to see block limits.
Block Limits on the Block Summary Page
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 14 of 137
The limits under Control Conditions are global limits for all blocks. The limits under Performance Indices are per block. The Performance Index Limits Utility can
be used to set performance limits on multiple blocks. Refer to Using the Performance Index Limits Utility.
Setting Limits on Individual Blocks
The limits for the performance indices: Standard Deviation, Oscillation Index, Variability Index, and Tuning Index are by block. The Tuning Index indicates the
potential for improving control performance by updating controller tuning according to the adaptive model and users' tuning requirements. The Oscillation Index
defines how a PV's signal resembles the oscillatory signal. Refer to Variability Limits for information on the Variability Index. The defaults are:
Standard Deviation is 5% of the EU span,
Oscillation Index is 50% of the value
Variability Index, is 30% of the value
Tuning Index is 50% of the value
If you have Tune privileges you can change these limits. To change a limit, click the limit you want to change and modify it in its cell.
Setting Global Limits
For all blocks, a default limit of 10% is provided for Incorrect Mode, Limited Control, Uncertain Input, Large Variability, Oscillation, Tuning, and Device Alerts.
If you have tune privileges, you can change these limits using the Global Limits for Inspect Statistics dialog. Be aware that these limits affect all input, output, and
control blocks and not just the selected block. Click Options | Global Limits Setup to open this dialog box.
Dialog for Setting Global Limits
Percent time limits are used only when the time filter is set to current and previous hour, shift, and day. When Current and Previous are selected as the time filter,
Inspect indicates an abnormal condition on the Summary tab when the abnormal tuning condition exceeds the percent (%) time limit. For example if the percent
(%) time limit is set to 10%, the abnormal tuning condition must have existed for more than six (6) minutes in the previous hour before Inspect indicates it as an
abnormal condition on the Summary tab. When Now is selected as the time filter and an abnormal tuning condition occurs, Inspect indicates the condition
regardless of how long the condition existed.
Percent time limits detect when blocks are not operating as expected for too long a period of time. Limits can be set on:
Incorrect mode - the percent of time the mode is incorrect (not in the configured Normal mode)
Limited control - the percent of time the control is Limited
Uncertain input - the percent of time the block PV is Bad, Uncertain, or Limited
Large variability - the percent of time the Variability Index exceeds the block-specific Variability Index limit
Tuning - the percent of time the Tuning Index exceeds the block-specific Tuning Index limit
Oscillation - the percent of time the Oscillation Index must exceed the block-specific Oscillation Index limit
Device alert - the percent of time that a device alert must be present
The Tuning Filter section is used to determine when tuning recommendations are displayed in InSight. Each PID block with process learning enabled has a Tuning
Index and Tuning Index Limit parameter (ADP_TUN_IDX_LIM). An abnormal tuning condition exists when the value of the Tuning Index exceeds the block's
Tuning Index Limit value. The Tuning Filter selections are:
None - Inspect displays abnormal tuning based on each block's Tuning Index Limit (ADP_TUN_IDX_LIM) value
20% - Inspect displays abnormal tuning for all blocks when the Tuning Index 20% regardless of the Tuning Index Limit (ADP_TUN_IDX_LIM) value
50% - Inspect displays abnormal tuning for all blocks when the Tuning Index 50%
The options under "Display only if" are additional filters that enable you to refine the tuning filter selections:
Model has High Quality - Inspect displays abnormal tuning only based on High Quality models and if the tuning index meets the criteria specified in the
Tuning Filter selection (None, 20%, 50%)
Loop has High Standard Deviation - Inspect displays abnormal tuning only if the loop exceeds its high standard deviation limit and if the tuning index meets
the criteria specified in the Tuning Filter selection (None, 20%, 50%)
Note Global limits for percent time abnormal are set or changed from the Inspect clients but are stored in the server. All clients use the same set of global limits,
regardless of which client set them. Block specific limits for detection of high Standard Deviation, Variability Index, Tuning Index, and Oscillation Index are
stored in the associated block.
Using the Performance Index Limits Utility
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 15 of 137
The Performance Index Limits Utility is used to set limits on the performance indices (Standard Deviation, Variability Index, Oscillation Index, and Tuning Index)
on multiple PID blocks with process learning enabled. It can also be used to set the standard deviation time on PID blocks. Performance limits can be set to a
calculated average plus a user-specified bias value or to a user-specified fixed value. For standard deviation time on PID blocks, the performance limit can be set
through a user-specified fixed value or automatically by the application. Click Options | Change Performance Index Limits to open this utility:
Performance Index Limits Utility
Selecting Blocks
Select the blocks from the hierarchy in the left pane. You can select all blocks in all areas in the DeltaV system, all blocks in all modules in a selected area, all
blocks in a module, or individual blocks. In the preceding image, all blocks in the module PID_LOOP_1 are selected. To select an individual block, expand the
hierarchy under the area and module containing the block. Click in the box to the left of an item to select it. A check mark indicates the item is selected.
Selecting Limits
After you select the items in the hierarchy, select the limits that you want to change in the Performance Index Limits section. You can click the Show current
averages button to display the current averages in the Data View table. The Show current averages button is not enabled until a limit is selected in the Performance
Index Limits area. The following image shows the Performance Index Limits area.
Performance Index Limits Area
Selecting the Time Frame
Select the time frame from which data calculations are made. Refer to Filtering Items to Monitor for more information on the time frame selections. If history is
not available for a block, you can specify that the current value is used.
Setting Performance Limits
There are two ways to set performance limits:
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 16 of 137
Adding a bias value to the calculated average
Adding a fixed value
To set a performance limit, select either the Calculated average plus bias value option or the Fixed value option, select the limits that you want to change in the
Performance Index Limits section, specify a bias value or fixed value, and click the Execute button. The newly calculated limits are shown in the data view table
which is shown below.
Data View Table
Setting a Standard Deviation Time
For standard deviation time on a PID, the choices are:
Adding a bias value
Automatically setting the limit through InSight
To set the standard deviation time on a PID, select the Auto set option or deselect this option and specify a bias value. When the Auto set option is selected, the
utility determines the appropriate value to use. If the PID block has process learning enabled, the value for the Auto set option is BLOCK\ADP_TSS; if process
learning is not enabled, the value for the Auto set option is BLOCK\RESET*4. Click the Execute button after entering a bias value or selecting Auto set. The
newly calculated limit is shown in the Data View area.
Understanding the Status Icons
Icons in the hierarchy indicate the status of the limit setting. A green check mark indicates complete success and the red X indicates the failure of at least one limit
setting. You can double-check the icons to see a result summary of which limits failed and which succeeded.
Result Summary Dialog
You cannot change limit settings on nodes with a status icon. You must first clear the image. To clear an image, select it and click Clear State Image from the
context menu.
Use the Update Learning Enabled button on the Performance Index Limits Utility to update the PID block's ENABLE_LEARNING parameter. Refer to the PID
function block's parameters table for information on the ENABLE_LEARNING parameter.
Use the Initialize Models tab to re-initialize the selected blocks to the last approved model.
Deleting Module Assignments from Controllers
If you need to delete module assignments from controllers in your configuration the recommended way is:
1. View Assigned Modules for the controller.
2. Right click on the module and select Delete Assignment.
3. Right click on the module again and select Download | Delete From Controller.
4. Download Setup Data to the controller.
If you attempt to remove module assignments from your configuration by deleting the assignment to a controller, then performing a total download, you must
download the controller twice (total download followed by Download | Setup Data) to prevent the InSight user interface from displaying modules that have not
been completely removed from the controller. This additional download is necessary because of the way the system manages module assignments and deletions
during the download process.
Variability Limits
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 17 of 137
Variability Index shows a control loop performance relative to the best possible performing loop (Minimum Variance Control Loop). In theory, a perfectly tuned
loop has Variability Index close to zero. It should be noted, however, that minimum variance control is neither achievable in real control loop nor desirable to
achieve. At perfect minimum variance control, a control loop experiences excessive movement of the controller output and has a rather narrow stability margin.
Variability Index close to one hundred percent (100%) indicates an extremely poorly tuned loop. To achieve a compromise between as low as possible variability
and reasonable loop stability margin, Variability Index of around fifty percent (50%) should be satisfactory for most loops. Fine adjustment of Variability Index
limits should be determined based on the loop performance when it is correctly tuned.
Printing
When you select either the Print icon or File | Print, a dialog appears from which you can print either an active module summary report or a detail report on the
local workstation printer or the selected network printer. The active module summary report contains the Performance Index, Control Utilization, total number of
active modules, and the number of modules with one or more blocks that is in an incorrect mode or has Limited Control, Uncertain input, or large variability. The
detail report contains the Percent Time Abnormal, Average Standard Deviation, and Average Variability Index for each I/O or Control block for the selected Time
Frame.
Defining an Inspect Operator Interface
The DeltaV system includes two items you can use to create ways for operators to interact with InSight: the Inspect function block and the Inspect dynamo. For
information on configuring and using the Inspect function block, refer to the Inspect Function Block topic.
Use the Inspect dynamo in the DeltaV system to include InSight utilization calculation results in operator displays. When you insert the dynamo in a display, it
prompts you for the tag of an Inspect block. The dynamo also shows the area over which the calculations are made and a button operators can use to enable and
disable the calculations for the area. The following figure shows how the Inspect dynamo appears in a display.
Inspect Dynamo
From the dynamo, an operator can enable or disable InSight calculations for the area named in the dynamo. The two fields on the dynamo show the calculated
performance and utilization for the modules in the area. The background color of these fields is invisible if the data status is good, orange for uncertain status, red
for bad status, or magenta when data is not being communicated.
Application Examples
The following information provides common examples to illustrate how some of InSight's performance monitoring key features can be used in an operating plant.
Tuning Recommendation Available
A new plant area is being commissioned. The new area is selected in DeltaV InSight and Process Learning is enabled on all loops in the area. As the new area is
brought on-line, the operator places some loops in Manual while other loops are placed in Auto using the default tuning or an estimate of the tuning that was
entered during system configuration. During commissioning, the process engineer responsible for the new area notices that DeltaV InSight indicates that tuning
recommendations are available for many loops in the new area. Using the Models Viewing page in Tune with InSight, the engineer confirms that the models
identified by DeltaV InSight are consistent and control can be improved by the recommended tuning. He applies the recommended tuning and notices a significant
reduction in process variability.
Loop Not in Normal Mode
A critical process input flow loop is designed to run normally in Cascade mode with its setpoint set by a composition loop (the loop's Normal mode element has
been configured as Cascade). However, on the midnight shift, the operator changes this flow loop to Auto because of wide fluctuations in the setpoint. The next
morning, the process engineer for the plant sees that InSight flagged the actual mode as being incorrect for more than one percent (1%) of the time. The process
engineer can use this information to quickly determine that a problem existed in the primary loop tuning. By quickly identifying and resolving this problem, the
process engineer can minimize any off-specification product that resulted from manual adjustment of this key flow.
Limited Output
An instrument technician for a power plant notices InSight showing the oil flow control loop as being limited in operation. The instrument technician finds that the
setpoint for the oil header pressure control was below the design pressure, forcing the oil valve to go completely open under heavy load conditions. By adjusting
the pressure back to its designed target, the oil valve can now meet its setpoint without going completely open.
Uncertain Input
InSight flags a key temperature measurement as Bad over one percent (1%) of the time over the last day. The instrument technician examines the transmitter
calibration again and finds that the device was calibrated for too low of a temperature range. The instrument technician resolves the problem by recalibrating the
transmitter for the correct temperature range. Recalibrating the transmitter might improve the accuracy of the measurement. Any improvement in accuracy of the
measurement also improves the process operation.
High Variability
During normal operation of the plant, a plant engineer sets all Variability Limits to the current value plus ten percent (10%). After a few weeks, he notices that
InSight flagged a critical flow loop as having excessive variability for a significant period of time. Upon further investigation, he finds that the valve positioner
connection to the valve stem is loose and is causing the control loop to cycle severely. After fixing the valve positioner, Variability Index returns to its normal
value.
Note The normal value for the Variability Index limit for a specific block varies with the associated process dynamics, normal disturbances, and so on. Use InSight
to detect when Variability Index increases dramatically from its normal value. Often, such an increase indicates a change in the process, measurement element, or
control element that needs attention.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 18 of 137
InSight Performance Reports
Inside this topic
The InSight Performance Reports application is used to capture historical control data in .xml files and to generate reports in .pdf or .xlsx, the Excel 2007 file
format. Three standard report templates are provided with the application: overview report, area performance report, and detail control loop report. In addition,
users can create their own customized report templates. All report types can be enabled for use with DeltaV Guardian. Reports, including Guardian-enabled
reports, can be generated on-demand or scheduled to generate automatically on a periodic basis.
Prerequisites
Excel 2007 must be installed on the same computers as the Microsoft Save as PDF or XPS add-in.
The 2007 Microsoft Office Add-in: "Microsoft Save as PDF or XPS" must be installed to generate reports in PDF. The add-in can be downloaded from the
Microsoft Download Center website. Be aware that while the name of the add-in on the website is "Microsoft Save as PDF or XPS", the actual executable
file that is downloaded is SaveAsPDFand XPS.exe. Despite the misleading name on the website, "Microsoft Save as PDF or XPS" is the correct add-in.
Run setup.exe in the DeltaVReporter folder found under DV_Extras on installation disk 1. Run setup.exe on the ProfessionalPLUS, Operator, and
Application stations.
Refresh the DeltaV Continuous Historian Add-In in Excel 2007. Refer to Refreshing the DeltaV Continuous Historian Excel Add-In for instructions. This
Add-In must be refreshed or initialized on each workstation where InSight Performance Reports are generated. Due to the use of the Excel Automation add-
in, the user generating InSight Performance Reports must have a user identity that is initialized in the Registry for Excel COM to function properly. Visit the
Microsoft Help and Support website and navigate to the Considerations for server-side Automation of Office page for information.
Add required parameters to history collection. Refer to Adding Required History Parameters for information.
Assign an InSight system license to the ProfessionalPLUS workstation. Refer to the DeltaV Explorer online help for information on loading license files or
contact your Emerson Process Management representative for information on obtaining an InSight system license.
To view a PDF version of a report, Adobe Reader must be installed. This can be downloaded from the Adobe website. Be sure that the downloaded version of the
Adobe Reader is compatible with the operating system that is used.
Adding Required History Parameters
The following parameters must be in history in order to generate standard performance reports:
OUT, OUT_D – Out
PV, PV_D – Process Value
SP, SP_D – Set Point
STDEV – Standard Deviation
VAR_IDX – Variability Index
ADP_TUN_IDX – Tuning Index
ADP_OSC_IDX – Oscillation Index
STATUS_INDEX – %Incorrect Mode, %Limited Control, %Uncertain Input, %High Standard Deviation, %Tuning (%Tuning>20, %Tuning >50,%
Tuning > User Limit), Oscillation, %High Valve Deadband, %High Resolution, %Device Alerts
The required history parameters are not available for all function blocks. The following table shows which function blocks support the required history parameters.
You can determine if history collection is enabled for these parameters by selecting the workstation's Continuous Historian in DeltaV Explorer and selecting
History Collection from the context menu. If history collection is not enabled for these parameters, you can use the Easy InSight History Collection command in
combination with the History Collection command on a block-by-block basis. The Easy InSight History Command adds the control performance indices (Standard
Deviation, Variability Index, Tuning Index, and Oscillation Index) to the Continuous Historian's history collection for the selected block. The History Collection
commands do not overwrite existing parameters in history. For large configurations with many function blocks, it is highly recommended that you use the InSight
Performance Reports application to export a file with the required history parameters, import the file with DeltaV Explorer, and download the Continuous
Historian. Refer to Exporting and Importing a History File for more information. It is possible to overwrite existing parameters in history when exporting a history
file. Refer to Avoiding Overwriting History Parameters for information.
History Collection Commands
To use the Easy InSight History Collection command
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 19 of 137
Select a block in the DeltaV Explorer and select Easy InSight History Collection from the context menu.
To use the History Collection command
Select the module and select History Collection from the context menu.
Download the Continuous Historian after adding all required parameters to history.
Exporting and Importing a History File
For large configurations with many function blocks, the most efficient way to ensure that all history parameters are available is to export and import a history file
with the required parameters. If you decide to export and import a history file, be careful that you do not overwrite parameters that are already in history collection.
If overwriting existing parameters is a concern, refer to Avoiding Overwriting History Parameters.
1. From the InSight Performance Reports application, select File | Export Historical Data Collection and select the modules and blocks that you want to add to
history collection. Uncheck any that you do not want to add to history. By default, historical data collection is saved in the DVDATA\BulkEdit folder. Refer
to Adding Required History Parameters for a list of the required history parameters and the function blocks that supports the required parameters.
2. Open DeltaV Explorer and select File | Import | User Defined Format. The Format source dialog opens.
3. Click the Browse button, open the formatted file (the default filename is HistoryDataPoint.fmt), and click Next. The Import data source dialog opens.
4. Click the Browse button, select the text file created with the Export History Collection command (the default filename is
InSightReportHistoryDataPoint.txt), and click Next.
5. Verify the import results and click the Import button.
6. Download the Continuous Historian to add the required parameters to history.
Avoiding Overwriting History Parameters
It is possible when exporting and importing a history file to overwrite parameters already in history. For example, suppose that you have PV and OUT parameters
in history collection. If you export and then import a history file, it is possible that these existing parameters will be overwritten. To avoid overwriting parameters
that already exist in history, you can use Excel to filter only the parameters that you want to include in the history import.
1. Click Export Historical Data Collection from the InSight Performance Report's File menu to create a text file with the history parameters.
2. Open the history parameters text file in (by default saved in DVDATA\BulkEdit) with Excel and create a text filter to select only those parameters that you
want to include in the history import. For example, suppose that you wanted to import only those history data points that contain Status_Index.CV. You
would create a text filter for Status_Index.CV. Refer to the Excel help for information on how to create text filters.
3. Copy and paste the filtered results into a new Excel worksheet to exclude the hidden data that was filtered from the original worksheet. Edit any of the
history collection defaults if required.
4. Save the Excel worksheet as a text file (.txt).
5. Open DeltaV Explorer and select File | Import | User Defined Format. The Format source dialog opens.
6. Click the Browse button, select the formatted file (the default filename is HistoryDataPoint.fmt), and click Next. The Import data source dialog opens.
7. Click the Browse button, select the text file created in Excel and click Next.
8. Verify the import results and click the Import button.
9. Download the Continuous Historian to add the history parameters to history.
Using the InSight Performance Reports Application
Before using the InSight Performance Reports application, ensure that all prerequisites are complete and that there is sufficient history data collected for reporting.
The InSight Performance Reports application can be opened from either InSight Tune or Inspect. Open InSight Inspect or Tune, apply filters if required, and select
the items (modules, blocks, areas) for which you want to generate reports from the hierarchy in the left pane. Refer to Filtering Items to Monitor for information on
using filters.
Select File | Performance Reports from InSight Tune or Inspect to open InSight Performance Reports.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 20 of 137
When the application opens, notice that whatever was selected and filtered in the Tune or Inspect hierarchy is selected and filtered in the Performance Reports
hierarchy. For example, if an area is selected in the Tune or Inspect hierarchy with a priority filter of 1-3, the Performance Reports hierarchy will open with the
area selected and all modules and blocks with a priority of 1-3 selected. If only one block is selected in Tune or InSight, Performance Reports will open with that
block selected. If reporting is disabled for a module or block in InSight, the item appears grayed in the Performance Reports hierarchy. The Performance Reports
application can be opened from any tab in Inspect or Tune.
Actual Reports and Report Definitions
Generating a report generates the actual report itself and a report definition. A report definition is an .xml version of the report that can be reopened from the
InSight Performance Reports application with the File | Open command to generate another report. Refer to Opening Report Definitions. In addition, some report
definitions contain extra performance data that is not exposed in the actual report that can be included in a custom report. Refer to Custom Reports for information
on creating custom reports. The actual report is the report definition formatted according to a standard or custom template and saved as an Excel 2007 file (.xlsx),
a .pdf file, or both Excel and .pdf files.
Report Types
There are three standard report types or templates available with the InSight Performance Reports application: overview, area performance, and detail control loop
reports. Refer to Custom Reports for information on how to create a custom template.
Overview Reports
Overview reports provide a summary of control performance indicators for selected areas or for the entire control system. These reports compare two time periods.
Overview reports contain the:
Number of visible loops selected for the entire control system.
Average Utilization (plus % change). Computed as 100 - sum(incorrect mode values) /number of visible loops.
Reporting time period.
Loop names.
Area name.
Loop descriptions.
Percent abnormal time control conditions and asset alerts (plus % change). Includes: Standard deviation, Priority, % Incorrect Mode, % Limited
Control, % High Standard Deviation, and % High Variability.
Area Performance Reports
Area performance reports provide performance information for all control loops within a selected area or unit for a specified period of time. Area performance
reports include the:
% time for all abnormal control conditions including:
Incorrect Mode
Limited Control
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 21 of 137
Uncertain Input
Large Variability
High Standard Deviation
Improved Tuning
Oscillation
Device Alerts
Average values for all control performance indices including:
Standard deviation
Performance Index
Tuning Index
Oscillation Index
Detail Control Loop Reports
Detail control loop reports are intended for expert users or consultants. These reports are generated for only one control loop and contain all of the % abnormal
control condition parameters and control performance indices reported in the area performance report plus:
Process model parameters (if process learning is enabled)
Histograms
Graphical trends for key performance variables over a specified time period. The default trends include SP, PV and Out vs. time and PV vs. Out (x-y
plot).
DeltaV Reporter functions
Note DeltaV Reporter function calls are used to retrieve historical data for use in Excel spreadsheets. Statistical calculations such as the Fourier transform and
cross correlations can be performed by Excel add-in software such as the XLSTAT data analysis add-in.
Custom Reports
There are two ways to create custom reports:
Edit a default template file (.xltx)
Create a template from a saved report definition file (.xml)
To edit a default template file:
1. Open Excel 2007, browse to the default template directory DVData\InSight\Reports\Templates and open one of the default templates.xltx.
2. Modify the default template, provide a filename and location, and save it as an Excel 2007 template (.xltx) in DVData\InSight\Reports\Templates.
As an example, suppose that you wanted to modify a default template by inserting a column that shows historical data on the production rates in your plant. To add
this data:
1. Follow steps 1 and 2 above and create a custom report template with a unique filename.
2. Select the Add-Ins tab in Excel 2007 and select DeltaV Continuous Historian | Configure Calculated Data Function to open the Configure Calculated Data
Function dialog.
3. Use this dialog to add the required data to the template. For information on using this dialog refer to the online help and to Using the Worksheet Functions
Dialogs.
To create a template from a saved report definition file:
1. Open Excel 2007, browse to the report definitions directory DVData\InSight\Reports\Definitions and open a definition file (.xml).
2. Select Use the XML Source task pane in the Open XML dialog and click OK. The schema for the report definition is displayed in the XML Source pane.
3. Create the mapping, formatting, and save the file as an Excel 2007 template (.xltx). Refer to the Excel online help for information on working with .xml
schemas.
Report Time Periods
The data collection time periods are defined by absolute or relative time. Absolute time is expressed as a time duration in hours:minutes:seconds AM or PM and
month/day/year. An example of an absolute time period is, from 12:00:00 AM 5/13/1997 to 12:25:15 PM 5/13/97. Relative time is relative to the current date and
expressed as:
Last month
Month before last month
Last week: Sunday to Sunday
Week before last week: Sunday to Saturday
Yesterday: 12 AM yesterday to 12 AM today
Day before yesterday: 12 AM day before yesterday to 12 AM yesterday
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 22 of 137
Today: 12 AM today to the current hour and minute
This week: Sunday to the current day of the week
This month: Day 1 of the current month to the current day
The time frames vary depending upon the type of report template selected. Overview reports provide a comparison between two time frames in either relative or
absolute time. Relative time is shown in the following image.
Custom reports provide either a two time period comparison in relative or absolute time or one time period in relative or absolute time. The Two Time Period
option on the custom report setting lets you choose between one or two time periods. The following image shows the Two Time Period option selected for a
custom report.
The other report types: area performance and detailed control loop provide one time period in either relative or absolute time.
Generating Reports
To generate a report:
1. Be sure that the correct items are selected in the InSight Performance Reports hierarchy. If the selected items are not correct for the report you want to
generate, modify the hierarchy by deselecting and selecting items.
2. Select the report type from the Report Template list. For customized reports, select Customized Reports from the list and open a previously-created custom
template.
3. Set the time period for data collection.
4. Select any applicable options for the report (Use current value if history is not available, Schedule Report, Guardian Enabled).
5. Click Save Report and specify the report file type (.xlsx, .pdf, or both .xlsx and .pdf) and location. The default location for reports is
DVData\InSight\Reports. Remember that for every saved report, a report definition is saved in .xml format in DVData\InSight\Reports\Definitions.
Guardian Enabled Reports
The DeltaV Guardian application is used by Emerson SureService support to enable and disable monitoring of the DeltaV system when it is enrolled in the
Guardian Support Plan. The Guardian Monitor or the Automated Registration Utility must be installed and the system must be enrolled in the Guardian Support
Plan to use this option. When these Guardian-based utilities are running, selecting the Guardian Enabled option for report generation saves the report in the
DVData\InSight|GuardianReports folder.
Contact your Emerson Process Management representative for information on DeltaV Guardian.
Scheduling Reports
Before scheduling reports, refer to System Configuration Settings for Scheduled Reports.
Generation of InSight performance reports, including Guardian-enabled reports, can be scheduled on a periodic or one-time basis. When an absolute time frame
(from: date and time; to: date and time) is selected for data collection, report generation can be scheduled once at a specified start time and start date. When a
relative time frame is selected for data collection, report generation can be scheduled:
Once at a start time and start date.
Daily at a start time and start date with options to run the report every day, weekdays only (Monday through Friday), or every certain number of days.
Weekly at a start time for selected days of the week with an option to run the report every certain number of weeks.
Monthly at a start time on a specific day of a selected month or months.
When report generation is scheduled on a periodic basis, options are provided to specify a report limit and to overwrite the oldest report when the limit has been
reached. If the option to overwrite the oldest report is disabled, report generation is stopped when the limit is reached.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 23 of 137
If the Show Scheduled Task option is selected, the Windows Scheduled Tasks dialog opens showing the list of tasks scheduled on the computer.
Using Current Values in Place of History Data
The Use current value if history is not available option is not selected by default. When this option is not selected, generated reports will contain blank values for
parameters with no history data. If this option is selected, generated reports contain the current values for parameters with no history data. History can be
unavailable if a connection cannot be made to the historical data server or parameters are not configured in history.
Opening Report Definitions
Saved report definitions can be opened in the InSight Performance Reports application to create another report definition or to regenerate the actual report from the
saved definition. Click File | Open to open a report definition. When a report definition is opened, the InSight Performance Reports hierarchy is populated with the
report definition's values and the report definition's name appears in the application's title. Any of the items in the Report Setting pane can be changed and items in
the hierarchy can be deselected and selected to create a new report definition.
When you save the report after editing the report definition, you can retain the report name and overwrite the existing actual report (.pdf or .xlsx) and definition
(.xml) or rename the actual report to create a new report and definition.
System Configuration Settings for Scheduled Reports
The user scheduling InSight Performance Reports must have access to the Scheduled Tasks folder. The default location for this folder is C:\Windows\Tasks.
By default, Excel as a COM object can only be activated by the Administrator, System, or by Interactive accounts. Therefore, it is possible that a scheduled report
will fail to run correctly under the following conditions:
You configure a scheduled report using a different user account than the one currently logged on.
You configure a scheduled report to run unattended at a time when the user specified in the Run as field of the scheduled report's Properties dialog is not
logged on.
To prevent the possibility of a scheduled report failing to run, complete the following steps to edit the DCOM configuration settings for the Microsoft Excel
Application object:
1. In Windows XP, use Control Panel to open Component Services in Administrative Tools. In Windows Vista, type comexp.msc or dcomcnfg.exe in the Run
command window.
2. In the console tree of the Component Services administrative tool, select Component Services | Computers | My Computer | DCOM Config.
3. In the list COM+ server applications, right-click Microsoft Excel Application, and click Properties on the shortcut menu.
4. On the Security tab of the Microsoft Excel Application Properties dialog, select Customize in the Launch and Activation Permissions group, and then click
Edit…
5. In the Launch Permissions dialog, add the InSight Performance Reports user who needs to configure scheduled reports, and then enable the Local Launch
and Local Activation permissions for this user.
6. Return to the Security tab of the Microsoft Excel Application Properties dialog, select Customize in the Access Permissions group, and then click Edit…
7. In the Access Permissions dialog, add the InSight Performance Reports user who needs to configure scheduled reports, and then enable the Local Access
permissions for this user.
8. Return to the Microsoft Excel Application Properties dialog, select the Identity tab, and then enable the following option: The launching user.
The InSight Performance Reports user scheduling reports must also be included in the list of users with the Log on as a batch job policy. Follow these steps to
check that this user is included in the list:
1. Click Control Panel | Administrative Tools | Local Security to open the Local Security Settings dialog.
2. Navigate to Local Policies | User Rights Assignment in the hierarchy in the left pane.
3. Double-click Log on as a batch job under Policy in the right pane.
4. Ensure that the InSight Performance Reports user scheduling the report is included in the list of users who have this privilege.
The behavior of the different types of InSight Performance Reports differs depending upon the workstation type as shown in the following table.
Report Type Generated
Workstation DCOM Settings Set Privileges Report Type Not Generated
Successfully
Detailed Loop reports and
ProfessionalPLUS Windows Overview and Area
Yes Admin\nonAdmin customized reports that use
XP Performance
DeltaV Reporter calls.
Detailed Loop reports and
Overview and Area
ProfessionalPLUS Windows Yes Admin customized reports that use
Performance
Vista DeltaV Reporter calls.
Yes nonAdmin None All report types.
ProfessionalPLUS Windows
Yes Admin\nonAdmin None All report types.
Server 2008
Operator station Windows
Yes Admin\nonAdmin None All report types.
Vista
Important For a scheduled report to run successfully on a DeltaV or non-DeltaV workstation running Vista or Windows Server 2008, the user specified in the
Run as box of the scheduled report's Properties dialog must be logged on, either locally or remotely through a connected or disconnected session, at the time the
Task Scheduler attempts to execute the scheduled report task.
Refreshing the DeltaV Continuous Historian Add-In
Follow these steps to refresh the DeltaV Continuous Historian Add-In on each workstation where InSight Performance Reports are generated.
1. Open Excel 2007, click the Office button, and click the Excel Options button at the bottom of the page.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 24 of 137
2. Click Add-Ins in the left pane and click the Go button at the bottom of the page to open the Add-Ins dialog. You will notice that DeltaV Continuous
Historian Excel Add-In is already selected. This is expected. Continue with the next steps to refresh or initialize this add-in for the current user.
3. Click the Automation button on the Add-Ins dialog to open the Automation Servers dialog.
4. Find DeltaV Continuous Historian Excel Add-In in the list, select it, and click OK in the Automation Servers dialog.
5. Click Yes at the prompt to replace the existing add-in.
6. Click OK on the Add-Ins dialog and wait for the changes to take effect.
Tune with InSight
Inside this topic
Loop Tuning Overview
Once a control loop is designed and configured to govern a process it must be tuned. Making the necessary adjustments to provide for stable and responsive
operation of the process is referred to as loop tuning. If a loop is tuned for responses that are too slow, the process is stable but not responsive. If the loop is tuned
for responses that are too fast, it can be very responsive, but it might overshoot and cycle around the setpoint (SP). The objective is to achieve a reasonably
responsive and stable control loop.
The most common methods of loop tuning are calculated tuning and trial and error tuning. The calculated method involves computing the tuning values using
known constants and algorithms. The trial and error method involves manually adjusting the tuning values until the process is stable. The calculated method is
superior to the trial and error method because it requires a small number of cycles to achieve the desired results. If a process is slow, using the calculated method
can be extremely advantageous to using the trial and error method.
InSight provides three approaches to loop tuning:
On-Demand Tuning - Uses an on-demand test of the process to automatically provide tuning recommendations. On-Demand tuning is available for PID
and Fuzzy Logic Control blocks. Tuning recommendations are available on-demand by initiating automatic testing of the process. When testing is requested
using On-Demand tuning, the PID or FLC block's actual mode switches to Local Override (LO). Once in LO mode, the operation of the loop's primary
control algorithm is suspended and the controller resident relay identification adjusts the control block output (OUT). The On-Demand tuning capability is
based on the patented Aström-Hägglund Algorithm for calculating the tuning parameters of a process control loop. Emerson Process Management has
enhanced this algorithm with a patented technique for identifying process deadtime. During tuning, the output of the Proportional Integral Derivative (PID)
or Fuzzy Logic Control (FLC) block that is selected for tuning is determined by a known function that acts as a relay with hysteresis. This relay provides
two-state control and causes the process to oscillate with a small, controlled amplitude. Using the amplitude and the frequency of this oscillation, InSight
calculates the Ultimate Gain and Ultimate Period of the process. The controller settings are then computed based on the defined process parameters and
selected process type. Optionally, tuning rules for modified Ziegler-Nichols, Lambda, or Internal Model Control can be selected in determining the best loop
tuning. Process Learning does not need to be enabled to use On-Demand tuning.
Adaptive Tuning (open loop) - Uses normal operator changes in setpoint or output to identify process models and provide tuning recommendations. When
automatic model identification is requested using Adaptive Tuning, there is no impact on the block mode and block mode is based on normal operating
conditions. DeltaV InSight learns the process by continuously evaluating your plant performance, evaluating controller tuning, and calculating process
models based on normal day-to-day operations. Process Learning must be enabled for model creation.
Adaptive Control (closed loop) - Includes all of the Adaptive Tuning capabilities plus the ability to create models in up to 5 regions and to automatically
change control loop tuning. The model quality is validated by taking into account the most recent adaptation and the last several adaptations. A high quality
model and the expected operation with the recommended tuning is used as criteria for setting Adaptive Control. An Adaptive Control license is required for
full or partial Adaptive Control and to create models in up to 5 regions. Adaptive Control licenses can be assigned to PID blocks that reside in the controller.
PID blocks residing in the H1 card and in fieldbus devices cannot be licensed for full or partial Adaptive Control. Process Learning must be enabled for
model creation.
Partial Adaptive Control – the controller calculates new models and tuning for each region and adjusts closed loop tuning based on the approved models
for each region. The controller adjustments are made only for models the user has reviewed and approved.
Full Adaptive Control – the controller calculates new models and tuning for each region and automatically adjusts closed-loop tuning based on the last
model calculated for each region. No user review or approval is required for Full Adaptive Control.
Process Learning
If Process Learning is enabled on a PID block assigned to the DeltaV Controller, the process model and recommended tuning are automatically calculated in the
controller and a copy is transferred to the ProfessionalPLUS workstation. The models are used for both Adaptive Tuning and Adaptive Control. Process Learning
can be enabled on:
PID blocks running in the controller. The blocks can be licensed for Adaptive Control.
PID blocks assigned to an H1 card. These blocks cannot be licensed for Adaptive Control.
PID blocks running in fieldbus devices. These blocks cannot be licensed for Adaptive Control.
FFPID_RMT blocks running in device. These blocks cannot be licensed for Adaptive Control.
InSight Architecture
DeltaV InSight is distributed between the DeltaV workstation and the DeltaV controller. Time-critical features associated with the process identification are implemented in the
function block. This approach allows the process dynamics to be captured precisely without introducing errors by communication delays. The portion of InSight in the workstation
supports viewing controller parameters and tuning calculation based on the process dynamics captured by the PID or FLC function block. You can enable Process Learning or
initiate on-demand tuning if you have sufficient privilege at the DeltaV workstation being used to view and interact with DeltaV InSight. You can initiate closed loop Adaptive
Tuning if you have sufficient privilege at the workstation and if PID blocks are licensed for Adaptive Control.
To check and allow further refinement of tuning, InSight provides simulated loop response, robustness plotting, and robustness based tuning.
Algorithms
The following sections describe the Adaptive Tuning and On-Demand Tuning algorithms. Understanding these algorithms is not required to use the InSight
applications and this information is provided for reference only. Select Using Tune with InSight to go directly to the topics on how to use InSight to tune PID and
FLC blocks.
Adaptive Tuning Algorithm
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 25 of 137
The process identification algorithm included in the PID Function Block Adapt Modifier addresses the shortcomings of many Adaptive Control products.
Specifically, the PID Function Block Adapt Modifier provides adaptation for feedback control. The model switching strategy used for identification incorporates
parameter interpolation and model re-centering that makes it possible to dramatically reduce the number of models used for adaptation. Salient features of the
technology include: shorter adaptation time, complete process model identification, and reduction in required process excitation.
The main objectives of the algorithm design are to:
Provide a unified solution for feedback model identification
Achieve a shorter adaptation time
Achieve adaptation with minimal excitation of the process
The structure of the PID Function Block Adapt Modifier with model parameter interpolation is shown below.
Adaptive Feedback Control Design
The process identification design is based on the evaluation of multiple sets of models. In principle, a model can have any form, but in this implementation, each
model consists of three parameters. All models have the same three parameter structure. Assigning n values for every parameter, the model set has N = n3 models.
The Adaptive Control operates in the following way:
The supervisor detects changes in:
The process output or the controlled variable (y)
The setpoint
The manipulated process input ( u)
If changes on any input exceed a user-defined minimum level, model evaluation starts. It involves several steps:
Model initialization and adjustment of the model's output with the current process output
Model incremental update based on the changes of the manipulated input to the process
Computing for every model squared error:
Equation 1:
Where:
= the process output at the time t
= i-th model output
The norm, shown in equation 1, is assigned for every parameter value of the model i, if the parameter value is used in the evaluated model. A zero is assigned to
any parameter value that is not part of the evaluated model. Next, the model i+1 is evaluated, and again the norm ( defined in equation 1) is computed for the
model and assigned for every parameter value of the model i+1 and added to the previously assigned norm for every parameter value. The process continues until
all models are evaluated. As a result of the evaluation, every parameter value is assigned a sum of squared errors from all models in which this specific parameter
value has been used. In the one scan t therefore, every parameter value
has assigned norm
Equation 2:
Where:
= parameter type
= parameter value
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 26 of 137
= the number of models
Model evaluation is repeated in the scan t+1 and the sum of the squared errors for every parameter value is added to the sum of the appropriate parameter value
accumulated in the previous scans. The adaptation cycle continues through a declared number of scans (1 to M), or until there is enough excitation on the inputs.
As a result of this procedure, every parameter value pkl is assigned the accumulated value of the squared errors over a period of evaluation:
Equation 3:
At the end of the adaptation cycle, the inverse of the sum is calculated for every parameter value :
Equation 4:
Equation 5:
Where:
Equation 6:
Equation 7:
The adaptation process is shown by simply considering a pure gain process. The process input is assumed to be changing as shown in the following figure.
Example – Pure Gain Process
For an assumed initial process gain value of , the bank of process models that will be evaluated in the first iteration will have gains of .
Based on the calculated process output and actual process output for each model, a new gain value estimate, , is computed and a new model bank
is centered around . It is used in the second iteration of the adaptation. This process continues as shown below, until further reduction in
the norm (shown in equation 1) is within a defined limit or the maximum number of iterations has been completed. The range ∆ is decreased after each iteration.
Adaptation Sequence – Pure Gain Process
A first order plus dead time process model, in a discrete form, is used to describe the process response to changes in the manipulated input or the disturbance input
in the PID Function Block Adapt Modifier.
Equation 8:
Equation 9:
Where:
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 27 of 137
h = loop scan period
= process input incremental change since adaptation started
= model incremental change
= model time constant
With three values for every parameter of the model, there are models for evaluation.
Improved convergence and reduction in the number of models is achieved by the following amendments to the basic algorithm:
Performing parameter adaptation sequentially, one parameter at a time. In this way, the number of model combinations for the first order plus dead time
model has been reduced to 3+3+3=9.
Performing adaptation for only two parameters with minimum error values.
Using the original data set and performing adaptation iteratively by running the algorithm several times.
In a sequential procedure in which one parameter is updated over a calculation cycle, the updating is performed in the sequence process gain ( ), deadtime in
scans ( n), and time constant (=f(a) ).
The adaptation example for a first-order plus deadtime process with a changing input is shown below.
Example – First-Order Plus Deadtime Process
The following two figures show the sequential procedure of updating one parameter at a time over a calculation cycle.
Sequence of Parameter Adjustments Within Identification Iteration
First Order Plus Deadtime Process Model Interpolation
After model adaptation completes, controller redesign begins. Since a complete first order plus dead time process model is used, any tuning rules, typically
Lambda or IMC tuning, can be applied. You can select the tuning rule that the PID Function Block Adapt Modifier uses with the process model to set the feedback
tuning.
If there are infrequent changes in the manipulated input, external excitations can be optionally automatically injected into the manipulated input in Automatic
modes. An output change of 3-7% is normally enough for a process model identification. The following figure shows the typical process response for this level of
excitation.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 28 of 137
Example of Process Input Excitation and Response for a Simple Process
The following trend shows the step response of a caustic flow loop that is controlled by Adapt. Notice how the initial tuning is automatically refined during normal
block operation in Automatic mode at the setpoint changes.
Adaptation of Caustic Flow Loop
On-Demand Tuning Algorithm
On-Demand tuning can be used to establish loop tuning based on the process parameters identified using the supervised relay oscillation test. The On-Demand
tuning feature of InSight uses modified Ziegler-Nichols model-based tuning rules. The following image shows how the On-Demand tune modifier is used with the
PID block to provide the On-Demand tuning capability.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 29 of 137
Determination of Process Dynamics Using On-Demand Tuning
The On-Demand tune modifier identifies the process dynamics using the relay oscillation principle. During the identification procedure of loop tuning, the mode of
the PID or FLC block changes to LO and the output is determined by a two-state (or relay) function. During this phase of tuning, the loop is under two-state
control. As indicated previously, loops under two-state control exhibit slight oscillations. The amplitude of these oscillations defines the Ultimate Gain. The
oscillation period defines the Ultimate Period.
The Ultimate Gain (Ku) is defined by the following equation:
Where
d - relay amplitude
a - amplitude of the oscillation of the process variable (PV)
Having identified the Ultimate Gain and the Ultimate Period, you can determine the controller PID settings using the modified Ziegler-Nichols rules. You can also
determine the process deadtime based on the initial phase of the oscillation test. Based on a knowledge of the deadtime, Ultimate Gain, and Ultimate Period,
InSight can calculate the process time constant and static gain needed for model-based tuning (Internal Model Control tuning and Lambda tuning) available in
InSight as options.
Tuning Period
The following figure illustrates a typical time plot of the relay output and the process variable (PV) during tuning. Note that the relay is triggered at the point when
the PV passes through the SP.
The relay amplitude (d) is typically 3 to 10 percent of the controller output range. For a DeltaV control block, this corresponds to the percent change in OUT. The
PV change (a) is largest during initialization (that is, during the first oscillation period). Typically, the PV change ranges from 1 to 3 percent of the PV range.
Relay Output and Process Output During Tuning
Oscillations must continue for at least one period after initialization. If more periods are used for tuning, the average amplitude of the oscillations is used to
determine the Ultimate Gain. InSight uses two tuning periods by default and defines the amplitude of the oscillations as the average amplitude.
During the oscillation periods after initialization (the tuning periods), relay switching is disabled at the start of each half period to increase the tuner's resistance to
noise. The duration that the relay switching is disabled depends on the deadtime of the tuned loop, which is defined during the initialization period.
Relay Hysteresis
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 30 of 137
For very noisy processes, you can adjust the amount of relay hysteresis for additional noise protection. With hysteresis, the relay switches only if the PV passes
through the SP by a specified amount.
Under stable conditions, the relationship of input and output can be expressed by the transfer function. Generally, a process transfer function can be represented by
a magnitude (or amplitude) and an angle (or phase shift). When the frequency varies from 0 to infinity, the transfer function changes. The resulting curve is called
the Nyquist curve. The following figure shows a typical Nyquist curve for a control loop at the tuning.
Example of a Nyquist Curve
For a relay with hysteresis, the describing function, N(a), defines the relationship between the relay input and the output.
Where
N(a) is the describing function of the relay.
is the relay hysteresis.
d is the relay amplitude.
a is the amplitude of the oscillation of the process variable (PV).
i is the imaginary component.
However, with hysteresis, the frequency and gain determined by the oscillation are not exactly the Ultimate Period and the Ultimate Gain. As illustrated in the
above figure, the hysteresis introduces an error in defining the critical point of the Nyquist curve.
To prevent the introduction of additional errors, only set the relay hysteresis when InSight will be operating in an extremely noisy environment.
Using Tune with InSight
Inside this topic
InSight tuning allows you to quickly tune a loop with minimal input. You can tune with InSight if you have Tuning and Control keys assigned to your user
account. If this is your first time tuning with InSight, you might want to use simulator modules for PID and FLC blocks before tuning a live process. For more
details, refer to The Simulator Configuration topic.
Typically, tuning is started by selecting the item of interest in the hierarchy in the Inspect with InSight application and using the Inspect Overview and Summary
pages to determine which loops require tuning. When you are ready to tune the loops, select the Tune navigation pane. The following image shows InSight opened
to the Summary page. The cursor, in the lower-left corner in the image, is pointing to the Tune navigation pane. Refer to the Using Inspect with InSight topic for
more information on using InSight for performance monitoring and refer to the InSight Performance Reports topic for information on creating and generating
reports from InSight.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 31 of 137
Switching to Tune from within InSight
There are two complimentary ways to tune a loop: On-Demand and Adaptive Tuning.
About On-Demand Tuning
On-Demand Tuning applies to all PID and FLC blocks. If InSight is open, you can begin On-Demand Tuning by selecting the On-Demand Tuning tab. If InSight
is not open, you can select the PID or FLC block to be tuned in Control Studio or DeltaV Explorer, right-click the block and select Tune with InSight.
The typical On-Demand Tuning procedure involves:
1. Identifying the process dynamics. This is done automatically by the test initiated at your request.
2. Selecting the basis for tuning either by specifying the process type or the tuning rule to be used.
3. Validating the tuning results using the Simulate selection.
4. Updating the current controller tuning.
Before tuning a loop, the PV should be reasonably stable and near the SP. If the loop is not stable, the calculated control variables will be inconsistent and possibly
inaccurate.
Note Before starting the tuning process, make sure that the loop is reasonably stabilized at the SP. Observe the noises and disturbances of the system. If the
controller output is constantly changing due to noise or disturbances, you might consider beginning tuning the loop from the Manual mode. This approach will
provide you with better results.
If the loop you are tuning has an extremely high noise level, the calculated tuning might be inconsistent. If the PV is stable but the controller output is constantly
changing, your process loop might require noise protection.
If a loop's scan rate has been changed significantly several times after a loop has been tuned, it is recommended that you retune the loop for optimal performance.
Retuning a loop is important when the loop scan rate has been increased, which can in extreme cases cause loop instability. If the process test is unacceptable when
the scan rate has been increased, consider using the saved test results with the previous scan period at a slower desired response for tuning.
If the PV and the controller output are stable, you can start tuning the loop On-Demand. Refer to Using the On-Demand Tuning page for more information.
About Adaptive Tuning and Adaptive Control
Adaptive Tuning
Adaptive Tuning is available if Process Learning has been enabled on a PID block. With Adaptive Tuning, process model development is triggered by changes in
control parameters that occur in day-to-day operations such as a change to SP in AUTO or a change to OUT in MANUAL. When Process Learning is enabled,
Adaptive Tuning automatically occurs in the DeltaV controller. Process Learning can be enabled from the DeltaV Explorer or from the InSight hierarchy. Refer to
About Process Learning for more information.
Adaptive Tuning can be started from InSight by selecting the Adaptive Tuning page or by selecting a PID or FLC block with Process Learning enabled in DeltaV
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 32 of 137
Explorer and selecting Tune with InSight from the context menu. Typically, Adaptive Tuning involves:
1. Setting or validating the default settings on the Learning Setup page. Refer to Using the Learning Setup Page for more information.
2. Identifying the Adaptive Tuning process dynamics derived from the automatically generated process model. Models are generated when there is a change to
SP in AUTO or a change to OUT in MANUAL.
3. Specifying the tuning rule to be used with the model to determine the tuning values.
4. Specifying the Adapt mode: Off, Partial, or Full. Refer to Tune with InSight for more information on adapt modes.
5. Validating the process model using the Model View.
6. Validating the tuning results using the Simulate View.
7. Updating the controller's tuning parameters
Adaptive Control
Adaptive Control includes all of the Adaptive Tuning capabilities plus the ability to create models in up to 5 regions and to automatically change control loop
tuning. An Adaptive Control license is required for full or partial Adaptive Control and to create models in regions. Process Learning must be enabled for Adaptive
Control. Refer to Tune with InSight for more information on Adaptive Control and to DeltaV InSight for information on licensing PID blocks for Adaptive
Control.
Refer to Using the Adaptive Tuning Page and Using the Adaptive Control Page for more information.
About Process Learning
When Process Learning is enabled, the DeltaV system automatically identifies process models and stores a recent history of the models. Models are not used for
Adaptive Control until a license is assigned to the PID block. Licenses can be assigned to PID blocks running in the controller only. Refer to DeltaV InSight for
information on licensing PID blocks for Adaptive Control. Process Learning can be enabled on PID blocks running in the controller, H1 card, and fieldbus
devices. InSight can be used to view, analyze, and select the models that will be used to establish the recommended tuning. Process Learning can be enabled
through the context menu at the following levels in the DeltaV Explorer:
Areas
Assigned Modules
Module
Equipment modules
Unit modules
Process cells
Note Enabling Process Learning has a small, but non-trivial impact on controller free time (FRETIM) and free memory (FREMEM). A transient decrease in
controller FRETIM of 0.1% per PID block and a permanent decrease in controller FRETIM of 0.05% per PID block can be seen depending upon the configuration.
Similarly depending upon the configuration, a permanent decrease in controller FREMEM of 10 kB per PID block can be seen.
Process Learning can also be enabled from the InSight hierarchy by selecting an item in the hierarchy and choosing Enable Learning from the context menu. The
following image shows how to enable Process Learning from a PID block in the InSight hierarchy.
Enabling Process Learning from a PID Block in the InSight Hierarchy
The next to an item in the hierarchy indicates that Process Learning has been enabled at that level. Process Learning can be enabled and disabled at any level in
the InSight hierarchy. A red X on the Process Learning icon indicates that Process Learning was requested but not enabled due to systems problems such as low
memory.
Note Only PID blocks at the top level in a module can have learning enabled. PID blocks in embedded or linked composites cannot be enabled for learning.
Opening InSight for Tuning
Tuning can be initiated from Control Studio, the DeltaV Explorer, the operator faceplate, or the Start menu.
To initiate tuning from Control Studio, select a PID or FLC block and select Tune with InSight from the context menu.
Opening InSight from Control Studio
To initiate tuning from the DeltaV Explorer, select a module assigned to a controller or the specific block of a module and select Tune with InSight from the
context menu. The following figure shows how to open InSight for tuning from a module assigned to a controller in DeltaV Explorer.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 33 of 137
Opening InSight from the DeltaV Explorer
In DeltaV Operate, a button is provided to open InSight from the detail display for the PID and FLC block.
InSight Button on a Detail Display
Alternatively, you can invoke InSight from the Start menu.
When InSight is first opened, the historical information plotted on the graph is collected from the PC from which the application was launched. If your historical
information is assigned to another PC, click File | Select Continuous Historian Node and use the Default Data Servers dialog to select the PC from which historical
information is collected. Refer to Configuring History Collection for information on defining parameters for history collection.
Default Data Servers Dialog
Once InSight is opened for tuning, the system creates models if Process Learning is enabled and uses the models in Adaptive Control if licenses are assigned to
PID blocks running in the controller. The InSight user interface consists of the hierarchy in the left pane and seven pages: Overview, On-Demand Tuning,
Adaptive Tuning, Adaptive Control, Models Viewing, Learning Setup, and Simulate. When Process Learning is enabled but no licenses are assigned, the Adaptive
Control page is not active. When Process Learning is enabled and licenses are assigned, are pages are active. The following image shows InSight opened to the
Overview page with a licensed block with Process Learning enabled selected in the hierarchy.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 34 of 137
InSight Opened at the Overview Page
Before describing the various pages on the InSight interface, we will explain how to use InSight tuning with fieldbus devices. Go directly to the other topics in
this document if you are not tuning PID blocks in fieldbus devices.
Using InSight Tuning with Fieldbus Devices
You can use On-Demand Tuning with PID blocks executing in fieldbus devices (FFPID blocks) and in the H1 card, FFPID_RMT blocks, and with PID and Fuzzy
logic blocks assigned to execute in the controller.
You have several options on how to implement control options with fieldbus devices:
You can assign all elements of the control loop to fieldbus devices.
You can assign the PID loop to the transmitter or the valve.
You can assign portions of the control loop, such as the PID block, to the DeltaV controller and assign the remaining blocks, such as AI and AO, to fieldbus
devices.
You can assign a subset of DeltaV function blocks to automatically run in the H1 card. Refer to the Automatically Assigning DeltaV Function Blocks to the
H1 Card topic for information on this option.
There are several things that affect control performance when using fieldbus devices:
Function block execution, maximum response time for minimum schedule spacing between compel data messages, and slot time. These items depend on the
device manufacturer's technology and design.
Whether control is performed in the fieldbus device or control system.
The scheduling of block execution and communications on the fieldbus segment.
Macrocycle is the time for scheduled and unscheduled communications. Scheduled communications includes function block execution time and transfer time
(minimum schedule spacing). Unscheduled (asynchronous) communications are for Client-Server types (Function Block Views, SP changes, and Device Alarms
for example). A minimum time for unscheduled communications is added to determine the macrocycle time. In the following image, the periods labeled XFR
represent scheduled communications on the macrocycle.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 35 of 137
If you split control between fieldbus devices and the DeltaV controller, the execution of the module in the controller is not synchronized with the function block
execution in the fieldbus segments. This lack of synchronization introduces a variable delay in the control loop as great as the segment macrocycle. For example, a
1/2 second loop in which control is split can have as much as 1/2 second of additional variable delay. The added delay affects control loop tuning and can result in
and increased variability in a fast control loop.
You will not see these types of delays if the Auto_assign function block to H1 card option is enabled for modules because block execution is synchronized with
I/O blocks on the fieldbus segment. Refer to the Automatically Assigning DeltaV Function Blocks to the H1 Card topic for information on this option.
InSight uses a hidden modifier to the PID block to capture process dynamics. In most manufacturer's fieldbus devices, this modifier is attached to a PID block in
the controller that shadows the PID block in the device. You cannot see the PID block in the controller, or its hidden modifier.
All new Emerson fieldbus devices will include the hidden modifier in the PID block in the device. This eliminates errors introduced by communications delay or
jitter and supports tuning of even the fastest loops. There are no changes to how the On-Demand Tuning interface looks and operates. The ability to tune loops
running in fieldbus devices leads to reduced variability for fast process dynamics.
Using the Overview Page
Select an item in the hierarchy to see the percent of downloaded modules at that level that contain blocks with abnormal conditions. An area is selected in the
hierarchy in the following image.
Tune with InSight Overview Page
The Control Condition section graphically shows the percent of modules or blocks at the selected level in the hierarchy that have abnormal conditions. The actual
number of modules or blocks that have abnormal conditions is shown on the graph. The Control Utilization value indicates proximity to ideal control and whether
control blocks were used as designed.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 36 of 137
Using the On-Demand Tuning Page
After you select a block for tuning, InSight must identify the process dynamics associated with the control loop. Look at the Test Process panel on the left side of
the On-Demand Tuning page.
Test Process Panel
Process dynamics are determined automatically by InSight. If the controlled parameter (PV) reflects an accumulation or imbalance between inlet and outlet flow,
select the Integrating process. The percent change in the PID block output from its initial value is determined by the selected step size. A default step size of 3
percent is sufficient for most situations. For most processes, start tuning with a step size of 3 percent. If the gain of the loop is high or the process is integrating
(not self-regulating), use 3 percent initially. Use a step size of 5 or 10 percent if tuning does not develop oscillations with a 3 percent step size. The tuning might
not develop oscillations if the gain of the loop is extremely low or the loop has too much noise. However, a 10 percent step size is not recommended for integrated
processes.
In some cases, process measurement is noisy or characterized by significant load disturbances. If such conditions exist, expert users can achieve better results by
customizing the setup to use relay hysteresis or extend the length of testing. To customize the setup, enable the expert options by selecting Options | Expert and
then click the Custom button on the On-Demand Tuning page to open the Custom Setup dialog. Refer to the Using the Expert Feature topic for more information.
Number of oscillation periods - enter a value between 1 and 5.
Hysteresis - enter a value for PV hysteresis during the process test.
Auto-Extra Cycle- adds an additional oscillation period with increased process deadtime for better process model identification.
Auto-Hysteresis - automatically defines PV hysteresis during the process test based on the process noise
If the process characteristics such as gain, time constants, noise, scaling, and so on seem out of the normal range, click the Default Process button to modify the
tuner settings to better fit the process characteristics. Note that the Expected Process Response option is not supported for PID blocks running in fieldbus devices.
After checking these entries and making the appropriate changes, click Test to initiate testing of the process and identify process dynamics.
Caution Before starting the tuning process, make sure that the loop is reasonably stabilized at the SP. If the PV is not close to the SP, begin tuning the loop from
Manual mode.
After selecting Test, the PID block output adjusts from its initial value by the step size. You can stop testing at any time by clicking the Abort button. When testing
is not active, you can change the target mode and the SP of the block from the Controller panel. You can change output when mode is in Manual.
Controller Panel
Typical changes made during testing in the PID block output (Output), input (PV), and actual mode are shown in the following example.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 37 of 137
PID Changes Shown on the Graph
When tuning a loop, the SP and output should not be at either end of their respective ranges. The output must be no lower than 10 percent of the range and no
higher than 90 percent of the range or the oscillations will be affected.
The PV of a loop should be close to the SP when you begin tuning. InSight checks the values for the SP and the PV before tuning the loop. If the deviation is too
large, this indicates that the loop is not stable enough to begin the tuning process. The tuner waits until the SP-PV value is within the required limit.
If, under normal operations, either the SP is not close to the PV, the loop is influenced by disturbances, or a loop is in a transient condition, the tuning results will
not be as accurate and consistent as those from properly stabilized loops.
If tuning proceeds properly, the state changes to an active state, and the control block actual mode changes to Local Override (LO). The time between each change
in the block output depends on the process response time. For example, a change in the process input (block output) might not be immediately reflected because of
process delay in the controlled parameter (block PV). Watch the trend display area during the tuning process. If loop trend traces are not typical or tuning does not
start, restore the initial loop conditions by clicking the Abort button. On rare occasions, InSight may not detect a response and the test becomes stuck in LO mode
with no PV movement. Again watch the trend display area during the test and if you notice that the test keeps the mode in LO for a long period of time with no PV
movement, click the Abort button to return the mode to its original state.
While testing is active, status is shown as Testing process in the Test Process panel. The progression of the testing is indicated by a bar graph showing percent
completion, as shown in the following figure.
Testing Status Indicator
A yellow circle icon appears next to the control block in the hierarchy to indicate that testing is active. The yellow circle icon overwrites the icon if Process
Learning is enabled for the block. The following figure shows how these icons appear in the hierarchy.
Testing is Active Icon
The Testing is Active icon remains next to the control block until the test completes and the block is selected to view the test results. Only 5 tests can be run at one
time.
Once testing is successfully completed, the loop returns to the original mode and original output. The process dynamics that were identified are shown in process
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 38 of 137
results for a self-regulating process, as shown in the following figure.
Process Dynamics for a Self-Regulating Process
When Integrating process is selected, the process dynamics for an integrating process are displayed, as shown in the following figure.
Process Dynamics for an Integrating Process
The dynamic values displayed vary with the process controlled by this block. You can repeat the tuning procedure for the same loop by selecting Test again.
If abnormal conditions are detected during testing that might impact the accuracy with which the process dynamics can be identified, a warning or an error
message is issued. When the detected condition prevents testing to be completed successfully, an error message is generated and tuning is stopped.
Once testing is successfully completed, proceed to the central area of the Tuning Calculation panel. Here, you can supervise tuning calculations based on the
identified process dynamics. If testing did not complete successfully, an appropriate warning message is issued.
Establishing Loop Tuning
In the loop tuning phase for a PID block using the Normal selection, the following Tuning Calculation panel appears:
Tuning Calculation Panel
The Desired Response options are Normal, Slow, and Fast.
If an FLC block is being tuned, the Tuning Calculation panel displays the recommended scaling factors for the FLC block, as shown below:
Recommended Scaling Factors for an FLC Block
The recommended block tuning settings are provided automatically, based on the identified process dynamics, the process type, and the loop response selected in
this panel. When using the Normal setting, tuning calculations are performed by non-linear estimators. Non-linear estimators correct major deficiencies of Ziegler-
Nichols tuning:
too short controller integral time for processes with small deadtime to time constant ratios
excessive controller integral time for processes with a significant deadtime
excessive controller gain for processes with small deadtimes
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 39 of 137
You can modify the recommended tuning values by entering the values you want into the fields provided. To transfer these settings from the workstation to the
PID or FLC block, select Update=> in the bottom of the panel. After selecting Update=>, the recommended settings are transferred to the block, and the new
tuning values are displayed as the current settings. To restore the original settings, select Restore in the Controller panel.
The default process type for a PID block using the Normal selection is Typical - PI. This default is used for the initial tuning recommendation unless you change
the process type. However, if this selection does not match the process, you must change the process type to one of the following selections:
Typical - PID
Temperature
Gas Pressure
Flow
Liquid pressure
Tight Level
Deadtime dominant
After you change the selection, the recommended tuning is updated.
If the process is identified without messages, the results are displayed in the Process test results area. If the identified process deadtime is greater than a quarter of
the time constant, you can improve loop performance by clicking Options | Expert.
If the identified process deadtime is greater than the time constant, select Deadtime dominant. If you have applied the Smith predictor in your control module
(refer to Tuning the Modified Smith Predictor in the PID_DEADTIME Module Template topic), click Options | Expert and then select Lambda Smith Predictor
in the Tuning Calculation panel.
The following information applies to PID function block tuning:
The loop response specifies the speed at which a control loop responds to process upsets and SP changes. The recommended proportional gain for a
particular process changes depending on the loop response. The default setting of Normal gives moderate response. By selecting Fast, the controller output
change is greater and loop's response faster. Selecting Slow has the opposite effect.
If, after determining the process characteristics, the process gain is less than .6 or greater than 2.5, model-based tuning is not recommended.
If the Expert option is not selected, you are then using the modified Ziegler-Nichols tuning rules. This is the default selection and should be used as a first
choice. However, if you find that the tuning results are not satisfactory, you can then click Options | Expert.
If you select Use model-based tuning, you are then using one of the following: the Lambda PI tuning rules with a Lambda factor of 1.5 for Normal
Selection, 2.0 for Slow Selection, and 1.25 for Fast Selection or the IMC PID tuning rules with a filter factor of 1.5 for Normal Selection, 2.0 for Slow
Selection, and 1.25 for Fast Selection.
If you want to change some of the tuning factors, click Options | Expert and then change the desired factors.
PI tuning is not valid for PID blocks with the STRUCTURE parameter set to PD action on error. Rate will be calculated.
For a more detailed discussion of this feature, refer to the Using the Expert Feature topic.
Once tuning is complete, you can change the setup and calculate new values, try tuning the loop again, or modify the calculated values. You can use the Trend
display area to monitor the loop response with the new tuning.
Manually Entering Model Parameters
If for some reason the process cannot be tested or the process test results do not satisfy your expectations, expert users can enter or correct the Tune process model
manually for both PID loops and FLC loops.
For PID loops, click on any process model parameter in the Test Process section to open the Process Model Parameters Dialog.
Process Model Parameters Dialog
Parameters marked by an asterisk (*) must be non-zero for the selected process type of tuning method. The dialog displays five parameters for non-integrating
processes and four parameters for integrating processes. Two or three parameters are marked for particular selections. After clicking the OK button, the entered
process model is used for the PID parameter calculations.
The procedure for manually entering model parameters for FLC loops is identical to PID loops. Be aware that you may not get the expected FLC superior
performance if the process dead time to time constant ratio exceeds 0.25. In this case, DeltaV Predict is likely to provide better results.
Using Other Features
InSight tuning can be used on various processes that operate over a wide dynamic range. This section describes how the default settings associated with trend
scaling, testing amplitude, and duration can be changed to compensate for the process range or operating conditions. Following the information in this section
ensures that the best possible tuning is achieved for all operating conditions. The Expert selections available in tuning and the options available for saving or
printing block tuning are discussed as well. Also included is detailed information about the offline simulation capability that is provided with this product to
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 40 of 137
support training on InSight. Refer to the Using Inspect with InSight topic for information on using filters and setting global limits.
Modifying the Trend Display Area
In the top of the InSight window, a trend of the block PV, output, SP, and actual mode is shown. You can adjust the time frame displayed for the parameters shown
in the Trend display area using the following selections shown in the toolbar:
Scroll Back - Shifts the trend information back in time
by one screen.
Small Back - Shifts the trend information back one unit
in time.
Small Forward - Shifts the trend information forward
one unit in time.
Scroll Forward - Shifts the trend information forward
in time by one screen.
Decrease time span - Decreases the time represented
by the Trend display area by approximately 25 percent.
Increase time span - Increases the time represented by
the Trend display area by approximately 25 percent.
The span of the PV, SP, and Output are initially displayed in full range. You can modify the trend range to show values over a smaller or larger range than the
default value. In the Controller panel, right-click the box associated with the parameter (SP, OUT, or PV) whose trend range is to be modified and select
Properties.
Controller Panel
Then, click Set Y Scale and select either Manual or Auto Scale.
Select either the Compress range or Expand range button provided in the toolbar:
Compress range - Reduces the span of the selected
trend range by approximately 10 percent.
Expand range - Increases the span of the selected trend
range by approximately 10 percent.
Using the Expert Feature
The Expert feature allows you to retain all Normal selections and select your specific tuning rule to use with the loop response in calculating the best tuning of a
PID block. When you click Options | Expert, the available tuning methods for the PID are displayed in the Control Panel area, as shown in the following figures.
The figure on the left shows the tuning method selections for non-integrating process and the figure on the right shows the selections for integrating processes.
Enable this option by selecting the Integrating process checkbox in the Test Process area.
Note: If you are using the Expert feature you should have expert knowledge of the process you are tuning. You must use the Expert feature with care and always
check that the time constant InSight calculates represents the actual process time constant. Because the Normal tuning rules give good results in most cases, we
recommend the use of the Normal selection for most applications.
Some of the tuning rules provided in advanced tuning are very specialized. For PID and PI loops, use Lambda or IMC tuning rules first. These settings should be
satisfactory in most cases. If you have a thorough understanding of loop tuning, you can use some of the alternate tuning rules. If the tuning results are not
satisfactory, you can change the rule selection.
For non-integrating processes, the Expert selection provides the following tuning rules:
Ziegler-Nichols - PI - This tuning rule provides the basic rules for calculating controller settings from ultimate gain and ultimate period.
Lambda - PI - This tuning rule allows the desired ratio of closed loop time constant to open loop time constant to be specified through the Lambda factor.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 41 of 137
Lambda - Smith predictor - This tuning rule should be used with the PID_DEADTIME Module Template.
Internal Model Control - PID - This tuning rule provides proportional, integral, and derivative control and assumes a first order process with a time delay.
During tuning, the model is identified and the tuning values are calculated. The procedure for identifying the model is a patented Fisher-Rosemount Systems
technique.
For integrating processes, the Expert selection provides:
Lambda - Averaging Level - PI - This tuning rule is similar to the Lambda tuning rule, but it works for integrating level loops.
The IMC tuning rule is especially useful when a process deadtime is longer than half of the process time constant. The process deadtime and the process time
constant are shown in the Process Test panel.
The Tuning Method options in the Expert Feature include the alternate tuning rules, Typical - PI and Typical - PID, which are also available when using the
Normal selection.
When a process deadtime is equal to or greater than the process time constant, it is beneficial to apply Smith Predictor. For more information regarding application
and tuning details, refer to the PID_DEADTIME Module Template topic.
To change the Expert setting, you do not have to retune the loop. Once InSight has obtained the process dynamics for a loop, it can calculate new controller
settings for different Expert selections.
Specifying the Number of Decimal Places
You can specify the number of decimal places that will be used throughout the application when you modify parameter values. Click Options | Number of Decimal
Places to open the Number of Decimal Places Setting dialog.
Number of Decimal Places Dialog
Saving and Printing Block Tuning
When tuning a block, you can save the current test data to a file by clicking File | Save File. The parameter values used in the tuning process are saved in the
InSight folder under DVData. By clicking File | Save File As, you can specify the folder. When you have finished tuning and are closing InSight, you are also
given an opportunity to save. When initiating tuning with InSight, it is possible to start the tuning process using previously saved values.
After tuning a block, you can obtain a hard copy of the tuning parameters and selections made in InSight. You can initiate this request either by selecting the Print
option under File or selecting the print icon in the toolbar. In response, a single page summary of the parameters used in tuning is printed on the user-specified
printer.
Using the Adaptive Tuning Page
If Process Learning has been enabled on a PID block, when you select the PID block in InSight, the Adaptive Tuning page is available as shown in the following
image.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 42 of 137
The Adaptive Tuning Page
The Process Model panel shows the values for Process Gain, Time Constant, and Deadtime from the last good model.
The Model Quality indicator (green or red) shows if the model is good relative to a minimum value (approximately 50% in a 0-100% scale) that defines a good
model. Model quality is based on an adaptation history of the models for each region as well as consistency and model deviation over time.
Note To improve model quality for integrating processes, apply a PV filter with a time constant of 1 to 3 PID scan periods.
The Settings button opens the Regions Settings dialog.
Region Settings Dialog
In Adaptive Control, regions are used to divide the range of a non-linear state parameter into piecewise linear segments. As a simple example, process gain can
change as a function of a valve stem position if the final control element has non-linear installed characteristics. The valve's output signal can be configured as the
state parameter and the state parameter can be split into as many as five (5) regions. The regions can be aligned for linearity such that each region in a non-linear
range is made linear. In full Adapt mode, InSight automatically updates the models in each region. When the state parameter changes from one region to another,
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 43 of 137
the model values and tuning change to the last good model and tuning created for that region.
From the Adaptive Tuning page the Region Settings dialog can be used to set region boundaries, view the values of the last and approved model in that region,
view the quality of the last model, and center the limits.
The Status area indicates if a model has been triggered and the current status of model creation. Model triggering criteria (Setpoint and/or Out change in MAN) is
specified on the Learning Setup page. Possible values for Identification are: Awaiting Trigger, Triggered, Results Pending, Disabled, Waiting for Valid Data,
Model Near Limits (5% of the parameter range). Possible values for Data are: Initializing, OK, Bad, Disabled.
Note The Model Near Limits status can persist if the model's values for Gain, Time Constant, and Dead Time are within 5% of the parameter range. If the Model
Near Limits status persists, reduce the values for both the High and Low limits. In other words, move the limits in, not out.
Once a model is successfully identified, it is a good idea to examine the previous model and compare it to the current model using the Models Viewing page.
When you are confident that the current model is consistent with previous models and that the model values are not limited, use the Tuning Calculation panel to
select the tuning rule and desired response time and to manipulate the tuning calculations based on the identified process model. The tuning rules are for model-
based tuning only. The Tuning Index indicates the potential for improving control performance by updating controller tuning according to the current identified
model and the selected tuning rule.
You can change the Adapt target mode by clicking in the Adapt mode field. The Adapt mode options are:
Off – The controller calculates new models and tuning for each region but does not adjust the closed-loop tuning parameters. The control loop uses the
default tuning parameters.
Partial Adapt - the controller calculates new models and tuning for each region and adjusts closed-loop tuning based on the approved models for each region.
The controller adjustments are made only for models the user has reviewed and approved.
Full Adapt - the controller calculates new models and tuning for each region and automatically adjusts closed-loop tuning based on the last model calculated
for each region. No user review or approval is required.
When you are satisfied with the tuning values presented in the Recommended Settings area, click the Update=> button to send these values to the controller.
Using the Adaptive Control Page
The Adaptive Control page is available when a license has been assigned to a PID block. This page is used to view and modify the adapted model parameters in
the controller and to see detailed information for each region.
Expert users can use this page to:
Change the tuning method and Lambda factor
View the values for Closed Loop Time Constant and Tuning Index
Modify controller values
Change controller and Adapt modes. Refer to Using the Adaptive Tuning Page for information on the Adapt mode.
Non-expert users can use this page to:
Change the process type and desired response time
Modify controller values
Change controller and Adapt modes
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 44 of 137
Adaptive Control Page
Both expert and non-expert users can view the values for:
GAIN_WRK – In full Adapt mode, the working gain is the block's current Gain that is calculated based on the last model calculated for the current active
region. In partial Adapt mode, this value corresponds to the current Gain that is calculated based on the approved model for the current active region.
RESET_WRK – In full Adapt mode, the working reset is the block's current Reset value that is calculated based on the last model calculated for the active
region. In partial Adapt mode, this value corresponds to the current Reset value calculated based on the approved model for the current region.
RATE_WRK – In full Adapt mode, the working rate is the block's current Rate value that is calculated based on the last model calculated for the active
region. In partial Adapt mode, this value corresponds to the current Rate value that is calculated based on the approved model for the current region.
The chart in the lower left hand corner shows information on the models created in each region configured for the block. Model quality is indicated by color: red
means that the quality of the last model in the region is bad and green means that the quality of the last model in the region is good. The dark gray area shows the
model values in the current region. The Region Settings dialog can be opened from the chart. Click in the chart and select Settings from the context menu. Refer to
Using the Adaptive Tuning Page for information on the Region Settings dialog.
Note Normally, when the quality of the last model in a region is good, the quality indicators are green and the Adapt Mode is Full and when the quality of the last
model in a region is bad, the quality indicators are red and the Adapt Mode is Off. However, if the module is partially downloaded or redundant controllers are
switched over during model calculation, the model quality is initialized and the quality indicators go to red but the Adapt Mode stays at Full. In this case, perform
several more model identifications to restore the model quality.
Using the Models Viewing Page
Use the Models Viewing page to analyze and compare models that have been previously identified. From this page you can:
Select a previous model or an average of selected models to replace the current model
Plot models in a variety of ways to review past models.
Change the number of regions and region boundaries
Select the state parameter and Adapt mode
Copy models to the clipboard and copy models and model limits from one region to another
Save a model to the model database
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 45 of 137
The Models Viewing Page
Whenever a loop is selected, the application automatically loads up to 200 models that have been identified and stored in the model database for the loop. If the
number of models exceeds 200, models are automatically removed from the database. Lower quality and older models are removed first. Information about the
models such as timestamp, quality and process information are shown in the top portion of the page. Model quality is based on an adaptation history of the models
for each region as well as consistency and model deviation over time. Sort the models by clicking on a column heading.
Note Be aware that it is difficult to identify good quality models for integrating processes' PID loops in AUTO mode. For integrating processes, step changes to
the SP in AUTO mode may result in less accurate models and deteriorating model quality. However in MAN mode, step changes to OUT result in more accurate
models and improved model quality. Be sure that you carefully monitor an integrating process in MAN mode to ensure that the process does not run away.
Delete a model from this page by selecting the model and clicking Delete Model from the context menu. Use the Shift and Ctrl keys to select multiple models to
delete.
Models can be plotted against Time, Quality, and process variable information such as PV, OUT, working SP and Other. Select a model or multiple models and
click Plot Selected from the context menu or use the boxes that appear next to the model to select the models to plot. The legend, on top of the graph, explains
what is being trended on the graph. To remove a plotted model from the graph, select the model in the model list and Remove Selected from the context menu.
Use the State parameter drop down list to select a state parameter to explore process non-linearity relative to the selected state. A non-linear state parameter can be
split into as many as five (5) regions. Use the Number of regions drop down to specify the number of regions. Refer to Using the Adaptive Tuning Page for more
information on regions. Possible state parameter values are:
OUT - the controller output/process model input
PV - the Process Variable/process model output
SP_WRK - the PV working setpoint
Aux - a user-defined value. It can be calculated from several process parameters
Click the Settings button to open the Region Settings dialog.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 46 of 137
Settings Dialog
Use this dialog to view and use the average and last model parameter values for the selected models per region. To use the last or average values, click the >> and
<< buttons to approve the values. You can edit the approved values and the high and low limits for model parameters and re-center the high and low limits from
this dialog. You can also modify the region description. This dialog can also be accessed through the context menu from the model list and the chart.
Note Changes made through the Region Settings dialog do not take effect until the Update Controller button is selected.
Using the Learning Setup Page
The Learning Setup page contains six areas: Trigger to adapt, Maximum change in model per cycle, Initialize Model/Data, Inject out change, Process, and Misc.
Options
The Learning Setup Page
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 47 of 137
Trigger to Adapt - Allows you to choose if changes in setpoint in Automatic mode or changes in output in Manual mode trigger adaptation of the model. Use the
Identification Delay option to select a time period after model identification completes when the defined triggers will not trigger adaptation. Use the Setpoint
Change drop down to select the percentage of setpoint change that triggers adaptation. Use the Out Change scale drop down to select the percent of out change in
manual that triggers adaptation.
Maximum Change in Model per cycle - Allows you to configure the maximum change that a new identification can deviate from the last good model. The
maximum change selections are in terms of percent of the span for the current range high limit. These limits do not take effect until the module is downloaded and
five (5) models have been identified after the download.
Inject Out Change - Allows you to enable automatic injection of a disturbance in the controller output when the setpoint or control output does not change
enough to trigger adaptation of the feedback model under normal operating conditions. The magnitude of the injected change is specified in terms of the percent of
output span. The When not adapted option enables automatic injection of a disturbance in the controller output only when no adaptation is triggered by the
setpoint or control output or if the triggered adaptation does not provide a good quality model. Also, you can define the time that must pass (in seconds) from the
last identification before a change is injected in the control output. Normally, out change should be higher than OUT change in MAN, especially for noisy loops.
Note In a noisy loop, disable Inject out change if the maximum output change is not high enough to provide reliable process identification. Increase the maximum
output change until you observe the injection on the trend.
Process - Allows you to modify the default selection associated with the process response to correctly reflect the equipment that is being controlled. If the process
exhibits an integrating response to a change in its input, for example tank level, Integrating should be selected. When Integrating is selected, the process model
automatically reflects the two parameters that describe integrating processes: Integrating Process Gain and Deadtime. The Process section also includes the
estimated current and minimum time to steady state used to determine the amount of information that must be collected for identification. By default, the values
for time to steady state are automatically based on the tuning or the time to steady state values you enter before the module is first downloaded. The minimum time
to steady state value is used to initialize the current time to steady state. You can modify the minimum time to steady state based on your knowledge of the process
to make the initial identification faster and also to ensure that under all conditions a minimum set of data is collected. The current time to steady state value is
updated based on the last model.
Initialize Model/Data - Allows you to choose how the data is initialized. Select the Default button to initialize the actual process model parameters (Gain, Time
Constant, and Deadtime) from the current PID controller tuning parameters (Gain, Reset, Rate). Select the Steady State button to initialize the data in the buffer by
assigning the current values for PV and OUT to all PV and OUT parameters.
Misc. Options - The Identification Out Limit (0.0-50.0) option allows you to define a region, above 0% and below 100% of the controller's OUT value, in which
identification is prohibited. Whenever the controller's OUT value falls into the defined region, identification is aborted or the identification buffers are invalidated.
The Allowable bad samples (0-5) option is used to specify the number of consecutive Bad (Bad, Uncertain, Limited) PV samples that are allowed for
identification. This option allows you to filter noise that would otherwise invalidate identification.
Using the Simulate Page
Use the Simulate page to see simulated loop responses for FLC and PID control blocks and robustness plotting and tuning for the PID control block based on the
block's On-Demand Tuning or the approved model's Adaptive Tuning. Use the On-Demand Tuning or Adaptive Tuning buttons to select the simulation criteria.
Simulated responses use the identified process parameters.
The Simulate Page
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 48 of 137
If the control block is an FLC, the simulated response window will open with a simulated setpoint response.
If the control block is a PID, the recommended tuning parameters will be checked for stability and the PID structure checked for validity and normalcy.
If you select the integrating process check box and the PID structure is one of the I+D structures, then a message will be displayed indicating an
invalid configuration. You will not be able to proceed to the Simulated Response and Robustness window.
If the robustness calculations determine that the recommended tuning parameters yield an unstable result, a message will be displayed indicating
unstable tuning. You can proceed to the Simulated Response and Robustness window by clicking OK in the message box.
If you do not select the integrating process check box and the structure is a P+D, then a message will be displayed indicating that this is an unusual
configuration. You may proceed to the Simulated Response and Robustness window by clicking OK in the message box.
If there are no unusual or invalid conditions, then the Simulated Response and Robustness window will be opened without any warning messages.
Simulated Response and Robustness Layout
In the top half of the window is a simulated response trend plot with performance variables and simulation selection buttons on the right. In the lower right section
of the window, are the recommended and current tuning parameter display boxes with an Update button immediately below them. If the control block is a PID, DT
Margin and (if you selected the integrating process check box) % Surge are displayed. If the control block is an FLC, DT Margin and % Surge are not displayed.
Simulated Response
You activate the first simulated response when you open the Simulate page. Any new tuning parameter entries (or for the PID any new robustness map tuning
selection) will cause a new simulated response to appear immediately. You may select whether you want a setpoint or disturbance step response simulated for the
entry and/or current controller tuning parameters. Make your selections as follows:
To select setpoint (SP) or disturbance simulated response, click either the SP or Disturbance button.
To cause the current controller tuning parameter responses for PV and OUT to be presented with the entry tuning parameter response, select the Controller
check box.
Any change in your selections will cause the simulated response plot to be updated.
There are three (3) performance variables that are updated after every new simulated response.
Overshoot – Presented as percent of step change by which the process variable overshoots the new setpoint.
IAE – Integrated Absolute Error is presented for all SP responses. IAE will also be displayed for disturbance responses if you did not select the
integrating process check box before you clicked the SIMULATE button.
Arrest – Arrest is displayed for disturbance responses if you selected the integrating process check box. Arrest is the time it takes for the control to
stop the process variable movement away from setpoint. It is also the time at which the maximum error during the response time occurs.
Entry and Recommended Tuning Parameters
You may enter the entry tuning parameters in either of the following ways:
Directly by clicking one of the parameter display boxes and entering new value(s)
By clicking within the robustness plot
You may update the recommended tuning parameters with the entry tuning parameters by pushing the Update=> button. The recommended parameters may be
updated to the control block in the controller with the Update=> button on the main window.
Robustness Plot
The robustness plot presents a range of tuning parameters in the form of an area or a line. The horizontal axis is the Gain Margin (dimensionless ratio of gain at
which the loop will become unstable to the gain of the controller). The vertical axis is the Phase Margin in degrees.
The robustness plot is only displayed for the PID function block. This plot is displayed as an area whenever the PID structure is one of the P+I+D types.
Otherwise, it is a line. In the unusual case where the PID structure is a P+D type and you did not select the integrating process check box, the robustness plot will
be a horizontal line with an unlabelled phase margin axis.
You may select new entry tuning parameters by clicking within the presented area (or near the line if that is what is presented). This action will update entry tuning
parameters and trigger a new simulated response.
Entry tuning parameters are annotated by a triangle. Recommended tuning parameters are annotated by a rectangle. Annotations are moved to the correct location
on the map whenever the respective tuning parameters are adjusted. If a tuning parameter set is outside the area or off the line, the annotation will be displayed in
yellow. If the robustness calculations determine that a tuning parameter set is unstable, the annotation will appear in red at the bottom left corner of the robustness
plot.
DT Margin
DT Margin is the amount of process deadtime increase (in seconds) that causes a loop to become unstable. It applies to the entry tuning parameters, whether
selected from the robustness plot or entered directly. Whenever entry tuning parameters are detected as unstable, DT Margin will be displayed as N/A.
DT Margin is only displayed for PID control blocks.
Percent (%) Surge
This variable is only displayed when the integrating process check box has been selected. It represents the percentage of tank capacity used to absorb a 100 percent
difference in process input (PID output) and load.
% Surge is only displayed for PID control blocks.
The Simulator Configuration
As part of InSight tuning, two modules containing simulated PID and FLC blocks are provided with your DeltaV system. These modules can be used as a training
tool that allows you to become familiar with the tuning procedure before applying it to the actual process.
The simulator modules contain function blocks that simulate a heater process. In order for these modules to be referenced by InSight, you only need to download
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 49 of 137
the simulator modules to a DeltaV controller.
The following module templates found in the DeltaV library for the process simulator are provided in the Simulate folder:
InSight Simulator Modules
Description Tag Comments
PID Loop and SIM_SR_PID PID test loop with
Process Simulation process simulation
Fuzzy Logic Loop SIM_SR_FLC Fuzzy test loop
and Simulation with process
simulation
Note You only need to download the simulator modules to one DeltaV controller.
You can view the simulation modules with an interface created by special simulation Dynamos. When you select the detail display from the faceplates for these
Dynamos, a representation of the simulated process is shown. These simulator modules do not use real I/O; therefore, they will not interrupt any other module's
operation currently running in the controller.
Application Guidelines
Inside this topic
The DeltaV InSight selections for on-demand and adaptive tune are suitable for tuning most control loops. Because it is flexible and easy to use, these tuning tools
in DeltaV InSight require little initial setup. However, to achieve the best results with InSight, adhere to the guidelines specified in the Tuning Rules and Selecting
a Controller Design topics.
Tuning Rules
To obtain proper tuning results, observe the following basic rules:
Equipment must be in good operating condition.
Studies on thousands of loops showed that valve problems cause 30 to 35 percent of loop tuning problems. This means that one out of every three loops
needs valve improvements to make proper loop control.
If the calculated values seem out of the ordinary, this might indicate valve problems. If the gain of the calculated values is too high or the reset is too small,
check your valves. Many valves experience the stem's sticking or hysteresis in movement that cause improper model identification and loop tuning.
Before tuning a loop using on-demand tuning, the loop must be stable. When initiating testing, on-demand tuning allows you to start the test when the
difference between the SP and the PV is large. However, to achieve optimal results, make sure that PV is close to SP before you start tuning.
If the SP and PV values are not close, a warning is issued when Test is initiated. After you select Force, the identification continues.
The Step size for adaptive and on-demand tuning must be large enough for the change to be reflected in the controlled parameter.
The setpoint or output (OUT) change defined for adaptive tune or for the output (OUT) change (or Step size) for on-demand tune must cause an appropriate
change in the PV. If the change in the PV is not large enough, the tuning process will not be successful. A process model might not be observed under the
following conditions:
Load disturbances affect the PV.
The system is too noisy.
A valve is stuck.
If a process model is not identified, check for those things that might affect the process response to change in OUT (for on-demand or adaptive tuning) or
setpoint (for adaptive tuning).
Your process must be able to handle the step change required for tuning.
When using on-demand tuning or the inject change feature of adaptive tuning, make sure that the step change does not cause a relief valve to open or any
interlocks to be triggered, either of which could affect the tuning results.
When using either on-demand or adaptive tuning, neither the SP, the PV, nor the output (OUT) should be near its limits.
When a process model is identified, the SP and PV should not be within 10 percent of the loop's engineering unit limits and the output (OUT) should not be
within 10 percent of the configured limits. If these values are outside of the specified range, the process response could be affected and the calculations of
loop dynamics would be inaccurate.
Selecting a Controller Design
The on-demand and adaptive tuning features of DeltaV InSight provide a wide choice of tuning rules and features that can be used to provide the best tuning for a
loop. Here are some general guidelines:
After you change tuning values, observe the loop for a period of time to see its reaction to noise, disturbances, or small SP step changes.
If the loop performance is not satisfactory, first change the speed of response (Faster or Slower). If you are using On-Demand tuning, you can modify the
process type selected for the tuning rule. Also, you can click the Expert button to use an advanced tuning rule.
If the loop performance is still not satisfactory, you can try an alternative process type or the Expert tuning selection (using the same process model).
General guidelines for tuning rule selection:
The PI design is the most common choice for flow, liquid level, and gas pressure control.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 50 of 137
PID control, along with feedforward and cascade strategies, is often used for temperature control, pH control, and composition control. (The composition
control might require some limits on derivative action.)
If you have tuned a loop by trial and error and it works well, you might consider using the tuning recommendations to verify your settings and tune your
loop more precisely. If the values calculated by on-demand or adaptive tuning are drastically different than your trial and error values, consider the new
values closely before changing block tuning parameters.
The PID designs are limited for some applications. For example, if the ratio of the time delay of a loop to time constant exceeds 1, the PID performance
cannot be guaranteed. The tuning results must be carefully verified. If the response is not acceptable, you might need to modify the tuning results. For such
applications, using the Smith predictor for control (that can be commissioned using on-demand tuning) might provide better results. (Refer to the
PID_DEADTIME Module Template topic.)
The process response for the recommended tuning provided by on-demand or adaptive tuning can be viewed by selecting Simulate. Refer to the topic on
using the Simulate Page for more information. This response should match what you see after applying the recommended tuning if the identified model
accurately reflects the process gain and dynamics.
For more information on rule selection and associated controller designs, refer to the Expert Feature topic.
Application Examples
This section provides some general application examples to help you use adaptive and on-demand tuning to commission your process loops. The following
sections provide examples of a single feedback loop, a cascade control loop, and a feedforward control loop.
Tuning a Single Feedback Loop
For an example of tuning a single feedback loop, refer to the temperature loop in the following figure. In this example, steam is fed into the heat exchanger, and
water is passed through a header in the steam heater. The water absorbs heat from the steam.
Steam Heater
In the Tuning Calculation panel, the process type should be Temperature for on-demand tuning. You would probably start tuning this loop with a Normal loop
response setting, unless the loop has some unusual characteristics. If you select the Expert button or are using Adaptive Tune, you should start tuning with a tuning
rule for PID.
After tuning the loop and placing it in operation, observe the response to SP changes and load disturbances caused by process upsets. If the loop demonstrates too
much overshoot, first try changing the loop response to SLOW and update the tuning. If you still experience too much overshoot for the process, you can select a
different advanced tuning rule with lower gain. You can experiment with different tuning rules or factors using a tuning rule such as Lambda factor until you get
the results you want.
Tuning Cascade Control Loops
You can use adaptive and on-demand tuning to commission cascade control loops. However, because the loops for cascade control are interactive, you must
identify the process and apply the recommended tuning in a particular order. You need to tune the secondary (or slave) loop first and the primary (or master) loop
last. For example, refer to the cascade loop for controlling level in the following figure. The primary loop controls the level. The secondary loop controls the inlet
flow.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 51 of 137
Cascade Level Control
Perform these steps to use Insight to tune the cascade control loop in the above figure:
On-demand Tuning
1. Put the secondary controller into Auto or Man mode to allow the loop to settle.
2. Tune the secondary loop as if it were a single feedback loop using InSight.
3. Switch the secondary controller to Cascade mode.
4. Adjust the SP of the primary controller to match the PV.
5. Tune the primary loop using InSight.
Adaptive Tuning
1. Examine the models that have been identified for the secondary loop. If these are consistent, apply the recommended tuning to the secondary loop.
2. After applying the secondary tuning, wait until new models are identified for the primary loop (since the secondary tuning impacts the process model
identified for the primary loop).
3. Examine the models that have been identified for the primary loop. If these are consistent apply the recommended tuning to the secondary loop.
Use these same steps for tuning most cascade loops.
Tuning Feedforward Control Loops
You can tune the feedback portion of a feedforward control loop using on-demand or adaptive tuning but best results are achieved if the feedforward value is fairly
consistent during the time the model is identified. Begin with the Normal dynamics setting.
The temperature control feedforward loop in the following figure is similar to the single-loop steam heater example, but the flow rate for the water flowing into the
heat exchanger is fed forward to the temperature controller.
To use InSight to tune the feedforward control loop in the following figure, perform these steps:
On-demand Tuning
1. Disable the feedforward portion of the loop and hold the input constant.
Typically, you can disable the feedforward input by changing the FF_ENABLE parameter of the block from True to False.
2. Using Insight, tune the control loop as if it were a single feedback loop.
3. Return the feedforward portion of the loop to normal operation by setting FF_ENABLE parameter of the block to True.
Adaptive Tune
1. Examine the models that have been identified for the feedback control. Use an average of multiple models to minimize the impact of changes in the
feedforward loop while models were being identified.
2. Apply the recommended tuning
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 52 of 137
Feedforward Control Diagram
Use the same procedure to tune most feedforward control loops.
The guidelines and examples contained in this section are suggestions for typical control loops. Select the approach that is best for your particular application.
DeltaV Fuzzy
Inside this topic
DeltaV Fuzzy uses the Fuzzy Logic Control (FLC) function block to provide an advanced alternative to standard PID control. The FLC function block provides the
control capability of the PID block with the added benefit of superior response for both setpoint changes and external load disturbances. By using fuzzy logic, the
FLC function block minimizes overshoot and provides good load disturbance rejection. The scaling factors of the FLC function block can be automatically
established using Tune with InSight.
Note Fuzzy Logic Control advantages are the most evident in controlling processes with small dead times. When the dead time to dominant time constant ratio
exceeds 0.25, DeltaV Predict is recommended because it is likely to provide better results.
The FLC function block operates by using predefined fuzzy rules, membership functions, and adjustable parameters known as scaling factors. The FLC function
block translates the loop's absolute values into fuzzy values by calculating the scaled error (e) and scaled change in error (e) in addition to the degree of
membership in each of the predefined membership functions. It then applies the fuzzy rules and, finally, retranslates the values into a control move.
Fuzzy Logic Control Function Block
This function block supports mode control, signal scaling and limiting, feedforward control, override tracking, alarm limit detection, and signal status propagation.
For details on the parameters supported and their uses, refer to the Fuzzy Logic Control Function Block topic.
Fuzzy Logic Principles
The nonlinearity built into the FLC function block reduces overshoot and settling time, achieving tighter control of the process loop. Specifically, the FLC function
block treats small control errors differently from large control errors and penalizes large overshoots more severely. It also severely penalizes large changes in the
error, helping to reduce oscillation.
Two Membership Functions
The Fuzzy Logic Control function block uses two membership functions: the input signals are error and change in error, and the output signal is the change in
control action. The relations among these three variables represent a nonlinear controller. The nonlinearity results from a translation of process variables to a fuzzy
set (fuzzification), rule inference, and retranslation of a fuzzy set to a continuous signal (defuzzification).
The two membership functions for error, change in error and change in output are negative and positive. The membership scaling (Se and SΔe) and the error value
and change in error, respectively, determine the degree of membership.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 53 of 137
Error Membership Functions
Change in Error Membership Functions
The change in output membership functions are called singletons. They represent fuzzy sets whose support is a single point with a membership function of one.
The membership scaling (SΔu) determines the magnitude of output change for a given error and change in error.
Change in Output Singleton Membership Functions
Four Fuzzy Logic Rules
There are four fuzzy logic rules that the FLC function block uses for a reverse acting controller.
Fuzzy Logic Rules
Number Rule
Rule 1 If error is N and change in error is N,
make change in output POSITIVE.
Rule 2 If error is N and change in error is P,
make change in output ZERO.
Rule 3 If error is P and change in error is N,
make change in output ZERO.
Rule 4 If error is P and change in error is P,
make change in output NEGATIVE.
Refer to the Fuzzy Logic Evaluation topic for an explanation and example of how fuzzy membership functions and rules are used in fuzzy logic evaluation.
Fuzzy Logic Control Nonlinear PI Relationship
The two membership functions associated with each input variable and three membership functions for the output variable make the FLC function block nonlinear
in its response.
For regions where the absolute error is greater than the error scaling factor or the absolute change in error is greater than the change in error scaling factor, the
values for error and change in error are clipped at the error scaling factor and change in error scaling factor, respectively. The following figure shows an example
FLC curve that illustrates how the change in controller gain is smooth and continuous using only two input membership functions and three output membership
functions.
FLC Function Block's Nonlinear Relationship
The dark line shows the FLC function block's nonlinear relationship when the error is equal to the change in error. The straight line through the origin shows the
linear relationship of a conventional PI controller. As the error and change in error increase, the change in output of a conventional PI controller increases linearly.
Note that the gain of the FLC function block is similar to the gain of the PI controller when the error and change in error are small. The gain of the FLC function
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 54 of 137
block increases gradually as the error and change in error increase.
The nonlinearity built into the FLC function block reduces overshoot and settling time, achieving tighter control of the process loop. To help anticipate a rapid
change in the process with the FLC function block, derivative action is provided in the feedback path of the loop as shown in the following figure.
Fuzzy Logic Control with Derivative Action
The FLC function block treats small control errors differently from large control errors and penalizes large overshoots more severely. It also severely penalizes
large changes in the error, helping to reduce the oscillation.
Process Variable Oscillation Example
The above figure depicts how an FLC function block reacts to overshoot and oscillation. At points B, D, and F, where overshoot occurs, the FLC function block
applies stronger control actions to bring the variable back to the setpoint. At points A, C, and E, where large changes in error occur and are dominant, the FLC
function block applies stronger corrective actions to reduce oscillation.
This type of nonlinearity allows the FLC function block to provide better control performance than standard PID control.
Establishing Scaling Factors
InSight can be used to establish the scaling factors (Se, Se, and Su). For a small control error and setpoint change less than a nominal value (Ysp), the FLC
function block scaling factors are related to the proportional gain (Kp) and reset (Ti), which would be used in a PI block executing at a one (1) second scan rate
(t) to control the same process. Refer to the following equations:
where:
Se = change of error scaling
Se = error scaling
Su = change of controller output scaling
Se0 = error scaling for a one (1) second scan rate
Beta is a function of process deadtime (DT) and ultimate period or time constant (TC) and has values in the following range:
The approximate formula for calculating beta is as follows:
The Fuzzy Logic Control function block accounts for the scan rate and recalculates the error scaling factor (Se), which depends on the scan rate appropriate to the
function block scan (t).
The Fuzzy Logic Control function block is designed to be set up by InSight. However, if you set up scaling factors manually, the FLC block will set up derivative
time automatically, and you will not have manual access to the derivative term.
Note The nominal setpoint change value for Ysp is one percent.
When the setpoint change is greater than the nominal setpoint change (Ysp), these scaling factors are internally increased by the Fuzzy Logic Control function
block. This internal scaling is changed in the ratio of actual setpoint change to the nominal setpoint change. These larger scaling factors are used while the control
error (PV–SP) remains large due to the change in setpoint. When the control error has returned to a small value and remains small for a period of time, the scaling
factors used by the fuzzy algorithm are once again the block scaling parameter values.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 55 of 137
Fuzzy Logic Evaluation
Inside this topic
The following topics describe standard fuzzy logic operations. The control provided by the Fuzzy Logic Control function block is based on the evaluation of the
membership functions and rules described for the block algorithm.
Membership
Fuzzy logic provides a way to quantify states and the overlap between them (for example, High and Low), assigning degrees of membership (truth) to each one.
Membership Functions
Fuzzy logic uses mathematical functions to describe the degrees of membership in various states or conditions. One mathematical function describes each state.
These states are called membership functions and are usually represented graphically as triangles that overlap.
Each membership function is given a fuzzy keyword or label that describes the process state. For example, the following figure shows two membership functions
with these levels: Low and High. Note that input and output variables can have different sets of associated membership functions and labels.
Degree of Membership
Rather than require 100% membership in one state or the other, fuzzy logic allows for a tank's level to be somewhat high (70% membership) and somewhat low
(30% membership) at the same time. In other words, a statement is typically true only to a certain extent or degree.
Example Tank Level's Degrees of Membership for High and Low Variables (0.7 and 0.3, Respectively)
The degree of membership for a particular state is represented by a value that ranges from 0 to 1. For example, the degree of membership for High is 0.7 in the
above graph, and its degree of membership for Low is 0.3.
Fuzzy Logic Reasoning Process
Fuzzy logic reasoning can be expressed using AND/OR operations, as defined in the following table.
Fuzzy Logic AND/OR Operations
AND (A, B) OR (A, B)
Minimum (A, B) Maximum (A, B)
The above table is suitable for fuzzy logic statements with all possible degrees of membership. In the case where the fuzzy logic statements are 100% true or false,
the fuzzy logic operations produce the same result as binary logic (that is, 1 or 0 value, respectively). In all other cases, fuzzy logic operations generate continuous
output values between 0 and 1.
Typical Fuzzy Logic Control Function Block
A typical FLC function block has three basic operations:
1. Translation from input signals to fuzzy logic values or fuzzification.
2. Rule inference based on input states.
3. Retranslation of the fuzzy logic values to continuous signals or defuzzification.
Typical FLC Function Block Components
For example, fuzzy logic can be used to control the level in a tank through a control valve based on inlet flow and tank level measurement, as shown in the
following figure.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 56 of 137
Tank Level Being Controlled by Fuzzy Logic
In this example, the membership function describing the tank's level and valve might be defined as follows.
Tank Level Membership Function
For this example, the rules for controlling the tank level might be defined as follows.
Example Tank Level Control Rules
Number Rule
Rule 1 If level is Low and inlet flow is Normal, make outlet
valve Closed.
Rule 2 If level is High and inlet flow is Normal, make outlet
valve Open.
Rule 3 If level is High and inlet flow is Low, make outlet
valve Normal.
For this example, the fuzzy logic would be evaluated in the following manner to determine the outlet valve position based on the current value of the tank level and
inlet flow.
Step 1 - Fuzzification/Translation
Calculate the degree of membership in each of the predefined membership functions (refer to the following figure).
Step 2 - Rule Inference
Apply the degree of membership for both level and inlet flow to the fuzzy rules for tank outlet flow as shown below:
FLC Function Block Operation Principle
Step 3 - Defuzzification
Calculate a weighted average of all of the activated output membership functions to determine the outlet valve position.
DeltaV Simulate Suite
Inside this topic
The DeltaV Simulate Suite consists of the following products:
DeltaV Simulate Standalone
DeltaV Simulate Multi-Node
DeltaV SimulatePro
DeltaV Simulate Standalone and Multi-Node are the DeltaV license options that enable you to install all DeltaV software on standalone or networked PCs for off-
line development and operator training.
You can add DeltaV SimulatePro capability to either the Standalone or Multi-Node products. This document explains how to use DeltaV SimulatePro. Use the
expert features of DeltaV SimulatePro to get the most out of system checkout and operator training. Process simulation packages that have an OPC interface work
directly with DeltaV Simulate without requiring controller hardware.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 57 of 137
DeltaV Simulation Overview
With DeltaV Simulate, you can simulate the execution of operator interface and selected control modules defined for your plant. You can use this capability for
control logic checkout. Also, using the Control and I/O block simulation capability of the DeltaV system and fieldbus, field measurement values and status can be
manually supplied to the simulation or provided by blocks used to simulate the process.
The full range of OPC features in the DeltaV system are available with DeltaV Simulate. You can use this capability for the development and testing of OPC
interfaces to the DeltaV system. Also, before your plant is even constructed, you can use OPC-compliant process simulation packages with DeltaV Simulate for
process and control design checkout one controller at a time.
DeltaV Simulate allows you to perform the following tasks:
Engineer DeltaV systems anywhere. You can do engineering work without the constraints of working at a dedicated configuration workstation. You can
install DeltaV Simulate on your home or office computer or on a laptop. You can export work that was done on your computer and then import it to your
DeltaV control system.
Verify control logic and display implementation. Software modules configured for your plant control can be executed in your computer for control and
display checkout. Using the simulate capability of both DeltaV I/O blocks and fieldbus I/O blocks, you can set a measurement value and status to check out
control logic, operator displays, alarms, and trending. Using the Convert feature of SimulatePro, you can simulate the measurement, actuation and logic that
will be provided through fieldbus devices in your control system. Also, using the Convert feature, external references to I/O can be redirected to allow the
parameter values to be read and written.
Test OPC interfaces to the DeltaV system. DeltaV Simulate fully supports DeltaV OPC. Executing modules in the computer allows an OPC interface to be
checked out completely. You can use this feature to develop applications that can execute in the DeltaV Integration station.
Support DeltaV training. You can create dynamic process simulations to support operator and engineering training one controller at a time. You can also
use function blocks that represent a process model or process simulation packages to use DeltaV Simulate as a training tool.
Reduce Training and Checkout Time. Using SimulatePro you can change the execution rate of the simulation and save and restore the system state at any
time. Both of these features make it faster and easier to perform operator training and system checkout.
DeltaV Simulation Operation
After installing DeltaV Simulate, most DeltaV system features are available for operation. In a standalone installation, your computer acts as a ProfessionalPLUS
workstation. Using your computer, you can configure controllers and workstations that will be on your DeltaV system. You can also configure DeltaV devices
offline, including any fieldbus devices that will be included in your control system. The configuration you develop can be exported later for installation on your
DeltaV Control system.
Note You must log in to DeltaV as a user with configure and download privileges before you start DeltaV SimulatePro for the application to be able to connect to
the OPC server.
Modules used to implement the monitoring, process control, and calculation functions of a DeltaV system are normally assigned to a DeltaV controller. In the
DeltaV Simulation environment, you assign these modules to your computer for execution. After a download, the modules execute in the computer at their
configured execution rate. You can view parameters of the blocks executing in a module in Control Studio's online mode as if the module were executing in a
DeltaV controller. Most of the features of a complete DeltaV control system are made available on your computer as shown in the following figure.
PlantWeb Development Environment with Simulation on a Single Computer
Installing and Licensing the DeltaV Simulate Suite
Inside this topic
With each purchase of DeltaV Simulate, you receive the DeltaV installation disks, a DeltaV Simulate Access Key and a DeltaV Simulate license. The DeltaV
installation disks are used when installing DeltaV Simulate.
You must have administrator privileges on your PC to do this installation. Also, if your computer is connected to a Plant LAN, then you must have domain
privilege to be able to log on once DeltaV Simulate is installed. For proper installation, your computer must meet the minimum requirements as outlined in the
DeltaV Compatibility Chart (found at http://www.emersonprocess.com/Systems/support and in your DeltaV software Media Pack) for this release. Further, the
machine must be running NTFS and have TCP/IP installed and functional even if the machine is isolated from any network.
Installing the DeltaV Simulate Suite
The DeltaV Simulate installation procedure is the same as a standard DeltaV workstation installation except for the DeltaV Workstation Configuration phase. The
differences in the DeltaV Workstation Configuration procedure are described below.
1. Place the DeltaV installation disk in your DVD drive.
2. Proceed with the DeltaV installation. The option for Simulate occurs during the workstation configuration phase.
Note: During the software installation, you will be asked what DeltaV components should be installed. Select the defaults. Any additional options (such as
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 58 of 137
for Batch) should only be selected if you expect to do configuration for that option. Do not install options that are not needed.
3. Once the DeltaV software installation is complete, you will be automatically logged off.
4. When you log back in, you will automatically enter the workstation configuration phase.
5. The following DeltaV Workstation Configuration selections should be made when installing DeltaV Simulate:
Selection Recommend Choice
Select Workstation Type Choose "Off-line PC for DeltaV Simulate"
At the completion of DeltaV Workstation Configuration, select the option to log off. When you log back on, you should use your domain or workgroup name and
password. Before you can use DeltaV Simulate, you must install the DeltaV Simulate Access Key and assign the DeltaV Simulate license.
Licensing the DeltaV Simulate Suite
At this point, you must have the DeltaV Simulate Access Key and DeltaV Simulate license. Before attempting to license DeltaV Simulate, you must have installed
the DeltaV software and configured it to run DeltaV Simulate (read the Installing the DeltaV Simulate Suite topic).
The DeltaV Simulate Suite requires that the DeltaV Simulate Access Key be attached to your computer and the DeltaV Simulate license be loaded in DeltaV
Explorer and assigned to your workstation.
Click to Learn How
Once DeltaV Simulate has been installed and licensed, you can utilize DeltaV Simulate's capability to create DeltaV process control configurations. Also, you can
assign and download modules to the ProfessionalPLUS workstation.
Using DeltaV Simulate
Inside this topic
If you need to delete module assignments from controllers in your configuration the recommended way is:
1. View Assigned Modules for the controller.
2. Right click on the module and select Delete Assignment.
3. Right click on the module again and select Download | Delete From Controller.
4. Download Setup Data to the controller.
If you attempt to remove a module assignment from your configuration by deleting the assignment, then performing a total download, you must download twice
(total download followed by Download | Setup Data) to prevent DeltaV Simulate from displaying modules that have not been completely removed. This additional
download is necessary because of the way the system manages module assignments and deletions during the download process.
You install the DeltaV Simulate capability on your computer using the standard DeltaV installation procedure.
Once you have installed DeltaV Simulate, the capability of the ProfessionalPLUS workstation is provided for configuration support. Batch and continuous control
execution are also supported.
Note Technical support is available for DeltaV Simulate when a particular hardware configuration is used. Refer to the DeltaV Simulate product data sheet for
information regarding this hardware configuration.
In the Standalone version of DeltaV Simulate, an Ethernet card is not required as part of your computer hardware. If you have an Ethernet card installed on your
computer for connection to your plant or office LAN, the installation of DeltaV Simulate will not change the TCP/IP settings for this connection. This allows you
to continue using DeltaV Simulate while your computer is connected to your plant or office LAN.
Note The Standalone version of DeltaV Simulate does not support Ethernet connections to a DeltaV system. To transfer configuration work, you must export from
your computer and then import to your DeltaV system.
The Multi-Node version of DeltaV Simulate supports interconnecting PCs to allow simulated control execution to be distributed between several machines. You
can also include Operator Stations and controllers to support training requirements.
Assigning and Downloading Modules
In DeltaV Explorer an Assigned Modules folder is included under your computer. Assign modules that you want to test dynamically to this folder.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 59 of 137
Example Module Folder in a Computer with Modules Assigned
After you assign modules and download your computer, the modules assigned to the computer begin executing at the configured execution rate automatically. You
can examine the execution of a module in the computer from Control Studio's online mode. If your system configuration contains blocks whose I/O are assigned to
fieldbus, use the Convert feature of SimulatePro to allow simulation of the execution of these function blocks. Convert also allows the simulation of external
references to I/O.
The execution engine in the computer is limited by memory. The number of modules that your computer can execute at one time depends on the number of
function blocks included in each module. You are notified when this limit is exceeded. Typically, DeltaV Simulate on a standalone PC can simulate the execution
of the modules that would be assigned to one controller or less. A node with SimulatePro capability assigned to it can simulate execution, in real-time, of the
modules that would be assigned to up to four controllers. Workstation loading, which is a function of the real-time execution multiplier setting, more than doubles
at 2X execution speed.
Using the SIMULATE Parameter
Using the SIMULATE parameter for both the DeltaV I/O blocks and the fieldbus I/O blocks, you can manually inject field measurement values and status to check
out control logic, alarming, displays, and so on. By changing the status or value associated with a measurement, the action taken by control logic execution in the
DeltaV Simulate environment can be examined. You can also use this capability to test whether block parameter values and status are displayed correctly in the
screens you designed. By changing the measurement value through the SIMULATE parameter, you can force an alarm condition, which allows you to verify
assigned alarm priority as well as the manner in which alarms become visible to the operator (for example, the Event Chronicle and alarm banner in DeltaV
Operate).
Dynamic Process Simulation
You can create dynamic process simulations to support process design as well as operator and engineering training. Using the standard function blocks available in
DeltaV Control Studio's Analog Control and Math palette, you can create a simple dynamic model of your process model. Also, process simulation packages can
support operator training. To support process design with DeltaV control, you can use high-fidelity process simulation packages.
Process Simulations Through Function Blocks
You can use the standard calculation and dynamic blocks provided in DeltaV Control Studio's Analog Control and Math palette to construct a simple dynamic
process model for testing control strategies and operator training.
Using Applications for Process Simulation
Application packages that support an OPC interface are compatible with the DeltaV Simulate environment. For example, you can use high-fidelity dynamic
process simulation software with DeltaV Simulate for plant and control design as well as control checkout and operator training. Other process simulation software
supports control system checkout and operator training. These process simulation applications utilize the simulate capability of both DeltaV I/O blocks and
fieldbus I/O blocks.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 60 of 137
High-Fidelity Process Simulation Used with DeltaV Simulate
DeltaV SimulatePro
Inside this topic
DeltaV SimulatePro adds capability to the DeltaV Simulate environment. Use DeltaV SimulatePro to coordinate the execution of modules executing in PlantWeb
in a PC environment with process simulation packages. From the SimulatePro interface you can do several things:
Enable and disable simulation
Save and restore the state of the simulation at any time
Set the execution rate of the simulation
Play back operator changes at the specified execution rate
Initialize dynamic blocks
Pause and resume simulation
View the modules and blocks in the simulation and change values if desired
View converted external reference values and change them if desired.
SimulatePro includes a user interface from which these actions can be performed. These features can also be accessed by applications through OPC.
Note: Be sure that Area_A is assigned to the ProfessionalPLUS workstation's Alarms and Events subsystem. If Area_A is not assigned, the current state of the
simulation cannot be saved to a file.
DeltaV SimulatePro User Interface
After you download the modules to a workstation, launch the SimulatePro interface from the Start menu by selecting DeltaV | Advanced Control | SimulatePro.
Note: If the SimulatePro interface is already running when you download, you must close and reopen it to update the information within SimulatePro.
The following figure shows the application opened to the Setup tab.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 61 of 137
The DeltaV SimulatePro User Interface
The tree view in the left pane of the application window contains a hierarchical view of the simulation nodes in the system. The tree view does not include
controllers.
In the tree view you can select the entire Control System or individual nodes. The selection in the tree view determines the node or nodes affected by actions you
take in the right pane.
The right pane contains three tabbed dialogs: Setup, Summary, and IO References.
DeltaV SimulatePro Menu Functions
The following functions are found on the SimulatePro File menu:
Print… – Use this command to print current control simulation information. The print dialog allows the selection of a Summary Report or a Detail Report.
The Summary Report includes: a header containing a title and the time the print request was issued, as well as the simulation node name, the execution
rate, the defined setup mode, whether or not the L_TYPE will be forced to Direct Independent on AI blocks and, a summary of the status of all
modules in the simulation.
The Detail Report prints the block details for the selected module and includes: a header containing a title and the time the print request was issued, as
well as the name of the selected module and, a summary of the status of all blocks in the selected module.
Exit – Use this command to exit the SimulatePro application.
Clear History - Use this command to clear the items from the playback view and to delete change event records from the SimulatePro playback database.
The following functions are found on the DeltaV SimulatePro Applications menu:
Control Studio – Launches the DeltaV Control Studio application. The application is launched with no context information. In order to launch Control
Studio in a specific context, refer to the Module Summary Context Menu topic.
Diagnostics – Launches the DeltaV Diagnostics application. The application is launched with no context information. In order to launch Diagnostics in a
specific context, refer to the Module Summary Context Menu topic.
The following functions are found on the DeltaV SimulatePro Options menu:
Setup… – Use this command to define basic process definitions required for SimulatePro to effectively manage control simulation commands. Two pieces
of information are defined on the Options dialog:
The setup mode, either MAN or AUTO.
Whether or not the L_TYPE of the AI blocks is to be forced to Direct Independent when Enable Simulate is selected.
These options must be defined following the installation of SimulatePro. The current value for each option is shown on the status bar. If a function is
selected that requires the Enable Simulation and Setup Mode information and the options have not yet been defined, the application prompts the user
to define the information.
Auto Save – Opens a dialog from which you can define settings to automatically save the state of the simulation at periodic intervals.
SimulatePro Setup Tab
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 62 of 137
The SimulatePro Setup tab contains the following buttons and controls.
In the Setup: Control Network area:
Enable Simulate – Sets the SIMULATE parameter to Enabled on all blocks with direct input reference in the currently selected node.
Disable Simulate – Sets the SIMULATE parameter to Disabled on all blocks with direct input reference in the currently selected node.
Setup Mode – Sets the target mode to the currently defined setup mode on all blocks with direct output reference in the currently selected node.
Normal Mode – Sets the target mode on all blocks with direct output reference in the currently selected node to each block's configured normal mode.
Save – Saves the current state of the simulation. You are prompted for a description. The file is stamped with the date and time.
Restore – Restores the simulation state from a saved state. This button opens a dialog from which you select a time and date to restore.
Initialize Dynamic Blocks – Resets all dynamic blocks (DI, DO, PIN, PID, Fuzzy, MPC, MPC-PRO, Rate Limit, Ratio, Splitter, Integrator, and Filter) in
the currently selected node to their initial steady state conditions.
In the Real-Time Execution Multiplier area:
The modules' configured execution period and the Real-Time Execution Multiplier determine the execution rate of modules running in the workstation. Time
dependent function blocks use the actual configured execution period in their calculations. Thus, the behavior of the blocks is such that their calculations are done
faster or slower than real time, depending on the Real-Time Execution Multiplier.
Real-Time Execution Multiplier Slider Bar – Sets the execution rate for the simulation node. The execution multiplier may be set anywhere from 30 times
slower than real-time to 30 times faster than real-time. An execution rate of 0 is defined as stopping execution. An execution rate of 1 is defined as real-time.
Regardless of the execution rate, modules will not run faster than 100ms.
Pause Execution – Saves the current execution rate of the simulation node and then sets the execution rate to stopped (0). The slider bar continues to show
the saved rate but the execution rate status bar entry shows Paused. The Pause Execution button is disabled when the simulation is shown as Paused.
Resume Execution – Sets the execution rate of the simulation node to the currently saved execution rate. The currently saved execution rate can be
determined from the slider bar or by placing the cursor over the slider bar, which then displays the exact rate as a tooltip. The Resume Execution button is
only enabled when the simulation is shown as Paused.
In the Playback Operator Changes area:
Operator changes can be played back after restoration from a saved file. The changes are played back at the rate specified by the Real-Time Execution Multiplier.
Playback From - Shows the date and time at which the selected operator changes were saved.
Update - Opens a dialog for selecting a time frame and refreshes the playback details view with the values saved in the Simulate Pro playback database
during the selected time frame.
Show/Hide Detail - Shows or hides the playback details.
Playback buttons - Start and cancel the playback, go to the next change event, and go to the previous and next save request points. Use the Pause and
Resume Execution buttons in the Real-Time Execution Multiplier area for these functions.
Progress bar - Shows the progress of the playback. The red markers on the progress bar show the save request points.
Playback View - Lists details about the change events to be played back. Context menu commands are available from change event records.
SimulatePro Summary Tab
The Summary tab contains two grids: The Summary Module grid and the Summary Details grid.
The Summary Module grid shows simulation, status, and mode information for all of the modules in the currently connected simulation node.
Sim column –Shows a frowning face for modules that contain at least one relevant block that does not have simulate enabled. This column applies only to
input blocks such as AI and DI or to control blocks with direct input I/O assigned.
Status column – Shows a frowning face for modules that contain at least one relevant block that has a bad or uncertain simulate status. This column applies
only to input blocks such as AI, DI, or to control blocks with direct input I/O assigned.
Mode column – Shows a frowning face for modules that contain at least one relevant block that is not in normal mode. This column applies only to output
blocks such as AO, DO or to control blocks with direct output I/O assigned.
Click a column heading to sort the items in the column.
The Summary Details grid shows detailed information for blocks within a selected module. Choose a specific module by selecting that module in the Module
Summary grid. For these details, the light gray background indicates fields that do not apply to that particular block's connection configuration. The red value
indicates failure to go to the desired state for simulation.
Sim column – Shows Enabled or Disabled. For input blocks and relevant control blocks, when the Simulate parameter is not set the word Disabled is
displayed in red. For blocks that are not relevant, such as output blocks, this field has a light gray background.
Value column – Shows the current value of the SIMULATE parameter for a block. For blocks that are not relevant, such as output blocks, this field has a
light gray background.
Status column – Shows the current Status of the SIMULATE parameter's value for a block. If the status of the value's status value is Bad or uncertain, the
status appears in red on input and relevant control blocks. For blocks that are not relevant, such as output blocks, this field has a light gray background.
Mode column – Shows two values separated by a forward slash for each block. The first value is the target Mode and the second value is the actual Mode
for the block. For blocks that are not relevant, such as input blocks, this field has a light gray background.
Out column – Shows the current OUT value for each block. For blocks that are not relevant, such as input blocks, this field has a light gray background.
Note Values in the Selected Module grid are changed by right clicking the desired cell and selecting Edit from the context menu, or by double-clicking on
the desired value to change.
Click a column heading to sort the items in the column.
SimulatePro IO References Tab
The IO References tab contains two grids: The Module grid and the Parameter Details grid. This tab is useful only if your configuration contains external
references that have been converted using the Simulate Conversion function.
The Module grid lists the modules that have external I/O references that have been converted. The number of parameters converted in each module is shown.
The Parameter Details grid shows the following information for each converted reference in the module selected in the summary grid:
The name of the parameter that has been converted
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 63 of 137
The I/O reference path
The parameter value
The parameter status
The module parameters that are created for the converted references may be changed from this interface or through OPC.
Simulate Conversion Function
You must run the Simulate Conversion function on the workstation before you run your simulation if your configuration contains:
Function Blocks that have been assigned to a fieldbus device
Parameters and function block expressions that directly reference I/O channels
The Simulate Conversion function converts modules in the database so that fieldbus blocks and I/O references can be simulated for operator training and control
system checkout. Function blocks that have been assigned to fieldbus devices are replaced with their equivalent DeltaV blocks. The block name, parameter values,
and links to other blocks are preserved. If an equivalent block does not exist, as is the case for the FFMAI block, a composite block is substituted to support off-
line simulation in Operator Interface and Control Studio. Parameters and function block expressions that perform I/O references are converted to external
parameter references. When the Simulate Conversion command is run, a module named M_nodename is automatically created under the workstation's Assigned
Modules container. M_nodename is populated with parameters that are referenced by the converted modules' parameter and function block expressions' I/O
references.
Modules can be downloaded to the workstation after conversion. Converted function blocks perform just like blocks assigned to fieldbus. For example, the logical
and dynamic behavior of converted blocks is the same as assigned blocks. To simulate values that would normally be supplied through the I/O, the user or process
simulation application can write to the newly created external parameter references that replaced the original I/O references.
To access the Simulate Conversion command, select the workstation to which modules have been assigned in the DeltaV Explorer and select Simulate Conversion
from the context menu.
Simulate Conversion Command in DeltaV Explorer
After the Simulate Conversion command is run, Control Studio can be used to view the changes made in the module. The assigned modules must be downloaded
to view the converted module operation in Operator Interface, Control Studio, or SimulatePro.
Note: The Simulate Conversion process modifies the modules in the simulation system database. No utility is provided to reverse this conversion. The simulation
system should be created from a copy of the actual system configuration.
The following sections provide more detail on the conversions.
Converting Blocks Assigned to Fieldbus Devices
Modules that contain function blocks such as AI, PID, AO that are assigned to a fieldbus device will not execute in DeltaV SimulatePro. The Simulate Conversion
command converts these blocks to the equivalent DeltaV function block so they will execute in SimulatePro. The following example shows the impact of a
conversion on blocks assigned to fieldbus devices.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 64 of 137
Blocks Assigned to Fieldbus Converted to Equivalent DeltaV Blocks
If a module contains fieldbus blocks for which no equivalent DeltaV block exists, the fieldbus blocks are replaced with composite blocks that support execution in
a simulation environment. For example, the fieldbus function blocks FF_MAI, FFMDI, and FFMDO have no equivalent DeltaV blocks. Therefore, the Simulate
Conversion command substitutes the composite blocks MAI_SIM, MDI_SIM, and MDO_SIM for the fieldbus function blocks. Modules containing the substituted
composite blocks cannot be accessed online using the SimulatePro interface. The composite blocks that support the conversion reside in the Simulation folder in
the DeltaV Explorer Library's Composite Templates container. The simulation composite blocks are designed for use in a simulation environment only and are not
meant for use in an online system.
Simulation Composite Blocks
The converted blocks contain SIMULATE_INx parameters that can be used to set the simulated OUTx parameters. The following images shows a module
containing fieldbus blocks before and after conversion. Notice the SIMULATE_INx parameters after conversion and also notice that the block names and
connections between parameters are not changed by the conversion.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 65 of 137
Module Before Conversion
Module After Conversion
After conversion, a process simulation tool can write to the SIMULATE_IN parameters and simulate the value and status that is normally provided by the I/O.
Converting Parameters and Expressions that Reference I/O Channels
Parameters and function block expressions such as a Calc/Logic block expression that directly references I/O channels will have Bad status when the associated
module is assigned to a workstation. Also, the value and status cannot be written. The Simulate Conversion command allows these parameters to be used for
training and checkout. The conversion changes the I/O references to parameter references. A module called M_nodename that contains the reference parameters is
automatically created on the workstation. Nodename is the name of the workstation on which the conversion command executed.
Note: The name of the module that is created by conversion is limited in length to 16 characters. Make sure that the node names in your configuration that will be
converted will result in unique module names after truncation (if the workstation name is longer than 14 characters). Also, the references must refer to valid
existing I/O parameters in the database before you run the conversion
For example, if a module assigned to the node NIGHTENGALE contains the parameter MYREF1, an I/O reference to CTLR2/IO1/CH05/OVERRANGE_PCT,
after conversion this I/O reference parameter is changed to an external parameter reference. For this example, the path to the reference parameter is set to
M_NIGHTENGALE/C02CH05OVERRAN1. The name of the parameter referenced in M_NIGHTENGALE is automatically created from the original I/O path
definition (slashes are removed and the controller, card, channel, and parameter names are combined and shortened to 16 characters and given a unique name).
After the I/O reference is converted, applications can read or write the converted external reference parameter to simulate the values and status normally provided
by the I/O. The referenced parameters are automatically defined in the M_NIGHTENGALE module and can be accessed online using the SimulatePro interface.
The following example shows a module that contains parameter I/O references and expressions in a Calc/Logic block that also reference I/O.
Module Containing I/O References Before Conversion
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 66 of 137
The following image shows the impact on the blocks after the Simulate Conversion command is run on the workstation that contains this module.
Module Containing I/O References After Conversion
These converted I/O references can be accessed by examining the M_Nodename module or by selecting the IO Reference tab in the SimulatePro application as
shown in the following figure.
SimulatePro View of Converted I/O References
Creating a Training System
To create a training system from a configuration with fieldbus function blocks or parameters or function block expressions that reference I/O, you must run the
Simulate Conversion command once on every node. If new modules are added to the node, the Simulate Conversion command can be re-run and any new
parameters created to replace I/O references will automatically be added to the existing M_Nodename module.
Note: The conversion modifies the configuration database on the workstation. SimulatePro does not include a utility to convert training system files back. The
Simulate Conversion is a one way transfer in which the actual system configuration is always the master configuration. The training system configuration can
always be easily and quickly created from the actual configuration using the Simulate Conversion utility.
OPC Interface Development
You can use DeltaV Simulate to support the testing of an application program's OPC interface to the DeltaV system. Using this capability, you can verify the
ability to read and write DeltaV parameters.
Full DeltaV OPC functionality is available in DeltaV Simulate. Executing modules in the computer allows an OPC interface to be checked out completely. You
can use this feature to develop applications that will execute in the Application Station. The design of this OPC interface is illustrated in the following figure.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 67 of 137
Example OPC Interface Developed and Tested Using DeltaV Simulate
DeltaV Simulate Application Examples
Inside this topic
Checkout of Control
An engineer is responsible for the control design of a new plant. His DeltaV control system will not be shipped for another month, but he has installed DeltaV
Simulate on his computer. One loop that is critical to plant operations uses a feedforward signal from a feed stream that is not used for some products. Under the
condition of no flow, the input signal can have a BAD status. It is important in his design of the control system to understand how the PID behaves under this
condition.
To learn more about how the PID operates under such a condition, the engineer assigns the associated control module to his computer, downloads, and then, using
Control Studio's online view, examines the PID and feedforward signal provided by an AI block. Using the SIMULATE parameter of the input blocks to the PID,
he establishes a normal operating condition. Then, by changing the SIMULATE parameter status of the feedforward input to BAD and back to GOOD, he
observes that the operation of the PID is not disrupted by the status going BAD. Knowing that the DeltaV PID addresses this situation, the engineer is able to
finalize the design of this critical control loop.
Dynamic Simulation of Control Response
Plant production is limited by feedstock processing. To determine if proposed process design changes will allow greater throughput, a high-fidelity dynamic
simulation of the process is constructed using a process simulation package. The engineer responsible for resolving the production limitation must determine
whether the product specifications can be met using the original control strategy. To examine the control system's response to changes in feedstock, the engineer
installs DeltaV Simulate onto his development computer with the process simulation.
By assigning the current DeltaV control strategy used in the plant to his computer and configuring the process simulation package to access the control I/O blocks,
the engineer is able to simulate the dynamic response of his plant with the current control strategy. By introducing the expected feedstock changes into the process
simulation, he determines that the current control strategy does a good job. However, the tuning of some loops will need to be changed. Using Tune With InSight
in the DeltaV Simulate environment with the process simulation package providing the process simulation, he retunes the simulated control loops and establishes
what the best tuning will be for the new process design.
The Simulate Algorithm
Inside this topic
When a specific node is selected in the SimulatePro interface, then changes requested from this interface result in the node parameters SIM_REQUEST,
SIM_INIT or SIM_FACTOR being written on the selected node. If the Control Network is selected in the interface, then the Simulate application will repeat the
write request on all PC nodes. Thus, a single request may impact all nodes, as illustrated below.
Schematic of OPC Commands in a Multi-Node System
Each application node or ProfessionalPLUS node in a multinode Simulate application supports three node parameters (accessed as Workstation
name/CONT/Parameter name) to support requests made through the SimulatePro interface or by an application.
SIM_INIT - Command (set to 1) to execute the request made by SIM_REQUEST. This parameter is automatically reset to 0 when execution of the request is
complete
SIM_REQUEST - Identifies the request. Note: application should set this parameter only if SIM_INIT is zero (the last request has been completed). The request
codes are:
1. Enable SIMULATE_IN connection
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 68 of 137
2. Disable SIMULATE_IN connection
3. Force first-time initialization
4. Set target mode to Manual
5. Set target mode to Normal
6. Set target mode to Auto
7. Force appropriate blocks' L_TYPE parameter to Direct Independent
8. Enable SIMULATE_IN and force L_TYPE to Direct Independent
9. Save to a file the module and block parameters contained in all modules assigned to the node
10. Restore from a specified file the module and block parameters of all modules assigned to the node
SIM_FACTOR - Factor to apply for simulation faster or slower than real time. A value of 0 stops execution. Positive values are interpreted as speed-up (2 is twice
real time execution), negative values are interpreted as 1/SIM_FACTOR slowdown (-30 is 1/30 of real time execution).
Saving and Restoring the System State
This section explains how the SimulatePro application saves and restores the system state in a Multi-Node system.
The DeltaV soft controller on each node supports saving parameter and block data in files on that node. If the save request is made through the SimulatePro
application these files are collected on the ProfessionalPLUS workstation.
When SimulatePro processes the request to save or restore the system state, it stops module execution on all selected nodes. After a save request, SimulatePro
copies files saved on each node to the \Simulate directory on the ProfessionalPLUS workstation.
Note The Save and Restore operations support all module types except unit modules and Phase Logic Modules (PLMs) that are configured for batch applications.
Refer to Setting up a Simulation for Batch Logic that Includes Unit Modules and PLMs for information on how to create a restore point to use in simulating
subsequent batches.
The files are saved by SimulatePro into a directory structure on the ProfessionalPLUS workstation. The file structure is:
\DeltaV\DVData\Simulate
|--\SIMmmddyyyyhhmmss
| |--\NODE1\
| | |--SIMmmddyyyyhhmmss.check
| | |--SIMmmddyyyyhhmmss.dat
| |--\NODE2\
| |--SIMmmddyyyyhhmmss.check
| |--SIMmmddyyyyhhmmss.dat
|--SIMmmddyyyyhhmmss.des
Where the *.dat files are the data files, *.check files store the information of the configuration, and the *.des files state the names of the saved nodes and the
description for this time point. The NODE1 and NODE2 indicate the actual names of nodes in the simulation system.
Saving the System State
After you click the Save button, the following happens:
1. SimulatePro prompts you to select the nodes to save.
2. SimulatePro checks the value of parameter SIM_INIT on each selected node. As soon as it finds them of all selected nodes are 0, it sends the following OPC
commands to each node:
SIM_REQUEST = 9
SIM_FILE = "SIMmmddyyyyhhmmss"
SIM_INIT = 1
Then SimulatePro creates the file directory DeltaV/DVData/Simulate/SIMmmddyyyyhhmmss on the ProfessionalPLUS workstation.
3. Each selected node detects the change of value of parameter SIM_REQUEST, then execution of modules is stopped and two temporary local files are
created:
SIMmmddyyyyhhmmss.dat that contains the modules and blocks
SIMmmddyyyyhhmmss.check that contains configuration information (workstation name, number of modules and name of modules)
The value of SIM_INIT becomes 0 after the save finishes and module execution resumes.
4. SimulatePro checks each selected workstation until the value of SIM_INIT becomes 0. SimulatePro then copies the two temporary files from each
workstation to the directory structure under \DeltaV\DVData\Simulate on the ProfessionalPLUS workstation.
5. SimulatePro creates the file SIMmmddyyyyhhmmss.des in the same directory structure and writes the description into the file.
6. SimulatePro removes the .dat and .check file from each selected workstation.
Any OPC program you write to save the system state in a multi-node system should work in a similar manner.
Restoring the System State
Restoring the system state from saved files occurs in a similar manner. When you click the Restore button:
1. SimulatePro prompts you to choose the time point to restore from a list showing all available time points. The description for every time point is also
provided.
2. After you choose the time point, SimulatePro prompts you to choose the nodes to restore. The list of nodes available for restoring is provided.
3. Click the OK button.
4. For every selected workstation, Simulate copies the files DeltaV/DVData/Simulate/NodeName/SIMmmddyyyyhhmmss.dat and
DeltaV/DVData/Simulate/NodeName/SIMmmddyyyyhhmmss.check from the ProfessionalPLUS workstation to DeltaV/DVData/Simulate/ on the selected
workstations.
5. Simulate workstation checks the value of SIM_INIT on each selected node. As soon as them on all selected node are 0, it stops the execution of the nodes
and sends the following parameter to the selected node:
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 69 of 137
SIM_REQUEST = 10
SIM_FILE = "SIMmmddyyyyhhmmss"
SIM_INIT = 1
6. The selected nodes detect the SIM_REQUEST value change then check the configuration on the node against the information in the file
SIMmmddyyyyhhmmss.check
If they match, it restores the modules and block from the local file with the name indicated by SIMmmddyyyyhhmmss.dat. The value of SIM_INIT becomes
0 after the restore finishes and module execution resumes (if this option was selected).
7. Each node being restored creates a Restore.Error file in the DeltaV/DVData/Simulate directory. This file contains the Node Name and any module names
that could not be restored in a format similar to the following:
Node Name
ModuleName1 Deleted
ModuleName2 Modified
ModuleName3 New
Modules that are not restored because they exist in the current download, but not in the saved state, are noted as New. Modules not in the download but
included in the saved state are noted as Deleted. Modules not restored because of configuration changes are Modified. Any modules not listed were restored
as expected.
8. Simulate workstation checks the value of SIM_INIT of every selected workstation. When the value is reset to 0 SimulatePro combines the Restore.Error file
results into the ProfessionalPLUS SaveRestore.log file and removes the files DeltaV/DVData/Simulate/SIMmmddyyyyhhmmss.dat,
SIMmmddyyyyhhmmss.check and Restore.Error from every selected workstation.
9. When restore is complete, SimulatePro displays a dialog similar to the following summarizing the success or failure of all selected nodes, along with details
of the modules that could not be restored.
Note: To continue the execution on the node, check the "Resume Execution After Restore" check box while restoring or click on the Resume Execution button
after restoring.
Any OPC program you write to restore the system state in a multi-node system should work in a similar manner.
Setting Up a Simulation for Batch Logic that Includes Unit Modules and PLMs
The Save and Restore operations support all module types except Unit modules and Phase Logic Modules. Unit modules and PLMs are used in batch applications
in conjunction with the Batch Executive. Process simulations for individual control and equipment modules that are contained within a unit module are saved and
restored. These modules are connected directly to the process simulation. Unit module phases and PLMs are connected to the Batch Executive and are not saved or
restored in order to preserve the integrity of the Batch Executive connections.
To set up a simulation scenario for Batch logic that includes unit modules and PLMs, bring the control and equipment modules to a steady state from which the
batch can be started. Then, perform a Save to create a Restore point to use in simulating subsequent batches. Use the Batch Operator Interface to load and start the
recipe for the desired batch.
When it is time to restart the simulation, stop the batch. Then, restore the process and control modules with the Save file(s) and start a new batch. When the batch
is started, all associated phases are restarted and parameter downloads are performed, allowing the simulation to run consistently each time.
It is desirable in some cases to simulate only a portion of a batch procedure. The Batch Executive provides a feature called Active Step Change that allows a batch
procedure to be restarted at a user defined step. Use the Batch Operator Interface to place the batch in a Held State at the point where a Save is desired and perform
a Save. This creates a start point for simulation that includes the process, control modules and a specified step or steps in the batch consistent with the Save file. To
restart from this point, load a batch, or stop the current batch if it is running and perform an Active Step Change to the specified step(s) in the batch consistent with
the Save. Restore the save file(s) and start the batch. This will reload and initialize the phases associated with the batch procedure at the point specified.
By creating a new batch and performing the Active Step Change forward to the specified step(s) consistent with the Save file, a new EVT file is created to record
the Batch Executive actions. This facilitates the comparison of each simulation run and provides a separate record of each run. The Active Step Change can be
performed within the same batch multiple times, creating a single EVT file containing all the events of the simulation.
The Simulation controller supports running the controls in accelerated time to reduce the training cycle time on slow processes. The Batch Executive does not have
time based functions and will work with the accelerated controller allowing a batch to complete more quickly. Timestamps in the EVT files will reflect accelerated
time.
If the system configuration uses PLMs or units/phases with external owners, and not the Batch Executive, it is up to the user to stop these items during the
recovery and restart them from their initial conditions. PLMs and units/phases do not Save or Restore even if the Batch Executive is not used.
The SimulatePro OPC Interface
The actions that a user may initiate through the SimulatePro interface may also be taken by an application through OPC. This OPC interface is available for use
with third-party software packages that support OPC. This section explains the interface and how SimulatePro uses it for various purposes.
Each application node or ProfessionalPLUS node supports node parameters (accessed as Workstation name/CONT/Parameter name) to support applications that
need to make the same requests as are made through the SimulatePro interface. The OPC interface to these SimulatePro features is based on applications reading
and writing these node parameters:
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 70 of 137
SIM_INIT – Initiates the command (set to 1) to execute the request made by SIM_REQUEST. SimulatePro resets this parameter to 0 when execution of the
request is complete
SIM_REQUEST – Identifies the request:
1 – Enable SIMULATE_IN connection
2 – Disable SIMULATE_IN connection
3 – Force first-time initialization
4 – Set target mode to Manual
5 – Set target mode to Normal
6 – Set target mode to Auto
7 – Force appropriate block's L_TYPE to Direct Independent
8 – Enable SIMULATE_IN and force L_TYPE to Direct Independent
9 – Save to a file the module and block parameters contained in all modules assigned to the node
10 – Restore from a specified file the module and block parameters of all modules assigned to the node
SIM_FACTOR – Defined multiplication factor for faster/slower than real time simulation. The valid range is -30 to +30. Positive numbers speed up
simulation. For example, a SIM_FACTOR value of 2 causes execution twice as fast as real time. A negative number causes execution slower than real time.
For example –10 causes execution at 1/10 real time execution. A value of 0 (zero) stops execution.
SIM_FILE - Defines the file name used to save the module and function block parameters assigned to the node
SIM_ERROR- integer that indicates the error that occurred during the save and restore. The value could be:
0 - No error
1 - Failed to create file
2 - Failed to find or open file
3 - Internal error in context save
4 - Internal Error in context restore
5 - Configuration checksum mismatch
6 - Assigned license does not permit the requested operation
7 - No modules assigned
It is the application's responsibility to check that SIM_INIT is zero before writing to SIM_REQUEST. Changing SIM_REQUEST while SIM_INIT is set to 1 can
result in a request not being completed.
DeltaV Neural
Inside this topic
DeltaV Neural is a collection of tools you use to implement neural networks in the DeltaV environment. With DeltaV Neural, you can create virtual sensors to
monitor and predict process parameters that are otherwise expensive, difficult, or impossible to measure directly. Neural networks are sometimes referred to as
intelligent or software sensors.
Hard-to-measure variables are usually quality variables or variables directly related to the economic interest of the production. These variables are often measured
by gathering product samples periodically and analyzing them offline in a laboratory. The obvious time delay incurred in analyzing the test samples, which can be
as much as several hours, makes timely control adjustments difficult. The product may become out of specification, and this may be undiscovered until the next
sample is analyzed.
DeltaV Neural consists of the following tools:
Neural Network (NN) function block, which implements software sensors.
Lab_Entry (LE) function block, which accepts lab sample analysis for training and continuous update of a neural network.
Neural application for training the neural network using historical process data.
NN and Lab Entry dynamos to create displays that operators use to enter lab data and view the virtual sensor's current and future output value.
NN and Lab Entry Faceplates
NN and Lab Entry Detail Displays
This chapter discusses the algorithm that creates and trains the neural network that the NN function block uses and describes the functionality provided by the
Neural Network function block and the Lab Entry function block. The manner in which the Neural application identifies the upstream measurements that impact
the measurement obtained by lab analysis or online sampled analyzers is also discussed. In addition, there is an overview of the predefined functionality provided
in DeltaV Operate to interact with the NN function block. For details on the configuration of the Neural Network function block and the Lab Entry function block,
refer to the Neural Network (NN) Function Block topic and the Lab Entry (LE) Function Block topic. The Neural Network function block can be used to provide a
continuous estimate of a measurement that is available only through analysis of grab samples. It can also, in conjunction with a sampled analyzer, predict the
measurement and detect when the estimated and sampled values differ significantly. The NN function block is contained in the Advanced Control palette. You
configure and download this function block in the same way as other DeltaV control blocks. The Lab Entry function block is also part of the Advanced Control
palette. You can use it to enter the lab analysis of the measurement that is estimated by the neural network function block.
With DeltaV Neural, you can collect data on your process and lab analysis by downloading the module containing the NN function block and the LE function
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 71 of 137
block. The Neural application uses data collected by the Continuous Historian during normal operation to determine the sensitivity of the lab analysis to upstream
inputs. The application then uses historical data of inputs that have a significant impact to train the neural network to predict the sampled value. You can evaluate
the accuracy of the model using the tools included with the Neural application. DeltaV Neural generates a network matrix for the NN function block from the
verified model. DeltaV Operate includes dynamos you can use to create a neural network operator interface.
After you generate the trained neural network using the DeltaV Neural application, you can download the module containing the NN function block with the
updated neural network matrix into a DeltaV controller. Through the dynamos provided for a neural network operator interface, you can place the neural network
into operation and allow it to be updated using new lab samples. If the diagnostics associated with the NN function block indicate that the process has significantly
changed, you can easily retrain the neural network and download it to the NN function block.
DeltaV Neural Algorithm
This section presents the technical background and implementation of the neural network (NN) as implemented in DeltaV Neural. The DeltaV Neural application
uses a multi-layered feedforward neural network architecture that is trained with the error back propagation algorithm. Compared to traditional neural network
products, DeltaV Neural contains many advanced features, such as:
sensitivity analysis of upstream measurements
automatic estimation of the delay in the response to a change in process input
automatic network update based on analyzer or lab entry of new sample values and estimation of future value of the measurement based on current upstream
conditions
diagnostics to detect deviation in estimate from new sample values.
The accuracy of the measurement estimate is substantially improved as a result of these enhancements. Understanding the details of the neural network algorithm
is not necessary to successfully use the DeltaV Neural product. Unless you have an interest in how the neural network algorithm and training are implemented in
DeltaV Neural, skip to the Using DeltaV Neural topic.
The NN function block uses a feedforward neural network structure. Training of the neural network is performed using backward propagation. The neural network
is validated by comparing the project output and the lab or analyzer data. Adaption of the neural network is based on comparison of predicted measurement value
to the real sampled value. The neural network algorithm is embedded in the DeltaV controller as a function block and is supported by DeltaV Neural.
Artificial Neural Networks
Neural networks (or artificial neural networks), as implemented in DeltaV Neural, are structured to mimic the operation of the neurons in the human brain. The
pulse inputs to the artificial neurons are weighted (that is, some impulses are stronger than others). The weighted inputs are summed and the neuron fires (that is, it
sends an output) if the sum of the weighted inputs is equal to or greater than the threshold for the neuron. Artificial neural networks are composed of artificial
neurons that process weighted input values with a transfer function to determine the output value of the neuron. This subsection provides the general theory of
artificial neural networks. An artificial neuron (or node) handles three basic functions. It must:
evaluate the inputs, applying the weighting factor to each one
calculate a total for the combined inputs and compare that to some threshold level
determine what the output should be
The following figure shows a single artificial neuron.
Artificial Neuron
Each artificial neuron can have multiple inputs, all of which are received simultaneously. Each input to a neuron has a weight value (Wij), which determines the
relative impact of that input. (The initial weight for a neuron will change according to its rules for modification and as the network learns from various inputs.)
Several important activities take place within the artificial neuron. Each input signal is multiplied by a weight, and the results are summed with a constant bias
input, which resembles the threshold in a natural neuron. This sum is then passed to a transfer function. If the sum of the inputs is greater than zero, the neuron
generates an excitatory (positive) signal. If the sum of the inputs is less than zero, an inhibitory (negative) signal is generated. Both response types are significant.
The transfer function is generally nonlinear. Linear (straight line) functions are sometimes used in combination with nonlinear transfer functions. Often, the
transfer function of choice is a sigmoid (an S-shaped curve), as shown in the following figure. The curve approaches a minimum and maximum value at the
asymptotes. Mathematically, this function is convenient because its derivatives are easy to calculate.
Sigmoid Transfer Function
The output (Yj) of an artificial neuron is the input to one or more other neurons. An individual artificial neuron by itself is not useful. Only when combined with
other neurons in a neural network does it become useful. For example, the human brain includes a hundred billion (1011) or so neurons. Typically, each neuron can
interact directly with 10,000 others, yielding a total of 1015 connections. Brain power comes from the sheer numbers and multiple connections of so many neurons
operating in concert. Artificial neural networks cannot approach this complexity, being subject to limitations on the number of inputs, connections, and outputs,
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 72 of 137
but are powerful tools regardless.
There are many ways to combine artificial neurons to construct a network. One of the most common is to create a multi-layer feedforward network (MFN), such
as the one shown in the following figure, which is most useful in process industries.
Example Neural Network
In this case, the neurons form three layers:
an input layer
a hidden layer
an output layer
It is a feedforward network because, when fully connected, the output of each neuron in a layer acts as an input to all of the neurons in the next layer, with none
sending outputs to neurons in their own layer or any previous layers. Given enough hidden neurons, a three-layer feedforward network can represent any
continuous nonlinear function to desired accuracy.
The input layer receives information from the outside world. Typically, the input layer consists of one neuron for each measured input variable of the process
being modeled. Usually, the neurons in this layer perform no function other than buffering of the input signals. They do not have nonlinear transfer functions but
let input information pass through directly to the next layer. Therefore, they are called linear neurons.
The hidden layer processes information from the input layer and sends the results to the output layer. The hidden layer is internal to the network and has no direct
contact with the outside world. Hidden neurons usually have sigmoidal transfer functions necessary to capture nonlinear information.
The output layer sends out calculated values as the neural network's output information. Typically, the output layer consists of linear neurons that each collect
inputs from all of the neurons in the hidden layer.
Bias neurons are necessary in a feedforward network. They are connected to each neuron, except in the input layer. The bias neurons behave similarly to other
neurons in the same layer, except that they do not receive inputs from other neurons. They are constant-source inputs, which provide a value of one (1.0). As is
shown in the previous figure, there are many more connecting lines than there are neurons. The neural network multiplies the signals carried by each neuron by
weights, which are adjusted during the training and fixed after being trained.
Building a Neural Network
Normally, building a neural network model requires the following tasks:
1. Data collection — This operation is essential since process data is the only base for building a neural network. The quality of the data determines the quality
of the model.
2. Data preprocessing — This operation is necessary because real process data often contains missing values, outliers (data values outside the control limits
you set), and possibly undesired data from different sources. This data has to be conditioned or preprocessed before it is used for network training.
3. Variable and time delay selection — This operation determines which of the available process variables are important ones that significantly affect the
variables to be predicted. Inclusion of irrelevant variables can degrade the prediction accuracy.
4. Network training — This operation determines the number of hidden neurons and adjusts the weights based on a well-conditioned set of training data. The
network's ability to change the weights allows the network to modify its neurons' behavior in response to their inputs or to learn.
5. Network verification — This operation uses a separate set of data to test how well the network works.
Before a neural network can be used for process control, it must be trained. Training, as the word suggests, consists of presenting historical process information to
the network and then comparing the network output to a target value and adjusting the network weights to match the network output to the target.
Training a neural network with a specific number of hidden nodes involves the following steps:
1. Gather and preprocess historical data and then divide the data into two sets: one set for training and the other set for testing.
2. Present the training set of data to the network.
3. From the inputs, forward propagate the training data through all layers of the network and, finally, to the outputs.
4. Compute the error between the network output and the actual (target) output values.
If they are equal, do nothing. Otherwise, adjust the weights of the neural network according to a training method backward through the network. This step is
known as back propagation. One path of forward and backward propagation through all data is one training epoch.
5. Present the testing set of data to the network after the weights are adjusted in one epoch.
6. From the inputs, propagate the testing signals through all layers of the network and, finally, to the outputs.
7. Compute the error between the network output and the actual (target) output values.
If the least test errors are achieved, training is complete. Otherwise, return to step 2.
Training and testing a neural network involves:
Feedforward Propagation
Error Back Propagation
The following subsections examine the components of the Neural Net training algorithm and some of the mathematics involved. See the following figure for an
example of a simple three-layer neural network.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 73 of 137
Three-Layer Neural Network
Feedforward Propagation
Feedforward propagation processes information in a forward direction only. This technique essentially calculates the network output based on given input data
values. During this operation, weights on the network's interconnections are not changed or updated.
The following equation relates values from the input layer to each hidden neuron input:
M
HiddenInj = W10 j + Σ ( W1 i j * Inputi )
i=1
where:
M = Number of input neurons
i j = Individual elements of a vector or a matrix
W10 j = Input bias weight
W1i j = Input layer weight from the i th input neuron to the j th hidden neuron
The results of the summation in each hidden neuron then go through a sigmoidal transfer function, s(x), which is:
HiddenOut j = s ( HiddenIn j )
where:
The calculated values from the output layer neurons are related to the hidden layer outputs through the following equation:
N
Outputk = W20 k + Σ ( W2 j k * HiddenOutj )
j=1
where:
N = Number of hidden neurons
W20 k = Hidden bias weight
W2j k = Output layer weights
Error Back Propagation
Once the network goes through feedforward propagation using an initial set of weights, the software calculates output values and compares them to the output data
used as the desired target for the output values. The difference between the calculated values and the target values is known as the error.
Training adjusts the network weights in proportion to this error in order to reduce the difference between the calculated and target values. To correct the network
output, the back propagation learning algorithm distributes the output error to each individual weight. First, the program adjusts the output layer weights based on
the output error and then the input layer weights. This weight adjustment process is known as error back propagation.
A single implementation of the error back propagation uses the gradient descent method, which always moves toward reducing the training error with a properly
assigned learning rate or step size. However, this approach suffers from a number of problems, such as slow convergence and a fixed learning rate.
Instead of the gradient descent method, DeltaV Neural uses a modified algorithm called the conjugate gradient method. This method significantly improves the
learning speed and robustness of the network with only a modest increase in the computing memory usage. The conjugate gradient method combines current
information about the gradient with that of gradients from the previous iteration to change the weights. The resulting conjugate gradient training is actually
adapting the learning rate to the best possible value, which results in much faster training. Another advantage of this algorithm is that you do not need to worry
about specifying the learning rate.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 74 of 137
Using DeltaV Neural
Inside this topic
Use DeltaV Neural to create and automatically train a neural network to provide a continuous estimate of a measurement that is currently determined using lab test
or a sample analyzer. After downloading a module that contains an NN function block, historical data is automatically collected on the upstream inputs that you
identify as potentially influencing the sample measurement. The Neural application allows you to easily preprocess the data that will be used in training the neural
network. The inputs that are most significant and their associated delay are automatically identified and then used in the training of the neural network. Based on
the trained neural network model, the Neural application automatically defines the neural model for the Neural Network (NN) function block. This section
examines the features of DeltaV Neural.
Creating a Neural Network Module
Using DeltaV Neural to provide a continuous estimate of a process parameter begins with the creation of a DeltaV module that includes the Neural Network (NN)
function block. Use the NN function block in conjunction with a Lab Entry (LE) function block where the parameter that is to be estimated by the NN block is
currently only available through offline lab analysis. This offline lab analysis may be entered into your DeltaV system using the dynamo provided with the LE
function block. Where the parameter of interest is periodically measured using an online sampled analyzer, use an Analog Input block to obtain the sampled value
needed by the NN function block. In either case, the DeltaV Neural application uses the sampled measurement when training the neural network. Also, after the
network is trained, the NN function block uses the sampled value to correct the continuous estimate of the current and future value of the parameter that is
calculated based on upstream measurements.
After you decide on a process variable to model with a neural network, create a module in Control Studio. In the module, add an NN function block from the
Advanced Control palette. If you are modeling a process that uses lab analysis data, add an LE function block. Through the configuration of the NN function
block, you may specify the upstream measurements that you believe influence the estimated sampled parameter. You may specify as many as 20 inputs. You can
assign a custom name to each input for display in the Neural application and the NN block dynamo. This name is used as the identifier for the input and must,
therefore, be unique.
If the process variable to be estimated is currently measured using offline lab analysis, then include an LE function block wired to the NN function block.
Otherwise, the analog input for the sample analyzer used for this measurement should be wired to the NN function block.
For information on how to configure an NN function block or to find examples of how this block can address different application requirements, refer to the
Neural Network (NN) Function Block topic.
Commissioning a Neural Network Function Block
To commission a Neural Network function block complete the following tasks:
1. Download the NN function block to a DeltaV controller.
2. Verify that the transmitters that provide the inputs are working correctly.
3. Make sure the Continuous Historian is enabled and that the area containing the module has been assigned to the Continuous Historian.
4. Download the system.
5. Verify all the inputs and outputs of the NN function block.
6. Open the Neural application to commission the NN control. You can open the Neural application from Control Studio or DeltaV Explorer by right-clicking
the NN function block and selecting Advanced Control | Neural from the context menu.
The Neural application appears as shown.
DeltaV Neural Application
The referenced inputs (REF) parameters and the sampled (SAMPLE) parameter are trended automatically. Up to six of the neural network inputs can be trended at
one time. For good data values, trends appear in the colors indicated in the parameter data area. The color varies to indicate questionable status (yellow for
uncertain or limited values, red for bad values). To add or remove a parameter from the trend view, double-click the parameter in the Operation Trend pane. When
you right-click a selected parameter, options are provided that allow you to modify the trend view (that is, change the trend range). You can use the toolbar
controls or the slider bar to adjust the time window that is shown on the trend. Note: If the trend parameter list and trend view shows any inputs with an incorrect
value of 0.0, it may be a result of configuring invalid reference inputs in the NN block. Refer to the Neural Network (NN) Function Block topic for more
information on correcting this and then try again.
Next, you need to enter a value for the Sample Multiplier to configure the Time to Steady State (TSS) - the estimated time (in seconds) for the process to
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 75 of 137
completely respond to changes in inputs. This field also corresponds to the horizon over which DeltaV Neural estimates input delays.
The Time to Steady State (TSS) is calculated as:
TSS = 50 * Data Sampling Rate * Sample Multiplier.
The Data Sampling Rate (DSR) is the Historian Sampling rate entered in the NN function block Properties dialog. If you are using data from a file, the sampling
rate in the file is read as the Data Sampling Rate for the TSS calculation.
The Sample Multiplier is the factor at which data from the given data set (created by sampling at the Data Sampling Rate) is sampled for creating the neural net
model. For example, Sample Multiplier of one (1) means all the samples at the DSR are used, while Sample Multiplier of two (2) implies that only every second
sample from the data set is going to be used for training - half of the former case. In effect, the product of DSR and Sample Multiplier establishes the effective
sampling rate of the data to be used for training.
To modify the TSS, edit the Sample Multiplier according to the formula above. For example, if the Historian Sampling Rate is one second and the process TSS is
estimated to be 100 seconds, set the Sample Multiplier to two (2). If you are using data from a file in which the sampling rate is two seconds, the minimum
possible TSS is 100 seconds (Sample Multiplier = 1). Other possible TSS values are 200 seconds, 300 seconds, and so on for Sample Multipliers of 2, 3, and so on.
When using the NN block in conjunction with an LE block for lab analysis samples, note that the TSS value establishes the maximum sample delay that affects the
NN block's automatic correction mechanism.
To form the data set to train the neural network, all input and output data should show reasonable variation (flat data lines have no effect) about the normal region
of operation of the process. There should be sufficient data reflecting normal process operating conditions. If the time between samples is large, the data must be
collected over a greater time. Generally speaking, the larger the data set, the better the resulting trained neural net. Also, NNs with a higher number of inputs
require more data than smaller NNs. Once sufficient data is collected, select the historical data to generate the neural network. The green area on the trend view
indicates the data used to generate the neural network. You can adjust the range by dragging the start and end bars or by right-clicking the trend to set the right or
left edge of the green area. You can exclude other unwanted data within the selected data by right-clicking within the green and stretching the red band over the
unwanted data. After you select the data, click Autogenerate to create a neural network for the process. Refer to Data Exclusion and Interpolation for information
about how the application manages questionable data.
Note The module that contains the NN function block should not be open in Control Studio when you request Autogenerate because the NN function block is
updated in the DeltaV database during autogenerate.
Note It is recommended that system time adjustments are not made over the data collection period. If it is necessary to make system time adjustments, it is best to
exclude the data over the time range.
While the Neural application is generating the neural network, a line of status information appears in the Autogeneration area of the interface to show the progress.
When the minimum error is achieved, a pop-up message appears saying that the training is completed. The trained network is loaded into the NN function block in
the database. The neural network model that is created is shown automatically in the left panel of the DeltaV Neural screen. A model overview of the calculated
sensitivity is automatically displayed.
Sensitivities View
The sensitivities indicate how changes in the inputs affect the sampled measurement that is modeled by the neural network. Inputs that were determined to have
insignificant influence on the sampled value are not used in the neural network and are indicated in the sensitivity display by a large red X shown in place of the
sensitivity plot.
Double-click a sensitivity to see a more detailed view appear, as shown in the following figure.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 76 of 137
Sensitivity Detail
The vertical scale shows the sensitivity of the output to this input. (Note that the sum of the sensitivities for all inputs is 1.0.) The time scale shows the delay (the
time it takes for a change in the input to be reflected in the output). The average sensitivity is shown as well.
Once you have viewed the input sensitivities and are satisfied that the important inputs were selected, download the associated module to utilize the trained
network. If you would like input in the training of the neural network or more details on how well the neural network fits a set of process data, use the expert
features of DeltaV Neural, as detailed in the Expert Option topic.
Expert Option
You may provide greater input during the generation of the neural network by selecting the Expert option from the DeltaV Neural application. If you have selected
this option, additional features are available in the application. The following figure shows the application window with the Expert option selected.
Application Window -- Expert Option Selected
With the expert option selected, you can choose the data screening range by selecting a Data Screening value. This sets the limits on the data used for training
based on the selected sigma (number of standard deviations) value. The default is 3.5 sigma, which means that the data training limit is Mean +/- 3.5 sigma, and
values outside those limits are treated as outliers. These same limits are used during online operation of the neural net.
Also, with the Expert option selected, you can perform a Sensitivity Analysis (by clicking the Sensitivity Analysis button) to determine the sensitivity of the output
to the inputs without training the neural network. Refer to Data Exclusion and Interpolation for information about how the application manages questionable data.
After analysis is complete, the sensitivity overview appears.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 77 of 137
Sensitivity Overview -- Expert Option Selected
The sensitivity overview with the Expert option selected contains additional buttons you use to train and verify the network. Double click a sensitivity to open a
detailed view of that input sensitivity, as shown in the following figure.
Sensitivity Analysis -- Expert Option Selected
With the Expert option selected, the sensitivity detail contains more information and controls. The detail view shows the cross correlation between the input and
the sampled output. The Neural application uses the peak value found for the cross correlation to determine the time delay associated with the input and its impact
on the sampled value. If you are familiar with the process delay and time constants associated with the inputs, you may want to verify that your knowledge of the
delay matches what was calculated. To try a different delay, enter the value in the Delay area and then click Update. In response, the sensitivity is recomputed for
the delay you entered.
If the sensitivity associated with an input is low, then you may want to remove it from use in the neural network. In many cases, such inputs have already been
eliminated and are shown with a red X in place of the sensitivity. To eliminate an input from the generation of the neural network, click the Use Input check box to
remove the check mark and then click the Update button. If an input is shown as not selected but you would like to examine the calculated sensitivity, select the
Use Input check box and then click Update. In response, the sensitivity and cross correlation are displayed.
After you are satisfied with the inputs selected for use in the neural network, click the Train network button at the bottom of the sensitivity overview screen. You
can also train a model by selecting it in the hierarchy view, right-clicking, and selecting Train Network from the pop-up menu. The Training Parameters dialog
appears as shown in the following figure.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 78 of 137
Training Parameters Dialog
The dialog contains additional options you can use to modify the neural network training. If you have expert neural network knowledge, you can change the
default values to address special requirements. For example, you can change the starting number of hidden nodes used in generating the neural network to
determine the impact on the model accuracy. Click OK on the dialog after you are satisfied with the values.
Training begins, and another dialog appears that provides information about the training, as shown in the following figure.
Training Progress Dialog
This dialog shows the neural network training progress and results. The graph shows the training error and test error values in Engineering Units as a function of
the number of epochs. As hidden nodes are added, spikes appear as a result of random initialization of the network. The right pane of the dialog shows the network
with the lowest error (test error) for each hidden node number. Among these, the best network is automatically selected by the Neural application as the trained
neural network model. This is highlighted in gray at the end of training and is the network that is assigned to the NN block. Note that the random initialization of
the network may result in different neural network configurations (as defined by the varying number of hidden nodes) being selected in the right pane for different
training runs on the same data set.
After you train the neural network, you can verify how well the model fits the sampled data by clicking either selection in the Verify Against area at the bottom of
the sensitivity overview. To verify against the data used to create the model, click Original Data. To verify against a different selection, open the Data view (select
the block or Models in the hierarchy view), select a data range, return to the sensitivity overview (click the model in the hierarchy view), and then click Selected
Data.
In response, a dialog appears that shows a plot of the actual values and predicted values calculated by the neural network, as shown in the following figure.
Note Only the first 65,000 samples will be displayed.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 79 of 137
Model Verification -- Actual and Predicted vs. Sample
Use the squared error value shown at the bottom of the dialog in conjunction with the plotted data to determine how accurate the neural network model is for the
selected data.
To see a plot of the actual vs. predicted values for the model, click the Actual vs. Predicted radio button. A plot of the calculated vs. sampled data appears as
shown below.
Model Verification -- Actual vs. Predicted Value
If the model is inaccurate, it may be the result of one or both of the following:
The model includes an input that has little or no impact on the sample parameter. This may be the case if the calculated sensitivity for the input is very low.
The model does not include an input that has a significant effect on the sample. This can happen if the input does not change over the data sample used to
generate the model and is, therefore, excluded from the model.
If autogeneration has eliminated an input which you know to have a significant influence on the parameter of interest, you can add that input to those used to train
the neural network by selecting Use Input from the input detail sensitivity display.
To use the new neural network definition after training, you must download the associated module. All neural network function block parameters have assigned
defaults. During online operation of the function block in Control Studio, you can adjust only those parameters of the block that do not impact the neural network
model file. Also, you can change some parameters that are used during controller generation in offline mode. Any changes in these parameters require that the
neural network be retrained in order for the changes to be used in the neural network model.
Defining a Neural Network Operator Interface
You can create an operator interface for the NN function block using predefined dynamos. You can access these dynamos under the NN set in the DeltaV Dynamo
Reference Library.
Using External Historical Data
Inside this topic
In some DeltaV installations, lab data may be collected and recorded either manually or in a lab system that is not connected to the DeltaV system. Also, historical
data may have been saved in the historian of another control system that is being replaced by the DeltaV system. In these cases, it may save time to use this
historical data to create a virtual sensor that is being implemented in the DeltaV system. The Neural application can use data from a file to determine input
sensitivity and train the neural network. This section describes how DeltaV Neural uses data files, the required data file format, and the utilities included in the
DeltaV system to export data from the Continuous Historian into a file.
Sensitivity Analysis and Training from File
DeltaV Neural normally uses data from the Continuous Historian to perform network input sensitivity analysis and training. However, DeltaV Neural can use
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 80 of 137
historical data saved in data files as well. The data file must contain historical values for all inputs and outputs used in the neural network and the data must be
formatted correctly for DeltaV Neural to use. Refer to the Data File Format topic for more information.
To use historical data from a file, you must first create a module that contains a Neural Network function block. The NN block must reference the DeltaV inputs
the neural network uses. Download this module to a controller or Application Station and then start DeltaV Neural. Connect DeltaV Neural to the NN block. From
the DeltaV Neural main menu, select either File | Sensitivity Analysis from File or File | Autogenerate (to determine sensitivity and train in one step). The
Sensitivity Analysis from File option is grayed out unless you are in Expert mode.
When you select either of these options, a dialog appears in which you specify the data file to use. After you select the file and click OK, DeltaV Neural performs
the sensitivity analysis or autogeneration using the data file and presents the results as if you had used data from the Continuous Historian.
Data File Format
You can create models and verify models using data files. For best results, the values contained in the data file should reflect normal conditions over the operating
range of the process. Any input or output sample values that represent abnormal conditions should be replaced by a non-numeric string in the data file. Use a tool,
such as Microsoft Excel, to format and edit the file as required.
The data files must be saved as .dat files and formatted in a particular way for DeltaV Neural to use them. The data files must contain the following information
formatted as described:
Line 1 — Must contain the phrase DeltaV_NN_Data <eol>
Note The above header specifies to DeltaV Neural that this is a historical data file.
Line 2 — Lists the Number of Input references<tab>The number of Outputs <eol>
Line 3 — Lists the Number of samples in the file <tab> The sampling period in seconds <eol>
The sampling period must be the sampling period of the data in the file. It may be different than the Historian Sampling Rate configured in Control
Studio for the block.
Line 4 — An empty line <eol>
Line 5 — Lists the identifiers of the Input references separated by tabs <eol>
The identifier names should match those that you configured in the associated Neural Network function block.
Line 6 — An empty line <eol>
Line 7 through the end of data — The data in the following order: index of the sample<tab>output value<tab>first input reference value<tab>second input
reference value<tab>... last input reference value<tab>delay value (in seconds)<eol>
If the data contains values that do not reflect normal operating conditions, replace those values with non-numeric strings. The delay value is the time
elapsed between sampling and lab analysis or sampled analyzer output becoming available. The Neural application shifts the output value by the delay
value so that the inputs and the output are time coincident.
Last Line — An empty line <eol>
The following is an example neural network data file for a network considering three inputs and one output. The example shows only the first 15 and the last three
sample input and output values out of the 389 total. Note that some of the output and input data values have been flagged as bad (the values have been replaced by
BAD, but could have been replaced by any non-numeric string).
DeltaV_NN_Data
3 1
389 5
FI101 PI102 FI103
1 298.91198730 49.74733734 51.41758347 50.12039566 15.00000000
2 301.14556885 49.94604492 49.38345337 47.68234253 15.00000000
3 301.80010986 49.73253632 49.77395248 52.39353561 15.00000000
4 299.38861084 49.79014206 49.88610840 52.50535202 15.00000000
5 299.79846191 49.22924423 48.94361115 49.54271698 19.00000000
6 299.30975342 50.15618515 49.98815918 50.34877396 19.00000000
7 299.12210083 50.06230545 49.96276093 50.90197754 19.00000000
8 BAD 49.96342850 49.37252426 BAD 19.00000000
9 299.73184204 49.27413177 50.75104904 49.83951950 19.00000000
10 299.44027710 50.51338577 50.38288498 52.36296082 22.00000000
11 298.68725586 50.11240768 50.38404083 50.63307190 22.00000000
12 298.38619995 50.08751297 51.27215958 48.14796066 22.00000000
13 298.92086792 BAD 50.98120117 50.59751511 22.00000000
14 299.72399902 50.84034729 49.70337296 48.73555756 22.00000000
15 300.00738525 49.81303406 48.52415848 52.84468842 22.00000000
. . . . .
. . . . .
. . . . .
387 300.87734985 50.02370071 49.43601227 48.33786011 17.00000000
388 301.19873047 50.53816605 50.74356842 48.55810928 17.00000000
389 301.05834961 50.28169250 49.73216248 51.49454498 17.00000000
Example Neural Network Data File
DeltaV Predict
Inside this topic
DeltaV Predict implements multivariable, model predictive control in DeltaV environments. It allows you to control interactive processes within measurable
operating constraints while automatically accounting for process interaction and measurable disturbances. It also allows you to easily address the numerous small
and medium-sized multivariable processes (2×2, 3×3 or 8×8) that can benefit from MPC technology.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 81 of 137
Predict allows users with moderate process control knowledge to apply MPC control strategies. It also makes applying such strategies easier and faster than it
would be using a PID controller and traditional techniques to address process disturbances, operating constraints, and loop interaction through the application of
feedforward, override control or decoupling networks.
DeltaV Predict consists of the following set of tools:
Model Predictive Control (MPC) function block - allows you to implement multivariable control strategies
MPC Simulation function block - allows you to create multivariable training systems
Predict application - allows you to commission the MPC function block and create process models to use with the MPC Process Simulator function block
MPC Operate application and advanced control dynamos - enable operator to view and interact with control implemented with the MPC function block
The software components associated with the DeltaV Predict require that you purchase licenses for the DeltaV controller and the ProfessionalPLUS workstation.
This chapter discusses the identification algorithm used for process model identification as well as MPC control and process simulation. The control and
simulation functionality provided by the MPC and MPC Process Simulator function blocks is described as well. This chapter also outlines how you can use the
Predict application to test a process and identify the associated step response model to generate the control. In addition, it describes the simulation provided by the
MPC Process Simulator function block. It also explains how to use a DeltaV Operate dynamo set to interface with the MPC function block. For details on the
configuration of and the application examples for the MPC and Process Simulator function blocks, refer to the MPC Function Block topic and the MPC Process
Simulator Function Block topic.
The Model Predictive Control (MPC) function block can replace the standard PID function block and other blocks that can be used with the PID block to
implement feedforward, decoupling networks, and override for multivariable control. The MPC function block is contained in the Advanced Control palette. You
can configure and download this function block in a similar way to other DeltaV control blocks. The MPC Process Simulator function block is also part of the
Advanced Control palette. You can use it to create an offline operator training system for an application that utilizes model predictive control.
With DeltaV Predict, you can run an automated test on your process after downloading the module containing the MPC function block. Data automatically
gathered by the Continuous Historian during testing is used by the Predict application to create a step response model of your process. You can evaluate the
accuracy of the model using the verify support provided as part of the model generation. DeltaV Predict uses the verified model to automatically generate the
controller matrix used by the MPC function block. Special advanced control dynamos allow you to easily define an MPC operator interface.
Once you have generated the control using DeltaV Predict, you can download the module containing the MPC function block with the updated control matrix into
a DeltaV controller. Through the DeltaV Predict operator interface, you can place the control into operation so that you can monitor it. A special diagnostic screen
allows you to detect any problems in MPC operation. If this diagnostic tool shows that the process has changed, you can easily regenerate the MPC controller and
download it to the MPC function block.
DeltaV Predict Algorithm
This section presents the technical background and implementation of Model Predictive Control (MPC) as implemented in DeltaV Predict. The applied predictive
control algorithm has its roots in Dynamic Matrix Control (DMC) with significant modifications, such as prediction horizon-dependent penalty on error, control
horizon-dependent penalties on moves, asymmetric funnel control, range control and reference trajectory. Controller robustness is substantially improved as a
result of these enhancements.
Understanding the details of the MPC algorithm is not necessary to successfully use DeltaV Predict. Skip to the Using DeltaV Predict topic unless you have an
interest in how the MPC algorithm and the associated process identification are implemented in DeltaV Predict.
Process identification is performed using two types of models: Finite Impulse Response (FIR) and Auto-Regressive (ARX). Model validation is accomplished by
matching simulated and real process data. Constraints on the process outputs are handled by managing working setpoints of the controlled variables. Process
optimization is achieved by maximizing or minimizing a selected process input until one manipulated variable approaches its limit. Such optimization is an
inherent part of the MPC algorithm. The MPC algorithm is embedded in the DeltaV controller as a function block and is supported by DeltaV Predict.
Process Modeling and Identification
The process model is the basis of MPC technology. DeltaV Predict uses step response modeling for the MPC controller. This approach has been proven effective
in numerous DMC applications. Step response modeling makes prediction of process outputs explicitly available for display in the application. The predicted error
vector is computed as an input to the MPC controller. Displaying prediction to an operator is an important way to visually evaluate the process control. DeltaV
Predict's operator interface displays the future process outputs. The MPC function block develops future process outputs as a process state and uses modified state
space form for process modeling.
For a single input, single output (SISO) process, the future prediction of the process output can be calculated as follows:
x k + 1 = Ax k + uk + Fwk
y0 = Cx k + 1
where:
x k = [y0, y1,... y i,..., y p-1]T is vector of future output prediction 0,1..., i,..., p-1 steps ahead at the time k
A is shift operator, which is defined as Axk = [y1, y2,...y i,..., y p-1, y p-1]T
B = [b0, b1,...bi,..., bp-1]T is vector of p step response coefficients
u k = u k - u k - 1 is change on the process input/controller output at the time instant k
w k process output measurement - process model output, mismatch resulted from the noise, unmeasured disturbances, and model inaccuracy
F filter, p dimension vector with unity default values
C is the operator that takes the first component of the x k + 1 vector
For an n outputs and m inputs process, vector Xk has dimension n*p, and vector B is converted into a matrix with dimension n*p rows and m columns.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 82 of 137
You can identify the step response model using two modeling techniques: FIR and ARX. Use the short horizon process model to identify the differential FIR
model. For example, the following equation applies to the SISO process:
p
yk =
hi u k-1
i = 1
Where y k = y k - y k - 1 is the change on the process output at the time instant k.
p is prediction horizon, with a typical default value for MPC model 120. Identifying step response with full prediction horizon and as many as 120 coefficients
causes overfitting and results in significant parameter uncertainty.
By using a short horizon with 30 or 40 points for the FIR model, you can avoid model overfitting. An FIR model with a short horizon provides an initial part of the
step response and is adequate for defining dead times using a heuristic approach. The dead times are then used in a ARX model, which has significantly fewer
coefficients than an FIR model. For example, the following equation applies to the SISO process:
V V
yk =
i y k-1 + bi u k-d-i
i = 1 i = 1
A and V are autoregressive and moving average orders of ARX with a default value of 4.
For a MIMO process, superposition is applied from each input (additive action) on every output both in FIR and ARX models.
Use an ARX model and apply unit step on one of the inputs to get step responses for that input. To get a complete model, repeat the procedure of applying unit
steps for every input.
As a result of using this combined identification technique, an optimal process model is developed.
MPC Controller
The MPC controller minimizes the squared error of a controlled variable over prediction horizon and the squared error of controller output over control horizon:
min {||y[X(k) - R(k)]||2 + ||uU (k)||2}
U(k)
where:
X(k) = controlled output p-step ahead prediction vector
R(k) = p-step ahead setpoint vector
U(k) = m-step ahead incremental controller output moves vector
y = diag(y1 ,..., y ) = penalty matrix on the output error
p
u = diag(u1 ,..., um) = penalty matrix on the control moves
The solution is in the form:
U(k) = (SuTyTySu + uTu)-1SuTyTyEp(k)
where:
Su = process dynamic matrix built from step responses, p x m for SISO model and p*no x m*ni matrix for MIMO model with ni inputs and no outputs
Ep(k) = error vector over prediction horizon
The performance of the control algorithm can be modified using the following adjustable parameters: p, m, u, and y. From an implementation standpoint, p and
m are not convenient to use as tuning parameters. In DMC implementations, u and y are applied as scalars (that is, control error is multiplied by the scalar y
over the whole prediction horizon), and any controller moves over control horizon are multiplied by the scalar u.
The robustness of the controller can be significantly improved by shaping y and u coefficients dependent on control error and control move predictions. Various
functions can be used for shaping the coefficients of y - linear, exponential, and so on. The current implementation applies linear function with the option to set
some initial coefficients to zero. The number of initial coefficients in y equal to zero is called the patience factor. The application of incremental penalty on error
function is preferred when the initial part of a step response is uncertain but process steady gain is reasonably well defined.
u is a basic controller-tuning parameter defined at the controller generation phase. Increasing u makes control more damped, and, in reverse, decreasing u
makes the control action more aggressive and control response faster. Another degree of tuning can be achieved by applying decreasing penalties on future moves.
This makes the first controller move less aggressive since next moves are relaxed and can be used with less penalties for error correction. It is readily apparent that
the second and next moves, in this case, can violate move constraints. This is not a practical concern since controller moves are recalculated during every scan and
only the first move is implemented. As a result, the first move is smaller and controller robustness is increased.
In addition to shaping the controller structure at the generation phase, a number of features have been implemented to manage controller behavior and robustness
online. Refer to the following figure.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 83 of 137
Reference Trajectory with Funnel and Range Control
One important tuning parameter is the setpoint filter, which is also known as the reference trajectory. The Predict trajectory acts in a different way than the
trajectory currently used in other MPC products. Instead of penalizing any departure from the trajectory, only those deviations that are below trajectory or above
setpoint value are penalized (Area A and Area C if control range = 0). In addition, the control error is considered zero if the control variable is within range (Area
C with range > 0). These features constitute a funnel control, which can be shaped online by changing the setpoint filter time constant and range, which further
enhances controller robustness and flexibiltiy.
During controller generation, all of the controller settings are calculated depending on process model, and there is no need for user involvement. However, if you
identify yourself as an Expert using the Option selection in DeltaV Predict, you can change default controller settings to enhance specific features.
Output Constraints Handling
A typical MPC configuration includes both controlled and constrained variables. The MPC controller does not take action on constrained variables unless a
predicted constraint variable violates the constraint limit. In that case, the MPC controller changes the working setpoint of the selected controlled variable on the
value:
SPCV = -r * GCV-AV *AV
where:
AV = the magnitude of the predicted steady state constraint violation
GCV-AV = the gain relationship between constraint variable (AV) and CV
r = the relaxation factor, < 1
SPCV = the change in working setpoint of the controlled variable
The association between constrained variables and controlled variables is established during configuration. Therefore, the gain relationship is defined
automatically from the process model. If the constraint limit violation ends, the working setpoint returns in a stepwise manner to the desired setpoint value.
Optimization
The objectives of optimization often include maximizing product value and minimizing raw material cost. In most cases where a linear model is applied for
control, linear programming (LP) can be applied for optimization equally well. The Simplex algorithm or its modifications serves for the LP optimal solution. If a
feasible solution exists, it is always located at one of the limit intersections. We use this result to perform simple optimization. This is done using a priori
knowledge where we know there are optimization targets, such as the minimization or maximization of one of the production parameters within constraints on
process inputs.
A typical MPC configuration can include three controlled parameters (CV), up to four constraint parameters (AVs), and up to four disturbances (DVs). To control
three CVs, three manipulated variables (MVs) plus at least one additional MV are used for optimization. The extra MV controls a process input that sets up the
optimized parameter for production rate or raw material cost. Finally, an extra CV is introduced, which is a shadow of the optimized MV. This is done by
connecting the optimizing MV to an extra CV. In DeltaV Predict, we call this the optimizing CV. The MPC controller generated for this configuration becomes an
optimizing controller. By setting the setpoint of the optimizing CV to a maximum (or minimum) achievable value of the optimizing MV, the MPC function block
drives the optimizing MV toward optimal value at the setpoint of the optimizing CV until any of the manipulated variables (or, specifically, any predicted value of
MV) violates an input limit. Then, the optimizing MV changes until all manipulated variables are within their input or output limits.
Using DeltaV Predict
Inside this topic
DeltaV Predict allows you to create and automatically commission multivariable control strategies. After downloading a module that contains an MPC function
block, the Predict application allows you to automatically test the process. The historical data collected on the process response during testing may be viewed
using the Predict application. Also, the data collected for a module containing a block is used by this application to create a step response model of the process.
Based on the identified process model, the Predict application automatically defines the control for the MPC function block. Also, you can launch the MPC
Operator Interface from the Predict application. This section examines the features of DeltaV Predict.
Creating an MPC Module
Applying DeltaV Predict to the control of a process unit begins with the creation of a control strategy that utilizes the MPC function block. You can use the MPC
function block to address multivariable control that traditionally was addressed using PID with feedforward, override, and decoupling control techniques. Also,
because of MPC's ability to handle processes with difficult dynamics (for example, long deadtime), in some cases, you can use MPC to replace a single PID
controller. In addition, you can use the capability of the MPC function block to maximize the throughput of a unit that is limiting production.
In DeltaV Control Studio, you can configure the inputs and outputs of the MPC function block to meet your particular control application. Three types of inputs to
the function block can be defined:
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 84 of 137
Control (CNTRL) - Process output measurement that is to be maintained at a specific setpoint value through the control action of the MPC function block.
Disturbance (DSTRB) - Process input measurement that impacts one of the control parameters of the MPC function block.
Constraint (CNSTR) - Process output measurement that is to be maintained within constraint limits through the control action of the MPC function block.
The Manipulated (MNPLT) parameters of the MPC function block can be wired to process inputs. These inputs are set using either the Analog Output (AO)
function block or another control block (for example, a PID function block). The setpoint of these blocks is adjusted to maintain the MPC control parameters at
target and the constraint parameters within their associated limits. You can assign a custom name to these inputs and outputs for display in the Predict application
and the MPC operator view dynamo. An example of an MPC function block and typical input/output connections are shown in the following figure.
For information on how to configure an MPC function block or to find examples of how this block may be used to address different application requirements, refer
to the MPC Function Block topic.
Commissioning MPC
After downloading an MPC function block to a DeltaV controller, verify that the transmitters and valves that provide the inputs and utilize the outputs of the MPC
function block are working correctly. Also, make sure the Continuous Historian is enabled and the area containing the module has been assigned to the Continuous
Historian. Once you have verified all I/Os to the MPC function block, you can use the Predict application to commission the MPC control. You can select the
Predict application by right-clicking the MPC function block when the module is online. In response, the Predict application is launched and the following
interface appears.
The control (CNTRL) parameters are trended automatically. Up to six of the MPC inputs and outputs can be trended at one time. For good data values, trends
appear in the colors indicated in the parameter data area. The color varies to indicate questionable status (yellow for uncertain or limited values, red for bad
values). To add or delete a parameter from the trend, double-click the parameter in the Operate Trend pane. When you right-click a selected parameter, options are
provided that allow you to modify the trend view (that is, change the trend range). You can use the toolbar controls or the slider bar to adjust the time window that
is shown on the trend.
The process dynamics may be determined by the Predict application using an automated testing feature. Before such testing can be done, the blocks wired to the
manipulated outputs of the MPC block must be in the correct mode. By selecting the MPC button in the Control pane, you can force all the downstream blocks to
the right mode. After doing this, note that the actual mode of the MPC function block changes from IMAN to MAN.
The size of the change made in the manipulated parameters during testing is determined by the step size entry (in percent of scale) where 0 indicates no change
should be made. Enter the longest time (in seconds) that it takes for the process to respond to changes in inputs as the Time to Steady State. With the downstream
blocks in their remote mode and the Time to Steady State specified, select Test to initiate automatic testing of the process. In response, the manipulated parameters
will automatically change in a pseudo-random manner over a time approximately equal to six times the time to steady state.
If any process output exhibits integrating response, use the following guidelines to estimate the Time to Steady State (Tss):
For integrating responses with insignificant lag and/or processes where the non-integrating response is significantly slower than integrating, limit the Tss to
the approximate time it takes for the integrating process variable to reach one half of its operational limit value(s), when a normal change is applied to the
process input.
For processes with significant lag, the recommended Tss is 120 * approximate lag, provided the limiting condition of guideline 1 is not violated.
If the identified response is still not satisfactory or the slow dynamics of non-integrating responses necessitate violating guideline 1, estimate the response
based on the physical (for example, volume of a tank) and operational process parameters (for example, flow rates, low/high tank level limits, and so on).
Then enter the response parameters (Gain per second, dead time, and first order lag, if any) in the corresponding fields of the Step Response Design dialog.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 85 of 137
Whenever feasible, change disturbance variables manually during testing with a variable period (approximately Tss) squarewave.
While testing is active, the actual mode of the MPC function block changes to LO. During testing, a manipulated parameter can be changed using the Operate
Trend panel. The portion of testing that is complete is indicated by a progression bar. The estimated time remaining to complete the test is shown below the
progression bar.
Upon completion of the test, a green area automatically covers portions of the trend associated with the time that testing was active. You can adjust the time
covered by the green area either by dragging the start and end divider bars or positioning the bars by right-clicking the chart.
The area of test data that reflects normal process operating conditions is indicated by dragging the green area over the data on the trend window. You can exclude
data within the green bar that does not represent normal operation by right-clicking within that area and stretching the resulting red bar over the bad data. After you
select the test data, indicate if the control or constraint parameters are integrating and then choose Autogenerate to create a step response model for the process and
the associated control. Refer to Data Exclusion and Interpolation for information about how the application manages questionable data.
Note The module that contains the MPC block should not be open in Control Studio when you request Autogenerate since the MPC function block is updated
during autogenerate. To utilize the generated control, you must first download the associated module. The process model that is created is shown automatically in
the DeltaV Predict application screen. Double-clicking gives you a more detailed view from which you can modify your step response, as shown in the following
figure.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 86 of 137
Note It is recommended that system time adjustments are not made over the data collection period. If it is necessary to make system time adjustments, it is best to
exclude the data over the time range.
Any disturbances included in the control should be closely examined. The associated step response might be inaccurate if an input did not change significantly in
the data used for autogenerate. If this occurs, a warning message will be displayed when the model is generated. In addition, this will be indicated in some cases by
the step response that is shown as a straight line (that is, no response). One means of determining if the step response is accurate is to compare the ARX model to
the FIR response. This can be done by identifying yourself as an expert by selecting Options | Expert and choosing the FIR check box. Both responses will be
displayed, as shown in the following figure.
Note Only the first 40 points of the FIR response will be displayed.
In some cases, the ARX and FIR responses might not agree. In such a case, you might need to use other data that includes times when the input changed. Then,
you will need to regenerate the model and the controller. Alternatively, if you are familiar with the process dynamics, you can identify yourself as an expert by
selecting Options | Expert and then modify the step response to reflect your knowledge of the process.
There are three methods you can use to modify the step response. The first method entails selecting the step response to be modified, right-clicking the response
area, and then adding points. Using your mouse, click the new points that define the desired step response, as shown in the following figure. Click Plot to display
the new step response. Select Save to save the new step response.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 87 of 137
If you are familiar with the process delay and time constants associated with inputs, you can use the second method of modifying the step response. For this
method, enter the response directly by selecting Design Response (as shown in the following figure) and select Apply when you are finished to save the new step
response.
Also, by selecting Edit Coefficients, you can change individual points in the step response. Select Save when you are finished to save the new step response.
Make sure that you clean up any residual step responses with gains that are ten times smaller than the highest gains with irregular shapes.
Once you have modified the step response, you can examine the accuracy of the model by selecting Verify from the model overview. In response, you can
examine the calculated output based on the model (as opposed to the actual process output) either for the time frame defined by the green area of the trend plot or
for the original data used in generating the model. In response, you can examine the actual process output in direct comparison (as opposed to the output based on
the calculated model) either for the time frame defined by the green area of the trend plot or for the original data used in generating the model. You can also
examine the XY plot of the actual process output against the calculated output and the corresponding best fit line. In addition, you can use statistics that are
provided to indicate how closely the model matches the plant data. The Model Verification window is shown in the following figure.
Note Only the first 65,000 samples will be displayed.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 88 of 137
Once you are satisfied that the model accurately reflects the process dynamics, select Generate Control to update the MPC configuration for the new model. When
the control is generated from a selected model, control parameters used to generate the control are displayed.
In most cases, it is recommended that you leave the control generation parameters at their default values and select Start (in the Controller Generation window) to
generate the control. If you have expert MPC knowledge, you can change the default values to address special requirements. For example, you can increase the
Penalty on Move to make the control more robust. Decreasing the Penalty on Move makes the controller more responsive. Doing so may also be advantageous for
unmeasured disturbance compensation. Setting the Penalty on Move to less than the default value would require you to take extra precaution when commissioning.
Decreasing the PM might be necessary if the controller is primarily intended for disturbance compensation. To get the proper speed of response, you may need to
set the PM to ten times less than the default values. This may cause oscillatory control for some CVs. If an oscillatory CV does not require tight control, decreasing
the Penalty on Error for that CV should alleviate the problem. If not, you must increase the PM until stability is achieved.
Qualitatively, increasing the PE decreases the sum of error-squared for the associated CV; increasing the PM decreases the sum of the square of MV moves.
Generally, increasing the PE decreases the stability margin, and increasing the PM increases the stability margin. The specific effect achieved is very much
dependent on the step responses of the process; so, caution must be exercised. If the objective is tight regulation or load response for a particular CV, and the PE
on another CV, which is affected by MVs that affect the target CV, is decreased, then the stability margin for both CVs will increase. The additional margin makes
it possible to decrease the PM on one or more MVs that affect the target CV, thereby improving its control response. The relationship of the PE to CVs can be
viewed as a relative weighing of error significance. Since error is evaluated on the basis of percent of span, the same PE value can have different meanings,
depending on the span of the CV. For example, the PE applied to a pressure with a span 600 psi differs in units of psi than the same PE applied to a pressure with a
span of 300 psi.
For the new control definition to be used after completing control generation, you must download the associated module. All MPC parameters have assigned
defaults. You can verify and refine the MPC configuration and control generation during simulation. During online operation of the MPC function block in Control
Studio, you can adjust only those parameters of the block that do not impact the controller. Also, you can only change parameters that are used during Control
Studio controller generation in offline mode. Any changes in these parameters require that you regenerate the controller in order for the changes to be used in the
MPC control.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 89 of 137
Defining an MPC Operator Interface
You can create an operator interface for the MPC function block using the frsAdvCFncblk dynamo set in DeltaV Operate in configure mode.
Place the dynamo provided for each control, constraint, and manipulated parameter adjacent to the associated I/O or control block on the process graphic. These
dynamos provide additional information on the MPC target or limit values, as shown in the following figure.
Place the MPC_Oper dynamo on the primary graphic display of the process that is controlled by MPC. When you access this dynamo (or the one on the faceplate),
a predefined view of MPC control is provided that you can use to make setpoint and mode changes associated with the MPC function block. An example of this
display is shown in the following figure.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 90 of 137
Refer to the MPC Operate Faceplate topic for a more detailed description of MPC Operate. Refer to the Dynamo Reference topic for more information on the
MPC dynamos provided to construct the operator interface for an MPC function block.
MPC Simulate
MPC Simulate allows you to run the MPC function block locally without having to download the controller. A simulation of the process is provided based on the
process model that was identified using DeltaV Predict. You can simulate control as well as the process response to changes made by the Predict control. Using
MPC Simulate's special interface, you can interact with the control just as you would during an actual process. You can add noise and unmeasured load
disturbances to the process inputs. MPC Simulate also allows you to evaluate the control performance of the MPC function block for different plant operating
conditions. In addition, you can perform an expedient test on the control without disturbing actual plant operations. In this way, MPC Simulate can also serve as an
operator training tool.
The prerequisites for running MPC Simulate are as follows:
The module that contains an MPC function block to be simulated exists in the persistent database (that is, the model and the MPC controller have been
generated).
DeltaV Predict is open on the module of interest.
You have generated a process model using the Predict application and the block of interest.
To access MPC Simulate, you must use the toolbar Options selection and then identify yourself as an expert. Then, either select the process model that you want to
use for the process simulation from the models that have been generated and click the Simulate button located at the bottom of the screen or select the process
model in the hierarchy tree, right-click, and select Simulate. Refer to the following figure.
The following window appears.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 91 of 137
MPC Simulate functions similarly to MPC Operate. However, MPC Simulate also allows you to perform the following functions to support simulation:
Execution of the process and control simulation in speeds that are either faster or slower than real time. This allows you to evaluate the performance of a
process that is slow in response.
Introduction of disturbances that will be added to the process output or disturbance input used in the simulation. You can evaluate the impact of noise and
unmeasured load disturbances on the process control and change the value of measured load disturbances inputs.
Refer to the MPC Operate Faceplate topic for a more detailed description of MPC Operate.
All values and ranges are based on your MPC function block's configuration. MPC Simulate shows the names of both the configured model and the simulation
model. The trend area continually updates (that is, it defaults to Continuous mode upon launching). The future area comprises one third of the graph, and it is
yellow to distinguish it from that of MPC Operate, which is green. Initially, the time scale on the chart is based on the time when you launched MPC Simulate. As
you change the real-time execution multiplier, the time change reflects that multiplier. You can change the setpoint and manipulate variable. Also, the effects on
predicted control and constraint variables are shown in the trend and the faceplates. You can either select and change the real-time execution multiplier to be used
in the Continuous mode or you can select the Step mode (that is, Advance button). Refer to the following figure.
When using the real-time execution multiplier, select the Pause button to freeze the display of the multiplier change temporarily. Select the Resume button to
continue updates. When using the Step mode (that is, the Advance button), the trend is a snapshot, and the MPC function block execution is only performed on
request. You can also change from Step mode back to Continuous mode by selecting the Resume button.
To force a disturbance on a process output or disturbance input, select the parameter to which the disturbance is to be added. The faceplate for this parameter is
displayed in the left pane of the MPC Simulate interface. Use the selections provided in the bottom half of this faceplate to specify the disturbance to be
introduced, as shown in the following figure.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 92 of 137
Once you have finished using MPC Simulate, you can save the file you created for future reference. Doing so saves not only the trend selection and the Y-scale. It
also saves all user-adjusted values for signal amplitude, the bias, and the period for the next simulation run on the same module. For this module, you can select a
new model to be used in simulation. When you do so, if you previously saved this setup information, it can be used with the new model. In addition, the previously
used setup data becomes the default.
MPC Process Simulate
After you have generated the MPC control, you can provide operator training on MPC by creating a module that contains the MPC function block and an MPC
Process Simulator block, as shown in the following figure.
You can assign a process model to the MPC Process Simulator block by right-clicking the block in DeltaV Control Studio and then selecting Predict. This
launches the Predict application, from which you can assign a model to the MPC Process Simulator function block. To assign a model, select File | Assign
Simulation Model. In response, the models that were previously created are displayed. The model that you select must have the same number and types of inputs
and outputs as the MPC Process Simulator function block. After assigning a model, you must download the module for the assigned model to be used.
Using External Historical Data
Inside this topic
In some DeltaV installations, data may be collected and recorded either manually or in a system that is not connected to the DeltaV system. In other installations,
historical data may have been saved in the historian of another control system that is being replaced by the DeltaV system. In these cases, it may save time to use
this historical data to create process models and control definitions to be used by the MPC function block in a DeltaV system. The Predict application can use data
from a file to develop a process that may then be used to generate the MPC control. The Predict application can also verify a model against data from a file. This
section describes how DeltaV Predict uses data files, the required data file format, and the utilities included in the DeltaV system to export data from the
Continuous Historian into a file.
Developing a Process Model from a File
DeltaV Predict application normally uses data from the Continuous Historian to create the process model used in control generation. However, DeltaV Predict can
use historical data saved in data files as well. The data file must contain historical values for all inputs and outputs used in the MPC block and the data must be
formatted correctly for DeltaV Predict to use. Refer to the Data File Format topic for more information.
To use historical data from a file, you must first create a module that contains an MPC function block. The MPC block must reference the DeltaV inputs and
outputs that will be used in the control. Download this module to a controller or Application Station and then start DeltaV Predict. Connect DeltaV Predict to the
MPC block. From the DeltaV Predict main menu, select either File | Autogenerate from File (to create a model and generate MPC control definition in one step) or
File | Create Model From File. The Create Model From File option is grayed out unless you are in Expert mode.
When you select either of these options, a dialog appears in which you specify the data file to use. After you select the file and click OK, DeltaV Predict performs
the selected command using the data file and presents the results as if you had used data from the Continuous Historian.
Verifying a Process Model against Data from File
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 93 of 137
In order to validate the identified process model, DeltaV Predict application normally uses data on the trend from the Continuous Historian or the original data
used to create the model. However, DeltaV Predict can use historical data saved in data files as well. The data file must contain historical values for all inputs and
outputs used in the MPC block and the data must be formatted correctly for DeltaV Predict to use. Refer to the Data File Format topic for more information.
To use historical data from a file, you must have created a model for the configured MPC function block. Verification options are grayed out unless you are in
Expert mode. In DeltaV Predict select the model you wish to validate. You may either right click and select the Verify Model | Verify Model Against File Data or
click the corresponding button on the model display. When you select either of these options, a dialog appears in which you specify the data file to use. After you
select the file and click OK, DeltaV Predict verifies the model predictions against the data file and presents the results as if you had used data from the Continuous
Historian.
Data File Format
You can create and verify models using data files. For best results, the values contained in the data file should reflect normal conditions over the operating range of
the process. For model creation, the data is normally of the form obtained with open loop bump testing. Any input or output sample values that represent abnormal
conditions should be replaced by a non-numeric string in the data file. Use a tool, such as Microsoft Excel, to format and edit the file.
The data files must be saved as .dat files and formatted in a particular way for DeltaV Predict to use them. The data files must contain the following information
formatted as described:
Line 1 — Must contain the phrase DeltaV_MPC_Data <eol>
Note The above header specifies to DeltaV Predict that this is a historical data file.
Line 2 — Lists the Number of Controlled Variables<tab>The Number of Constraint Variables<tab>The Number of Manipulated Variables<tab>The
Number of Disturbance Variables<eol>
The number of each type of variable should correspond to those that you configured in the associated MPC function block, except when any Controlled Variable is
configured as an Optimizing variable. Refer to the Example Predict Data Files in this topic for examples.
Line 3 — Lists the Number of samples in the file <tab> The sampling period in seconds <eol>
The sampling period must be the sampling period of the data in the file.
Line 4 — An empty line <eol>
Line 5 — Lists the identifiers of the Input and output references separated by tabs <eol>
The identifier names should match those that you configured in the associated MPC function block. They should be placed in the order of the configured variables,
for example, for MPC block with three controlled variables, identifiers are in the order CNTRL1, CNTRL2,CNTRL3. Hence, the order will match that of the data,
as indicated in Line 7.
Line 6 — An empty line <eol>
Line 7 through the end of data — The data in the following order: index of the sample<tab>first controlled variable value<tab>… last controlled variable
value<tab>first constraint variable value<tab>… last constraint variable value<tab>first manipulated variable value<tab>… last manipulated variable
value<tab>first disturbance variable value<tab>… last disturbance variable value <eol>
The order of the data should match the order of the configured variables, for example, for MPC block with four controlled variables, data is in the order CNTRL1,
CNTRL2,…,CNTRL4. If the data contains values that do not reflect normal operating conditions, replace those values with non-numeric strings to indicate that
these values should not be used in the model identification. During identification, the corresponding sample values are replaced by interpolating between the good
data values.
Last Line — An empty line <eol>
The following is an example Predict data file for a block consisting of two Controlled Variables (FI101 and PI102), one Constraint Variable (FI103), two
manipulated variables (CV100 and CV102) and one measured Disturbance Variable (FI155). The example shows only the first 15 and the last three sample input
and output values out of the 389 total. The data was obtained with a sampling period of 5 seconds. Note that some of the output and input data values have been
flagged as bad (the values have been replaced by BAD, but could have been replaced by any non-numeric string).
DeltaV_MPC_Data
2 1 2 1
389 5
FI101 PI102 FI103 CV100 CV102 FI155
1 298.9 49.7 51.4 50.1 40.0 15.0
2 301.1 49.9 49.3 47.6 40.0 15.0
3 301.8 49.7 49.7 52.3 40.0 15.0
4 299.3 49.7 49.8 52.5 40.0 15.0
5 299.7 49.2 48.9 49.5 45.0 19.0
6 299.3 50.1 49.9 50.3 45.0 19.0
7 299.1 50.0 49.9 50.9 45.0 19.0
8 BAD 49.9 49.3 BAD 45.0 19.0
9 299.7 49.2 50.7 49.8 45.0 19.0
10 299.4 50.5 50.3 52.3 45.0 22.0
11 298.6 50.1 50.3 50.6 45.0 22.0
12 298.3 50.0 51.2 48.1 45.0 22.0
13 298.9 BAD 50.9 50.5 45.0 22.0
14 299.7 50.8 49.7 48.7 45.0 22.0
15 300.0 49.8 48.5 52.8 45.0 22.0
. . . . . . .
. . . . . . .
. . . . . . .
387 300.8 50.0 49.4 48.3 35.0 17.0
388 301.1 50.5 50.7 48.5 40.0 17.0
389 301.0 50.2 49.7 51.4 40.0 17.0
Example Predict Data File
Optimizing Variable - If one of the controlled variables is applied for optimization, no connection is required for the control input associated with the
manipulated output used to set throughput. (Refer to the MPC Function Block - Block Execution and the Application Examples - MPC Function Block topics for
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 94 of 137
more information. In creating the data file for this case, the number of Controlled Variables does not include the one applied for optimization. For example, for the
file shown above, if PI102 is marked for optimization, the data file will not include the column for PI102 and the number of controlled variables is one (1). The
format is (only first three samples are shown):
DeltaV_MPC_Data
1 1 2 1 (1 CV though 2 configured)
389 5
FI101 FI103 CV100 CV102 FI155 (Optimizing CV identifier excluded)
1 298.9 51.4 50.1 40.0 15.0 (5 data columns, not 6)
2 301.1 49.3 47.6 40.0 15.0
3 301.8 49.7 52.3 40.0 15.0
Example Predict Data File for Optimizing Variable
Extracting Data from the Continuous Historian
In some cases, you may need to extract historical data from the Continuous Historian into one file that can be used in another DeltaV system to develop a process
model. You can export Continuous Historian historical data to an Excel spreadsheet using DeltaV Reporter. After saving the file in tab-delimited format, you can
easily create a file that conforms to the Predict format. DeltaV Reporter is located in the DeltaV\bin\DeltaVReporter folder on a DeltaV workstation or in the
DV_Extras\DeltaVReporter folder on the DeltaV installation disk.
Tailoring MPC Control Performance
Inside this topic
The MPC controller minimizes future control errors and control moves. The control calculations assume that your process response is reasonably linear over its
normal operating range. If the process model has been accurately identified during testing, then the default controller settings used in controller generation should
provide stable operation and acceptable performance.
If you would like a faster or slower control response, then choose the Expert Option. This allows you to independently create the model and generate the
controller. After the model is created, you may make adjustments to it before it is used in controller generation. Also, you may examine and modify the default
parameters that are used in controller generation to meet your specific application requirements.
When developing a typical MPC application, keep in mind that the default settings for MPC controller generation will provide a good response for most
applications. Also, make sure that you apply setpoint trajectory (using the setpoint filter) if you observe an oscillatory response. To do so, use the rules discussed
in the Testing the Response Using Simulation topic.
The following sections provide detailed information about procedures that will assist you in achieving the level of control performance you need for your
application:
Reviewing the Process Model
Setting the Parameters Used in Controller Generation
Testing the Response Using Simulation
Adjusting MPC Once Control Is in Service
Reviewing the Process Model
After you have used DeltaV Predict to identify a model of your process, review the model to ensure that it reflects your knowledge of the process. It is
recommended that you include the following steps in your review:
1. Inspect validation errors for all process outputs. Select Verify Model and observe the error between the calculated output and the actual output for a
selected data set that represents normal operation. If there is a large error, you might need to examine the associated step response in more detail.
Refer to the figure entitled Model Verification with Incorrect Process Gain. This figure shows model verification where the model gain is approximately two
times smaller than true process gain. Notice that this error in model gain results in much smaller changes in predicted process output (shown in green) and a
high average squared error (2.93 percent per scan).
Also, refer to the figure entitled Verification with Correct Model. This figure shows the same validation plot as the previous figure but with an acceptable
error (0.56 percent per scan) and a model that accurately reflects the process (that is, the model gain is approximately 1 percent in error).
2. Inspect every step response. Verify that the gain sign is correct and that the gain value is in the range you would expect based on your knowledge of the
process. Select the FIR check box and compare the ARX and FIR models over the initial part of the response curve. Typically, if the ARX and FIR models
match, the process model is accurate.
If both of the ARX and FIR curves are smooth but they show a ten percent or more difference in process gain, it is recommended that you take advantage of
the design feature and correct the process gain to place the curve in the middle of the FIR and ARX responses.
Refer to the figure entitled FIR and ARX for Poor Model. In this figure, FIR and ARX differ from each other a great deal. Such model inaccuracy might
have occurred because the deadtime was close to 60 scans (the maximum FIR horizon), and FIR produced a poor result. Another possible reason could be
that the deadtime identified by FIR was too large, causing an inverse gain for ARX.
Having the same data but a larger time to steady state often improves such a model (for example, the figure entitled ARX and FIR for Good Model). After
the time to steady state was doubled in the latter figure, the FIR and ARX matched acceptably. As previously stated, the deadtime was too large in the
former figure (50 seconds, which is close to the maximum FIR horizon of 60 scans). The scan period is doubled in the latter figure (ARX and FIR for Good
Model). Also, its deadtime accounts for only 25 scans and was properly identified.
3. Make minor corrections in process dynamics. Noisy data may introduce error in the process model identified by DeltaV Predict. Frequently, noise is
reflected in a step response that is not smooth in shape. In such situations, it is recommended that you use DeltaV Predict's graphical or numerical step
response design tools to smooth out the step response.
4. Correct step responses that deviate from expected ranges. Noisy data, insufficient excitation, or insufficient test time may produce a process model that
is not satisfactory for control. However, if plant conditions do not allow for a better test, consider correcting the model based on your knowledge of the
process, information gathered by observing trends of the measurement, and the process simulations. Typically, you can either select Design Response and
then enter step response parameters or use the graphical design option.
Make sure that you clean up any residual step responses with gains that are 10 times smaller than the highest gains with irregular shapes.
5. Inspect validation after making model changes. If you have modified the model identified by DeltaV Predict, select Verify Model and observe how well
the calculated and actual outputs match in a selected set of data.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 95 of 137
Model Verification with Incorrect Process Gain
Verification with Correct Model
FIR and ARX for Poor Model
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 96 of 137
ARX and FIR for Good Model
Setting the Parameters Used in Controller Generation
The MPC controller is generated from the process model and controller design parameters. You can use the Penalty on Move (PM) and Penalty on Error (PE)
parameters to adjust the robustness of control and the speed of response, respectively. You can adjust these parameters from the dialog that appears after you select
Generate Controller.
The following topics provide detailed information about the PM and PE parameters:
Control Robustness
Control Sensitivity
Control Robustness
Sensitivity of control to changes in process dynamics is determined by the controller robustness. The parameter used in controller generation that most impacts
robustness is the Penalty on Move (PM) parameter. the PM controls how much the MPC controller is penalized for change in the manipulated output (MV). The
Penalty on Move parameter is defined independently for every MV. Large PM values results in a slow controller with a wide stability margin. With such settings,
the control is relatively insensitive to change in either the process or the model errors. Small PM values result in a fast controller with a narrow stability margin.
When the model used in generating the control accurately reflect the process gain and dynamics, then changing the PM value does not affect the controller
performance significantly. However, a difference in the controller performance might occur if the model does not match the real process. To ensure a stable and
responsive MPC operation when the model is within +/- 20 percent accuracy, the following setting for the PM value is recommended.
where:
When you select Generate Control, the values of the PM parameters shown in the parameter dialog were calculated as described above. In most cases, the
calculated settings for the PM give good control, even if the model error is greater than +/-20 percent. It is recommended that you use the default settings. Only
change these settings if the online operation of MPC does not meet your control objectives.
Setpoint Step Response Using Default Settings
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 97 of 137
The above figure shows an example of a setpoint step response with a good model match. The PE equals 1, and the PM equals 4 (default).
Control Sensitivity
To meet your application requirements, you may give higher priority to one Controlled Variable (CV). The Penalty on Error (PE) factor allows more importance to
be placed on a specific CV. The default value for the PE is 1 for all CVs; this value should provide good control for most applications. You can change the PE
from this default value to prioritize control action. However, you should not use it to change overall control performance. When you want more sensitive control
for a specific CV, set the associated PE to a value greater than 1. If you want to relax control, set the associated PE to a value less than 1. Typically, it is
recommended that you only change the PE after adjusting the MPC controller using the Penalty on Move (PM) and testing in simulation. If the control strategy
clearly indicates that one of the controlled variables should be of lower priority, you can set the associated PE to a value of 0.8 initially. After testing in simulation,
you can adjust the PE value over a range of 0.5-1.5. Only move outside this range after verifying controller operation on the real process. The primary criterion for
adjusting the PE is acceptable variability on a specific controlled parameter.
Setpoint Step Response with Model Mismatch
The above figure illustrates a setpoint step response with the same PE and PM as in the previous figure. However, process gain is set at 2.5 times the model gain.
Utilization of the PE to Compensate for Model Mismatch
The above figure shows the same process-model mismatch as in the previous figure, except that the PM equals 20 (five times the default setting).
It is recommended that you not change default values of the other parameters in the Generate Control window.
Testing the Response Using Simulation
After controller generation, you may use the Simulate feature of DeltaV Predict to test the control performance. Using this simulation environment, you can
observe the control response for setpoint changes, measured and unmeasured disturbance, constraints handling, and optimization. You can adjust the maximum
MV move and setpoint trajectory online and test them in this simulation environment. If you make any changes to the PM or the PE, you must generate the
controller before you test these changes.
Maximum MV Move
From the detail display for each MV, you can specify the maximum limit for changes in the MV. It is recommended that you specify this limit so that control
moves are not limited during normal operations. You can do so by setting the limit to the output span of the MV. Responsive control with little or no overshoot
should be observed when the defaults parameter values for controller generation have been used. It is recommended that you change the simulated process gain by
+/-50 percent and observe the response to verify that a satisfactory response is still achieved.
For some processes, you might need to set the maximum MV move based on process equipment limits. After you make these adjustments, you should not observe
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 98 of 137
a significant difference in MPC performance. However, if you notice that the control response has changed, you might consider relaxing the MV move limits or
increasing the PM settings.
Setpoint Trajectory
You can modify the setpoint trajectories that are used in the control online. Adjust the associated setpoint filter from the detail display of the Predict operate
interface. Modify the setpoint trajectory through this filter to increase overall controller robustness after controller generation and download. If a specific
controlled parameter exhibits an oscillatory response, then you can increase the setpoint filter to provide more stable control.
Utilization of Setpoint Filter to Compensate for Model Mismatch
It is recommended that you apply the following rules when adjusting the setpoint filter time constant:
Set the setpoint filter time constant to a value that is one half of the configured time to steady state (in seconds). If the control response is still too fast after
making this change, increase the filter in the same increment or up to twice the time to steady state.
Once you are close to the response that you want, make small adjustments until you achieve that response.
If MPC operation is not improved by changing the setpoint filter, it is recommended that you increase the PM by fifty percent, generate the controller, and
then repeat the simulation.
Adjusting the PM and the PE
You can use the DeltaV Predict simulation environment to evaluate the impact of changes in the PM and PE. To do so, you must modifiy these parameters and
then generate the control. Then, you can test the new control using the simulation environment provided by DeltaV Predict. Use the following guidelines to adjust
these parameters:
Increase the PM value (in fifty percent increments) for any manipulated variables that are moving more than the acceptable limits.
Decrease the PM for manipulated variables that are not responsive. It is recommended that they do not go below the default minimum PM values (the PM
min = 3).
Increase or decrease the PE, depending on process control requirements.
Adjusting MPC Once Control Is in Service
After testing the MPC block in the DeltaV Predict simulation environment, you can download the module containing the MPC block to the controller and use it to
control the process. The performance should match what you observed when testing the control in this simulation environment. However, if the process model
identified by DeltaV Predict does not accurately reflect the process gain and dynamics, the performance may not be the same as seen in simulation. In such cases,
you can adjust controller performance using the following rules:
Adjust the setpoint trajectory using the controlled parameter setpoint filter. Follow the guidelines in the Testing the Response Using Simulation topic.
If the previous step is not successful, adjust the PM (and the PE, if necessary) parameters, test in simulation, and then download the module to use the
adjusted PM and PE values.
When adjusting a controller, it is important to use your understanding of process behavior as well as achievable control objectives.
Adjusting the Modeling Error Filter
For every control scan, MPC validates the process model's output prediction by comparing it to the measurement. Normally, there is some disparity caused by a
model mismatch or by unmeasured disturbances. The MPC prediction is corrected to match the current measurement. As a result, the next MV move accounts for
the correction; this is in essence MPC feedback action.
Full error correction is beneficial for unmeasured disturbance compensation when the model is good. If the model time constant or a particular dead time mismatch
exists, complete prediction compensation to match the measurement could deteriorate the dynamic response. Therefore, a filter is applied with a factor that defines
which fraction of the error is compensated at one scan.
The default filter factor value is 0.75. This value works well for the majority of applications. Expert users can adjust the filter factor in the range of 0.4 to1.0.
Increasing the filter factor causes better disturbances compensation. Filter factor values close to 1.0 should be avoided for models with a significant dead time
mismatch.
The filter factor is a hidden parameter; the path to it is: MODULE/MPC BLOCK/MOD_CORR_FACTOR[#], where # is the CV number. One way to change and
preserve this parameter during an upload or download is to use a simple calculation block in the module that writes the parameter to the MPC function block. The
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 99 of 137
calculation expression for one filter factor CV[1] can be expressed as:
'//MPCPRO/MPC-PRO1/MOD_CORR_FACTOR[1]' := 1.0;
OUT1 := '//MPCPRO/MPC-PRO1/MOD_CORR_FACTOR[1]' ;
To minimize calculations, set the block execution to once every 10 or so module scans.
DeltaV PredictPro
Inside this topic
DeltaV PredictPro implements model predictive control of large multivariable processes in DeltaV environments. It allows you to define as many as five control
and economic objective functions for interactive processes within measurable operating constraints while automatically accounting for process interaction and
measurable disturbances. With PredictPro you can easily address a wide variety of multivariable processes as large as 40×80 that can benefit from Model
Predictive Control (MPC) technology.
PredictPro allows users with moderate process control knowledge to quickly and easily apply MPC control strategies. Its ease of use and speed in implementing
MPC control strategies surpasses traditional MPC techniques and PID control strategies.
DeltaV PredictPro consists of the following set of tools:
Model Predictive Control Professional Function Block (MPCPro) - used to implement large multivariable control strategies
PredictPro application - used to generate the model and controller for the MPCPro function block and to test the model and control in a simulation
environment
MPCPro Operate application and advanced control dynamos - used by operators to view and interact with control implemented with the MPCPro function
block
The software components associated with the DeltaV PredictPro application require that you purchase licenses for the specific number of Manipulated parameters
used by the MPCPro block if more than one Manipulated parameter is used.
The following sections describe the MPCPro algorithm and provide information on using the PredictPro application.
Algorithm
The sections about the algorithm include information on the:
Identification algorithm used for process model identification as well as MPCPro control
Control functionality provided by the MPCPro block
Using PredictPro
The sections on using PredictPro include information on how to use:
The PredictPro application to test a process and identify the associated step response model to generate the control
The PredictPro simulation environment to fully test MPCPro control before placing it online
A DeltaV Operate dynamo set to interface with the MPC function block
For MPCPro application examples and configuration information on the MPCPro block, refer to the Model Predictive Control Professional Function Block topic.
The Model Predictive Control Professional (MPCPro) function block is designed to address the large interactive control processes that exceed the size of the MPC
block. Similarly, the optimization capability embedded in PredictPro can be used to address a variety of applications that require more than the constraint and input
pusher capability of the MPC block. The MPCPro function block can be found on the Advanced Control palette in the Control Studio application. Like other
DeltaV modules, modules containing the MPCPro function block are downloaded to a DeltaV Controller or to an Application Station.
With DeltaV PredictPro, you can run an automated test on your process after downloading the module containing the MPCPro function block. The PredictPro
application uses data automatically gathered by the Continuous Historian during testing to create a step response model of your process. You can evaluate the
accuracy of the model using the verify support provided by the PredictPro application as part of the model generation. DeltaV PredictPro uses the verified model
to automatically generate the controller matrix used by the MPCPro function block. Special advanced control dynamos allow you to easily define an MPCPro
operator interface.
Once you have generated the control using DeltaV PredictPro, you can download the module containing the MPCPro function block with the updated control
matrix into a DeltaV controller. Through the DeltaV PredictPro operator interface, you can place the control into operation to monitor it. A special PredictPro
diagnostic screen allows you to detect any problems in MPCPro operation. If this diagnostic tool shows that the process has changed, you can easily regenerate the
MPCPro controller and download it to the associated module.
DeltaV PredictPro Algorithm
This section presents the technical background and implementation of Model Predictive Control Professional (MPCPro) as implemented in DeltaV PredictPro. The
applied predictive control algorithm has its roots in Dynamic Matrix Control (DMC) with significant modifications, such as the selection of Control or Constraint
parameters for use in the control matrix, utilization of the embedded LP optimization to achieve user defined control objectives, prediction horizon-dependent
penalty on error, control horizon-dependent penalties on moves, asymmetric funnel control, range control, and reference trajectory. Controller robustness is
substantially improved as a result of these enhancements.
Understanding the details of the MPCPro algorithm is not necessary to successfully use DeltaV PredictPro. Go directly to the Using DeltaV PredictPro topic unless
you have an interest in how the MPCPro algorithm and the associated process identification are implemented in DeltaV PredictPro. Process identification is
performed using two types of models: Finite Impulse Response (FIR) and Auto-Regressive (ARX). Model validation is accomplished by matching simulated and
real process data. Constraints on the process outputs are handled by an embedded LP optimizer that can adjust working setpoints of the controlled variables to
achieve a user defined control objective.
Process optimization is implemented using an embedded linear program (LP) optimizer. It can be used to achieve operating objectives by maximizing or
minimizing selected process variables while maintaining the process within constraint limits. As many as five control objective functions that an operator can
select for the control can be defined. Such optimization is an inherent part of the MPCPro algorithm. The MPCPro algorithm is embedded in the DeltaV controller
and the Application Station as a function block and is supported by the DeltaV PredictPro application.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 100 of 137
Process Modeling and Confidence Intervals
The process model is the basis of MPCPro technology. DeltaV PredictPro uses step response modeling for the generation of the MPCPro controller. This approach
has been proven effective in numerous DMC applications. Step response modeling makes prediction of process outputs explicitly available for display in the
application. The predicted error vector is computed first and used as an input to the MPCPro controller. Displaying the prediction to an operator is an important
way to visually evaluate the process control. DeltaV PredictPro's operator interface displays the future process outputs.
Step response modeling is the most common form of model representation for MPC. It makes the prediction of process outputs available explicitly. Future output
prediction is used to compute the predicted error vector as an input to the MPC controller. This section reviews the basics of step response modeling and the more
advanced topic of the confidence levels of the identified model parameters.
For a Single Input Single Output (SISO) process, the differential Finite Impulse Response (FIR) model describing the output response is:
An understanding of confidence intervals can be derived by showing that process model identification can be presented as a mapping of the measurement data set
into a model parameter estimate set contained into parameters set :
Applying this equation however, requires calculation of the process model first in order to develop the error set. Alternatively, the covariance matrix can be
defined directly from singular value decomposition (SVD) of the data matrix :
Matrices U, S, V are products of the SVD. Then,
Standard deviation of the model parameters is defined as:
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 101 of 137
This presents the model quality information in a more usable form than the error probability distribution. Standard deviations of the model parameters establish the
range of parameter value with a predefined probability. For example, a 95% confidence region means that the true parameter value lies in the region with a 95%
probability. With the assumption of normal distribution of errors, range of 2 around the identified parameter value defines the 95% Confidence Interval (CI),
3 gives the 99% CI, and so on.
Step responses can be generated from parameter standard deviations , and from model parameters. The confidence regions are obtained over the prediction
horizon, thus giving the range of response parameters such as gain and dead time. To get 95% confidence interval boundaries, double the standard deviation,
compute the step response, and superimpose it on the original step response in both positive and negative directions. For 99% confidence intervals, triple the
standard deviation, and proceed in a similar manner. An example of confidence intervals for a step response is shown in the following figure. The 95% and 99%
confidence regions about the identified step response are depicted. Naturally, the region becomes larger for higher probability and vice-versa. For MPC models, a
ninety five percent confidence interval is satisfactory. A useful interpretation of this information is in establishing ranges of the step response parameters. For
example, for the response in the following figure, the gain has a range between 1.4 and 2.05 with 95% confidence; and between 1.25 and 2.2 with 99% confidence.
This information is applied towards estimating the parameters for robust controller generation. Having confidence intervals available for every step response in the
process model, it is possible not only to detect errors on the model output but also to identify specific step responses that can most contribute to prediction errors.
Confidence Intervals Represented in an Identified Step Response
Integrated Optimization and Model Predictive Control
For processes with several Manipulated or Controlled variables, optimization techniques are an essential component of Model Predictive Control technology. One
proven approach uses linear programming (LP) with steady state models. Linear programming is a mathematical technique for solving a set of linear equations and
inequalities that maximizes or minimizes an additional function. This additional function is called the objective function. Usually objective functions express
economic value like cost or profit.
Specifically, MPCPro optimization considers incremental Manipulated Variable (MV) values at the present time or the sum of increments of the MV over control
horizon, and incremental values of Controlled and Constrained Values (CV) at the end of prediction horizon, instead of positional current values as in typical LP
applications. LP technique uses steady state model and therefore steady state condition is required for its application. With the prediction horizon normally used in
MPC design, future steady state is guaranteed for self-regulating processes. Predicted process steady state equation for an m by n input-output process, with
prediction horizon p, control horizon c, in the incremental form is:
where:
denotes predicted changes in outputs at the end of prediction horizon
is the process steady state m x n gains matrix
denotes changes in manipulating variables at the end of control horizon
Vector represents the sum of the changes over control horizon made by every controller output .
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 102 of 137
The changes should satisfy limits on both MVs and CVs.
The objective function for maximizing product value and minimizing raw material cost can be defined jointly in the following way:
where UCV – cost vector for a unit change in CV process value and UMV – cost vector for a unit change in MV process value. Applying the objective function
expressed in terms of MV only is:
The LP solution is always located at one of the vertices of the region of feasible solutions. This is shown in the following figure for a two dimensional problem.
Optimization Problem of a two Dimensional System
The region of feasible solutions for two Control/Constraint variables and two Manipulated variables is an area contained within MV1 and MV2 limits represented
by the vertical and horizontal lines and CV1 and CV2 limits represented by the straight lines as shown below.
The optimal solution is located at one of the vertices marked by arrows. To find this solution, the LP algorithm calculates the objective function for an initial
vertex and improves the solution every step until it determines the vertex with maximum (or minimum) value of the objective function as the optimal solution.
Optimal MV values are applied to the MPCPro control as the target MV values to be achieved within control horizon. If MPC controller is squared, that is the
number of MVs is equal to the number of CVs, then MV targets can be effectively achieved by changing the CV value.
- is the optimal target change of MV.
- is the CV change to achieve optimal MV.
CV change is implemented by managing CV set points. The MPCPro algorithm working with the optimizer has two main objectives:
1. Minimize CV control error with minimal MV moves within operational constraints.
2. Achieve optimal steady state MV values set up by the optimizer and target CV values calculated directly from MV values.
In operation, the optimizer sets up and updates the steady state targets for the MPC unconstrained controller at every scan, thus MPC controller executes the
unconstrained algorithm. Since the targets are set in a manner that accounts for constraints, as long as a feasible solution exists, the controller works within
constraint limits. Optimization therefore, is an integral part of the MPC controller. The integrated MPC controller and optimizer performs the following sequence
of operations each scan:
1. Update CV and DV measurements
2. Update CV predictions
3. Determine optimal MV steady state targets and calculate CV targets
4. Provide MV outputs accounting for CV and MV targets
5. Update MV
The figure below shows communication between and integrated operation of the optimizer and MPC algorithm. There is a typical situation when the optimizer
cannot find the optimal solution because constraint limits are too tight, there are too many set points, or the disturbances are too severe. In such cases the system
constraints are relaxed by changing set points to range control and/or abandoning some constraints. This can be done by minimizing the squared error over a
number of constraints or by abandoning constraints with the lowest priority sequentially.
Poor conditioning is another typical problem an optimizer has to deal with. As with the MPC algorithm, poor conditioning manifests itself as excessive changes in
calculated MV targets, even for minor correction of constraints. In this approach, poor conditioning is removed dynamically by changing configuration of active
constraints (abandoning some constraints) or by removing the association between Constraint or Controlled variables and Manipulated variables that have
excessive moves.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 103 of 137
MPC and Optimizer Communication
Robust Controller Generation
This section briefly demonstrates how Confidence Intervals (CI) are used towards robust controller generation. An MPC controller is generated from the process
model and controller design parameters. It minimizes the squared error of Controlled Variables over the prediction horizon and the squared values of the changes
in Manipulated variables over the control horizon.
Sensitivity of control to changes in process dynamics is determined by the controller robustness. From an implementation standpoint, it is observed that the penalty
on moves (PM) factor, that defines how much the MPC controller is penalized for changes in the MV output is the most convenient tuning parameter that impacts
controller robustness. High PM values result in a slow controller with a wide stability margin. With these settings, the control is relatively insensitive to change in
either the process or the model errors. Low PM values result in a fast controller with a narrow stability margin. When the model used in generating the control
accurately reflects the process gain and dynamics, changing the PM value does not significantly affect the controller performance. Experimental observations show
that the dead time margin and gain margins are strongly affected by the process dead time. It follows that dead time should be accounted for as a major factor in
calculating PM. As can be expected, gain also influences the PM selection. Numerical experiments involving these two parameters have provided a PM factor that
has shown stable and responsive MPC operation for model error of up to about 50%:
Consider a simple example of controller design for a SISO process whose true process parameters are dead time of 31 scans and steady state gain of 1.55. For the
identified response, process gain is 1.0 and dead time is 20 scans. This resulted in a PM of 7.5 without using confidence intervals. The 95% confidence region
resulted in a gain interval of 0.5 and dead time interval of 10 scans. Applying these ranges to the modified equation obtains a PM of 15.0. The corresponding set
point responses of the generated controller are shown in the following figure (without using CI) and in the figure after that (using CI).
Setpoint Response with PM of 7.5 Obtained without Using CI
Setpoint Response for Same Process as Above but with PM of 15 obtained using CI
The MPC and Optimizer algorithm have been implemented as a control function block (FB). In this way, the block has become a part of the system functionality
with ease of configuration and reliable operation in any controller or workstation node. Many features of the MPCPro function block design are similar to the MPC
function block for small and medium size processes.
The MPCPro function block has the following features:
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 104 of 137
The process model matrix can be up to 40×80 with a 120 second time to steady state
The control matrix can be up to the same size
It can be configured, commissioned, operated, and diagnosed in integrated control system environments
The function block includes performance monitoring for controlled variables
A default objective function is defined for the optimizer based on priorities and user preference to minimize or maximize variables
Optional economic objective functions can be easily defined by entering unit cost or profit
The function block attributes used for configuration and operations can be displayed and edited in Control Studio and from predefined operator interfaces. Simple
attributes like MODE or SP can be displayed and modified off-line and on-line in a traditional manner.
Function block technology features cascade inputs (CAS_IN) and remote cascade inputs (RCAS_IN) as well as corresponding back calculation outputs
(BKCAL_OUT and RCAS_OUT) on both control and output function blocks. Using these connectors, it is possible to attach a supervisory optimized MPC control
strategy on top of the existing control strategy. Targets for the optimized MPC controller can be modified from a higher strategy as well.
Using DeltaV PredictPro
Inside this topic
The DeltaV PredictPro application is used to create and automatically commission multivariable control strategies. After downloading a module that contains an
MPCPro function block, the PredictPro application can automatically test the process. The PredictPro application can be used to view the historical data collected
on the process response during testing. Also, PredictPro uses the historical data collected for the module to create a step response model of the process. Based on
the identified process model and the user defined control objectives and cost, the PredictPro application automatically defines the controller for the MPCPro
function block. Using the DeltaV PredictPro's Simulation environment, you can fully test the control before placing it online. Once you download the module
containing MPCPro, you can launch the MPCPro Operator Interface from a user graphic or from the PredictPro application.
Creating an MPCPro Module
Before using DeltaV PredictPro in the control of a process unit, you must create a control strategy that uses the MPCPro function block. The MPCPro function
block can be used with large, multivariable applications when the application's size exceeds the capability of the MPC block. In addition, the MPCPro block can be
used for applications that require process optimization in addition to constraint and process input limits handling. Generally, you can use the MPCPro function
block to meet your operation objective whether that is maximizing the throughput of a unit, minimizing operation cost, or maximizing or minimizing one or more
process outputs within the process operating constraints.
The DeltaV Control Studio application is used to configure the inputs and outputs of the MPCPro function block to satisfy your particular control application.
Three types of inputs to the function block can be defined:
Control (CNTRL) - Process output measurement that is to be maintained at a specific setpoint value or within the specified range through the control action
of the MPCPro function block.
Disturbance (DSTRB) - Process input measurement that impacts one or more of the Control or Constraint variables.
Constraint (CNSTR) - Process output measurement that is to be maintained within constraint limits through the control action of the MPCPro function block.
The Manipulated (MNPLT) parameters of the MPCPro function block are used to adjust process inputs such as inlet flow setpoint or feed valve. These process
inputs are set using either the Analog Output (AO) function block or another control block such as the PID function block. The setpoint of these blocks is adjusted
to achieve the specified control objective. The default standard control objective provided with MPCPro allows maintenance of the MPCPro Control parameters at
target and the Constraint parameters within their associated limits.
For information on how to configure an MPCPro function block or to find examples of how this block can be used to address different application requirements,
refer to the Model Predictive Control Professional Function Block topic.
Commissioning MPCPro
After downloading a module containing an MPCPro function block to a DeltaV controller or Application Station, verify that the transmitters and valves that
provide the inputs and use the outputs of the MPCPro function block are working correctly. Also, make sure the Continuous Historian is enabled, the area
containing the module has been assigned to the Continuous Historian, and the Continuous Historian has been downloaded. Once you have verified all of the
MPCPro function block's I/O, you can use the PredictPro application to commission the MPCPro control. To open the PredictPro application, right-click the
MPCPro function block in the DeltaV Explorer and select Advanced Control | PredictPro. You can also open the PredictPro application from Control Studio by
selecting the block and choosing Advanced Control | Predict from the context menu. Be sure that the module containing the function block is offline. The
following interface appears when the application opens. The labels on this image call out the different areas on the interface.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 105 of 137
Note The scale on the smallest faceplates shows the High and Low limits, not 0% to 100% of scale shown on the large faceplates.
Setting Up Trends
Three trend sets (A, B, C) consisting of eight trend windows each are provided on the Trend Setup page to plot the MPCPro function block parameters. Up to six
of the MPCPro inputs and output parameters can be trended at one time in a selected trend. To add or delete a parameter from the trend, select the checkbox
provided with the parameter in the faceplate area. As shown below, the Trend Setup icon in the left pane can be selected to define trends and get a complete view
of the trend setup page.
For good data values, trends appear in the colors indicated in the parameter data area. The color varies to indicate questionable status (yellow for uncertain or
limited values, red for bad values).
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 106 of 137
From this view, parameters can be easily added to a trend by selecting a parameter and clicking the transfer arrow. Use the Tab Name field to define a custom
name for each trend view. Once trends have been defined, you can return to the PredictPro overview by selecting the top level in the left pane. Use the Toolbar
buttons to modify the trend display and the slider bar to adjust the time window that is shown on the trend.
The PredictPro application uses an automated testing feature to determine the process dynamics. Before testing, the downstream blocks that are manipulated by the
MPCPro block must be in the correct mode. Select MPC in the Control portion of the Operation area to force all the downstream blocks to the right mode. After
changing the mode, notice that the actual mode of the MPCPro function block changes from IMAN to MAN if the target mode is MAN.
Setting Up the Test
Select the Test Setup icon to define the parameters included in a test, the Manipulated parameters that will be tested at one time, and the size of the change made in
the Manipulated parameters. The following figure shows the Test Setup view with the Manipulated tab selected.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 107 of 137
As shown in the following image, additional setup options are automatically shown in the right portion of the setup window when Expert Option is selected.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 108 of 137
The length of the test is determined by the Time to Steady State (TSS). The Time to Steady State is the estimated time, in seconds, for the process to respond to
input changes. Typical estimates are: (3 x First Order Time Constant + Dead Time) or (4 x Dead Time), whichever is greater for the slowest responding
input/output pair of the MPCPro block. The default, and minimum value, is 120 seconds. If any process output exhibits integrating response, use the following
guidelines to estimate the Time to Steady State:
For integrating responses with insignificant lag and/or processes where the non-integrating response is significantly slower than integrating, limit the TSS to
the approximate time it takes for the integrating process variable to reach one half of its operational limit value(s) when a normal change is applied to the
process input.
The initial estimate of the recommended TSS can be 120 * approximate lag, provided the limiting condition described in the previous guideline is not
violated.
If the identified response is still not satisfactory or the slow dynamics of non-integrating responses necessitate violating the first guideline, estimate the
response based on the physical and operational process parameters. The volume of a tank is an example of a physical process parameter and flow rates,
low/high tank level limits, and so on are examples of operational process parameters. Then enter the calculated response parameters (Gain per second, dead
time, and first order lag, if any) in the corresponding fields of the Step Response Design dialog.
Notes For MPC configurations that use Cascade, select a TSS for the master MPC block that is at least 4 times larger than the TSS for the slave block. Otherwise,
process identification and control will be impaired.
If using PredictPro with a simulated process, consider adding random noise with an amplitude of about 0.25% to the process outputs. Introducing small noise
levels improves robustness in developing the ARX process model particularly for cascade configurations.
Use the Select All for Test button to select all the Manipulated parameters. Select an individual parameter and select Modify to define the setup of the Manipulated
parameter.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 109 of 137
Dialog for Defining Manipulated Parameters
Manipulated parameters can be included or excluded from model and controller generation. Manipulated parameters that are selected for Test are automatically
adjusted in a pseudo-random binary manner when testing is initiated. The change in the Manipulated parameter is determined by the step size in percent of scale.
You can change the step size to a value that will cause a process change that is not disruptive to normal process operation.
Normally, testing aborts if the manipulate parameter becomes limited when testing is active. Choosing Ignore Errors, causes testing to continue even if limits are
hit.
When the process gain is large (big change in process output for a small change in input), you may need to pick a very small step size such as less than 1%. For
these types of processes, you can choose a range suppression multiplier (10X or 100X) to enable better process identification. Selecting AUTO for range
suppression causes PredictPro to automatically scale the manipulated parameter to enable better process identification.
Select the Control and Constraint parameter tabs to define the parameters included in the model identification. By default, all parameters are included. Select the
Integrating option to include the parameter as an integrating response.
If the normal process output change is very small compared to its engineering unit range, such as 5 degF with a range of 1000, select a range suppression
multiplier (10X, 100X) to get good identification results. Selecting AUTO for range suppression causes PredictPro to automatically scale the manipulated
parameter to enable better process identification.
The Test Limit deviation value, measured in percent, and type (None, Deviation, Above, Below) should be set to automatically abort testing if the associated
Control or Constraint disturbance deviates (above, below, or either) from its starting value by more than the Test Limit. The following table describes the Test
Limit types:
Test Limit Types Description
Above Above the current value plus the deviation amount
Below Below the current value minus the deviation amount
Above the current value plus the deviation amount or below the current value minus the
Deviation
deviation amount.
Note If you include an integrating parameter, for proper optimizer operation, define it as a Control parameter with zero (0) SP range and assign it a higher priority
than self-regulating parameters.
Dialog for Defining Control and Constraint Parameters
For Disturbance parameters, indicate if the parameter is to be included in the model identification. Normally, testing aborts if the Disturbance parameter becomes
limited when testing is active. Choosing Ignore Errors causes testing to continue even if limits are hit.
If the normal process output change is very small compared to its engineering unit range, such as 5 degF with a range of 1000, select a range suppression
multiplier (10X, 100X) to get good identification results. Selecting AUTO for range suppression causes PredictPro to automatically scale the manipulated
parameter to enable better process identification.
The Test Limit deviation value and type (Deviation, Above, Below) should be set to automatically abort testing if the associated Disturbance input deviates
(above, below, or either) from its starting value by more than the Test Limit.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 110 of 137
Dialog for Defining Disturbance Parameters
Running the Test
Once test setup is complete and the downstream blocks associated with the Manipulated parameters included in the test are in their remote mode, select the top
level in the left pane, and then select Test to initiate automatic testing of the process. In response, the Manipulated parameters will automatically change in a
pseudo-random manner over the test time.
While testing is active, the actual mode of the MPCPro function block changes to LO. During testing, a Manipulated parameter can be modified by right-clicking it
and selecting Set Value. The portion of testing that is complete is indicated by a progression bar. The estimated time remaining to complete the test is shown above
the progression bar.
A Test in Progress
When the test completes, a green area automatically covers portions of the trend associated with the time that testing was active. You can adjust the time covered
by the green area either by dragging the start and end divider bars or positioning the bars by right-clicking the chart.
For good data values, trends appear in the colors indicated in the parameter data area. The color varies to indicate questionable status (yellow for uncertain or
limited values, red for bad values).
Indicate the area of test data that reflects normal process operating conditions by dragging the green area over the data on the trend window. You can exclude data
within the green bar that does not represent normal operation by right-clicking within the green area, selecting Add Excluded Area, and stretching the resulting red
bar over the bad data. After you select the test data, choose Autogenerate to create a step response model for the process and the associated controller. Refer to
Data Exclusion and Interpolation for information about how the application manages questionable data.
Note The module that contains the MPCPro block should not be open in Control Studio when you request Autogenerate since the MPCPro function block is
updated in the database during autogenerate. You must first download the associated module to use the generated control.
Note It is recommended that system time adjustments are not made over the data collection period. If it is necessary to make system time adjustments, it is best to
exclude the data over the time range.
An expert user (select Options | Expert) can choose the Create Model option to create the model only from the currently selected I/O parameters. If all the block
variables are not included in identification, the result of identification is a partial model since some step responses are unidentified. Block variables are not
included if Identify is not selected for Control/Constraint parameters or Include is not selected for Manipulated/Disturbance parameters. Control cannot be
generated from a partial model or if one or more step responses are undefined or questionable. The model contents page shows the status of the current model.
Additionally, the following icons show the model status.
Complete model.
Complete model with one or more questionable step
responses.
Partial model.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 111 of 137
Partial model with at least one questionable step response.
Controller has not yet been generated for this model.
This controller and model have not yet been downloaded.
This model has been modified since the last download.
When model generation is complete, you can record the conditions that existed for the test in the description area of the interface provided for the model. The
default model name can be modified; however, the name cannot include the following characters: \ / : * ? " < > |.
Note It is recommended that the model is created (click the Create Model button), then verified before generating the controller.
Verifying the Model
Opening a model folder and selecting Control and Constraint shows a verification of the model in terms of the calculated process outputs versus the actual process
outputs, as shown in the following figure. From this view you can examine the actual process output in direct comparison with the calculated output based on the
model either for the time frame defined by the green area of the trend plot or for the original data used in generating the model. You can also examine the XY plot
of the actual process output against the calculated output and the corresponding best fit line. In addition, you can use statistics that are provided to indicate how
closely the model matches the plant data.
Note Only the first 65,000 samples will be displayed.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 112 of 137
Interface for Model Verification
The squared error is shown for all Control and Constraint parameters. In addition, for a selected parameter, the calculated and actual value can be plotted for the
original time or for the timeframe selected by the green bar in the overview.
Accessing Step Responses
Select a parameter from the Control and Constraint folder to access the parameter's step response to changes in the Manipulated and Disturbance inputs to a
process.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 113 of 137
View of a Selected Parameter's Step Response to Process Input Changes
The background color of the individual step response provides further information about the validity of the step response and if it can be used in controller
generation.
Background Color Meaning
The step response has been identified and can be used in controller generation.
The step response has been identified and selected as the most significant for the associated
Manipulated process input. Refer to Parameters in Control Generation for more information.
The step response is questionable and must be edited before controller generation. Refer to
Modifying Step Responses for more information.
The step response is unidentified because this parameter was not included in the test setup,
the step response has been deleted or cut, or the associated input or output parameter was
added to the MPCPro block after the model was identified. The step response must be
completed before controller generation is possible. Refer to Modifying Step Responses for
more information.
The techniques used to identify the step response assume that valid process gains must fall in a range of 0.1-20. If the gains calculated by both the ARX and FIR
technique fall below 0.1, the step response will be displayed as invalid (light blue background) with zero gain (a straight line). Also, if the ARX and FIR do not
agree, the application presents the step response as invalid as shown in the following figure.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 114 of 137
If only one of the identification techniques calculated a gain of less than 0.1, a step response with zero gain will be displayed with a light blue background. The
light blue background indicates that the step response is questionable. In these cases, you can set the range suppression multiplier at x10 or x100 for process
output. If you expect model gain to be greater than 20, set range suppression at x10 or x100 for the process input. In some cases, the FIR response can be used as a
guide in manually editing the step response. As shown in the following figure, often times the FIR response can provide valuable information on the process gain
and response and can be used to create the model using Design Response or Plot.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 115 of 137
For example, the actual process shown as questionable with zero gain, may be caused by a transmitter with a much wider than normal operating range. In this
case, it is recommended that range suppression is selected in Test Setup. Range suppression should also be selected if the Manipulated parameter changes are less
than 1%. The MPCPro identifier uses the suppressed range as the measurement engineering unit range and then automatically corrects the model gain for the
actual range. The process gain based on the suppressed range should be within the assumed range for the process gain (0.1-20).
Similarly, if one of the identification techniques provides a process gain that exceeds 20, the response will be shown with zero gain and indicated as questionable.
By drilling down into the folder you can access an individual step response to closely examine the step response for any measured Disturbance inputs included in
the MPC configuration. The associated step response might be inaccurate if the Disturbance input did not change significantly in the data. If the associated step
responses are inaccurate, a warning message is displayed when the model is generated. In some cases, the inaccuracy will be indicated by a step response shown in
light blue or as a light blue straight line that indicates no response. Examine the confidence interval calculated for the step response to determine if the step
response is accurate. This can be done by selecting the Expert options and then choosing the Display Confidence option in the lower left corner of the screen. In
response, the range of 95% confidence is plotted, as shown in the following figure.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 116 of 137
Plot of 95% Confidence Range
As another check on the accuracy of the model, you can compare the ARX model to the FIR response. This can be done by selecting the Expert option and
choosing the FIR check box. Both responses are displayed as shown in the following figure.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 117 of 137
Comparison of ARX model to the FIR Response
Note Only the first 60 points of the FIR response are displayed.
Modifying Step Responses
Sometimes, the ARX and FIR responses might not agree. In this case, you may need to use other data that includes times when the input changed and then
regenerate the model and the controller. If you are familiar with the process dynamics, select the Expert option and modify the step response to reflect your
knowledge of the process. Similarly, if the plot of the FIR response seems more accurate based on your knowledge of the process, click the Use FIR button.
Make sure to save the step response by clicking the Save button after modifying it. This causes the new step response to be enabled and subsequently used. Some
methods for modifying the step response are described in the following paragraphs.
Design the response by adding points to the selected response:
1. Select the step response to be modified.
2. In the step response area, click the right mouse button or the Add Points button to add the points that define the desired step response.
3. Click the Plot button to display the step response.
4. Select Save if you want the plotted response to replace the original response.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 118 of 137
Adding Points to Modify a Step Response
Modify the step response if you are familiar with the process delay and time constants associated with inputs. Enter the response directly by:
1. Selecting the Design Response button in the lower left corner of the interface.
2. Entering the response in the Step Response Design dialog.
3. Selecting Apply when you are finished to display the new step response.
4. Selecting Save to save the designed step response.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 119 of 137
Designing a Step Response
Another way to modify a step response involves copying and pasting individual step responses or all step responses for a Manipulated or Disturbance input
between models as shown below.
Copying and Pasting Step Responses
When copying step responses between models, the Time to Steady State used in the model creation must be the same.
Using the Copy and Paste commands, it is possible to combine step responses from different models to create one complete model of the process response. For
example, operating conditions may not allow automated testing with all Manipulated parameters selected for the test. Only one or two Manipulated parameters
may have been selected for test at any given time. As a result, you may need to generate multiple models, each of which includes valid step responses for the
process inputs used in the test. Using the Copy and Paste or Cut and Paste commands, it is possible to copy the good step responses from one model to another
model. In this way, a good step response can be copied to replace one not identified or not included in the test. As a result, a complete model can be created and
then used to generate the control.
Note When a step response is cut, its background changes immediately to gray but the response is still shown. After a step response is pasted, the cut step
response is shown as blank with a gray background.
If a step response model is known to be invalid, you can use the Delete command (context menu selection) to remove the step response from the model. After
performing a Delete or Cut operation, the step response's background changes to gray as shown in the following figure.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 120 of 137
Any Questionable or Unidentified responses must be manually edited or a good step response pasted to obtain a complete model. All step response models must be
good (dark blue background) before a controller can be generated using the model.
Make sure that you clean up any residual step responses with gains that are ten times smaller than the highest gains.
Once you are satisfied that the model accurately reflects the process dynamics, select Generate to update the MPCPro configuration for the new model and to
generate the controller using the step response modifications. When the controller is generated from a selected model, the Control parameters used for generation
are displayed as shown in the following figure.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 121 of 137
It is recommended in most cases that you leave the controller generation parameters at their default values and select Generate in the Controller Generation dialog
to generate the control. If you have expert MPC knowledge, you can change the default values to address special requirements. For example, you can increase the
Penalty on Move to make the control less aggressive. Options to extend the control horizon and to block moves are available for advanced users. Refer to
PredictPro Options for Advanced Users for information.
You must download the associated module to use the new control definition after generating control. You can verify and refine the MPCPro configuration and
control generation with the off-line PredictPro simulation application. However, the controller generation parameters cannot be changed online because any
changes in these parameters require that the controller be re-generated and the module re-downloaded.
Controller Loading
The loading on an MD controller depends heavily on the block execution period (the configured Time to Steady State divided by 120). Depending upon how
sparse the model is, a block configured for 20×20 needs about 200-500 ms of computation time. The MD controller loading for 200-500 ms of computation time is
automatically leveled over multiple module executions. This can be seen in MD controller diagnostic parameters such as LPCONTIME and FRETIM. If you
notice severe slippage in modules other than the module that contains the MPCPRO block, consider giving these modules a higher priority or assigning them to
another node. If a configuration is larger than 20×20, it is recommended that the MPCPRO block be configured singly in its own module with a scan rate of five
seconds or slower. This places the computation in the low priority task and prevents slippage of medium and high priority tasks. Larger processes usually have
longer time constants and dead times than smaller processes. A time to steady state of 7200 (60s block execution) or slower is realistic for processes with 20 or
more inputs and 20 or more outputs.
PredictPro allows the configuration of 20×20 processes with Time to Steady States as fast as 120s (1 s block execution). When the time it takes to run the MPCPro
block approaches the block execution rate, MD controller overloading occurs and you are prevented from generating and downloading an MPCPro controller. This
situation is unlikely with larger process since they are usually slower. To avoid MD controller overloading, increase the Time to Steady State and/or reduce the
number of inputs and/or outputs. The red area in the chart and table below indicates the range in which PredictPro prevents MPCPro controller generation and
downloading. The yellow area indicates the range in which PredictPro displays an MPCPro controller loading warning but allows MPCPro controller generation
and downloading to proceed. The green area shows the recommended configuration. As an example, refer to the table: an MPCPro controller for a process with 20
inputs and 30 outputs (600) must have a Time to Steady State of at least 257.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 122 of 137
(PredictPro displays a controller generation)
warning message)
400 < 480 [any Tss allowed]
600 257 to 960 < 257
800 514 to 1440 < 514
1000 771 to 1920 < 771
1200 1029 to 2400 < 1029
1400 1286 to 2880 < 1286
1600 1543 to 3360 < 1543
1800 1800 to 6840 < 1800
2000 2057 to 4320 < 2057
2200 2314 to 4800 < 2314
2400 2571 to 5280 < 2571
2600 2829 to 5760 < 2829
2800 3086 to 6240 < 3086
3000 3343 to 6720 < 3343
3200 3600 to 7200 < 3600
In general, we recommend having at least 30-50% freetime in an MD controller before adding a large MPCPro block to leave ample CPU for communication tasks
that might be required for all the display updates.
Note The table and chart present the maximum numbers for one single block per MD controller. Users should not allow more than one MPCPro block in the same
MD controller to be in the yellow area. This is not enforced programmatically.
The memory used by an MPCPro block is automatically adjusted based on the configured number of inputs and outputs. It ranges from about 0.3 to 5MB. If the
available memory in the controller is insufficient, a block remains in OutOfService mode and flags a configuration error after download.
Setting Sampling and Execution Rate Parameters
Model identification and validation depend on the availability of data at precise sampling points. Therefore, the test data (or data from an external file) must have
accurate parameter settings which determine the data sampling. The following three parameters, accessible through the Control Studio and PredictPro applications,
are used to determine the data sampling:
Data Sampling Rate (DSR) - the block history sample rate configured in the MPCPro Properties dialog box (accessible from the Control Studio and DeltaV
Explorer applications). If you are using file data, this is the file data rate.
Module Execution Rate (MExec) - the Module scan rate configured in the Control Studio application.
Time to Steady State (TSS) - the process Time to Steady State configured in the PredictPro application.
Since PredictPro uses a horizon of 120 (120 sample points along the process TSS so that the block executes at the rate TSS/120 in seconds), the fundamental
requirements, in mathematical form, for accurate data sampling are:
Equation 1: TSS = 120 x DSR x n
Equation 2: TSS = 120 x MExec x m
where m and n are integers.
Ideally, DSR = MExec x p (p is an integer) also should be satisfied.
Recommendations
Module Execution Rate (MExec)
The default value is 1 second; however, for large MPC configurations, or those with a TSS of 1 hour (3600 sec) or more, consider configuring MExec at 5
seconds. For blocks with a configuration where (Number of Outs x Number of Ins > 400), MExec of 10 seconds or slower is more appropriate. For blocks with a
configuration where (Number of Outs x Number of Ins > 200), MExec of 5 seconds or slower is more appropriate.
Data Sampling Rate (DSR)
The default value is 1 second; however like MExec, for larger MPC configurations or those with a TSS of 1 hour (3600 sec) or more, consider configuring DSR at
5 seconds or slower. When configuring DSR, it is advisable that the value of ‘n’ in Equation 1 range between 3 and 10. This permits the creation of models at
different TSS that are close to your expected TSS. At the same time, it does not overload the Continuous Historian.
Time to Steady State (TSS)
The Time to Steady State is the estimated time, in seconds, for the process to respond to input changes. Typical estimates are: (3 x First Order Time Constant +
Dead Time) or (4 x Dead Time), whichever is greater for the slowest responding input/output pair of the MPCPro block. The default, and minimum value, is 120
seconds. When accurate TSS values are not known, it is advisable to use the higher of the two estimates. For integrating processes, refer to these guidelines.
Applicability in PredictPro
The DeltaV PredictPro application checks for relationships between the time parameters for test, model creation, and verification operations. It uses the entered
process TSS as the basis for making any recommendations and/or changes.
Test
Since the test generates the data to be used in all subsequent operations, both Equations 1 and 2 must be satisfied. If not, PredictPro suggests an adjusted TSS that
does not require a change to DSR or MExec. If the adjusted TSS is significantly different than the configured TSS, PredictPro recommends some values. Note that
a threshold of an approximate 25% change in value applies in either displaying the adjusted values or automatically using the adjusted values.
Model Creation
Since data is already available at this stage, PredictPro checks that only Equation 1 is satisfied. In the case of a mismatch, PredictPro suggests a new TSS value.
Naturally, if the suggested values are not accurate, the TSS and/or the sampling rate may be changed. If you are changing the sampling rate, generate a new data
set at the new sampling rate before creating the model.
Verification Against Selected Data
PredictPro checks that only Equation 1 is satisfied. If not, the application proceeds no further since the model’s execution rate must be an integer multiple of the
sampling rate of the data set for verification.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 123 of 137
Changing the Parameter Values
To change the Continuous Historian sampling rate (DSR):
1. In Control Studio, double-click the MPCPro block to open the block's Properties dialog.
2. Click the History sample rate drop-down list and change the parameter value.
3. Save and re-download the module.
4. Re-download the Continuous Historian node to which this module is assigned.
5. Re-connect the PredictPro application to this block by shutting down and restarting PredictPro or by selecing File | Select Block.
To change the module execution rate (MExec):
1. Open the module with the MPCPro block in Control Studio.
2. Click right-click the diagram view and then click Properties to open the Module Properties dialog and select the Execution tab.
3. Click the Scan rate drop-down list and change the parameter value.
4. Save and re-download the module.
5. Re-download the Continuous Historian node to which this module is assigned.
6. Re-connect the PredictPro application to this block by shutting down and restarting PredictPro.
To change the TSS:
1. Open the PredictPro application and select Test Setup in the left pane.
2. Enter the appropriate value for Time to Steady State.
Defining Control and Optimization Objectives
Optimization objectives are defined for:
Constraint handling
Achieving the desired control functionality
Achieving economic objectives
Constraint handling is defined by assigning priorities to the process outputs such as the Control and Constraint variables of the MPCPro configuration. The
Optimizer operates such that if a Constraint or Control parameter is projected to exceed its constraint limits or control range, the working setpoints of the other
control parameters are adjusted to bring the process output within limits.
If processing conditions do not allow all Control and Constraint parameters to be maintained within control ranges and constraint limits, the lower priority Control
or Constraint parameters are allowed to go outside the control range or constraint limits. Refer to Model Predictive Control Professional Function Block for details
on setting the priority. The MPCPro function block allows five priorities for the process outputs:
High
Higher than Normal
Normal
Lower than Normal
Low
The default priorities set during MPCPro configuration may not apply to a specific application. Users should always review the priorities for Control and
Constraint variables. There are two way to review priorities: during configuration and from the MPC Pro Operate application.
During configuration. Select the function block, click the right mouse button, select Properties, click the Advanced button, and read the value in the Priority
column.
From the MPC Pro Operate application. In the PredictPro application, click Applications | MPC Operate Pro to launch the application and then click
Optimizer | Show Dialog.
The Optimizer Window in the MPC Operate Pro Application
Control objectives define multivariable control configuration functionality at normal operating conditions, that is when all process outputs are within control
ranges and constraint limits. The control functionality is defined for Control, Constraint and Manipulated variables. In the PredictPro application, click Options |
Optimization Configuration to open the Configure Multiple Objective Functions dialog.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 124 of 137
Dialog for Defining Control and Economic Objectives
A Control parameter defined as:
Maximize moves below the setpoint within the control range if necessary to achieve constraint handling or economic objectives. When other objectives are
achieved, it then moves upward to the setpoint (maximizing the Control parameter).
Minimize moves above the setpoint within the control range if necessary to achieve constraint handling or economic objectives. When other objectives are
achieved, it then moves downward to the setpoint (minimizing the Control parameter).
Target moves above or below the setpoint within the control range if necessary to achieve constraint handling or economic objectives. When other
objectives are achieved, it then moves toward the setpoint.
Control parameters not included in the objective function are defined automatically as None and will be kept above or below the setpoint with no attraction toward
the setpoint.
Control Parameter - Range and Direction Driven by the Optimizer
Constraint Parameter - Range and Direction Driven by the Optimizer
Manipulated parameters included in the objective function are driven towards their high or low output limits based on their maximized or minimized settings or
their associated CV's maximized or minimized settings. If a Manipulated parameter is not included in the objective function, the optimizer attempts to maintain the
current value if no other conditions require the Manipulated parameter to be moved. Selecting PSV (Preferred Settling Value) causes the optimizer to maintain the
Manipulated parameter at the configured preferred settling value if no other conditions require a changed MV position.
When the MV objective is defined as:
None and all other objectives are satisfied, the MV is kept at the current (last) position.
Preferred Settling Value (PSV), it will be satisfied only when all other objectives are satisfied.
If two or more MVs are configured for equalize, the optimizer attempts to maintain the associated MVs at the same value after achieving the other objectives as
shown in the following figure.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 125 of 137
Manipulated Parameter - Range and Direction Driven by the Optimizer
Note The default objective function, Standard, does not need to be defined and is automatically created for the MPCPro block configuration. The standard control
objective is to maintain Control parameters at setpoints. If the configuration contains only Constraint variables, the last MV values are maintained thus preserving
the stability of the configuration. By default, Control variables have normal priorities assigned and Constraint variables have higher than normal priorities
assigned.
The Standard control objective can be modified but not renamed. However, the other objective functions can be modified and renamed. An objective function is
modified by selecting a parameter that is included in the objective and then choosing Modify to define the optimization type (Maximize, Minimize, Target, PSV or
Equalize). You can also define the limits for constraints included in the objective function. The objective functions for which the Operator Selectable box is
checked are automatically included in the objective list that is displayed in the MPC Operate Pro interface.
Economic objectives add economic meaning to the defined control objectives by setting “value per%” to some or all Control, Constraint and/or Manipulated
parameters included in the objective function. Any value entered in the “value per %” column outweighs all other related control only objectives with no
economic meaning (value per % = 0). The acceptable range for "value per %" is [0.0-1000.0]. If you need to apply "value(s) per %" that are out of the accepted
range, you must rescale all "values per %"by multiplying them by an arbitrary scaling coefficient. "Value per %" can be rescaled in a meaningful way; for
example, "$ per % per one hour operation" to "$1000.00 per % per one hour operation" by multiplying the original values by 10-3 or to "$ per % per one day" by
multiplying the original values by 24. The Economic objective is satisfied prior to Control objectives unless limits are exceeded and then Constraint objectives
take the highest priority.
Except for economic objectives for MVs defined in the “value per%” column in the Optimizer dialog in the MPC Operate Pro application, the “Objective Function
per%” column for each MV displays the effective value per percent. This column includes the value defined for the MV itself in the “value per%” column and
values projected from the other Control and Constraint variables associated with this MV. These projected values may outweigh the original MV objective and the
optimizer would drive that MV in a direction opposite to that which was intended. Users should be aware of this possibility and always verify the “Objective
Function per%” column to get an initial evaluation of the optimizer's functionality.
Relationship of the Objectives Defined for Control, Constraint, and Manipulated Variables and Effective Objective Projected on MV
To meet special requirements where the control objective can change based on feedstock cost, or product value, you can define different MPCPro objective
functions for the same configuration and select desired functions during operation.
Parameters in Controller Generation
The Constraint and Control parameters included in the controller generation are automatically selected to give the best possible dynamic response. The total
number of Control and Constraint parameters included in the controller generation must be equal to or less than the number of independent parameters (the total
number of Manipulated parameters). The selection of the Control and Constraint parameters to include in the control generation is automatically made to provide
the minimum condition number associated with the control generation. In addition, the delay and gain of the process output step responses for a change in the
Manipulated process input is also considered. Select the Controller Setup icon in the left pane to examine the parameters that have been selected for the control
generation.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 126 of 137
View of the Parameters Selected for Control Generation
In this interface, the dynamics of the process outputs for a selected Manipulated parameter are displayed. Also, the condition number for the current selection of
Constraint and Control parameters is shown. By removing a selection for a Manipulated parameter, it is possible to select another Control or Constraint parameter
to be used in the control generation. When the new process output is added, the resulting condition number is automatically displayed.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 127 of 137
Best control is normally achieved if the process outputs are selected to give the minimum condition number. It is possible to have more independent or
Manipulated parameters than Control and Constraint parameters. The possible range of condition numbers is:
Less than 1000 - normal control generation is possible
Greater than 1000 but less than 10,000 - control generation with warning is possible
Greater than 10,000 - control generation is not possible
Note Review your model and control configuration and try to minimize the condition number.
MPC SimulatePro
After downloading the module containing the MPCPro block, you can use the MPC SimulatePro application to test the control off-line without impacting the
process operation. An off-line simulation of the process is provided based on the process model that was identified using DeltaV PredictPro. In this simulation
environment, you can simulate control as well as the process response to changes made by the PredictPro control. Using MPC SimulatePro's special interface, you
can interact with the control just as you would during an actual process. You can add noise and unmeasured load disturbances to the process inputs. MPC
SimulatePro also allows you to evaluate the control performance of the MPCPro function block for different plant operating conditions. In addition, you can
perform an expedient test on the control without disturbing actual plant operations. In this way, MPC SimulatePro can also serve as an operator training tool.
The prerequisites for running MPC SimulatePro are:
The module that contains an MPCPro function block to be simulated exists in the persistent database (that is, the model and the MPC controller have been
generated) and the module containing the MPCPro block has been downloaded to the controller, application, or ProfessionalPLUS workstation. It is
recommended that the MPCPro block be included in a module with no other blocks so that the module can be downloaded at any time.
DeltaV PredictPro is open for the module.
You have identified or manually entered a process model and generated the controller using the PredictPro application and the block of interest.
To access MPC SimulatePro, you must first select Options | Expert to identify yourself as an expert user. Then, either select the process model that you want to use
for the process simulation from the models that have been generated and click the Simulate button located at the bottom left corner of the screen or select the
process model in the hierarchy, right-click, and select Simulate to test the control off-line. Refer to the following figures.
Note The process simulation provided for testing MPCPro is based on the model you select in the hierarchy before clicking on the Simulate button. The MPCPro
control used in this simulation environment is always based on the model that was used to generate the MPCPro control (that is, the model displayed in the
hierarchy with a controller icon). To test MPCPro control for changes that impact the process response (model mismatch) select a model other than the one used
for controller generation. The selected model will be used for the process simulation.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 128 of 137
Once Simulate is selected, the interfaces used to access the simulation is automatically created as shown in the following image.
MPC SimulatePro Interface
MPC SimulatePro functions similarly to MPC Operate Pro. However, MPC SimulatePro also allows you to perform the following functions to support simulation:
Execute the process and control simulation faster than real time. This allows you to evaluate the performance of a process that is slow in response.
Introduce disturbances that will be added to the process output or disturbance input used in the simulation. You can evaluate the impact of noise and
unmeasured load disturbances on the process control and change the value of measured load disturbances inputs.
Disable inputs to test control performance when the status of a Control, Constraint, or Disturbance input is Bad.
Switch the mode of the downstream blocks to Local so that the control performance can be examined for this situation.
If you are using DeltaV Operate refer to the MPC Operate Faceplate topic for a more detailed description of MPC Operate.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 129 of 137
All values and ranges are based on your MPCPro function block's configuration. MPC SimulatePro shows the names of both the configured model and the
simulation model. The trend area continually updates (that is, it defaults to Continuous mode upon launching). The future area comprises one third of the graph,
and is yellow to distinguish it from MPC Operate Pro, which is green. Initially, the time scale on the chart is based on the time when MPC SimulatePro was
launched. As you change the real-time execution multiplier, the time change reflects that multiplier. You can change the setpoint and Manipulated variable. Also,
the effects on predicted Control and Constraint variables are shown in the trend and the faceplates. You can select and change the real-time execution multiplier to
be used in the Continuous mode or you can select the Step mode by clicking the Advance button. Refer to the following figure for information on these controls.
When using the real-time execution multiplier, select the Pause button to temporarily freeze the display of the multiplier change. Select the Resume button to
continue updates. When using Step mode, the trend is a snapshot and the MPCPro function block execution is only performed on request. Click the Advance
button to access Step mode. You can change from Step mode to Continuous mode by selecting the Resume button.
To force a disturbance on a process output or Disturbance input, select the parameter to which the disturbance is to be added. The faceplate for this parameter is
displayed in the left pane of the MPC SimulatePro interface. Use the selections provided in the bottom half of this faceplate to specify the disturbance to be
introduced, as shown in the following figure.
When you are finished using MPC SimulatePro, you can save the file you created for future reference. Saving the file saves not only the trend selection and the Y-
scale, it also saves all user-adjusted values for signal amplitude, bias, and the period for the next simulation run on the same module. For this module, you can
select a new model to be used in simulation. When you do so, if you previously saved this setup information, it can be used with the new model. In addition, the
previously used setup data becomes the default.
Defining an MPCPro Operator Interface
You can create an operator interface for the MPCPro function block using the MPCPro Input (MV/DV) and the MPCPro Output (CV/AV) dynamos from the
frsAdvCFncblk dynamo set in DeltaV Operate in configure mode.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 130 of 137
Place the dynamo adjacent to the associated I/O or control block on the process graphic. When you place a dynamo on a graphic, the Dynamo Properties dialog
box opens.
For the MPCPro Input and Output dynamos to work properly, both the Module/Function Block name and the Parameter Description are required fields. The
Parameter Description is the description that was configured for the input or output variable in Control Studio. The following example shows how this entry
appears for module UNIT1_MPC and a Manipulated parameter with a user description FC101. Refer to Model Predictive Control Professional Function Block for
configuration information.
The dynamos provide access to the module's faceplate and the faceplate provides access to the module's Detail display. Both the faceplate and the Detail display
provide additional information on the MPCPro target or limit values as shown in the following figures.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 131 of 137
Controlled Parameter Faceplate and Detail Display
Manipulated Parameter Faceplate and Detail Display
As illustrated in this faceplate, the manipulated variable value 50.0 represents the preferred settling value if OptType=PSV. If OptType=Equalize, this value
represents the equalized value.
Constraint Parameter Faceplate and Detail Display
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 132 of 137
Disturbance Parameter Faceplate
Place the MPCPro_Oper dynamo on the primary graphic display of the process that is controlled by MPCPro. When you access this dynamo or the one on the
faceplate, a predefined view of MPCPro control is provided that you can use to make setpoint and mode changes associated with the MPCPro function block. An
example of this display is shown in the following figure.
Through the view selection, you can choose options to customize the information presented in the MPC Operate Pro interface. For large MPCPro applications that
involve many process inputs and outputs, the Smallest Faceplate size option allows more process inputs and outputs to be viewed directly, as shown in the
following image.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 133 of 137
From the MPC Operate Pro toolbar, you can select a dialog that shows the cost and profit associated with the selected objective as shown in following image.
Refer to the MPC Operate Faceplate topic for a more detailed description of MPC Operate. Refer to the Dynamo Reference topic for more information on the
MPC dynamos provided to construct the operator interface for an MPC function block.
PredictPro Options for Advanced Users
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 134 of 137
Caution The options described in this section are for advanced users with a deep understanding of the implications of changing the parameters described here.
The default settings for controller generation should work in most situations; however, using advanced options to extend the control horizon and to block control
moves might improve control performance in certain situations.
Adding CV and MV Optimal Targets to the MPC Controller
The MPC controller, working with the LP optimizer, has two main objectives as shown in the following figure:
Dynamic control objectives - minimize the CV control error with minimal MV moves within the operational constraints.
Steady state optimization objectives - achieve optimal steady state MV target values set by the optimizer and target CV values calculated from the MV target
values.
The MPC controller directly applies only optimal CV targets and then works to achieve both the dynamic control and steady state optimization objectives.
Optimized MPC Control Objectives
Steady state MV targets are eventually achieved in an indirect way by achieving the CV targets. Some applications may require tighter control on MVs. This can
be achieved by setting optimal MV targets for the MPC controller. By developing a combined solution, the MPC controller provides output that accounts for both
the CV and MV targets.
Extending the Control Horizon
The potential benefit from extending the control horizon would occur in processes with significantly different deadtimes and response times. The control horizon
value is used only during controller generation. The default value for control horizon is 16 and the allowed range is from 1 to 32. Refer to Using the Advanced
Options for information on how to extend the control horizon.
Blocking Control Moves
Blocking control moves might improve the condition of the control matrix and in some cases, improve control performance when there are responses with
significantly different deadtimes and responses. Control moves blocking is disabled by default and used only during controller generation. The following image
shows how several moves up front will ensure that short term errors are addressed by the controller. Refer to Using the Advanced Options for information on how
to block control moves.
Note The automatically calculated values for penalty on move and penalty on error are for a control horizon of 16 and the moves blocking option disabled.
Changing the control horizon and or the moves blocking options requires a cautious, manual readjustment of penalties.
Using the Advanced Options
In order to use these options the controller must be generated at least once for the selected block and model pair.
1. Close the PredictPro application.
2. Navigate to the directory: DVData\PredictPro\{module name/block name}\Model{date&ID}.
3. Right click on the file ControllerHeader.predictPro and select Properties from the context menu.
4. Uncheck the Read-Only checkbox and click OK.
5. Open the file with Notepad
6. To enable and disable MV targets in the MPC controller, enter True (enabled) or False (disabled) in the Penalty on MV Error Enabled section of the file.
7. To adjust the MV targets' controller weights coefficients, edit the Penalty on MV Error section of the file. Each consecutive parameter corresponds to a
consecutive MV. The default weights are 1.0. It is recommended that the weights not exceed 10.0.
8. In the Control Horizon section, edit the number.
9. In the Moves Blocking section, edit the mask of moves blocking. The mask consists of ones (1) and zeros (0). The number of digits is determined by the
control horizon. The settings for the control moves start on the left and end on the right.
10. To block moves, enter 1 with consecutive zeroes to indicate the start and end of the moves blocking. In this example, moves 5 to 9 and 10 to 16 are blocked:
1111100001000000.
11. To enable and disable moves blocking enter True (enabled) or False (disabled) in the Moves Blocking Enabled section of the file.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 135 of 137
12. Save and close ControllerHeader.predictPro.
13. Open PredictPro and generate and download the controller.
14. Repeat this procedure for each new model created. A ControllerHeader.predictPro file must be available for each model.
15. Validate the controller stability and performance after setting new parameters for controller generation.
Adjusting MV Target Online Weights
Online weights for MV targets can be adjusted by changing the MV_TGT_FACT[1..40] values (one value for each MV). It is possible to disable the controller
action towards the MV targets by applying a factor of 0.0 to the corresponding MV. Default weights are set to 1.0, although they are not used if the controller was
generated with MV targets disabled.
The following segment from a ControllerHeader.predictPro file shows the control horizon and moves blocking sections.
ControllerHeader.predictPro
.
.
.
Penalty on MV Error
1.000000 1.000000 1.000000 1.000000
Control Horizon
16
Moves Blocking
1111100001000000
Moves Blocking Enabled
True
Penalty on MV Error Enabled
True
Using External Historical Data
Inside this topic
In some DeltaV installations, historical data can be collected and recorded either manually or from a system that is not connected to the DeltaV system. In other
installations, historical data may have been saved in the historian of another control system that is being replaced by the DeltaV system. In these cases, it may save
time to use this historical data, rather than data from the Continuous Historian, to create process models and control definitions to be used by the MPCPro function
block in a DeltaV system. The PredictPro application can use data from a file to develop a model that can be used to generate the MPCPro control. The PredictPro
application can also verify a model against data from a file. This section describes how DeltaV PredictPro uses data files, the required data file format, and the
utilities included in the DeltaV system to export data from the Continuous Historian into a file.
Developing a Process Model from File
The DeltaV PredictPro application normally uses data from the Continuous Historian to create the process model used to generate control. However, DeltaV
PredictPro can also use historical data saved in data files to generate control. The data file must contain historical values for all inputs and outputs used in the
MPCPro block and the data must be formatted correctly to be used by DeltaV PredictPro. Refer to the Data File Format topic for more information.
To use historical data from a file, you must first create a module that contains an MPCPro function block. The MPCPro block must reference the DeltaV inputs
and outputs that will be used in the control. Download the module to a controller or Application Station, start DeltaV PredictPro, and connect DeltaV PredictPro to
the MPCPro block. From DeltaV PredictPro, select File | Select Data Source | Load Data from File, and autogenerate or create the model.
When you select either of these options, a dialog appears in which you specify the data file to use. After you select the data file and click OK, DeltaV PredictPro
performs the selected command using the data file and presents the results as if you had used data from the Continuous Historian.
Verifying a Process Model against data from a File
In order to validate the identified process model, the DeltaV PredictPro application normally uses trend data from the Continuous Historian or the original data
used to create the model. However, DeltaV PredictPro can also use historical data saved in data files. The data file must contain historical values for all inputs and
outputs used in the MPCPro block and the data must be formatted correctly to be used by DeltaV PredictPro. Refer to the Data File Format topic for more
information.
To verify a process against historical data from a file, you must have created a model for the configured MPCPro function blocks, and you must be in Expert
mode. In DeltaV PredictPro, select the model you want to validate and then either right click and select Verify Model | Verify Model Against File Data or click the
Verify button on the model display. When you select either of these options, a dialog appears in which you specify the data file to use. After you select the file and
click OK, DeltaV PredictPro verifies the model predictions against the data file and presents the results as if you had used data from the Continuous Historian.
Data File Format
For best results when creating and verifying models from data files, the values contained in the data file should reflect normal conditions over the operating range
of the process. For model creation, the data is normally of the form obtained with open loop bump testing. Any input or output sample values that represent
abnormal conditions should be replaced by a non-numeric string in the data file. Use a tool such as Microsoft Excel to format and edit the file.
The data files must be saved as .dat files and formatted in a particular way for DeltaV PredictPro to use them. The data files must contain the following
information formatted as described:
Line 1 — Must contain the phrase DeltaV_MPC_Pro_Data <eol>
Note The above header specifies to DeltaV Predict that this is a historical data file.
Line 2 — Lists the Number of Controlled and Constraint Variables<tab>The Number of Disturbance and Manipulated Variables<eol>
The number of variables should correspond to those that you configured in the associated MPCPro function block. Refer to the Example PredictPro Data File in
this topic for an example.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 136 of 137
Line 3 — Lists the Number of samples in the file <tab> The sampling period in seconds <eol>
The sampling period must be the sampling period of the data in the file.
Line 4 – The date in MM/DD/YYYY format <tab> Time in HH:MM:SS format for the last sample<eol>
Line 5 — An empty line <eol>
Line 6 — Lists the identifiers of the Control and Constraint followed by Manipulated and Disturbance references separated by tabs <eol>
The user configured identifier names such as FC201 should match those that you configured in the associated MPCPro function block. They should be placed in
the order of the variables as identified in the MPCPro function block configuration (for example, Proc_Out1, Proc_Out2, Proc_In1, and so on). Therefore, the
order will match that of the data, as indicated in Line 8.
Line 7 — An empty line <eol>
Line 8 through the end of data — The data in the following order: index of the sample<tab>first process output variable value<tab>… last Process ouput
variable value<tab>first process input variable value<tab>… last process input variable value <eol>
The order of the data should match the order of the configured variables. If the data contains values that do not reflect normal operating conditions, replace those
values with non-numeric strings to indicate that these values should not be used in the model identification. During identification, the corresponding sample values
are replaced by interpolating between the good data values.
Last Line — An empty line <eol>
The following is an example PredictPro data file for a block consisting of four Controlled variables and five Constraint variables (totaling nine process outputs),
and four Manipulated variables and two Disturbance variables (totaling six process inputs). The example shows only a portion of the starting and ending input and
output values out of the 1618 total. The data was obtained with a sampling period of 1.0 seconds. Note that to flag some of the output and input data values as bad,
(the values should be replaced by BAD, or any non-numeric string).
Extracting Data from the Continuous Historian
In some cases, you may need to extract data from the Continuous Historian into one file that can be used in another DeltaV system to develop a process model.
Use the Continuous Historian Excel Add-In to export DeltaV historical data into an Excel spreadsheet.
Using External Models
It is possible to use models that were created in other applications in DeltaV PredictPro. This procedure explains how to use externally created models in
PredictPro.
1. Create the MPCPro configuration in DeltaV Control Studio. Download it and assign it to a node.
2. Open the PredictPro application and connect to the MPCPro block.
3. Select Options | Expert.
4. Click File | New Model to create the header file. (By default the header file is created in DVData|PredictPro\ModelName\ ModelHeader.predictPro.)
5. Follow these steps to create a model template for each step response:
Expand the Manipulated & Disturbance folder under the model in the tree view in PredictPro. The following image shows the Manipulated & Disturbance
folder expanded and one of the outputs (Out 1) selected.
Select any output. For each selected output:
Click the Design Resp button on the PredictPro interface and click OK to accept all the defaults in the Step Response Design dialog.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020
Page 137 of 137
Click Save on the PredictPro interface to save the step response.
Repeat the procedure for every output within the expanded Input folder to develop a template for a complete model.
Now, use Microsoft Excel and format and edit the external file according to the PredictPro Inputs vs. Output.dat file template. Be sure that the formatted external
file is in the form of step responses with 120 coefficients and that the scan period in the imported model is the same as that in the PredictPro application.
Replace the step responses in the PredictPro generated Input vs. Output.dat file with the step responses from the external file. Repeat the procedure for every Input
vs Output template file to get a complete model.
When generating the controller, verify and adjust the penalty on move manually.
Tailoring MPCPro Control Performance
The MPCPro controller minimizes future control errors and control moves. The control calculations assume that your process response is reasonably linear over its
normal operating range. If the process model has been accurately identified during testing, the default controller settings used in controller generation should
provide stable operation and acceptable performance.
If you would like a faster or slower control response, choose the Expert option to create the model and generate the controller. After the model is created, you can
make adjustments to it before it is used in controller generation and you can examine and modify the default parameters that are used in controller generation to
meet your specific application requirements.
When developing a typical MPCPro application, keep in mind that the default settings for MPCPro controller generation will provide a good response for most
applications. For guidelines on adjusting the penalty on move and penalty on error, refer to the Tailoring MPC Control Performance topic.
A modeling error filter is applied to the MPC and MPCPro blocks. For guidelines on adjusting the filter refer to the Tailoring MPC Control Performance topic.
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh6CEE.htm 05/12/2020