Geh 6742
Geh 6742
Public Information
These instructions do not purport to cover all details or variations in equipment, nor to provide for every possible
contingency to be met during installation, operation, and maintenance. The information is supplied for informational
purposes only, and GE makes no warranty as to the accuracy of the information included herein. Changes, modifications,
and/or improvements to equipment and specifications are made periodically and these changes may or may not be reflected
herein. It is understood that GE may make changes, modifications, or improvements to the equipment referenced herein or to
the document itself at any time. This document is intended for trained personnel familiar with the GE products referenced
herein.
GE may have patents or pending patent applications covering subject matter in this document. The furnishing of this
document does not provide any license whatsoever to any of these patents.
Public Information – This document contains non-sensitive information approved for public disclosure.
GE provides the following document and the information included therein as is and without warranty of any kind,
expressed or implied, including but not limited to any implied statutory warranty of merchantability or fitness for
particular purpose.
For further assistance or technical information, contact the nearest GE Sales or Service Office, or an authorized GE Sales
Representative.
Public Information
Document Updates
Location Description
Added content providing alarm system requirements concerning the supported number of
Simulation System Components new alarms that can be processed but explained that the virtual controller is not limited to
these requirements
Configure Microsoft Loopback Added the procedure to configure the Loopback Adapter to add an additional virtual
Adapter controller to the simulation
TMR Triple modular redundant, uses three sets of controllers and I/O
UDH Unit Data Highway, links the controllers to the HMI servers
Indicates a procedure or condition that, if not strictly observed, could result in damage
to or destruction of equipment.
Caution
Attention
Note Virtual controller and HMI software are enabled using a USB license key that is provided with the software package.
To prevent disrupting the simulation, the virtual controller stops within thirty minutes after the licence key is not detected (or
has been removed).
HD 40 GB (or more)
Drive DVD
Network Ethernet 10/100 MB
USB Two available USB Ports
Note Verify that all ControlST applications required to be installed on the same computer are supported on the selected OS,
especially a 64-bit OS.
• Simulation Executive
• Plant model (process dynamics)
• Plant virtual controller – Mark VIe and Mark VIeS Virtual Controllers (simulation of one or multiple controllers)
• Operator interface – HMI
Additionally, the ToolboxST application is used in the actual plant for programming and troubleshooting the virtual controller.
The following illustrates the typical division of responsibility between GE and the simulator vendor for a project where the
virtual controller is integrated into a larger plant simulator.
• A burst load of 400 alarm transitions are supported in a single frame without missing a transition in the internal queue.
• A constant load of 100 alarm transitions per second are supported without missing a transition in the internal queue.
However, since the virtual controller runs in Windows, which is not a real-time operating system, the frame rate is not exact.
Taking advantage of this fact, the virtual controller is designed to increase the frame length to process the actual number of
alarm transitions in a frame.
The simulation computer requires an Ethernet network interface card dedicated to the GE simulation HMI; this network
corresponds to the plant’s Unit Data Highway (UDH). The simulation vendor provides, installs, and configures the network
interface card according to GE requirements.
The Controller Backup Option in the Mark VIe Component Editor must be set to
Automatic and the Download Backup File check box must be selected in the Download
Mark VIe Controller Wizard or the backup files will not be downloaded to the virtual
controller. The backup files are required for the virtual controller to run properly.
Attention
The virtual controller uses an API where process variables (analog and digital) can be specified for read/write operations
through shared memory. The Simulation Executive configures and populates the I/O to the virtual controller. It also provides a
Graphical User Interface (GUI) to map plant model I/O to virtual controller I/O.
The virtual controller uses an API where the state of the simulator is saved to disk, including specification of a file name(s).
The Simulation Executive manages these files, and assures that they are synchronized with simultaneously saved states of all
other simulation processes. The Simulation Executive also manages any file-naming conventions, name collisions, access
violations, ID numbers, and such. It saves all models and virtual controller states, and any other simulation settings required
to reproduce the desired simulation state when a restore operation is invoked.
• If BlackICE service is running on the simulation computer, it needs to be stopped and the startup type set as disabled.
• Uninstall any previous versions of the virtual controller
The virtual controller installation, which includes the various virtual controller binary files and the API, is available on the
ControlST DVD. The ToolboxST and WorkstationST applications must be installed on one computer, with a virtual controller
installed on a separate computer. For instructions to install software from the ControlST DVD, refer to the instructions
provided in the ToolboxST for Mark Controls Platforms User Guide (GEH-6700).
The virtual controller should never be installed on a computer that has network
connectivity to the UDH of an actual control system. This causes the virtual controller
to interfere with the actual Mark VIe control resulting in unintended control actions.
Warning
The virtual controller can also be used in a system layout where various simulation components (virtual controller, the
ToolboxST or WorkstationST applications, or a CIMPLICITY project) are installed on the same computer. Such a system
layout requires a specific additional configuration (refer to the section Configure WorkstationST Service). Also, this system
layout allows you to configure the controller IP addresses to a Microsoft Loopback Adapter.
Note The Mark VIeS Controller can also be selected if planning to use that version of Virtual Controller.
3. From the Mark VIe Creation Wizard, enter a name and click Next and Finish.
4. From the toolbar, click the Save System icon.
5. From the Tree View or the Summary View, double-click the controller to display the Component Editor.
6. From the Component Editor, General tab, Property Editor, select the controller hardware Platform.
Note The Platform type must be the same as what is used for HardwareType when you Create the Virtual Controller.
Select Global
Variable, then
select the Create
Variable check box.
Enter the variable
name and click OK
Note For more information on configuring the controller, refer to the ToolboxST for Mark Controls Platforms User Guide
(GEH-6700) and any of the block library user guides that are available with your ControlST Software Suite installation.
• The simulation computer has been successfully setup with an IP address and loopback adapter.
• The system and component have been correctly configured in the ToolboxST application.
• A Build has been successfully performed in the ToolboxST application.
Create the following directories under a root directory of the simulator computer, X:\Simulation\Controllers (X refers to the
drive on the computer):
X:\Simulation\Controllers: holds all virtual controller folders. For example, if three virtual controllers with project names
G1, G2 and G3 are being created, these virtual controller folders are created under X:\Simulation\Controllers.
X:\Master: holds all application code files. For example, a .tcw file with three Mark VIe controllers G1, G2, and G3 could be
stored in a project folder under X:\Master.
Note To add a Mark VIeS virtual controller, select Mark VIeS Virtual Controller.
2. From the Mark VIe Virtual Controller File menu, select Create to display the Create Project dialog box.
3. Provide the information to create the virtual controller:
4. Configure the Ext symbol file by navigating to the folder on your computer where you saved your system (.tcw) file.
From the controller’s device subfolder, open the Output folder, select the .syl file, and click Open. Click OK to save the
Create Project.
5. From the ToolboxST Component Editor, perform a Build and Download the virtual controller.
6. From the virtual controller application toolbar, stop the application.
7. Click the Start Application icon, then the Run Application icon.
Note When the simulator is started for the first time, the log window displays a message that runtime is not loaded.
Note If the WorkstationST Alarm Server has stopped receiving alarms, this may cause the virtual controller to not start
properly. If this occurs, open a Task Manager and try closing all Windows processes related to the WorkstationST
application. Then restart the virtual controller and the WorkstationST application.
8. From the Mark VIe Component Editor, click the Go On/Offline icon. Live values displayed in green indicate that the
Mark VIe controller is communicating with the virtual Mark VIe control.
Note In Windows 10, this may be called the Microsoft KM-TEST Loopback Adapter. Refer to the Microsoft Windows 10
procedure in the following location: https://technet.microsoft.com/en-us/library/cc708322(v=ws.10).aspx.
➢ To configure the Microsoft Loopback Adapter to add an additional virtual controller to the simulation:
add the IP address for the additional virtual controller to the existing Loopback Adapter configuration.
Note This procedure assumes that you are using the Microsoft Loopback Adapter.
➢ To set up an IP Address on the simulation computer for use with the virtual controller
1. From system tray, right-click the network connections icon and select Open Network and Sharing Center.
Note When all simulation components are installed on the same computer, a Microsoft Loopback Adapter replaces an
Ethernet connection. This allows the different simulation components to interact on the same computer without a physical
connection.
Note When the simulator is started for the first time, the log window displays a message that runtime is not loaded.
3. When the Download Mark VIe Controller wizard displays, click Next, then click Abort.
Note Because the virtual controller does not simulate all devices in the actual control software, error messages might
display. Check that the error messages correspond to hardware not being simulated. Clear the Scan I/O check box to avoid
scanning the I/O when downloading to the virtual controller.
4. From the wizard page, select the desired controller(s) and click Next.
5. Confirm the download by clicking Next until the Download Status dialog box displays.
6. When the Download is complete, close the dialog box.
7. From the Mark VIe Virtual Controller screen, stop the virtual controller then restart.
Note To perform a restart, stop the virtual controller, start it again, then run the application.
Note The Include folder contains the header file, which lists functions and defines the API.
The StartSimulation() function returns an integer, named result in this example. If a non-zero value is returned, it flags an
error that occurred in performing the operation. These flags descriptors are defined in the header file SimulatorErrs.h. This
header file is located in the Include folder within the installed folder of the virtual controller. If any API function returns zero
(SIM_ERR_EOK), the operation was successful.
Note There can be numerous contracts between a simulator and model, and there can be numerous virtual controllers
(controllers) for one model, or even multiple models for one instance of the simulator.
For systems that include FOUNDATION Fieldbus devices, the macrocycle delay for device-related signals can be included in
the I/O data communication between the process/plant model and the virtual controller. This feature will be enabled when the
parameter ffmacrocycle is set to True in the sim file created by the V04.06 virtual controller (the default value is True). You
can use the older sim file by either adding this parameter or using LoadPrjSettings() API. Set the parameter
mincludeMacrocycle to True and perform the Save command using SavePrjSettings() API. When this feature is enabled,
ChangeBaseFramePeriod() API will accept only standard frame periods (10, 20, 40, 80, 160, or 320).
ChangeBaseFramePeriod() API will not work with any other value.
Save this report as a .csv file, then filter and sort it in an Excel spreadsheet. View the report in the ToolboxST application to
determine the direction of any variable, either input or output.
Note The virtual controller does not generate a .alm file if the alarm queue is empty. As with the .var and .vsm files, the
Simulation Executive must manage copying, renaming, and deleting these files.
The BacktrackSimulation takes optional arguments of whether to set the simulation time internally to the current computer
time or take the time passed to it. If this option is used, the seconds and nanoseconds parameters are used to set the internal
time.
4.2.5.3 Override
Overriding a variable forces a variable to a desired state. When a variable in the Mark VIe Simulator is overridden, the virtual
controller ignores any other inputs to that value.
A variable must be in a simulated state to be overridden and a value must be inserted. These two steps are performed using the
SimulateVariable and SimulateVarValue functions. Performing the UnSimulateVariable function returns the variable to a state
for accepting normal values. The ForceVariable API function also allows variables to be overwritten. The Unforcevariable
API function returns it to its prior state. The health of a variable can be forced or unforced to a defective or good condition
using the ForceVarHealth and UnforceVarhealth API functions.
• Signal Name
• State
• Offset in ms
• Invert
The signal name is used internally to generate the SOE on that particular signal if it is enabled as an SOE. If the variable is
not present in the application or not enabled as an SOE, an error is logged, and the API continues to generate SOE for the
subsequent variables in the list.
The state indicates whether the SOE is due to a transition from 0 to 1 or 1 to 0. Passing a value of 1 in the state parameter
means that the transition is from 0 to 1. Conversely, passing a 0 means that the state transition is from 1 to 0.
The offset in ms takes the offset from the frame boundary at which the SOE is to be time stamped. The given offset is added
to the simulation time and the SOE is time stamped at this time. If the offset is greater than the frame rate, it is clamped to the
frame rate.
The invert parameter allows the Simulation Executive to model the SOE in the same lines as in the actual Mark VI. If the
state is 1 and the invert is 1, the SOE is raised as a transition from 1 to 0 instead of 0 to 1. Results for different combinations
is as follows:
The SOE generated using the above API do not affect the application state, and only simulate the SOE. If the SOE are
generated at the frame boundaries, there could be a discrepancy in the state of the variable shown in the generated SOE when
viewed through a CIMPLICITY project or the WorkstationST Alarm Viewer, as well as the state of the variable when trended.
To avoid this mismatch, the same value must be passed during the I/O transfers and when generating SOE.
File :- SimulatorApi.h
This header file consists of a class declaration for the cProjectInfo class. The data members of this class hold information
relating to the simulation configuration that the user wishes to create. Detailed comments are provided next to each data
member inside the header file.
File :- SimulatorErrs.h
Location :- X:\Program Files\GE Energy\<product>\Vxx.xx.xx\Include\ SimulatorErrs.h
This header file contains common error codes returned by virtual controller APIs. Most of the virtual controller APIs that run
successfully return a zero value, unless they return a negative error code. An error code returned from an API can be passed
as an argument to GetErrorString() API function to get a corresponding error string.
File :- SymbolTable.h
This header file provides a symbol table entry structure as it is stored in the virtual controller. All the variables created by the
user in the application code are downloaded into the simulation folder as .xml files. During initialization, the virtual controller
parses these .xml files, and fills the data members of a new object, belonging to the cExtraSymInfo class, for each variable.
All variables currently loaded into the virtual controller can be retrieved by passing a buffer as input argument to the
GetSymbolInfo() API or GetExtraSymbolInfo() API. The size of the buffer passed should be equal to (Total Number of
Symbols) * sizeof(cSymInfo) for the former and (Total Number of Symbols) * sizeof(cExtraSymInfo) for the latter. The total
number of symbols is retrieved by using GetSymbolCount() API. The cSymInfo provides information about the variable
name, the token, and the array size. The cExtraSymInfo provides information about the units and the high and low limits of
the variable in addition to the information provided by the cSymInfo. Whether the variable is an intrinsic or not, and whether
high and low limits hold default or user-entered values is retrieved by bit-masking the mStateOfVar variable. Details of usage
are provided in the SimulatorApi.h file.
This header file provides the seven data types supported by the virtual controller. This file consists of an enum structure that
supports the data types. The following table provides an equivalent data type for each of the virtual controller data types.
INT_TYPE short
DINT_TYPE long
REAL_TYPE float
LREAL_TYPE double
File :- CmdServer.h
Location :- X:\Program Files\GE Energy\<product>\Vxx.xx.xx\Include\CmdServer.h
This header file provides the class that uses the Action Capture and Replay (ACR) feature. The user needs to create a
command server object of the class cCmdServer defined in this header file for recording and replaying CIMPLICITY and SDI
commands.
File :- DiagServer.h
This header file provides the class that reads the diagnostic messages from the virtual controller. The user needs to create a
Diagserver object of the class cDiagServer defined in this header file for capturing these diagnostic messages. The user needs
to pass a callback function pointer to the constructor while creating the object.
This header file contains character strings that provide information about the version.
File :- TimeSpec.h
File :- simapi.lib
This library file must be linked with the application being developed to use the APIs exported by the virtual controller.
File :- cmdserver.lib
Location :- X:\Program Files\GE Energy\<product>\Vxx.xx.xx\Lib\cmdserver.lib
This library file must be linked with the application being developed to use the Action Capture and Replay feature.
File :- DiagServer.lib
This library file must be linked with the application being developed to read diagnostic messages sent by the virtual
controller.
EGD Ethernet Global Data. Control network and protocol for the controller. Devices share data through EGD exchanges
(pages)
Fidelity The ability of the simulation and the controls to match the operation of the running power plant
Online Mode that provides full CPU communications, allowing data to be both read and written. It is the state of the
application when it is communicating with the system for which it holds the configuration. Online is also a download mode
where the device is not stopped and then restarted.
pcode A binary set of records created by the application, which contain the controller application configuration code for a
device. Pcode is stored in RAM and Flash memory.
pin Block, macro, or module parameter that creates a variable used to make interconnections.
Plant Data Highway (PDH) Ethernet communication network between the HMI Servers and the HMI Viewers and
workstations
product code (runtime) Software stored in the controller’s Flash memory that converts application code (pcode) to
executable code.
Sequence of Events (SOE) High-speed record of contact transitions taken during a plant event for data analysis.
server A computer that gathers data over the Ethernet from plant devices, and makes the data available to computer-based
operator interfaces known as viewers.
simplex Operation mode that requires only one set of control and I/O, and generally uses only one channel. The entire
Mark VIe control system can operate in simplex mode.
simulation Running a system without all configured I/O devices by modeling the behavior of the machine and the devices
in software.
TCP/IP Communication protocols developed to inter-network dissimilar systems. It is a de facto UNIX standard, but is
supported on almost all systems. TCP controls data transfer and IP provides the routing for functions, such as file transfer and
email.
trend A time-based plot to show the history of values, similar to a recorder, available in the Turbine Historian.
Unit Data Highway (UDH) Connects the Mark VI controller, static starter control system, excitation control system,
PLCs, and other GE-provided equipment to the HMI Servers.
WorkstationST A ControlST application that provides a user interface for configuring various features such as alarm
management, control system health, Historians, and data interfaces.
A L
library files 37
Action capture and replay 39 Limitations
Alarms 11–12, 33 system 12
Application code 27 log files 38
Architecture 11 LoopbackAdapter
configure 24
B
binary save and restore 33 M
messages
diagnostic 38
C
Components
power plant simulator 9 O
system 11 Operating systems 7
Configuration 15 override
Configure variable 33
IP addresses 25
loopback adapter 24
ToolboxST system 16 P
Process/Plant model 30
D Product and application code 27
diagnostic
messages 38 R
Download
application code 27 Requirements
simulation executive 13
F
features 8
S
files save and restore
library 35 binary 33
log 38 named 33
Files Sequence of Events 34
.xml 29 simulation
functions run 32
binary save and restore 33 Simulation platforms integration 29
named save and restore 33 Simulator
components 9
System
H layout 12
limitations 12
Hardware 7 requirements 15
header files 35 simulation components 11
ToolboxST 16
System architecture 11
I
initial conditions 32
I/O T
identify variables 31 ToolboxST system configuration 16
registration 30
simulator 30
Installation 15
GEH-6742J Index 45
Public Information
V
variable
override 33
Virtual controller
create 20
Virtual Controller
features 8
W
WorkstationST configuration 23