Вы находитесь на странице: 1из 107

SimSci®

DYNSIM® 5.3.2
Bulk Configurator
User Guide

December 2016
All terms mentionedin this documentation that are known to be trademarks or service marks have
been appropriately capitalized. Schneider Electric Software, LLC. cannot attest to the accuracy of
this information. Use of a term in this documentation should not be regarded as affecting the
validity of any trademark or service mark
ActiveFactory, ArchestrA, ARPM, AssayCentral, Autonomous, Avantis, Avantis.PRO,
Connoisseur, CrudeManager, CrudeSuite, DATACON, DATAPREP, DT Analyst, DYNSIM,
DYNSIM Power, Esscor, EYESIM, Factelligence, FactorySuite, FactorySuite A², Foxboro,
Foxboro Evo, FSIM Plus, HEXTRAN, Hot Links, I/A Series, IMPACT, IMServ, InBatch,
InControl, Industrial Portal, IndustrialSQL Server, InFusion, INPLANT, InSQL, IntelaTrac,
InTouch, IPact, Invensys, Logic Validator, MBM, NETOPT, PIPEPHASE, PRO/II,
PROVISION, QI Analyst, ROMeo, SCADAlarm, SIM4ME, SimCentral, SimSci, SimSci-Esscor,
Skelta, Skelta BPM.NET, Skelta Sharepoint, Skelta Sharepoint Accelerator, Spiral Software,
SuiteVoyager, TACITE, Tactical Batch, The Simulator, TRISIM Plus, VISUAL FLARE,
VISUAL FLOW, VISUAL FLOW SUITE, VISUAL NETWORK, Visual Solutions,
VOYAGER, WindowMaker, WindowViewer, Wonderware, Wonderware InTouch, and ZI ZHI
are trademarks of Schneider Electric SE, its subsidiaries and affiliated companies.
© 2016 by Schneider Electric Software, LLC. All rights reserved.
No part of this documentation shall be reproduced, stored in a retrieval system, or transmitted by
any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior
written permission of Schneider Electric Software, LLC. No liability is assumed with respect to
the use of the information contained herein.
Although precaution has been taken in the preparation of this documentation, Schneider Electric
Software, LLC assumes no responsibility for errors or omissions. The information in this
documentation is subject to change without notice and does not represent a commitment on the
part of Schneider Electric Software, LLC. The software described in this documentation is
furnished under a license agreement. This software may be used or copied only in accordance
with the terms of such license agreement.
ArchestrA, Avantis, DYNSIM, EYESIM, Foxboro, Foxboro Evo, I/A Series, InBatch, InduSoft,
IntelaTrac, InTouch, PIPEPHASE, PRO/II, PROVISION, ROMeo, Schneider Electric, SIM4ME,
SimCentral, SimSci, Skelta, SmartGlance, Spiral Software, VISUAL FLARE, WindowMaker,
WindowViewer, and Wonderware are trademarks of Schneider Electric SE, its subsidiaries, and
affiliated companies. An extensive listing of Schneider Electric Software, LLC trademarks can be
found at: http://software.schneider-electric.com/legal/trademarks/. All other brands may be
trademarks of their respective owners.
Schneider Electric Software, LLC
26561 Rancho Parkway South
Lake Forest, CA 92630 U.S.A.
(949) 727-3200
http://software.schneider-electric.com/
Table of Contents
Welcome to Bulk Configurator...................................................................................5
Getting More Information............................................................................................6
Glossary ........................................................................................................................7
Introduction to the Bulk Configurator .......................................................................8
Checkout View (Tieback Simulation) ............................................................................ 8
Features ....................................................................................................................... 8
Model Data View ............................................................................................................ 8
Features ....................................................................................................................... 8
Intended Audience .......................................................................................................... 9
Additional Reading ....................................................................................................... 10
Pre-requisites and Excel Settings for Bulk Configurator .....................................11
Pre-requisites................................................................................................................. 11
Re-installing Pre-Requisites.......................................................................................... 11
.Net Framework ........................................................................................................ 11
VSTO 2005 SE ......................................................................................................... 11
VSTO 40 ................................................................................................................... 11
MS Office PIAs......................................................................................................... 11
Excel Settings................................................................................................................ 12
.NET Programmability Support ................................................................................ 12
Excel Security Settings ............................................................................................. 15
VBA feature Settings ................................................................................................ 18
Introduction to Tieback Simulation .........................................................................21
Tieback Simulations ..................................................................................................22
Important Simulation Concepts ...............................................................................26
Simulation Engines ....................................................................................................... 26
Time Control and Synchronization ............................................................................... 27
Cross Referencing ......................................................................................................... 27
Model Objects and Parameters ..................................................................................... 28
FSIM Engine Snapshots and Checkpoints .................................................................... 28
TRISIM Engine Snapshots ........................................................................................... 29
FSIM Engine with Multiple I/A Series Control Processors.......................................... 29
TRISIM Engine Multiple PLC Simulation ................................................................... 30
Bulk Configurator ......................................................................................................31
Launching the Bulk Configurator ................................................................................. 31
Components of the Bulk Configurator.......................................................................... 32
Action Pane ............................................................................................................... 33
Bulk Configurator Toolbar ....................................................................................... 34
Checkout View (Tieback Simulation) .......................................................................... 35
Tieback Simulation using the Bulk Configurator: Workflow................................... 35
Cross Reference and Model Worksheets .................................................................. 37
Rulebook ................................................................................................................... 40
Import / Export Rules................................................................................................ 44
Setting up a Rule – Simple Example ........................................................................ 45
Apply Rules .............................................................................................................. 47
Model (Checkout) Worksheet ................................................................................... 50
Send to DSS .............................................................................................................. 54
Status Messages ........................................................................................................ 55
Model Data View .......................................................................................................... 56
Configure Model Data View..................................................................................... 58
Rename Model Objects ............................................................................................. 61
Model Data View settings ......................................................................................... 62
Model Data View Navigation Features..................................................................... 63
Status Messages ........................................................................................................ 67
Appendix A: Tieback Simulation Model Classes (Checkout View) .....................68
STATIC_DOUBLE ...................................................................................................... 69
DYNAMIC_INTEGER ................................................................................................ 71
STATIC_INTEGER ..................................................................................................... 72
LATCH ......................................................................................................................... 73
AND, OR ...................................................................................................................... 74
FCTGEN ....................................................................................................................... 75
RLIMIT ......................................................................................................................... 76
PID ................................................................................................................................ 81
SUM .............................................................................................................................. 84
TIMER .......................................................................................................................... 85
LEADLAG .................................................................................................................... 89
MISCEQTN .................................................................................................................. 92
Custom for OTS Engineers ........................................................................................... 96
Appendix B: Using Regular Expressions with the Tieback Simulation
(Checkout View) .........................................................................................................97
Regular Expression ....................................................................................................... 97
.NET Regular Expressions ............................................................................................ 97
Starter Syntax Examples ............................................................................................... 97
Search Syntax................................................................................................................ 98
Regex Replace ............................................................................................................ 100
Examples specific to I/A Series and Triconex Applications ...................................... 100
Regular Expression Basic Syntax Reference .............................................................. 102
Regular Expression Basic Syntax Reference .............................................................. 102
Other Resources .......................................................................................................... 107
Welcome to Bulk Configurator
This User Guide provides an overview of use cases and configuration of the Bulk
Configurator tool, an Microsoft Excel® based application activated from within the
DYNSIM® Dynamic Simulation Suite environment to streamline the DCS and PLC
control validation process through dynamic simulation. The Bulk Configurator tool is an
Microsoft Excel spreadsheet front-end tool to provide a convenient, tabular way of
entering model/equipment data and is designed for control and instrumentation specialists
primary working with FOXBORO I/A Series® software and TRICONEX® software. It
can be extended to any DCS or PLC process requiring process control loop validation
through dynamic I/O stimulation. This tool resides outside of the simulation environment
and displays static configuration model parameters typically specified when building a
process model.

DYNSIM application is a process-modeling package that links instrument and control


signals with a cross-reference database utility built into DYNSIM’s Graphical User
Interface (GUI). The DYNSIM process model engine sends signals to and from DCS or
PLC engines configured either directly through the Dynamic Simulation Suite interface
(i.e., FSIM Plus® engine/ TRISIM Plus® engine / other PLC-type engine) or through a
bridge to a third party application.

If you are new to DYNSIM application, FSIM Plus application, or TRISIM Plus
application we suggest you review the relevant getting started guides to gain an
understanding of basic simulation features and the Graphical User Interface:

• FSIM Plus Getting Started Guide (Foxboro I/A Series software)


• TRISIM Plus Getting Started Guide (Triconex TriStation 1131 software)
• Getting Started with DYNSIM
Getting More Information
The Bulk Configurator, FSIM Plus, TRISIM Plus, and DYNSIM user guides are
available on the product-specific installation CD.

Access FSIM Plus application, TRISIM Plus application, and DYNSIM application
specific documentation through a variety of means:

• Through the GUI, from the Help pulldown menu


• In PDF format where the software is installed
• From the IOM website Support tab: http://iom.invensys.com

Find additional SimSciTM specific documentation, downloadable software, and software


updates and patches at the SimSci Electronic Software Download website:
http://www2.simsci.com/sim4me/esd/login.asp
Glossary
API Application Programming Interface
Checkpoint File The Control Database that resides on the host
workstation and downloaded to the
FCP270/ZCP270 or FSIM Station
CP I/A Series Control Processor
DCS Distributed Control System
DDM DYNSIM Data Manager
DSS Dynamic Simulation Suite
GUI Graphical User Interface
HMI Human-Machine Interface
I/A Series Intelligent Automation Series
I/O Input/Output
IACC I/A Series Configuration Component
ICC Integrated Control Configurator
TM
IEE InFusion Engineering Environment
OEV Object Editor/Viewer
OTS Operator Training Simulator
PLC Programmable Control Logic
Regular Expression A parser that can search and manipulate text
based on patterns.
Snapshot An Initial Condition or Backtrack that contains a
picture of the state of a simulation engine at a
specific point in time. For the FSIM Plus Engine,
a picture of the Control Processor (CP) database
memory. For the TRISIM Plus Engine, a text-
based file that represents the state of the PT2
file’s objects and tags.
SSMU Snapshot Management Utility
UOM Unit of Measure
XRef Cross Reference (List)
Introduction to the Bulk Configurator
The Bulk Configurator is an Microsoft Excel based model configuration tool to provide a
convenient, tabular way of entering model/equipment data. It supports two modes:

o Checkout View
o Model Data View

Checkout View (Tieback Simulation)

In Checkout View mode, the tool provides a mechanism to apply “rules” in order to
automatically create model objects and tie them off to appropriate I/O points. The rules
take advantage of I/O block naming conventions to specify the type of model to do the
tieback (like a rate limit block to simulate the operation of a valve). The tieback-type
rulebook was designed to rapidly configure low-fidelity, simple tieback models for
control systems with thousands of I/O points, particularly when many typical control
loops are repeated.

Features
1. Bulk Generate Models: Configure the Rulebook to generate tieback models
based on I/O naming conventions.
2. Configure Cross Reference List: Manually or, through the Rulebook,
automatically tie the cross reference data to the process model.

Model Data View


The Model Data View mode extends the tool to medium and high fidelity models. In
Model Data View, model objects and their parameters display in tabular, customizable
spreadsheet format that provide visualization and bulk parameterization capability. Bulk
Configurator supports model objects from every available DYNSIM engine, including
DYNSIM, DYNSIM-P, DYNSIM-C, and DYNSIM-L engines.

Features
1. High, Medium, and Low Fidelity models: Supports parameterization of models
generated for all available DYNSIM-type engines, including:
• DYNSIM High-fidelity process modeling tool for oil and gas, refining,
engine and chemical industries

• DYNSIM- High-fidelity process modeling tool for power generation


P engine industry

• DYNSIM- Medium-fidelity process modeling tool for control and


C engine safety system checkout and operator familiarization across
all industries

• DYNSIM- Low-fidelity, “lite” base equipment modeling tool for


L engine simple tie-back modeling across all industries

2. Customize display parameter list for each model: Modify which parameters
display in the Microsoft Excel spreadsheet for each model.
3. Change Management: Optionally opens most recent spreadsheet or replaces
spreadsheet with current process model.
4. Unit of Measure support: Customize UOM for individual model parameters
from the Model sheet.
5. Refresh: Optionally update Bulk Configurator Spreadsheet with modified process
model without closing or re-opening the DYNSIM simulation file or Bulk
Configurator interface.
6. File Handling: The tool allows the user to create Microsoft Excel files and
associate them with the appropriate simulation. It supports saving (and opening)
the Microsoft Excel file in any folder location.
7. Link cells in spreadsheet or accept formula: Supports linking spreadsheet cells
that represent parameters to cells in other spreadsheet tabs. Accepts Microsoft
Excel formula that is persistent when DYNSIM data is imported. Handles
equations present in the DYNSIM OEV. Directly retrieve those equations into the
Bulk Configurator worksheet and send them back to the DYNSIM application to
the DYNSIM equation placeholder for the parameters.
8. Display Dynamic and Snapshot data: Displays dynamic runtime model
parameter values for the simulation in the Model sheet value column. Restore a
snapshot and refresh Bulk Configurator to view model parameter values saved in
a different simulation state.
9. Rename model objects: Optionally rename model objects from Model sheet.
10. Create Custom Parameters: Add, delete and edit custom model parameters
through “Configure Model Data View” window.
11. Configure Cross Reference List: Manually or, through the Checkout View
Rulebook, automatically tie the cross reference data to the process model.

Intended Audience

This guide is intended for engineers (Application Engineers, Instrumentation and Control,
or Process engineers) who have a high level of familiarity with Distributed Control
Systems (DCS) or Programmable Logic Controllers (PLCs), and in particular Foxboro
I/A Series and Triconex software (although the concepts apply to most control systems).
Detailed knowledge of process simulation is not a pre-requisite to employ the tieback
simulation Bulk Configurator.
Additional Reading
The following guides and user manuals are available for further reference:

• FSIM Plus Installation Guide


• FSIM Plus Getting Started Guide (tutorials to build basic process simulations and
connect to I/A Series software)
• FSIM Plus User Guide (reference manual covering I/A Series simulation)
• TRISIM Plus Installation Guide
• TRSIM Plus Getting Started Guide (tutorials to build basic process simulations
and connect to Triconex TriStation™ 1131 software)
• TRSIM Plus User Guide (reference manual covering I/A Series simulation)
• Dynamic Simulation Suite Users Guide (detailed information concerning DSS
simulation features, as well as documentation for high-fidelity process modeling)
• Checkout Equipment
Pre-requisites and Excel Settings for Bulk
Configurator
Pre-requisites
1. Microsoft Excel 2010 (32 bit) or Microsoft Excel 2013 (32 bit) or Microsoft
Excel 2016 (32 bit) with Office 365 support.
• Excel 2010/2013/2016 – 64 bit is not supported
• See Excel Settings
2. .Net Framework 3.5 & 4.0 Service Pack 1
3. Microsoft Visual Studio tools for MS office system (Version 4.0 Runtime)
4. Microsoft Office 2010 Primary Interop Assemblies (PIAs).

Please install Microsoft Excel before installing the DYNSIM / BulkConfigurator and
verify appropriate Excel and VBA settings as described in later sections.

Re-installing Pre-Requisites
If the Bulk Configurator does not launch, check for the pre-requisites and if they are not
present, please re-install them manually as described below.

.Net Framework
In one of the folders DotNet.3.5 of install, you will find RunFx.bat . Run this to install the
.Net Framework 3.5.

VSTO 2005 SE
Run vstor.exe from the folder “.. \supportdir\ThirdPartyUtilities\VSTO2.0SE” to install
the Visual Studio 2005 Tools for Office.

VSTO 40
Run vstor40_x64.exe (64 bit OS) or vstor40_x86.exe (32 bit OS) from the folder
VSTO40 to install the Microsoft VSTO 4.0 runtime.

MS Office PIAs
Install Microsoft Office PIAs for the respective Office 2010 if it does not exist.

If MS Office 2010 is installed, then run o2010pia.msi from the folder


“..\supportdir\ThirdParty\O2010PIA” in install area to install MS Office 2010 PIAs.
Excel Settings

Please see the below sections to ensure that the proper settings have been selected for
Office / Excel.

• .NET Programmability Support


• Excel Security Settings
• VBA feature Settings

.NET Programmability Support


It is necessary first to check if “.NET Programmability Support” is selected for Microsoft
Excel. The procedure to check is slightly different based on office version installed.

1. Go to Control Panel
2. Select Add or Remove Programs
3. Select Microsoft Office 2010 or 2013 or 2016 and click Change.

MS Office 2010
If “.NET Programmability Support” is not installed (), then select it and from drop-down
menu, select Run from My Computer and click Continue.

MS Office 2013
MS Office 2016
If “.NET Programmability Support” is not installed (), then select it and from drop-down
menu, select Run from My Computer and click Continue.

Excel Security Settings

Excel 2010/2013/2016
If Microsoft Excel 2010, then Bulk Configurator requires that in addition to macros and
VBA access ActiveX controls be enabled. The following screenshots show how these
settings can be changed. (OptionsTrust CenterTrust Center SettingsMacro
Settings / ActiveX Settings).
If user does not have permission to change these settings, then add user folder to the
trusted locations in Microsoft Excel (OptionsTrust CenterTrust Center
SettingsTrusted Locations).

VBA feature Settings


1. Go to Control Panel
2. Select Add or Remove Programs
3. Select Microsoft Office 2010 or 2013 or 2016 and click Change.
Office 2010
Office 2013

Office 2016
Introduction to Tieback Simulation
Tieback simulation is a method for testing process control system loop configurations, by
connecting output I/O back to input I/O (within the same control loop), either directly or
through some kind of filtering function. For instance, a MOTOR RUN COMMAND
digital output can be connected directly back to the MOTOR RUNNING STATUS digital
input in a simulation environment, to test operation of the motor control logic. Another
example would be to test a vessel level control loop by tying the VESSEL LEVEL
CONTROL VALVE (0-100%) analog output back to the VESSEL LEVEL (FT) analog
input, through a Lag block with some gain to simulate level.

Why do tieback simulation? The purpose is to test the function of the control logic,
loops, interlocks, graphics, alarms, etc. in a “dynamic” environment, meaning that the
loops provide/receive stimuli and act upon those stimuli with (hopefully) the right sense,
direction, and magnitude – in other words, to prove to the greatest extent possible that the
control system is going to work once it is installed in the plant. Tieback testing is usually
simple in nature, but is sufficient to find misconnected control blocks, parameterization
errors, mis-linked graphics, incorrect high/low limits, etc., that could not (very easily) be
found by “static” testing.

A Bulk Configuration tool is extremely valuable for tieback simulation, in that it provides
a mechanism to apply “rules” in order to automatically create model objects and tie them
off to appropriate I/O points; the rules take advantage of I/O block naming conventions to
specify the type of model to do the tieback (like a rate limit block to simulate the
operation of a valve). It is especially handy for control systems with thousands of I/O
points, especially when many typical control loops are repeated.

This document describes the function and use of the Tieback Simulation Bulk
Configurator, used in conjunction with the Invensys Dynamic Simulation Suite (DSS):
FSIM Plus application, TRISIM Plus application, and DYNSIM application. These are:

• FSIM Plus: FOXBORO I/A Simulation


• TRISIM Plus: TRICONEX and Trident™ Simulation
• DYNSIM: Dynamic Simulation modeling environment

(Note: The GUI for all of the above products is the same though the underlying engines
are different. Hence all the products have the same look and feel. The term DSS GUI may
be used to refer to any of the product user interfaces.)

This document will discuss tieback simulation types and general simulation topics, before
getting into the specifics of the Bulk Configurator.
Tieback Simulations
A tieback simulation attempts to test the behavior of a control system in a simulated real-
world environment. Figure 1 shows a simple representation of the pieces of a process
control system installed in a plant.

Figure 1. Typical Process Plant Control System

To simulate plant processes simply, output signals can be “tied back” onto input signals,
either directly or through some kind of filter or signal generator in a lab or staging floor-
environment:

Figure 2. Tieback Testing in Lab or Staging Floor Environment


Until recently, tieback-type testing required various configurations of control system
hardware to accomplish. One type of tieback simulation involves staging the entire
hardware and software systems to be assembled, with tieback done by using actual wires
or signal generators to loop output signals back to input signals on the I/O module (as
already shown in Figure 2). Another approach, requiring less hardware, is to build
simulation-type blocks within the actual control system software, and connect these
simulation blocks to the I/O software blocks (Figure 3).

Specially- K ⌠
inserted Modify
Simulation blocks to
Block turn off
AOUT AIN connection
to I/O
Module
LAG

To I/O From
Module I/O
Module

Figure 3. Tieback Simulation built within Control System Blocks

This approach does away with the need for the actual I/O modules, however real control
processors are still required for block processing. I/O software blocks modification, to
turn off the connection to I/O hardware, and to reconfigure the block to accept inputs
from the simulation block is required

Another method (Figure 4) uses commercially available simulation software, such as


CAPE VPLink™, to provide simple process simulation algorithms to stimulate the control
system I/O. Like the second method, the I/O control blocks still need to be modified to
turn off their connection to the physical I/O modules, but now the off-board simulation
software reads/writes to the I/O blocks via a special Application Programming Interface
(API).
Figure 4. Tieback Simulation using 3rd-Party Application

Each of these previous tieback simulation approaches has the following disadvantages:

• All require actual control system hardware, including networking interfaces.


Method 1 requires actual I/O modules.
• Methods 2 and 3 require that the control system configuration be modified to turn
off connection to physical I/O

With the Tieback Simulation Bulk Configurator addition to the Dynamic Simulation
Suite, many of the shortcomings of the alternative tieback approaches have been
addressed through an approach called Virtual Stimulation Control Simulation (Figure 5):
Figure 5. Virtual Stimulation Control System Simulation

“Virtual Stimulation” means that the control processors and I/O modules are simulated on
a desktop or laptop computer, by porting the source code that runs on this hardware to
run in a PC environment. Multiple controllers and I/O modules can be simulated on a
single platform. In addition, this platform includes all control system applications
(configuration tools, alarm manager, historian), HMI display tools, and includes
DYNSIM process modeling software (Figure 6). The Tieback simulation Bulk
Configurator builds simple DYNSIM models to interact with the control system.

Figure 6. Integrated Simulation Environment on Single Platform


In the subject of control system checkout using tieback simulation, the primary challenge
lies with understanding control engineering and with the specifics of the control system
itself. However, essential simulation concepts are requisite to tieback simulation Bulk
Configurator discussion.

Important Simulation Concepts


The concepts discussed in this section are a subset of those contained in the FSIM Plus
Getting Started Guide and the Trisim Plus Getting Started Guide. They are presented
here as an introduction and the minimum pre-requisite knowledge required before tieback
simulations can be built. Please refer to these manuals as well as the Installation and
User Guides for more detailed information.

Simulation Engines
In process simulation, every entity in that simulation is considered an Engine. A typical
basic simulation requires at least two simulation engines: one for the Foxboro I/A Series
control system (or Triconex controller) and one for the tieback process model. A more
complex system example to be includes a Foxboro I/A Series DCS and a Triconex safety
system; in this case, three engines include one for I/A Series, one for Triconex, and one
for the process model. As a complex example, a large high-fidelity Operator Training
Simulator might have many control systems and an extensive process model. Such a
system may have tens of engines – one for each of the control system entities, and
perhaps several for the process model itself (large detailed process models need to be
split up to be able to run on different computers or processors in order to have acceptable
speed). Figure 7 shows the engine concept.

GUI

Dynsim
DCS Engine

SIM4ME

PLC Excel®
Engine
3rd Party
Engine

Figure 7. Simulation Engine Architecture


Time Control and Synchronization
One advantage the Invensys® Dynamic Simulation Suite has over the types discussed in
previous sections is the concept of time control. In a nutshell, “time control” refers to the
ability to make each of the simulation engines march in lock-step (synchronization), and
to control their execution in the following manners:

• Freeze/Run – halt processing, or proceed


• Slow/Fast Time – make the simulation run slow (so as for instance to watch fast-
evolving sequences in detail), or fast (to get past a long waiting time for the
process, like the filling of a large vessel). Expressed as a % of real time (i.e. the
wall clock; 100% = execute at real time, 200% = 2X real time, etc.)
• Single Step – extremely useful for debugging sequence or Boolean control logic

The Simulation Executive controls each engine’s execution cycle (like Basic Processing
Cycle in I/A Series software), sending commands to each engine to run, and receiving a
message back indicating the engine execution cycle completes (Figure 7). The regulation
of this time-marching sequence controls the simulation speed (Slow, Real, or Fast Time).
The Simulation Executive ensures deterministic operation, meaning that exactly the same
results occur for an operation scenario run from a saved initial condition, if the actions in
the scenario are repeated.

One important point to remember: the control blocks are not processing (executing)
unless the simulation is in Run mode. For instance, if controls are loaded or
incrementally changed, the change does not take effect until the block has processed at
least one cycle.

Cross Referencing
Cross Referencing can be thought of like a marshalling cabinet (Figure 5): it connects
control system I/O points to the simulated process, like the copper wires that connect I/O
modules to sensors and actuators in the field in the real world. Cross Referencing
connects the points in one engine to another (Figure 7) via a Cross Reference Table
(Figure 8):

Figure 8. Cross Reference Table

In the figure, “DynsimEngine” refers to the process model; “FSIMEngine” refers to the
control system. Therefore, From DynsimEngine to FSIMEngine refers to an I/A Series
software input (analog input in this illustration). The points connected are the “From
Symbol” and “To Symbol.” As a minimum, one line exists in the Cross Reference table
for each I/O point in the entire simulation.
Model Objects and Parameters
The DYNSIM dynamic simulation environment is object-oriented, with each modeling
object a certain Class that defines what the model does (like LATCH, TIMER, VALVE);
each instance of an object must have a unique name (the name cannot begin with a
number; special characters are also not allowed). A particular value of a model is
referenced by the ObjectName.Parameter; a parameter can be an input, output, or a
configuration or tuning constant. Examples of common parameters are:

• IN (input value)
• OUT (output value)
• RATE (time constant)
• HI_LIM (output high clamping limit)
• etc.

In Figure 8, the points to be cross-referenced are the model object LT5T27’s OUT output
parameter connecting to the analog input block LI5T27, in Compound 5ADD_SYSTEM.

FSIM Engine Snapshots and Checkpoints


A snapshot is the record of all internal states of each engine, such that these states can be
restored to the exact same operating point as when the snapshot was taken. Save and
restore snapshots through the Dynamic Simulation Suite Graphical User Interface. For
FSIM, a snapshot can be thought of as a checkpoint file, the main difference is that a
snapshot includes the current model states, such as automatic, running, or timing.

For the FSIM engine, two intractable considerations relate to snapshots and checkpoints.
The first is that older snapshots must be updated if new controls are added or existing
controls modified. FSIM’s Snapshot Management Utility (SSMU) performs this action
automatically when an out-of-date snapshot restores. The update starts with the
checkpoint file and pushes values of settable/connectable parameters from the snapshot in
to the checkpoint file, then saves the result as the updated snapshot.

The second consideration is that the checkpoint file must be valid when rebooting the
computer or restoring a snapshot. With simulation the checkpoint file is only valid if
blocks process after (re)deploying the controls (i.e., run the simulation) and manually
performing Checkpoint after processing blocks: the automatic checkpoint that occurs
before blocks process is not valid. With FSIM 4.5 and beyond, the checkpoint file is
saved external to the simulation and restores automatically on a reboot. To clear the
checkpoint file contents, initialize all controls mapped to the FSIM Station and reboot the
FSIM Station.
TRISIM Engine Snapshots
For the TRISIM engine, restoring older snapshots is not problematic: if an object or tag
existed in the old controls, those values populate the control system on a reset. New
objects begin at their default values. With the TRISIM engine, it is possible to edit the
contents of the text-based snapshot file.

FSIM Engine with Multiple I/A Series Control Processors


Tieback Simulation using Invensys Dynamic Simulation Suite has a major advantage
over other methods in that multiple I/A Series Control Processors (CPs) can be simulated
on a single desktop or laptop PC (Figure 6). Additionally, a mix of I/A Series CPs and
Triconex Tricon™/Trident controllers can be simulated simultaneously. Recent advances
in FSIM Plus and simulation enhancement added to I/A Series software now allow
multiple CPs to be kept “segregated,” even though they are all run on one “super” control
processor, or FSIM Station. CP mapping utilities maintain segregation. In FSIM, this
configuration takes place prior to deploying controls and depends on the configurator:
ICC, IACC, or IEE. Each configurator makes use of a different mechanism to segregate
controls. This step is typically a one-time setup for each project. Refer to the FSIM Plus
User Guide for details.

Another important point is the physical limit to the number of I/A Series CPs mapped to a
single FSIM Station. This limit is based on the size of the control set, the number of
peer-to-peer connections, the number of blocks, and the number of non-repeating strings.
The maximum number is variable based on the specifics of the project, but for estimation
sake figure on 10 CPs per machine. If the number of physical CPs is greater than 10,
then additional machines (again, typical laptop or desktop PCs) need to be networked
(Figure 9), and additional instances of control engines are required.

Figure 9. Extending the Simulation Platform to Accommodate Large number of


Simulated Control Processors
TRISIM Engine Multiple PLC Simulation
With Triconex TriStation, configuring multiple PT2 files per simulation also requires
initial setup to instantiate emulator filenames (to the NodeName). Although no changes
to the program files are needed, the TriStation project options need point to multiple
instances under the emulator options. If controllers communicate directly via peer-to-
peer (TRICON to TRICON) with USEND / URCV commands, additional configuration
is required within the TRISIM engine. For communication between FSIM and TRISIM,
some manual cross referencing within DSS is needed. The TRISIM Plus User Guide
contains details for each of these configurations.
Bulk Configurator
Launching the Bulk Configurator

Launch the Bulk Configurator from the DSS GUI by selecting Tools->Bulk Configurator
(Figure 10).

Figure 10. Launching the Bulk Configurator

The user is prompted to create or open an Microsoft Excel spreadsheet. After launching
the Bulk Configurator, the current model data and cross reference table in the DSS
database/simulation, are imported into the Microsoft Excel spreadsheet.

The user can then,

(a) Perform model edits and manual cross referencing by simply typing
into the Excel cells.
(b) Use Microsoft Excel functions, like Search, Replace, Copy, Paste,
Filter, etc., to
i. find and modify certain model objects,
ii. create additional model objects (only in Checkout View) and/or
iii. delete existing model objects (only in Checkout View)
(c) Use the Rulebook (described in subsequent sections) to automatically
bulk-configure a large number of model objects, based on parsing I/O
tag records in the cross reference table (only in Checkout View).
(d) Rename model objects in bulk and update the database, cross reference
and ICs appropriately (only in Model Data View).

Note: Launch the Bulk Configurator from the DSS GUI and not by double-clicking the
Excel file.

Components of the Bulk Configurator


Once launched, two main interfaces appear (Figure 11a):

• Excel Workbook
1. Cross Reference Worksheet Tab
2. Model (Checkout) Worksheet Tab (Checkout View)
Or
Model Worksheet Tab (Model Data View)

• Action Pane
1. View selection
2. User Action Buttons
3. Status Messages display box

Figure 11a. Tieback Simulation Bulk Configurator


Action Pane

The Action Pane (figure 11b) includes the following sections:

Figure 11b. Bulk Configurator Action Pane

Simulation Name
When BulkConfigurator launches, the simulation name displays automatically in this
field.

View
Through the Action Pane, choose how the data displays:
• Checkout View Bulk Configure model objects through the Rulebook and
automatically tie I/O to model objects
• Model Data Parameterize model objects created using any DYNSIM,
View DYNSIM-P, DYNSIM-C, or DYNSIM-L library
Update
After bulk configuring a new tieback model or parameterizing model objects perform the
following actions:
• Send to DSS Send the modified data to DYNSIM simulation
• Refresh Update data from the DYNSIM application into the XRef and
Model (Checkout)/Model sheets. No need to close and open
Bulk Configurator to update with this integrated two-way data
transfer option.
o View the IC data after the IC is loaded in the DYNSIM
application using Refresh.
o View the Dynamic (Runtime) data when simulation is in
Frozen mode using Refresh.

Actions
The active actions depend on the view. Checkout View activates Rulebook and Apply
Rules. Model Data View activates Configure Model Data View, Rename Model Objects,
and Model Data View settings.

Checkout View Actions


• Rulebook Create rules to parse I/O in Cross Reference table,
create and configure tieback models based on filter
criteria
• Apply Rules Update Cross Reference table and model objects within
the Bulk Configurator environment
Model Data View Actions
• Configure Model Data Select which objects appear based on the DYNSIM
View library, such as Checkout Equipment, Process
Equipment, or Controls
• Rename Model Objects Globally replace model object names
• Model Data View Specify which parameter columns appear in Model
settings Data View

These actions are discussed in further detail in the Error! Reference source not found.
section.

Status Messages

The Status Message display box indicates action progress, warnings and errors.

Bulk Configurator Toolbar

Along with the standard Excel menu options, a “SIMSCI” menu option contains
additional menu options (Figure 13).
• Document Actions (activate Actions Pane),
• Help (Bulk Configurator documentation)

Figure 13. Bulk Configurator Toolbar

Checkout View (Tieback Simulation)


Tieback Simulation using the Bulk Configurator: Workflow

The figure below shows the start-of-day to end-of-day workflow procedures in using a
tieback simulation.

Tieback Simulation Workflow


More generally, the workflow includes (for a new project):

1. Load new controls


2. Create a new (empty) simulation
3. Create a Cross Reference table (pre-populated with default values until a model
can be created)
4. Launch the Bulk Configurator. Select Checkout View.
5. Open the Rulebook and configure the Rules
6. Apply Rules and populate the Cross Reference and Model (Checkout) sheet s
7. Send the modified Cross Reference table and model objects back to the
simulation
8. Use the simulation to test loopback control logic
9. Repeat 3-8 as needed

(The Model Data View may be used to view and modify model objects that are not
supported in the Checkout View).

The following sections will discuss in detail items 4-7. Details for all other items may be
found in the FSIM Plus or TRISIM Plus User Guides.

Find details for other items in the FSIM Plus, TRISIM Plus, or DYNSIM User Guides.
Cross Reference and Model Worksheets

Figure 14. Tieback Simulation Bulk Configurator

The Cross Reference worksheet contains all the model-to-control system I/O connections,
and is identical in format to the Cross Reference table as accessed by the DSS GUI.

By default, when the Bulk Configurator launches, Checkout View is selected. In this
view, under the Model tab, only model objects configurable through the Rulebook
appear. To view model objects that are not configurable with the Rulebook, but exist in
the process model, select Model Data View radio button from the Action Pane. The
Model worksheet format differs slightly between Checkout View and Model Data View,
but the general concepts are the same.

The Model worksheet contains all details of the model objects for the tieback simulation.
The format for model definition in the Bulk Configurator is tabular (Figure 15a) unlike
the DSS GUI where a model object is represented graphically on a flowsheet (Figure
15b). The graphical representation of the model object is shown in the flowsheet on the
right and the model object and its parameters are shown in the Instances tree on the left.
Figure 15a. Model Worksheet in Bulk Configurator showing Configuration for
Model Object XV1

Figure 15b. DSS GUI showing Flowsheet and Model Object ASOV_61005_5

Figure 15c shows the DYNSIM Object Editor Viewer representation of the same model
object.
Figure 15c. Object Editor View of Model Object XV1

Figures 15a, 15b, and 15c are all different views of the same model object. However,
only a subset of the parameters are shown in the Checkout View of the Bulk Configurator
(Figure 15a) when compared to the DSS GUI (Figure 15c). This was done intentionally
to provide the users of the Bulk Configurator with the most commonly used parameters
that are needed for tieback simulation.
The Model Data View of Model objects, shown in Figure 15d, provides more object
parameterization flexibility. Model Data View can be configured to display every object,
in the process model, including all objects available in DYNSIM, DYNSIM-P,
DYNSIM-C, and DYNSIM-L libraries. The tool can be configured to display user-
specified parameters within specific object types.
Figure 15d. Model Data View of Model Object XV1

Utilize any of the four views in Figure 15 to make editing changes. However, for the sake
of simplicity, this document concentrates only on the Bulk Configurator (refer to the
Dynamic Simulation Suite Users Guide for more details on creating/editing models from
the DSS GUI).

Rulebook

The Rulebook (Figure 16) enables rule creation to parse I/O block (tag) names in the
Cross Reference table, create and configure model objects based on matches to filter
criteria, and then connect the model inputs and outputs to the I/O block outputs and
inputs respectively. It is active when Checkout View is selected.
Figure 16. Bulk Configurator Rulebook Checkout View

The Control OUT, IN, Model Name, and model parameter fields (in the parameter pane)
all support Regular Expressions (see Appendix B). Figures 17a and 17b detail a
Rulebook Entry.

Figure 17a. Rulebook Entry (part 1)

1. Enable Rule When selecting Apply Rules, this rule will execute
2. Overwrite:
• None Does not overwrite previously-defined
or custom entries for XRef or model
(“None” will overwrite default points
in XRef)
• XRef Overwrite any applicable XRef entries
• Model Overwrite any applicable model entries
• Both Overwrite model and XRef entries
3. Description Text field describing rule
4. Control Engine The non-DYNSIM engine, such as FSIM Plus engine
or TRISIM Plus engine
5. Filter Using Tells the rule which I/O point is the “search” tag and
Out/In Tag which is the resulting “paste” tag
6. Model Engine The DYNSIM engine that models the process

Figure 17b. Rulebook Entry (part 2)

7. Control Out/In Control System analog/digital output or input tag name


Tag associated with the control loop. One point is the
“search” tag while the other is the “paste” tag,
depending on the Filter flag (see #4 previous page).
While the “search” tag is required and must be
specified for a rule to be valid, specifying the other tag
is not required. If specified, the Bulk Configurator ties
the “paste” tag to the model.
Important: Be sure to properly specify search/replace expressions and select the correct
Filter checkbox for the Control Out and In Tag fields. Notice the wild-cards
(.*) on the Control Out Tag and the checkbox on Filter Using Out Tag align.

Selecting Filter Out Tag:


• A “search” expression [e.g., (.*):LY(.*)\.(.*)] should be specified in the
Control Out Tag field.
• A “replace” expression [e.g., $1:U$2.POINT] may be specified in the
Control In Tag field.

Selecting Filter In Tag:


• The expressions have to be interchanged, i.e., a “search” expression
[e.g., (.*):XU(.*)\.(.*)] should be specified in the Control In Tag field.
• A “replace” expression [e.g., $1:XP$2.OUT] may be specified in the
Control Out Tag field.

8. Model Class Type of tieback model (explained in next section)


9. Model Name Name to give the created model object using the
“search” and “paste” criteria from the Regular
Expressions. Be sure to generate valid DSS model
names (start with alphabet and no special characters)
when applying the rule.
10. Model In Param “Tie the control system Output Tag to this Model
Input parameter”. A selection of None implies no tie
back for that tag.
11. Model Out Param “Tie this model Output parameter back to this
control system Input Tag. A selection of None
implies no tie back for that tag.
12. XRef Auto Scale Auto scale the model output. Applies only to analog
signals.

Note: Incomplete rules are indicated by a red error mark adjacent to the rule number.

Parameter Input Dialog

Selecting a rule displays a Parameter Input Dialog corresponding to the model class
specification to the right side of the rulebook table.
Figure 18. Parameter Input Dialog

The user specifies parameter values for rules in this dialog box. Each rule has a model
class and a set of parameter values associated with it. Applying a rule creates several
model objects based on matches in the XRef sheet and populates the model object
parameters with the values specified in the Parameter Input Dialog.

Similar behavior occurs in the Parameter Input Dialog for the Model (Checkout) sheet .

Only a subset of the entire parameter list appear in the Parameter Input Dialog, limited to
those considered most important in tieback models. Access the complete parameter list
of parameters through the DSS GUI. If needed, online documentation and the Dynamic
Simulation Suite User Guide can help.

A “replace” regular expression may be used to bulk configure equations for parameter
fields. Prefix this expression with “#” to indicate that it is a regular expression.

Figure 19. Regular Expression

When processing this rule, the expression automatically expands and parameter values
fill with the corresponding equation. In the above example, the parameter PV could be
expanded to FV5F01.OUT, FV5F02.OUT, FV5F03.OUT, etc. This feature enables model
object linking and is useful for complex control loop scenarios.
Default Rules

When Bulk Configurator opens, the previously used rules automatically load.

Import / Export Rules

Export and import rules facilitate rulebook reusability for multiple projects.

Export

Select Export to save rules in a separate text-base .xrl file.

.
Figure 20. Save Rules

Import

Select import to restore a previously exported rulebook file.

The rules currently in the Rulebook replace with the rules in the imported file. Therefore,
consider exporting/saving the rules before importing a new set of rules.
Figure 21. Import Rules

Setting up a Rule – Simple Example

As a general example of a rule, suppose a control engineer wishes to create a tieback


model for the following control loop (Figure 22):

Figure 22. Typical Control Loop

If this loop is typical and repeated many times in the control system, the user can create a
rule to generate a tieback model for each instance of this loop type. An English-language
version of the rule might state:

1. Find any DCS output tag in a) any compound, b) that has block name
starting with “LY,” c) with any loop ID
2. Create a PID model object called “LT” and append the same loop ID,
3. Connect the DCS output tag to the “SP” parameter of the model object
4. Find any DCS input tag in a) the same compound, b) that has block name
beginning with “LI” and c) the same loop ID, and
5. Connect the DCS input tag to the “OUT” parameter of the model object
Diagrammatically, the tieback model looks like Figure 23:

Figure 23. Tieback Representation of Level Control Loop

Figure 24 displays the Rulebook entry corresponding to the numbered rules:

Figure 24. Rulebook Entry to Create Level Control Loop Tieback Model

The Rulebook makes use of what are called Regular Expressions. Regular Expressions
are a special kind of text syntax that allows for easy filtering, searching, and replacing
based on string patterns. Figure 25 shows an example of a Regular Expression.

Figure 25. Breakdown of a Regular Expression


The use and meaning of Regular Expressions will become clearer through the use and
examples contained in subsequent sections and examples. Appendix B provides a
detailed explanation of Regular Expressions and a reference manual.

Select Apply Rules (from Action Pane) to processes rules sequentially:

• Parse each line in the cross reference, searching for a Filter criteria based on the
rules
• Create a specified model object and name it based on the Filter search string
• Parameterize each model object based on the rule definition
• Connect the cross reference table I/O output and input tags to the newly-created
model object
• Repeat for each enabled rule

Once the rules have been processed and the engineer satisfied with the result, export to
the DSS through the Send to DSS button on the Action Pane. This action re-bundles the
model and cross reference configuration files and reloads the DSS database. Returning to
the DSS GUI, the model objects and cross reference connections contained in the Bulk
Configurator appear in flowsheets and the Instances Tree.

Finally, the engineer loads the simulation in to memory, runs it, and performs desired
testing. Should he/she wish to make modifications to the model, relaunch the Bulk
Configurator repeat the process.

Apply Rules

Rules processing creates DYNSIM models based on block naming patterns that connect
to I/O points through an updated cross-reference table. It also modifies models when
DYNSIM Model specifications for a given rule change and the rule reprocesses (see
Rulebook Section below).

Model (Checkout) sheet validation occurs first, prompting for errors, as needed. Correct
the errors before proceeding. XRef rows in error highlight in red. Detailed status
messages appear. Modify or correct rules and re-Apply Rules.

Figure 26. Apply Rules


Figure 27a. Bulk Configurator Cross Reference Table - EQUATION entry for
scaling
When the entries change by applying rules, the updated cells highlight to emphasize
Rulebook processing (Figure 23b). Previously highlighted lines clear when reapplying
rules.

Figure 27b. Bulk Configurator Cross Reference Table Highlighted after Rules
Applied

Validation

DSS expects the cross reference data in a certain format and therefore Bulk Configurator
prevents column deletion or rearrangement. Likewise, it prevents sheet deletion or
renaming.
Model (Checkout) Worksheet

The Model Worksheet displays available bulk-configured model data in a “Model” sheet
as shown in Figure 28a.

Model Object Model


Definition Parameters

Figure 28a. Model Worksheet

Model Class

Note that only objects corresponding to model classes supported by the Bulk
Configurator are imported. The model classes that are currently supported are AND,
DYNAMIC_DOUBLE, DYNAMIC_INTEGER, FCTGEN, GAUSSRAND, LATCH,
LEADLAG, MISCEQTN, OR, PID, RLIMIT, SELECT, STATIC_DOUBLE,
STATIC_INTEGER, SUM, SWITCH, TIMER and VALVE. High-fidelity DYNSIM
process models (HeatExchanger, Drum, Column, etc.) are not supported by the Bulk
Configurator, and do not appear in the model worksheet when opened. The “Send to
DSS” command does not overwrite the portion of the simulation containing model
classes not maintained by the Bulk Configurator.
Parameters

The parameter names for the model objects display at the top of the worksheet with
appropriate parameters for the model class in line with the highlighted cell. Selecting a
row with a different model class updates the header row with the appropriate set of
parameters. Only a subset of the complete model parameters display, those that are
typically modified in a tieback simulation. Reducing the parameter set to the minimum
eases configuration.

Figure 28b. Model Worksheet –N/A Parameters and Comments

The number of supported parameters for the different model classes differs. The
DYNAMIC_INTEGER for example, supports only one parameter (VALUE) while a
VALVE supports more. An unused column displays N/A in the corresponding header
cell. Send to DSS updates valid columns and ignores columns that display N/A.

Header cells include comments for clarity. Select and manipulate data using standard
Excel features, such as Conditional Filtering.

Parameter Input Dialog

Select a row in the “Model” sheet and right click on any cell to display “Parameter Input
Dialog” for the corresponding DSS model object from the context menu (Figure 29a).
The dialog populates its fields with values from the Excel cells. Edit values within the
sheet or from Input Parameter Dialog (updating data in one updates the data in the other,
Figure 29b).
Figure 29a. Parameter Input Dialog

Figure 29b. Parameter Input Dialog


Edit with the Parameter Input Dialog for manual configuration. Invalid values (e.g., out
of range value) are rejected. When opening the dialog, invalid Excel cell values display
an error in the dialog (a related error message displays in the Status Messages box). Upon
OK, the value(s) in the dialog write back to the Excel cell(s).

Some model parameters allow DSS equations / parameter references. Specify a numeric
value or an equation in such cases. Validation is not performed in the equation field and
may impact dynamic performance.

During rule configuration, the same dialog in the Rulebook appears for parameterization.
Unsupported model classes disable the menu option dialog launch.

Adding / Deleting Model Objects

Create model objects of supported model classes by inserting a new row in the Model
(Checkout) sheet and filling in the information. Delete model objects by deleting the row
in the Model (Checkout) sheet. Be sure to delete empty rows: when performing Send to
DSS, a blank line interprets as the end of the file: subsequent rows do not process.

Flowsheet

The flowsheet must exist in the DSS simulation to be valid. Create multiple flowsheets
in the DSS before opening the Bulk Configurator.

Non-existent flowsheet specification defaults the flowsheet value to the first flowsheet in
the DSS simulation. In addition, if a model object already exists in a flowsheet in the
DSS GUI, it cannot be moved to another flowsheet by changing the flowsheet name in
the Model (Checkout) sheet . The flowsheet name resets to the flowsheet containing the
original object. Move objects between flowsheets through the DSS interface.
Equation

Bulk Configurator rulebook output data populates the Equation field of the DSS
parameter irrespective of whether a numeric value or an equation is entered.

Figure 30. DSS Object Editor Viewer Value in Equation Field

Note: Processing model rows stops when a blank row is encountered. Subsequent rows
are ignored. Therefore, arrange model rows continuously without blank rows in
between.

Save

The user has the ability to save the workbook by selecting File / Save or by pressing the
“Save” button on the toolbar. The 'Save As' option is disabled intentionally to prevent
configuration file proliferation.

When the Bulk Configurator relaunches, either choose to re-initialize the sheets from the
DSS database or reuse the contents of the Excel file. Before proceeding verify the
launching simulation name matches expectations. If multiple simulations are
open in the DSS, the last simulation opened populates the Bulk Configurator.
After changing the simulation, Bulk Configurator copies the .xls file before over-
writing it (the location indicated via a pop-up message). During re-initialization,
the Bulk Configurator modifies only the XRef and Model (Checkout) sheet s; all
other Excel data are retained (charts, additional worksheets, drawings, etc.),
which may be useful in model configuration when linking cells in some other
Excel-based spreadsheet, like PRO/II™ software.

Send to DSS

Send to DSS regenerates the xml and cross-reference files and sends the updates to the
simulator. Any changes made in DSS while the Bulk Configurator is open are
overwritten. If the user makes a change in DSS (with the Bulk Configurator closed) and
subsequently opens the Bulk Configurator, the Bulk Configurator automatically picks the
DSS changes. Although the DSS GUI and Bulk Configurator can remain open
simultaneously, recommended workflow to avoid inadvertent conflicts follows these
steps:

1. From DSS, launch Bulk Configurator


2. Do not make any further changes to model through DSS while Bulk Configurator
is open
3. Make desired modeling changes within Bulk Configurator
4. When done, send to DSS
5. Close Bulk Configurator
6. Repeat as needed

Configure either within the Bulk Configurator or within the DSS GUI, but not both at the
same time.

Status Messages

Information, Warning, and Error messages display in the Status Message window, color
coded with Information (blue), Warning (orange) and Error (red). Review status
messages for warning and error details.

Figure 31. Status Messages


Messages are also displayed in Excel status bar.

Figure 32. Invalid Configuration

The Clear button removes accumulated messages.

Model Data View


The Model Data View contains the XRef (cross reference) and Model worksheets.

When the Model Data View radio button is selected, the Rulebook and Apply Rules
buttons become inactive and the Configure Model Data View, Rename Model Objects,
and Model Data View settings buttons become active. Before actually viewing models
under Model Data View, set up the model classes and parameters to view using the
“Configure Model Data View” button.

When the Configure Model Data View button is clicked, the “Configure Model Data
View” dialog pops-up displaying the DYNSIM Libraries tree view as shown in Figure
33. The tree structure consists of a list of Libraries, Models, Group and Parameters from
which the user can select the list of parameters to be shown in the Model sheet.
Figure 33. Configure Model Data View
After selecting the list of parameters the Model sheet appears as shown in Figure 34.

Figure 34. Bulk Configurator Worksheet in Model Data View

Configure Model Data View


Use this feature to specify which model objects appear under Model Data View and if the
Unit of Measure selection should be overwritten. Objects are broken down into
categories related to their library. For instance, objects available with a DYNSIM-C
license are grouped under Base Checkout Equipment. Within a library, individual objects
can be included or excluded. This file can be exported and shared or modified, as
needed.
Customize the models and parameters
By default, Model Data View displays parameters that likely require parameterization
and not every available parameter. The reason is that for most objects, the default
settings are adequate. To add a parameter that does not appear in the list, right click,
select Insert Parameter, and type the parameter name, as shown in Figure 35.

Figure 35. Customize Model and Parameter


On clicking the Insert Parameter, the Custom Parameter Form dialog appears as shown in
Figure 36.

Figure 36. Custom Parameter Form


Enter the Parameter Name, Description, Parameter Class, UOM Type and Unit of
Measure in the respective fields and click OK.
Import / Export Model Data View
“Import” the predefined view and “Export” the customized view through the Configure
Model Data View dialog. The Model Data View can be exported / imported only in xml
format.

Import
Import a predefined Model Data View by clicking on the Import button. Select the
desired xml file from the Import XML File window and click Open, as shown in Figure
37.

Figure 37. Import Dialog

Export
Export the customized Model Data View selection file by clicking on the Export button.
Select the customized Model Data View xml file from the Save dialog and click Save, as
shown in Figure 38.
Figure 38. Export Dialog

Restore Default View


Restore the original Model Data View before making changes to the Model sheet by
clicking the Restore Default View button.

Global UOM slate for Model Data View


Select the desired global UOM slate for the complete Model Data View from the drop-
down menu, which updates all parameters with the global UOM.

Rename Model Objects


Globally rename the objects in bulk or individually using the Rename Model Objects
button. When changing an object name, the Bulk Configurator locates all references
located within the simulation, such as the cross reference list, inputs or outputs to other
objects or equations, object references or inputs to widgets, and snapshots.

To rename the model objects globally, enter the new model name in the New Model
Name field and click Rename Model Objects button. The current Model object is
replaced with the new model name.
Figure 39. Rename Model Objects

Note: Renaming will work only on the ICs stored in the local machine where the
BulkConfigurator is running. Before renaming, user collects all his ICs on to his local
machine by using the “Collect” feature in the DYNSIM application. After renaming, user
should redistribute the ICs. Renaming model objects will not work for text based ICs.

Model Data View settings


Most objects contain a set of shared parameter names, such as Value, UOM, or
Assignment. When viewed through Model Data View, those parameters do not
universally align in a single column heading. In order to limit the data viewed through
Bulk Configurator, users can optionally hide or show specific parameters through Model
Data View settings. On clicking the Model Data View settings button a dialog pops-up
displaying the parameter columns. Select / unselect the parameter columns to hide /
unhide.

Figure 40. Model Data View settings


Model Data View Navigation Features
Within the Model Data View, Bulk Configurator includes additional custom features to
facilitate object parameterization. These features are discussed below.

Convert UOM
The Convert UOM option enables the user to change/convert the default units to the
desired units. The Convert UOM dialog appears by right-clicking on the UOM cell that
contains an existing UOM (i.e., MISSING UOM is not valid) and by selecting the
change/convert Units menu. Select the desired UOM and click Change Units or Convert
Value button. Select the Long Descriptions checkbox to display the long descriptions of
UOM.

Figure 41. Convert / Change Units

Custom Column Views


A column is a special case and contains several vector parameters whose size is
dependent on the number of stages. Unlike other vector parameters, the column vector
parameters are displayed in rows. This mode of display is more convenient for the user to
have all stage wise data in one column.

Figure 42. OEV Display of TOWER temperature data at different stages


Figure 43. Bulk Configurator display of TOWER temperature data at different
stages
The column/tower also has sections and many vector parameters that are of the size
equivalent to number of sections. Bulk Configurator segregates all the vector parameters
of section and displays it row wise, which reduces the display of number of columns.

Figure 44. OEV display of TOWER -Spacing data at different sections

Figure 45. Bulk Configurator Display of TOWER Spacing data at different sections

Similarly, composition at various stages / plates is conveniently displayed ROW wise.


Figure 46. OEV display of TOWER - composition data at different stages

Figure 47. Bulk Configurator display of TOWER composition data at different


stages
Note: The following index parameters for TOWER model are not displayed on Model
worksheet: STAGEIDX, STAGEIDX2, STAGEIDX3, STAGEIDXSUMP
Flash001.SolidIDX and SumpFlash.SolidIDX.
Static, Dynamic and States Data
The Bulk Configurator displays all the STATIC data including the Default Data. This
data is obtained from DYNSIM Edit Engine. It also displays the parameter values when
the Simulation is in FROZEN state, Backtrack State etc. These values are similar to the
Value column, which can be seen in the actual DYNSIM OEV. Note that the data is not
live – it does not update continually – but it does represent a snapshot at a point in time,
similar to restoring an IC and remaining in frozen mode.

Validate Data

The Bulk Configurator validates DYNSIM Parameter naming conventions at the Unit-
Operation level. The error message box displays in a Status Message box and highlights
in red under Status Messages.

The tool does not provide validation of the model parameter values. Care should be taken
to provide valid DYNSIM data.

Figure 48. Validate Data Message Box


The user can view the Status Messages box, after selecting OK, for more information on
the error messages as shown in Figure 49.

Figure 49. Error Messages on Status Message Box

Status Messages
The Information, Warning, and Error messages are displayed in the Status Message
window (Figure 49 above). The messages are color coded as – Information (blue),
Warning (orange) and Error (red). View the status messages for more details on the errors
messages. The Clear button removes accumulated messages in the ‘Status Messages’
window.
Tieback Simulation Model Classes

Appendix A: Tieback Simulation Model Classes


(Checkout View)
This section describes the various model classes available within the Bulk Configurator
through Checkout View. Each class is organized by name, what it does, available
parameters, and example usage. The same or similar-type tieback model can be created
many different ways, according to the preference of the control engineer. The reader
should carefully review the all examples to get an idea of alternate approaches to building
models, as well how to handle special situations (like selectively overwriting or
protecting previously created models).

DYNAMIC_DOUBLE
Type: General Purpose Double Precision Variable

Parameters:

Parameter Value Description


VALUE[0] Any real number Variable value

Example Use: Point to stimulate an Analog Input:

Field I/A

FLOW TRANSMITTER
1CST:FI049.POINT FT049 (0 TO 550 GPM)

FT049 AIN

Example Rulebook Entry:


Tieback Simulation Model Classes

Note: A Dynamic point value updates while the simulation runs. Either change the
value via the Monitor Tab, directly on the flowsheet, or add a slider bar widget
(see Figure).

Slider Bar
Widget

Monitor
The value is saved and restored with Snapshots. For a constant, use a
STATIC_DOUBLE model point.

STATIC_DOUBLE

Type: General Purpose Double Precision Constant, or Table Array

Parameters:

Parameter Value Description


ISFUNCTABLE TRUE/FALSE TRUE implies table-lookup array (see
FCTNGEN description). FALSE implies single
dynamic (i.e. variable) double precision number
VALUE[0] Any FP number
VALUE[1] Any FP number Only used for a table array
VALUE[2] Any FP number Only used for a table array
VALUE[3] Any FP number Only used for a table array
VALUE[4] Any FP number Only used for a table array
VALUE[5] Any FP number Only used for a table array
VALUE[6] Any FP number Only used for a table array
VALUE[7] Any FP number Only used for a table array
VALUE[8] Any FP number Only used for a table array
VALUE[9] Any FP number Only used for a table array
Tieback Simulation Model Classes

Example Use: Lookup Table Array

15

10
-25 15 25

-15

Parameter Value Description


ISFUNCTABLE TRUE X-Y Table Array
VALUE[0] 5 Number of X-Y Pairs
VALUE[1] 0 (not used)
VALUE[2] -100000 1st Pair X Value
VALUE[3] -15 1st Pair y Value
VALUE[4] -25 2nd Pair X Value
VALUE[5] -15 2nd Pair Y Value
VALUE[6] 15 3rd Pair X Value
VALUE[7] 10 3rd Pair Y Value
VALUE[8] 25 4th Pair X Value
VALUE[9] 15 4th Pair Y Value
VALUE[10] 100000 5th Pair X Value
VALUE[11] 15 5th Pair Y Value

Note: Use with FCTGEN block. If the X lookup value exceeds 100000 in the example
above, the value clamps to the last Y value in the table (i.e. the table lookup does
not extrapolate). Similarly, if lookup falls below -100000, the output clips.

Example Rulebook Entry:

Enter an array directly into the Model flowsheet or, alternatively, add it in the DSS GUI.
Tieback Simulation Model Classes

DYNAMIC_INTEGER

Type: General Purpose Integer Variable

Parameters:

Parameter Value Description


VALUE Any positive or
negative integer,
or zero

Example Use: Motor Run Command/Feedback Status


I/A Field I/A

1MCC:XU6P13.COUT 1MCC:XU6P13_M.CIN

MOTOR
6P13 COUT XU6P13M CIN
RUN
COMMAND

Parameterization:

Parameter Value Description


VALUE Assigned in Cross Reference table for both
output and input

Example Rulebook Entry:

Note: In this example, the control system Digital Output writes to the
DYNAMIC_INTEGER, which in turn writes back to the Digital Input. The user
may observe the value of the point from the Monitor tab but does not alter the
value, except through Cross Reference I/O Override utility (accessed from the
Cross Reference tool from the user interface).
Tieback Simulation Model Classes

STATIC_INTEGER

Type: General Purpose Integer Constant

Parameters:

Parameter Value Description


VALUE Any positive or
negative integer,
or zero

Example Use: Local/Remote Interlock Status

1CST:PB1_LOCAL.FBCIM
MOTOR
LOCAL/REMOTE
PB1_LOC CIN STATUS (1=REMOTE)

Parameterization:

Parameter Value Description


VALUE 1 Always Remote Status

Example Rulebook Entry:

Note: The value of this static integer remains at 1, and the Digital Input remains true.
The user cannot change the value of this point (except by overriding the I/O point
in the cross reference table).
Tieback Simulation Model Classes

LATCH

Type: Set/Reset Latching Block (“flip-flop”)

Parameters:

Parameter Value Description


SET 0/1 Set latch
RESET 0/1 Reset latch
SET_DOM SET_PRIORITY/ Set/Reset Dominance (if both signals are true,
RESET_PRIORITY which dominates – default = reset dominant)
MA 0/1 Man/Auto
OUT 0/1 Output
OUTR 1/0 Inverse Output

Example Use: Motor Run Start/Stop Command with Feedback Status


I/A Field I/A

1MCC:XU6P13ST.COUT XU6P13M 1MCC:XU6P13_M.CIN

MOTOR
6P13 COUT LATCH CIN
START
COMMAND
1MCC:XU6P13SP.COUT
MOTOR
6P13 COUT
STOP
COMMAND

Parameterization:

Parameter Value Description


SET Leave blank (connected in cross reference)
RESET Leave blank (connected in cross reference)

Example Rulebook Entry:

Note: The first rule defines the latch block, connects the SET (i.e. Start command)
parameter, and feeds back the latch output status OUT to the running status
feedback. The second rule connects the stop command to the RESET parameter.
Tieback Simulation Model Classes

AND, OR

Type: Logic Blocks, with four inputs

Parameters:

Parameter Value Description


INP[0] 0/1 First input
INP[1] 0/1 Second input
INP[2] 0/1 Third input
INP[3] 0/1 Fourth input
INV_INP[0] 0/1 Invert first input
INV_INP[1] 0/1 Invert second input
INV_INP[2] 0/1 Invert third input
INV_INP[3] 0/1 Invert fourth input
MA 0/1 Man/Auto
OUT 0/1 Output

Example Use: Fan run command with Local Lockout


I/A Field I/A

1PHFAN:XUPHF.COUT 1PHFAN:XUPHF_M.CIN
XUPHF
PENTHOUSE
FAN RUN COUT AND CIN
COMMAND

1PHFAN:XUPHFLO.COUT
PENTHOUSE
FAN LOCAL COUT
LOCKOUT

Parameterization:

Parameter Value Description


INP[0] Leave blank (set in cross reference)
INP[1] Leave blank (set in cross reference)
INP[2] Unused
INP[3] Unused
INV_INP[0] 0 Default
INV_INP[1] 1 Invert local lockout
INV_INP[2] Unused
INV_INP[3] Unused
Tieback Simulation Model Classes

Example Rulebook Entry:

Note: The AND block feeds back running status if Run Command is true and Local
Lockout is not true.

FCTGEN

Type: Function Generator

Parameters:

Parameter Value Description


IN Any FP number Input x-coordinate to interpolate
TABLE DYNAMIC_DOUBLE[0] Name of table array previously defined
(see DYNAMIC_DOUBLE)
HI_OUT Any FP number High output limit
LO_OUT Any FP number Low output limit
MA 0, 1 Man/Auto
MANSET Any FP number Value of output when in Manual
OUT Any FP number Output value
HI_LIM 0, 1 Flag to indicate high limit reached
LO_LIM 0, 1 Flag to indicate low limit reached

Example Use: Temperature as a function of Pressure

Field I/A

PRESS_VS_TEMP
1HC:PI512.POINT

PT512 AIN Hydrocarbon Pressure

F(x) AIN Hydrocarbon Temperature

TT512 1HC:TI512.POINT
Tieback Simulation Model Classes

Parameterization:

Parameter Value Description


IN PT512 Pressure variable
TABLE PRESS_VS_TEMP[0] Table array that relates temperature vs.
pressure
HI_OUT (optional, can leave blank)
LO_OUT
MA
MANSET
OUT Assigned in Cross Reference table
HI_LIM
LO_LIM

Note: In this example, the user sets the value of PT512. The corresponding temperature
feedback depends on the table look up using this value. See STATIC_DOUBLE
to configure table array.

Example Rulebook Entry:

Enter a function generator directly into the Model flowsheet or add it in the DSS GUI.

RLIMIT

Type: Rate Limit Block.

Parameters:

Parameter Value Description


IN Any FP Input value or point to be rate-limited
RTYPE LINEAR, Rate limit type: linear or first-order lag
FIRST_ORDER
RATE Any FP >= 0.0 Ramp rate, in Units/second. If RTYPE =
FIRST_ORDER, then RATE is first-order
lag time constant Tau (steady-state reached
in approximately 3 * Tau)
K_IN Any FP or point Scalar on input value
B_IN Any FP or point Bias on input value
HI_OUT Any FP or point High output limit
LO_OUT Any FP or point Low output limit
MA 0, 1 or integer point Man/Auto status
MANSET Any FP or point Value of output when in Manual
OUT Any FP Output value
HI_LIM 0, 1 Flag to indicate high limit reached
LO_LIM 0, 1 Flag to indicate low limit reached
Tieback Simulation Model Classes

Example Use #1: Control Valve with open and closed limit switch feedback
I/A Field I/A

1FP:ZSC224.CIN
1FP:FY224.OUT FV224
CIN CLOSED LIMIT SWITCH
LO_LIM
AOUT IN RLIMIT
HI_LIM
CIN OPEN LIMIT SWITCH

1FP:ZSO224.CIN

Parameterization:

Parameter Value Description


IN Assigned in Cross Reference table
RTYPE LINEAR Linear rate limit
RATE 5 5%/second; full travel in 20 seconds
K_IN Scalar on input value
B_IN Bias on input value
HI_OUT 100 High output limit when output reaches 100%
LO_OUT 0 Low output limit when output reaches 0%

Example #1 Rulebook Entry:

Note: This example illustrates the power of the rulebook and its ability to create a model
and connect several I/O points at the same time.

Interpret the first line as follows: for all flow control valves FY*, create a rate limit block
and call it FV*.

In the second and third lines, the algorithm searches for the same flow control, but
“overwrite” is set to XRef only, which does not redefine the rate limit block created in
the first line, but connects the Low and High Limit outputs of the (already created) rate
limit block to the Closed and Open Limit Switch digital inputs, respectively. Ensure loop
identifier consistency (224 in this example in the figure above) for all three I/O points.
Tieback Simulation Model Classes

Setting HI_OUT = 100 and LO_OUT = 0 causes the block output flags to trigger when
OUT = 100% and 0%, respectively. If the limit switches trigger before the valve shuts
tight or wide-open, then set the limit settings inside the range, 2% and 98%, for example.

Example Use #2: Flow/Pressure/Temperature Control Valve with Analog Feedback


I/A Field I/A

1FP:FY224.OUT 1FP:FI224.POINT
FV224
Flow
Control
AOUT IN RLIMIT Flow: 0 to 225 GPM
Valve, OUT AIN
0-100%

Parameterization:

Parameter Value Description


IN Assigned in Cross Reference table
RTYPE FIRST_ORDER_LAG Response with first order lag
RATE 3 3 second time constant (approx 9 seconds to
steady-state)
K_IN Scalar on input value
B_IN Bias on input value
HI_OUT (leave blank – auto scaling will handle – see
Note)
LO_OUT (leave blank – auto scaling will handle –
See Note)
Tieback Simulation Model Classes

Example #2 Rulebook Entry:

Note: In this example, the “XRef Auto Scale” checkbox is ticked. This selection
automatically scales the feedback to the Analog Input such that 0% input equates
to the AIN’s LSCALE parameter, and 100% equates to HSCALE (MIN SCALE
and MAX SCALE in the Cross Reference table). This functionality is achieved
by automatically creating an equation entry in the table, rather than pasting into
the FROM SYMBOL column:

The auto scaling equals:

MIN SCALE + VALUE (0-100%)*(MAX SCALE – MIN SCALE) / 100

The user can make custom equations in the cross reference table, however, only include
one entry in the FROM SYMBOL column or the EQUATION column, not both (which
causes a run time error message when attempting to load the cross reference table).

Example Use #3: Same as Example #2, except engineer desires to calculate
Engineering Units instead of auto scaling. When the valve reaches 80% open, the rated
flow measures 200 GPM

Parameterization:

Parameter Value Description


IN Assigned in Cross Reference table
RTYPE FIRST_ORDER Response with first order lag
RATE 3 3 second time constant (approx 9 seconds to
steady-state)
K_IN 2.5 Scalar on input value
B_IN 0 Bias on input value
HI_OUT 250
LO_OUT 0
Tieback Simulation Model Classes

The XRef Auto Scale checkbox should not be ticked, and instead the user should specify
K_IN and B_IN to give the desired rated flow:

K_IN = 200GPM / 80% (rated flow)


B_IN = 0 (no flow for closed valve)

Example #3 Rulebook Entry:

It is not strictly necessary to specify HI_OUT and LO_OUT, as signal limiting also
occurs in the cross reference table (signal limited to a maximum of 225 GPM).

Example Use #4: Jog Valve


I/A Field I/A

1FP:XS301R.COUT 1FP:ZSC301.CIN
VALVE 301 V301
RAISE COUT
CIN CLOSED LIMIT SWITCH
V301R LO_LIM
RLIMIT
LOWER
COUT V301L HI_LIM
CIN OPEN LIMIT SWITCH

1FP:XS301L.COUT
1FP:ZSO301.CIN

Parameterization:

Parameter Value Description


IN (see Note below) Assigned in Cross Reference table
RTYPE LINEAR Linear rate limit
RATE 5 5%/second; full travel in 20 seconds
K_IN Scalar on input value
B_IN Bias on input value
HI_OUT 100 High output limit when output reaches 100%
LO_OUT 0 Low output limit when output reaches 0%
Tieback Simulation Model Classes

Example #4 Rulebook Entry:

Note: In this two-step model, Open and Close command points are bulk-created and an
equation simulates a jog valve in the Rate Limit block. The syntax of the equation
follows:

V301.IN = IF(V301R = 1, 100, IF(V301L = 1, 0, V301.OUT))

Translating to:

“If Raise Command is true, then rate limit input is 100%, else if Lower Command
is true, then rate limit input is 0%, else input = current position.”

Equation syntax is very powerful and many types of models can be economically-
created. See standard DSS documentation for MISCEQTN to find more
information on valid equation syntax.

PID

Type: General Proportional plus Integral plus Derivative Math Block (uses PID control
algorithm)

Parameters:

Parameter Value Description


SP Any FP, point Setpoint
PV Any FP, point Process Variable
KP Any FP Proportional Gain
KI Any FP Integral Gain
KD Any FP Derivative Gain
HI_OUT Any FP High output limit
LO_OUT Any FP Low output limit
MA 0, 1 or integer point Man/Auto status
MANSET Any FP or point Value of output when in Manual
OUT Any FP Output value
HI_LIM 0, 1 Flag to indicate high limit reached
LO_LIM 0, 1 Flag to indicate low limit reached
Tieback Simulation Model Classes

Algorithm:

Error = SP – PV
Proportional = Kp * Error
d/dt Integral = Kp * Ki * Error
d/dt Deriv = PV – Deriv / (Period + 1/Kd)
Derivative = Kp * Kd *(PV – Deriv)
Out = Proportional + Integral + Derivative

Example Use #1: Tank with Level Control Valve and Pumps

Parameterization:

Parameter Value Description


SP Connected to Level Control valve output in
Cross Reference table (0 – 100%)
PV 45 * (XU5P57A + Flow out tank = 45% * Pump A and/or B
XU5P57B) run status (90% maximum)
KP Leave blank for integral-only action
KI 0.01 Adjust to obtain desired fill/drain rate
KD Derivative Gain
HI_OUT 100 High output limit
LO_OUT 0 Low output limit
Tieback Simulation Model Classes

Example#1 Rulebook Entry

Note: This example is another illustration of models combination, as well as an example


of an equation in a parameter field. The first line in the rulebook defines the
tieback model for motors (as previously described in the example for
DYNAMIC_INTEGER. The second line defines the tank model. The level
control valve LY5T27 “fills” this tank and the pump motor status XU5P27A and B
define the “drain:”

OUT = KI * (SP – PV)


or
LEVEL = KI * (LY5T27 – 45*(XU5P27A + XU5P27B))

The equation for PV in the rulebook contains a ‘#’ character; which is necessary
to tell the rules processing to paste in substitute strings, rather than a literal paste
(i.e. $2 is pasted literally). After processing, here is what the PID model entry
looks like in the Model worksheet:

Example Use #2: Same as above, but suppose that the level control valve is in one
control compound and the tank level indication is in another:

Level control valve I/O point: 5TH02_MUDWSH:LY5T57.OUT


different compounds, same loop ID

Tank level indication I/O point: 5T57_MUDWSH:LI5T57.POINT


Tieback Simulation Model Classes

If the rulebook entry in Example #1 above was used as-is, the output from the tank model
would not be entered in the cross reference table, since the analog input is in a different
compound from the analog output. To remedy this limitation, add another entry:

Note the following:

Rule #2: removed “Control In Tag” (because the tag is in a different compound – the rule
would be unsuccessful for tying back the analog input because it wouldn’t be found).

Rule #3: moved the “Control In Tag” here from Rule 2, and “Filter using In Tag” is
checked.

Rule #3: Model Name repeated from Rule 2, however “Overwrite” is set to “XRef” in
Rule 3. This algorithm means that the model object defined by Rule 2 is not overwritten,
but its output is used to tie back to the analog input.

SUM

Type: Sums two signals. Each input signal can be scaled.

Parameters:

Parameter Value Description


IN[0] Any FP, point First input
IN[1] Any FP, point Second input
K_IN[0] Any FP Scalar on first input
K_IN[1] Any FP Scalar on second input
B_IN[0] Any FP Bias on first input
B_IN[1] Any FP Bias on second input
HI_OUT Any FP High output limit
LO_OUT Any FP Low output limit
MA 0, 1 or integer point Man/Auto status
MANSET Any FP or point Value of output when in Manual
OUT Any FP Output value
HI_LIM 0, 1 Flag to indicate high limit reached
LO_LIM 0, 1 Flag to indicate low limit reached
Tieback Simulation Model Classes

Example: Split Range Control Valves and Flow Feedback

I/A Field I/A

FT224

1FP:FY224A.OUT 1FP:FI224.POINT
IN[0] SUM OUT
Flow
Control
AOUT IN[1] AIN Flow: 0 to 500 GPM
Valve A,
0-100% 1FP:FY224B.OUT
Flow
Control
Valve B, AOUT
0-100%

Parameterization:

Parameter Value Description


IN[0] Leave blank – connected in cross reference
table
IN[1] Leave blank – connected in cross reference
table
K_IN[0] 0.25 1st valve 25% of capacity (small valve)
K_IN[1] 0.75 2nd valve 75% of capacity (big valve)
B_IN[0] Leave blank (=0)
B_IN[1] Leave blank (=0)

Example Rulebook Entry

Note: This model is configured with two rules: the first to define the SUM block and
connect the “A” valve, the second to connect the “B” valve. The first rule also
connects to the single flow transmitter feedback. In Rule 2 that “Overwrite” is set
to “XRef;” this ensures that the model defined in Rule 1 is not overwritten; only
the cross reference entries are connected. The “XRef Auto Scale” is selected so
that 0 – 100% on the input automatically scales to high and low scale engineering
units of the analog input.

TIMER

Type: Time delay on, time delay off, pulse timer


Tieback Simulation Model Classes

Parameters:

Parameter Value Description


START 0,1 Start timer
PRESET Any FP Timer setting (seconds)
TYPE PULSE Type of timer
EXTENDED PULSE
ON DELAY
STORED ON
DELAY
OFF DELAY
MA 0,1 Man/Auto
OUT 0,1 Timer output
ACCUM FP Stored timing value
TIMING 0,1 Timing in progress

The various types of timers are illustrated by the figures below:


Tieback Simulation Model Classes
Tieback Simulation Model Classes

Example: Igniter Insert

I/A Field I/A

5IGN:IGNA1_INS.COUT IGNA1 5IGN:IGNA1_TRV.COUT

Insert Igniter
COUT TIMER CIN
Igniter Inserting

Off-delay
Tieback Simulation Model Classes

Parameterization:

Parameter Value Description


START Leave blank – connected in cross reference
table
PRESET 10 Igniter takes 10 seconds to insert
TYPE OFF_DELAY Inserting signal stops 10 seconds after
Insert signal is false

Example Rulebook Entry

LEADLAG

Type: Process Lead/Lag

Parameters:

Parameter Value Description


IN Any FP, point Process input
KLAG Any FP, point Lag time constant
KLEAD Any FP Lead time constant
K_IN Any FP Scalar on input
B_IN Any FP Bias on input
HI_OUT Any FP High output limit
LO_OUT Any FP Low output limit
MA 0, 1 Man/Auto status
MANSET Any FP or point Value of output when in Manual
OUT Any FP Output value
HI_LIM 0, 1 Flag to indicate high limit reached
LO_LIM 0, 1 Flag to indicate low limit reached
Tieback Simulation Model Classes

Example: Pressure Control Valve

I/A Field I/A

5E01:PY5E01.OUT PTE01 5E01:PI5E01.OUT

VESSEL VESSEL
E01 AOUT LEADLAG AIN E01
PRESSURE PRESSURE
CONTROL

Parameterization:

Parameter Value Description


IN Leave blank, will be connected in cross
reference table
KLAG 10 10 second time constant (reaches steady-state
in approximately 30 seconds)
KLEAD Not used

Example Rulebook Entry


Tieback Simulation Model Classes
Tieback Simulation Model Classes

MISCEQTN

Type: General purpose miscellaneous equation block

Parameters:

Parameter Value Description


OUT[0] Equation Any valid DYNSIM equation
OUT[1]
OUT[2]
OUT[3]
OUT[4]
OUT[5]
OUT[6]
OUT[7]
OUT[8]
OUT[9]
OUT[10]
OUT[11]

The MISCEQTN equation syntax is identical to the Microsoft Excel application. The
following types of operations are supported:

Operator Description Operator Argument Priority # of Example


Specified Style Operands
First Operands
+ Plus No No 3 2 Var1 + Var2
- Minus No No 3 2 Var1 - Var2
x Multiply No No 2 2 Var1 x Var2
/ Divide No No 2 2 Var1 / Var2
- Negative Yes No 1 1 - Var1
^ Power No No 1 2 Var1 ^ Var2
& And (result is No No 4 2 Var1 & Var2
1.0 if both
are not 0.0)
| Or (result is No No 4 2 Var1 | Var2
1.0 if either
is not 0.0)
> greater than No No 4 2 Var1 > Var2
< less than No No 4 2 Var1 < Var2
== Equal to No No 4 2 Var1 == Var2
! Not (inverse Yes No 1 1 ! Var1
Tieback Simulation Model Classes

Operator Description Operator Argument Priority # of Example


Specified Style Operands
First Operands
logical)
EQFF Equivalent Yes Yes 1 2 eqff(Var1,
flow Var2)
coefficients
in series
CINTRP Function Yes Yes 1 2 cintrp1(Var1,
1 generator Tab1)
LIM01 Limits Yes Yes 1 1 lim01(Var1)
between 0.0
and 1.0
LIMV Limits Yes Yes 1 3 limv(Var1, Min,
between Max)
minimum
and
maximum
MAX maximum of Yes Yes 1 2 max(Var1,
2 values Var2)
MIN minimum of Yes Yes 1 2 min(Var1,
2 values Var2)
ABS absolute Yes Yes 1 1 abs(Var1)
value
RAND random noise Yes Yes 1 2 rand(Amp,
Period)
IF if statement Yes Yes 1 3 if(condition,
true value, false
value)
SIN Sine Yes Yes 1 1 sin(var1)
COS Cosine Yes Yes 1 1 cos(var1)
TAN Tangent Yes Yes 1 1 tan(var1)
ASIN Arc sine Yes Yes 1 1 asin(var1)
ACOS Arc cosine Yes Yes 1 1 acos(var1)
ATAN Arc tangent Yes Yes 1 1 atan(var1)
EXP Exponential, Yes Yes 1 1 exp(var1)
base e
LOG Natural Yes Yes 1 1 log(var1)
logarithm
(base e),
argument
must be
greater than
0
LOG10 Base 10 Yes Yes 1 1 Log10(var1)
logarithm,
Tieback Simulation Model Classes

Operator Description Operator Argument Priority # of Example


Specified Style Operands
First Operands
argument
must be
greater than
0
SQRT Square root, Yes Yes 1 1 sqrt(var1)
argument
must be non-
negative
H_PTX1 Enthalpy Yes Yes 1 4 h_ptx(fluid
f(fluid type, type, pressure,
pressure, temperature,
temperature, quality)
quality)
R_PH1 Density Yes Yes 1 3 r_ph(fluid type,
f(fluid type, pressure,
pressure, enthalpy)
enthalpy)
S_PH1 Entropy Yes Yes 1 3 S_ph(fluid type,
f(fluid type, pressure,
pressure, enthalpy)
enthalpy)
T_PH1 Temperature Yes Yes 1 3 t_ph(fluid type,
f(fluid type, pressure,
pressure, enthalpy)
enthalpy)
1
These equation types are valid only with the Power Industry Libraries.

The operands of equations and arguments of operators can be constants or valid DYNSIM
point names. For example, a MAX equation can be of the form MAX(2.,3.) or
MAX(2.,HDR1.P). In this second example HDR1.P might be the pressure of a header
object named HDR1.

Some of the operators need some additional discussion is provided below.

EQFF

EQFF is an operator for combining flow coefficients of resistances in series in a flow


path. If two resistances, K1 and K2, are in series in a flow path, the equivalent resistance
can be calculated from the equation:
K1 × K 2
EQFF =
K12 + K 2 2
Tieback Simulation Model Classes

CINTRP1

CINTRP1 is used for linear interpolation of a monotonic function. The first argument is
the independent variable used in the interpolation. The second argument is the zero’th
element of an DYNSIM vector point to be used for interpolation. The DYNSIM point
array elements must be in the following format

Element 0 = number of x/y pairs in the table


Element 1 = dummy place holder – just initialize to zero
Element 2 = first x value
Element 3 = first y value
Element 4 = second x value
Element 5 = second y value

As an example consider a table with 3 x/y pairs (x1 = 100, y1 = 175, x2 = 200, y2 = 225,
x3 = 300, y3 = 275) that we need to use for linearly interpolating. We will use the vector
point ETABLE to hold the table for use with the CINTRP1 operator. The elements of
ETABLE would then be:

ETABLE[0] = 3
ETABLE[1] = 0
ETABLE[2] = 100
ETABLE[3] = 175
ETABLE[4] = 200
ETABLE[5] = 225
ETABLE[6] = 300
ETABLE[7] = 275

ETABLE can then be used in a CINTRP1 equation such as

CINTRP1(237.,ETABLE[0])

The table provided to CINTRP1 must be monotonic.

H_PTX, R_PH, T_PH, S_PH

These functions are used to get fluid properties at a given thermodynamic condition using
the Power Industry Library fluid types. They cannot access the SIM4ME™ Portal
Thermodynamics methods. H_PTX returns the enthalpy at a given pressure, temperature
and vapor quality. R_PH returns the density and a given pressure and enthalpy. T_PH
returns the temperature at a given pressure and enthalpy. S_PH returns the entropy at a
given pressure and enthalpy. In all cases the fluid type must be specified by the integer
value for that fluid type. The pressure, temperature, quality and enthalpy arguments can
be entered as constants or valid DYNSIM point names.
Tieback Simulation Model Classes

Custom for OTS Engineers

Type: User defined

Parameters: None

Purpose: The model classes and input parameters that an OTS engineer typically uses
are different than the model classes available in the Bulk Configurator. For this reason
the “Custom” model option is provided to allow the OTS engineer to use the rulebook to
bulk-generate cross reference table entries to models he or she has already created. Since
the OTS engineer has already created the detailed plant models via the DSS user
interface, no models will be bulk-created when the "Custom" rule is applied).

The Model Engine combo box in the rulebook will contain an additional item called
“Any” and will be in italic font. The purpose of this selection is to save the user from
having to figure out which model engine and/or flowsheet contains an existing DSS
model object instance (e.g. "PUMP: P123" contained in "DYNSIM2" model engine
located on flowsheet "Water System").When “Any” is selected the Bulk Configurator
will automatically fill in the cross reference "To Engine" or "From Engine" fields with
the correct model engine for the referenced DYNSIM model name and parameter name.

Because the Custom Rulebook entry does not create new models, an error will occur if
there is no model object instance to match the supplied regular expression. When this
occurs, the offending rows will be highlighted red in the cross reference table, and will
not be processed upon "Send to DSS." A message detailing the row and model name will
be output to the status window for each row the error occurred on, and the message box
will display a warning to alert the user.

The user can input Model In Param and Model Out Param fields of his choice and may
even choose to leave them blank.

Example Rulebook Entry


Appendix B: Using Regular Expressions with the
Tieback Simulation (Checkout View)

A regular expression is a set of pattern matching rules based on string syntax used widely
with many text editors and formal computer languages to parse text for copy, paste,
replace, or to generate input and output data in a formal programming language.
Programmers have employed regular expressions for decades and have created
standardized set of symbols defining the syntax. This appendix is not intended to serve
as a full-fledged reference but rather to get the user up and running quickly in using the
Bulk Configurator.

Users are encouraged to refer to the numerous online resources and books that are
available on regular expressions for better understanding.

Regular Expression
A regular expression (aka regex or regexp) is a special way of specifying search patterns.
A simple example of a search pattern is *.doc or *.xls to search for files in Windows
Explorer. Another example is the Find and Replace (using wild cards) feature in
Microsoft Word.

Regular expressions enable us to perform searches within a given text block. They can be
used to match strings in a text block, validate data based on specific character sequences,
and to form new text strings by replacement. The regex equivalents of the above
examples are .*\.doc$ and .*\.xls$ respectively.

.NET Regular Expressions


Regular expressions are supported by several languages and tools such as Perl®
programming language, Java® programming language, the Microsoft .NET® languages,
awk, the UNIX® grep tool, etc. Though the exact syntax and supported features could
vary among the different languages, for practical purposes, the syntax is quite similar.

For a comparison of the different flavors, refer to:

• http://www.regular-expressions.info/refflavors.html

The Bulk Configurator was developed using Microsoft .NET language and therefore uses
the .NET regular expression engine and its syntax.

Starter Syntax Examples


In the Bulk Configurator Rulebook, a rule specification includes:
1. A ‘search’ regular expression to search for an input or output tag matching a
certain pattern
2. A ‘replace’ regular expression to generate a model name by replacing parts of
the matched tag
3. A ‘replace’ regular expression to determine the other tag name that needs to
be connected back to the tag in (1) to complete the tieback.

Therefore a basic knowledge of both search and replace syntax is essential.

A few basic syntax examples are listed below. Please refer to section Regular Expression
Basic Syntax Reference in this document for a more detailed reference.

Search Syntax

• The characters [\^$.|?*+(){}have special meaning in regular expressions. All


other characters (alphabets, numerals, other special characters) match a single
instance of themselves.
• The character . (dot) means, “match any character”.
• The character * means, “match the previous character zero or more times”.
• Combining the above two, .* means, “match any character zero or more times”. .*
is the regex equivalent of the wildcard * in Windows Explorer search.

Similarly, a* means “match the character a zero or more times” and would match
with abc, baac, bcaaa but not with bcd.

ab*c would match with abc, fabdcg but not with fbbc.

• A backslash \ in front of any of the above special characters suppresses their


special meaning.

\. means “match the character .”.

.*\. would match with a.c, d123.f but not with abcd

• The character ? means, “the previous character is optional”. abc1?d will match with
abcd and abc1d but not with abc11d (1 is optional, i.e., either zero or one 1 but not
more).
• Instead of using the . which would match with any character, one could use \w or
\d to customize the search

\w means, “match with a letter or digit or _”.


\d means, “match with a digit”.
\w* would match with abc, 12_345 but not with a!bc. \d* would match with 123
but not with abc or ab!c.

Negated versions of these are also available. Refer to Regular Expression Basic
Syntax Reference.

• […] matches any single character between the square brackets.

a[123]b matches with a1b, a2b but not with abb or a11b.
a[\d]b matches with a1b, a2b, …, a9b but not with aab and abb.
a[\d]*b matches with a1b, a12b and a111b

• ^ means, “start of string”.

^ab matches with abcd but not with cabcd.

• ^ immediately after [ has a different meaning. [^…] matches any single character
not between the square brackets.

a[^1]b matches with a2b but not with a1b

• $ means, “end of string”.

abc$ matches with abc, 123abc but not with 123abc456.

• {n} means, “match the previous character exactly n times”.

ab{2}c matches with abbc and 123abbc456 but not with abbbc.

• (…) is used to specify grouping and is useful in building a replace regular


expression.
Regex Replace
A “search” regular expression and a “replace” regular expression could be used in
combination to first match a string and then form a different string by replacement.

The (…)is quite useful for this purpose. As mentioned earlier, it is used to specify
grouping. The string $1, $2, etc., is used to indicate the subgroups to use in the
replacement.

After
Search Syntax Matches Replace Syntax Replacement
FI FIxy XT XTxy
abcFIxyFIde XT abcXTxyXTde
FI(.*) FIxy XT XT
FIxy XT$1 XTxy
abcFIxy XT abcXT
abcFIxy XT$1 abcXTxy
(.*)FI(.*) aFIxy XT$1 XTa
abcFIba $1XT$2 abcFIba
22_FI_xy XT$2 XT_xy

As can be seen from the above examples, the new string is formed by replacing the
matches in the original string with the replacement string.

The different replacement sequences are listed below:

$1, $2, … Matched text of a subgroup


${name} Matched text of a named capture group
$` Text before match
$’ Text after match
$& Text of match
$+ Last subgroup match
$_ Original input string

Examples specific to I/A Series and Triconex Applications


The Bulk Configurator looks at the entire I/O tag in the cross-reference file. I/A Series
software tags are of the format CompoundName:BlockName.ParameterName. TRISIM
tags are simpler and just have the point name with no delimiters like “:” and “.”. Some
examples specific to the Bulk Configurator are shown below.

Note: Valid DYNSIM model names should start with an alphabet, contain no special
characters other than _ and should be less than 60 characters in length. In addition,
the tagnames used here are made up to demonstrate the regex use and may not
conform to any naming standards.
Model
name
Filter based Tag names to be bulk Search syntax to Tieback tag The corresponding tieback replace Generated
on configured ensure match replace syntax tags syntax model names
1B03_MW:FY5F01.OUT (.*):FY(.*)\.OUT $1:FI$2.MEAS1 1B03_MW:FI5F01.MEAS1 XV$2 XV5F01
1B03_MW:FY5F02.OUT 1B03_MW:FI5F02.MEAS1 XV5F02
Block
Names 1B03_MW:FY5F03.OUT 1B03_MW:FI5F03.MEAS1 XV5F03
1B04_MW:FY5F04.OUT 1B04_MW:FI5F04.MEAS1 XV5F04
1B05_MW:FY5F05.OUT 1B05_MW:FI5F05.MEAS1 XV5F05

1B03_MW:FY5F01.FBCO_1 (.*):(.*)\.FBCO_(.*) $1:$2.FBCIN_$3 1B03_MW:FY5F01.FBCIN_1 DI$2_$3 DIFY5F01_1

1B03_MW:FY5F01.FBCO_2 1B03_MW:FY5F01.FBCIN_2 DIFY5F01_2

Block +
1B03_MW:FY5F01.FBCO_3 1B03_MW:FY5F01.FBCIN_3 DIFY5F01_3
Parameter
Names
1B03_MW:FY5F02.FBCO_1 1B03_MW:FY5F02.FBCIN_1 DIFY5F02_1

1B03_MW:FY5F02.FBCO_2 1B03_MW:FY5F02.FBCIN_2 DIFY5F02_2

1B03_MW:FY5F02.FBCO_3 1B03_MW:FY5F02.FBCIN_3 DIFY5F02_3

1B03_MW:FY5F01.OUT (.*)MW:FY(.*)\.OUT $1AWD:FI$2.POINT 1B03_AWD:FI5F01.POINT XV$1_$2 XV1B03_5F01

1B03_MW:FY5F02.OUT 1B03_AWD:FI5F02.POINT XV1B03_5F02


Compound
+ Block
1B03_MW:FY5F03.OUT 1B03_AWD:FI5F03.POINT XV1B03_5F03

1B04_MW:FY5F04.OUT 1B04_AWD:FI5F04.POINT XV1B04_5F04

1B05_MW:FY5F05.OUT 1B05_AWD:FI5F05.POINT XV1B05_5F05

40001 400(.*) 500$1 50001 D_45_$1 D_45_01


40002 50002 D_45_02
Simple
40003 50003 D_45_03
40004 50004 D_45_04
Regular Expression Basic Syntax Reference

Characters

Character Description Example


Any character except All characters except the listed special a matches a
[\^$.|?*+() characters match a single instance of
themselves. { and } are literal characters,
unless they're part of a valid regular
expression token (e.g. the {n} quantifier).

\ (backslash) followed A backslash escapes special characters \+ matches +


by any of to suppress their special meaning.
[\^$.|?*+(){}

\Q...\E Matches the characters between \Q and \Q+-*/\E matches


\E literally, suppressing the meaning of +-*/
special characters.

\xFF where FF are 2 Matches the character with the specified \xA9 matches ©
hexadecimal digits ASCII/ANSI value, which depends on the when using the
code page used. Can be used in Latin-1 code page.
character classes.

\n, \r and \t Match an LF character, CR character and \r\n matches a


a tab character respectively. Can be used DOS/Windows
in character classes. CRLF line break.

\a, \e, \f and \v Match a bell character (\x07), escape


character (\x1B), form feed (\x0C) and
vertical tab (\x0B) respectively. Can be
used in character classes.

\cA through \cZ Match an ASCII character Control+A \cM\cJ matches a


through Control+Z, equivalent to \x01 DOS/Windows
through \x1A. Can be used in character CRLF line break.
classes.
Character Classes or Character Sets [abc]

Character Description Example


[ (opening square Starts a character class. A character class
bracket) matches a single character out of all the
possibilities offered by the character
class. Inside a character class, different
rules apply. The rules in this section are
only valid inside character classes. The
rules outside this section are not valid in
character classes, except \n, \r, \t and
\xFF

Any character All characters except the listed special [abc] matches a, b
except ^-]\ add that characters. or c
character to the
possible matches for
the character class.
\ (backslash) followed A backslash escapes special characters [\^\]] matches ^
by any of ^-]\ to suppress their special meaning. or ]

- (hyphen) except Specifies a range of characters. [a-zA-Z0-9]


immediately after the (Specifies a hyphen if placed immediately matches any letter
opening [ after the opening [) or digit

^ (caret) immediately Negates the character class, causing it to [^a-d] matches x


after the opening [ match a single character not listed in the (any character
character class. (Specifies a caret if except a, b, c or d)
placed anywhere except after the opening
[)

\d, \w and \s Shorthand character classes matching [\d\s] matches a


digits 0-9, word characters (letters and character that is a
digits) and whitespace respectively. Can digit or whitespace
be used inside and outside character
classes.

\D, \W and \S Negated versions of the above. Should be \D matches a


used only outside character classes. (Can character that is not
be used inside, but that is confusing.) a digit

[\b] Inside a character class, \b is a [\b\t] matches a


backspace character. backspace or tab
character
Dot

Character Description Example


. (dot) Matches any single character except line . matches x or
break characters \r and \n. Most regex (almost) any other
flavors have an option to make the dot character
match line break characters too.

Anchors

Character Description Example


^ (caret) Matches at the start of the string the ^. matches a in
regex pattern is applied to. Matches a abc\ndef. Also
position rather than a character. Most matches d in "multi-
regex flavors have an option to make the line" mode.
caret match after line breaks (i.e. at the
start of a line in a file) as well.

$ (dollar) Matches at the end of the string the regex .$ matches f in


pattern is applied to. Matches a position abc\ndef. Also
rather than a character. Most regex matches c in "multi-
flavors have an option to make the dollar line" mode.
match before line breaks (i.e. at the end
of a line in a file) as well. Also matches
before the very last line break if the string
ends with a line break.

\A Matches at the start of the string the \A. matches a in


regex pattern is applied to. Matches a abc
position rather than a character. Never
matches after line breaks.

\Z Matches at the end of the string the regex .\Z matches f in


pattern is applied to. Matches a position abc\ndef
rather than a character. Never matches
before line breaks, except for the very last
line break if the string ends with a line
break.

\z Matches at the end of the string the regex .\z matches f in


pattern is applied to. Matches a position abc\ndef
rather than a character. Never matches
before line breaks.

Word Boundaries
Character Description Example
\b Matches at the position between a word .\b matches c in
character (anything matched by \w) and a abc
non-word character (anything matched by
[^\w] or \W) as well as at the start and/or
end of the string if the first and/or last
characters in the string are word
characters.

\B Matches at the position between two word \B.\B matches b in


characters (i.e the position between abc
\w\w) as well as at the position between
two non-word characters (i.e. \W\W).

Alternation

Character Description Example


| (pipe) Causes the regex engine to match either abc|def|xyz
the part on the left side, or the part on the matches abc, def
right side. Can be strung together into a or xyz
series of options.

| (pipe) The pipe has the lowest precedence of all abc(def|xyz)


operators. Use grouping to alternate only matches abcdef or
part of the regular expression. abcxyz

Quantifiers

Character Description Example


? (question mark) Makes the preceding item optional. abc? matches ab or
Greedy, so the optional item is included in abc
the match if possible.

?? Makes the preceding item optional. Lazy, abc?? matches ab


so the optional item is excluded in the or abc
match if possible. This construct is often
excluded from documentation because of
its limited use.
* (star) Repeats the previous item zero or more ".*" matches
times. Greedy, so as many items as "def" "ghi" in
possible will be matched before trying abc "def" "ghi"
permutations with less matches of the jkl
preceding item, up to the point where the
preceding item is not matched at all.

*? (lazy star) Repeats the previous item zero or more ".*?" matches
times. Lazy, so the engine first attempts "def" in abc
to skip the previous item, before trying "def" "ghi" jkl
permutations with ever increasing
matches of the preceding item.

+ (plus) Repeats the previous item once or more. ".+" matches


Greedy, so as many items as possible will "def" "ghi" in
be matched before trying permutations abc "def" "ghi"
with less matches of the preceding item, jkl
up to the point where the preceding item
is matched only once.

+? (lazy plus) Repeats the previous item once or more. ".+?" matches
Lazy, so the engine first matches the "def" in abc
previous item only once, before trying "def" "ghi" jkl
permutations with ever increasing
matches of the preceding item.

{n} where n is an Repeats the previous item exactly n a{3} matches aaa
integer >= 1 times.

{n,m} where n >= 1 Repeats the previous item between n and a{2,4} matches
and m >= n m times. Greedy, so repeating m times is aa, aaa or aaaa
tried before reducing the repetition to n
times.

{n,m}? where n >= 1 Repeats the previous item between n and a{2,4}? matches
and m >= n m times. Lazy, so repeating n times is aaaa, aaa or aa
tried before increasing the repetition to m
times.

{n,} where n >= 1 Repeats the previous item at least n a{2,} matches
times. Greedy, so as many items as aaaaa in aaaaa
possible will be matched before trying
permutations with less matches of the
preceding item, up to the point where the
preceding item is matched only n times.
{n,}? where n >= Repeats the previous item between n and a{2,}? matches aa
1 m times. Lazy, so the engine first matches in aaaaa
the previous item n times, before trying
permutations with ever increasing
matches of the preceding item.

Other Resources

• Books (several)
• Google® for .NET regular expressions
• Tools
o RegexCoach (http://www.weitz.de/regex-coach)
o RegexBuddy (http://www.regexbuddy.com)

Вам также может понравиться