Professional Documents
Culture Documents
1KHL506007-ITT SA Synthesizer User Manual PDF
1KHL506007-ITT SA Synthesizer User Manual PDF
ITT SA Synthesizer
User Manual P
Document ID: 1KHL506007
Issued: May 2016
Product version: 2.0
This document and parts thereof must not be reproduced or copied without written
permission from ABB, and the contents thereof must not be imparted to a third party,
nor used for any unauthorized purpose. The software or hardware described in this
document is furnished under a license and may be used, copied, or disclosed only
in accordance with the terms of such license.
Trademarks
ABB is a registered trademark of ABB Group. All other brand or product names
mentioned in this document may be trademarks or registered trademarks of their
respective holders.
Guarantee
Please inquire about the terms of guarantee from your nearest ABB representative.
Important notice
Experience has shown that reliable operation of our products is assured, providing
the information and recommendations contained in these Operating Instructions are
adhered to.
It is scarcely possible for the instructions to cover every eventuality that can occur
when using technical devices and systems. We would therefore request the user to
notify us directly or our agent of any unusual observations or instances, in which
these instructions provide no or insufficient information.
Any work such as insertion or removal of soldered jumpers or setting resistors, which
may be necessary, may only be performed by appropriately qualified personnel.
We expressly accept no responsibility or liability for any damage, which may result
from operation of this equipment, even if no reference is made to the particular
situation in the Operating Instructions.
sa-lec-support@ch.abb.com
http://inside.abb.com/substationautomation
Disclaimer
The data, examples and diagrams in this manual are included solely for the concept
or product description and are not to be deemed as a statement of guaranteed
properties. All persons responsible for applying the operations addressed in this
manual must satisfy themselves that each intended application is suitable and
acceptable, including that any applicable safety or other operational requirements
are complied with. In particular, any risks in applications where a system failure
and/or product failure would create a risk for harm to property or persons (including
but not limited to personal injuries or death) shall be the sole responsibility of the
person or entity applying the equipment, and those so responsible are hereby
requested to ensure that all measures are taken to exclude or mitigate such risks.
This document has been carefully checked by ABB but deviations cannot be
completely ruled out. In case any errors are detected, the reader is kindly requested
to notify the manufacturer. Other than under explicit contractual commitments, in no
event shall ABB be responsible or liable for any loss or damage resulting from the
use of this manual or the application of the equipment.
Table of Contents
Table of Contents
1 Introduction ........................................................ 3
1.1 Scope of the document ......................................................... 3
1.2 Abbreviations and definitions ................................................ 3
1.2.1 Abbreviations ........................................................................ 3
1.2.2 Definitions ............................................................................. 5
1.3 References ............................................................................ 5
1.4 Substation Automation System Overview............................. 6
1.5 ITT SA Synthesizer overview ................................................ 7
2 Installation .......................................................... 9
2.1 Requirements ........................................................................ 9
2.1.1 General requirements ........................................................... 9
2.1.2 Hardware .............................................................................. 9
2.1.3 Operating system .................................................................. 9
2.2 Installation procedure............................................................ 9
2.3 Licensing of ITT SA Synthesizer ......................................... 10
2.3.1 Creating a License Request ............................................... 10
2.3.2 Loading the ITT SA Synthesizer License............................ 10
2.4 Folder structure ................................................................... 11
2.5 Uninstall ITT SA Synthesizer .............................................. 11
3 Configuration .................................................... 12
3.1 NIC settings ........................................................................ 12
3.1.1 VLAN ................................................................................... 12
3.2 Software firewalls ................................................................ 12
3.3 VPN clients ......................................................................... 13
3.4 Changing OSI address parameters .................................... 13
3.5 Debug and Trace output configuration ............................... 13
3.6 Ethernet switch configuration .............................................. 15
3.7 ITT SA Synthesizer Autostartup ......................................... 16
3.7.1 Creation of a Start-Menu Item to Restart the Synthesizer .. 16
4 Functionality ..................................................... 18
4.1 The Profile ........................................................................... 18
4.2 Main User Interface............................................................. 19
4.2.1 Overview ............................................................................. 19
4.2.2 File menu ............................................................................ 20
4.2.3 Edit menu ........................................................................... 20
4.2.4 Tools menu ......................................................................... 21
4.2.5 Help menu ........................................................................... 25
4.3 Working with ITT SA Synthesizer ....................................... 26
4.3.1 Startup and crash recovery ................................................. 26
4.3.2 Creating a profile with the Profile Wizard............................ 27
4.3.3 Main View and Navigation .................................................. 31
4.3.4 Main viewer panel ............................................................... 31
4.3.5 Object properties ................................................................. 31
4.3.6 Object details ...................................................................... 32
4.3.7 Coloring rules ...................................................................... 33
4.3.8 Debug and logging information ........................................... 34
4.3.9 Single Line Diagram View ................................................... 36
4.3.10 Switch Matrix GOOSE View ............................................... 39
ITT SA Synthesizer i
User Manual
Table of Contents
ii ITT SA Synthesizer
User Manual
Section 1 Introduction
1 Introduction
ITT SA Synthesizer 3
User Manual
Section 1 Introduction
4 ITT SA Synthesizer
User Manual
Section 1 Introduction
1.2.2 Definitions
WARNING:
CAUTION:
1.3 References
[1] IEC 61850-1 (Introduction and Overview)
ITT SA Synthesizer 5
User Manual
Section 1 Introduction
2. Horizontal communication over the station bus between IEDs for exchange of
switch position and measurements, based on the multicast, destination-
addressed GOOSE protocol
SCD
IED
Bay
process bus
Level IED
SV
IED
bay bay bay bay bay bay
6 ITT SA Synthesizer
User Manual
Section 1 Introduction
Connect to an IED
Enable reports
ITT – Synthesize Client Send Commands
Browse the IED contents
Simulate IEDs
The ITT SA Synthesizer provides a Single Line Diagram like a SCADA display that
displays the substation elements, simulated and real devices. It also offers a tree
structure which displays the contents of the real and simulated devices.
ITT SA Synthesizer is able to synthesize GOOSE and MMS traffic. A client, such as
SCADA, perceives no difference between being connected to a real IED or a
simulated one.
The simulated IED is more than just an object model, it is possible to write scripts
that mimic the application logic of the IED (e.g. interlocking and reservation).
ITT SA Synthesizer is a fully compliant IEC 61850 client with the ability to browse an
IED, enable reports and send “Select-Before-Operate” commands to the IED.
ITT SA Synthesizer 7
User Manual
Section 1 Introduction
Simulated IEDs
Port #1 Port #8
ITT SA Synthesizer
2
Po
t# 172.16.100.99
r
t#
r
Port
Po
#3
255.255.0.0
5
rt
Po
4 #
Real IEDs
IED16 IED17 IED18
A possible system setup is shown in Figure 1-3. The real IEDs are set up to control
the typical bays of a substation (like a line or transformer bay) under test.
ITT SA Synthesizer simulates all other IEDs. Thus the SCADA and the real IEDs act
as they were connected to the whole substation.
In particular, when GOOSE is used for interlocking, the real IEDs receive all the
required position information from the ITT SA Synthesizer. Hence their internal logic
will work as if all IEDs were physically present.
8 ITT SA Synthesizer
User Manual
Section 2 Installation
2 Installation
2.1 Requirements
2.1.1 General requirements
WARNING:
2.1.2 Hardware
RAM > 2 GB (4 GB recommended)
Windows 8
Windows 10
Setup will install required .Net Frameworks (3.5 SP1 and 4.5) and WinPCAP
4.1.3. Internet connection might be required to install the .NET Frameworks.
ITT SA Synthesizer 9
User Manual
Section 2 Configuration
Use your ABB email Address and Windows Password to Log-in to the Software
Library.
NOTE: The License file is only valid on the PC from which the
License Request form was created. Copying the License file to
another computer will not allow ITT SA Synthesizer to work on
these computers.
NOTE: The license request tool can also be started from its start
menu entry in the ITT SA Synthesizer folder.
10 ITT SA Synthesizer
User Manual
Section 2 Installation
ITT SA Synthesizer 11
User Manual
Section 3 Configuration
3 Configuration
For the ITT SA Synthesizer to function correctly, some settings must be checked.
NOTE:
NOTE:
WARNING:
12 ITT SA Synthesizer
User Manual
Section 4 Functionality
WARNING:
You should not disable any VPN Software without informing your
Network Administrator first. The VPN client should only be
disabled during Testing Sessions. It is not recommended to keep
it disabled all the time.
WARNING:
ITT SA Synthesizer 13
User Manual
Section 3 Configuration
WARNING:
The size of the log files can get very big. It is recommended to
delete the old files on a regular basis. See 4.2.4 for more
information how to delete the log files.
14 ITT SA Synthesizer
User Manual
Section 4 Functionality
NOTE:
CAUTION:
The IEC 61850 protocol makes use of VLANs and sends out
GOOSE frames with types that are unusual on a corporate
network. Inadvertent connection to a corporate network can cause
intrusion detectors to shut down your link.
172.16.100.1 / 255.255.0.0
Port #1 Port #8
2
Po
ITT SA Synthesizer
t#
r
t#
r
Port
Po
#3
5
rt
Po
172.16.100.99 / 255.255.0.0
4
ITT SA Synthesizer 15
User Manual
Section 3 Configuration
NOTE:
All profiles are autostart-capable and the last saved status of the
profile (e.g. running scripts and IEDs) will be used.
In order for autostart to function correctly, you should save the profile immediately
upon creation. After saving, the profile will update automatically and does not need
to be directly saved again.
A profile immediately after saving looks as seen in Figure 3-3.
16 ITT SA Synthesizer
User Manual
Section 4 Functionality
The final step is to add the command line argument ‘-autostart’ to the startup
shortcut. Navigate to the startup menu and open the properties of the ITT SA
Synthesizer shortcut. In the “Target” text box add the command line argument at the
very end of the existing text:
1. -autostart (to start the last saved profile)
2. -autostart “C:\...\myProfile.simx” (to start a specific profile)
Finally press the OK button on the properties dialog. At this point, ITT SA Synthesizer
is properly configured for auto restart (Figure 3-5).
ITT SA Synthesizer 17
User Manual
Section 4 Functionality
4 Functionality
The profile itself is a zip file containing multiple files. The file extension being used is
.simx (extended simulation profile).
NOTE:
18 ITT SA Synthesizer
User Manual
Section 4 Functionality
There are four main menus available within the ITT SA Synthesizer for performing
high-level operations and navigation.
ITT SA Synthesizer 19
User Manual
Section 4 Functionality
20 ITT SA Synthesizer
User Manual
Section 4 Functionality
ITT SA Synthesizer 21
User Manual
Section 4 Functionality
General settings:
22 ITT SA Synthesizer
User Manual
Section 4 Functionality
Simulated IEDs:
ITT SA Synthesizer 23
User Manual
Section 4 Functionality
NOTE:
24 ITT SA Synthesizer
User Manual
Section 4 Functionality
MMS File Transfer Wild Card: this setting enables user to define a
filtering for all files to be downloaded based on MMS query.
Default orIdent: per default the orIdent is “ITT”, but it can be set to
customer use.
NOTE:
ITT SA Synthesizer 25
User Manual
Section 4 Functionality
CAUTION:
Changing values in any of the described views updates the same variables internally.
It does not matter in which view the variables are manipulated.
26 ITT SA Synthesizer
User Manual
Section 4 Functionality
The selected SCD file will be parsed and an internal data model will be created, this
task requires some time. The name of the SCD file will appear in the window’s
header.
NOTE:
With large SCD files (over 10 MB), this step can take several
minutes! Please be patient.
CAUTION:
2. Choose the NIC that should be used to connect to the IEC 61850 network
and define its IP Address (Figure 4-10).
ITT SA Synthesizer 27
User Manual
Section 4 Functionality
CAUTION:
28 ITT SA Synthesizer
User Manual
Section 4 Functionality
During this step, the user selects the IEDs to be simulated. Only IEDs that appear in
bold font can be simulated, these IEDs obey to the following rules:
The IED contains at least one server.
This server contains at least one LN (Logical Node)
The Server has a valid IP address
GOOSE frames for the simulated IEDs are sent with their own MAC address (that is,
a MAC address different from the MAC address of the NIC chosen in step 2). The
last three bytes of the MAC address are calculated automatically from the IEDs IP
address. The first two bytes can be chosen freely (default is 0A:BB) and the third
byte is the same as the last byte of the IP address in the ITT SA Synthesizer. This
ensures that there is no conflict when several versions of the ITT SA Synthesizer are
running in parallel on the same network.
ITT SA Synthesizer 29
User Manual
Section 4 Functionality
On the last page of the wizard a script can be added to the profile automatically. This
is optional, since scripts can be added to a profile later on.
When the appropriate checkbox is selected, Log Files more than one day old are
automatically deleted.
User can also select to suppress loading the single line diagram. This can bring some
performance improvements.
By clicking the Finish Button, the new profile will be created.
NOTE:
30 ITT SA Synthesizer
User Manual
Section 4 Functionality
NOTE:
Figure 4-13 - The different areas of the ITT SA Synthesizer main viewer panel
ITT SA Synthesizer 31
User Manual
Section 4 Functionality
The icon and the type of the object currently being examined
The name and path of the object being examined (when appropriate)
An icon indicating the connection status of the object being examined
The remaining portion of the object properties area displays information describing
the currently selected object and child objects.
4.3.6 Object details
The object details area varies depending on which type of object is being examined
and provides detailed information that relates to the selected object (see Figure 4-15
for examples).
32 ITT SA Synthesizer
User Manual
Section 4 Functionality
State Description
Online and in SCL The data is available online and from
the SCD file.
The most common case.
Only available in SCL The data is only available in the SCD
file, not on a connected server.
Only available online The data is only available on the
connected server, not in the SCD file.
Misconfigured Something in the configuration is wrong.
This could occur when a value could not
be read from a server.
InvalidState Indicates a node has an invalid state
and is configured neither in the SCD nor
in the server (this should not occur).
ITT SA Synthesizer 33
User Manual
Section 4 Functionality
State Description
Online and in SCL The data is available online and from
the SCD file.
The most common case.
ReportEnabled An enabled RCB will be colored
differently than an inactive one.
ReportWasOnceEnabled A RCB that was once enabled is
colored differently.
Simulated The selected item is simulated (usually
the whole IED). Every Data Attribute
can be changed
SimulationNotPossible This item (usually the whole IED)
cannot be simulated due to IP Address
conflicts.
Undefined The item is in an undefined status
UnsupportedMustUnderstandElement The item holds unsupported must
understand elements according to Ed. 2
The bottom area of the ITT SA Synthesizer provides access to the debug log. To
display debug information while the application is running, select the “Show Debug
34 ITT SA Synthesizer
User Manual
Section 4 Functionality
Log” of ITT600 SA Synthesizer as shown in Figure 4-17. The log window can be
cleared by right clicking in the Log area and selecting the “Clear Log” menu item
(Figure 4-18).
Reports sent from a connected IED to the ITT SA Synthesizer are logged in the
Process Event List. Refer to 4.5.3.9 for more Information.
The ITT SA Synthesizer also allows an experienced user to define the depth of the
log information. A description on how to configure the output can be found in Section
3.5.
All information that is shown in the debug log is saved in log files. Depending on the
logging depths, the size of these files can get quite big. At startup of ITT SA
Synthesizer the size of the log files is checked. If the combined size of all the old log
files exceeds 100MB, the user will be prompted to delete the old files.
ITT SA Synthesizer 35
User Manual
Section 4 Functionality
NOTE:
NOTE:
Changing the SLD drawing will modify the SCD file. A backup
copy of the SCD file should be made before opening it in the ITT
SA Synthesizer.
4.3.9.1. Toolbar
Using the Single Line Diagram Toolbar basic operations can be performed (Figure
4-20).
36 ITT SA Synthesizer
User Manual
Section 4 Functionality
Zoom out
Zooming out will reduce the size of the objects in the SLD.
Changing the appearance of the Symbols
Choose the Symbol family used: ANSI or IEC Symbols are available.
Increasing / Decreasing the font size in the SLD
Enlarge or reduce the size of the texts on the SLD
Selecting the Voltage Level to be shown
If more than one Voltage Level is available, the user can select the displayed
level.
ITT SA Synthesizer 37
User Manual
Section 4 Functionality
You can navigate between the different IEDs and the MMXUs contained in them with
the drop down menus. The measurements may also be edited, but no changes will
be made within the ITT SA Synthesizer until the “set” button is pressed.
Measurements that were not found cannot be edited.
If there is only one IED and one MMXU in that IED, the values of
phase AB voltage,
phase A current,
imaginary and complex power and
power factor
will be displayed below the name of the bay in the SLD view.
38 ITT SA Synthesizer
User Manual
Section 4 Functionality
Clicking on the operate field in a real IED will show the Control Dialog in 4.3.12.
Located on the left side of the switch matrix control are the filter and sorting
mechanisms. Using those, the user can select what should be displayed in the
matrix.
NOTE:
ITT SA Synthesizer 39
User Manual
Section 4 Functionality
Editing the quality details will show an advanced quality editor as seen in Figure 4-25.
40 ITT SA Synthesizer
User Manual
Section 4 Functionality
ITT SA Synthesizer 41
User Manual
Section 4 Functionality
42 ITT SA Synthesizer
User Manual
Section 4 Functionality
ITT SA Synthesizer 43
User Manual
Section 4 Functionality
OrCat and OrIdent define the origin of the command. Default values are “station
control” and “Synthy”.
44 ITT SA Synthesizer
User Manual
Section 4 Functionality
Setting the Test flag indicates a test command. The IED should treat this as a test
and not physically operate the switch.
Removing the Synchrocheck flag will bypass the Synchrocheck functionality in the
IED.
CAUTION:
Removing the Interlock Check flag will bypass the Interlocking calculation in the IED
(if supported by the IED).
CAUTION:
Setting the “continue after neg. resp.” flag causes the Dialog to show the Execute
sub dialog even when the selection command was confirmed negative. By using this
feature, the behaviour of an IED can be verified despite the select command not
being accepted.
ITT SA Synthesizer 45
User Manual
Section 4 Functionality
In this dialog there are fewer options. Depending on the data type of the control value
(ctrlVal) the input box changes to a drop down list for boolean values.
CAUTION:
46 ITT SA Synthesizer
User Manual
Section 4 Functionality
CAUTION:
NOTE:
Individual GCB can be disabled to stop the sending of the related GOOSE
messages.
ITT SA Synthesizer 47
User Manual
Section 4 Functionality
48 ITT SA Synthesizer
User Manual
Section 4 Functionality
ITT SA Synthesizer 49
User Manual
Section 4 Functionality
Figure 4-36 - Connect to several IEDs with the connection control panel
50 ITT SA Synthesizer
User Manual
Section 4 Functionality
NOTE:
NOTE:
ITT SA Synthesizer 51
User Manual
Section 4 Functionality
NOTE:
Depending on the type and FC of the data attribute you are attempting to change,
various input methods will appear upon the second click of a given data attribute
(provided the data attribute is writeable), as shown in Figure 4-40.
52 ITT SA Synthesizer
User Manual
Section 4 Functionality
WARNING:
ITT SA Synthesizer 53
User Manual
Section 4 Functionality
NOTE:
An unbuffered report will be set up as follows: Select an URCB (rcb_A from the
LLN0 of P2KA1C1 in this example) and click the “Reserve URCB” button.
54 ITT SA Synthesizer
User Manual
Section 4 Functionality
NOTE:
Select the trigger options in the Control Block Attributes and change them to suit your
needs or simply use the default settings (Figure 4-43).
ITT SA Synthesizer 55
User Manual
Section 4 Functionality
Next, enable the URCB by clicking the “Enable RCB” button (Figure 4-44).
NOTE:
Received reports are displayed in the process event list. They will
be logged and automatically update the data contained in the
report.
To disable the report again click “Disable URCB” and “Release URCB”.
NOTE:
56 ITT SA Synthesizer
User Manual
Section 4 Functionality
NOTE:
ITT SA Synthesizer 57
User Manual
Section 4 Functionality
NOTE:
Only a value change will be logged. Value updates (with the same
value) are not logged.
The list is divided in 7 columns and has a toolbar providing additional functionality
(Figure 4-47).
58 ITT SA Synthesizer
User Manual
Section 4 Functionality
ITT SA Synthesizer 59
User Manual
Section 4 Functionality
NOTE:
The columns can be filtered for the required value by pressing the
icon
By pressing the right mouse button in the event list tab, you can
navigate to the selected item in the active tree view.
WARNING:
The list is limited to 20000 entries! Once the limit is reached, new
events will not be displayed in the list. However, the values are
still updated.
60 ITT SA Synthesizer
User Manual
Section 4 Functionality
ITT SA Synthesizer 61
User Manual
Section 4 Functionality
NOTE:
Only a value change will be logged. Value updates (with the same
value) are not logged.
62 ITT SA Synthesizer
User Manual
Section 4 Functionality
The description of the toolbar button features can be found in the chapter 4.5.3.9
Process event list.
4.5.3.11. Commands
Usually Commands are issued from the SLD or Switch Matrix view. To show the
IEDs in those views it is necessary that the Substation is described in the loaded
SCD file. In case you want to issue Commands to an IED that was added using the
browsing ability, the substation description for this device will not be present. Thus
you have to start the Control Dialog from the Tree view (Figure 4-50).
NOTE:
ITT SA Synthesizer 63
User Manual
Section 4 Functionality
Enter a meaningful name for the new IED and click “OK” (Figure 4-52).
To communicate with an IED, a SERVER has to be added. The Dialog will be shown
automatically after the IED was created (Figure 4-53).
Enter the IP address of the IED main server, a Server name and click “OK”.
Additionally detailed address parameters can be specified. Otherwise default
parameters are used (see 5.3 for more details on the Address parameters or Section
3.4 on how to change the address parameters).
To show the SERVER details, press the “Advanced >>” button in the create Server
Dialog (Figure 4-54).
64 ITT SA Synthesizer
User Manual
Section 4 Functionality
NOTE:
Refer to Section 4.5 for further information pertaining to what can be done with a
connected IED.
NOTE:
ITT SA Synthesizer 65
User Manual
Section 4 Functionality
Once the SERVER has been successfully connected you can expand the entire tree
navigation panel by right-clicking on the IED and selecting the “Expand children”
item.
4.5.3.13.1. Overview
The IED Status view shows the complete IED status in respect to its testing
configuration. It works for connected IEDs but also for simulation of an IED (see
chapter 0).
It is shown in its own tab when an IED or a sub node is selected in the tree view (see
Figure 4.56).
66 ITT SA Synthesizer
User Manual
Section 4 Functionality
4.5.3.13.2. Functionality
The user can choose from different functionality filters such as Blocking, LPHD.Sim,
Substitution and IED Testing Status. According to the selected filter the
corresponding attributes will be shown in the grid.
The user can the manually select certain attributes or use the “Select All” button.
In the next step the user can select a new value and perform a bulk command to all
selected items. The attributes will then change to the new value.
ITT SA Synthesizer 67
User Manual
Section 4 Functionality
If the user wants to revert the changes, he can select all and press the “Highlight
Differences” button. All rows that are different to its initial value are highlighted and
selected.
NOTE: To highlight the initial value (value that was active when
connecting to the device), select the column “Initial Value” from
the grid field chooser.
68 ITT SA Synthesizer
User Manual
Section 4 Functionality
When disconnecting the IED, the user will be informed if there are still any active
Blockings, Substitutions or Testing. User can then continue or abort and use Revert
functionality to reset to initial value.
ITT SA Synthesizer 69
User Manual
Section 4 Functionality
NOTE:
The next figure, Figure 4-63, shows a flowchart how a simulated IED processes
received commands. This default behaviour can be changed by running a user
defined script.
70 ITT SA Synthesizer
User Manual
Section 4 Functionality
Receiving command
from a client
Y Command
handled in
Script?
N Testbit
match Beh?
N Is IED/LN in
Remote Auth.
Mode?
Y Tapchanger
Set new Tap
related
position
command
Handled by User’s
Script B A
C Oper Cancel
SBO
CtrMdl?
CtlMdl == CtlMdl ==
2 (SBO) 4 (SBOw)
N
Select + Start N Is already
Is CSWI?
SBOTimeout selected?
Y Y
N
Is Interlocked?
ITT SA Synthesizer 71
User Manual
Section 4 Functionality
CtlMdl?
E G
Is selected? F Is selected? F
C G
A E G
N N
Pos. command
response Is CSWI? Is CSWI?
B Y Y
Y Y
Is interlock & Is interlock &
Execute command Execute command
synccheck? synccheck?
Neg. Command
Response with N N
according AddCause
Positive Response F F
Positive response
F
Positive command
Negative response
termination message
72 ITT SA Synthesizer
User Manual
Section 4 Functionality
ITT SA Synthesizer 73
User Manual
Section 4 Functionality
A command window will be started for each SERVER as its own process (Figure
4-68):
NOTE:
74 ITT SA Synthesizer
User Manual
Section 4 Functionality
In case there are error messages and the simulated IED does not work (A connected
client does not get value changes) try to stop and then restart the IED.
The IED is launched with the defined initial values (see 4.6.1).
NOTE:
In case the IP Address of the IED is already present on the network, the IED cannot
be launched. Its state will be set to “Simulation not possible”.
NOTE:
ITT SA Synthesizer 75
User Manual
Section 4 Functionality
WARNING:
Simulated IED window will be shown in minimized state if Minimize IED simulator
window option is selected.
4.6.4 Showing Simulated Server Window
Figure 4-69 – Show all simulated server consoles under IED from tree view
Figure 4-71 – Show all simulated server consoles from launch control
76 ITT SA Synthesizer
User Manual
Section 4 Functionality
Figure 4-72 – Show all launched server consoles from launch control
NOTE:
ITT SA Synthesizer 77
User Manual
Section 4 Functionality
Figure 4-74 – Point to Point Testing grid showing HMI Signal Mapping
78 ITT SA Synthesizer
User Manual
Section 4 Functionality
To export the grid view to Excel, press the button on top of the grid:
To import MicroSCADA Loadfile (LOF file) or CSV file, press the button: To clear
MicroSCADA signal mapping, press the button:
ITT SA Synthesizer 79
User Manual
Section 4 Functionality
To stop all IEDs, click on the Disconnect and Stop All Simulated Devices context
menu entry as shown in Figure 4-77.
80 ITT SA Synthesizer
User Manual
Section 4 Functionality
To stop one IED, click on the Stop Simulated IED context menu entry as shown in
Figure 4-78.
To stop one SERVER, click on the Stop Simulated Server context menu entry as
shown in Figure 4-79.
ITT SA Synthesizer 81
User Manual
Section 4 Functionality
NOTE:
The IED is not started automatically after it has been moved to the
simulated IEDs node!
82 ITT SA Synthesizer
User Manual
Section 4 Functionality
As the tool is starting for the first time, a message box will appear asking if we want
to create automatically an instance certificate: we click on “yes” (Figure 4-84).
ITT SA Synthesizer 83
User Manual
Section 4 Functionality
NOTE:
ABB.ITT.SASynthesizer.OpcUaDataAccessServer.Config.xml
84 ITT SA Synthesizer
User Manual
Section 4 Functionality
The ITT Synthy OPC Server has to be registered with the Discovery Server.
Otherwise it will not be visible for clients.
Figure 4-87 – Register the OPC UA Server with the Discovery Server
Select the Manage Application Tab and press the “Manage Firewall Access” button.
In the next window click “Add…” and select the following Ports:
ITT SA Synthesizer 85
User Manual
Section 4 Functionality
WARNING:
After the Installation the Wrapper has to be configured in the OPC UA Configuration
Tool (see Figure 4-83).
Select the tab “Manage COM Interop” (Figure 4-90) and click the button “Wrap UA
Server…”:
A new form will appear, where we have to insert the endpoint URL, therefore we click
on the three dots on the right side (Figure 4-91).
86 ITT SA Synthesizer
User Manual
Section 4 Functionality
In the next form that appears, we have a list of the OPC server discovered from the
UA Configuration Tool, and here we have to find the ITT SA Synthesizer OPC server,
called “Synthy UA Server”, and click on “ok” (Figure 4-92).
When we have selected our OPC server a settings form appears (Figure 4-93): here
we leave the default settings excepted for the protocol (the first setting on the top),
where we choose the protocol “opc.tcp” and then click on “ok”.
ITT SA Synthesizer 87
User Manual
Section 4 Functionality
The endpoint url will be inserted in the previous form and we can accept it clicking
on “ok” (Figure 4-94).
A new form will appear, asking for the COM Server configuration: we have to leave
“as is” and click on “ok” (Figure 4-95).
88 ITT SA Synthesizer
User Manual
Section 4 Functionality
Refreshing the list of OPC server wrapped, the ITT SA Synthesizer OPC server list
will appear in the related list, as shown in the Figure 4-96.
ITT SA Synthesizer 89
User Manual
Section 4 Functionality
In the dialog box that appears, you can select a host from the drop down box (or
enter a new one), and the list box below will show a list of the active OPC servers on
that computer. When a server is selected, its data will appear in the text boxes on
the right. If you know the URL of the server, it can be entered directly (along with a
valid name) in the same text boxes. Upon clicking ‘OK’, the OPC server will be added
to the main tree view.
After the OPC server is connected, you can view the contained data by expanding
the small ‘+’ sign to the left of the server name and then selecting a folder to view. A
list of items inside that folder will appear on the right hand side panel.
90 ITT SA Synthesizer
User Manual
Section 4 Functionality
By entering a new value and pressing the ‘Write’ button, the value will be sent and
updated on the OPC server.
ITT SA Synthesizer 91
User Manual
Section 4 Functionality
4.9 Scripts
4.9.1 Overview
Scripting is the key feature in ITT SA Synthesizer to enable dynamic behaviour. With
scripts every desired sequence of operations can be programmed.
Furthermore, by selecting the “Add Script From File” option, it is possible to add a
previously created script from a file on the hard drive. This option will open a dialog
box where you will be asked to select a script to add.
92 ITT SA Synthesizer
User Manual
Section 4 Functionality
ITT SA Synthesizer 93
User Manual
Section 4 Functionality
Editing the script is possible in the upper part of the control. It shows the C# code in
a user friendly editor with almost the same features offered by Microsoft Visual Studio
2005.
It is also possible to rename the script but it has to be noted that the name of the
script is the name of the main class inside the script, therefore when a script is
renamed, the class is renamed as well automatically.
4.9.6.1. Toolbar
The toolbar offers basic operations and the possibility to compile and run the script
(Figure 4-104)
94 ITT SA Synthesizer
User Manual
Section 4 Functionality
Open a Script
Save the script to a profile and into its own file
Print the script
Cut
Copy
Paste
Undo last operation
Redo last operation
Compile the script
Run the script (the script will be compiled automatically): only the main scripts
are able to run. The function scripts can only be compiled and used from the
main ones.
ITT SA Synthesizer 95
User Manual
Section 4 Functionality
Double clicking on the error message, will highlight the line where the error occurs
in the script code (Figure 4-106).
4.9.6.3. IntelliSense
The editor provides “IntelliSense” support for ITT SA Synthesizer script related types.
It shows the available types, methods and parameters. With this additional help,
writing scripts is much more convenient.
IntelliSense is switched on by default. Press “Ctrl + Space” for Member info in the
editor or type a member (like “this”) and hit the access operator (the “.”), see Figure
4-107.
96 ITT SA Synthesizer
User Manual
Section 4 Functionality
//------------------------------------------------------------------
ITT SA Synthesizer 97
User Manual
Section 4 Functionality
using System;
using System.Net;
using ABB.IEC61850.CoreTypes;
using ABB.IEC61850.MetaModel;
using ABB.ITT.SASynthesizer.SimulationUtils.ServerSimulator;
using ABB.ITT.SASynthesizer.SubstationUtils;
namespace ABB.ITT.SASynthesizer.SimulationUtils.Scripting
{
public class Structure: GenericScriptObject
{
public override void Main()
{
// [START SCRIPT]
// [END SCRIPT]
}
98 ITT SA Synthesizer
User Manual
Section 4 Functionality
It is more convenient to use the new IntelliSense (see section 4.9.6.3) feature to
insert the predefined methods.
Simply type “this.” and a list of all possible methods appears (Figure 4-109).
ITT SA Synthesizer 99
User Manual
Section 4 Functionality
1. SetValue()
This method should be used to set a value to a real or simulated variable (DA).
Parameters Type Description
varRef string The name of the variable (DataAttribute) to be
changed
newValue object The new value to be written
(“on” or “off”, for positions)
true or false for Boolean values
Integer or float value for measurements
IEC 61850_Quality object for Quality
ReturnValue void No return value
Example:
SetValue("AA1A2C1/DC1_1CSWI2.Pos.stVal", "on");
SetValue("AA1A2C1/DC1_1CSWI2.Pos.q", new IEC
61850_Quality(QualityValidity.Invalid));
2. GetValue()
This method should be used to retrieve a value from a real or simulated variable
(DA).
Parameters Type Description
varRef string The name of the variable (DataAttribute) to get the
value from.
ReturnValue object The value of the Variable (DataAttribute)
Example:
int val = GetValue("AA1A2C1/DC1_1CSWI2.Pos.stVal");
3. Wait()
This method will stop the execution of the script for the defined amount of time.
Parameters Type Description
Ms int32 The number of milliseconds to do nothing (wait).
ReturnValue void No return value
Example:
Wait(1000);
4. Log()
This method will log the specified string to the applications debug output (see 4.3.8).
The trace level has to be set at least to 1 (Error Level). Go to section 3.5 for more
information.
Parameters Type Description
Message string The text that should be logged
ReturnValue void No return value
Example:
Log("Synthy says: Hello World!");
5. CreateQuality()
This method will create a new Quality object.
Parameters Type Description
newValidity Validity The Validity bits in the quality
good | invalid | questionable
newOverflow bool The Overflow bit in the quality
newOutOfRange bool The OutOfRange bit in the quality
newBadReference bool The BadReference bit in the quality
newOscilatory bool The Oscilator bit in the quality
newFailure bool The Failure bit in the quality
newOldData bool The OldData bit in the quality
newInconsistent bool The Inconsistent bit in the quality
newInaccurate bool The Inaccurate bit in the quality
newSource Source The Source bit in the quality
process | substituted
newTest bool The Test bit in the quality
newOperatorBlocked bool The OperatorBlocked bit in the
quality
ReturnValue IEC an IEC 61850_Quality object
61850_Quality
Example:
IEC 61850_Quality q = CreateQuality(Validity.good, false, false,
false, false, false, false, false, false, Source.process, false,
false);
6. CreateTimeStamp()
This method will create a new Timestamp object
Parameters Type Description
t DateTime The timestamp
leap bool Leap Second announced bit
failure bool Clock Failure bit
notsynch bool Not Synchronized bit
accuracy TimeAccuracyClass TimeAccuracyClass
T0 | T1 | T2 | T3 | T4 | T5 |
unspecified
returnValue IEC 61850_Timestamp A timestamp object
Example:
IEC 61850_TimeStamp t = new IEC 61850_TimeStamp(DateTime.Now,
IEC 61850_TimeQuality.OKTimeQuality());
7. SubscribeToValueChanged()
This method will subscribe to a value changed event of the specified variable and
will trigger the defined delegate method.
Parameters Type Description
varRef string The name of the variable
(DataAttribute) to subscribe
valueChangedEventHandler delegate The method that handles the value
change event.
ReturnValue void No return value
Example:
SubscribeToValueChanged("AA1D1Q09A1C1/QB9_5XSWI1.Pos.stVal", new
ValueChangedEventHandler(OnQB9Changed));
The skeleton of the delegate method can be inserted via the code snippets (see 33).
It is important that you give to the method that implements the action the same
name as you specified in the ValueChanged EventHandler (e.g. OnQB9Changed).
The delegate method contains the name of the variable that has changed, and its
new value.
NOTE:
The script will remain in the running state, when it has subscribed
to value change events.
8. SubscribeToControlRequest()
This method subscribes to the ControlRequest event. This event will be triggered
each time a client issues a command on one of the simulated IEDs. It will call the
specified delegate method that should handle the request.
The skeleton of the delegate method can be inserted via the code snippets (see 33).
The logic whether the command should be allowed or not has to be programmed in
the delegate method. From its parameters all the necessary information is available.
Returning 0 from the delegate means that the command is allowed, changing the
position indication is done automatically. Returning a positive value indicates an error
that will be reported to the calling client. Returning a negative number indicates that
all actions are performed in the script.
NOTE:
The number that is returned is sent to the client as the AddCause in a LastApplError
report. See [5] for more Information about the IEC 61850 control model.
Only one script can be attached to control requests.
Parameters Type Description
controlRequestEventHandler delegate The method name that handles all
requests.
ReturnValue void
Example:
SubscribeToControlRequest(handleControlRequest);
int handleControlRequest(IPEndPoint src,
PrimitiveDAType pda,
ControlRequestType ctrlReqType,
int ctlVal, Origin org,
byte ctlNum,
bool test,
bool synchroCheck,
bool interlockCheck,
UTCTime time)
{
//At the moment only allow Test Commands
if(test) return 0;
else return 1;
}
NOTE:
The script will remain in the running state, when it has subscribed
to value change events.
Use UnsubscribeFromControlRequest or
UnsubscribeAll to release subscription.
9. SetInitialPositionAndInterlockingValues()
This method will set the values for CSWI, XSWI, and XCBR nodes to the specified
value. It will also set the EnaOpn.stVal and EnaCls.stVal of all CILO, and the
Rel.stVal of all RSYN to true.
Parameters Type Description
initialSwitchPositionValue string The initial value of all switching objects.
“on” | “off”.
ReturnValue void -
Example:
SetInitialPositionAndInterlockingValues("off");
NOTE:
10. SetControlAuthority()
This method will set the ControlAuthority of simulated IEDs.
For IEC61850 Edition 1 it will set all available QCBAY (IED670 specific) and LLN0-
Loc to the specified value.
For IEC61850 Edition 2 it will only set LLN0-Loc to the specified value.
Parameters Type Description
Mode string The mode to be set
“local” | “remote”
IEDName string The name of the IED that should be
set. This parameter is optional. If it is
omitted, all simulated IEDs will be
set.
ReturnValue bool True if successful, otherwise false
Example:
SetControlAuthority("remote");
SetControlAuthority("AA1D1Q09", "remote");
NOTE:
11. ConnectIED()
This command will connect a real IED using the MMS protocol. It will retrieve the
contents of the IED and if the flag is set to true, all reports are enabled.
Parameters Type Description
iedName string The IED’s name
enableAllReports bool If this flag is set, all possible reports
are enabled, otherwise not.
ReturnValue bool True if successful, otherwise false
Example:
ConnectIED("AA1D1Q09A1", true);
12. ConnectAllIEDs()
This command will connect all real IEDs using the MMS protocol. It will retrieve the
contents of the IEDs and if the flag is set to true, all reports are enabled.
Parameters Type Description
enableAllReports bool If this flag is set, all possible reports
are enabled, otherwise not.
ReturnValue bool True if all real IEDs are successfully
connected, false otherwise
Example:
ConnectAllRealIEDs(true);
13. DisconnectIED()
This command will disconnect a real IED.
Parameters Type Description
iedName string The IED’s name
ReturnValue bool True if successful, otherwise false
Example:
DisconnectIED("AA1D1Q09A1");
14. DisconnectAllConnectedIEDs()
This command will disconnect all real IEDs.
Parameters Type Description
ReturnValue bool True if successful, otherwise false
Example:
DisconnectAllConnectedIEDs();
15. StartSimulatedIED()
This command will start a simulated IED.
Parameters Type Description
iedName string The IED’s name
ReturnValue bool True if successful, otherwise false
Example:
StartSimulatedIED("AA1D1Q09A1");
16. StartAllSimulatedIEDs()
This command will start all simulated IEDs.
Parameters Type Description
ReturnValue bool True if successful, otherwise false
Example:
StartAllSimulatedIEDs();
17. StopSimulatedIED()
This command will stop a simulated IED.
Parameters Type Description
iedName string The IED’s name
ReturnValue bool True if successful, otherwise false
Example:
StopSimulatedIED("AA1D1Q09A1");
18. StopAllSimulatedIEDs()
This command will stop all simulated IEDs.
Parameters Type Description
ReturnValue bool True if successful, otherwise false
Example:
StopAllSimulatedIEDs();
19. ChangeModeSimulatedIED()
Set the mode of all LDs belonging to the specified IED to the specified mode. The
change will update the mode of all the other LNs accordingly.
Parameters Type Description
iedName string The IED’s name
mode ModeBehaviourEnum Mode Behaviour Enumeration
ReturnValue bool True if successful, otherwise false
Example:
ChangeModeSimulatedIED("AA1C1Q01FP2", ModeBehaviourEnum.on);
20. MsgBox()
This command will show a message box.
Parameters Type Description
Message string The text to be displayed
Title string The title of the Message Box
21. SelectCommand()
This method will send a SBO Select command to a connected real IED. If the
command is sent to an IED that is not connected an error message will be logged in
the debug output.
Parameters Type Description
cswiReference string The name of the CSWI (including
IED Name) where the command
should be sent
direction string The command direction
“open” | “close”
overrideSynchrocheck bool Set this flag to true, if Synchrocheck
should not be performed.
overrideInterlocking bool Set this flag to true, if Interlocking
check should not be performed.
NOTE:
Example:
SelectCommand("AA1D1Q09A1/QB1_1CSWI2", "open", false, false);
CAUTION:
22. ExecuteCommand()
This method will send a SBO Execute command to a connected real IED. If the
command is sent to an IED that is not connected an error message will be logged in
the debug output.
Parameters Type Description
cswiReference string The name of the CSWI (including
IED Name) where the command
should be sent
direction string The command direction
“open” | “close”
overrideSynchrocheck bool Set this flag to true, if Synchrocheck
should not be performed.
overrideInterlocking bool Set this flag to true, if Interlocking
check should not be performed.
ReturnValue bool True if successful, otherwise false
NOTE:
Example:
ExecuteCommand("AA1D1Q09A1/QB1_1CSWI2", "open ", false, false);
CAUTION:
23. CancelCommand()
This method will send a SBO Cancel command to a connected real IED. If the
command is sent to an IED that is not connected an error message will be logged in
the debug output.
Parameters Type Description
cswiReference string The name of the CSWI (including
IED Name) where the command
should be sent
ReturnValue bool True if successful, otherwise false
NOTE:
Example:
CancelCommand("AA1D1Q09A1/QB1_1CSWI2");
24. MoveIED()
This method will move an IED between Real and Simulated.
Parameters Type Description
iedName string The name of the IED
Example:
MoveIED("AA1D1Q09A1");
25. GetIEDMediator()
This method returns an IEDMediator object that can be used to access MMS services
on the real IED.
Parameters Type Description
IEDName string The name of the IED
ReturnValue NMMSClientAccessMediator null if IED is not
connected
Example:
IEC61850.NMMSClientAccess.NMMSClientAccessMediator med =
GetIEDMediator("AA1D1Q09A1");
if (med != null)
{
med.ConfigureAllPossibleBRCBsForReporting();
}
26. StopGooseReception()
This method will stop the GOOSE reception of all IEDs.
It completely disables the GOOSE Reception!
Parameters Type Description
ReturnValue void No return value
Example:
StopGooseReception()
NOTE:
27. StartGooseReception()
This method will start the GOOSE reception of all IEDs.
It completely disables the GOOSE Reception!
Parameters Type Description
ReturnValue void No return value
Example:
StartGooseReception()
28. GetAllIEDs()
This method will get all IEDs that are available in the ITT SA Synthesizer (both
simulated and real IEDs).
Parameters Type Description
ReturnValue Collection Collection of IEDs
Example:
foreach (IED myIED in GetAllIEDs())
{
// put your logic here
}
29. GetRealIEDs()
This method will get all real IEDs that are available in the ITT SA Synthesizer.
Parameters Type Description
ReturnValue Collection Collection of real IEDs
Example:
foreach (IED myIED in GetRealIEDs())
{
// put your logic here
}
30. GetSimulatedIEDs()
This method will get all simulated IEDs that are available in the ITT SA Synthesizer.
Parameters Type Description
ReturnValue Collection Collection of simulated IEDs
Example:
foreach (IED myIED in GetSimulatedIEDs())
{
// put your logic here
}
31. GetConnectedIEDs()
This method will get all IEDs that are connected to their corresponding physical
devices.
Parameters Type Description
ReturnValue Collection Collection of connected IEDs
Example:
foreach (IED myIED in GetConnectedIEDs())
{
// put your logic here
}
32. GetLaunchedIEDs()
This method will get all simulated IEDs that are launched in ITT SA Synthesizer.
Parameters Type Description
ReturnValue Collection Collection of launched IEDs
Example:
foreach (IED myIED in GetLaunchedIEDs())
{
// put your logic here
}
33. IsIEDConnectedOrLaunched()
This method will return information concerning the connection status of the given
IED. The function returns true if the IED is either connected or launched and false
otherwise.
Parameters Type Description
iedName String Name of the IED
ReturnValue bool True if the IED is either connected
or launched and false otherwise.
Example:
bool myIEDIsConnected = IsIEDConnectedOrLaunched(“IED1”);
34. CreateNewThread()
This method allows to run code in another thread.
Parameters Type Description
threadStart ThreadStart Name of the ThreadStart object
ReturnValue Thread Thread object
Example:
using System.Threading;
…
public override void Main()
{
var myThreadStart= new ThreadStart(ThreadWork);
var myThread = this.CreateNewThread(myThreadStart);
myThread.Start();
}
35. RegisterFunctionForCleanUp()
This method register a function for clean-up. After the main script is stopped, all
threads created and started in registered functions will be automatically stopped.
Parameters Type Description
genericScriptObject GenericScriptObject Function to be registered
ReturnValue None -
Example:
Right-click a DO node and select the “Copy Reference to” context menu.
The reference can then be pasted in the Scripting IDE using CTRL + V, or click paste
in the script context menu.
In both places clicking on the “Run” Button will start the selected script (Figure
4-112).
A running script will be indicated with a green circle, a stopped will be indicated with
a red circle.
Log(progress.ToString());
progress ++;
}
//This code will NEVER be executed!
progress = -100;
Log(progress.ToString());
}
4.9.12 Examples
Scripting examples can be found in the samples folder of the installation (see
…\ABB\ITT SA Synthesizer\Samples\Scripts).
All examples include comments, which describe the functions.
Click next and wait for the window to finish (Figure 4-114).
NOTE:
The user can now choose to add one or more of the detected IEDs to the IED list on
the right (Figure 4-116).
Pressing the “Finish” button will add the selected IEDs to the ITT SA Synthesizer
tree view for further processing (e.g connecting the IEDs).
WARNING:
WARNING:
However, using scripts the ITT SA Synthesizer can produce a fairly large amount of
traffic.
To have exact statistical information on the frame count, run an Ethernet Analyzer
such as ITT - Explore Ethernet in parallel and count the number of frames per
second.
WARNING:
4.12 Limitations
For limitations see the release notes.
5 Appendix
5.1 Troubleshooting
Problem Possible reasons and solutions
Refer to Chapter 3.
Frames are only received in one Check whether you have a running VPN client on
direction the PC and disable it.
Refer to Chapter 3.
Refer to 4.4.2.
No connection to IED possible Try to ping the IED first. If it responds to the ping but
cannot be connected to using Explore IEDs, check
the OSI addresses.
I don’t receive GOOSE frames Make sure that the two synthesizers do not use the
from another ITT SA Synthesizer. same MAC Address.
Refer to Chapter 3.
Changing of switch positions in Enable the RCB to get an automatic update of the
the IED will not update the data in data in the tree view, or update the data manually.
the ITT SA Synthesizer.
Refer to Sections 4.5.3.5 and 4.5.3.6.
After closing the ITT SA Check whether the IP Address settings have been
Synthesizer the connection to the set back to “DHCP”.
office network is lost.
The performance of the ITT SA Disable logging and trace output when doing
Synthesizer is poor. performance related operations. See 4.11.
Reports cannot be enabled Are there free RCBs? Check how many clients are
already connected to the IED, and, if necessary,
disconnect one of them.
The Wizard “hangs” after defining A link on the selected NIC is needed. Check if the
an IP Address. link LED (usually green) on the adapter is switched
on.
It is not possible to operate a Check whether the following conditions apply (see
simulated switch. also Figure 4-63):
5.2 IPConfig
To check what IP Addresses are assigned to the NICs of a PC start a command
window by typing “cmd” into the Windows Start Menu “Run…”.
In this window type the command “ipconfig -all” to retrieve a detailed list of the IP
Address configuration. For more help about ipconfig, please refer to the Windows
help.
Description Value
OSI AE Qualifier 33
Description Value
OSI AE Qualifier 23
The OSI address parameters for simulated IEDs will be taken from the SCD file used.
To change them, the SCD file has to be changed and a new profile must be created.
sa-lec-support@ch.abb.com
http://inside.abb.com/substationautomation