Académique Documents
Professionnel Documents
Culture Documents
DYNSIM® 5.3.2
Dynamic Simulation
Suite 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.
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.
http://software.schneider-electric.com/
Introduction
Table of Contents
Introduction.................................................................................... 6
Dynamic Simulation Suite................................................................................ 6
The Layout of the User Guide ......................................................................... 7
Equipment Model Documentation ................................................................... 8
Screens, Menus, and Toolbars ..................................................... 9
The Main DYNSIM Screen .............................................................................. 9
Toolbars ......................................................................................................... 10
The Instances Tree ........................................................................................ 16
The Types Tree ............................................................................................. 18
The Monitor Pane .......................................................................................... 19
Command Line .............................................................................................. 20
Hold and Drag the Canvas ............................................................................ 22
Move Object with Arrow Key ......................................................................... 23
DYNSIM Environment ................................................................................... 23
User Accounts ............................................................................................... 29
DYNSIM Session ........................................................................................... 30
Simulation Organization ................................................................................ 30
Running a Simulation .................................................................. 33
Starting DYNSIM ........................................................................................... 33
Monitoring Messages .................................................................................... 35
Selecting a User Interface Environment ........................................................ 37
Terminating a Simulation ............................................................................... 37
Terminating DYNSIM ..................................................................................... 37
Using the Monitor or Point Viewer ................................................................. 38
Generating and Using Sessions .................................................................... 43
Flowsheet Navigation .................................................................................... 44
Freeze/Run .................................................................................................... 45
Initial Condition Save / Load .......................................................................... 46
Backtracks ..................................................................................................... 52
Backtrack and IC Configuration Dialog ......................................................... 54
Backtrack Replay ........................................................................................... 54
Simulation Speed .......................................................................................... 55
Single Step .................................................................................................... 56
Run Time Operations .................................................................................... 57
Disable Flowsheet ......................................................................................... 58
Drawing Defaults Tool Tip ............................................................................. 60
Utilities/Tools ............................................................................... 65
Trends and Plots ........................................................................................... 65
Malfunctions................................................................................................... 79
Scenarios ....................................................................................................... 88
Trainee Performance Monitoring ................................................................. 111
Automated Training Exercises..................................................................... 124
Event Log..................................................................................................... 127
Data Historian .............................................................................................. 128
User Template ............................................................................................. 130
Auto Naming Rulebook ................................................................................ 134
Units of Measure ......................................................................................... 138
Search ......................................................................................................... 145
Conventions
This manual adheres to a set of guidelines for the presentation of material. The font conventions
are listed below.
Bold, italic: Refers to a specific chapter, section, or manual for more information.
Italic : Used to indicate features available in DYNSIM® software; file names are also italicized.
Boldface : Used primarily to indicate mouse or pointer actions you will perform.
Introduction
All DSS component products derive full advantage of the DSS environment for unmatched ease-
of-use, intra-suite communications, and openness to third party applications.
DYNSIM application – A state of the art process simulator that combines first principles process
models, thermodynamic methods and data and integrated graphical user interface to produce
highly accurate, reliable results. Unlike legacy products from other vendors, DYNSIM allows
plants to use the same model for process design, control evaluation, operator training, and
operational analysis applications, thereby preserving model equity.
SCP – A uniquely comprehensive Foxboro® I/A Series® control system checkout and simulation
tool that can pay for itself before you start up your I/A Series system. SCP software functions as a
perfect double to an I/A Series Control Processor, enabling faster control system commissioning,
superior system design quality, reliable operator training, and cost-effective system retrofits.
TRISIM Plus – A uniquely comprehensive Triconex® control system checkout and simulation
tool that can pay for itself before you start up your Triconex system. TRISIM Plus software
provides the same benefits for Triconex systems that SCP software provides for Foxboro I/A
Series systems.
OTS Engines– An industrial-strength, high fidelity, dynamic plant operator training solution to
capable, expert hands and minds at your plant’s controls. OTS Engines combine the process
models of DYNSIM with power industry models and a suite of Distributed Control Systems
(DCS) and Programmable Logic Controllers (PLC) engines. SimSci’s OTS solutions blend
proven, superior simulation technology with years of practical experience in creating high-fidelity
operator training simulators.
• Instructor functions
• Malfunctions
• Scenarios
• System administration.
The User Guide also encompasses other general topics that deal with day-to-day use. Subsequent
volumes discuss the various simulation engines, model libraries, control system emulations, and
advanced-user topics.
Configuring models, defining and connecting engines, and day-to-day running of simulations are
coordinated through the DYNSIM User Interface.
• Introduce Malfunctions
• Trends
• Malfunctions
• Scenarios
• Playback
Each of the above items is detailed in the subsequent sections of this User Guide.
The appearance of the main DYNSIM screen depends primarily on the current operating
environment: Instructor, Engineer, or user-specified. The environment type can be selected from
the View pull-down menu.
The top bar is the Title Bar. It indicates the name of this application. Also, on the title bar is the
username you supplied at login, an indication of the current operating environment, and the name
of the Customer and Simulation that is currently connected.
Immediately below the Title Bar is the Menu Bar containing a number of pull-down menus.
The Toolbar is immediately below the Menu Bar. The Toolbar holds shortcut buttons that provide
quick access to frequently used tasks. These tasks can also be requested from the pull-down
menus. The toolbar content depends on the currently selected operating environment. The
standard toolbars are illustrated and described in Toolbars.
Below the toolbar is a series of three rectangular panes. From the left: the Simulation Status
pane, the Snapshot pane, and the Malfunctions pane.
A fourth pane, the Trainee Performance Monitoring (TPM) pane, shows in the Super User
environment and Instructor environment.
The Simulation Status pane indicates whether the simulation is in Run or Freeze mode. It
also indicates how long the simulation has been running. Also in this pane are buttons to
start and stop the simulation, and to control the simulation speed.
The Snapshot pane includes buttons for saving and restoring Initial Conditions (ICs) and
Backtracks. ICs and Backtracks can be started from a displayed list. The Snapshot pane
also indicates the current IC (if any) and the current and oldest Backtracks.
The Malfunctions pane lists active malfunctions and provides buttons for displaying the
Malfunction Summary and defining a new malfunction. Malfunctions are invoked from the
Malfunction Summary, or by selecting a model and choosing the New Malfunction
icon.
The TPM pane lists TPM templates and completed TPM sessions. The buttons at the top of
the pane are used to initiate a new TPM session and to display the TPM Summary list. The
TPM panel is displayed when in the Super User environment or in the Instructor
environment.
The vertical pane at the left of the screen is a multipurpose panel arranged in three layers:
Instances, Types, and Monitor. The contents of each layer appear by clicking on the
corresponding tab at the bottom of the pane. In the illustration above, the pane is displaying an
Instances Tree listing all simulations databases currently open. This same pane can also be used
to display the Types Tree, listing the available DYNSIM model libraries. The final layer is the
Monitor which can be used to display model parameters and points.
The large rectangular area to the right of the Instances Tree is a general-purpose area used for
displaying requested information and graphic images. In the illustration above, a Flowsheet
graphic and the Message Monitor are displayed in this area.
The Command Line at the bottom of the screen can be used to perform selected command-line
operations in lieu of pulling down a menu or clicking a toolbar button. The text to the right of the
command area is used to indicate the most-recently-performed operation.
Toolbars
The toolbars documented in this User Guide are the standard toolbars supplied with DYNSIM.
The DYNSIM user has the option of customizing these toolbars. Customizing a toolbar may
change its appearance so that it no longer looks like those documented here.
The appearance of the standard toolbars depends on the user interface environment: Super User,
Administrator, Engineer, Instructor, or Operator. Each model may have buttons not available in
another mode. There is also an abbreviated toolbar.
The toolbars hold shortcut buttons for executing frequently used tasks. These tasks can also be
accessed from the pull-down Edit, Run, and Tools menus. Only the Engineer toolbar is
discussed below.
Engineer Toolbar
As shipped, the DYNSIM engineer-environment toolbar buttons shown below are available.
The toolbar buttons perform the tasks described below. In some cases, a keyboard shortcut is
available to perform the same function as a toolbar button. The indicated shortcuts work for both
the Windows® and Unix® operating system (OS) versions.
Click this button to create a new simulation with a default engine and Flowsheet. It will bring up
popup windows guiding you through each step.
Click this button to open an existing simulation. It will bring up a popup window where the user
can browse for s4m files.
You can also use the Control + s key combination to save the simulation.
Clicking the Print option displays the “Select FlowSheet for Printing” dialog box, where user can
choose the particular flowsheet for printing. By default, Active Flowsheet will be selected.
On clicking “OK” from the above window results in the Printer dialogbox and user
can select various options like Printer selection, Paper size, Orientation etc.
Click this button to cut (remove) the currently selected object from the canvas and place it on the
Clipboard. Use the Paste button to paste the object from the Clipboard to the same or another
canvas.
The Control + x key combination will also cut the current selection.
Click this button to copy the currently selected object to the Clipboard. Copying does not remove
the object from the canvas. Use the Paste button to paste the object from the Clipboard to the
same or another canvas.
You can also use the Control + c key combination to save the current selection.
Click this button to paste the contents of the Clipboard to the selected location.
The Control + v key combination can also be used to paste the current selection.
Click this button to delete (remove) the currently selected object. The object is not placed on the
Clipboard. It is permanently removed from the canvas.
Click this button to display the currently selected item. If the selected item is a Flowsheet (FS) in
the Instances Tree, DYNSIM displays the graphic for that Flowsheet. If the currently selected item
is an object, DYNSIM displays the Object Editor/Viewer, listing the object’s parameters.
You cannot display items shown at the Simulation (SIM) level in the Instances Tree.
The operation of this button depends on what is selected, when the button is clicked.
Also, if you have selected a FS in the Instances Tree, DYNSIM displays a Flowsheet
Configuration dialog from which you can change the Flowsheet Name and assign a
different engine to the Flowsheet.
If an object is selected in the Instances Tree or on a canvas, DYNSIM displays the Object
Editor/Viewer listing the object’s parameters.
Click this button to list the basic Units of Measurement (UOM) slates that have been defined for
this installation. The user can create new UOM slates from existing UOM slates where, for
example, the units of pressure are changed from kPa to psia.
Click this button to bring up the Components and Thermodynamics window. This window allows
you to define component slates and construct customized thermodynamic method slates. Please
note that only models in the Base Equipment Library use component and method slates.
Click this button to start the simulation and its corresponding engine(s). The simulation engine is
started in Freeze mode. Click the Resume button to switch the simulation to Run mode.
Click this button to load the entire simulation configuration from the DYNSIM database into the
engine memory. This action is commonly known as Load Full. Load Full provides a mode to
make model configuration changes on the fly while the simulation is running.
Click this button to load the cross reference data from the DYNSIM database into the engine.
Click this button to disable one or more equipments on the flowsheet or to disable a whole
flowsheet. If equipments on a flowsheet are disabled, their corresponding values remain constant
and they further do not take part in the simulation calculations.
Clicking this button opens a flowsheet of a simulation. The user is first expected to define a home
flowsheet before performing this action.
Search Button
Trends Button
Click this button to allow real-time plotting of point values against time.
Click this button to display the DYNSIM Message Monitor window. The Message Monitor
displays selected messages, including error messages.
Click this button to display the Icon palette from which the user can drag and drop equipment
models and other objects onto the flow sheet. To display the icons on the palette as Large icons,
Small icons or Text only, from the View menu, click Icon Palette Settings.
Clicking this button allows you to reload aborted/failed engines. This option is available in the
Tools menu.
User can change the flowsheet canvas size to accomodate many objects by using the feature
called “Page Size” which is available under Options menu item. Clicking OK button results in
the new canvas size.
To display the Instances Tree, you must have at least one simulation open and you must select the
Instances tab at the bottom of the multipurpose pane at the left side of the main DYNSIM
screen.
The illustration shown below indicates a sample Instances Tree that has been expanded down to
the parameter level. To see the complete text associated with parameters, the pane has been
expanded to the right.
Note that green entries in the Instances Tree identify components of the currently running
simulation. Brown entries identify simulations that are open for editing, but are not currently
running.
All Simulations that are currently open are displayed in the Instances Tree. This feature allows
you to cut and paste from one simulation to another. Appearance in the Instances Tree does not
imply that a given simulation is currently running or not running.
At the model level, each entry is associated with an icon representing the model class (type of
model). Resting the cursor on an icon for a few seconds pops up a ToolTip that displays the
model class (type).
Each Simulation that is open is represented by a SIM line in the Instances Tree. Until the tree is
expanded, the display will include only a series of SIM lines.
To expand an entry at any level of the hierarchy, click the expansion control icon to the left of
that level. The entries in the next lower level are displayed. To collapse an expanded branch, click
the expansion control icon again.
In addition to using the Types tree, point references can now be easily created on the flowsheet
with the drag & drop support. Just drag the parameter node of interest from the Instance Tree and
drop it on the flowsheet at the desired location to create a point reference.
To display the Types Tree you must click the Types tab at the bottom of the multipurpose pane
at the left side of the main DYNSIM screen.
To expand a library into its constituent parts, click the expansion control icon to the left of the
library name. The library entries are displayed. To collapse an expanded library, click the
expansion control icon again.
The illustration below shows a sample Types Tree with two libraries expanded. Note that some of
the models shown below do not exist in every application, but are industry specific.
• Display selected data for individual points (name, value, description, unit of
measure)
• Model Tuning
To invoke the Monitor feature, click the Monitor tab at the bottom of the leftmost pane on the
main DYNSIM screen.
For a description of how to use the Monitor, see Using the Monitor.
The Monitor pane illustrated below displays the contents of a small point group.
Point groups can also be viewed by choosing Point Viewer from the Tools drop
down menu.
Command Line
The Command field is located at the bottom of the main DYNSIM screen. The command line
provides a way for you to execute selected DYNSIM functions without using the pull-down menus
or the toolbar buttons. It is only available in the Engineer environment.
The complete set of available command-line shortcuts is listed below. A sample is listed below:
Search Ctrl+F
IC Summary Window F5
• The user can click the right button of the mouseWhen user clicks in empty space of
canvas.The cursor changes to MOVE cursor .
• By holding the right mouse click, mouse drag will take the canvas to the direction where
mouse moves.
• Once the mouse released the cursor change to the default cursor.
DYNSIM Environment
The term environment refers to the allowable functional operations. The current environment is
indicated in the title bar of the main DYNSIM window.
1. Administrator
2. Super User
3. Engineer
4. Instructor
5. Operator.
The desired environment is changed by selecting the Change Environment from the
View drop-down menu. As indicated above, the environment choice determines what DYNSIM
operations you are allowed to perform. Two examples:
• You can create new user accounts in the Administrator environment only, not in any
other environment.
The procedure for changing operating environments is described in Selecting a User Interface
Environment.
The following is a summary of the functionality provided in each of the standard environments.
Super User: This environment allows the user to perform the role of a Engineer,
Instructor and an Operator
• Malfunction Initiation
• TPM Operation
• Execute Scenarios
Engineer: Same privileges as Super User and additionally can configure the number of
backtracks or IC’s
• Malfunction Initiation
• TPM Operation
• Execute Scenarios
• Malfunction Initiation
• TPM Operation
• Execute Scenarios
• Event Logging
• Backtrack Replay
• Malfunction Initiation
• Execute Scenarios
• TPM Operation
User Accounts
The primary purpose of user accounts is to provide or deny access to specific environments. In
some cases (e.g. snapshots), the current user name will be used to indicate ownership of saved or
changed files.
• User name
• Password
At startup, DYNSIM prompts you for a user name and password. The user can be changed at any
time, without restarting the application, by selecting Change User from the Options
menu.
To learn how to change your password, view the environments you have access to, or
create/edit/delete user accounts. Refer to User Accounts Configuration.
DYNSIM Session
A Session defines the current user interface environment, menus, toolbars, and window layout
(size and location). Saving a session allows the user to return to the same user interface
configuration at a later time. You can save any number of sessions.
When DYNSIM is terminated, the current user interface configuration is automatically saved as
the Last Session. Each time DYNSIM is started, you are given the option of continuing the
previous (last) session or loading the parameters associated with your Home Session. Once
DYNSIM is running, you can switch to any desired session.
The procedure for switching sessions and for creating new sessions is described in Generating
and Using Sessions
Simulation Organization
In DYNSIM, simulations are organized hierarchically as follows:
• Simulation
• Engine
• Flowsheet
• Model
• Parameter Group
• Parameter
Simulations are composed of Engines. Engines include Flowsheets. Flowsheets include model
objects. Model objects have Parameters, which may be grouped into one or more Parameter
Groups.
An engine provides a way to break multiple flowsheets onto separate computers for faster
execution. Engines are usually only required for operator training simulators. Also, since
multiple engines are not usually required, they are not shown on the instances tree hierarchy.
A model usually represents a real-world, physical device. Pumps, valves, headers, and fans are
examples of models. A model may also include strictly mathematical algorithms such as a PID
controller. Each model is an instance of a model class. A class is a specific type of device, such
as a pump or a fan. If your plant or process incorporates 30 pumps, the associated simulation will
have 30 instances of class ‘pump’, each with a unique name.
Each object has an associated set of parameters. Parameters vary by object type. For physical
objects, parameters reflect the operating characteristics of the object. For example, pipe diameter
and pipe flow rate are some of the parameters for a pipe model.
The Instances Tree illustrated below shows all levels in the organizational hierarchy (except
engine). Note the abbreviation for Simulation (SIM), and Flowsheet (FS).
Running a Simulation
Starting DYNSIM
1. You can start DYNSIM using the Windows OS Start button a desktop shortcut, by double
clicking the s4m file or the Windows OS Run feature. Perform the appropriate procedure
below.
a. Click the Start button (usually located at the bottom left corner of your screen)
a. Click the Start button (usually located at the bottom left corner of your screen)
3. Indicate whether to start DYNSIM with your Home Session or to continue the previous
session.
5. After logging in for the first time, the login step can be by-passed for subsequent sessions.
This can be achieved by enabling Auto Logon toggle switch under the Options menu. To
disable Auto Logon, simply disable this toggle.
Monitoring Messages
DYNSIM generates many messages to aid the user in understanding the status of the application.
Messages are reported to the user in a number of ways, depending on the importance or relevance
of the message. The illustrations below show one message reported with three different methods.
Popup Dialog
Errors and Severe Errors are reported with a popup dialog. These messages are of such
importance that user attention is required before proceeding with the execution of the application.
These messages are also reported to the Message Monitor window, and the Single Line Message
as described below.
Example
The Message Monitor is displayed by selecting Message Monitor from the Window menu,
or selecting the Message Monitor button on the main DYNSIM toolbar. Messages that report
Severe Errors, Errors, Warnings, and Information Only are sent to the Message Monitor window.
These messages are also reported to the Single Line Message as described below.
Example
”Information” will be displayed in BLUE color, “Warnings” in RED color, “Severe Error”
in BOLD RED color, and “Error” will be in ORANGE color.
Example
The single line message panel is located on the lower periphery of the main DYNSIM window.
This panel displays an abbreviated version of the last message reported. Severe Error, Error,
Warning, and Information Only messages are all sent to the single line message.
Example
Select Message Settings from Window menu. The following dialog box will be
displayed.
Check the message type, you wish to report. The Message Monitor reports only the status for the
message type you have checked and filters the rest.
Popup dialog messaging feature is not affected by the selection of any types of message
from Message Reporting dialog box (Information, or Warning or Error or Severe Error). It will
continue appearing, subject to the actions performed by user.
To change the environment, choose Change Environment from the View dropdown
menu, then select the desired entry, to change the following:
Terminating a Simulation
Once a simulation has been started, it continues to execute until it is manually stopped
(terminated).
DYNSIM pops up a dialog box to ask whether you really want to terminate the simulation.
Respond appropriately.
Terminating DYNSIM
To terminate DYNSIM, choose Exit from the File menu. When the user terminates
DYNSIM, the SimExecutive server is shuts down by default. However, user may choose to shut
down only the GUI session and leave the SimExecutive session running. This can be achieved by
disabling the Shut Down Server on Exit toggle switch under the Options menu. At a later point,
user can launch the DYNSIM GUI and reconnect to a running SimExecutive session.
The user can also disconnect the GUI session from the SimExecutive Server and reconnect to it or
another SimExecutive server session without exiting the GUI. To disconnect the GUI from the
Server, select Disconnect from Server under the Options menu. While the GUI is disconnected
from the server, all menu items, which require connection to the server, will be grayed out.
To reconnect, select Connect to Server option from the Options menu. Enter the host name and
name of the SimExecutive and click the Connect button.
• Overview
• Model Tuning
Overview
• Display selected data for individual points (name, value, description, unit of
measure)
• Model Tuning
2. There are at least four ways to enter the point name into the Point text area:
pointname)
b. Click an object on a canvas (this action puts the name of the object into the
c. Display the desired object in the Object Editor/Viewer then click the
parameter name
Open the Object Editor/Viewer of the desired object and select the parameter
points to be dropped on the point monitor. Drag and drop the selected points on
the point monitor pane. The OEditor/Viewer supports multiple selections
including a vector or array that can be dragged and dropped on to the point
monitor pane.
3. Click the Add button or in the Ins At: text area, type the row number of the
‘slot’ (location) where you want this point added into the list, then click the Ins
At: button.
3. There are at least three ways to enter the point name into the Point: text area:
pointname)
b. Click an object on a canvas (this action puts the name of the object into the
c. Display the desired object in the Object Editor/Viewer then click on the
parameter name
Open the Object Editor/Viewer of the desired object and select the parameters
points to be dropped on the point monitor. Drag and drop the selected points on
the point monitor pane. The OEdiotr/Viewer supports multiple selections
including a vector or array which can be dragged and dropped on to the point
monitor pane.
4. Click the Add button or in the Ins At: text area, type row the number of the
‘slot’ (location) where you want this point added into the list, then click the Ins
At: button.
DYNSIM inserts the point name into the Point: field at the bottom of the
Monitor pane.
If the point type is STATIC or the point does not exist, DYNSIM will change the
Value is the only field you are allowed to change from the Monitor tab.
You can change the Description field from the Point Editor or the Object
Editor/Viewer.
Choosing PointViewer from the Tools menu provides same functionality as the Monitor tab. If
an empty window appears, double-click the title bar to show the window components.
3. Press the Return key or leave the description cell to accept the changes.
4. The change in the description should also reflect in Point Viewer and Trends
Description label.
User can also change the Custom Description in Point Viewer and Trends; press the Return key to
update the custom description in other interfaces.
4. If Convert option is selected, both value and UOM type of the point will change.
But if Change option is selected, only the UOM type of the point will change.
Using the Point Viewer/Monitor you can change the values assigned to the parameters by
changing the Point Class. You can see the initially assigned values in the Assignment column
and the changed values in the Value column. This feature is useful while tuning the model.
Note: Select Enable point class edit check box to tune the model using Point Viewer.
This provides the simulation model builders the ability to easily change the point class of
commonly used tuning parameters such as Valve CV and Heat Exchanger U without having to
go through several OEVs. Once the parameters have been tuned and have acceptable values in
the run engine, their values can be easily updated in the database.
4. When the tuning is satisfactory and the values need to be saved, select the check box
in “Copy value to Assignment?” column for the corresponding parameter and click
the Apply button.
Saving a session is accomplished by selecting Save Session As from the Options pull-down
menu, then typing a new name or selecting an existing name from the dropdown list in the Save
Session As dialog.
Flowsheet Navigation
Navigating between different flow sheets, which are a part of the same simulation, can be
simplified by using the Navigation mode. To use this mode, under the View menu choose
“Change Toolbars” and then select Navigation.
To use the Flowsheet Navigation feature, the user would need to configure two files NavButtons
and NavGrid.
“NavButtons” file allows the user to define additional buttons below the navigation arrows that
are standard in the navigation mode.
In the example below, a button labeled OV (font name “Helvetica”, font size 12) is created on the
navigation palette with “ov.gif” as the icon image. When the user selects the OV button in this
example, the hpe_ov flow sheet is displayed. The Font allows user to define the font size of the
Text1 on the button.
SHOW SIMULATION INFO? If, YES, the current simulation mode and the current simulation
time will be displayed on the top left of navigation toolbar
Once opened with Notepad, the NavButtons file will show the following contents:
# You can decide to show (YES) or not show (NO) simulation info (sim time and sim mode)
OV,hpe_ov,ov.gif ,12
“NavGrid” file defines a navigation matrix for the arrows that are presented when the navigation
toolbar is selected. This allows the OTS engineer the ability to create a two dimensional panning
feature to mimic a panning view of a control bench board or a large process diagram spanning
several flow sheets.
Once opened with Notepad, the NavGrid file will show the following contents:
1. If the files are not found in “simulation working folder” then the user can locate them in
the following folder C:\SIMSCI\dss43\ GUI\Navigation
2. If the files are not found in “simulation working folder” then the user can locate them in
the following folder C:\SIMSCI\dss43\ GUI\Navigation
2. If the file is not found in “simulation working folder” the user should search in the
installed folder ie C:\SIMSCI\ dss43\GUI\images\navigation folder
Freeze/Run
Description
In Run mode, the simulation is running the simulation engines that simulate operation of your
plant or process.
In Freeze mode, simulation execution is suspended and simulation time does not advance.
Continuously operating functions such as Backtrack and Trending are also suspended.
When a simulation is frozen, the Simulation Status indicator displays the word Frozen in red
letters. The Simulation Time clock is stopped. Note that before the simulation was frozen it had
run 2 minutes and 34 seconds.
When a simulation is in Run mode, the word Running is displayed in green letters. The
Simulation Time clock is advancing.
To switch to Run mode, click the "Resume Simulation button” in the Simulation Status
pane.
To switch to Freeze mode, click the “Freeze Simulation button” in the Simulation Status
pane.
• Overview
Overview
The Save IC/Load IC feature provides an option to instantly return to the desired set of operating
conditions with a single click.
Save Initial Condition refers to saving the current status of the simulation. This electronic
Snapshot produces an Initial Condition (IC). ICs reflect all operating parameters, including
malfunctions and trend history. Initial Conditions (IC) can be saved in binary or text format.
ICs are identified by Number, Description, User, Date, Time, and Keypoints. The number of ICs
that can be saved is limited by the free space available on the hard disk.
Each IC can be designated as Protected (P-IC) or Unprotected (U-IC). P-T-IC and U-T-IC
indicate the text-based ICs. As a safety measure, only the owner of an IC can unprotect or
overwrite it. The owner of the IC is the user who originally created it.
Load Initial Condition resets a simulation with the values captured by performing a Save IC.
Initial Conditions and Backtracks are both termed as Snapshots. From the Snapshot Summary
screen, you can view only the Backtracks, only the ICs, or all the Snapshots.
• Backtracks are saved automatically at the user-specified time. ICs are saved only
when requested by a user.
• ICs can be protected from being overwritten by other users. Backtracks are
automatically overwritten as described earlier.
• Saving an IC switches the simulation to Freeze mode. Saving Backtracks does not
change the simulation status.
Left-clicking a column in the Snapshot Summary window sorts the list by that column.
You can use this feature to sort the list by IC Number, Description, User, Date, or Time.
The Favorite IC number can be specified to load the IC just by clicking an icon instead of
opening the Snapshot Summary window. If the user does not specify any number, the last saved
IC is considered as the favorite IC.
The Snapshot pane at the top of the main DYNSIM screen indicates the current (most recently
restored or saved) IC.
Saving an IC
1. (Optional) Flush the historian by clicking the Flush button. If performed, there will
not be any historian data displayed in Trends when this IC is loaded.
2. Click the Save Initial Conditions button (camera icon) in the Snapshot pane. If the
Snapshot Summary window appears, you can click the Save button.
DYNSIM displays a dialog box asking you to enter the IC Number, enter the
Description, and select an option to indicate whether the IC is to be protected or
not.
After entering the required details, select the Save IC as Text check box to save
the DYNSIM engine(s) IC data in text format.
If the IC already exists, and you are the owner of the IC, DYNSIM asks whether
you want to overwrite it. Respond appropriately.
If you are not the owner of an existing IC, DYNSIM will not allow you to
overwrite it.
If the IC is saved, the simulation switches to Freeze mode and the Simulation
Status changes to IC SAVED.
The current IC indicator in the Snapshot pane displays the number and user-
Loading an IC
1. Display the table of ICs by clicking the IC button in the Snapshot pane.
5. Click Yes.
2. Click the Protect or Unprotect button, as appropriate (only one button will be
displayed).
Only the owner of an IC can unprotect it. The IC summary table allows you to
select multiple rows and subsequently Protect, Unprotect, or Delete them.
The IC Distribute and Collect feature is useful for engineers if a simulation with multiple engines
is distributed over a number of machines.
In previous versions of DYNSIM, the user had to manually copy the IC directories of the various
engines to the respective remote machines before loading the IC. If you wishe to share the
simulation file with other users, you must first:
• Manually copy those directories the simulations folder in the host machine (where the
Simexecutive is running) and
The IC Collect and distribute function now allows the user to collect the IC information of
multiple engines residing in multiple remote machines to the host machine where Simexecutive is
running. The IC information is stored in a ZIP file. The engineer can share the new simulation
along with the zip file with other users, if they desire. The new user, after editing the simulation
with host and remote machines, must click the Distribute button in the Snapshot Summary
window. This action distributes the respective IC information to the remote engines.
IC Selection ALT+F1
Save ALT+1
Load ALT+2
Flush ALT+4
Delete ALT+5
Collect ALT+6
Distribute ALT+7
Protect ALT+8
Unprotect ALT+9
Close ALT+0
Backtracks
Backtracks allow you to return to an earlier point in time in the current simulation by resetting the
simulation with data recorded at that time. In automotive terms, it is like putting the simulation in
reverse, backing up to a desired spot, and then driving forward.
The Backtrack process takes a ‘snapshot’ of the current status of the simulation and writes this
information to disk. DYNSIM generates a series of Backtrack files, one for each user-specified
time interval. Backtrack files are automatically saved; you do not have to start or stop this feature.
Saving continues as long as the simulation is in Run mode.
Conceptually, the Backtrack file structure is like a ring with N slots around the periphery (N is the
user-specified maximum number of Backtracks to be saved). Each Backtrack file occupies one
slot in the ring. When slot N has been filled, the next file is written to slot 1, over-writing the data
that was there.
You can view the list of current Backtracks at any time. For each Backtrack file, the list includes
the Backtrack number, date, time, the names and values of up to five user-selected keypoints, and
the name of the Backtrack file. Refer to Generating Keypoints for further information on
Keypoints.
• reset the simulation with data from a selected Backtrack file and continue from that point
Backtracks and Initial Conditions (ICs) are both snapshots. From the Snapshot Summary screen,
you can view Backtracks only, ICs only, or all snapshots.
In the Snapshot Summary illustrated below, DYNSIM displays only the Backtracks. This
simulation is configured to save a maximum of ten Backtracks. Each backtrack gets saved along
with the corresponding simulation time. Replay actions is displayed as “No” because the
Backtrack replay is restricted to the Instructor mode.
The Replay Actions column is always “No” in the Engineering mode. To know more about how
Replay Action functions, refer to the Backtrack Replay section.
Right-clicking a column in the Snapshot Summary window sorts the list by that column.
You can use this feature to sort the list by Backtrack Number, Date, or Time.
Resetting to a Backtrack
The Simulation Time display reflects the time when the Backtrack was snapped.
The current Backtrack and oldest Backtrack numbers are updated in the Snapshot
pane.
The values have to be changed before the simulation run is started. Only the values
changed using this dialog are persistent. Values modified directly using point references
BKTNUM, BKTRAT, and ICNUM on the flowsheet are applied only to that session and are not
persistent.
Backtrack Replay
Backtrack replay is used to record and replay all the operator actions that are logged by the
engines using logEngineAction. This feature is restricted to the Instructor mode and is in sync
with the other third party interfaces such as SCP, TRISIM, and INTOUCH. All malfunctions that
an instructor activates or deactivates during a Backtrack Replay session are also recorded. The
replaying of these operator actions and malfunctions is synchronized with the reloading of a
backtrack. The actions are recorded in an operator log file that can be read by the user. The
Backtrack Replay does not replace the Scenario functionality of DYNSIM that has record/replay
capabilities, but is a subset of the full Scenario functionality.
The capability to record operator actions can be turned on and off by the instructor through the
DYNSIM GUI by clicking Start Backtrack Action Recording on the Tools menu or
by setting the SIMBKTRPLY variable, which is defined in the SimExecutive, in the bridge
interface. All the Backtrack Replay and scenario record actions cannot be activated at the same
time.
All the operator actions are recorded into an operator log file. This log file can be viewed in the
DYNSIM GUI application by using the Backtrack/Replay viewer (Tools View Backtrack Action
log). This viewer file can convert the Backtrack/Replay file into a Scenario text file, which can
then be imported by the Scenario Manager to create a Scenario. The user actions associated with
UOM appear in braces in the log file.
The below shown figure is the Backtrack/Replay viewer that has a few replay log records in it.
Backtrack Action is in recording mode and will turn to replaying when you stop the recording.
The Replay Action of the Backtrack you intend to replay must be “Yes”. To replay it, select it and
click Load and Run.
Simulation Speed
The Simulation Speed feature lets you increase or decrease the rate at which simulation proceeds.
The maximum speed at any given time depends on the simulation and the type of computer
hardware used.
If the simulation speed is changed from 100%, it no longer reflects the true response time of the
plant or process. This can be detrimental to training if the simulation is being used for an
operator-training simulator.
Simulation speed is expressed as a percentage of actual (wall clock) time. For example, 200 is
twice actual time, 100 is actual time, 50 is one-half actual time.
Simulation speed affects all functions, and operate accordingly. For example, doubling the
simulation speed results in generating two Backtrack files in the actual wall-clock time one file
would be generated when running at actual time.
Operating speed is one variable saved with the Save IC and Backtrack features. If you reset the
simulation with data from an IC or Backtrack file, simulation speed is set to the file (saved) value.
The current requested simulation speed is displayed in and changed from the Simulation Status
pane in the upper left corner of the main DYNSIM screen.
To change the simulation speed, you can type the desired value into the Speed text area, or use
the mouse to operate the ‘spin buttons’ (up and down arrows) to the right of the speed display.
There may be instances where the simulation speed does not exactly match the simulation
speed setting. Please refer to the FAQ section for an explanation.
Single Step
The Single Step feature toggles the simulation engine into and out of Single Step mode. Single
Step mode is typically used as an analysis aid to debug simulations.
When in Single Step mode, the simulation progresses forward in time exactly one time step
(usually 250 milliseconds) each time you click the Run button. After running one simulation time
step the simulation automatically freezes and waits for another run action to be performed. The
Simulation Status is displayed as SINGLE STEP in the Simulation Status Pane.
In the Engineer environment, Single Step mode is selected by freezing the model, then choosing
Single Step Mode Toggle from the Run dropdown menu. You can also toggle single
step mode using the Alt + N key combination.
Load Full is a versatile feature of DYNSIM, which enables the user to re-load the complete model
configuration from the database without the necessity to shut down the simulation.
This feature can be accessed by clicking the button present on the toolbar. Alternatively, it
can be done by selecting Engineering Actions from the Run menu.
The Load Cross Reference feature loads all entries to the Cross Reference table. This feature
enables the user to activate the new entries in the Cross Reference Table without having to shut
down and restart the engine.
This feature can be accessed either by clicking button present on the toolbar or by selecting
Engineering Actions under Run menu.
The Load Engine feature re-loads only the engine associated with the model, not the complete
model.
To use this feature, either click the button on the active flowsheet toolbar, or right-click a
flowsheet and select “Load Full Associated Engine.”
Use LE functionality if the changes to a parameter value are done in a single engine. If
you are changing parameter values for more than one engine (regardless of whether you are
changing parameters for all engines), use LF functionality.
Load Object
The Load Object feature re-loads only the model object, not the complete simulation or the
engine associated with the object.
To use this feature, either click the button on the active flowsheet toolbar or right-click a
model object and select “Load Object.”
h) Renaming a model object that has any of its parameters given as a reference in
other models.
The Save Model States is a feature that saves the operational data in ASCII format. The name of
the file generated is <Engine Name>States.dat. A Save Model States operation saves all the
current values of STATE and DYNAMIC parameters to this file.
When an engine is loaded for the first time, the simulation is initialized with the values present in
the States file.
If there are multiple engines present in the simulation, one States.dat file will be saved for each
engine.
The States.dat file is dependent on the engine name and if the engine is renamed after saving the
States.dat file, a new States.dat file is to be saved.
The States file can be created by clicking button present on the toolbar. Alternatively, it can
be done by selecting Engineering Actions from the Run menu.
Disable Flowsheet
The Disable Flowsheet functionality provided by DYNSIM allows the user to disable one or more
model objects on a flowsheet or disable a whole flowsheet. It is a convenient feature for tuning a
simulation.
Refer to the Base Equipment manual, Fundamentals section for more details.
To disable a model/flowsheet
The disable flowsheet icon is active only if the simulation is running and the user has
selected the model or flowsheet. If a model or flowsheet is disabled, the change will take effect
immediately without performing Load Full (LF).
• A disable button (red stop sign) and an enable button (green check sign) appear
on the toolbar. These may be used to disable (enable) objects selected by the user. The
selection may be an individual object/group of objects on the canvas or on the instance
tree.
An individual object on the canvas may also be disabled/enabled by using the right click
menu for the object. The disabled object will have a stop sign graphical indication as
shown below.
• To disable an entire flowsheet, select the flowsheet on the instance tree and click the
disable button on the toolbar.
The disabled flowsheet is indicated with a red cross on the instance tree as shown below.
• To enable the entire disabled flowsheet, select the flowsheet on the instance tree and click
the enable button on the toolbar
The Drawing Defaults dialog box is displayed below and has six tabs: General, Streams, Models,
Colors, Icons and Connections.
General Tab
• Prompt for new name whenever the user drops a new object on the flowsheet.
• Display hidden names when mouse pointer is rolled over object. For example, stream
names.
Check or clear the options as required. By default, both options are checked.
Streams Tab
• Display stream properties when the mouse pointer is hovered on the screen. These
properties could be Stream Name, Temperature, Pressure, Flow rate, Vapor/liquid
fraction.
Models Tab
Model object tool tip is a popup, which gives brief information about the critical parameters of
the model. The popup is displayed when the mouse cursor is positioned over the model. The
popup is static in nature and the parameter values are not refreshed. The popup will disappear
automatically after five seconds or if the cursor is moved away from the model. The figure below
illustrates the model tool tip popup for a pump.
By default, the model tool tip option is checked to display the model properties. To turn off the
option, from the Options menu select Drawing Defaults. Click on the Models tab and clear the
check box.
The model tool tip supports only a few critical parameters for each model in DYNSIM
4.3.
Colors Tab
Icons Tab
• Change the icon label font characteristics like font size, weight, and color
Connections Tab
The Connections tab allows the user to show connector arrows. By default, it is checked.
Utilities/Tools
Trends and Plots
This topic includes the following subjects:
• Overview
• Trend Examples
• Deleting a Trend
• Trend Functionality
• Plots
Overview
Trends for any number of points can be displayed simultaneously. All points and model
parameters are candidates for trending.
You can specify the following that affect the entire trend display:
• Time span represented by each division on the chart (Time Grid Spacing).
The Time Span determines the horizontal (X-axis) scale. The Time Grid Spacing determines the
granularity of the X-axis scale.
The vertical (Y-axis) scale is fixed at 10 divisions. For each parameter, Y-Min and Y-Max define
a band of Y-axis values. If desired, Trend will automatically and continuously scale the Y-axis.
This feature can be specified on a parameter basis by using the ‘AUTO’ checkbox.
Collection sets define the sample period and duration of the interval over which the data is
collected for a given point. There are four pre-defined collection sets.
• Very Fast
• Fast
• Medium
• Slow
Collection sets can be configured using Data Historian user interface. Note that the very fast
collection set is not enabled by default.
Each trend point can be represented with a different color and line style. The various colors and
line styles that can be assigned to a particular trend point can be selected from the combo box
under colors and styles field respectively.
Trending is active only while the Simulator is in Run mode. Parameter values are sampled over
the specified collection set and plotted. Trend data acquisition occurs through the Data Historian
whether or not trends are being displayed. Thus, if you close the Trend then return to it, the
Trend is immediately current.
When you save a group, DYNSIM instructs you to select the desired Flowsheet from a list of
existing Systems. In response, DYNSIM places a trending object on the Flowsheet canvas and
adds the trending name to the list of models in the System. Note that you’ll have to collapse and
expand the Flowsheet entry in the Instances Tree to see the new trending object.
Trend data (history) is saved and restored with Initial Conditions and Backtracks. When the initial
conditions are restored, if you choose to reset simulation time to zero, the time axis is rescaled
such that all the restored time values are negative leading up to current simulation time of zero.
1. Choose a collection set based on how much data you want to be able to review.
If you want to be able to recall/review data for the last 10 minutes, choose the
2. To ensure that a trend extends the entire width of the chart, specify a collection
set whose duration is at least as long as the chart time span.
Trend Examples
The figure below illustrates the effect of keeping the auto-scaling feature off.
In the figure above, the only change we have made is to turn on Trending auto-scaling feature.
Note the checkmark in the three Auto checkboxes. The Y-Min and Y-Max values have been
automatically adjusted to a range that more closely resembles the actual values assumed by the
three parameters. Note the effect on the three trends.
Select the Trend object from the Types Tree and add it to the desired Flowsheet
canvas.
The Trending window is displayed. If you added the Trend object from the Types
Tree, double-click on it to display the window. The title bar indicates unnamed.
2. Type a description for the trend group. This description is optional, but
recommended.
Choose a value from the dropdown list or type a new value. If you type a value,
you must specify the time units: ‘s’ for seconds, ‘m’ for minutes, or ‘h’ for hours.
5. Specify the desired values for Y-Min, Y-Max, Color, Line Style and Collection set.
Check the Y-axis checkbox to display the Y-axis for each point plotted.
7. Click the Apply button to apply the settings you have made to the database.
8. To save the trend group you’ve defined, click the Save button or the Save &
Close button, then supply the requested information: Flowsheet and Trend Name.
Each Trend is associated with one Flowsheet. In the illustration above, the
Trend is associated with Column.
Each Trend is associated with a simulation Flowsheet. A Trend icon for each defined trend is
shown on the Flowsheet canvas and in the Instances Tree. To access an existing trend , you must
display the appropriate Flowsheet canvas or expand the Flowsheet in the Instances Tree.
Click the desired trend icon in the Instances Tree then click the View button on the
main DYNSIM toolbar.
The Freeze button at the bottom of the Trend window can be used to temporarily
suspend chart movement so you can review the trends. The horizontal scroll bar at
the bottom of the window allows you to scroll back in time.
If the point table is not displayed, click the Show Table button.
To delete a point, click on it in the table then press the Del key on the keyboard
or click the Delete button in the Trend window.
To add a point, type the name into the Point: text area then click the Add button.
Set the desired values for Y-Min, Y-Max, Interval, and Duration..
Change the fields for existing parameters if desired: Y-Min, Y-Max, Color, Line
Style and Collection set
Change the Time Span and Time Grid Spacing values if desired.
3. Click the Apply button to apply the changes that you have made to the database.
4. Click the Save button or the Save & Close button, as appropriate.
Deleting a Trend
Each Trend is associated with a simulation Flowsheet. A Trend icon for each defined trend is
shown on the Flowsheet canvas and in the Instances Tree. To access an existing trend , you must
display the appropriate Flowsheet canvas or expand the Flowsheet in the Instances Tree.
1. Right-click on the desired trend icon on the Flowsheet canvas then choose Delete
from the dropdown menu (OR)
Click the desired trend icon in the Instances Tree then click the Delete button on
the main DYNSIM toolbar.
The trend may remain on the Flowsheet canvas and in the Instances Tree
until you collapse and expand the Flowsheet entry in the Instances Tree and perform
a Validate Graphics operation on the canvas.
Trend Functionality
Each point is sampled at an interval specified for the collection set. Based on the sampled value
and the point-specific Y-axis scaling, DYNSIM effectively inserts a point on the chart, and then
draws a straight line between that point and the previous point. The value plotted is the point’s
instantaneous value. There is no value averaging over time.
An updated point value is available every simulator time step (usually 250 milliseconds). The
collection set you choose determines how many of these updated values are ignored. For
example if you specify choose the “Fast” collection set (which by default has an interval of 2.5
second), you are instructing DYNSIM to look at every tenth value, ignoring the nine intermediate
values.
For a given point, the sample size (Samples) is same as the sample size for the collection set over
which it is trended. You can scroll back as many points as specified by the Samples value. When
you freeze the Trend, you can scroll back up to the duration of the collection set.
Default Trends have been added for all the models in the Base Equipment library (Drum, Header,
Expander, Pipe, Shaft, Mixer, Splitter, Valve, Transmitter, StreamSet, Stream, MechStream and
HeatStream).
Invoking the Default Trend creates a new trend instance with pre-configured parameters. It also
adds corresponding data points to the Data Historian. It can be invoked by right-clicking the
respective model object in the flowsheet canvas.
The list of parameters included in the default trend for each model can be modified by editing the
TRENDCONFIG.xml file located in \SIMSCI\DSSxx\GUI\Trends. A screenshot of the user
editable configuration file is shown below.
Plots
Profiles and XY plots work like trends. They can be dragged from the References Library and
placed on a flowsheet.
Select XY Plot from the References library in the Instances Tree and drop it on the desired
flowsheet.
Enter a name for the plot in the corresponding dialog box. An icon is displayed on the
flowsheet. Double-click the icon and then select a plot from the drop-down list.
• General XY Plot – Plots any valid parameter (any valid point in the simulation) against
another parameter. Point history can be kept, so it forms a squiggly line.
Compressor Curve : Plots DH vs Q on top of a compressor map and surge line in the
background. Operating point history is maintained to show a squiggly line indicating
how close operation comes to surge. If a compressor model is configured with multiple
curves for different speeds and different IGVs, additional curves appear on the plot with
the operating point on the corresponding IGV curve. We are proposing to have three
radio buttons namely All, IGV, and Speed as shown in the following figure.
By default, “All” radio button is selected. Three radio buttons are explained below.
a) All: Display all the curves. The color of the curves will be different for different
IGV and Speed.
b) Speed: Display curves at multiple IGV position for a given speed. User can
choose the dropdown to select the speed.
c) IGV: Display curves at multiple Speeds for a given IGV position. User can choose
the dropdown to select an IGV position.
User can select any other button depending upon the number and nature of curves. For
example, if 12 curves exists at four different speeds and three IGV positions, selecting All
option may not give good visibility of the curves. In that case, user can select IGV radio
button, where he can see four speed curves at each IGV position. Similarly, if six curves
exists (different speeds) at one particular IGV position, Speed radio button can provide
better usability.
• Pump Curve: It behaves the same as compressor curve but no surge line and no lines at
alternate speeds.
• Tower Profile. Plots specific column tray variables against tray number. For example, a
profile plot may have stage temperatures and stage pressures as a function of number of
stages. This is a special form of the profile plot. The variables available for plotting can
be selected from the dropdown list.
• MultiExchanger / PFR Profiles. These profile plots are similar to the Tower plots and
can plot any element parameter against element number.
• Olga Profile Plots. This plot can be used to establish OLGA pipeline profile data by
reading pre-defined profile data from an ASCII file. The users need to specify the Olga
Interface Engine Name.
The user is not allowed to add multiple XY/Profile Plot types or multiple plots
(parameters) on a single profile plot.
This plots the instantaneous operating point of the compressor. The compressor characteristic
curve at each speed is shown in the background. Also, the Surge line is plotted as a slightly
wavy curve if a surge curve is defined or as a straight line from the origin if no surge curve is
defined. The plot helps you to visualize the current operating point vis-à-vis the characteristic
curve. The Surge line serves an additional purpose of allowing you to visualize the approach of
the current operating point to Surge conditions. The operating point is shown in black and the
history is shown in grey. You may change the colors and the styles of the line.
This plots the instantaneous operating point of the pump. The Pump characteristic curve at the
reference speed appears in the background. It is similar to the compressor plot except that there
are no multi-speed curves and no surge line.
In both the plots, negative flow rates and heads are not plotted.
Tower profile plot is a special version of the general profile plot. A Tower profile requires two
entries, Tower and parameter such as T, P, Fv, Fl, Composition, etc. All the parameters will be
available through a drop-down list.
Each parameter plot is a function of the tower stage number. The history lines showing the
transient behavior of the parameters will be plotted in a different color.
Multi Exchanger profile plot is a special version of the general profile plot. A Multi Exchanger
profile requires two entries, Multi Exchanger and the parameter such as Flow.T, Wall.T, Q. The
parameters are available through a drop-down list. The parameters are a function of the number of
elements. The history lines showing the transient behavior of the parameters will be plotted in a
different color.
PFR is an extension of the multi exchanger profile plot. A PFR profile requires two entries, PFR
and the parameter such as Flow.T, Wall.T, RPASS.T, RPASS.P, Q, Composition, Reaction Rate,
etc. All the parameters are available through a drop-down list. The parameters are a function of
the number of elements. The history lines showing the transient behavior of the parameters will
be plotted in a different color.
The XY and Profile plots support changing UOM slates for both default and custom slates.
The units in the table as well as in the plot change automatically according to the slate selected.
The Olga profile plot requires three entries; Engine name, Branch, and parameter. The parameters
such as GG, HOL, PT are available as a drop-down list. The parameters are a function of the
number of segments in the entire pipe length in Olga. The x-axis is the length of the entire
pipeline.
Background color for Trend/Plot can be changed through Draw Attribute of Trend/Plot. You can
select background color to be white or black. Default background color is white.
Malfunctions
This topic includes the following subjects:
• Overview
• Operating Parameters
• Basic Operation
Overview
A Malfunction can be defined as an unexpected, abnormal occurrence. For example, a valve that
does not operate as commanded.
The introduction of malfunctions is one of the most important aspects of simulator based training.
It tests an operator’s ability to analyze and correctly respond to problems in the physical plant.
Without a “Malfunctions” capability, simulator- trained operators would be capable of handling a
plant only under normal operating conditions.
Any number of individual malfunctions can be created and optionally saved for recall and reuse.
Each malfunction directly affects a single model (such as a motor, valve, transmitter, and so on).
Each individual model is associated with a single Flowsheet. Subsequently, each malfunction is
associated with a single Flowsheet. A given Flowsheet can incorporate any number of distinct
malfunctions. In addition, there may be many malfunctions for a single model. In this scenario ,
DYNSIM initially assigns a unique number to each new malfunction and they will be identified by
the Flowsheet and number. DYNSIM also furnishes a description for each new malfunction.
Both the number and the description can be overridden if desired.
When you select an object to malfunction, DYNSIM displays a customized window that reflects
malfunction characteristics specific to that object type. Example: If the selected object is a valve,
DYNSIM provides a list of nine predefined valve failure modes, some discrete and some analog.
Operating Parameters
Each malfunction has an associated set of operating parameters. The content of this set depends
on the type of malfunction. The illustration below shows a Malfunction window for a valve
model. The window has been expanded by clicking the Options button to display optional
parameters. The selected failure mode, such as Valve Blockage, defines this as an analog
malfunction. The operating parameters are described below the graphic.
• Delay Time
• Oscillation (analog)
• Chatter (discrete)
Delay Time lets you delay the onset of a malfunction from zero seconds (immediate
activation) to almost 100 hours. The Delay Time displayed in the Malfunction window is the
time remaining until delay expiration. In the illustration above, a delay time of 30 seconds
has been requested. Note that the Delay Time checkbox has been checked. This selection is
required to invoke the delay time feature.
For analog malfunctions, Mature Value is the desired value of the malfunction variable that
needs to be attained finally upon activation of the malfunction. The allowable range of values
depends on the type of malfunction. The low limit and high limit are displayed in the
Malfunction dialog.
Analog malfunctions have both a current value and a mature value. You need to
specify the mature value in the malfunction window. DYNSIM maintains and
displays the current value as the malfunction executes. When the current value
reaches the mature value, the malfunction has matured.
For discrete malfunctions, the Mature State indicates the final state of the object. Two
examples are illustrated here:
• Several objects have a ‘Broken Shaft’ failure mode. The single Mature State for
this malfunction is Broken Shaft.
• A Circuit Breaker object has an ‘Inhibit Open/Stop Command’ failure mode. The
options for the final state are Inhibit Manual Only, Inhibit Auto Only, and Inhibit
Both.
Discrete malfunctions have both a current state and a mature state. You need to
specify the mature state in the Malfunction window. DYNSIM maintains and
displays the current state as the malfunction executes. At maturity, the current
state is set to the mature state.
Oscillation provides options for modulating the current value with a sine wave or random
oscillation . You can specify the amplitude and period of the modulating waveform.
Chatter causes the current state to toggle between the Mature State and a Not Active state, at
a specified interval.
In addition to the operating parameters described above, some malfunctions provide these user-
modifiable parameters:
• Set Trigger
• Reset Trigger
Engage Rate allows you linearly increase (ramp up) the current value of a malfunction at a
specified rate until it reaches the Mature Value. This feature simulates a time- dependent
malfunction. Engage Rate can be specified as any desired percentage (per second) of the
Mature Value. If you do not specify an Engage Rate, the current value immediately assumes
the Mature Value on malfunction initiation.
Disengage Rate allows you linearly decrease (ramp down) the current value at a specified
rate until it reaches zero. The ramp occurs after the malfunction has matured and you have
clicked the Deactivate button in the Malfunction window.
Set Trigger allows you to specify a condition(s) that must be true before the malfunction
executes. In the illustration above, motor MCN1 must trip before DYNSIM starts
decrementing the Delay Time. Another example: typing DRUM.P > 2000 into the Set
Trigger frame instructs DYNSIM to initiate the malfunction when drum pressure exceeds
2000 psi.
Expressions in the Set Trigger and Reset Trigger frames must be capable of being
evaluated to TRUE or FALSE. Refer to Equation Utility for a list of valid
operators.
The parameters discussed above can be used in combination. For example, for an analog
malfunction you could concurrently specify Delay Time, Engage Rate, and Oscillation. When
you activate the malfunction the delay timer counts down to zero then the current value begins to
ramp up toward the Mature Value at the rate specified by the Engage Rate as modulated by the
Oscillation parameters.
Basic Operation
At any given time, a malfunction is in one of several possible conditions or modes. The modes
are as follows:
• Configuration
• Waiting On Delay
• Engaging Ramp
• Mature
• Disengaging
• Deactivated
The current mode of a malfunction is indicated in the top right corner of the Malfunction window.
A new malfunction always starts in the Configuration mode. This mode allows you to specify the
desired operating parameters (described earlier in this topic). After a malfunction has matured
and been deactivated, it returns to Configuration mode, ready to be modified and/or executed
again.
After configuration, a malfunction is ready to be saved and/or activated. Both operations are
requested from buttons at the top of the Malfunction window. Activating a malfunction initiates
execution. Based on the parameters specified in the Malfunction window, the malfunction
immediately transitions to one of the modes listed above. During execution, messages in the
Malfunction window keep you apprised of the progress of the malfunction.
Active malfunctions are listed in the Active Malfunctions pane at the top of the main
DYNSIM screen. Malfunctions remain listed until they are deactivated.
When the current value of a malfunction reaches the Mature Value, it transitions to Mature mode.
A mature malfunction has fully affected the simulation. With the possible exception of
disengaging options, all requested operations have been completed.
As indicated by its presence in the Active Malfunctions list, a matured malfunction is still
affecting the simulation. Example: If the malfunction simulated a broken valve stem, the
simulated stem remains broken as long as the malfunction is in a matured mode.
To remove the effect(s) of a malfunction, you must deactivate it by clicking the Deactivate
button in the Malfunction window. At that time, the malfunction transitions to Disengaging
mode. If specified, the Disengage Rate is applied as the malfunction’s current value ramps down
to zero (analog malfunctions only). The malfunction then transitions to the Configuration mode.
At that time, the malfunction is removed from the Active Malfunctions list.
Note that an active malfunction can be cancelled at any time by clicking the Deactivate
button.
The Malfunction Summary window lists saved malfunctions. Using the pull-down menu, you
can display malfunctions for all Flowsheets in your simulation, all active malfunctions, or
malfunctions for just one Flowsheet. The sample below displays malfunctions for all Flowsheets.
The Malfunction Summary window is displayed by clicking the Malfunction Summary button at
the top of the Active Malfunctions pane.
The Malfunction Summary window includes buttons to Edit (and view), Delete, Activate,
and Deactivate a selected malfunction.
The graphical indication gives the status of the Malfunction configured to equipment. This will
help the instructor to identify easily which equipment is subject to malfunction. The indicator will
be on top right of the equipment for which the engineer has saved a pre-configured malfunction.
The color of the indicator gives the status of the malfunction such as Inactive, Waiting on delay,
and Mature.
Bl k I ti Y ll W iti D l ti R d M t
To edit the malfunction status indicator attributes, right-click on the graphic and choose Draw
Attributes from the displayed menu. A Draw Attributes dialog box is displayed as indicated
below:
The status “Default” indicated that it follows the option selected in Options menu/Drawing
Defaults. The user can override this by selecting Hide/Show from the Draw attributes of the
specific model.
DYNSIM modifies the parameters to reflect the type of failure. Also, the
selected points are appended to the bottom of the window. The values in this
window update dynamically as the malfunction executes.
To enable an option, you must check the checkbox as well as providing the
desired parameter information.
7. If you want the malfunction saved for later recall, click the Save button.
When the malfunction activates, the Activate button becomes a Deactivate button.
You can prematurely terminate the malfunction by clicking this button.
1. Click the Malfunction Summary button at the top of the Active Malfunctions
pane.
Click the Edit button at the top of the Malfunction Summary window.
If you do not want to modify the operating parameters, skip to step 8 of this
procedure.
DYNSIM modifies the parameters to reflect the type of failure. Also, the
selected points are appended to the bottom of the window. The values in this
window update dynamically as the malfunction executes.
To enable an option, you must check the checkbox as well as providing the
7. If you want the malfunction saved for later recall, click the Save button.
1. Click the Malfunction Summary button at the top of the Active Malfunctions pane.
Or
Click the Delete button at the top of the Malfunction Summary window.
Scenarios
Scenarios area programmed sequence of actions, such as setting parameters, triggering
malfunctions or executing a Trainee Performance Monitoring (TPM) exercise used to perform
repetitive set of commands. The execution of an exercise initiates individual operator actions at
configurable time intervals, such as opening a valve or starting a motor.
• Overview
• Executing a Scenario
• Scenario Commands
Overview
The Scenario tool allows the user to save a sequence of actions, such as starting a pump,
activating a malfunction, or setting a demand, to a file that can be edited. The file can be
generated by selecting a Record button or by typing the commands to a text file. This file can be
executed using the Playback feature at any time the simulator is running.
The steps listed in a scenario file might include restoring an Initial Condition (IC) or Snapshot,
starting a pump, placing a controller in manual and setting the output, waiting for a tank to fill,
placing the same controller in automatic and setting a demand, then freezing the simulation and
saving an IC.
• Activate/Deactivate malfunctions
• Save/Restore snapshots
• Remote functions
Scenarios can also be used for engineering studies and has the following features:
Click the Scenario icon present in the GUI or press F12. The Scenario Manager Table is
displayed.
Click the Import button on the menu bar of the Scenario Manager table or select Alt – I
To generate a New Scenario through Scenario Manager, Click the icon on the toolbar.
To proceed further, perform the following actions:
Type the appropriate text in the fields Scenario Name, Description and Author.
A Text editor for the new Scenario is displayed. In the Text editor, Scenario
commands can be written.
c. Click the Save button, to save the Scenario. The saved status is displayed at the
bottom of the Text editor. The newly created scenario can be viewed in the Scenario
Manager table.
a. Click the Start Recording button on the Scenario Manager table toolbar.
It starts recording the events and a Snapshot is taken immediately.
This button is used to toggle the scenario either to start or stop recording.
The button changes to a flashing red to indicate that the recording is in progress
and also the label of the button is changed to Stop Recording
b. Click the Pause Recording button to temporarily stop the recording of events.
This feature prevents long or inappropriate Wait times to allow the user, time to
consider his next step.
c. Click the Pause Recording button again to resume the recording session.
The user can write comments on the recorded script or modify the session. Refer to the
topic Scenario Commands for a list of commands.
The Scenario Manager lists all the scenarios stored on a particular system. Actions such as Edit,
Delete, Import and so on, can be performed through Scenario Manager. The Scenario Manager
toolbar has the following buttons.
The Scenario Summary window is displayed by clicking the Scenario Summary button on
the main toolbar.
Import Allows a scenario to be imported from a file. The file should be saved as a
scenario script file (.ssf)
Export Allows a scenario to be exported to any folder location. The file is saved with an
extension .ssf
Recording
Recording
The Scenario Summary table provides additional details such as Step Number, Current Point
Value, Target Point Value, Step Elapse Time and Scenario Elapse Time. These details help the
engineer to keep track of the progress of the Scenario run.
The Scenario Summary table displays the point values in current UOM slate engineering units
and not in DYNSIM Internal Units.
Step Number Displays the current step number the scenario is executing
Current Point Displays the current value of the particular parameter used in WAIT UNTIL <>
Value command; for WAIT <> command, displays the elapsed WAIT time.
Target Point Displays the target value for the WAIT UNTIL <> command; for WAIT <>
Value command, displays the total WAIT time.
Step Elapse Displays the elapsed time for that particular WAIT <> or WAIT UNTIL <>
Time command.
Scenario Displays the total elapsed time since the scenario started.
Elapse Time
Run Mode
Engineering Scenario: As mentioned above, Engineering Scenario allows the user to save a
sequence of actions, such as starting a pump, activating a malfunction, or setting a demand, etc.
The file can be generated by selecting a Record button or by typing the commands to a text file.
This file can be executed using the Playback feature at any time when the simulator is running.
When a pre-defined scenario is selected in ATE mode, operator actions are recorded with unique
identifiers: OP for operator when the command is completed using the DYNSIM interface, and
PERFORM when the command is completed using other operator interfaces. Please refer to
Automated Training Exercise section for more details on functionality of ATE.
Playback: The Engineering scenarios or ATE scenarios can be played back at a later time using
playback client. This can be used by the instructor to review the operator actions performed using
ATE scenarios.
Executing a Scenario
3. Click the Run button to execute the scenario. The command execution along with the
running status can be viewed in the summary table.
5. Once the execution of the scenario is complete, a window displays a feedback message.
The scenario can be stopped prior to its completion by clicking the Stop button. When the
Stop button is clicked, a popup window is displayed to verify that the user wants to stop the
scenario execution.
3. Click OK button.
4. Modify the file as desired. Refer to Scenario Commands for a complete list of
commands.
5. To save the scenario, click the Save button. The saved status is displayed at the bottom
of the text editor.
3. The scenario can be opened by using the Edit option available on the menu bar or by
selecting the scenario and right clicking to select the scenario.
Clicking the Print button displays “Select Scenario for printing” dialog where user can
select multiple scenarios for printing.By default, Selected scenario will be checked for
printing.
4. On clicking “OK” from the above window results in the Printer dialogbox and user can
select various options like Paper size, Orientation etc.
1. Hide Column
This option displays a window showing the visible columns. To hide a column, select
the desired field from the window. For example, to hide the author column, select
Author.
Click OK. The Author will not be displayed in the Scenario Manager table.
2. Show Column
This option shows the hidden columns. To view hidden columns, right-click and select
Show Column.
Click OK. The Author column is displayed in the Scenario Manager table.
Scenario Commands
The scenario files are simple text files, which can be edited inside the Scenario Editor screen.
Following commands are recognized by the application.
Commands Description
“//” The Lines starting with “//” are treated as the Comments.
Example:
Load IC 23;
“;” The semi-colon acts as the character for termination of current command.
Example:
Time Units Scenarios recognize three time units, namely, sec, min and hr. The default is
seconds. A comma-separated list of these three units is also recognized.
UOM override Several scenario commands act on a point to change its value. In these cases,
for points the value may be specified in units convenient to the user by overriding the
point’s internal unit-of-measure. The UOM override should be specified in
curly braces with no space after the point name. Some examples are:
// Wait until the level in ft of vessel V1 is greater than 3.0
Commands Description
Equations Some scenario commands allow equations. Equations may use the following
mathematical/logical operators and functions.
Operators: +, -, *, /, ^
Logical Relations:>, <, =, >=, <=
Logical Commands: IF
Functions: MIN, MAX
Commands Description
Set The Set command will change the value of a process variable.
Example:
Step The Step command increments or decrements the current value of a process
variable with a specified step size to the new value. The Step command
assumes time in seconds.
Example:
Wait 30;
Commands Description
By default, the scenario continues to the next step before the Ramp command
is complete (parallel operation). To prevent further execution, add a Wait
command of the same time interval as the Ramp command.
The current and target point values will not be displayed when RAMP
command is executed.
To monitor the RAMP status in the scenario window, include a WAIT UNTIL
command next to the RAMP command as given below.
Example:
Wait 5;
Commands Description
Pulse The Pulse command sets any process variable to any explicitly defined value
for a fixed duration of simulation time. The Pulse command assumes time in
seconds. By default, the scenario continues to the next step before the Pulse
command is complete (parallel operation). To prevent further execution,
include a Wait command of the same time interval as the Pulse command.
Example:
Wait 5;
// Or,
PULSE XV1.OP{percent} BY 10 FOR 5;
Commands Description
Runscript The Runscript command runs the script specified in the directory. Specify the
name of the script along with the complete directory path.
Example:
Export Historian The Export Historian command exports data for the points specified in the
Data Historian. A data collection set can be VERYFAST, FAST, MEDIUM,
and SLOW. The data of different points exported for a particular time is
separated by a comma or a tab stop as specified by the file format. The file
format has to be CSV or TSV.
The data is exported to a new file, which is automatically created with the
date and time and is saved in the default location.
..\\SIMSCI\DSS4x\Simulations\<SimulationName>\Historian_<time>
Command format:
Example:
Load IC The Load command will restore the specified Initial Condition.
Example:
Commands Description
Save IC The Save command will save an IC with the current operating conditions
Example:
Flush The Flush command flushes the data historian. This command might be used
when performing an engineering study where an IC is restored but the history
is saved with this IC is not desired.
Example
Activate Malf The Activate Malf command activates the Malfunction from Database, if the
malfunction is saved in the Database.
Example:
Activate Malf 3;
Deactivate Malf Deactivate Malf Command deactivates the Activated Malfunction, if the
Malfunction is activated.
Example:
//active malfunction 3
Deactivate Malf 3;
Example:
Commands Description
Start Scenario Use this command to start a scenario from the currently executing scenario.
Specify the scenario to be executed by its number (Scenario ID) or by its
name. Note that the scenario name may not contain spaces or special
characters.
Start Scenario 1;
Start Scenario 5;
Start Scenario 6;
Commands Description
Stop TPM The Stop TPM command will stop the running TPM started with the Start
TPM command. As with Start command, this command requires a TPM
number. The Stop TPM command automatically saves the results of the TPM
so that there is no need for a Save TPM command.
Example:
Prompt The Prompt command pauses further execution of the scenario and a dialog
box pops up. The title bar of the dialog box contains the scenario name. The
dialog box contains the user-specified message and two options - one to
CONTINUE the execution of the scenario and the other to STOP the further
execution of the scenario.
Example:
Wait The Wait command stops processing the next line in the scenario until the
prescribed time has elapsed. The command is followed by a value, and time
units. The time units are in seconds if not specified.
Example:
Set XV1.OP = 1;
Set XV2.OP = 1;
Commands Description
Wait Until The Wait Until command waits until the relation defined returns True.
Example:
Timed Actions The SIMTIME and CLOCKTIME commands trigger actions based on
simulation time or system clock time.
Example:
Save IC The SAVE IC command in scenario has been enhanced to provide and IC
Description description at the time of saving the IC. The modified syntax is:
Example:
Timed Actions
A few points to consider while using the Timed Action commands in a scenario;
The maximum limit of CLOCKTIME is 23:59:59. Any actions specified beyond this will not be
performed since it spills over to the next calendar day. Actions configured for the same date only
can be performed.
SIMTIME format is the same as it appears on the simulation control panel, ie HH:MM:SS. In this
case HH may exceed 24 hrs. Alternatively, it may also be expressed in DD:HH:MM:SS format.
In one statement a single action can only be specified. If more actions need to be triggered at the
same triggering time, they may be specified in another statement with same condition.
If any of the actions of the scenario reset the simulation time (like load IC or start TPM ), the
timer for SIMTIME will be restarted and will wait for the target time to trigger the timed
actions. In case the stored time in the IC is beyond the target time of any of the timed actions,
those actions will be skipped.
Scenario will be completed only after all actions including the timed actions are completed.
EventLog is accessible from the Engineer mode to monitor the status of timed actions. Unlike the
Instructor mode, the logging has to be manually started in a session.
Precautions / Limitations
The WAIT and PROMPT actions are prohibited from the timed actions as it
might block remaining sequential actions in scenario.
The CLOCKTIME based actions can be executed only until 23:59:59 on the
same day. It cannot span different calendar dates.
Since the normal (sequential) actions and timed actions happen in parallel, user
need to be watchful about adding FREEZE command in the script. It might
prevent initiating some timed actions based on SIMTIME . After a freeze,
running the simulation manually is necessary for completing the scenario.
The scenario summary table will display only the normal (sequential) action in
the table including the current and target point values for the WAIT.
Various colors are exhibited in the Scenario Summary table depending upon the status of
the scenario and user selection.
Example:
• Overview
• Scoring Methods
• TPM Report
Overview
The effectiveness of such a training program greatly depends on the trainee’s performance
evaluation procedures.
The Trainee Performance Monitoring (TPM) tool provides the instructor with mechanisms to
monitor and evaluate a trainee’s performance in operating a simulated process plant based on a
set of pre-defined criteria.
The instructor defines bounds for critical parameters for each training session within which the
trainee must operate the unit to obtain a high score.
There are two forms of TPMs. The first is a generic TPM “Template” which is created by an
Instructor or an Engineer. In a TPM template, the Instructor defines the critical parameters, the
bounds for each parameter and a method of scoring for the TPM Exercise. After a TPM template
is started, run, and completed, the results can be saved as a TPM “Exercise” for the specified
user. Each TPM Template and a TPM Exercise has a unique identity in the form of a TPM ID.
The TPM Summary Table lists both types of TPMs. The TPM Templates are identified with a ‘T’
and TPM Exercises with an ‘E’ in the TPM summary table. A pre-formatted report for every
TPM exercise is available in the TPM Summary Table.
The following list provides the salient features of the TPM tool:
• The instructor can list the names of trainees involved in the training, along with any
additional comments that are pertinent to the session.
• A TPM exercise can be set up by the instructor to start from a previously saved IC. For
example, if the TPM session was to test the trainee’s performance in ramping a power
generation unit from 100 MW to 200MW, the instructor can configure a TPM to load a
previously saved IC (that had 100 MW load level) prior to starting the training exercise.
It is suggested that the instructor load the desired IC and run the model prior to
starting the TPM session. This will allow the trainee to get familiar with the new process
conditions.
• Trends for the critical points can be associated with the TPM Exercise.
• Any number of points from the simulation can be monitored in a TPM session.
• Any valid point can be used to specify the High or Low limits, thereby allowing the
limits to vary dynamically during an exercise.
• The instructor can assign weight to a parameter based on its criticality to the process.
• When using the Integrated Error approach of scoring, the instructor has to specify
maximum (HH) and minimum (LL) limits within which the trainee must operate to
obtain a high score. These values are used to normalize the Integrated Error score.
• When using the Integrated Error approach of scoring, the instructor can specify the HH
Grace period (in seconds) and LL Grace period (in seconds). This period provides the
grace period above the HH Limit or below LL Limit within which a trainee will not be
failed. This period is applicable per instance but is not cumulative.
• When using the Integrated Error approach of scoring, the instructor can specify the HH
Penalty and LL Penalty. The total penalty will be applied in the point score at the end of
the TPM.
• The total time of deviation for all excursions above and below HH and LL apart from the
individual time of High and Low excursions are displayed in the TPM results.
• If the HH or LL limits are crossed, the TPM exercise will continue running. If a
point goes out of range, then the score is set to zero. The point name, time, and
the limit crossed are shown in the TPM report.
• The number of excursions outside the maximum and minimum limits is included in the
results.
• The score for each point as well as the total score for the entire TPM session is included
in the reports.
Scoring Methods
This method is based on the ratio of the time a parameter is above/below the Max/Min
limits to the total time of the TPM run, scaled by the weight assigned to the parameter.
(A perfect score is 100%).
• Integrated Error
This method is based on the ratio of the area above/below the Max/Min limits to the total
area above/below the limits, scaled by the weight assigned to the parameter. (A perfect
score is 100%). This is the default scoring method.
In these scoring methods, the instructor assigns a weight to each parameter that has to be
monitored. The parameters can be assigned weights based on their criticality to the process. The
sum of all weights must equal 1 for a particular TPM session. The total score is the sum of the
weight assigned to each parameter multiplied by the score of each parameter.
Weight = Σi (Weight i) = 1
The time-only basis of scoring measures the time a set of specified parameters deviates from the
specified limits. The calculated score reflects the ratio of time a parameter exceeds the high and
low limits to total time. A perfect score is 100%.
Score = 100 ⋅ 1.0 −
∑ ∆t
t f − t 0
where:
Scoretotal = ∑i Wi ⋅ Scorei
where:
i = Individual variables used for TPM
As a sample calculation, the graph shown lists a single parameter measured over 20 seconds. In
this example, the high and low limits are specified by the time dependent curves HighLimit and
LowLimit, respectively. The parameter exceeded the high limit for 3 seconds and the low limit
for 4 seconds. The score for this parameter, using the time only basis is:
Integrated Error
The integrated error method of scoring scales the deviation based on time, amplitude of deviation,
and the high and low limits. A perfect score is 100%.
Area H Area L
+
HH − H L − LL
Score = 100 ⋅ ∑ 1 −
t f − t0
Area L
Score = 100 ⋅ ∑ 1 − L − LL
t f − t0
Area H
Score = 100 ⋅ ∑ 1 − HH − H
t f − t0
Area H + Area L
Score = 100 ⋅ ∑ 1 −
t f − t0
where:
LL = Low-Low Limit
H = High Limit
HH = High-High Limit
MinDev = (L-LL) Maximum low side deviation used to normalize the integrated error score
MaxDev = (HH-H) Maximum High side deviation used to normalize the integrated error score
If the computed score is a negative value, the trainee’s score is set to zero.
Scoretotal = ∑i Wi ⋅ Scorei
where:
As a sample calculation, refer the previous graph where a single parameter measured over
20 seconds. The parameter exceeded the high limit for 3 seconds and the low limit for 4 seconds.
The score for this parameter, using the Integrated Error basis and MaxDev and MinDev values of
1.0 is:
2 0 0 9 0 0
3 2 1 10 1 0.5
4 3 0.5 11 2 0.5
5 0 0 12 1 0.5
13 0 0
1.5 1.5
Considering that the HH Penalty and LL Penalty is 10 for each excursion and HH Excursion &
LL Excursion is 1(refer above graph), the total penalty is calculated below:
The TPM tool allows the instructor to fail (score of 0) a trainee if a monitored point goes
above the HH limit or below the LL limit and has expired the grace periods. If the HH or
LL limits are crossed, the TPM exercise will continue running. If a point goes out of
range, then the score is set to zero and the point name, time, and the limit crossed appears
in the TPM report.
Score calculation depends on Global UOM slate selection. Please refer to the DYNSIM
UOM documentation to restore UOM slates from s4m file.
To generate or revise a generic TPM template (the first type of TPM), you must have the
permission to configure a TPM, i.e. to be both an Administrator and an Engineer, or an Instructor.
Note that we’ve already typed some data into the window below, and we’ve expanded it
by clicking the Results and Trends buttons.
2. Type a brief description of the session in the Description field. Although this
information is optional, its inclusion is recommended.
DYNSIM provides data for the only required field: Template Number. If you
manually override this number with the number of an existing template, the new
template will replace the existing template.
4. Specify the parameters to be monitored during the training session. For each variable:
b. Click the Add button to add the variable to the end of the list
OR
Specify the desired location for the variable by typing the appropriate number in
the Insert At text field, and then click the Insert At button.
c. Assign appropriate weight fractions to the points. Note that the sum of all
weights should be 1.
d. Define the desired Low and High limit values for the point into the Low
Limit and High Limit text areas, respectively. You can specify either a
point value or a fixed value for the maximum and minimum fields.
e. The Low Limit and High Limit can be a dynamic limit, thereby allowing the
f. Define Low Low Grace period and Low Low Penalty. This will be applied
when score method is Integrated.
g. Define High High Grace Period and High High Penalty. This will be applied
when score method is Integrated.
h. For the integrated error equation for scoring, define the LL limit and the HH
limit for the point in the LL limit and HH limit text areas, respectively.
i. Select the ‘Bounds Fail’ option for each TPM point to indicate that failures by
exceeding bounds (after consuming grace period defined for LL and HH Limit)
are used for scoring. This option is disabled by default.
5. If you want the TPM session to start with known operating conditions, type the
appropriate IC number into the IC Number text area.
6. If you want to view a trend group during the TPM session, click the Trends button at
the top of the TPM window, then enter the desired information in the trends fields.
After entering the trend name, click Add, Delete, or View button to add the trend to
the TPM template, remove the trend from the template, or display it immediately
without adding it to the template.
7. Click the Save button to save the TPM template. Note that you don’t have to supply
any additional information. DYNSIM identifies the template by the TPM ID.
From the Tools menu, select TPM Summary or press F11 on the keyboard.
The TPM Summary window separately lists templates and completed TPM Exercises. Here is an
example:
The drop-down menu allows you to select Templates or Exercises. In the illustration above, All
TPMs is selected to display all the TPM Templates and exercises. To display only the templates,
select TPM Templates from the drop-down menu. To display all the TPM Exercises, select
TPM Exercises for all users from the drop-down menu.
Note that each TPM session in the Summary Table has a unique TPM ID and Exercise ID, and
templates do not include the runtime data such as start and stop times.
The TPM Summary window includes the: View, Run, Edit, and Delete buttons:
View Displays the selected Template or an Exercise report on screen. You can request a
hard copy report from the onscreen report window. You cannot edit or run a
Template in View mode. An Exercise in the view mode will have all details of the
Exercise along with the scores.
Run Available for TPM Templates only. Displays the selected template with the Start
button enabled.
Edit Available for TPM Templates only. This is the same as View mode, but includes
the ability to change selected information and then re- save the TPM Template.
You cannot execute a template from the Edit screen.
1. Select the TPM Template from the TPM Summary table and then click the Run button.
Refer to The TPM Summary Window above.
2. Make any desired changes to the displayed template. This is a good time to add trainee
names, comments, change the scoring equation, etc. Remember that these changes are
in effect for this training session only. They are not saved with the template but are
saved in the Exercise. A global option to change the trainee name is available under
OptionsChange trainee in the instructor environment that will reflect in the TPM
template.
3. Trends can be configured for the respective templates and can be viewed along with the
exercises
4. Click the Start button. This will ask for an IC load that has been defined in the
Template. Multiple TPM sessions can be invoked either manually or automatically
through the scenario. The list of running TPMs along with scores and IDs is displayed
in Active TPMs’ Pane as following:
5. Stop the individual TPM sessions by double-clicking the respective TPM session (to
bring up the corresponding session), and then clicking the Stop button.
6. To view the onscreen session report, click the Report button in summary window.
7. If any template is configured with the “bounds fail” option and during runtime if a
trainee fails (after consuming the respective grace periods), the following pop-up will
appear to indicate that the trainee has failed the exercise:
3. Select (highlight) the desired Template to be modified from the displayed list.
You are permitted to change any field that has white content.
5. Click the Save button to save the modified template OR the Save As button to save
the changes as a new TPM ID.
2. Choose TPM Exercise for all users from the drop-down menu.
2. Choose TPM Exercise for all users from the drop-down menu.
4. Clicking the Print button displays “Select TPM Exercise for printing” dialog where user
can select multiple exercises for printing.By default, Selected exercise will be checked
for printing.
Clicking the OK option displays the Page setup dialog box, where user can
choose page properties... and clicking OK or Cancel on this window results in Print
dialog box with all the custom properties chosen by the user.
2. From the dropdown menu, choose TPM Templates to display templates, or choose
Exercises for all users only to display completed sessions.
TPM Reports
1. Select an exercise, and click the Report button in the TPM Summary window, to view a
sample report.
2. When using the Integrated Error method, if a point goes out of range (below LLL
or beyond HHL such that the score is set to zero), the point name, time, and the
limit crossed are shown in the TPM report.
Currently, ATE is not supported for all the engines. It is supported only for the following engines:
DYNSIM, SCP, TDCSIM, OPCServer, OPCGateway, and SCPEngine.
The DYNSIM interface must be in Operator mode, as opposed to Engineer or Instructor mode
when running an ATE.
When the ATE is complete, a new scenario file is generated that contains the commands of the
original file, plus the commands completed by the operator. The original scenario file might
contain malfunctions, start and stop a TPM Exercise, or prompts to give direction to the operator.
The new scenario file will contain these commands (except Prompt command) plus the actions
the operator took, such as opening a valve, starting a motor, or changing the demand of a
controller. The new ATE scenario can be played back at a later time by the instructor to review
the operator actions.
LOAD IC 2;
RUN;
ACTIVATE MALF 1;
WAIT 6;
DEACTIVATE MALF 1;
OP SET M1.CL = 1;
In this example, the original scenario commands generated prior to the ATE are listed first. The
scenario restores Initial Condition 2, runs the simulation, and waits for the operator to open a
valve prior to initiating TPM 32. A predefined malfunction is activated, then deactivated. Finally
the TPM Exercise terminates when main steam pressure, HMS.P, increases above 500 psia. The
operator actions at the DYNSIM interface represent remote functions not available in the DCS.
The operator opened valve V1 to 100 % and started motor M1. Using the DCS, the operator
started motor 002MFE.
Whenever ATE is executed, it starts recording the events and a snapshot is taken
immediately.
After selecting the icon, the Scenario Summary popup window displays:
Highlight a scenario and select the Automated Training Exercise button. Finally,
select Run. When the ATE is complete, a window will popup similar to that listed below.
The Scenario Summary window should not be closed, can be minimized while executing
ATE.
Event Log
The Event Log records all the Instructor and Operator actions. These actions are recorded in
chronological order and stamped with the simulation time. In addition to logging the events in a
.txt format in “..\Simsci\DSS50\eventLog.txt,” you can view the events in Event Log Viewer GUI
by clicking Event Log on the Tools menu.
Event Log is available in the Instructor environment and is turned on by default. It can be turned
off by the instructor by clicking Stop on the Event Log Viewer GUI.
Whenever Event logging is stopped or started, or any changes are made to the environment, a
message appears in the Message Monitor indicating the changes made. The source/origin (engine
type) of the action is indicated in the Event log file as following:
Data Historian
This topic includes the following topics:
• Overview
Overview
Data Historian (DH) refers to collection and storage of data over time. DH supports data
collection and trend requirements for OTS and engineering studies. For engineering studies, the
data from DH can be exported to Microsoft® Excel spreadsheet or other program to create a
detailed report.
All points and model parameters are candidates to be added in DH. There are four predefined data
collection sets . Very Fast, Fast, Medium and Slow. You can configure the duration of these
collection sets. The respective default durations are 1 min, 10 min, 1 hr, and 8 hrs.
Number of data points in a collection set = Very Fast Duration / Simulation Time Step.
Example: With simulation time step 0.25 sec, default number of points for each set is 240, and
default interval for the collection sets is 0.25 sec, 2.5 sec, 15 sec, and 2 min, respectively.
By default, the data is collected for Fast, Medium and Slow collection sets. You can enable the
collection sets for each parameter in the DH GUI.
If the simulation is frozen in between, and restarted again after some time, DH maintains the
continuity of values. DH data is flushed when the simulation is shutdown or when an IC is
restored.
A point added to a trend is automatically added to the DH table. Alternatively, points can be
added to the DH table using the DH GUI. A point in the DH can exist in more than one trend.
When a point is deleted in the DH Manager its status is shown as "Deleted" in Trend. When a
point is deleted from a Trend, it is not deleted from DH. You have to explicitly delete it from the
DH table.
You can export data for all the points in the DH table to a comma-separated file. Default location
for the file is " C:\SIMSCI\DSS43\User\file name.csv ". You can export data for select points
using the Data Historian Manager. For the points added to the Data Historian, the export
checkbox is enabled by default.
The Data Historian has a check box titled 'Export in DYNSIM Internal UOM’. In case a data
export operation is performed with the check box checked (default option), the Data stored in the
Historian will be exported in DYNSIM Internal Units.
To export in display UOM, the check box will have to be unchecked prior to exporting data from
the Historian. This will apply to both CSV and TSV export formats.
The data saved from the Trend window will be governed by the Data export option selected in the
Historian. In case the 'Export in DYNSIM Internal UOM’ check box is checked in Historian
(default option), data saved from Trend will also be in DYNSIM Internal units depending on the
native Internal UOM slate of the Engine with which the point(s) are associated.
Similarly, if the checkbox is unchecked in the Historian, the data saved from Trend window will
be in the display UOM. The only difference in case of Trend will be that in case the local point(s)
display UOM are modified in the Trend, the Global Display UOM will be overridden by the local
trend UOM while saving data from the given Trend window. Therefore, the data in the saved file
will be exactly the same UOM as displayed on the Trend screen.
The export format is as follows: The first row in export is a parameter name, second row is UOM.
First column is time; additional columns are for parameters. Every row corresponds to the same
time variable so they can be combined onto any chart. The CSV looks like:
time,point1_name,point2_name,point3_name
time_uom,point1_uom,point2_uom,point3_uom
Time_value, point1_value, point2_value, point3_value
Time_value, point1_value, point2_value, point3_value
DH Manager
To access the DH Manager, select Data Historian from the Tools pull-down menu OR
Click the DH button on the main toolbar. The Manager is displayed as shown below:
Default values for interval and duration are shown. You can change these values. You can
enable or disable export status and select the collection sets over which data needs to be collected.
Some utility methods are provided for easy interaction with the DH. You can sort using right-
click menu on the "Point Name" column header. An entire collection set can be enabled or
disabled through the context menu on its column header.
User Template
This topic includes the following subjects:
• Overview
• Saving a template
• Using a template
Overview
You can save a single model object or multiple model objects as a template. The template retains
all the draw attributes, model parameters, components and method slates of the original model
object. If the target engine or flowsheet does not have the component and method slate saved in
the template, the default component and method slate is used.
Saving a Template
To save a single model object template, right-click a model object and click Save as
Template.
To save a multiple object template, select the desired objects, and then choose Save as
Template from the Edit menu.
Using a Template
To use a template, find it under the User Template node in the Types tab, and drag it to the
canvas. Dropping a template object onto the canvas creates multiple copies of the parent object.
Templates cannot be used if the classes are not supported by the target engine. An error message
appears if you try to use the templates in a DYNSIM engine different from the one in which it
was created.
Templates are saved as XML files containing information about the draw attributes and model
parameters of the parent object, and are saved in the “C:\SIMSCI\DSSxx\User\Template” folder.
The XML files are available across sessions and can be manually transferred to other DYNSIM
installations.
To rename or delete a saved template, right-click the desired template and then choose Rename
or Delete, as necessary.
Note: For more details on template preset nomenclature, see the Auto Naming Rulebook section.
• Overview
• Exceptions to Rules
Overview
The Auto Naming Rulebook allows you to specify rules to automatically generate names of
objects when they are dropped onto the flowsheet. The rules can be specific to the flowsheet, to
the object classes, or to both. The rules can be activated or de-activated as desired.
Rules are specific to the simulation and saved along with the simulation file. If the simulation is
opened in another installation, it has these rules available until they are removed or deactivated.
Rules can be exported as an XML file and can be imported to other simulations if the flowsheet
names match.
On the Options menu, click Edit Autonaming Rules. The Auto Naming Rules window
appears.
1. Flowsheets available in the selected simulation are displayed under Configure the
flowsheet specific tokens.
3. Tokens that you want as prefixes for the object names can be configured under FSIDs.
4. The FSIDs can be referred to while configuring rules specific to the object class.
5. When flowsheet rules are active, the flowsheet tokens added together act as a prefix for
the object names of all the objects dropped onto the flow sheet. This is applicable for all
the classes of objects where a class specific rule is not configured or when all class
specific tokens are blank.
6. When a flowsheet is deleted or does not exist any longer, the corresponding row is
automatically deleted from the list of flowsheets.
Configuration of Object Class Specific Tokens
1. A model connector class (“Process Stream” for Dynsim engines) with blank tokens is
displayed in the table.
2. If no rules are configured for a model or point class, or if they are blank, the prefix is all
FSIDs (configured in flowsheet rules) added together for the corresponding active
flowsheet rule.
3. A Model or point class can be added to the table by double-clicking the selected class in
the Types tree. They can also be added by dragging a class from the Types tree or
Icon Palette to the table. The operation is similar to that of creating an object on the
flowsheet.
4. If rules for the flowsheets or model objects are not active, the DYNSIM default name is
used.
5. The Preview Column displays the auto-generated name for an object class for the first
flowsheet.
6. A “$” symbol configured in the table is substituted for the auto-incremented number for
the model object when created on a flowsheet. If no “$” symbol is specified, the auto-
incremented number is appended at the end.
7. The selected row can be deleted by clicking the Delete button available at the bottom
of the table.
INDEX1 or INDEX2 Keywords for Copying Objects and Templates in Bulk
These special keywords are provided to customize the process of copying objects or templates
that contain multiple object elements. During these operations, generally, the auto-generated
names for the target simulation are used.
If the object name contains INDEX1 or INDEX2 keywords, you can customize the substitute
string for the keywords.
When the name is auto-generated for the objects containing the common strings, the auto-naming
rule is ignored and the common string is replaced with the string provided by the user. For
example, if the object names are PCINDEX1 and PTINDEX1, the auto-generated names are
PC1000 and PT1000, where 1000 is a value provided by the user for INDEX1, irrespective of the
custom rule.
According to the rule precedence, the auto-generated name follows the following order:
1. Names containing the special keywords, INDEX1 and INDEX2.
2. Object class specific rules configured by the user.
3. Flowsheet prefixes configured by the user.
4. Dynsim default name patterns.
Rule Exceptions
The customized rules are applicable only to the objects created on the flowsheet using the GUI.
These rules are not applicable to any other objects, including
• XML restore
• PRO II translation.
• Keyword file import.
Units of Measure
This topic includes the following subjects:
• Overview
• Create/Select/Copy/Rename/Delete a Slate
• UOM Override
Overview
Almost every item of data that you input to a model has a unit of measure associated with it. Most
have alternatives: For example, length can be measured in feet, meters, miles, or kilometers, and
temperature in °F, °C, °R, or K. For the user's convenience, DYNSIM has several pre-defined
units of measure slates including English, Metric, and SI. Each set has predefined units for each
data item. By selecting a set of units, then globally overriding some of the predefined units and
then more specifically overriding those units for any individual data item, the user is afforded a
great deal of input flexibility.
• Slate selection – You can select a slate for use as the unit of measure preferences for
input and reporting.
• Slate management – You can create customized unit-of-measure slates based on existing
slates such as Metric and English.
When a customized unit-of-measure slate is defined for a simulation and the simulation is saved,
the slate is exported to a file UOMSlate.xml. This xml file will be saved as a part of the .s4m file
associated with the simulation if the "Save All UOM slates with s4m file" option is chosen. "Save
All UOM slates with s4m file" is a user preference that persists for each DYNSIM installation
accessible from the Options menu.
This feature gives the user the flexibility to move simulations from one installation to another and
have all the custom UOMSlates available in the new installation as well.
"Restore All UOM slates from s4m file" is a user preference that persists for each DYNSIM
installation accessible from the Options menu. If a simulation file has custom UOM slates saved
with it and the "Restore All UOM slates from s4m file" option is on, the user is given the option
to reset the global UOM slate. If user chooses ‘Yes’, the global UOM slate will be reset to the
UOM slate used at the time of saving the simulation file and the associated custom UOM slates
will be copied. If user chooses ‘No’, the custom slates available with the simulation file will still
be imported to the target installation, but the global UOM slate will not be altered.
"Auto Global UOM Reset" is an option to reset the UOM slate globally for the simulation it is
saved with.
When you move simulations from one installation to another, and if the custom UOM
slates associated with the simulation are already available in the target installation, the slates
existing in the target installation are used. Users can overwrite the slates existing in the target
installation by first deleting them and then re-opening of the simulation, which has the desired
definition for those slates.
Slate Use the pull down list to select a slate for use. The Class and Unit list
is updated to reflect the units-of-measure that will be used for each
unit-of-measure class.
Class Lists the unit-of-measure classes (temperature, pressure, etc.). Any unit
in a class can be converted to another in the same class, but units in one
class cannot be converted to those in another. For example, kPa can be
converted to psia, but kPa cannot be converted to F.
Override A read only checkbox to indicate a unit override is in place for this
slate.
New Slate/Copy Slate Allows the user to Create a new unit-of-measure slate.
Delete Slate Allows the user to Delete active non system slate.
Delete custom slates Allows user to delete custom slates. Upon selection of this button, all
the custom slates associated with the installation with checkbox option
appears as below.
The icons that appear next to each slate name indicate its characteristics:
Locked The slates can be used, but not modified or deleted. It could be either:
• A slate in the system preferences to which the user has only read
access.
Unlocked The slate is in the system preferences and the user has write access.
Note that changing such slates affects other simulations.
Create/Select/Copy/Rename/Delete/Modify a Slate
Select Units of Measure from edit menu or click the UOM icon on the toolbar. The
UOM window is displayed.
2. The New UOM Slate dialog box appears. Enter a Slate name.
3. Used the Based On pull down list to select a basis for the slate.
To select a slate:
1. Use the pull down list to select a slate.
2. Click OK.
To copy a slate:
1. Use the pull down list to select a slate.
2. Click Copy Slate.
The UOM Copy Slate dialog box appears.
3. Enter a Name for the slate.
4. Use the Copy From pull down list to select the basis for the copied slate.
5. Click OK.
Once a slate is copied the individual class item units of measure can be modified.
To rename a slate:
1. Use the pull down list to select a slate.
2. Click Rename Slate.
The UOM Rename Slate dialog box appears.
3. Enter a Rename To name for the slate.
4. Click OK.
Once a slate is renamed, the individual class item units of measure can be modified.
To delete a slate:
1. Use the pull down list to select a slate.
2. Click Delete Slate.
The Delete Confirmation dialog box appears.
3. Click Yes.
To delete custom UOM slates:
1. Click Delete Custom Slates.
The select slates to delete window appears.
2. Upon selection Click Delete.
To modify a unit-of-measure in the current slate:
1. Double-click on the unit-of-measure class you wish to change. The Change Unit-of-
Measure dialog will appear.
2. Select the Default radio button to restore the default Unit-of-Measure. Select
Custom to choose an override Unit-of-Measure.
3. Click the Change button to confirm the choice.
4. If you have selected the Default radio button, the default unit-of-measure will appear
in the Unit column and the read-only Override checkbox will be unchecked. If you have
selected a Custom unit-of-measure, then the read-only Override checkbox will be
checked.
For some slates, the label Custom (Shortened) is used instead of “Custom.” This is to
indicate that, by design, the selection is from a shorter list of choices. For example,
HEXTRANTM based slates have a shorter list of “common” Area choices, limited to ft2 and m2.
You cannot modify the units-of-measure for a locked slate, such as "SI.” To create a
custom set of "SI" units, you must first create a new slate based on "SI.” Then, you can modify
the units-of-measure for the new slate.
UOM Override
DYNSIM allows the users to override the UOM in simulation equations and parameter
assignments. The UOM override feature can be invoked by specifying the abbreviation of the
desired UOM within brackets {} suffixed to the parameter.
In the example, parameter V1.T (temperature) is assigned the UOM degree centigrade. Any
change in the global UOM slate or even changing the slate will not affect the UOM of the point
V1.T.
The UOM override feature is presently available for the following utilities:
• Point Monitor
• Point Reference
The details of the UOM override feature applicable to the utilities are explained below:
In the example, value of TAMBIENT is converted to degree centigrade from the internal
UOM of degree Kelvin before being used in the equation. In the second case, the
parameter V1.T will be converted to degree Fahrenheit from the internal UOM of degree
Kelvin before being used in the equation.
The example entry from the Cross Reference utility, takes two pressures PRES101 and
PRES102 from the DYNSIM engine, converts them to psia from internal UOM of kPa, and
places the pressure difference in parameter PRES201 in units of psia in DYNSIM2 engine.
Point Monitor: UOM override can be specified for a point monitor in a similar way as the
parameter name. The parameter view will always be reported in the override UOM
irrespective of the global UOM slate.
Point Reference: UOM override can be specified for a point reference in the Edit window
of the parameter reference. The parameter will always be displayed in the override UOM
irrespective of the Global UOM slate.
An example of the UOM override in point reference is shown in the figure below.
In this point reference example, the V1.T parameter is displayed as per the global UOM
(DYNSIM Internal Units) on the flowsheet canvas. However, the second point reference
with the UOM override applied will always show the value in degree R irrespective of the
global default UOM.
Syntax
The syntax of specifying the UOM is to suffix the desired valid UOM for a given point or
parameter inside curly brackets without any trailing space between the parameter name and the
curly bracket.
V1.T{C} Correct
V1.T(R) Incorrect
Use of incorrect syntax in an equation block or utility will result in an incorrect syntax
error message.
Search
This topic includes the following subjects:
• Overview
• Search GUI
• Search Criteria
• Examples.
Overview
The “Search” feature locates all occurrences of a model type, parameter name, or string in a
simulation database with an option to display parameters of a model type whose values have not
been modified from their defaults.
Search GUI
Option 1 - By default, the Find in database option is selected. This option locates the
occurrences of a model type, parameter name, or string in the simulation database. The parameter
names located by this search will have non-default values. Use Option 2 to find parameters with
default values and non-default values.
Find What
Typing an input string in the Find What box lists all the occurrences of the input string
with search made over given search specifications.
The search can be narrowed by selecting the input string to be an Object Instance, Model
Type, Parameter Name, or a String. By default, the Object Instance option is checked.
The Whole words only search treats the input string as a whole word, searching for
an exact match of the input string. A whole word is determined by the delimiter of white
space, or any non-alpha or non-numeric character (i.e. decimal point, math operator,
parentheses etc.).
This search will not produce results where the string (e.g. DA) is a subset of another
string (e.g. DATA).
The Simulation and Flowsheet dropdown list boxes allow limiting the search to
a specific open simulation and a flowsheet within the simulation.
Apply
View
Click View to locate the instance of the respective object, model type, and parameter on
the flowsheet.
Close
Option 2 - Select the Find Parameter option to search for all occurrences of a model type or
a parameter name irrespective of the default values or assigned values.
Refer to the use cases in the Examples section for a better understanding.
Table Columns/Tabs
An individual tab for Model Objects, Parameters, Points, Trends, Monitor, TPMs, Malfunctions,
and Cross References is displayed on the right hand side of the GUI. They allow you to view and
edit the search results for the type of option selected. A single line text message at the bottom of
the screen displays the number of matches found.
The Search functionality allows you to edit the search results. Keep in mind the following when
editing cells:
• Editable cells have a white background, while non-editable cells are shaded.
• The edit results are reflected in all locations where the value is used except in the case of
strings.
• Ensure that the value or syntax of the edited cell is correct, since there is no validation
performed on edited values.
Search Criteria
The Search performed using Option 1 (Find in database) satisfies the following search criteria:
Object Instance
Results Shown in Table If any one of the following is a match
• Assignment
• Equation
Points • Name
• Control variable
• Equation
Model Type
Trends
TPMs
Cross Reference
Monitor
Parameter Name
Results Shown in Table If any one of the following is a match
Model Objects
Points
Malfunctions
Trends
TPMs
Cross Reference
Monitor
String
Results Shown in Table If any one of the following is a match
• Comment
Parameters • Comment
Points • Description
• Comment
Malfunctions • Description
TPM Points
Monitor
Examples
Case I: For all instances of a model type, compare the current assignment of a
parameter against its default value and edit the parameter assignment as needed.
For example, you could view the list of Cv values for all the Valve objects in the simulation,
identify those instances where the assignment has not been changed from the default, and make
the desired changes.
Select the Find Parameter option.
1.
2. In the “Model Type” field, enter the model type. Examples: SOURCE, VALVE,
HEATEXCHANGER.
Example 1: VALVE.
In the “Parameter Name” field, enter the complete parameter name. Example: CV.
Entering only “StateOption” or a part of the parameter name will not return any results.
The full parameter name, as it appears in the OEV, has to be specified while using this
search option. However, this restriction does not apply when the search is limited to the
database.
The TB values for all the instances of the model class SOURCE are displayed including
SOURCE object instances whose default TB values have not been changed.
4. Edit the entries under assignment and ensure that the entered values have the same units as
displayed in the Internal UOM column.
5. The message “Assignment value edited. Click Apply to save changes” displays near the
bottom of the screen.
Case II: To look for a specific parameter in an object instance. E.g. XV1.CV
In the “Find What” field, enter a string of the form: OBJNAME.PARAMNAME, e.g.
XV1.CV
1. In the “Find What” field, enter the equation displayed in the Error Message window.
5. The message “Equation value edited. Click Apply to save changes” displays near the bottom
of the screen.
6. Click Apply to save the changes. The message “Applied changes successfully” displays.
Select “Change Password” from the Options menu. DYNSIM prompts you with the following
dialog:
Select View Environment Access from the Options menu. DYNSIM displays a dialog
listing the environments you are permitted to select:
These cases are the only environments you are permitted to use. To change these permissions,
contact the Administrator.
1. Select Configure User Accounts from the Options menu. The following
dialog displays:
From this dialog box, the administrator can Delete a user account, Change a user’s
password, and specify the permissible environments.
2. To create a new account, type the appropriate information into the User Account field
and both password fields, click the checkboxes corresponding to the desired
environments, then click the OK button.
1. Select Configure User Accounts from the Options menu. The dialog box
shown above displays.
To change a password, type the new password into BOTH password fields then click the
Apply button.
Clicking the Apply button applies the changes immediately. Clicking the Cancel
button after clicking Apply does not reverse the changes.
3. To change the environment type, click the boxes for the desired environment(s), then
click the Apply button.
When desired changes have been made, click the OK button. To ignore unapplied
changes, click the Cancel button.
The privileges for each environment are listed in DYNSIM Environment section
This menu option can be used to export the following for all users to an .XML file, which
can be later used to import in to another installation
• User logon
• Password
• Role information.
This feature is particularly useful for retrieving the user security information from an old
installation of DYNSIM to a new installation.
For this to happen , a user with administrative privileges needs to export the security
information before un-installing the software. Otherwise, all the security information is
permanently lost once the product is uninstalled.
Select Export User Security…from the Options menu. The following dialog appears. Choose the
location and name of the file (use Browse button if needed) and click the OK button.
This menu option can be used to import the following from a text file, which is exported
from another installation of DYNSIM.
• User logon
• Password
• Role information.
. Select Import User Security…from the Options menu. The following dialog appears. Click on
browse button to select the XML file containing user security information.
Conflict arises when the file contains password and role information for accounts that already
exist in the current environment. Use “Update existing accounts?” check box to indicate if it is
ok to overwrite password and role information for such accounts using the information contained
in the file. Click on Import button to proceed. Messages from the server on accounts
created/updated are displayed in the message monitor.
Global Database
The global database is maintained in an ASCII file called S4MGlobalData.dat. The database is
accessible under the Input menu.
The global database may be used when running DYNSIM on multiple machines. When you select
or save a global database, this will be distributed to the simulation file for each of the machines
used to run simulations. This distribution is not done automatically when running the simulation
to allow users to maintain the client machines in the original format, similar to the handling of
snapshots for initial conditions.
File Handling operations for the global database is fairly intuitive. The Save option allows the
user to save changes they made to the database. The Restore Default option allows the user to
restore the latest saved database default. The user could also Backup the information from
DYNSIM to data file. The Use Backup option allows the user to open a previously saved database
backup. The Exit option closes the Database window without saving any changes.
If running multiple simulations, the editor will open with the active FS file title. However, only
one editor may stay open. If the user activates a different simulation the title from the previous
FS will still show on the editor’s window. As this may cause confusion, the user should close the
database editor window when they activate a different simulation. This database can be used
across simulations to ensure consistency between projects.
The information from the database can be referenced by the multiple devices such as pipes to
minimize the effort required to set up and change a simulation. The user may add a data row to
the database by right-clicking on the blank tab to the left and choosing to add a row after or
before the designated row.
Upon making changes to the editor, the user must save the updated database using the file menu.
The global database editor will display data in the simulation units of measure. The data file in
file S4MGlobalData.dat is maintained in standard units of measure for customer support. When
viewing data from the global database editor, you may convert the units of measure to allow you
to compare to a reference source. These conversions are temporary and will not be retained as
part of the simulation.
The global database is divided into three sections for easier browsing. The Pipe_Global section
should be used for quick access to the most common pipe types. The Pipe_Extra_Global section
should be used for all the less common pipe types. The Pipe_Surrounding_Global section
contains an extensive set of data which can be referenced if the information is not found in the
first set of data.
The Pipe_Global and Pipe_Extra_Global section contains most common pipe types including
schedule number, nominal size diameter, thickness, inside diameter, conductivity and density.
The density of stainless steel is used as a default (490.8 pounds per cubic foot). The wall
roughness for stainless steel is used as a default (0.0018 inches). If the user decides to reference
the information in the database, the pipe will calculate the volume, heat transfer area, and metal
mass.
The Pipe_Surrounding_Global is another menu item under Group Name. This information is
referenced by the pipe to either specify or calculate the heat transfer coefficients for the
convective heat transfer, conductive heat transfer, and surroundings heat transfer.
References
The default pipe database provided with DYNSIM 5.0 contains information obtained from the
following reference sources:
2. The high temperature insulation material is a product from “Industrial Insulation group”
named Thermo-12 Gold®. For more information visit:
http://www.hamiltongv.com/DataSheets/Thermo12Gold.pdf
3. The information on Arctic Soil is obtained from the journal of Geophysical Research:
Before exporting or importing a thermo case, you must have already defined (set up) the
Simulation, and the Flowsheet.
An engine doesn't have a case until the SIM4ME Thermo GUI is accessed at least once
and saved.
The edit engine does not get refreshed automatically when a SIM4ME Thermo case is
imported so accessing the SIM4ME Thermo GUI after a case has been imported may overwrite
the import.
1. From the Tools drop-down menu, choose SIM4ME Thermo Case Manager
The thermo cases associated with the simulation are displayed in the Thermo Case
Manager. Select the cases(s) to export.
Enter a name for the file and it is stored in the default location \SIMSCI\DSS4x\User\.
If a file with the same name is already present, an overwrite message is displayed.
Before importing a thermo case, it is assumed that the user has added a new flowsheet with a
different engine to the existing simulation.
Importing an Engine
1. From the SIM4ME Thermo Case Manager, click on (select) the newly added engine
and click Import.
The Import From Folder text area indicates the absolute path of the folder
where the exported .slb files for each of the Engine are located. Browse for the .slb
files if present in a non-default location.
Click Yes to associate the thermo case with the new flowsheet (engine).
To validate if the import was successful, click on the flowsheet and open the
SIM4ME Thermo GUI and check whether the data imported gets reflected in all
Tuning Table
Overview
Using the Model Tuning Table, you can adjust the model static parameters to achieve the required
operating condition. The tuning table helps in tuning the model to a required steady-state during
the model building process and reduces the manual effort involved in adjusting the static
parameters such as conductances, heat transfer coefficients, and reaction rates.
The tuning table uses a temporary PID controller that connects the tuned variable (such as flow
rate) and adjusted variable (such as Valve CV). In the tuning table, you can specify both tuned
and adjusted variables and alter their corresponding PID parameters to achieve the required
results for the entire simulation. The parameters can be added from any engine that supports the
Float or Double data type as input.
Once adjusted parameters reach the required values, you can either delete them from the tuning
table or save them in the database.
To tune a model
2. Click Add as Target and select the variable that requires tuning.
3. Click Add as Adjusted and select the parameter that needs adjustment to achieve the
required value for the target variable.
5. Click Apply.
8. Once the steady-state value is achieved, save the values in OEV by clicking Update in
Database.
9. If required, modify the current value of the Adjusted Variable and save it in the OEV by
clicking Update in Database.
10. Click LF for the data type changes to take effect.
11. If required, delete a row by selecting it and clicking Delete.
12. To filter the variables by name, enter the name of the variable in the Filter Text field.
Once saved, the tuning table data is persistent in the simulation in the form of an
XML file (TuningtableData.XML).
• Any changes in parameter type ( STATIC to DYNAMIC or vice versa ) requires LF for
changes to reflect in the running model. Similarly, any changes in the tuning table take
effect only on clicking the Apply button.
• Watch out for active controllers’ conflict. If any actual controller is associated with the
variable, put it in manual if needed.
• Do not provide too loose or too tight bounds on the variables to avoid wild fluctuations or
winding of the controllers.
• Adjust the proportional gain (Kp) for any changes in the limits to avoid unstable or non-
responsive controllers.
Configuring Defaults
This section details the process of assigning defaults to the model parameters and/or drawing
defaults.
Overview
You can configure the defaults for model parameters and/or drawing attributes using the right-
click menu options available in the “Types” tree. Selecting the “Edit Model Defaults” option will
open the OEV for default parameter modification. Selecting ‘Edit Drawing Defaults” will open
the draw attributes window for the class, which can then be configured. While configuring
defaults, please consider the following points.
• The User Configurable Defaults option is not available for User Templates, Trends, XY
Plots, and Object References.
• The user configurable defaults will be used ONLY for objects created through DYNSIM
GUI. Any other means of creation like XML restore, Bulk Configurator, PRO II
Translator etc. will continue to use DYNSIM original defaults.
User Defaults configured for one simulation can be used in other simulations provided that the
Thermo Slates (Component Slate, Method Slates and Local Thermo/Flash options) are
compatible. If configured, Thermo Slates are not available in the target simulation, and the
default slate for the target simulation (as configured in the Thermo GUI) is used.
User Configurable Drawing Defaults for model objects with a configuration dialog (e.g. PID,
Drum) can be configured by specifying the corresponding model configuration parameter in
OEV. For example, specifying the Drum ORIENTATION parameter in OEV as
HORIZONTAL_BOOT will assign the default icon “Horizontal with Boot.” The configuration
dialog will not appear when a model object is dropped onto canvas afterwards.
The configured defaults will only affect new objects dropped to the flow sheet after
configuration. Existing model objects are not affected.
You can change DYNSIM defaults by right clicking model objects available in the “types” tree
and clicking either “Edit model Defaults” or “Edit drawing Defaults.” Once specified, User
Configurable Defaults are applied to new model objects dropped on the canvas. These defaults
are not applied to model objects already on the canvas. For example, the default Cv for a valve is
set to 50 and the default width is set to 35. When a new valve is dropped on the canvas, it will
have a Cv of 50 and a width of 35.
All User Configurable Defaults are saved in the XML format in the User\Defaults folder.
You can restore the original DYNSIM defaults by clicking “Restore DYNSIM Defaults.” This
menu option is available only for classes where DYNSIM defaults are overridden with user
defaults.
You can undo or redo any of the graphical changes done on the flowsheet and also revert the
model data changes done to the objects on the flowsheet using the buttons on the Undo/Redo
pane on the DYNSIM GUI. You can also use the short cut keys Ctrl+Z and Ctrl+Y for undo and
redo respectively.
The Undo Redo pane on the DYNSIM GUI list the actions performed and supported for Undo
Redo. The two radio buttons on the pane list the actions specifically available for Undo or Redo.
A few points to consider while using this feature,
• On clicking the “Undo “button, the most recent changes are undone. The item
will disappear from the undo list.
• On clicking the “Redo “button the most recently undone change will be restored.
The item will again appear in the undo list.
• While doing any edit actions from winodws like OEV/DEW/Draw Attributes etc
, click on the “Apply” button is considered as one action which can be undone.
This is irrespective of the number of changes done on the window before
pressing the “apply” or “OK” button. In this case, undoing will restore number of
changes done on the window in one go.
• For any edit Window like OEV/DEW/Draw Attributes etc, the window has to be
closed and re-opened to see the effect of Undo/redo operations. Otherwise they
will continue to display the old values.
• The undo redo buffer list will be 15. Once the action list exceeds this size, the
oldest action will be flushed out.
• The buffer is available only in the active session of the GUI. Different GUI
attached to the same simulation will not have the same undo buffer available.
Once the simulation is closed, the undo buffer will be cleared.
Limitations/Known Issues
1. Actions performed through external means (other than Dynsim GUI ) like Bulk
Configurator, XML import, keyword import, PRO II translator etc. cannot be undone.
2. None of the run engine operations like load, LF, LE etc are covered in the scope of
Undo/redo
3. This feature will not cover the following edit operations in other Dynsim windows like
Simulation/Engine configuration, Scenario, Malfunction, TPM, XREF,Point Monitor,
Auto name Rulebook, Tuning Table, Thermo Data changes in MT GUI, Edit operations
done for configuring the user defaults.
4. Validate graphics might interfere with the undo/redo buffer giving inconsistent results.
5. Power library objects may have special object connections which may not get fully
restored on undoing certain operations like delete.
Copy/Paste Enhancements
Overview
The GUI has been enhanced to provide better copy / paste capabilities from Excel into DYNSIM
user interfaces - Data Entry Window, Point Monitor, Tower Viewer and TPM Editor.
The copy/paste of data from Excel to both Point Monitor and TPM table is slightly different with
an option to the user to either insert or overwrite the data in the existing table.Insert option would
always put the data at the bottom of the table. Overwrite would replace the data from the point of
selection in the table. Copy/Paste of any duplicate data would be reported and discarded.
DYNSIM provides the facility for password protection of user selected flow sheet(s). This is to
protect the confidential data in some user added models to prevent unauthorized access/use of
such data.
1. The feature is accessible from the following pop-up menu in the instance tree for the flow
sheet.
2. On clicking the “Protect Flowsheet…” menu will prompt the user to set the password for the
flowsheet and user has to retype the password again for confirmation. The strength of the
password is optional. Password should be 1- 20 characters long and they are case sensitive.
3. Once the flow sheet is protected, the following actions will be prevented from DYNSIM GUI
for the protected flowsheets.
a. Attempt to open the flowsheet by any means including flowsheet reference or stream
send/stream receive etc.
b. Attempt to delete/rename the flowsheet
c. Attempt to expand the flowsheet in the instance tree
d. Print the flowsheet
e. Create XML backup of the simulation
f. Export the flowsheet /engine though key words
g. Accessing Bulk Configurator
4. The search tool will not list any of the items searched pertaining to protected flowsheets.
5. The protected flowsheet will appear with a lock icon and in grey background color in the
instance tree as given below.
6. In order to activate these actions the flowsheet(s) need to be unprotected again. This can be
accessed from the above pop-up menu again. The following prompt will appear
7. Once the correct password is provided, the flow sheet will remain unprotected for the session
until the user chooses to protect it again. Once the sheet is unprotected, saving the simulation
will lead to leaving the flow sheet(s) unprotected.
8. If the supplied password does not match, the flow sheet will remain protected. The number of
such failed attempts is unlimited as of now.
9. The protect/unprotect feature will be available only in Engineer/Superuser mode with edit
license. With Instructor and Operator mode as well as with runtime license, the feature will
not be available. Opening an already protected flow sheet in any of those modes will be
prevented
10. In case the user forgets the password after protecting, the simulation can be unlocked through
DYNSIM support only.
11. The protection of a flow sheet doesn’t affect the load or runtime operations of a flow sheet
like saving the IC or triggering malfunctions etc.
DYNSIM provides the facility for displaying simulation speed on GUI. This can be enabled from
Options menu.
The Stream Property Display feature helps user to inspect and control the flow network in a
simulation.This feature enable user to bring up the specific parameter values of properties (such
as temperature, pressure, enthalpy etc.) for streams at any given point of time.User can refresh the
value by clicking the refresh button on each property dialog box or by using shortcut key Shift+R.
1. The user has Menu option to bring up the Display Stream Property dialog which has
predefined parameters.The menu option is available only when Simulation is not in shutdown
mode.
2. After selecting the particular parameter, it brings up the value releted to Stream.These values
are the values available at the simulation time when user selected the parameter.The values
will be displayed on all opened flowsheets.
3. Selecting “none” make the values to disappear.
4. User has various options to decorate the values show in rectangle.These options are available
in Drawing Defaults.User can “Hide/Unhide” the border,the thickness of the border,fill
rectangle etc. configured in drawing defaults.Seperate options available for Model Property
Display.
Cross Reference
Overview
The Cross Reference feature allows communication between simulation engines. It represents the
actual wires from a field device, or transmitter, to the control system as well as a conduit between
various engines.
For DYNSIM simulators that communicate with a Distributed Control System (DCS), a Cross
Reference table is employed to relate model parameters with the DCS Input/Output (I/O) points.
This table resides in the DYNSIM database. A communications application uses the cross
reference data to dynamically update points during runtime. Although a discussion of specific
DCS communications applications, such as Application Program Interface (API) calls, is beyond
the scope of this User Guide, the engineer must understand the format of the table and how to use
it to have a realistic, properly operating simulator.
The Cross Reference data, also referred to by its commonly used name, CrossRef.txt (when in
text-based format), contains one line of information for each stimulated I/O point. Thus, if a DCS
has 3500 I/O points, there are 3500 lines in the Cross Reference data. Each line contains
information for the DCS I/O point, the point to be cross referenced, high and low and signal
clipping limits, scaling coefficients, scale variables, digital thresholds, and a point description
field.
The Cross Reference file can be built, displayed, and edited using the Cross Reference Editor.
For some controls vendors, SimSci has written programs to convert vendor-specific I/O files to an
initial DYNSIM Cross Reference file. Check the documentation for the appropriate emulation
product (i.e., SCP User Guide). You can also generate a Cross Reference file, CrossRef.txt, using
a spreadsheet program that can export in comma-separated-variable format.
Please refer to the chapter Advanced Modeling and topic Equation Utility for a description of
DYNSIM supported equations. When an equation is used, From UOM and To UOM should not
be specified (add) but the {UOM} override feature may be used. For details on UOM override,
refer to the chapter Utilities/Tools and topic Units of Measure.
Data in a new row has to be filled before the row can be enabled.
Cross Reference data entries for analog points differ slightly from those for digital points. Each
is presented separately in the tables below.
Analog Points
Disabled Selecting the disabled option will disable the cross Optional
referencing of this line. After disabling the line,
you must reload the cross-reference database.
From Engine The engine name from which the controls/ Required
points/parameters are cross-referenced.
From Symbol The variable or model parameters or control point Required unless
to be cross-referenced from an Engine specified in
the “From Engine” field. conversion equation
is specified
Model object parameters are accessed using the
syntax: ObjectName.Parameter
From Val Info Some control emulators and interfaces use this Optional
entry for reference purposes only. In SCP
software, it refers to Block Parameters.
To Val Info This column is used for specifying SCP ECB Optional
parameters.
Period The update time for a point. This column is one of Optional
a set of predefined intervals between the "Engine (default=Engine
Time Step" and eight times "Engine Time Step". Time Step)
A maximum of two different frequencies are
allowed.
From UOM This column defines the UOM conversion from Optional
the From Symbol internal UOM to the UOM
specified by this by this entry before minimum
and maximum values are applied.
Low Limit For FOXSCI conversion types, this value is used Required for SCI
to clip the output before SCI conversion. This conversion types
High Limit For FOXSCI conversion types, this value is used Required for SCI
to clip the output before SCI conversion. This conversion types
(Hi Lim) parameter is used for SIMPLE conversion types.
Note: Minimum Scale Value and Maximum Scale Value are NOT used for clipping the output for
simple conversion types.
It is important to note that UOM conversion from the From UOM to the To
UOM does not occur at this step. If UOM conversion is required between X and
Y, it must be specified with an equation.
Step 3. To UOM Conversion
One final unit conversion will take place from To UOM to the From Symbol
internal UOM.
When an equation is specified, the following equation is used in a one step process.
Y = LIMV ( Equation( X ), MinScaleVal , MaxScaleVal )
Please refer to the DYNSIM equation documentation for a description of supported equations.
When an equation is used, From UOM and To UOM should not be specified.
where:
X - Analog Input/Output From Symbol model variable in From UOM
Please refer to the SCP getting started guide for specific conversion types for Foxboro I/A.
Digital Points
Disabled Selecting the disabled option will disable the cross Optional
referencing of this line. After disabling the line,
you must reload the cross-reference database.
From Engine The Engine name from which the controls/object Required
points/parameters are cross-referenced.
From Symbol The variable or model parameters or control point Required unless
to be cross-referenced from an Engine specified in
the “From Engine” field. conversion equation
is specified
For a digital input, this name might be set to a
variable from the DYNSIMEngine. For a digital
output, this name might be set to
compound:block.parameter name for a Foxboro
point.
From Val Info Some control emulators and interfaces use this Optional
entry for reference purposes only. In SCP
software, it refers to Block Parameters.
To Val Info This column is used for specifying SCP ECB Optional
parameters.
Period The update time for a point. This column is one of Optional
a set of predefined intervals between the "Engine
Time Step" and eight times "Engine Time Step".
A maximum of two different frequencies are
allowed.
Refer Host Configuration Editor section of this
manual for definition of "Engine Time Step."
From UOM This column defines the UOM conversion from Optional
the From Symbol internal UOM to the UOM
specified by this by this entry before minimum
and maximum values are applied.
Set Test SET test rule (>, =, etc) for testing the input Required
values with the SET THRESHOLD values.
Set Thresh The SET threshold is the value set for testing the Required
SET TEST rules with the “From Value”.
Reset Test SET test rule (>, =, etc) for testing the RESET Optional
threshold value with the input value.
Reset Thresh The RESET threshold is the value set for testing Optional
the Reset Test rules with the “From Value” field.
Digital Points
Digital Input
A Digital Input is set TRUE (1.0) when a variable meets a SET test, and FALSE (0.0) when the
variable meets a RESET test. These tests are determined by SET and RESET RULE and SET
and RESET THRESHOLD. The two tests on different thresholds allow for deadband
(directional) switches to be modeled. The algorithm for digital inputs is:
else
! No state change
endif
The cross reference inputs for this type of switch are as follows:
The cross reference inputs for this type of switch are as follows:
The RESET entries can be left empty if no deadband is required. The following diagram
describes a normally open switch with no deadband.
The cross reference inputs for this type of switch are as follows:
A normally closed switch with no deadband would have cross reference inputs as follows:
A variety of other switches can be modeled based on the two test and threshold settings.
Digital Output
A Digital Output always comes from the control system as a 1.0 or 0.0. The same parameter
entries used for SET TEST RULE and SET THRESHOLD on Digital Inputs are used for point
conversion parameters on Digital Outputs. The conversion of a Digital Output might be used to
drive a Digital Input as a permissive (open aux cooling water block valve demand inverted, 1 +
X*(-1), clears a valve closed input) or even become the input to an Analog Input conversion. The
algorithm for digital outputs is:
The Cross Reference Editor (for short: XRefEd) is a full-featured editor for building and
maintaining a DYNSIM Cross Reference file.
For some controls vendors, SimSci has written programs to convert vendor- specific
I/O files to an initial DYNSIM Cross Reference file. Check the documentation for the
appropriate emulation product (example: SCP User Guide). You can also build and
maintain a Cross Reference file with a spreadsheet program that imports/exports in comma-
separated-variable (CSV) format.
To invoke XRefEd, click the Cross Reference File button (shown below) on the main DYNSIM
toolbar or select Cross Reference Table from the Tools menu.
The XRefEd screen is illustrated below. Analog points and Digital points are displayed in the
Analog tab and Digital tab respectively. The contents of the constituent fields are described in
the Cross Reference Data topic. Note that the Insert, Delete, Format, and Override buttons are
disabled (grayed) until you click on a line number to select the line.
You can sort the display on any desired column by clicking the corresponding
column heading. To reverse the sort order, click the heading a second time.
To insert a new line, select (click on) the line immediately below where you want the new line,
then click the Insert button.
To delete an existing line, select the line and click the Delete button. DYNSIM asks if you really
want to delete the line. Respond appropriately.
To change the color scheme of an existing line, select the line and click the Format button.
From the popup window you can select the foreground (text) color and the background color
which is useful for visually grouping lines.
To view only lines that meet desired criteria, use the filter feature of XRefEd. Click the Filter
button and specify the criteria.
The options in the Filter window permit you to set up a ‘grid’ through which to filter lines in the
Cross Reference file. Note that the selected options are logically combined together so that the
more options you select the more restrictive the filter. Note also that you can specify a range of
values for some of the numeric fields.
The use of the wildcard character (*) in some of the fields. Wildcards are permitted in fields that
contain an asterisk in the text area.
The Filter option selections are retained as long as XRefEd is active. All options are cleared when
you terminate the editor.
To redisplay all lines in the Cross Reference file, deselect all checkboxes in the Filter window
and click the Apply button. You can obtain the same result by closing the XRefEd window and
starting the editor again.
To edit an existing line in the Cross Reference File, select (click on) the line number, position
the cursor in the appropriate field, then make the desired changes.
To disable an existing line, click the Disabled checkbox for that line. This causes the simulation
to ignore the point, treat it as though it was not in the Cross Reference file.
To override an existing I/O Value, select (click on) the line number, click the Override button,
type the desired override value (or use the spin buttons), then click the appropriate button:
• Close button to dismiss the dialog box. The Close button is disabled when
an override value is in effect. You must deactivate the override to enable
the Close button.
To initiate a malfunction from a displayed line, select the line (click the number at the left end
of the line), then click the Override button. DYNSIM displays a dialog box from which you can
initiate the malfunction. Refer to the Malfunctions topic in this Guide for additional
information.
Additionally, AND/OR operators are available in the XRef filter to view the desired information
in the cross reference table. The AND/OR conditions can be combined together to display the
required information in the cross reference table.
Consider the example where the filter is checked for the condition using AND and OR conditions.
The filter returns a value as shown in the screenshot below. The filter satisfies the condition
where the “To” Engine or “From” Engine has an entry as DYNSIM.
However, if you use the AND condition in the filter instead of OR condition, then the cross
reference table does not display any information as the condition is not met. To explain further,
there is no entry in the XRef table which satisfies the condition where both “To” Engine and
“From” Engine are both DYNSIMs. Load Cross Reference
While loading a simulation defined with cross reference(s) data, a Simulation Option window
with load options for cross referencing is displayed.
Choose “Enable Cross Referencing” option to load the entire cross references present in the Cross
Reference Table.
Choose “Auto disable erroneous rows” option to automatically disable rows with erroneous
entries in the Cross Reference Table. This option will load only the valid cross references.
If any invalid entries are present in the Cross Reference Table, the following error message will
be displayed at the time of loading.
The text file containing details of the X-ref error(s) is saved in the following location
\SIMSCI\DSS43\Simulations\<SimulationName>\ all_xref_errors.txt
Use a Dynamic Double point in DYNSIM to support or diagnose packed integer cross
referencing. Do not use Dynamic Integer or State Integer points for packed integer cross
reference, because it will result in the loss of 32-bit precision.
ddMONyy-hh:mm:ss.xml
where:
dd current day
MON current month in alphabetic form, not numeric form (i.e., APR, not 04, for
April)
hh current hour
mm current minute
ss current second
2. The filename and path can be modified. It is recommended that you keep the absolute
pathway the same so that it will be easier to find the file if you ever need to restore it.
To change the filename, click in the Filename field and edit the contents. After making
the changes, press the BACKUP key. Pressing BACKUP will not initiate the
highlighted BACKUP action.
3. Click the BACKUP button to proceed with the backup, or CANCEL to cancel the
backup operation. The time required to back up the DYNSIM database depends on the
amount of data in the database.
OTS systems are developed in parts by different project engineers after dividing a large model
into smaller sections. Once the modeling is complete for each section, they are merged into a
single simulation file for further work. Currently, the merge is done manually (copy / paste or
manual editing of simulation backup XML files) and is very time-consuming and error-prone.
This tool provides a convenient way to perform the change.
Access the Simulation Merge Tool by clicking ToolsSimulation Merge Tool. The tool
supports a message monitor where the XML merge process, including failures, is recorded. It is
also available as a log file in the “..\SIMSCI\DSS51\User” directory.
After the merge is successful, the merged file is saved in the “..\SIMSCI\DSS51\User” directory
by default, or you may choose an alternate location.
It can merge any number of valid DYNSIM Simulation backup XML files. The tool performs
various validation checks (duplicate names, version check, schema validation, etc.) before
merging the files. It also supports a Message Log.
Features:
• It can merge any number of XML files, provided they are valid simulation back-up files.
• If Engine name provided is same in the XML files, it merges the flowsheets under the
same engine. It checks for duplicate flowsheet names before merging.
• If the engine names provided are different, then the engine ids are regenerated and
assigned to the corresponding flowsheets after being merged. This will re-map the
flowsheets with engines for the merged simulation.
• Before merging, the tool will check for duplicate object and point names. If there are
duplicate objects, the merge will be aborted.
• To merge Thermo data, the tool uses the Thermo data of the first XML file for the
merged simulation, only if the engine names are same. If they are diifferent, then
corresponding engine thermo data is extracted from the XML file and merged into the
Thermo case list under appropriate engine name.
• Among other simulation information, the data historian items and snapshot summary
table are merged into the resultant XML file. However, information like scenario and
TPM table is not merged.
Limitations:
• Even if IC summary table is merged, the actual IC data is not merged. To retain the
steady state, manually merge the <engineName>States.dat file after taking a dump of the
steady state data from the individual simulations.
• The data for TPM and scenario are not merged since they are mostly irrelevant for the
merged simulation.
To Restore the desired file, click the Browse button and select the file (an .xml file).
Give a simulation name in the New Simulation field to which the backup file will be
restored. After making the changes, press the RESTORE key.
2. Click the RESTORE button to proceed with the restoration, or CANCEL to cancel the
restore operation. The time required to restore the database depends on the amount of
data being restored. The restoration details can be viewed in the message monitor.
The restored ".xml" file does not include details of the Initial Conditions or
Backtracks. However, the IC’s or Backtracks data is available in the .s4m file present in
your working directory.
Alternatively, if you have an .xml backup of the simulation, you can restore your
simulation by using the restore feature of DYNSIM.
DYNSIM does not support forward compatibility. In other words, a simulation created
using a newer version of DYNSIM cannot be opened using an older version of DYNSIM
DYNSIM stores all saved simulation data in the database. Graphic canvases for Flowsheets are
stored separately from the model data, allowing you to edit and store a graphic image without
affecting the associated model. This topic is further explored in Graphic Editing Versus Model
Editing.
The name should be a meaningful text string that reflects the identity of the
simulation itself.
3. Clicking the Create button creates the simulation. The new simulation is seen in the
Instances Tree.
The new Simulation is stored in the default file system location (e.g.,
C:\SIMSCI\DSS4X\User) as <simulationname> .s4m file.
Also, the simulation is assigned a default Flowsheet (FS1) and engine (DYNSIM)
as soon as simulation is created.
To add and edit Flowsheet and Engines, refer to Adding a New Flowsheet and Adding a New
Engine, respectively.
1. From the File menu, choose New then choose Custom Simulation.
The name should be a meaningful text string that reflects the identity of the
simulation itself.
b. Select a location for the simulation (.s4m) file. The program provides a default
3. Clicking the Create button creates the simulation. The new simulation is seen in the
Instances Tree.
4. See “Adding an Engine” and “Adding a Flowsheet” sections to learn how to add
engines and flowsheet to this blank simulation.
1. Using Windows Explorer, navigate to the directory where the simulation (.s4m) file resides and
double click on it.
b. Open Simulation dialog shows all the simulation (.s4m) files under the default
Select the simulation file you wish to open and click Open.
If the simulation to be opened was originally created using an earlier version of DYNSIM, schema
evolution is performed automatically while opening the simulation. See Automatic Schema
Evolution.
Adding an Engine
This topic describes the procedure for adding and editing a new Engine for an existing
Simulation.
1. Select the simulation from the Instance Tree, choose Edit from the Edit menu or
Ctrl – E from the keyboard.
5. To define an Engine Configuration, repeat action 1. Select the engine you want to
edit from the Engines field and press Edit button.
Engine Configuration
The Engine Configuration dialog displayed in the previous section is used to set various engine
options that can modify the behavior of an engine as it is launched and when it is running.
All the options in the dialog box have suitable default values for typical simulations and
engine options should only be changed from their default values with care.
This option may be used to change the directory in which IC files are stored. When left blank
(the default), the ICs will be saved and restored from the InstallFolder\Simulations\<Simulation
Name> folder. This folder is preserved within the saved S4M file for a simulation and is strongly
recommended.
If this option is changed, the IC files will not be stored inside the S4M file any more, and care
must be taken to preserve and back up the IC files separately when transporting or making copies
of simulations.
Normally this option would only be used when running more than one engine distributed over
more than one computer.
This option may be used to change the directory in which Backtrack (Snapshot) files are stored.
The default option of “..” will Save and Restore Backtracks from InstallFolder\Simulations
folder.
For most purposes, the default is recommended, but it may be desired to change it when running
more than one engine distributed over more than one computer.
The Engine Time Step sets the period at which the engine is able to exchange data with other
engines and with the SimExecutive. It is also the time period (integration step size) used for the
internal calculations within the engine. The minimum value of this setting is 0.05 seconds.
Care should be taken if you are increasing the value above the default of 0.25 seconds since
simulation accuracy may be reduced.
This option can be used to turn on / off the tolerance check before updating a cross-reference. If
set to yes, the cross references will be updated only if the change in value exceeds the tolerance
defined in the Cross Reference table.
This is the threshold size of the pressure-flow network above which the Simultaneous Solver will
switch to use the Sparse Solver. The size of a network can be seen by looking at the Network
Statistics window and adding together the number of flows and the number of pressure nodes for
a network. The particular value of this option is not too important and the default value of 150
will be found suitable in the majority of cases. To find out if a change to the value is significant,
stop and start the run engines after changing the value and see if the simulation speed is affected.
Flash Algorithm
The new flash algorithm option is a robust flash solution with improved performance at various
operating conditions. The options will be 0 for the “Old” (pre-4.5.1) flash and 1 for the “New”
flash algorithm. It needs to be set on an engine by engine basis.
Configurable maximum and minimum pressure limits with reasonable defaults of 1.0E5 kPa and
0.01 kPa.
This is the default value of the global WLIN parameter. WLIN parameter is used for flow path
linearization i.e. if the flow falls below the WLIN value, average of forward and reverse
properties is used for flow calculation. This helps in smooth transition between forward and
reverse flow. The default value of WLIN global parameter is 0.001 kg/sec. This global value can
be overridden for the individual flow path by changing the WLIN parameter value in the OEV of
the first stream in the flow path.
This is the default value of the global DPLIN parameter. If the pressure drop across a flow
device is less than the DPLIN, the pressure drop term is linearized i.e. ΔP/sqrt(DPLIN) is used
instead of sqrt(ΔP) in the Darcy flow equation. The default value of the global DPLIN parameter
is 10 kPa. This global value can be overridden for the flow devices in an individual flow path by
changing the DPLIN parameter value in the OEV of the first stream in the flow path.
If the value of DPLIN is too small, the number of solver iterations may increase and cause
the simulation to run more slowly.
PORTFRACType
Port fraction type is used in calculation of stream properties with default value 1 = port fraction
calculations based on VOLUME balance, 0 = port fraction calculations based on MOLE balance.
HOLDUPCALCType
Holdup calculation type is used to select rigorous volume balance approach with default value 0 =
Simple calculations, 1 = Rigorous calculations.
Triggers RT+RF update on flash failures. If flag is set “true,” flash calculations are done in
RT+RF mode until flash converges. Default value is 0 = false. If flash fails to solve in RT+RF as
well, the flash results will be ignored.
Setting flag = 1 ignores flash results if flash fails to converge. Default value is 0=false.
Tmin and Tmax are configurable maximum and minimum values for temperature. The default
values for Tmin and Tmax are 50k and 3000k respectively. You can change these values on the
point monitor or point reference at simulation level.
Autoswitch to VLLE
Once you have enabled AUTOSWITCHTOVLLEFLAG, the VLLE calculations are performed
automcatically whenever VLE solution fails at model level.
The flag is set to 0, by default, for the simulations that were created in DYNSIM 5.1 and earlier
versions.
The flag is set to 0, by default, for the simulations that were created in DYNSIM 5.1 and earlier
versions.
Adding a Flowsheet
This section describes the procedure for creating a new Flowsheet in an existing simulation.
Select the simulation, choose Edit from the Edit menu or use Ctrl – E from the
keyboard.
The name should be a meaningful text string that reflects the physical system to be
simulated. Spaces are allowed.
Select the Engine Name from the combo box specific to the simulation.
5. To display the Flowsheet names in the Instances Tree, collapse the tree at the SIM
(simulation) level and re-expand it.
6. To edit an existing Flowsheet, repeat action 1, select the flowsheet you want to edit
from the Simulation Configuration window. Click the Edit button.
A Flowsheet Configuration window displays
You can rename the flowsheet and assign a different engine to the simulation
through this dialog box.
Click OK.
7. To display the new Flowsheet canvas, click the name then click the View button or
choose View from the Edit dropdown menu.
To add models and points to your new Flowsheet, refer to Adding a New Model and Adding a
New Point, respectively.
Home Flowsheet
A Home Flowsheet can be saved for each DYNSIM user role such as Engineer, Operator,
Administrator and Instructor. To set the Home Flowsheet for a particular environment, the user
must change to that environment (in View -> Change Environment) prior to setting the home
flow sheet (in Options->Home Flow sheet).
Home Flowsheet functions similar to the Homepage of any Internet browser. Any flowsheet of a
simulation can be defined as the Home Flowsheet. To select a flowsheet as the Home Flowsheet:
1. Select the simulation on the “Instance Tree.” From the “Options” menu in the main
DYNSIM toolbar, select “Home Flowsheet.”
2. This will pop up a screen with the drop-down menu containing the flowsheet names of
the simulation.
3. Select any one flowsheet and it is saved as the Home Flowsheet. Now, each time you
Open the simulation, the selected Home Flowsheet will open as the Home page.
4. At any point of time, if you want to access the Home flowsheet, click the icon.
1. Expand the Instances Tree to the SIM (simulation) level. (So that the Flowsheet
3. Click the Delete ( red X ) button on the main screen toolbar, or choose Delete from
4. A Confirm Deletion dialog box pops up to ask whether you really want to delete
Clicking the Yes button deletes only the Flowsheet named in the Confirm
Deletion dialog box.
Clicking the Yes To All button deletes all the Flowsheets selected in the
Instances Tree
5. If the deleted Flowsheet canvas was displayed, it is still displayed. Close it.
6. The deleted Flowsheet name still shows in the Instances Tree. To update the tree,
An important step before building a simulation model using DYNSIM application’s Base or
Process Equipment models is to establish the specific components, thermodynamic methods, and
local calculation methods to be used in the simulation.
Refer to the SIM4ME Thermodynamics manual for more details on the components and
thermodynamic methods available.
The following points provide a brief overview of how to use SIM4ME Thermo within DYNSIM.
1. Bring up the SIM4ME Thermo GUI by clicking the icon on the toolbar.
3. Define component slates required for each equipment model. A component slate
consists of a few select components. Use of component slates improves computational
efficiency since only the components defined in the slate are considered for calculation
purposes and not all the components defined for the entire simulation.
If a component slate is not created, the user may use the All slate.
4. Define local thermo options. The default model prediction settings work the best in
most circumstances. Please refer to Fundamentals chapter, Flash Submodel section of
the Base Equipment manual for recommendations on local thermo settings.
5. Define local flash options. The default model prediction settings work the best in most
circumstances. Please refer to Fundamentals chapter, Flash Submodel section of the
Base Equipment manual for recommendations on local flash settings.
6. Define the thermodynamic method slate. Every new item placed on the flow sheet will
use these slates.
DYNSIM’s Base and Process Equipment models allow the user to define a Component Slate,
Method Slate, Local Thermo/Local Flash settings, and phase presence for each individual model
object.
Adding or deleting components within an existing simulation will lead to disturbances in the
steady state conditions established in snapshots. The newly added components will be assigned a
zero mole fraction.
When defining the thermo settings, consider all the simulator operations to be performed. A
common issue is the breakthrough of water or hydrocarbon resulting in a three-phase system. If
the DYNSIM model flash is configured with a Vapor-Liquid (VLE) or Liquid only (L) to
recognize the possibility of only one liquid phase, then the model will display a non-physical
model behavior after the second liquid phase breakthrough occurs. A more appropriate solution
option might be Free Water Decant (VLWE), which can handle one or two liquid phases.
For maximum simulation robustness and accuracy, Free Water Decant (VLWE) should be
selected for unit operations where the component slate contains hydrocarbon and water, even if
the water mole fraction is normally zero. If the water mole fraction becomes non-zero because of
a process upset, a Vapor-Liquid (VLE) flash may misidentify the liquid phase (Water versus
Hydrocarbon) and produce erroneous results that propagate from that point forward in time and
along the process flow path. If it is known with certainty that water will never be present in a
process flow path and simulation speed is a concern, water-free component slates (i.e. water does
not appear in the component slate list) and Vapor-Liquid (VLE) flashes can be employed for the
unit operations along that flow path.
To change the component slates in a flow path, use a Slate Change model. The user can
change the thermo settings of the model object(s) in a flow path (provided the user has pre-
1. If you are not in an environment that allows you to modify the Model, switch to such an
If the Types tab is shown at the bottom of the leftmost pane of the main
screen, you can modify the simulation.
2. Expand the Instances Tree to the FS (Flowsheet) level. (So that the flowsheet to which
Click the View button on the toolbar or choose View from the Edit pull-
down menu.
Click the Types tab at the bottom on the leftmost pane on the main screen. The
Libraries list is displayed.
If not choose Model Editing from the dropdown list in the upper right corner
of the canvas.
6. Expand the desired library in the Types Tree to display the classes (types of models)
Type a name for the Model. This is the name that will be displayed on the
canvas.
The Model icons are resizable. Adjust the size of model icons as per the
requirement.
8. If you have other models to place on the canvas, repeat step 7 for each of them.
Click the Save button on the main screen toolbar, choose Save from the
File menu, or use the Control + s key combination.
Even though you have added a model to the Flowsheet , the object will not
be included in the running simulation until you perform a Load Full operation.
Refer to Simulation Reconfiguration.
Use the Object Editor/Viewer to view and edit the Model parameters.
To edit the attributes of the graphical Model itself, right-click on it then choose
Draw Attributes from the popup menu.
1. If you are not in an environment that allows you to modify the model, switch to such an
If the Types tab is shown at the bottom of the leftmost pane of the main
screen, you can modify the Model.
2. Expand the Instances Tree to the FS (flowsheet) level. (So that the flowsheet from
which you want to delete objects is displayed.
Click the View button on the toolbar or choose View from the Edit pull-
down menu.
If not Choose Model Editing from the dropdown list in the upper right
corner of the canvas.
You can now Delete a single object or, if they are spatially close to each other,
multiple objects.
Click the Delete (red X) button on the main screen toolbar or choose Delete
from the Edit pull-down menu.
A warning message displays asking if you really want to Delete the model.
Respond appropriately.
If you are in Graphics Editing mode (not Model Editing mode), you cannot delete
the model..
Click the Save button on the main screen toolbar, choose Save from the
File menu, or use the Control + s key combination.
Hold down the left mouse button and drag the mouse to form a rectangle (lasso)
around the models to be deleted. Release the mouse button when the rectangle
encompasses the desired models.
Click the Delete (red X) button on the main screen toolbar or choose
Delete from the Edit pull-down menu.
A warning message displays asking if you really want to delete the first Model.
Respond appropriately. This message is then repeated for each model within
the rectangle. Respond appropriately to each message.
Connecting Models
This topic includes the following subjects:
• Basics
• Changing a Connection
• Auto Connect
Basics
Connectors are used to connect any parameter of any model to any parameter of another model.
The Types Tree includes two types of connectors: Default Connector and Connector. For some
object pairs, there are predefined default connections that will automatically connect if requested.
The user must supply other connections between objects.
Example:
You are connecting a PID controller output to a Valve. The default connector knows that
the PID .OUT parameter is usually connected to the Valve.OP parameter. Choose Default
Connector from the Types Tree then draw a connecting line between the two models. It
looks in its default connector table, finds an entry for the PID/VALVE model pair, and
completes the connection without asking for additional input. If the model pair is not in the
table, it asks you to indicate what parameters are to be connected – just as if you had
requested a standard connector. Thus, you can always request a default connector. In some
cases it will save you time.
1. Ensure that you are in an environment that permits screen editing, and that the system
screen is set to Model Editing mode. Refer to Selecting a User Interface Environment
and Adding a New Model.
There are two ways to draw a line between models. The most common
method is described in the next paragraph. For a discussion of an alternate method,
refer to Another Way To Draw A Connecting Line at the end of this topic.
Click on one of the models, then hold down the left mouse button while you drag
the mouse pointer to the other models. Release the button when the cursor is within
the second model.
The Parameter Assignment window lists parameters for the two models. The
content of the parameter lists can be changed by selecting options from the
Parameter Filter dropdown list at the top of the window. The entries in this
dropdown list are the same as in the Row list for the Object Editor/Viewer.
In the Parameter Assignment window, select the points from the displayed
tree, or type the point names into the text boxes at the top of the window.
You must select (or type) the appropriate parameters for each of the two
objects. If you do not, the connecting line between the objects is removed.
When you click the OK button you’ll note that the shape of the connecting line
between the objects has been modified. It now has at least two right (90°)
angles. They are there for a reason: to allow you to change the shape of the
line. That is discussed below in Connecting Line Cosmetics.
Note also that the parameter names and black dots to the connecting line have
been appended. They appear close to the respective objects.
A connecting line is composed of two types of elements: a port at each end, and a connector
that joins the two ports. The port extends from the object to the black dot.
The connecting line attributes can be changed if desired. For example, you can change the color
of the connecting line, its thickness, or its line style. To change attributes, right-click on the
connecting line and choose Draw Attributes from the displayed menu.
Basic principle: Connecting lines consist of one or more horizontal or vertical segments.
These segments are never drawn at an angle. To modify the graphical view of a connection
complete the following:
Several handles (small black squares) that you can manipulate to modify the shape
of the Connector are displayed.
A typical Connector contains five handles: one at each end, one at the midpoint, and
one between the midpoint and each end. Each handle has distinct characteristics.
Here is a brief description of how the handles affect the Connector.
The handles closest to the ports (endpoint handles) move in both horizontal and
vertical planes. You can move these handles to any desired location. After you drag
an endpoint handle to a new location and release the left mouse button, the port and
Connector are reconstructed, as required.
The other three handles move only perpendicular to the line they rest on. If it is on a
vertical line, a handle moves only in the horizontal direction and affects only the
horizontal line segments. If it is on a horizontal line, a handle moves only in the
vertical direction and affects only the vertical line segments.
Start with the endpoint handles, the handles nearest the models. If many parameters
are associated with a single object, drag the endpoint handles to reposition the
individual parameters so that each is distinctly displayed. If a parameter name is
obscured by the model, use the handle to move the endpoint (and port) so the name
is visible. Endpoint handles can also provide limited control of a port, that is, where
a line connects to an model. But there is a better way. It is described in step 3.
Now use the other three handles to move the connecting line away from (around)
other models, if required. Or just to produce the desired appearance.
If you cannot get the desired result, remember that you can also move an entire
model. The connection will be automatically maintained.
Click on the line between the black dot (port) and the model. The line is selected.
Handles appear.
The handle closest to the model has a limited range of motion in both horizontal and
vertical planes. It can be moved only in the proximity of the model. Remember, this
handle has to connect to the model.
The handle that overlays the black dot can be moved to any desired location.
To embed (hide) the ports in their respective models, right-click the connector and
choose Embed Ports from the displayed menu. You can also hide the parameter
names. Refer to Hiding Parameter Names below.
Double clicking a port line flips its orientation. Horizontal lines become vertical,
vertical lines become horizontal. This feature is useful when the port is "L" shaped,
and you want the "other L" shape.
Changing a Connection
2. Drag the endpoint handle to the new model, and drop it.
3. Select the desired parameter from the single list in the popup.
If you are thinking of deleting a connecting line only because you want to move one of its
connections, there is a better way. Refer to Changing a Connection above.
You are prompted whether you really want to delete the connection. Answer
appropriately.
It is sometimes desirable to hide the parameter name(s) associated with one or both ports. Here is
how to do it:
3. Check or uncheck the Show End Parameter Name and Show Start Parameter Name as
appropriate.
1. Ensure that you are in an environment that permits screen editing, and that the
Flowsheet screen is set to Model Editing mode. Refer to Selecting a User Interface
Environment.
To save effort later, position the cursor where you want the off-canvas
Connector displayed.
Hold down the left mouse button while you drag the mouse pointer into the object.
Release the button when the cursor is within the object.
A Parameter Assignment window pops up containing two lists. The left list
displays parameters for the model. The content of this list can be changed by
selecting options from the Parameter Filter dropdown list at the top of the window.
The right list is an Instances-type tree that displays the names of all Flowsheets in
the current simulation.
Expand the lists as necessary and select the desired parameters. You can also type
the name(s) of one or both parameters into the text areas at the top of the window.
If you choose to type the name of the off-canvas parameter, be sure to use the
proper format: model.parameter if it is a parameter within an object, or
point if it is a standalone point.
Note that when displayed, the off-canvas parameter name is enclosed in a rectangle.
That is a visual clue that it is off-canvas.
When is an off-canvas connector not an off-canvas connector? When it references a model on the
same canvas. The graphic below shows two connected models, SW1 and PID1, on the same
canvas. The connection to PID1 is indicated by an off-canvas connector. (For the sake of
illustration, the two objects have been placed close to each other.)
Why would you want an off-canvas-type connector referencing a model on the same canvas?
Perhaps because there is considerable spatial distance between the two models and you do not
want a long line between them.
The four steps in the procedure above can be used to connect two objects on the same canvas,
without drawing a line between them. If you later want to draw a line between the two objects,
use the Auto Connect feature described immediately below.
Auto Connect
As preparation for understanding Auto Connect, please read at least the last three paragraphs of
the Connecting To Models On A Different Canvas subject immediately above.
The Auto Connect feature automatically connects two objects on the same canvas when one of
those models is referenced by an off-canvas connector. In other words, Auto Connect replaces
the off-canvas connector with a line to the model.
To Auto Connect:
Here is a method for connecting two objects when you want control over the shape of the
connecting line. It is great for drawing lines exactly where you want them to go. The lines can
have as many segments as desired. As illustrated below, the segments are joined at nodes.
1. Click in the first model holding down the control <cntrl> key
2. Move the mouse cursor to the location of the first node. Click the mouse button.
3. Move the mouse cursor to the location of the second node. Click the mouse button.
• Overview
• Parameters Tab
• Messages Tab
Overview
As its name implies, the Object Editor/Viewer (OEV) has a dual personality. It operates as an
object editor and as an object viewer. As an editor, the OEV allows you to modify many of the
data fields associated with individual object parameters. As a viewer, the OEV displays the
current value and other selected information for each object parameter.
Another feature of the OEV is the display of warning messages indicating conditions that need to
be resolved to make a selected object fully functional.
The Object Editor/Viewer is for editing objects. Standalone points are symbols,
not objects. To Edit a standalone point, refer to Point Editor.
Select the desired object and invoke the Editor/Viewer using either method below.
Expand the appropriate Flowsheet to display the constituent objects. (You do not have
to display the Flowsheet’s canvas).
Click the Edit button or the View button on the main toolbar, depending on whether
you want to edit or view the object parameters.
Click the Edit button or the View button on the main toolbar (depending on whether
you want to edit or view the object parameters)
OR
right-click the object and select Edit or View from the popup menu (depending
The Object Editor/Viewer example below illustrates parameter edit mode. Note that Editing
has been automatically selected from the Editing/Viewing dropdown list (not shown) at the top
right side of the screen. You can switch between editing and viewing modes by using the
Editing/Viewing dropdown list.
The OEV initially displays with the Parameters tab selected. To view messages associated with
the selected object, click the Messages tab. In the discussion below, we will look first at the
Parameters tab display, then the Messages tab display. Note that in the illustration below, the
Show Descriptions option has been selected (by clicking the ‘Show Descriptions’ button). When
selected, the Show Descriptions button toggles to Hide Descriptions.
The Object Editor/Viewer window consists of a master panel displaying information about the
object and the Simulation, a panel for displaying parameter and message descriptions, and a
tabbed panel for displaying and editing parameter and message information.
When the Editor/Viewer is in edit mode, user-modifiable cells are white with a green border line.
Cells that are not subject to change are shown in white.
The Editing/Viewing dropdown list in the upper right corner acts as a ‘master control’,
determining what actions are permissible. In viewing mode, there are no white cells, indicating
that nothing can be edited in this mode.
Clicking anywhere on a parameter line or message line highlights the entire line and displays the
parameter description or the message description in the box at the upper right corner of the
display. In the example above, the Valve Cv parameter has been selected. Note that its
description appears in the Parameter Description window.
Parameters that have a plus sign (+) to the left of the name are vectors. Clicking the plus sign
expands the vector into its constituent elements. Clicking the (-) sign collapses the display to the
name of the vector.
A ‘-v-’ to the left of a parameter name indicates that the assignment must be a point of the form
object.parameter, a standalone point, a numeric value, or blank.
An ‘-o-’ to the left of a parameter name indicates that the assignment must be an object or blank.
An ‘-c-’ to the left of a parameter name indicates that the assignment is a combo box.
If the +, -, v, or o is blue, the parameter is configured differently than the default. (The difference
can be in any editable column.) If the default is still in effect, the +, -, v, or o is gray.
Entries in the Row Layout dropdown list (Parameters tab) determine what parameters are
displayed (in rows). The choices are View, Edit, Advanced View, Advanced Edit, and All. Here
is what they mean:
View Parameters that all users are typically interested in when viewing the
runtime, dynamic values.
Edit Parameters that all users are typically interested in when editing the
object configuration.
Adv View Parameters that advanced users are typically interested in when
viewing the runtime, dynamic values.
Adv Edit Parameters that advanced users are typically interested in when
editing the object configuration.
Entries in the Column Layout dropdown list determine what columns of information are
displayed for each parameter. The choices are View, View/Edit, Edit, All. The explanation is
given below:
View Parameter information that all users are typically interested in when
viewing the runtime, dynamic values.
Edit Parameter information that all users are typically interested in when
editing the object configuration.
Examples: When Edit is selected, the Equation column is displayed. When View is
selected, the Equation column is not displayed. The Current Value column displays only
when View or View/Edit is selected.
In the Parameters tab panel, parameters are grouped by function and/or use. In the Pump class
example above there are 4 groups: Characteristic Curve Data, Elevation, Pump Power Tuning,
and Operating Conditions.
Parameters Tab
Name
Parameter name.
For parameters that allow vector assignments, the UOM field indicates ‘vec size’ and the
Assignment field indicates the number of elements in the vector.
To change the number of elements, edit the Assignment field content. If you decrement the
Assignment value, elements from the end of the vector will be deleted. If you increment the
value, elements to the end of the vector will be added. Since you can remove elements only from
the end of the vector, to delete an element in the middle you’ll have to change the assignments of
the parameters then delete the last one. When you are through editing the array, you can hide the
individual elements by clicking the (-) to the left of the vector name.
UOM
Units of Measure. Some examples include: ft,kPa,lb and kJ. For parameters that allow vector
assignments, the UOM field indicates ‘vec size’ and the Assignment field indicates the number of
elements in the vector. See Assignment above.
If the UOM is set to DYNSIMInternal, the user must work in DYNSIM’s internal units and is
prevented from changing parameters UOM in the Object Editor/Viewer.
If the UOM is not DYNSIM internal, the user may right click on the UOM for any parameter to
change its UOM.
Certain object parameters permit an equation in their assignment field. These equations must be
in the proper syntax for the equation solver. If an equation is allowed, the cell is white.
To add/edit an equation for a parameter, click in the appropriate cell in the Equation column.
Remember that you can edit the content of white cells only. Yellow cells are not user-editable.
Description
A description of the parameter. The complete description can be displayed in the Parameter
Description panel by clicking anyplace on the parameter line.
Pnt Class
There are four primary classes of points: DYNAMIC, STATIC, STATE, and GRAPHIC. Any
point can be floating point or integer. Each of the point classes represents a value within the
simulation.
When you have supplied the desired data for the object, click the OEV Save & Close button.
If you do not want to save the changes, click the Cancel button. DYNSIM will double check
that you do not want to save changes.
Messages Tab
Entries displayed under the Messages tab indicate conditions that need to be resolved. The
messages are warning flags. They tell you what needs to be done to properly use the object. The
example below shows the messages generated as a result of initially placing an electrical bus on a
canvas. As the bus is subsequently configured, the appropriate messages will be removed.
In Edit mode, you can add comments to the individual message lines and change the message
category. Message categories are explained in Messages from Simulation.
• Overview
• Configuration Dialog
Overview
The Data Entry Window (DEW) operates as an editor, allowing you to modify many of the data
fields associated with individual object parameters. The DEW is similar to the OEV but with a
simplified user interface. The attributes of the object parameters can be a “value”, an
“assignment” or an “equation”.
Another feature of the DEW is to display the status, where in the user is warned of conditions that
need to be resolved to make a selected object fully functional.
Select the desired object and invoke the Data entry Window using any of the following methods.
Expand the appropriate Flowsheet to display the constituent objects. (You do not have to
display the Flowsheet’s canvas).
Select (click on) the object and ‘right-click’ the object and select Data Entry from the
popup menu.
Select (click on) the object and ‘right-click’ the object and select Data Entry from the
popup menu.
Select (click on) the object, click on the Input button on the Main Toolbar then select
Data Entry from the dropdown menu.
For data entry options in the DEW, ‘right-click’ on a DEW data entry cell and select either
a ‘Parameter Assignment’ or a ‘Parameter Equation’. The default is ‘Parameter Value’
Click the ‘Apply’ button on the DEW to save the changes made in the DEW. The non-
modal feature of the DEW makes it possible to run or load changes made into DEW
keeping it open. Note that model changes like connecting /deleting/ disconnecting/
reconnecting a stream from/to a model is not possible with an open DEW.
The DYNSIM Graphical User Interface distinguishes the input data as follows:
Required The user must enter data in order to run the simulation. Without a valid entry,
the input for the simulation is incomplete and an error message will be displayed
if the simulation is executed. The perimeter of the data field is red for this type
of entry.
Default The default value is usually a good estimate and a value that is commonly used
for that parameter. The value may be overridden if desired. The perimeter of the
data field is green for this type of entry.
Caution Indicates a value that is not realistic and might produce erroneous results. The
perimeter of the data field is yellow for this type of entry.
Optional Data, which is not explicitly required by DYNSIM for its execution. A
Colorless perimeter is used for this type of data.
A Colorless cell also means that the required or default data has been modified.
Any data in the data fields of the DEW of an individual object is validated and the status is
indicated for the individual tabs. The DEW uses the following to indicate the status of input data,
as follows:
Valid Data Entry of valid data in all the data fields of an individual tab of a DEW. Any
default data (green data field) or optional data (colorless data field) are also
considered as valid and the status is indicated by .
Invalid Data Any required data (red data field) or data, which is not realistic (yellow data
field) in any of the cells of a DEW, is considered invalid and the status is
indicated by .
The DEW consists of individual tabs for different sets of data. A few examples are:
• The Basic tab of a Drum/Separator/Column requires data like Length, Diameter, Volume,
MetalMass etc. to define the object where as a Valve Basic tab requires the Valve Cv to
define a valve. For a PID controller the Basic tab requires the action of the controller, the
PV ranges and the tuning constants.
• The Heat Transfer tab has all the Heat Transfer coefficients, Areas, exponents and
reference flows required for Heat Transfer calculations.
• The Thermo tab has all the Thermo options and the Phase options for the user to select
from to run the model.
• The Feeds and Products tab requires the port heights and diameters to be defined for a
model.
• The Connections tab has inputs to different control models. The input can be in the form
of a value, an assignment or an equation.
Configuration Dialog
The Configuration Dialog allows the user to configure a model as per the requirements. Selecting
an option or Entering a value in the Configuration Dialog will change the specifications in the
individual tabs of the DEW. The model objects that allow “Change Configuration” are; Column,
Fired Heater, Multi Exchanger, Separator, Utility Exchanger and a PID Controller.
The Configuration Dialog is displayed when the user drops the model object on the flowsheet.
To change the configuration of an existing model object, select the model object and ‘right-click’
the object and select Change Configuration.
• A Separator Configuration Dialog allows the user to select the orientation option.
• A Column Configuration Dialog allows the user to specify the number of trays.
• A Fired heater configuration allows the user to specify the number of gas nodes and tube
passes.
• A PID controller configuration requires the user to specify the type of controller.
Messages are defined by the class or model developer. Each message is given a unique name and
a default category. At the time a message is raised, the class developer can elect to place the
object in an inhibited state, thereby preventing execution.
You can change the category of each message available for each object.
Message is displayed*
Message is logged**
Message is displayed*
Message is logged**
Message is displayed*
Message is logged**
Message is displayed*
Message is logged**
Message is logged**
*A displayed message will be sent to the GUI if attached, otherwise it will be written to the
simulation screen.
**A logged message will be written to the file DYNSIMMessages. Messages have a variable
named ObjectName.MessageName, which indicates the status of the message, and can be seen
from the Monitor pane. Models have a variable named ObjectName.Status which indicates if the
model is inhibited (many different object states will be represented in the future)
Points that are associated with a Model Object (i.e., Parameters) can be accessed from the Object
Editor/Viewer and they can viewed from the Monitor pane and with the Point Viewer.
(Standalone points can also be viewed from the Monitor pane and the Point Viewer.)
Use a Dynamic Double point in DYNSIM to support or diagnose packed integer cross
referencing. Do not use Dynamic Integer or State Integer points for packed integer cross
reference, because it will result in the loss of 32-bit precision.
The procedure below assumes that the desired simulation is started and you have connected to it.
Refer to Starting a Simulation and Connecting to a Running Simulation.
1. If you are not in an environment that allows you to modify the Model, switch to such an
If the Types tab is shown at the bottom of the leftmost pane of the main
screen, you can modify the simulation.
2. Expand the Instances Tree to the FS (Flowsheet) level. (So that the Flowsheet to which
Click the View button on the toolbar or choose View from the Edit pull-
down menu.
Click the Types tab at the bottom on the leftmost pane on the main screen. The
Libraries list is displayed.
Choose Model Editing from the dropdown list in the upper right corner of
the canvas.
6. Expand the Points library in the Types Tree to display the types of Points that constitute
the library.
Type a name for the Point. This name will be displayed on the canvas.
8. If you have other Standalone Points to place on the canvas, repeat step 7 for each of
them.
Click the Save button on the main screen toolbar, choose Save from the
File menu, or use the Control + s key combination.
If you are in Graphics Editing mode (not Model Editing mode), you will be
warned that it has changed the graphic but not the model. Thus, if a Validate
Graphics is performed, the object will reappear on the Flowsheet canvas since
only the model’s image was deleted.
Use the Object Editor/Viewer to view and edit the Standalone Point parameters.
To edit the attributes of the graphical Point itself, right-click on it then choose
Draw Attributes from the popup menu.
Points that are associated with a Model can be accessed from the Object Editor/Viewer and they
can viewed from the Monitor pane and with the Point Viewer. (Standalone Points can also be
viewed from the Monitor pane and the Point Viewer.)
The procedure below assumes that the desired simulation is started and you have connected to it.
Refer to Starting a Simulation Model and Connecting to a Running Simulation.
1. If you are not in an environment that allows you to modify the Model, switch to such an
If the Types tab is shown at the bottom of the leftmost pane of the main
screen, you can modify the simulation.
2. Expand the Instances Tree to the FS (flowsheet) level. (So that the flowsheet from
which you want to delete standalone points is displayed.)
Click the View button on the toolbar or choose View from the Edit pull-
down menu.
If not Choose Model Editing from the dropdown list in the upper right
corner of the canvas.
Click the Delete (red X) button on the main screen toolbar or choose Delete
from the Edit pull-down menu.
A warning message displays asking if you really want to delete the Point. Respond
appropriately.
If you are in Graphics Editing mode (not Model Editing mode), you will be warned
that it has changed the graphic but not the model.
6. If you want to Delete several models, perform step 5 for each of them.
Click the Save button on the main screen toolbar, choose Save from the
File menu, or use the Control + s key combination.
Point Editor
Standalone points have their own editor. It is invoked by right-clicking on the standalone point
then choosing Edit from the popup menu. Here is an example:
You can use the standalone Point Editor to Add/edit Description and Comments, and to choose
Point Class, Point Type, Units Type, and Internal Units.
If you specify an Initial Value, it will be assigned to the point when the simulation is started. If
the standalone point requires multiple initial values, click the Function Table checkbox and use
the Add Element and Delete Last buttons to configure the array with the proper number of
elements. Type the desired values into those elements.
A Point can be a one-dimensional array and requires multiple initial values. Use the Add Element
and Delete Last buttons to configure the array with the proper number of elements. Type the
desired values into those elements. If the point is a function table (a two column array of xy-
pairs), click the Function Table checkbox.
Remember to click the Save or Save and Close buttons to save your changes. (The title bar
will indicate unsaved if changes need to be saved.)
Use a Dynamic Double point in DYNSIM to support or diagnose packed integer cross
referencing. Do not use Dynamic Integer or State Integer points for packed integer cross
reference, because it will result in the loss of 32-bit precision.
Point Viewer
The Point Viewer can be invoked by choosing Point Viewer from the Tools menu.
Pin Functionality
The Pin Functionality, also known as Always on Top feature, is a mechanism to keep the selected
window always on top of the other windows. This feature is currently available only for TPM,
Trend, and Plot.
A window can be pinned on top of the other windows by right-clicking the blank space in its
configuration pane and selecting Always on Top. By default, Always on Top is not selected
when you open a new window in the simulation.
Also, when Always on Top is selected for a window, it can be dragged beyond the flowsheet
canvas area.
You can pin multiple windows using this feature. Among the pinned windows, the window that
you select comes on top of the others. The pin feature is valid only in the current simulation.
Once you close the current simulation and open a new one, the pin functionality changes back to
the default state.
2. Reconfigure the model. Click the "Load Full Model" button (LF) on the toolbar,
or choose "Engineering Actions" from the "Run" menu.
Graphic Editing affects only the displayed graphic. It does not allow change the model
configuration. This mode is seldom used, however is intended for training simulators where you
may want the instructor to be able to edit the graphic configuration, such as annotations, or
equipment location on the flowsheet, however not be able to edit the model configuration.
Model Editing allows changes both the graphics and the model.
The desired editing mode is selected from the dropdown menu in the upper right corner of the
Flowsheet canvas.
Validate Graphics
Since it is possible to edit the model configuration directly using keyword files, or xml files, it is
possible for the advanced user to get in a situation where the graphic representation of the
flowsheet differs from the model configuration. To ensure proper synchronization, the Validate
Graphics utility is available. When validating graphics, the graphical flowsheet layout is always
modified to match the model configuration, and not vice versa.
To resynchronize the graphic and the model, display the desired graphic then choose Validate
Graphics from the Draw pull-down menu.
Validate Graphics removes any displayed model images that are not in the model. And it will add
to the canvas any model images that are in the model (shown in the Instances Tree) but not on the
Flowsheet graphic.
Added Model images are placed 200 pixels to the right of the rightmost
Object image. This addition may force the creation of a new graphic page.
Validating without saving could result in the loss of a significant amount of work. When you
request the validation of an unsaved canvas, the warning as shown below is displayed. No
warning is displayed if the canvas you are validating does not need to be saved.
Immediately after validating the content of a canvas, DYNSIM changes the status to *unsaved*.
Generating Keypoints
Generating a KEYPOINTS Object
1. Place a MISCEQTN (Custom Calculations) object, obtained from the Utilities library
(Types Tree), on the desired canvas. Give this object a name of KEYPOINTS. For
additional information, refer to Adding A New Model.
1. Ensure that you are in the Engineer environment and that the graphic screen is set to
Model Editing mode.
3. If the object containing the desired parameter (point) is on the same canvas as the
KEYPOINTS object, draw a connecting line between them.
If the object is not on the same canvas, or you are connecting to a standalone point (not
an model), draw a line from a blank area of the canvas into the KEYPOINTS object.
4. Using the Parameter Assignment dialog (it pops up automatically), indicate the
parameters/points to be connected. Select the points from the displayed trees or type the
point names into the text boxes at the top of the dialog.
When you add a new keypoint, it does not immediately appear in the list of keypoints at
the top of the screen. You have to force the keypoints pane to be redrawn. Change the toolbar to
Abbreviated then change it back to Engineer. To do so, choose ChangeToolbars from the
View menu, then choose Abbreviated. Description change for a point added in keypoints can
be done only by adding that point to a trend or point monitor.
1. Ensure that you are in the Engineer environment and that the graphic screen is set to
Graphic Editing or Model Editing mode.
2. If the item to be removed is the last item, use the Object Editor/Viewer to decrement the
quantity in the Assignment cell for the OUT parameter group of KEYPOINTS. This
action will not change the canvas. Invoke the Validate Graphics feature from
the Graphics pull-down menu to update the canvas so it is in synchronize with the
model.
3. If the item to be removed is not the last item, you cannot remove it from the matrix but
you can set its Assignment value to zero using the Object Editor/Viewer.
Remote Functions
This topic includes the following subjects:
• Overview
Overview
Controls and indicators can be placed on the same canvas (screen) as the devices being
controlled. Thus, the OPEN and CLOSE buttons that operate a valve can be displayed next to the
valve itself.
Widgets and Primitives are used extensively in creating remote functions. Before we discuss
remote functions per se, let’s get a brief introduction to Widgets and Primitives. Then we will
demonstrate how to construct remote functions using selected Widgets and Primitives.
Widgets are an assemblage of graphic user interface objects that can be employed to provide user
input to a simulation. Widgets include Buttons (non-toggle, toggle and hold down), Check box,
Sliders (to change values and custom to change point values), Indicator, Dial, Switches (spring
return and multi position), Bar Graph, Numerical Readout, Numerical Input Field, and Animator.
For example: When a user clicks a Button widget, a designated point is set to a specified value.
Primitives are utilized as building blocks for configuring a DYNSIM flow sheet. They are
essentially a collection of drawing tools, which can be defined using few parameters. Primitives
include Line, Rectangle, Ellipse, Polyline, Polygon, Single Line Text, Image, and Background.
Primitives and Widgets are accessed from the Types Tree under Libraries.
Primitives and Widgets should not be construed as model objects and no names are
assigned to them. When you locate a Widget or Primitive on a canvas, the system does not
prompt for an object name or description (as it does when placing an object or a point).
Button Widget
The Button widget is used for fixing a point to a desired value. Every time the button is operated,
the point is refreshed with the specified value.
In the example below, we will see how, two non-toggling buttons can be used in combination to
control an electrical motor.
1. Drag and drop a Motor object from the Electrical Library onto the canvas. Name the
motor object MCN21 (or be creative and use your own name).
2. Select the Button widget on the Types Tree and click on the canvas where the button
graphic should be placed.
3. Right click on the motor object and select Edit. The Object Editor/Viewer display for
motor MCN21 is displayed. The highlighted parameter CL (the CLose breaker signal)
can be used to start and stop the motor.
For the motor object, make sure the Breaker Type TYPE parameter is set to
DCS1_INPUT (NOT the default). This ensures that we can use the CL to start and stop
the motor (CL == 1 close breaker and CL == 0 open breaker).
4. To simulate manual START / STOP operations, place two Button widgets on the canvas.
5. Right click on each of the widgets and select Edit Attributes from the menu. Use the
Draw Attributes window to specify the START and STOP values for the parameters.
6. An indicator widget located below the buttons displays ON or OFF, depending on the
value of the POS parameter (which determines motor state).
The Toggle Button widget is frequently used to simulate the two-state (e.g. ON/OFF) operation of
a device such as a manual switch. Here is an illustration of a Toggle Button and the associated
Draw Attributes dialog box.
1. Select the Toggle Button widget on the Types Tree and click on the canvas where the
toggle button graphic should be placed.
2. Right-click on the button and select Draw Attributes from the dropdown menu to edit its
attributes.
3. The Point Name, Set Value and Reset Value attributes allow the user to control the point
the button toggles and also the values that are assigned to the point when the button is
toggled.
In this case, the Toggle Button will change the point MVN21.CL from 0.0 to 1.0 when
the button is depressed.
A Check Box widget can also be used to toggle a point between two values.
The Hold Down Button widget is used to momentarily alter the value of the associated point.
When you click on the button, the value of the point is reset to its original value.
1. Select the Hold Down Button widget on the Types Tree and click on the canvas where
the button graphic should be placed.
2. Right-click on the button and select Draw Attributes from the dropdown menu to edit its
attributes.
Enter the Point Name field to associate the hold down button with any point in the
simulation.
Enter a value in the Set Value field. This enables the associated point to be set to this
value when the button is depressed.
The Check Box widget is used for changing a value in the simulation. This is achieved when you
mark or unmark the check box. A check box can also be used to toggle a point between two
values. The following steps illustrate how to use and edit a check box widget.
1. Select the Check Box widget on the Types Tree and click on the canvas where the check
box graphic should be placed.
2. Right-click on the button and select Draw Attributes from the dropdown menu to edit its
attributes.
Specify the point to be affected, and the values to be associated with checking and un-
checking the check box.
Slider Widget
The Slider widget is used for changing a value in the simulation according to the inputs provided
by the user.
A Slider widget provides continuous, full-range control of a point value. With a Slider, the user
can specify the minimum and maximum values assigned to the slider scale. As the user moves
the slider control, the associated point value tracks the slider control position.
1. Select the Slider widget on the Types Tree and click on the canvas where the Slider
graphic should be placed.
2. Right-click on the slider widget and select Draw Attributes from the dropdown menu to
edit its attributes.
The user can associate any point in the simulator with the slider by filling in the point
name in the Point Name field.
The slider will react to the value of the associated point. The slider will set the value of
the associated point when the user manipulates it with the mouse cursor.
Shown below is a Slider widget used to control the ambient temperature, point TAMB The Text
line Ambient Temperature was generated with the Single Line Text primitive.
The illustration below shows the Draw Attributes editing dialog box for the Slider. Note
that the Width and Height parameters have been substantially increased from the default values
and the tick mark parameters have also been adjusted to reflect the range.
The Slider widget supports only integers for the value tick spacing; the user should use
Custom Slider widget for fractional values.
Indicator Widget
As the name suggests, this widget indicates when a specified condition is detected. The Indicator
Widget is used for displaying text when a point value equals a preset value.
Select the Indicator widget on the Types Tree and click on the canvas where Indicator graphic
should be placed.
1. Right-click on the Indicator widget and select Draw Attributes from the dropdown menu
to edit its attributes.
The user can associate any point in the simulator with the indicator by filling in the point
name in the Point Name field. The indicator will react to the value of the associated
point.
For example, you can set up an Indicator widget to display the word OPEN in large red
letters when a specified valve is fully open (ValveName.op == 1), while a second
indicator widget could display CLOSED when the valve is closed (ValveName.cl == 1).
If you superimpose the two widgets on top of each other, the visual effect is that of a
single widget that changes its text depending on the value of the associated parameters. If neither
of the conditions is true no text will be displayed.
Dial Widget
The Dial widget is utilized to graphically display a value on a mimicked analog gauge.
1. Select DIAL widget on the Types Tree and click on the canvas where the dial graphic
should be placed.
Right-click on the widget and select Draw Attributes from the dropdown menu to edit its
attributes.
The user can associate any point in the simulator with the dial by filling in the point name
in the Point Name field. The dial will display the value of the associated point.
The Start and End Angle fields determine the extent of the drawn dial.
The Value at Start and Value at End fields determine the scaling relative to the associated
point value.
The Major and Minor Tick field determine how the tick marks are drawn on the dial.
The Clockwise Direction checkbox determine the dial needle rotation direction.
If the Clockwise direction check box is checked (by default) it will produce a
90 deg pie piece.
If the Clockwise direction check box is unchecked with default 90 degree end angle, it
will produce a 270 deg pie piece.
If a counterclockwise quarter circle gauge is desired, the appropriate end angle is -90 or
270 degrees.
The Spring Return Switch is used for momentarily changing the value of a point in the
simulation.
1. Select the Spring Return Switch widget on the Types Tree and click on the canvas
where the spring return switch graphic should be placed.
2. Right-click on the Spring Return Switch graphic to edit attributes its attributes.
The user can associate a single point or two points in the simulation with the switch by
filling in the point name in the Point Name field.
The user can choose to use the same point in both point name fields. The indicator will
react to the value of the associated points. The switch will set the right point value when
the user clicks on the right side of the widget. The converse is true for the left side.
The point value will be set to the corresponding Point Value field value when the user
clicks on the widget. The point value will be reset to the value in the Point Inactive Value
field when the user releases the mouse button.
The Multi Position Switch widget is utilized for changing the value of a point.
1. Select the Multi Position Switch widget on the Types Tree and click on the canvas
where the spring return switch graphic should be placed.
2. Right-click on the Multi Position Switch graphic and select Draw Attributes from the
dropdown menu to edit its attributes.
The user can associate any point in the simulator with the switch by filling in the point
name in the Point Name field. The switch will display the value of the associated point.
The switch will set the value of the associated point when the user changes the switch
state. The user can change the switch state by clicking near a switch position.
The Start and end Angle field determine how the switch is drawn. The Value at Start and
End Angle fields determine the scaling of the switch with respect to the associated point
value.
The Number of positions determines the number of states that the switch will have. The
point value at each state will be the point range divided by the number of positions.
If the Clockwise direction check box is checked (by default) it will produce a 90
deg pie piece.
If the Clockwise direction check box is unchecked with default 90 degree end angle, it
will produce a 270 deg pie piece.
If a counterclockwise quarter circle gauge is desired, the appropriate end angle is -90 or
270 degrees.
The Alarm indicator and Alarm Timer widget are used in pair for indicating the alarm condition
of a point.
Process Variable state Acknowledge Alarm Alarm Annunciator
Alarm timer
The alarm timer is used for configuring the properties of the Alarm.
1. Select the Alarm Timer widget on the Types tree and click on the canvas where the
alarm timer should be placed.
2. Right-click on the Alarm timer and select Draw Attributes from the drop-down
menu to edit its attributes.
The user can associate any point in the simulator with the Alarm Timer by filling in the
point name in the Play Sound Point field.
Select the sound file name from\ the drop-down box. Place the sound file in
<Install>\DSS4X\GUI\SOUNDS.
Alarm Indicator
The Alarm indicator is used to configure the Alarm for a point in simulation.
1. Select the Alarm Indicator widget on the Types tree and click on the canvas where
the alarm indicator should be placed.
Right-click on the Alarm Indicator and select Draw Attributes from the drop-
down menu to edit its attributes.
The user can associate any point in the simulator with the Alarm Indicator by filling in the point
name in the Point Name field, the associated Timer Name specified in Timer Name field. The
user should specify the text to be displayed in the Display text field.
The Custom Slider widget is used for changing a value in the simulation according to the inputs
provided by the user.
1. Select the Custom Slider widget on the Types Tree and click on the canvas where the
Custom Slider graphic should be placed.
2. Right-click on the Custom Slider graphic and select Draw Attributes from the
dropdown menu to edit its attributes.
The user can associate any point in the simulator with the slider by filling in the point
name in the Point Name field.
The slider reacts to any value changes in the associated point value by sliding the thumb
to the new value. The slider sets the value of the associated point when the user
manipulates the thumb position. Either grabbing the thumb with the mouse cursor or
clicking in the track or increment areas can change the thumb position.
Clicking in the track changes the point value by 1% of the value range. Clicking the
increment buttons changes the point value by 5% of the value range.
The Minimum and Maximum fields determine the scaling with respect to the associated
point. The Resolution field determines the resolution at which the associated point value
can be adjusted by the slider.
The Thumb Width, Height and Track width values determine the geometry of the drawn
slider.
The Show Value on Thumb check box allows the associated point value to be displayed
in the thumb. The fields below the Show Value on Thumb check box control the thumb
value graphic and font attributes
The Bar Graph widget is used to display a linear representation of a point value, e.g. water levels
of Circ Water.
1. Select the Bar Graph widget on the Types Tree and click on the canvas where the Bar
Graph graphic should be placed.
2. Right-click on the Bar Graph graphic and select Draw Attributes from the dropdown
menu to edit its attributes.
The user can associate any point in the simulator with the bar graph by filling in the point
name in the Point Name field. The bar graph changes graphically when the associated
point value changes.
The Minimum and Maximum values determine the scaling with respect to the associated
point. The bar graph can be drawn vertically, with a visible border or by not altering the
appropriate check boxes. The bar graph fills in from the left to right and bottom to top
when the Normal direction check box is deselected.
The user can optionally define three-color ranges in addition to the basic Bar Color.
These ranges define which color the bar is drawn in when the point value is in the
corresponding value range. If these color ranges overlap, the upper color range has
priority.
The Numerical Readout widget is used to display the numerical value of a point in the simulation.
1. Select the Numerical Readout widget on the Types Tree and click on the canvas where
the Numerical Readout graphic should be placed.
2. Right-click on the Numerical Readout graphic and select Draw Attributes from the
dropdown menu to edit its attributes.
The user can associate any point in the simulation with the readout by filling in the point
name in the Point Name field.
The widget will display the associated point value to the precision selected in the
Significant Digits field.
The Numerical Input Field widget gives the user the flexibility of providing numerical user inputs
for point values.
1. Select the Numerical Input Field widget on the Types Tree and click on the canvas
where the Numerical Input Field graphic should be placed.
2. Right-click on the Numeric Input Field graphic and select Draw Attributes from the
dropdown menu to edit its attributes.
The user can associate any point in the simulation with the readout by filling in the point
name in the Point Name field.
The associated point value is changed to the typed value when the user selects the widget
and types in a value. The widget displays the updated point value.
Animator Widget
The Animator widget is used for swapping pictures based on the value of a simulation point.
1. Select the Animator widget on the Types Tree and click on the canvas where the
animation should be placed.
2. Right-click on the placed animation and select Draw Attributes from the dropdown menu
to edit its attributes.
The user can associate any point in the simulator with the animator by filling in the point
name in the Point Name field.
Define the value range by keying in minimum and maximum values for each range. If
value ranges overlap, the highest range on the list will be displayed. More than two
ranges can be defined using the Number of Images field.
Close the Draw Attributes dialog after changing the number of images and reopen, the
dialog will now display the desired number of ranges.
Select Image Resizable to allow the system to scale the image to fit in the widget
boundary. If the image should be displayed using its native scaling, de-select Image
Resizable.
Changing the Number of Images field value can alter the number of states in the
animation, clicking OK and opening the edit attributed dialog again. The new dialog will
list the new number of states.
HyperLinks
HyperLinks widget is used to configure additional links to reference a local, network file or web
resource.
1. Select the HyperLinks widget on the Types Tree and click on canvas where HyperLinks
should be placed.
2. Double link on HyperLinks widget icon. Click on ‘Add Hyperlink’ button to add local,
network or web references.
Clicking on hyperlink will open the corresponding reference using the default application. You
can type-in, copy/paste or select browse to add hyperlink reference. Network files can be
configured using the format “ \\ < i.p address or server name>\<path>\<filename>” . If you want
to share hyperlink references then these should be saved with s4m file.
Many objects such as Valves, Motors and Breakers can be ‘flagged’ as remote functions. Set the
Flowsheet graphic in graphic editing mode. Select the model and choose Edit Attributes.
Check the Remote Function box. This feature allows the model to be operated by an Operator or
Instructor in View/Operate mode.
With the information above, you now know how to set up basic remote functions. Here is a brief
summary of how it is done:
• For objects, use the Object Editor/Viewer to determine what parameter/point will
accomplish the desired action
• Choose the appropriate widget(s) and place them at the desired location on the canvas
• Edit the widget attributes to associate the widget with the desired point and specify the
point values
References Library
Point Reference
A Point Reference is used for displaying a point name, value and unit of measure. A description
is optional.
The user can associate any point in the simulation with a Point Reference by accomplishing the
following steps:
1. Select the Point Reference on the Types Tree and click on the canvas where the
reference should be placed.
2. The user is then prompted for a Point Reference name as shown below:
4. The system will display the point name and value by default as shown below:
Additionally, the user can create a point reference from the Object Editor Viewer. Select a
parameter of interest from the Object Editor Viewer, drag and drop it on the canvas at a desired
location.
To edit the point reference attributes, Right-click on the graphic. A Draw Attributes dialog
box is displayed as indicated below:
The Name, Value, Unit and Description Width fields determine how the reference information is
displayed graphically on the canvas.
The show value and Allow Setting Value checkboxes control whether the point value is displayed
and whether users are permitted to edit the value.
The user has the option to edit the value by double clicking on the reference and typing in a new
value.
A Flow Rate Reference is utilized for displaying a flow rate, direction and a unit of measure.
The user can associate any flow link in the simulation with a flow rate reference by executing the
following steps:
1. Select the Flow Rate Indicator on the Types Tree and click on the canvas where the
reference should be placed.
2. The user is now prompted for a flow rate indicator name as shown below:
3. Enter an appropriate name for the flow rate indicator. Enter the name of a Netsolve flow
object on a Base equipment stream.
4. The system will display the rate, direction and unit by default as shown below:
To edit the point reference attributes, Right-click on the graphic. A Draw Attributes dialog
box is displayed as illustrated below:
The Name, Value, Unit and Description Width fields determine how the reference information is
displayed graphically on the page.
The show value and Allow Setting Value checkboxes control whether the point value is displayed
and if an option is made available to the users to edit the value.
The user has the choice to edit the value by double clicking on the reference and typing in a new
value.
The Normal Flow Right to Left changes the direction of the arrow.
IF the Inlet Flow is selected it displays the flow object inlet flow instead of the default outlet flow
value.
Trend Reference
A Trend Reference is used for displaying a trend icon on a page. The trend icon brings up a
preconfigured trend.
The user can associate a preconfigured trend with this reference by executing these steps:
1. Select the Trend Reference on the Types Tree and click on the canvas where the
reference should be placed.
3. The system will display a trend icon and the trend name as indicated here:
4. Double click the trend reference icon to bring up the trend. A typical trend sheet is as
follows:
Object Reference
This reference develops a hot spot or icon on the page. The user can double click to bring up the
associated object operate dialog box. The following steps illustrate how to create an object
reference.
1. Select the Object Reference on the Types Tree and click on the canvas where the
reference should be placed.
3. Type in the name of any existing object that has an operate dialog. An illustration is
given below:
4. The system will display a dialog confirming the object type and system. If the object does
not exist, the user is informed with the following error message.
5. There is no icon associated with the reference by default. An icon can be associated with
the reference by editing the attributes of the image field.
a. In an Edit mode the system draws a dashed line around the reference as shown
below.
b. In the View/Operate page mode the reference is invisible but highlighted in blue
when the user selects it as indicated below:
6. When the user double clicks the reference the associated object operate dialog is
displayed as illustrated below:
An invisible object reference can be dragged over existing graphics to create a hot spot
for the associated object.
To edit the attributes, right-click on the reference graphic. Make sure you are in page Edit mode.
A Draw Attributes dialog box is displayed as shown below:
The object associated with this reference can be changed by editing the Ref. Object Name field.
If an Image is selected the object reference is no longer invisible .On the contrary an icon is
displayed instead.
The object reference indication as RF will not be displayed, if you are in operator mode.
1. Select the Flowsheet Reference on the Types Tree and click on the canvas where the
reference should be placed.
2. The user can associate a flowhseet with this reference. Enter a suitable name for the
flowsheet as indicated below:
Select an image in the Image selector to draw an icon next to the reference.
To suppress the name and graphics, check the Disable Flowhseet name and Disable green box
boxes. This will create an invisible system reference that can be placed over existing graphics
The system will draw a dashed line around the reference borders when the page is in an Edit
mode.
When the user selects the reverence in View / Operate mode the reference is displayed with a
blue border.
There are currently two options made available to the user to translate files from PRO/II to
DYNSIM. They are as follows:
2. All required data, for generating a flow sheet needs to be satisfied in PRO/II
application.
3. The user should “Perform Output Calculations” before exporting to DYNSIM. The flow
sheet has to be Run (i.e., converged) and Saved for retrieval during the exporting stage.
4. Using the Output menu, select the Send to DYNSIM option, which allow the user to
Alternatively, the user can apply the method suggested here to handle the transition:
1. DYNSIM user can select a previously saved PRO/II flow sheet in a way similar to
selecting a previously saved DYNSIM flow sheet. Within the Open-simulation-dialog-
box, the user must change the “Files of Type” option from “SIM4ME Files *.s4m” to
“PRO/II Simulation Files *.prz”.
2. On applying the Open command, the flow sheet is processed to generate a DYNSIM
flow sheet. The Open command then proceeds the same way as the native DYNSIM
Open command.
Users are directed to refer to the Translation Reference Manual wherein detailed
explanations of the “Translation concepts” are furnished.
Open Windows
The Open Windows window displays a list of windows that are currently open in the simulation.
Windows such as Flowsheets, OEVs, DEWs, and Trends.
1. Open the Open Windows window either by clicking Open Windows on the Window
menu or by clicking the Open Windows button in the Simulation pane.
2. In the Open Windows window, select any window name from the list to bring it to the
top and work on it.
2. In Open Window Settings window, select all the windows that are required to be
displayed in the Open Windows window.
Advanced Modeling
Equation Utility
Certain object parameters allow that their assignment be an equation. For these parameters, the
equation must be of the proper syntax for the DYNSIM equation solver. The proper syntax for an
equation assignment in an DYNSIM keyword text file is as follows:
An equation for a parameter can be edited in the graphical interface Object Editor by clicking on
the "Equation" field. This action brings up the Equation Editor dialog box where the equation
can be typed. When editing an equation in this dialog box, only type the equation operators and
operands. Do not include any of the other syntax. There is no need to type any of the characters:
ParamName = "EQUATION( )". Just type the valid DYNSIM equation.
A valid DYNSIM equation may contain any combination of operators and operands, and primarily
follows standard programming equation rules. All equation operands will be converted to
FLOAT types, and the result of the equation will be a FLOAT type. The order of calculation of
the equation is based on the operator precedence, and the order in which the operations appear in
the equation. The operator precedence is shown in the Priority Column in the table below.
NOTE: In practice, operator precedence is often forgotten or assumed. It is strongly
recommended to make frequent use of parenthesis to enforce the desired calculation!
DYNSIM allows the users to override the UOM in simulation equations and parameter
assignments. For details on UOM override, refer to the chapter Utilities/Tools and topic Units of
Measure.
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.
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
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
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 (a standalone static point) 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
The elements of the static point (ETABLE) can also be configured using function table feature.
The figure below illustrates the configuration of interpolation table using function table feature.
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 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.
Disable Sorting
A DYNSIM simulation is solved each time step by resolving the values of all the points in the
entire simulation. The order in which the points are solved is based on point dependencies. In
other words, if the DYNSIM run-time executable wishes to resolve the value of point B, but B is a
function of A which is in itself a function of C, then the resolution order will be C, A, B.
There are certain configurations where the sorting cannot be resolved, like "A depends on B
which depends on A." The user may disable sorting (i.e., "break the loop") through the graphical
user interface (GUI) by selecting the Sort attribute and selecting "true" in the pull-down menu.
In the first example, let’s say C also depends on B, forming a type of circular reference (B
depends on A, which depends on C, which depends on B). Which point should be sorted first? If
point C is taken out of the sort (thus "breaking the loop"), C will then use the "last-pass" value of
B in its calculation. The "last-pass" value means the value calculated for B in the previous time
step.
Not all points are sorted. For instance, static parameters are intended as design data, such as a
valve flow coefficient, that is not calculated every time step. It does not make sense to sort static
points. The DYNSIM GUI will not let you change the sort type for points that are not sorted.
Furthermore, a point must have the "ASSIGNMENT" field filled out before the sort type can be
changed. DYNSIM notifies the user of this with a tool tip on the "Disable Sorting" field.
Case 1 - A user wants to vary the Netsolve Header parameter UALS (heat transfer loss-to-
ambient scale tuning factor) dynamically during a simulation run to fine-tune the characteristics
of the header. The user can override the default point type (static) to force it to be dynamic. The
user can then change the value of UALS during runtime through the Point Editor (not allowed for
static points).
Case 2 - The opposite of Case 1: the user wants to "lock in place" the radiation heat transfer scale
factors for a Furn4 furnace (parameter JRADF). Override the default dynamic point type to make
it static. Now further tuning changes can be made only through editing the object and rereading
static values, not through the Point Editor.
Point types can be overridden using the Object Editor/Viewer. Here is how to do it:
1. Change to the Engineer environment (if you are not already there). The environment
name is displayed in the main window title bar.
Click the Edit button or choose Edit from the Edit pull-down menu.
3. Click the Pnt Class (same as Pnt Type) cell for the point you want to change. A box
displays with the current type.
4. Click the down arrow next to the point type. A list of available point types displays.
Note that the point type changes for this point only, in this object only.
CV14.CV Point value representing the size of the valve (expressed as Cv)
A more abstract way of looking at Models and Standalone Points is that they are both symbols;
that is, they both have a name and a description. This allows DYNSIM to perform a faster search
for a point that is a Model parameter. The model is located first, then it is queried to find the
Parameter. If you had a list of all Points by themselves, the resulting list would be orders of
magnitude larger and the configuration and gathering of values significantly slower.
Unique names are enforced at the Symbol level. You cannot have a Point with the same name as
a Model Object and vice versa. For example, the POS parameter for an object named VGOV has
a full object.parameter name of VGOV.POS. It is not allowable to then have a standalone
point with the same name. If the valve object did not exist, the name VGOV.POS would be
allowable, but probably not recommended, for a standalone point.
• Overview
• Point Types
• Vectors of Points
• Vectors of Parameters
• States
Overview
The most basic element is the model variable. The model variable has a name, description, value,
and units (among other things). The name is how the model variable is referenced. The name
can be a single character such as "T" or a word such as "Tamb". The description is a short phrase
such as "Temperature" or "Ambient Temperature". The value is a number such as "75". The
units describe the units of measure such as "F". Model variables come in two varieties: points
and parameters.
Points are complete entities in themselves. They are generally created by the user and are also
referred to as Standalone points. Standalone points do not belong to a model object. A point is
referenced by its name.
Parameters are points that belong to a model object. Parameters are created when a model object
is created, and cannot be explicitly created by the user. A parameter is referenced by the
objectName of the model object that owns it and the parameter name: objectName.name.
In this document, the term "point" can refer to a standalone point or to an object parameter. The
term "parameter" can refer only to an object parameter.
Point Types
There are four primary types of points: DYNAMIC, STATIC, STATE, and GRAPHIC. Each
point type can be a FLOAT (signed floating point, ranging from –9999999 to 9999999),
DOUBLE (signed double precision, ranging from -2147483648 to 2147483647), INTEGER
(signed integer, ranging from -2147483648 to 2147483647, or BOOLEAN (0/1). Each point type
represents a value within the simulation, but the types have different characteristics.
If unsigned point type is needed, as would be the case for packed block transfer between
engines, such as SCP software and TRISIM Plus software, create either PACKINT or
UNPACKINT objects for data transfer.
STATIC: A static point represents a value that cannot be changed while the simulation is
running. Static points are therefore not saved in Initial Conditions or Backtracks. The value of a
static point can only be changed by reconfiguring or by the Static Value Reread command. An
example of a static point is the Tank Wall Thickness parameter of a Tank object.
DYNAMIC: A dynamic point represents a value that can be changed while the simulation is
running. The values of dynamic points are saved in Initial Conditions and Backtracks. An
example of a dynamic point is the Tank Fluid Temperature parameter of a Tank model.
STATE: A state point represents a value that does not change instantaneously while the
simulation is running - in fact, it remains constant during the time step when dynamic points are
calculated. A Float state point has an associated time derivative (which is a dynamic point type).
Normally, the derivative is calculated each time step and the state value is automatically
integrated at the each time step. An example of a float state point is the Tank Fluid Mass
parameter of a Tank object.STATE points can also be integers. An example of an Integer
STATE is the position of a Latch in the control library.
GRAPHIC: A graphic point is used for operator interface connections. Its value can be changed
while the simulation is running, but the value is not saved in Initial Conditions or Backtracks.
Graphic points do not represent physical model measurements.
Standalone points are created by the user and store a value. Standalone points can be assigned a
numeric value by the user, or reference another standalone point (to obtain its value), or reference
an object parameter (to obtain its value), or store the result of an equation. Standalone points can
be referenced by object parameters or used in an equation.
Model parameters are created when a model object is created, and come in two varieties:
parameters that reference a model object and parameters that reference a point.
Parameters that reference a model take the name of another model as their input. For example,
the Netsolve Tank class has two parameters called OFi and OFx. These parameters are model
connections for flow paths into and exiting the Tank. (Note: the name of a parameter that
references a model object always begins with O, which stands for Object).
Parameters that reference a point come in two varieties: inputs and outputs. If the parameter is an
input to the model object, it can be assigned a numeric value by the user, or reference a
standalone point, or reference another object parameter, or store the result of an equation. If the
parameter is an output, it can reference a standalone point or another object parameter.
As an example, let's consider object TANK1, an instance of the Tank model. The tank has three
flow paths connected to it and the three instances of the Flow objects are named FLOW1,
FLOW2, and FLOW3. FLOW1 is an inlet flow and the other two are exit flows. The
connections within TANK1 are specified as follows:
OFi[0] = FLOW1;
OFx[0] = FLOW2;
OFx[1] = FLOW3;
Continuing the tank example, let's consider tank elevation. The tank elevation parameter, E, of
TANK1 can be assigned a numeric value as follows:
E = 100.0;
Suppose that many objects (tanks, pumps, and headers) have the same elevation. The elevation
parameter of TANK1 (for instance) can be assigned to the elevation of TANK2 as follows:
E = TANK2.E;
It may be desirable to store the elevation of all objects (on the mezzanine level, for example) in a
standalone (STATIC_FLOAT) point named MEZZ_ELEV with a Value of 100.0. The TANK1
elevation parameter can be assigned to the standalone point as follows:
E = MEZZ_ELEV;
The above three examples are of an input object parameter that references a point. (In this case it
does not make sense to specify the tank elevation with an equation).
Vectors of Points
Points can be created as a Vectors (i.e., arrays) by specifying the array size then optionally
initializing the values. Only one-dimensional arrays are allowed.
A two-dimensional array (two columns, n rows) can be simulated using a one-dimensional array.
In the case of a function table (y vs. x), the first element is the number of ordered pairs and the
second element is an unused placeholder. The first ordered pair (x1, y1) occupies elements three
and four, the second ordered pair (x2, y2) occupies elements five and six, etc.
The function table is typically used for interpolation in an equation in conjunction with the
CINTRP1 operator (Refer to Equation Utility) The point vector in the function table form
provides a relationship between input and output.
Vectors of Parameters
Some parameters are actually vectors. In the example above, the tank parameters OFi and OFx
are vectors. Adding additional assignment data in the Object Editor/Viewer dynamically
increases the size.
States
The value of a state remains constant during the model pass and is integrated at the end of time
step. The frequency of integration depends on the frequency of the thread to which the state point
is assigned. The state requires a point corresponding to the derivative. It is automatically created
if the user does not do so. The name of the derivative is the name of the state prefaced by a "d".
For example, if the name of the state is "M" (tank fluid mass), then the name of the derivative is
"dm".
States can be standalone points or object parameters. Object classes calculate and output the
derivative of a state parameter. Explicit Eulerian integration is used because it is fast to execute
and very robust to operator inputs. The integration equation can be expressed as:
dx
X = X0+ .∆t
dt
where,
X - state variable
dx
- derivative of state variable
dt
The model can be initialized only from the values of the states. In the strictest sense, states are
the integrated variables of the differential equations used to solve the system. The solution of a
differential equation requires that the initial values of the states be known. Thus, the value of the
states at any time, combined with the differential equation set, completely defines the
mathematical system being simulated. The definition of a state variable has been extended.
States are anything that must be known to bring the system up exactly where it was left. This
includes the manual/auto status of controllers, the values of latches, etc. When building a
simulation, the engineer should define the values of the initial conditions of the states. These
values are stored in a file named <Engine>STATES.DAT (for Initial Conditions Data) in the
working directory. Usually the engine name is E0, so this file is called E0STATES.DAT. The
engineer may want to edit this file using a text editor (such as notepad, vi, xemacs, or dosedit)
and set the values the first time. The format is state = value (e.g. HDR1.H=1468.0). If
nothing is specified for a given state, the default value is used. It is a good idea to set reasonable
values for states, as some networks can have convergence problems if initial conditions are
unrealistic. Once the simulator is running, the model developer can specify that the current
values of the states be saved. Choose Save Model States from Engineering
Actions on the Run menu. When the simulation starts, the states are set to the values last
saved.
Model Threads
Model Threads is an expert feature for the advanced user. Engines in the DYNAMIC
SIMULATION SUITE environment can be configured to run the integration steps for either
specific models or entire Flowsheets in separate threads. By default, all Flowsheets and models
are executed in the main thread. Engines can be configured to run any number of Flowsheets or
Classes in one or more threads.
If the simulation has multiple engines, then Model Threads need to be configured separately for
each engine.
To configure Model Threads through the editor, choose Model Threads from the Input
dropdown menu.
This menu option is available only in Engineer and Administrator environments and only for
engines that support model editing.
The following steps enable you to configure a Model Thread for an engine:
1. Specify the type - Flowsheet or Class, name of the Flowsheet or Class, and Thread name
for each row
When a simulation is loaded for execution, the thread configuration is loaded from the database.
Engines create multiple threads and run models and flowsheets in separate threads as per the
specifications.
If an engine is configured to use the keyword file when loaded for execution, then the
configuration of the threads can also be specified in a file named <engine-name>_threads.dat"
located in the working directory of the running simulation.
For example, if you have a simulation named ExampleSim with an engine named “Eng1” and if
this engine is configured to load model data from a keyword file using -asccfg option, then the
threads configuration for this engine can be specified in a file named Eng1_Threads.dat file
located under <INSTALLROOT>\Simulations\ExampleSim directory.
If an engine is configured to load flowsheet or model data from the database, then threads
configuration can only be specified using the Model Threads editor.
• Flowsheet threads can be specified by indicating the keyword (.dyn) file associated with
the Flowsheet and the thread name in the following format:
• Class threads can be specified indicating the class name and the thread name in the
following format:
For example,
If the configuration for model threads is incorrectly specified, your model may have
system errors. While using Model Threads, the following guidelines must be taken into
consideration.
2. All models in the Flowsheet will run in the Flowsheet thread, with the exception of
models of classes defined to run in a separate thread.
3. To move a single model from one thread to another, say, from Thread A to Thread B, it
must be moved to a Flowsheet assigned to Thread B.
5. The thread named "MainThread" will always exist, and be automatically created.
7. Only models of classes, which fully implement point based sorting, may run in any thread
other than "MainThread.” For example, Network Flow Components (Netsolve) library
and the Base Equipment Library model classes do not implement point based sorting and
hence must be run in the MainThread.
8. Some Flowsheet solvers may impose special requirements that a group of objects within
the Flowsheet must run in the same thread. For example, all objects within a
ThermalLoop must run in the same thread, however, different ThermalLoops may run in
different threads.
9. Each thread's cycle time will be the smallest period of any model running in the thread
and the value of the automatically created point DELT, whichever is smaller. Each
thread will synchronize with the main loop at every DELT increment. For this reason,
the Period of any model in a thread must be an even divisible or multiple of DELT.
Within each thread, the model solver will be executed multiple times, based on the
smallest Period of any model in the thread. It is recommended that objects with small
Periods be isolated in their own thread, thereby-minimizing the number of objects that
must be integrated at the small time step. Note that there is no simulation speed control
or synchronizing within the subloops smaller than DELT.
10. Upon Load Full (LF), the threads configuration data is also reloaded.
The table below summarizes the support for Model Threads for models in different model class
libraries:
(See Note 1)
Electrical 2 SyncScope
SyncKey
Gas Turbines
FurnEmis CoalFlow
Opacity Pulver
Lime Stone
ValveC
MOVS
MOVI
MOVC
BaromDamper
Hmix
SimpleHx
SimplePump
TurbShaft
TurbBrg
(See Note 2)
ExHood SteamChestM
GEBfptCont SteamTurbine
GEmhc SteamTurbineM
Tur1stStage
Tur1stStageM
TurExtHeader
TurGovNozFlow
TurGovNozFlowM
1. The primary obstacle to running classes in Electrical Grid in their own thread is the link
between the generator and torqueshaft, which have dependency on classes Flow Network
Components library.
2. The Simple Models must be organized in threads so that an entire thermal loop, or turbine
shaft, runs in the same thread.
Pre-defined Points
Inside a DYNSIM engine there are some pre-defined points with special functions. A summary of
useful points and their functions is given below.
TAMB Ambient temperature used by the DYNSIM Power libraries for heat loss
calculations.
INSTAIR Instrument air supply status used by Valve model. This is a variable
value from 0 to 1 representing the global instrument air pressure for valve
actuators. A value of 1 means the supply pressure is normal. A value of 0
means the supply has failed. Values in between represent a partial loss of
supply pressure. Refer to the Valve MP (motive power) parameter for
more details.
STREAMDIAG A diagnostic aid for writing stream data to file. Diagnostic output is sent
to an engine_StreamDiagdatetime.csv file in the
DSSxx\Simulations\simulation name folder in CSV format. Setting
the value to 1 will trigger a one time output of all stream data for the
current time step to a fresh file. This facility is intended primarily for
development and QA purposes.
POWER Power supply status used by Motor Operated Valve model. This is a
variable value from 0 to 1 representing the global power supply for valve
motor. A value of 1 means the power supply is normal. A value of 0
The change from what was essentially a command-line interface to a graphical interface
mandated a new, more flexible method for storing simulation data. A relational database was
selected for this task. Model configuration data and graphic images are stored in a database.
Because users have libraries containing hundreds of . dyn files, DYNSIM was designed to accept
these files as input (import) and write them as output (export), in addition to storing simulation
data in the database. Thus, investment in the .dyn files is preserved and an upgrade path is
assured.
If you are running a Simulation from .dyn files, you can use the simulation environment to
import your files, modify your Model, then export the entire configuration to .dyn files.
While the provision for doing so exists, SimSci recommends that you not work in a mixed
mode, retaining model configurations in both .dyn files and the database. Working in
mixed mode can be very confusing. It certainly is error prone. And the potential for getting the
two configurations out of synchronization with each other is very great.
Importing a Flowsheet
The procedure below is for importing a single Flowsheet.
Before importing a Flowsheet, you must have already defined (set up) the Simulation, and the
Flowsheet. (A model must exist in the Flowsheet, to receive the import.) Refer to the appropriate
topic(s): Adding a New Simulation, and Adding a New Flowsheet, respectively.
The reason for the above requirement is that certain files must be established prior to importing a
Flowsheet. The procedures referenced above tell you how to set up those files.
Basic Concept: You can import a Flowsheet into any Simulation from any Simulation. What you
are really doing is importing a flowhseet configuration represented in an .dyn file into the
database.
If you are interested in watching the progress of the import, turn on the Message Monitor
before starting the import.
1. Start a Simulation (any simulation). This command is required only to connect the
Hint: If you are going to be working with a particular Simulation immediately after
importing into it, start that Simulation in this step. This will save you time later.
4. From the File dropdown menu, choose Import and select Flowsheet.
The two dropdown lists are used to specify the target Simulation and Flowsheet.
The File text area indicates the location (absolute path) of the source
Flowsheet (the Flowsheet to be imported).
5. From the dropdown lists, choose the desired Simulation and Flowsheet. Remember that
Note that when you select a simulation from the dropdown list, DYNSIM
automatically inserts the associated directory path and filename into the File :
text area. If you are importing a Flowsheet into itself (to synchronize the database
with the .dyn files), you do not have to manually enter the File path information.
6. If required: into the File text area, type the absolute path and filename of the System
to be imported.
If the Import is successful, the Import Complete message is displayed in the Message
Monitor.
If you give permission to import the specified Flowsheet, and the import is
successful, that Flowsheet data is written directly to the database. The database and
the .dyn file are now in synchronization for that Flowsheet. The Flowsheet
graphics are also validated and an auto lay out for the graphics is also performed.
If you feel , the Flowsheet graphic still needs to be validated against the model
configuration in the database. Refer to Validate Graphics.
Exporting a Flowsheet
In this section, we will discuss exporting a single Flowsheet of a Simulation from the DYNSIM
database to .dyn files.
Before exporting a Flowsheet, you must have already defined (set up) the Simulation, and the
Flowsheet to export to. Refer to the appropriate topic(s): Adding a New Simulation, and Adding
a New Flowsheet, respectively.
The reason for the above requirement is that certain files must be established prior to exporting a
Flowsheet. The procedures referenced above tell you how to set up those files.
Basic concept: You can export a Flowsheet from any Simulation to any Simulation. What you
are really doing is generating an .dyn file to represent a Flowsheet configuration stored in the
database.
DYNSIM always exports data from the database only. That means that if you do
an export before saving unsaved objects and canvasses (Flowsheets), then later save the
unsaved entities (to the database), the .dyn file and the database will be out of
synchronization. Moral: save before exporting!
If you are interested in watching the progress of the export, turn on the Message Monitor
before starting the import.
1. Start a Simulation (any simulation). This command is required only to connect the
4. From the File dropdown menu, choose Export and select Flowsheet.
The two dropdown lists are used to specify the source Simulation (the Simulation to
export from). The File text area indicates the location (absolute path) of the target
5. From the dropdown lists, select the desired simulation and Flowsheet. Remember that
Note that the Flowsheet dropdown list includes the name of each System in the
source Simulation.
Also note that when you select a simulation from the dropdown list, DYNSIM
automatically inserts the associated directory path into the File : text area. This
is for your convenience. If you are exporting a Simulation to itself (to synchronize
the .dyn files with the database), you do not have to manually enter the To
Directory information.
6. If required: into the File text area, type the absolute path to the target Simulation
If the Export is successful, the Export Complete message is displayed in the Message
Monitor.
Export/Import Engine
Export Engine feature allows the user to export all the flowsheets assigned to an Engine and
Import Engine feature allows the user to import many flowsheets and assign them to a single
Engine.
Exporting an Engine
2 From the File dropdown menu, choose Export and select Engine
The two dropdown lists are used to specify the simulation and the Engine.
The Export to Folder text area indicates the folder where the associated
files are generated. By default, this folder is set to working folder for the
simulation to which this Engine belongs. You can enter a different folder or use
This operation generates an <Engine-name>.dat file and .dyn file for each
and this contains the thermo dynamics data for the Engine. The
Flowsheets and the location of the .dyn files associated with these Flowsheets
Importing an Engine
2 From the File dropdown menu, choose Import and select Engine.
The two dropdown lists are used to specify the Simulation and the Engine. The
Import From Folder text area indicates the absolute path of the folder where
associated files (<Engine-name>.dat, <engine-name>.slb and .dyn files for each of the
Flowsheets that belong to this Engine) necessary to perform this operation, are located.
By default it is set to working folder for the simulation. User can enter a different folder
or use the browse button to select a different folder.
2. From the File dropdown menu, choose Export and select X-Refs
The two dropdown lists are used to specify the simulation and the file path and name.
This operation generates the CSV file specified in the dialog. This file contains a
column for each column in the cross reference list. The CSV file can be viewed and
edited with most spreadsheet applications.
2. From the File dropdown menu, choose Import and select X-Refs.
If there are discrepancies between the cross references and the simulation, the user will
be warned.
The keyword "File" followed by the colon (:) is required. The filename is any valid path and
filename. The file type is either "BLOCK" or "CSV". Any other text is ignored. Here are two
examples:
Object Declaration
Record Format
OBJECT_TYPE: Name;
END
Each parameter assignment is separated by a comma (,) or a semicolon (;). White space is
acceptable within a parameter assignment, and a carriage return is considered white space. There
is no requirement for a carriage return between parameter assignments. The following are
examples of valid "records".
Examples
PID: PID23;
PV = Pms;
SP = {k}PmsSet;
Ki = KmsPgain;
Out = HPGV.Com;
END
FLOW: Flow1;
Type = 1;
Pump = P251;
Rho = Rda;
END
Parameter Assignment
The <Assignment> field of a parameter record may be any valid symbol name or any numerical
value.
Parameter Options
Options are set for each parameter using the {} before the Assignment field. The options are
used to change the point type for a numerical assignment or to disable sorting.
Equation
Message Assignment
The message assignment must be a valid message category. Please refer to the section "Messages
From Simulation".
Point Declaration
Record Format
Declaration_Type:
PointName;
END
OR
Declaration_Type: PointName[Size];
END
Examples
STATIC_INT: Aname[10];
END
1. The "Value" for DYNAMIC and GRAPHIC points will be used only when the point is first
created (usually when the model is first started), and will be ignored during subsequent
reconfigurations.
2. The value of a STATIC point can be viewed, but not be changed dynamically from any
client. If you try to change the value of a static point from the any client, it will give you a
warning and leave the value set to what it was. Each time DYNSIM is reinitialized, the values
of all STATIC points are set to the value specified in the file. To change the value of a static
point, you must change it in the file then request a static or full simulation reconfiguration.
3. The "Value" for STATE points will be used only when the point is first created (usually when
the model is first started), and the point is not initialized in the initial conditions file DYNSIM
INCOND.DAT. The "Value" in the .dyn file will be ignored during subsequent
reconfigurations.
Either C++ or style syntax should be used for all array indexing.
Excel Engine
Overview
The Excel Engine performs as any other engine available in DYNSIM. During startup, the Excel
Engine will open up the Microsoft Excel spreadsheet given by the “-excelfile filename.xls”
command line parameter.
• The user should pause the simulation before editing any fields in the Microsoft Excel
spreadsheet while the simulation is loaded.
Once DYNSIM is started, the user may access cells in the Microsoft Excel spreadsheet just like
accessing symbols in any other engine. The user can configure data exchange between the Excel
Engine and any other engine using “Cross Referencing” feature of DYNSIM. The user will be
able to start, stop, create, and restore snapshots similar to any other engine.
The DYNSIM to Excel engine data transfer has two time step latency. In one time-step the
values are updated in the Engine, in the next time-step the values are pushed out to the "To"
Engine and in the third time-step the values are processed by the "To" Engine.
• The first list (named Output list) comprises all the symbols that are to be forwarded from
the Microsoft Excel application to the Excel engine
• The second list (named Input list) comprises all the symbols that are to be forwarded to
Microsoft Excel application by Excel Engine process
The above lists were set up to enhance data transfer rates from the Microsoft Excel application
and the rest of the DYNSIM environment. The user will need to mark the symbols in the cross
reference table so that they can be added to the appropriate data transfer list. If the user just wants
to read values from the spreadsheet, then they can be accessed by their name (i.e. - A1, B2,
C155). The Excel Engine will then enter the symbol into the Output list. To write symbols to the
Microsoft Excel Application, the user should append an “.in” suffix to the cell name so that
Excel Engine can put the symbol into the input list.
For example, to write to cell B1 in the Microsoft Excel spreadsheet, the user must specify“B1.in”
as the “To Symbol” in the cross reference table. To write to cell F46, the user must specify
“f46.in”as the “From Symbol.”
Excel engine presently supports data transfer and calculations in only the first physical
worksheet of the Microsoft Excel workbook. Hence, the user is advised to use an excel
engine/file with just one worksheet.
The user can specify an initialization macro that is executed every time the Excel Engine is
initialized and every time a backtrack or an initial condition is loaded. The user can also
configure the Excel Engine to write simulation time to a cell in the Microsoft Excel worksheet
using -time option.
At each time step the Excel Engine will first send over all symbols in the Input list to the
Microsoft Excel spreadsheet. The Excel Engine will then forward the engine time if the user has
specified that the time be sent over. It will then call the Excel "calculate" method to update the
spreadsheet given all the formulae in the cells. If the user has specified a macro to run every time
step than that macro will be executed next. Lastly, Excel Engine will retrieve all the cells, which
have been marked for retrieval from the Microsoft Excel application.
A MISCEQTN1 block is defined to provide a simple DYNSIM I/O feedback mechanism for
Excel.
This illustrates a simple engine options setup. Microsoft Excel Bulk Read Write requires that data
be arranged in separate columns. We recommend that you segregate columns for input and
output.
The next figure illustrates the Microsoft Excel flow sheet stimulated by the above example.
Time is in A1.
'This file demonstrates how an Excel macro can be used to collect data
'The command line switches to run the Excel Engine with this macro:
Workbooks(1).Worksheets(1).Range("C1").value = 0 'Initialize
starting row to zero
End Sub
current = Workbooks(1).Worksheets(1).Range("C1").value
newtime = Workbooks(1).Worksheets(1).Range("a1").value
Workbooks(1).Worksheets(1).Range("C1").value = position
Workbooks(1).Worksheets(1).Range(time).value = newtime
Workbooks(1).Worksheets(1).Range(value).value =
Workbooks(1).Worksheets(1).Range("b1").value
End If
End If
End Sub
After these 20 values are collected, the user can then plot time verses the values using the
Microsoft Excel chart functionality.
Options
The following variables may be configured in the Engine Configuration Editor for an Excel
engine:
-simexecname Set the name of the Simulation Executive that the engine uses
-sync_period Set Period (seconds) for synchronizing with the Simulation Executive -
default is 0.25 seconds
-skip_factor Set the multiple of the time step to update Microsoft Excel application -
default is 1
-initmacro Set the name of the macro to run at initialization or snapshot reload
[CFI_PATH]\Simsci\OpcUAv1.0\Bin
and
OPC UA Standard
OPC UA does not replace the existing standards such as OPC, but rather complement them by
providing a common interoperability layer for exchanging information and orchestrating
processes. OPC UA embodies all the functionality of the existing OPC servers and expands on
top of them. Backward compatibility with previous standards will ensure quick adoption on the
market.
The OPC Foundation has taken many steps to guarantee that the implementation of the standard
is relatively a straightforward and easy process.
To facilitate the adoption of the new standard and to reduce the barrier for entry, the OPC
Foundation has developed an OPC UA software development kit (SDK). The SDK is the entry
point to jump-start the existing applications and make them OPC UA enabled. The SDK consists
of a series of application programming interfaces and sample code implementations. To that end,
the UA specification is written to be platform-agnostic and, for that reason, the SDK comes in
different flavors to facilitate adoptions on different platforms. The .Net, ANSI C, and Java®
sample implementations are provided to OPC Foundation members.
Each "flavor" of the SDK is designed to suite special needs in terms of platforms, memory and
processor requirements, but all of them are capable to seamlessly interoperate with each other.
The .Net version of the SDK is more suited for rich client/server implementation, while the ANSI
C version is more suited for thin implementation like embedded devices, where memory footprint
and CPU utilization are more important. The Java implementation is more suited for the Web
environment and thin clients but can also be used on other environments. Each software vendor
picks the implementation they prefer, depending on the unique requirements for performance,
cross-platform capability and Internet-friendliness.
All the adapters can communicate with the OPC UA Server driver layer through a common
interface and the adapters can connect to the OPC UA Server at any time. At present, it is
assumed that each adapter is a loadable DLL (Dynamic Linked Library) or exe that can be loaded
in the OPC UA Server driver’s address space. Each adapter is capable of being developed
independently and new adapters can be developed to support other SimSci products in future.
Once the process simulation domain is exposed as an OPC UA information model, and objects
such as material streams, unit operations and flow-sheets are instantiated, then the models can be
invoked also for off-line use, without any interaction with actual data.
OPC UA would then be used as a communication protocol between adapters and any client, be it
a standalone user interface or a web server. Although the OPC UA specification is created for
distributing applications, and designed for efficient communication when the client and the server
are on different machines, the architecture is simplified with the two coexisting on the same
machine.
The following general assumptions are being made about the OPC UA Server:
1) The initial design of the OPC UA Server uses the OPC UA QuickStart DataAccess server as
a starting point. This server makes the assumption that each block (model/stream instance)
has a unique name. Therefore if you have two different simulations that are to be operated
simultaneously by the server, then the simulations must be handled in different address
spaces.
2) A block in the Data Access servers will be equated with a model or stream instance in
DYNSIM, PRO/II, or ROMeo applications. The OPC Data Access server currently can’t
support and handle groups under the block instances. The OPC UA Server code needs to be
modified to handle the concept of groups under the block instances.
3) The program assumes that underlying system will return tree branches all the way down to
the group level under a particular block (or model instance). The program then operates on
this branch.
4) All adapters will have a method(s) to efficiently return tree information (branch and leaf). All
adapters will set up the top branch of their tree (i.e. – DYNSIM, ROMeo, or PRO/II
softwares) to have a method called Open Simulation/Close Simulations.
5) UOM data will be supplied by individual values in the tree but the user will not have access
to the UOM function to make global changes through the OPC server. The OPC UA clients
(i.e. – Portal) will be responsible for displaying values with different UOMS. At present the
UOM for the opened simulation would be in internal units.
6) Initial version of the server will not do any kind of security checking.
Adapters will be loadable dlls that come for each product. The PRO/II and ROMeo adapters will
basically call adapter code for the portal application with a few new methods to get tree data
structure
The OPC Foundation provides a server called the Local Discovery Server (LDS) which is
installed on every machine with a Simulation UA Server. The LDS provides a Discovery
Endpoint at well-known URLs. Clients have advance knowledge of these URLs and can use them
to find the LDS on any given host.
The following snapshot shows Discovery service end point reference from client perspective:
The order in which the client uses these URLs can be configured, as different systems have
different policies.
To summarize, the UA Client discovers everything it needs to connect securely with the UA
Server using the following steps:
• Ensure that Opc.Ua.DiscoveryServer is running. This server will run as a service post
installation of the DYNSIM.
• Make sure that you have a valid DYNSIM 5.0 simulation file that can be opened in the
DYNSIM GUI.
Process Steps
Note: In this case, OPC UA client named UaExpert is used to describe the functioning of OPC
UA Server.
To initiate the process of invoking a simulation, you need to start SimSci OPC UA Server 1.0
manually
or
4. Open Windows Task Manager to check that both the Opc.Ua.DiscoveryServer and
Simsci.Opc.Ua.SimulationServer processes are running.
If the UaExpert client is launched for the first time, then the following certification
page is displayed, prompting you to either accept the certification permanently or
reject it.
8. To add the OPC UA Server to the UaExpert client, click Add Server button from
the top menu. Add Server dialog box is displayed.
9. Expand the Local node from the tree structure to view the servers available.
10. As the Discovery Server service is running, the Invensys OPC UA Simulation Server
will be observed in the tree structure as a node.
Note: You can also do a custom discovery of the server in case of attempting to
connect to a remote server machine. You can enter the machine name/IP address of
the server machine and add server in custom mode to connect to the remote server.
12. Select None - None from the list of options and click OK. The required server service
is added to the client.
13. Now click the Connect Server button from the top menu to establish connection
between the server and the client.
15. Right-click Open Simulation and click Call from the context menu.
20. The invoked simulation is displayed under DYNSIM group as a new node.
21. Expand the invoked simulation to observe the groups and parameters under it.
22. The branch will display all the methods and data accesses associated with the running
simulation.
23. The elaborated view of the tree structure is shown in the figure given below.
Method Calls
OpenSimulation
This method is called when you open the Excel spreadsheet. The purpose of this method
is to allow the application to setup the simulation prior to creating the portal tree view. It
contains two arguments, namely, Input and Output arguments, as shown in the tree
structure below.
Close Simulation
This method is called when you close the DYNSIM simulation. This method does not
require any input or output arguments.
Run Simulation
The Run Simulation method is used to place the simulation in running mode. This method
does not take any input arguments.
Freeze Simulation
Load IC/Bkt
Save IC
The Save IC method requires only one parameter i.e., the IC number you wish to save.
Delete IC/Bkt
Bkt<IC number>
This method is called to toggle the simulation in and out of single step mode. The
parameter for this method is the simulation name. The first call will change the simulation
into the single step mode and the other call will move out of the single step mode.
To do a step calculation, first you need to call this method to change to single step mode
and then invoke run simulation method.
Save Simulation
This method is called to save the simulation file. This method has no input parameters and
when invoked it will save the current simulation file.
The location of the ASCII control file will be in the simulation directory for the
simulation. The file name that the adapter will look for is OPC_UA_Points.csv.
# Tree entry record format - comma separated file, entries cannot include commas
# Engine Name = (REQUIRED) Name of engine; Engine must exist in the simulation.
# Point Name = (REQUIRED) Name of point within Engine. Combination of engine name
and point name
# provides unique address for OPC UA Server. This allows for two engines to use points
with
# identical names.
# Must be either R or RW. The default is R. If the point is R then the OPC UA server can
only read the
# value. If the point is RW then the OPC Server can read and write to the point.
# point name the 3rd party OPC Client application (such as an HMI) is expecting. Aliases
allow for easy
# manipulation of point names so that HMI's from the plant can be used 'as is' for
simulation.
# Group = (OPTIONAL) OPC Group that Point resides in. If no group is specified then
the point will reside in the
# BOOL = Boolean
# Listed below are some sample lines showing how the data is to be entered.
# Excel1,b1.in,FLOAT,RW,,Inputs,”Sample Description 1”
Excel1,b2.out,FLOAT,R,,Outputs,”Sample Description 2”
Excel1,b2.out,FLOAT,R,test_alias1,Outputs,”Sample Description 3”
Excel2,b1.in,FLOAT,RW,,Inputs,”Sample Description 3”
Excel2,b2.out,FLOAT,R,,Outputs,”Sample Description 4”
Excel2,b2.out,FLOAT,R,test_alias2,Outputs,”Sample Description 5”
# Excel2,b3.out,FLOAT
The DYNSIM engine points are not required to be entered in this file. You have to
manually create this file for each of the engines that want to expose points for the browse-
able interface. It is your responsibility to create, edit and maintain this file whenever you
want to add a point or change an engine name. Sample template is saved in
OS Location
WIN 7 C:\ProgramData\SIMSCI\DSS50\OPCUA
1) An option to control how data will be supplied by the server. By default all data
supplied by the server will be in DYNSIM Internal units. If the user wants the data in
simulation display units, add an XML tag ShowDisplayUnits option in the config file.
If the display units in the simulation are set to DYNSIM Internal unit, then no
units will be supplied to the client.
2) The DYNSIM Adapter has an internal thread that it uses to retrieve subscription data
from the Simulation Executive. This thread normally runs on 500 millisecond
intervals. If you wish for the adapter to check for subscription data changes at different
interval, add an XML tag AdapterThreadDelay. The lower the number (range is from
50 milliseconds to 5000 milliseconds) the more often the adapter will check the
Simulation Executive for subscription updates.
… <Extensions>
<ua:XmlElement>
<SimOpcUAServerConfiguration xmlns="http://invensys/simsci/opcserver">
<Product>
<Name>DYNSIM</Name>
<FriendlyName>DYNSIM 5.0</FriendlyName>
<Description/>
<ShowDisplayUnits>YES</ShowDisplayUnits>
<AdapterThreadDelay>100</AdapterThreadDelay>
<Version/>
<AdapterProgId>Simsci.DYNSIM.Adapter.50</AdapterProgId>
</Product>
</SimOpcUAServerConfiguration>
</ua:XmlElement>
</Extensions>
The OPC UA Server is modified to support ‘http’ and ‘https’ protocols. A Silverlight
OPCUA Client or a HTML5 OPC UA Client is required to avail the OPC UA Server
functionality by using http/https protocol.
Sample Silverlight OPC UA Client and sample HTML5 Client are used to demonstrate
the OPC UA Server functionality for DYNSIM in the subsequent sections.
The following figures show the sample Silverlight Client connecting to the OPC UA
Server through ‘http’ and ‘https’ protocols. The DYNSIM simulation file
(E3_Refinery_Steam.s4m) is accessed through the OPC UA Server by using the
http/https protocol through the sample Silverlight Client.
All the method calls can be accessed through the http/https protocol. The data for the Unit
Operations and Streams from the simulation can be viewed or modified by using the http
and https protocols.
Simulation file connected through http protocol using sample Silverlight Client
Simulation file connected through https protocol using sample Silverlight Client
The following figures show the sample HTML5 Client connecting to the OPC UA Server
through https protocols. The DYNSIM simulation file (E3_Refinery_Steam.s4m) is
accessed through the OPC UA Server by using the https protocol through the sample
HTML5 Client.
All the method calls can be accessed through the https protocol. The data for the Unit
Operations and Streams from the simulation can be viewed/modified using the ‘https’
protocol.
Simulation file connected through https protocol by using the sample HTML5
Client
The OPC UA Server can be accessed through the sample HTML5 Client by using a tablet
or a smart phone through the ‘https’ protocol. The following figure shows the sample
HTML5 Client getting connected to the OPC UA Server through the ‘https’ protocol by
using an Apple iPad.
Simulation file accessed through sample HTML5 Client through ‘https’ protocol by
using an Apple iPad
The OPC UA Server provides secured access to the clients connecting through all the three
protocols, namely, ‘TCP/IP’, ‘http’, and ‘https’:
• ‘TCP/IP’ Protocol
When a sample OPC UA Client connects to OPC UA Server by using the ‘TCP/IP’
protocol for the first time, the user is prompted to accept the OPC UA Server certificate
to be included in the OPC UA Client Trustee list.
User prompted to accept the Server certificate to be included in the OPC UA Client Trustee
list
The user needs to copy the Client Certificate in the Server Trustee List to permit the
Client to access the OPC UA Server. Unified Automation UAExpert Client is used for
demonstration.
Perform the following steps to copy the Client Certificate in the Server Trustee List:
3. Copy UaExpert’s certificate and place it in the OPC UA Server Trustee list. The
location of the Server list could be found in the
Simsci.Opc.Ua.SimulationServer.Config.xml file on the Server machine
(C:\Program Files\Common Files\SimSci\OpcUAv1.0\Bin).
• ‘http’ Protocol
The user needs to copy the Silverlight Client Certificate in the OPC UA Server Trustee
list to permit the Silverlight Client to access the OPC UA Server ‘http’ protocol.
• ‘https’ Protocol
The user needs to copy the Silverlight Client and HTML5 Client Certificates in the OPC
UA Server Trustee list to permit both the clients to access the OPC UA Server using
‘https’ protocol.
Glossary
OTS - Operator Training Simulator
Appendix
The table below gives a brief description about the configuration parameters and its default
settings used in the Simsci.Opc.Ua.SimulationServer.Config.xml
the server
The user loads a DYNSIM simulation. This starts up the OLGA Interface Engine. The OLGA
Interface Engine initializes the OLGA server and loads the user specified OLGA simulation
based on user specified parameters (see Olga Engine connection parameters).
The user runs the DYNSIM simulation. The OLGA Interface Engine controls OLGA server
actions.
The Olga Interface Engine code uses the OlgaServerName, OlgaExePath and OlgaPortAlias
engine options to launch OLGA in server mode. When OLGA is launched in this way the OLGA
server working directory is the same, as the DYNSIM working directory and all IC and Backtracks
will be saved by DYNSIM in the .s4m file. For the example simulation called OlgaDemo5 the
working directory would be \SIMSCI\DSS44\Simulations\OlgaDemo5. OLGA will also load its
input and tab files from this working directory.
If the user does not supply the OlgaServerName or OlgaExePath options the engine does not
attempt to launch OLGA. The user has to launch OLGA in server mode before the DYNSIM
simulation is launched. This option gives the user more control of OLGA startup parameters. The
user has to specify the OLGA mode and port name in the command line. The default OLGA
directory in this mode is the same directory as the OLGA executable; this is where OLGA will
look for its .inp and .tab files and where it will save ICs.
It tells OLGA to execute in server mode on port olga2000, where olga2000 is an alias for a port
number defined in the \\WINNT\SYSTEM32\DRIVERS\ETC\SERVICES file. For example:
If the OLGA server was started successfully, the following console output appears:
OLGA_SERVER STARTED
OLGA_SERVER READY
Now the OLGA Interface engine can connect to the OLGA server.
OlgaPort: Port number OLGA server is listening to (exactly the same port specified in the OLGA
server startup command). Default 16800
OlgaPortAlias - Port name on host machine that OLGA is using. Default: olga. Check the
\\WINNT\system32\drivers\etc\Services file to get the port alias.
To ensure that the OLGA integration step size never exceeds the OlgaInterfaceEngine step
size the *.inp file must be modified with the following parameter:
For example, if you want to execute the system at a step size of 0.25 seconds the INTEGRATION
paragraph will look like this:
!!*********************************************************************
!- INTEGRATION Definition
!---------------------------------------------------------------------
NSIMINFO=10, STARTTIME=0 s
OUTLET BOUNDARY_DERIV 4 0 0 0 0
If you commit a mistake in the input.olga file and try to reference a point that does not exist, the
engine has no way to distinguish which point is incorrect. The OLGA server console can provide
a more detailed feedback. Use the debug mode to enable full logging in the OLGA console
(switch on debug mode by typing dblevel in the Olga Interface Engine console).
# e.g. OUTLET PT
GLOBAL HT
INLET1 PT
: If you make an error in the output.olga file and try to reference a point that does not exist,
the engine has no way to distinguish which point is incorrect. The OLGA2000 server console can
provide a more detailed feedback. Use the debug mode to enable full logging in the OLGA2000
console.
[STARTUP_PARAMS]
wait_time=20
S4MVersion=XXXXXX
The following commands can be entered in the OLGA console window:
10. dblevel - toggle OlgaInterfaceEngine debug mode on/off. This also toggles the OLGA
server logging mode.
13. step - execution cycle step to specified time e.g. step 12.5 will run OLGA to 12.5 sec.
15. get - read the current value of a point e.g. get OUTPUT.GT
16. set - set the value of a point e.g. set SOURCE-1.SOURCE.2 23.13
2. OlgaHost - Machine name where the OLGA server is running – default localhost
3. OlgaPortAlias - Port name on host machine that OLGA is using. Default: olga2000.
Check the \WINNT\system32\drivers\etc\Services file to get the port alias.
7. iofilePath - Directory where the input and output points files exist – default simulation
11. DebugLevel – level of feedback in OLGA and OlgaInterface engine console – options
none, low or high – default none
The DSS Host Configuration Editor is a tool to customize simulation infrastructure configuration.
Use this utility to configure Operator Training Simulators (OTS) in a distributed environment
where engines or Graphical User Interface (GUI) instances reside on more than one computer.
This tool provides an interface to specify these features:
• Local configuration file settings, including configuration file locations and CORBA Name
Service parameter specification. Typically, these configuration file locations should never
change.
• Distributed configuration settings, including CORBA Name Service and Database Server
Host names. These settings should be configured on systems hosting remote engines to point
back to the Name Service and Database Server host.
• Engine runtime options, which are editable through text files linked from this interface.
• Microsoft SQL Server® memory options. These parameters represent the amount of memory,
in megabytes, in the buffer pool used by an instance of Microsoft SQL Server database.
• Set Interface button, that configures the TAO infrastructure to bind to a specific Network
Interface Card or Microsoft Loopback Adaptor IP address
To access the DSS Host Configuration Editor, select Start / Programs / SIMSCI / DSS4x /
Dynamic Simulation Suite / DSS Host Configuration Editor.
The Product Data Service (PDS) initialization file, pds.ini, is typically installed in a
subdirectory under the installation path. Generally, users should not change this file or file
location. This file contains the Microsoft SQL username, password, server name, server
provider, and database path.
The Name Service Parameters is made up of a set of flags that configure DYNSIM’s
communication layer, which is based on CORBA Common Object Services (COS) Naming
Service. Generally, users should never manually modify these flags. Instead, use the Set
• EDIT Button
The main configuration file, config_file.dat, includes configuration specifications for the main
simulation infrastructure (such as timeout periods and engine visibility), as well as engine specific
runtime arguments. In general, do not modify this file. Some Advanced Application engines
may require additional flag configuration. Refer to specific engine or product documentation for
details.
Configuration files for engines that install separately from DYNSIM, including engines associated
with SCP software, TRISIM Plus software, and the Simulator Bridge, are separately tabbed in
this configuration window. As with the main configuration file, users are generally discouraged
from making engine specific configuration changes, unless directed through product specific
documentation.
Typically the Name Service Host resides on the same machine running the Instructor Station
and the SimExecutive, however any networked machine can act as the Name Service Host.
This machine hosts the TAO Naming Services. Select Start / Programs / SIMSCI / DSS4x /
Naming Viewer to see which engines have registered with the Name Service Host.
Additional details on configuring distributed machines to point to a single Name Service Host
and how to view the Interoperable Object Reference (IOR) are detailed below.
The Name Service Port number is an unregistered assignment for Transmission Control
Protocol/ Internet Protocol (TCP/IP) communication over a network. There is a remote
possibility that other software uses this port number. If so, change the value. In general, do
not modify the Name Service Port number.
The Database Server Host is the host machine holding the actual DYNSIM database model.
Typically, the Name Service Host and Database Server Host reside on the same machine: the
Instructor Station running the SimExecutive. In rare instances, it may be necessary to
separate these applications to optimize simulator performance or to satisfy third party
application requirements.
For more details refer to Microsoft SQL Server Development Center’s article:
http://msdn.microsoft.com/en-us/library/ms178067.aspx
Binding to a specific IP improves CORBA performance by telling CORBA where to look first.
In cases where machine include only one NIC, there is no performance improvement.
Reset Button
The Reset button stops all engines that are registered with the Naming Service and resets the
Activation Manager, Utility Server, and TAO Naming Service. Note that if remote machines
have not registered with the Name Service machine, they do not reset. The situation arises when
remote systems boot before the Name Service (typically SimExecutive) host boots.
Quit Button
The Quit button quits out of the DSS Host Configuration Editor without saving any changes.
Note that configuration files edited via the EDIT button were saved after selecting OK in that
popup and the changes are saved, even when Quit is subsequently selected.
The message may indicate that the password does not match, but the root cause may be that
the DYNSIM infrastructure cannot access the password because the Activation Manager is not
running.
When configuring a remote engine, it may appear but it takes more than ten seconds for the
name to resolve
For large simulations, it may take several minutes to start up, however, for smaller sized
distributed simulations; it should not take more than a few minutes.
In these instances, use the DSS Host Configuration Editor’s Set Interface button to specify an IP
address. This step will allow CORBA to bind the Name Service to the engines host machine’s IP
address. Repeat this step on the Name Service machine, the SimExecutive machine (typically the
same as the Name Service machine), and every machine running a remote engine. Follow the
steps in the next section to configure the simulator for IP / Name Service binding.
• Establish an account on each machine with identical (case sensitive) user name and password
which is part of the Administrators group
• On each machine, configure the Name Server Host and Database Server Host to point to the
correct machine and use ‘Set Interface’ to specify the IP associated with the simulator
network
Of the steps listed above, only the last bullet is detailed here. Perform these steps:
1. Select Start / Programs / SIMSCI / DSS4x / Dynamic Simulation Suite / DSS Host
Configuration Editor.
2. Change the Name Service Host and Database Server Host to point to the machine running
the Simulation Executive
Instructor Station /
SimExecutive
4. Choose the appropriate Network Interface (non 151 network for I/A Series installed
machines) and select Set
Note: It may be necessary to disable the Windows Firewall/Internet Connection Sharing (ICS)
service on the computer. Refer to the Disable Windows Firewall section in this document
for details.
Double-click on one of the processes to view the Interoperable Object Reference (IOR) are
detailed below. If the Set Interface button was used to specify an IP address, only a single entry
will appear. If not, either the host computer name or multiple IP addresses will appear.
This chapter describes the details of setting up DYNSIM in a distributed environment for projects.
a. Establish the exact (case sensitive) account and password on every machine on which
DYNSIM is deployed in a distributed environment. The user should be a member of the
Administrators group. With local System Administrator privileges, the user can be added
to the Administrators group. To accomplish this go to Control Panel Administrative
Tools Computer Management. Then always use this account while using DYNSIM in
distributed mode.
If the system administrator has established Active Directory Control and a group policy that
enforces this, then a workgroup needs to be established, including all users that are allowed
Administrative privileges on each of the machines. The system administrator should apply the
new policy.
A basic test is to run a \\<remote_machine_name> (see example below) from the Windows run
command. If you are queried for user credentials to access \\<remote_machine_name>, then the
DYNSIM services will certainly not be able to start a DYNSIM process on the remote machine. If
this simple test works, also verify that you can create and delete files on the remote machine and
manage user accounts on the remote machine.
1. On each machine use Start Programs SIMSCI DSS45 DSS Host Configuration
Editor. Use the reset button on this application to reset services for the local machine. Verify
the various services are running OK.
2. If you have Windows XP SP2, verify the Windows Firewall service is stopped and disabled.
See Start Control Panel Administrative Tools Services.
3. Check the status of these services. Each should be started and automatic mode. If the service
is not started, use the Windows OS services utility to start the service. If the service fails to
start, review the Windows event viewer System Log and Application Log for root cause.
Prior to DYNSIM 4.1, the DSS Activation Manager and DSS Utility Server were named
SIM4ME Activation Manager and SIM4ME Utility Server respectively.
4. If there is a third party firewall, such as McAfee®, ensures that incoming learning mode is
enabled. SIMSCI Support has an instructions form for McAfee v8 firewall.
5. Verify that DYNSIM starts up on each machine and a new empty flowsheet can be created.
127.0.0.1 localhost
7. Execute a ping test from each machine to another to verify network viability. Ping both the
machine name and the fully qualified machine name. Both should return the same IP.
ping d45xp1
<drive>\SIMSCI\DSS45\Servers\Bin>pingns.exe
If it does not pass the ping and pingns test, check network cables, network configurations,
and finally consult your IT administrator for help.
8. Optional for debugging: Open and modify the Config_file.dat file present under <Install
drive>:\SIMSCI\DSSxx\Servers\System. Set the variable ‘show_windows’ to YES. Save
and close the file. This will launch the engine dos Windows (for both Run and Edit) when
the application invokes the engines respectively.
Change
PLANA
@echo on
-to-
:PLANA
@echo on
10. All machines must look to a single Name Service Host where the simexec should reside. This
is always the same as the Data Base Server Host. The next step is to change the Host
Configuration Editor settings in the 2nd machine (CIN05409B) to point to the machine on
which SimExecutive is hosted (CIN05409A in this case).
Verify:
Right-click on Folder Managers and Security Serves and examine IP and port bindings.
The following screenshot illustrates an issue encountered on a system with multiple network
cards.
The above IOR table shows one issue that may be encountered if multiple network cards are
present. On the machine running the simexec (fsxp09 in this example), use the Naming
Viewer to examine the IOR table for the remote machine, where engine startup or
performance is an issue (fsxp41 in this example). In this example, the 10.2.x.y network is
common to fsxp41 and fsxp09 and the DYNSIM Services must bind on the 10.2.x.y network,
but fsxp41 is returning the 151.128.x.y network. Use the DSS Host Configuration Editor / Set
Interface button and point to a specific IP Address to overcome this issue. Contact SIMSCI
support to obtain a troubleshooting guide if this is encountered.
12. In DYNSIM 5.0, a DYNSIM host configuration file (HostsConfig.txt) has been introduced
where the mapping data of the local host and the remote host can be saved. The file resides in
DSSxx\User.
Alternately, user can configure the engines for the s4m file using the Simulation
Configuration editor to point to the various machines on which DYNSIM engines are to be
launched.
When a simulation from a different client site is opened on a different engineer’s setup, the
simulation automatically maps to the hosts as configured in the HostConfig.txt.
The example below shows how a 3-engine simulation from an engineer site has been mapped
to the hosts on the current engineer’s site.
• Mapped Host refers to the local hostname as saved in the HostConfig.txt file.
• The following color codes of Mapped Host entries in the Engines table of the
Simulation Configuration dialog box denotes:
Green –mapped host supports the required engine type, and will be used to launch the
engine.
Amber – mapped host was not found or it does not support required engine type, and so is
being automatically remapped to the local host (simexec host) on which DYNSIM is
installed. The text too would appear in color amber. simexec host will be used to launch
the engine.
Red – mapped host (or simexec host) does not support the configured engine type (e.g.
TRISIM Plus software).
If a host does not exist or support the required engine type, it will not result in the loss of
any engine configuration information or cross-reference information as may happen now.
If the Mapped Host entry is red or amber, then editing it to a valid local host will cause
the color to change to green and updating the HostsConfig.txt file for future use.
13. Edit-in-place facility is available in the Mapped Host column. Editing the name will add or
replace an entry in the HostsConfig.txt file. This makes it easy for the users to update this file
without having to open a text editor.
Add the Load engine column to the engine table of the Simulation Configuration
dialog box. An engine should not be launched when the check box is not selected for that
engine entry. By default, the check box is selected indicating the engine will be loaded.
Error reporting:
When you open a simulation and a given hostname is not found on the network or in the
mapping table, by default, the name of the local host appears along with a warning message
in the message monitor: “No errors, no forced editing.”
14. The final step is to modify the Login window parameters for 2nd machine and point to the 1st
machine (CIN05409A in this case).
15. Now launch the application on 1st machine (CIN05409A) and load the model. The
SimExecutive, DYNSIM1 Edit, and DYNSIM1 Run engines would get launched on
CIN05409A. Similarly DYNSIM2 Edit and DYNSIM2 Run will get launched on CIN05409B
machine. The simulation can now be executed from any of the two machines.
The GUI on 2nd machine will not launch automatically and will have to be invoked by the
user by clicking on the DYNSIM start icon. However, once launched, the GUI display will
get synchronized automatically.
16. SimExecutive will appear in Naming Service Viewer now, but user must right-click on Root
and refresh to see it. There is only ONE simexec on ONE machine in simulation. This is
DYNSIM design.
17. If the above-mentioned steps are not successful, here are some additional troubleshooting
steps.
Check to see if there are multiple network adaptors installed. Ask SIMSCI Support for the
DYNSIM troubleshooting guidelines for multiple networks or private networks. Change the
search order for network adapters and then perform an ipconfig /release and ipconfig /renew
to determine if this helps.
Verify naming service port settings are all set correctly. Default port setting should be 10152
and consistent everywhere. Also verify that there are no collisions from other processes at
this port. Use Host Configuration Editor to change default port settings on each DYNSIM
machine if this is necessary.
a. If network settings are modified recently or converted to a new machine with an old
network name, try an ipconfig /flushDNS
b. If step “a” is not successful, perform an ipconfig /all command from a command prompt.
Note the Host Name and the DNS Suffix Search List.
c. Ping the Host Name and note the IP address that is resolved.
d. Ping the <Host Name>.< DNS Suffix Search List> and verify that the same IP address is
resolved.
e. If the IP addresses from steps “c” and “d” are identical then skip to step “h”.
f. If the IP addresses from steps “c” and “d” are different, ask your system administrator to
release old DNS entries in the system DNS table.
g. Then stop and start the DNS client on your local machine (on Windows 2000 and later).
h. Until the DNS issues are resolved on your network, you may modify the advanced
TCP/IP settings to try to work around this issue. See screen capture below.
Verify the box is checked for "Use this connection's DNS suffix in DNS registration".
On the system in this example, the DNS servers are supplied by DHCP server and therefore the
"DNS server addresses, in order of use" is blank. The user may need to provide "DNS server
addresses, in order of use" on your system. To obtain DNS server addresses, consult the system
administrator.
• Display the measured calculation cycle time for each engine as a percentage of
allotted step time
• Display machine resource use for all simulator hosts: memory and disk space use.
• Allow the user to specify important parameters to display for each engine.
2. As a Standalone Application
From the DYNSIM tools menu, select the System Health Monitor item:
• Super Users
• Engineers
• Instructors
Standalone Application
To use the SHM as a standalone application, copy the shm.jar file out of the DYNSIM
installation and launch the SHM with a batch script described here.
SHM example: DYNSIMEngine using more than 100% of its step time
Engine Lockup
SIMSCI\DSS4X\Servers\System\SHMGuiConfig.txt
Optionally a simulation specific file can be added in the simulation folder:
SIMSCI\DSS4X\Simulations\MySimulation\SHMGuiConfig.txt
This file will be included in saved S4M files. The configuration file in the simulation
folder overrides the one in the system folder, if present.
• Alarm values for the standard engine and host feedback parameters
a. Engine Status
b. CPU Use
This comma-separated file can be used for hiding and resizing columns, alarming by
color and sound and prioritizing alarm indications. It is divided into 2 sections. The top
section allows customization per column. The bottom section (indicated by START
POINTS and END POINTS) allows users to configure alarming options for their optional
points. Use "NONE" to indicated unknown values. Lines can be commented out using the
"#" sign. Here is a sample file:
The first paragraph in the config file defines the table layout and parameters for the standard engi
ne and host part of the table.
Test
Column Label Hidden Size Test Operator Color Sound Priority
Threshold
Calc Time/Time
0 50 > 100 Green critical.wav 2
Step
Column Descriptions
Sign - Comparison operator for alarm indication. Possible values are: >, <, >=, <=, ==.
Color - Alarm indication color. Possible values are: green, blue, cyan, gray, magenta,
orange, pink, and red.
Sound - Alarm indication sound file. Built in sound files are: normal.wav, firstup.wav,
critical.wav. Additional wave files can be added to the GUI\Sounds folder and referenced by
name.
Priority - There are four columns that can use the priority value. These include “Engine
Present”, "Calc Time/Time Step”, “Host Memory Free”, and “Host Disk Space Free”. Columns
with the higher priority are first to indicate abnormal status based on threshold and
comparison sign.
The second paragraph in the config file defines the table layout and parameters for the user-
defined points. This section of the file is defined between the START POINTS and
END POINTS tags.
Column Descriptions
Sign - Comparison operator for alarm indication. Possible values are: >, <, >=, <=, ==.
Color - Alarm indication color. Possible values are: green, blue, cyan, gray,
magenta, orange, pink, and red.
Sound - Alarm indication sound file. Possible values are: waves/normal.wav, waves/firstup.wav,
waves/critical.wav. Additional wave files can be added by the Software team.
(Note: Optional Info alarms have lowest priority as compared to the column priorities
described above. Within each row, the Optional Info priority is determined from left to right.)
NOTE: The information in this section is only used when the SHM is started as a
standalone application.
java
-Dorg.omg.CORBA.ORBClass=org.jacorb.orb.ORB
-Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton
-classpath C:;
C:\Invensys\TSUNAMI\GUI\jars\jacorb.zip; C:\Invensys\TSUNAMI\GUI\
jars\jctableK.jar;
C:\j2sdk1.4.2_01\jre\lib\rt.jar;
C:\Invensys\TSUNAMI\GUI\jars\shm.jar shm.monitor.EngineHealthMoni
torApp
-
ORBInitRef NameService=corbaloc:iiop:1.2@kbashir01:10001/NameServ
ice
-simexecname SimExecutive
-simexechost kbashir01
-guiConfigFile C:\Invensys\TSUNAMI\working\SHMGuiConfig.txt
-optionalPointsFile C:\Invensys\TSUNAMI\working\SHMOP.txt
The following command line arguments are required:
-
optionalPointsFile (Optional Points file ? see below ? default va
lue is :/Invensys/Tsunami/Working/SHMOptionalPoints.txt)
-frameWidth (GUI frame width ? default value is 685)
-frameHeight (GUI Frame height ? default value is 550)
The default location for this file when the SHM is launched from the DYNSIM GUI is in
the simulations folder.
Miscellaneous
On Solaris, the "Host Disk Space Free" column compares the root ("/") and opt ("/opt")
partitions and displays the lowest value.
A Open the DSS Host Configuration Editor from the start menu and press the “Reset” button.
Note, you must be a Windows OS power user to do this. Next, open the task manager and end
the DYNSIM application.
Q. I have a large number of Flowsheets running on my machine and the speed is very slow.
How can I distribute the processing over multiple computers?
A. The Flowsheets can be run on multiple engines that are distributed over multiple computers.
To do so, associate the Flowsheets with other engines and use the cross reference feature so that
the engines can communicate with each other.
1. Install Dynamic Simulation Suite on each computer that will run an engine.
3. Edit the Server Host Name (SimExecutive Host) and Database Host fields.
4. From the SimExecutive Host machine GUI, edit the simulation in the Types Tree and
associate a DYNSIM engine for each flowsheet. Specify the Engine Host for all the
engines and run the simulation.
Q. When I start the model the first time, why isn’t the simulation running at the previous
condition?
A. DYNSIM will start running from the conditions saved in a file called <Engine>STATES.DAT.
This file can be created by selecting the menu item “Save Engineering States”. It is a text file that
saves values for all State parameters. Unlike snapshots, it can be modified in a text editor if
required. When the simulation is started, DYNSIM will look for a STATES.DAT file and read the
values in this file it if it exists.
A. If the point is STATIC, you must press LF (load entire model) to update the running model.
If the point is DYNAMIC or STATE, you can only provide an initial value assignment in the
OEV. Subsequent changes to the running model must be made through the monitor, point
reference (check “Allow Setting value), among other ways.
Q. Why does my login screen wait forever and then finally come back with a message
"Security Server not found"?
A. The security License is either missing because the network license is inaccessible or the
standalone license is not attached. Reconnect to the network or obtain the standalone license key.
Some services require that the machine to belong to a network, but not necessary connected to it.
Set up the machine to belong to a network domain. Now, you do not need to be connected to a
domain to run the application.
Q. My simulation was working fine. I exited and came back in, but this time it won't let me,
just comes back with a message "Security Server not found".
A. It is possible that when you were running the application, the network connection was lost.
This will hang some services. Press Reset on the host configuration editor and restart DYNSIM. If
the network connection is eccentric, then disconnect from the network and reboot before starting
the application.
Q. Why does my model have a disturbance when I restore a snapshot (IC or backtrack) that
was previously saved at steady state conditions in the same DYNSIM version?
A. Model objects or points may have been renamed in the database since the IC or backtrack was
last saved and thus the snapshot does not have accurate data on all the database points.
OR
A Graphic or Dynamic point may have been changed by a user since the snapshot was taken or a
point that was previously State or Dynamic may have been changed to Graphic or Static by the
user. The bump in the saved snapshot reflects a new equipment status/size (static variable) or a
new graphic setpoint.
Q. Why does the simulation speed not exactly match the simulation speed setting?
A. The simulation speed controller inserts wait commands to absorb the cycle time that is not
needed by the DYNSIM processes to achieve the simulation set speed. The wait command has a
resolution of one millisecond. When the required wait time is very small compared to the
DYNSIM process CPU time the controller looses precision. As the speed controller looses
precision, the indicated simulation speed is accurate but it will not match the user requested
simulation speed. The chart below illustrates that a basic precision limit exits due to the one
millisecond wait resolution and when simulation set speed exceeds the model execution cycle
time, the simulation speed is limited by CPU.
1. At a simulation set speed of 100%, you may expect a true average simulation speed
between 99.6% and 100.6% provided the computer CPU is capable of executing the
model at 100.6% speed.
2. At a simulation set speed of 1000%, you may expect a true average simulation speed
between 960% and 1040% provided the computer CPU is capable of executing the model
at 1040% speed. Results may be closer than +/-4.0% in some circumstances.
3. At a simulation set speed of 10000%, you may expect a true average simulation speed
between 7150% and 12,850% provided the computer CPU is capable of executing the
model at 12,850% speed. Results may be closer than +/-28.5% in some circumstances.
Acronyms
API Application Program Interface
BKTRK Backtrack
FS Flowsheet
IC Initial Condition
LF Load Full
SIM Simulation
Glossary
Advanced Training Exercise (ATE)
See Scenario and Automatic Training Exercise
Backtrack, Initial Condition (IC), Snapshot
The ability of the simulator to save the state of the simulation, as well as controls, if applicable,
for the purpose of repeating simulation scenarios. A Backtrack is an automatically-saved
snapshot (usually taken at one-minute intervals). The user saves an Initial Condition (IC)
whenever desired; a unique description given by the user distinguishes the IC (example: 'Full
Load', 'Cold Metal', etc.). A Snapshot is a generic term for both Backtracks and ICs.
Backup Simulation
Saving the simulation objects and graphical configuration to the hard drive as a text file with the
extension xml. The file contains descriptive markup tags that define the presentation of the
simulation.
Class
A type of model object, such as a pump. It is synonymous with model.
Command Line
Located at bottom of the screen, it can be used to perform selected command-line operations in
lieu of pulling down a menu or clicking a toolbar button.
Connector
A graphical way to link parameters.
Controls Cross Referencing
The method by which simulation parameters communicate with DCS controls software
parameters. There are four basic types: Analog Inputs, Analog Outputs, Digital Inputs, and
Digital Outputs. Cross referencing is accomplished through a Cross Reference table, which
relates a unique controls I/O point with a unique model parameter.
Controls Software
Often shortened to simply controls, refers to the DCS software configuration (constructed using
blocks like the simulation) which performs closed-loop actions on the plant.
Cross Reference
See Controls Cross Referencing
Distributed Controls System (DCS)
A computer hardware and software system used to perform closed-loop controls actions
necessary for stable plant operation. Simulators have the capability to connect (via computer
network software) to a DCS, stimulating the DCS inputs and outputs, and making it appear that
the DCS is connected to a real plant.
DCS Interface
A graphical interface between a DCS and a plant operator, used to read data and initiate control
actions. In a DCS training simulator, a trainee sits at a DCS workstation and uses this interface to
control the simulated plant.
• Appearance: The Instructor environment toolbar does not include a button for
loading a model configuration from the database
Users are allowed to add new environments and customize existing environments. The current
environment type is indicated in the title bar of the main window.
Equation
A custom relationship or expression attached to a model parameter.
Flowsheet
A grouping of model objects, connected together to form a representation of a physical plant
system. Many Flowsheets may be associated with a single engine, but a flowsheet cannot be
associated with multiple engines.
Freeze/Run
The ability of the simulation to "freeze" in place (i.e., simulation time stops), or to progress
forward.
Graphic Editing
See Editing
Graphical User Interface
A graphical user interface (GUI) between a user and a simulation. The GUI includes a set of
tools for generating new models, modifying existing models, and executing models.
Hard Panel Emulation (HPE)/Graphic Slave Computer
A separate simulation computer used to display "mock-ups" of an actual plant's hard panels or
bench boards. Used with touchscreen monitors, it provides operations trainees with the ability to
actuate switches and buttons in a realistic fashion without the expense/complexity of constructing
a physical panel.
Initial Condition
See Backtrack, Initial Condition, Snapshot.
Instances Tree
Select the Instances tab, located on the bottom left side of the application screen; it displays the
content of the DYNSIM database and, if desired, the hierarchical structure of entries in the
database.
Instructor Station (I/S)
Consists of basic simulator control functions like Freeze/Run control, Backtrack and Initial
Condition save and restore, Model Speed Control, and Remote Function operation. The I/S also
has features for evaluating trainee performance and for trending (strip chart) model and control
parameters. Depending on the application hardware setup, the I/S may execute on the Master
Computer or may have its own dedicated Instructor Station Computer.
Keypoints
Monitored points displayed with Initial Conditions and Backtracks.
Library
A set of models grouped by function.
Malfunction
An unexpected, abnormal occurrence. For example, a valve that does not operate as commanded.
Any piece of equipment, control logic, or transmitter can be malfunctioned. Malfunctions can be
initiated immediately, time delayed, or triggered as a result of a particular process condition. Any
number of individual malfunctions can be created and optionally saved for recall and reuse in the
Malfunction Summary.
Malfunction Summary
A summary of pre-configured malfunctions.
Menu Bar
Located below the Title Bar, this bar lists all pull down menu times for a given environment
(Administrator, Engineer, Instructor, Operator).
Messaging
Critical data sent from the application to the user via the Message Monitor or a popup window.
Examples include configuration errors, loss of reality, warnings, and informational messages.
Flowsheet
Simulation Execution
Scenarios
TPM
Configuration or Exercise
Live or Static
Malfunction
Configuration or Operation
Model/Submodel
A mathematical representation of a type of equipment, control device, or electrical device. The
term model may also refer to either the instance of the model (which is also known as an object)
or the class of object. A submodel represents a repeatable portion of a larger model, examples
include a tray or flash in the Base Equipment Model Library
Model Class Libraries
Collection of like-model objects. For instance, pumps, pipes, headers and tanks are collected in
the NetSolve library. Switches, breakers, motors, generators are collected in the ElecGrid library.
Model Editing
See Editing.
Model Objects
An instance of a model or a class. Often called "Objects" because models are self-contained units
representing something physically real (example: pump, pipe, headertank, etc.). The term
‘objects’ is also used in conjunction with the Object Oriented software code in which the blocks
were written (as opposed to non-object oriented subroutines).
Model Object Parameters
A type of point associated with a Model Object. Synonymous with Model Variables. Example: a
Header has pressure, temperature, enthalpy, inlet flows, exit flows, etc., as parameters.
Monitor
A pane for viewing dynamic data such as Model Object Parameters and Model Points
Network
A collection of pressure nodes and flow paths bounded by explicit pressure nodes.
Object
See Model Object
Object Editor/Viewer (OEV)
DYNSIM tool that allows a user to view, and configure model objects.
Parameters
See Model Object Parameters
Playback
Scenario mode that executes commands listed in a Scenario file independent of Instructor or
Operation actions.
Points
User-defined as standalone values or vectors, not associated with Object Parameters. Model
Points may be of type static, dynamic, or state, and may either be floating point or integer. A
Vector is an array of model points.
Point Viewer
DYNSIM tool that allows user to selectively view simulation parameters.
Pause
Scenario mode to temporarily stop the recording events to a scenario file.
Record
Scenario mode to record operator and instructor actions to a scenario file.
Remote Functions
A generic term referring to operations performed independent of the control room and
computerized controls systems. While remote functions typically include operations such as
manually operating a valve or setting a switch, they have been expanded to include specifying
ambient air temperature or incoming water temperature or the quality of coal being fired in a
furnace.
Restore Simulation
Incorporating a simulation, previously save in a text file containing descriptive markup tags, into
the DYNSIM environment.
Scenario and Automatic Training Exercise (ATE)
Tools to enable independent, training with no instructor supervision or interaction. A Scenario
exercise can be replayed any number of times to baseline or measure improved operator
performance. The Scenario tool simply sets up the simulation to the appropriate operating
conditions, and performs behind the scenes actions such as initiating a TPM or malfunctioning
equipment. In ATE mode, the operator executes the scenario. His actions are recorded, for later
instructor review, if desired.
Session
Simulation Speed
The ability of the simulation model to execute at, faster, or slower than real-time. It is expressed
as a percentage of real time. Example: a model progressing forward in real-time means that the
speed is 100%. If a model is running twice real-time, the speed is 200%.
Single Step Mode
When in Single Step mode, the simulation progresses forward in time exactly one time step
(usually 250 milliseconds) each time you click the Run button. After running one simulation
time step the simulation automatically freezes and waits for another run action to be performed.
The Simulation Status is displayed as SINGLE STEP in the Simulation Status Pane.
Slate
A unit of measure group, including English, Metric, and SI. DYNSIM contains sets of predefined
slates, each with predefined units for each data item. Users can configure process specific slates.
By selecting a set of units, then globally overriding the predefined units and then more
specifically overriding those units for any individual data item, the user is afforded a great deal of
input flexibility.
Snapshots