You are on page 1of 130

Grid Automation Systems

ITT SA Synthesizer
User Manual P
Document ID: 1KHL506007
Issued: May 2016
Product version: 2.0

ABB internal version - Not for resale

© Copyright 2016 ABB. All rights reserved


Copyright

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.

In addition to these instructions, any applicable local regulations and safety


procedures must always be strictly observed both when connecting up and
commissioning this equipment.

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.

ABB Switzerland Ltd.


SA-LEC Support
Bruggerstrasse 72
CH-5400 Baden
Switzerland

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

4.3.11 Goose Control Block (GoCB) view ..................................... 40


4.3.12 Editing Setting Group Values .............................................. 42
4.3.13 SBO Control Dialog............................................................. 43
4.3.14 Direct Command Dialog ...................................................... 46
4.4 ITT - Synthesize GOOSE.................................................... 47
4.4.1 Overview ............................................................................. 47
4.4.2 Starting / Stopping ITT – Synthesize GOOSE .................... 47
4.4.3 GOOSE frame counters ...................................................... 48
4.4.4 Ignoring own GOOSE frames ............................................. 48
4.5 ITT - Synthesize Client........................................................ 49
4.5.1 Overview ............................................................................. 49
4.5.2 Exploring a Profile ............................................................... 49
4.5.3 Working online .................................................................... 50
4.6 ITT - Synthesize IEDs ......................................................... 70
4.6.1 Overview ............................................................................. 70
4.6.2 Starting Simulated IEDs ...................................................... 73
4.6.3 Simulation with Disabled or Minimized Server Window ...... 75
4.6.4 Showing Simulated Server Window.................................... 76
4.6.5 Changing values in simulated IEDs .................................... 77
4.6.6 Point To Point Testing......................................................... 78
4.6.7 IED Status View .................................................................. 80
4.6.8 Stopping a simulated IED or Server ................................... 80
4.6.9 Moving IEDs from Simulated to Real and vice - versa ....... 82
4.7 OPC Unified Architecture (UA) Server ................................ 83
4.7.1 Configuring the OPC UA Server ......................................... 83
4.8 Generic OPC DA Connections ........................................... 90
4.8.1 Adding an OPC DA Connection .......................................... 90
4.8.2 Connecting an OPC Server ................................................ 90
4.8.3 Disconnecting an OPC Server ............................................ 91
4.8.4 Removing an OPC Server .................................................. 91
4.8.5 Modifying an OPC Item ....................................................... 91
4.9 Scripts ................................................................................. 92
4.9.1 Overview ............................................................................. 92
4.9.2 Scripting Language (C#) ..................................................... 92
4.9.3 Types of scripts ................................................................... 92
4.9.4 Adding scripts to a profile ................................................... 92
4.9.5 Viewing all scripts in a profile .............................................. 93
4.9.6 Scripting IDE ....................................................................... 94
4.9.7 Script Structure ................................................................... 97
4.9.8 Predefined methods ............................................................ 98
4.9.9 Variable References and Names ...................................... 115
4.9.10 Running Scripts ................................................................. 116
4.9.11 Cleanup when Stopping Scripts ........................................ 116
4.9.12 Examples .......................................................................... 117
4.10 Dynamically discovering IEDs .......................................... 118
4.11 Performance Testing......................................................... 121
4.12 Limitations ......................................................................... 122

5 Appendix ......................................................... 123


5.1 Troubleshooting ................................................................ 123
5.2 IPConfig ............................................................................ 124
5.3 ITT SA Synthesizer default client address parameters .... 125
5.3.1 Local address .................................................................... 125
5.3.2 Remote address ................................................................ 125

ii ITT SA Synthesizer
User Manual
Section 1 Introduction

1 Introduction

1.1 Scope of the document


This document is the user manual for the ITT SA Synthesizer. It describes the
installation, functionality, configuration and operation of the ITT SA Synthesizer.
This manual is not an introduction to the IEC 61850 standard. To learn more about
IEC 61850 see references [1]-[6].

1.2 Abbreviations and definitions


1.2.1 Abbreviations

ACSI Abstract Communication Service Interface


BRCB Buffered Report Control Block
CCF Communication Configuration File
CDC Common Data Classes, see [3]
DA Data Attribute
DO Data Object
DS Data Set
FC Functional Constraint
GI General Interrogation
GOOSE Generic Object Oriented Substation Event
GUI Graphical User Interface
IDE Integrated Development Environment
IED Intelligent Electronic Device
ITT Integrated Testing Toolbox
LAN Local Area Network
LN Logical Node, see [4]
MMS Manufacturing Message Specification
NIC Network Interface Card
OSI Open Systems Interconnection
PDA Primitive Data Attributes
RCB Report Control Block
SA Substation Automation
SCD Substation Configuration Description
SCL Substation Configuration Language (in which SCD, CCF ,
ICD, etc… are written)

ITT SA Synthesizer 3
User Manual
Section 1 Introduction

SLD Single Line Diagram


SMV Sampled Measurement Values (According to [6])
SV Sampled Values (According to [6])
TCP Transport Control Protocol
URCB Unbuffered Report Control Block
URL Uniform Resource Locator
VLAN Virtual Local Area Network
VPN Virtual Private Network
XML Extensible Markup Language

4 ITT SA Synthesizer
User Manual
Section 1 Introduction

1.2.2 Definitions

NOTE: Tip icon indicates special advice. Examples:

 Recommendation for a system configuration that is not a


strict requirement, but typically is advantageous.

 Alternative method for performing a function.

WARNING:

Warning icon indicates important advice that has to be followed.

CAUTION:

Alarm icon indicates dangerous situation that can occur.

Server An IEC61850 Server

Packet An OSI layer 3 information unit transmitted in a frame

Frame An OSI layer 2 information unit transmitted as a whole

1.3 References
[1] IEC 61850-1 (Introduction and Overview)

[2] IEC 61850-7-2 (Abstract Communication Service Interface)

[3] IEC 61850-7-3 (Common Data Classes)

[4] IEC 61850-7-4 (Compatible Logical Node Classes)

[5] IEC 61850-8-1 (Mappings to MMS)

[6] IEC 61850-9-2 (Sampled Values over ISO/IEC 8802-3)

[7] WinPCap (Packet Capture Library www.winpcap.org)

[8] Software User Guide ROS_UG_RSG2100_2200.PDF www.ruggedcom.com

[9] Introduction to C# (IntroductionToCSharpPart1.pdf) www.ssw.uni-


linz.ac.at/Teaching/Lectures/CSharp/Tutorial/Part1.pdf

[10] Substation Automation Handbook, Klaus-Peter Brand, Volker Lohmann,


Wolfgang Wimmer, ABB Switzerland Ltd, Utility Automation Systems (ISBN-
13: 978-3857589515).

ITT SA Synthesizer 5
User Manual
Section 1 Introduction

1.4 Substation Automation System Overview


IEC 61850 considers within the scope of a substation three kinds of communication
between devices (Figure 1-1):
1. Vertical communication between the protection, measurement & control
devices (IEDs) and the plant supervision, SCADA and COM (Telecontrol
gateway), based on the MMS protocol.

2. Horizontal communication over the station bus between IEDs for exchange of
switch position and measurements, based on the multicast, destination-
addressed GOOSE protocol

3. Communication between IEDs within a single bay, with hard real-time


conditions, based on the SV (Sampled Values) multicast protocol, generally
using a separate Process Bus due to the large traffic.
The whole communication and the IEDs properties are configured by engineering
tools, which generate the Substation Configuration Description (SCD), an XML file
that describes the structure of the substation, the attached devices and their
properties.

NCC other stations


Engineering tools
Supervisory Level
IET SCADA SCADA GPS
Back-Up Tele-
control
HMI gateway Event
SCADA Printers

SCD

Substation Configuration Description


Station bus
horizontal communication
(IED to IED) GOOSE
IEC 61850-8
MMS

IED
Bay
process bus

Level IED
SV

IED
bay bay bay bay bay bay

sampled values vertical communication


(IED to IED) (SCADA to IEDs)
IEC 61850-9-2 IEC 61850-8

Figure 1-1 - Substation Automation according to IEC 61850

6 ITT SA Synthesizer
User Manual
Section 1 Introduction

1.5 ITT SA Synthesizer overview


The ITT SA Synthesizer is a toolbox for testing and commissioning of IEC 61850
based SA Systems. It can simulate the network traffic and the behaviour of a number
of protection, measurement and control devices (IEDs). It can also simulate the
function of a SCADA or Gateway device. As such it is divided into three main parts
(Figure 1-2 ):

Sending and receiving GOOSE frames


Updating the Datamodel and Views with received frames
ITT - Synthesize GOOSE Counters for GOOSE frames

Connect to an IED
Enable reports
ITT – Synthesize Client Send Commands
Browse the IED contents

Simulate IEDs

ITT – Synthesize IEDs Simulate a whole Substation


Full MMS Server
Programmable IED Application Logic

Figure 1-2 - ITT SA Synthesizer overview

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

SCADA System (MicroSCADA)


172.16.100.1 / 255.255.0.0

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 #

IED10 IED11 IED12

IED 1 IED 2 IED 3 IED4


172.16.1.1 172.16.2.1 172.16.3.1 172.16.4.1
255.255.0.0 255.255.0.0 255.255.0.0 255.255.0.0
IED13 IED14 IED15

Real IEDs
IED16 IED17 IED18

Figure 1-3 - Real and simulated IEDs

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:

To install the ITT SA Synthesizer package you need local


administrator rights because additional drivers need to be
installed.

2.1.2 Hardware
 RAM > 2 GB (4 GB recommended)

2.1.3 Operating system


 Windows 7

 Windows 8

 Windows Server 2012

 Windows 10

 Both 32 and 64 bit is supported

2.2 Installation procedure


 Run the Windows installer package ‘ABBITTSASynthesizerSetup.exe' and
follow the installation dialogs.

 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

2.3 Licensing of ITT SA Synthesizer


After the Installation of ITT SA Synthesizer a license is necessary in order to use the
software.

2.3.1 Creating a License Request


Start the license request Utility to create a c2v file and activate the license on the
ABB SA Software Library at https://www143.abb.com/SoftwareLibrary .

Figure 2.1. SA-Tools License Request Utility

Use your ABB email Address and Windows Password to Log-in to the Software
Library.

2.3.2 Loading the ITT SA Synthesizer License


The License Order will be processed and the user will receive a node-locked License
file. To install this License file, open the License Request tool, as described in the
previous section.
Click the Apply V2C File button, as shown in Figure 2.1.
Select the License file and select Open
The license file is now imported. Close the License Request Tool.

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.

WARNING: Copying a node locked license file to another


computer will not make ITT SA Synthesizer to be licensed on this
computer.

10 ITT SA Synthesizer
User Manual
Section 2 Installation

2.4 Folder structure


ITT SA Synthesizer will be installed into the “Program Files” folder of your computer.
All files created during usage of the tool will be saved into the folder
“C:\Users\-username-\AppData\Roaming\ABB\ITT SA Synthesizer\a.b.c.d\”.

2.5 Uninstall ITT SA Synthesizer


To uninstall ITT SA Synthesizer, open the Control Panel’s Add/Remove Programs.
Select ABB ITT SA Synthesizer and choose “Remove”.

ITT SA Synthesizer 11
User Manual
Section 3 Configuration

3 Configuration

For the ITT SA Synthesizer to function correctly, some settings must be checked.

3.1 NIC settings


Usually the NIC needs no special settings. However for some PC models
adjustments to the drivers must be made so they do not block specific frames. For
some changes, the NIC must be connected to a working network (at least to the next
switch).
3.1.1 VLAN
Depending on the settings of the NIC, the VLAN tags in the frames may be cut off
before the frame is passed to the capturing engine.
Please refer to the device specific documentation to configure the NIC.

NOTE:

GOOSE frames rely on VLAN priority tagging. ITT SA Synthesizer


can handle both, GOOSE frames with and without VLAN tags but
the NIC might remove tag dependent on its setting (QoS Packet
Tagging). This might let the IED discarding frames without VLAN
tags.

3.2 Software firewalls


Software firewalls could block specific packets. Please disable the firewall as
described in its own user manual.
As a general rule there is a service that needs to be stopped from the Control Panel,
or the firewall can be disabled by a menu entry or an icon.

NOTE:

For correct MMS operation, port 102 needs to be enabled.


For MMS simulation also port 5007 needs to be enabled.

WARNING:

You should not disable any firewall without informing your


Network Administrator first. The firewall should only be disabled
during testing sessions. It is not recommended to keep it disabled
all the time.

12 ITT SA Synthesizer
User Manual
Section 4 Functionality

3.3 VPN clients


Some VPN clients also interfere with communication. Again, disabling the VPN client
can solve this issue.
Some VPN clients can be disabled by changing whether the connection is used in
the network connection properties.

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.

3.4 Changing OSI address parameters


Some IEDs might need special OSI address parameters to connect to the device.
Usually the remote address parameters are defined in the SCL, or can be configured
in the “Create Server” Dialog (see 4.5.3.12). For a list of default address parameters
please refer to 5.3.

3.5 Debug and Trace output configuration


ITT600 SA Synthesizer logs error messages and additional information during
operation. Refer to Section 4.3.8 for more information.
The logging functionality of ITT600 SA Synthesizer can be configured in the Options
dialog. User can define the amount of information to be logged.

WARNING:

Changing the logger configuration could slow down the whole


application and is therefore not recommend for inexperienced
users.

ITT SA Synthesizer 13
User Manual
Section 3 Configuration

Figure 3-1 – Define Log Level

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

3.6 Ethernet switch configuration


ITT SA Synthesizer does not need special environment for operation. However since
switched networks are used in IEC 61850 SA systems, some basic configuration is
needed to be able to capture network traffic between two endpoints.
Figure 3-2 shows a basic system setup in an abstract form.
To be able to browse an IED, the NIC of the PC has to be configured to be in the
same network as the IED. It is highly recommended to attach all IEDs on a network
separate from the corporate network, and to attach the ITT SA Synthesizer through
a separate Ethernet adapter if connection to the corporate network is also desirable.
No router may be used in between since the IEC 61850 GOOSE traffic does not pass
routers.

NOTE:

The PC running the ITT SA Synthesizer should be in the same


network as the IEDs contained in the loaded SCD file.

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.

SCADA System (MicroSCADA)

172.16.100.1 / 255.255.0.0

To be able to receive all GOOSE frames and the


ability to connect to all IEDs, ITT SA Synthesizer
and the switch have to be configured accordingly.

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

IED 1 IED 2 IED 3 IED4


172.16.1.1 / 255.255.0.0 172.16.2.1 / 255.255.0.0 172.16.3.1 / 255.255.0.0 172.16.4.1 / 255.255.0.0

Figure 3-2 - Basic SA system setup

ITT SA Synthesizer 15
User Manual
Section 3 Configuration

3.7 ITT SA Synthesizer Autostartup


The ITT SA Synthesizer is capable of unsupervised auto-restarting. This feature is
designed to be used when the synthesizer is being used in a production environment
to simulate a section of a substation unsupervised. To use the autostart feature, a
start-menu item to restart ITT Synthesizer has to be created.

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.

Figure 3-3 - Autostart script in profile

There are 2 ways to autostart ITT Synthesizer:


1. restart ITT Synthesizer with the last saved profile
2. restart ITT Synthesizer with a specific profile

3.7.1 Creation of a Start-Menu Item to Restart the Synthesizer


In order for the ITT SA Synthesizer to autostart when the computer reboots, it must
be added to the windows Startup menu and a command line argument added. Locate
the desktop shortcut for Synthesizer and drag it to the Startup menu (Figure 3-4).

16 ITT SA Synthesizer
User Manual
Section 4 Functionality

Figure 3-4 - Create startup menu item

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).

Figure 3-5 - Auto restart command line switch

ITT SA Synthesizer 17
User Manual
Section 4 Functionality

4 Functionality

This chapter describes the ITT SA Synthesizer software components.

4.1 The Profile


A profile saves all the settings of the application in a file *.simx, so that it can be
resumed after shutdown. The settings saved are:
 The SCD file being used
 The IP addresses and NIC parameters
 Which IEDs are real
 Which real IEDs were connected when the profile was saved
 Which IEDs are simulated
 Which simulated IEDs were started when the profile was saved
 All Scripts

The profile itself is a zip file containing multiple files. The file extension being used is
.simx (extended simulation profile).

NOTE:

The profile includes computer dependent information. In case it is


opened on another PC, the NIC has to be changed.

18 ITT SA Synthesizer
User Manual
Section 4 Functionality

4.2 Main User Interface


4.2.1 Overview
The main user interface of the ITT SA Synthesizer application is shown in Figure 4-1
and is divided into four primary areas:
1. Menus
2. Tree Navigation (containing Main and Substation tree)
3. Main Viewer Panel (containing several tabs like Node Information, Process
Event or Security Event)
4. GOOSE Statistics
5. Debug and Logging Information

Figure 4-1 - ITT SA Synthesizer main user interface

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

4.2.2 File menu


The file menu provides access to Profile, which defines the working environment of
the ITT SA Synthesizer, and in particular records the SCD file describing the
substation (see Figure 4-2):
 Creating a new Profile
 Loading a Profile
 Loading a recent Profile
 Closing the current Profile
 Saving the current Profile
 Saving the current Profile with a new name
 Exiting the application

Figure 4-2 - ITT SA Synthesizer File menu

4.2.3 Edit menu


The edit menu serves as an alternative to the context menu in the tree navigation
panel and provides the following operations (see Figure 4-3):
 Adding a real IED
 Autodetecting IEDs
 Connecting to all real IEDs
 Disconnecting from all real IEDs

20 ITT SA Synthesizer
User Manual
Section 4 Functionality

Figure 4-3 - The ITT SA Synthesizer Edit Menu

4.2.4 Tools menu


The tools menu provides the following functions (see Figure 4-4):
 Missing IPs: check if all IP addresses are specified correctly
 Change current network interface card
 Options: Define settings of the applications (see 4.2.4.1)

Figure 4-4 - The ITT SA Synthesizer Tools menu

4.2.4.1. ITT600 SA Synthesizer Options


The Options dialog allows the user to set different parameters related to operational
behavior of the software. The options dialog box contains 3 tabs where the user can
set parameters on different parts of ITT600 SA Synthesizer, namely:
 General
 IED Simulation
 Real IEDs

ITT SA Synthesizer 21
User Manual
Section 4 Functionality

General settings:

Figure 4-5 General Options Dialog – General Settings

The following parameters are tuneable (see above on Figure 4-5):


 Network adapter: user can select available network adapters that are detected
at the local computer. At least one network adapter should be selected to
completely use all functionalities in ITT600 SA Synthesizer
 Language: user can set the preferred language (currently English supported
only)
 Files Directory: user can set where ITT600 SA Synthesizer stores files
 Include Substation Section in UA server
 Display Local Time: user can choose whether to show local time (adjusted to
local computer time) or recorded (UTC) time
 Display Customer Names of SCD File: Show the customer names in brackets
after the logical name (SCD file has to be reloaded to activate this setting)
 Show Debug Log: activating this parameter shows Debug and Logging
Information in the overall ITT600 SA Synthesizer window
 Log Panel Height: this particular control is used to set the height of the Debug
and Logging Information panel
 Log File Path: user can define a path where all the log files are to be stored
 Logging Level: Select whether to do a minimum or complete verbose logging.
Verbose logging logs all the error, warning and informational logs.
 Delete Log Files: delete available log files.

22 ITT SA Synthesizer
User Manual
Section 4 Functionality

Simulated IEDs:

Figure 4-6 IED Simulation Options Dialog – Simulated IEDs

The following parameters are tuneable (see above on Figure 4-6):


 General Options: define launch delay between IEDs, how to assign IP
addresses and how to behave with report trigger options
 IED Simulation Window Options: choose to hide/show simulation window and
open in minimized mode
 GOOSE Sending Option: Select to send simulated GOOSE
 Command Handling: define process handling commands for L/R,
synchrocheck, interlocking and mode/behaviour

ITT SA Synthesizer 23
User Manual
Section 4 Functionality

Real IEDs settings:

Figure 4-7 Real IEDs Options Dialog – Real IEDs Settings

The following parameters are tuneable (see above on Figure 4-7)


 Number of Event List Entries: user can define the number of event list entries
 View – Options: user are offered the possibilities to show the following
information:
 Show dynamic Dataset configuration
 Expand Data Attribute list view
 Include Data Attribute in tree view
 MMS Client Configuration:
 MMS Client Timeout (ms): this setting can be used to set maximum
time the user wants ITT600 SA Synthesizer to wait for the reply from
IED.

NOTE:

Depending on the load of the IED, it may need longer time to


response to an MMS query from ITT600 SA Synthesizer. When
the time to wait for the IED’s response exceeds the define
timeout, ITT600 SA Synthesizer will send out the next MMS
query.

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.

4.2.5 Help menu


The help menu provides access to the following operations (see Figure 4-8):
 Open ITT Synthesizer User Guide
 Viewing legend of the status colors (see also Figure 4-16)
 Check for updates of ITT Synthesizer
 Open about dialog

Figure 4-8 - The ITT SA Synthesizer Help menu

NOTE:

For a detailed version overview click on the “Assembly Versions”


button in the About ITT SA Synthesizer dialog.

ITT SA Synthesizer 25
User Manual
Section 4 Functionality

4.3 Working with ITT SA Synthesizer


Working with the ITT SA Synthesizer requires basic knowledge of the IEC 61850
standard. This manual is not intended to give an introduction to IEC 61850.
As well as the IEC 61850 Standard, the user should be familiar with the basics of
Ethernet and TCP/IP communication principles.

CAUTION:

ITT SA Synthesizer will configure your PC with several IP


addresses, and may discover that these addresses are already in
use. An Intrusion Detection System or a Network Administrator
may be alerted. You should not use the ITT SA Synthesizer on
corporate LANs without first consulting your Network
Administrator. In some corporate networks, security policy does
not allow to connect IEC 61850 devices.

Changing values in any of the described views updates the same variables internally.
It does not matter in which view the variables are manipulated.

4.3.1 Startup and crash recovery


The PC using the synthesizer has usually an own IP address on that adapter. When
the ITT SA Synthesizer operates and simulates IEDs, it configures itself by adding a
number of IP addresses according to the SCD file. The ITT SA Synthesizer restores
the original settings when it finishes work.
If the ITT SA Synthesizer is closed regularly, it restores the original NIC settings.
However, if the ITT SA Synthesizer is closed by killing the process in the Task
Manager or by an uncontrolled shutdown, the former network settings will not be
restored.
To restore the original settings access the TCP/IP settings of the NIC via the
Windows Control Panel.

26 ITT SA Synthesizer
User Manual
Section 4 Functionality

4.3.2 Creating a profile with the Profile Wizard


To create a new profile, the profile wizard is used. The wizard can be started by
clicking on the menu entry File – New Profile (see 4.2.2).
The wizard process is divided into four steps (see Figure 4-9):
1. Select the SCD file that should be used

Figure 4-9 - Step one in the profile wizard

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:

The selected SCD file will be modified by the ITT SA Synthesizer


if the Single Line Diagram is edited. To avoid configuration
conflicts, back up the original SCD file before creating a profile by
pressing the backup button.

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

Figure 4-10 - The second step in the profile wizard

Select the NIC which is connected to the SA System Ethernet switch.


The ITT SA Synthesizer displays a recommended IP Address and Subnet mask that
should be able to connect to all IEDs contained in the selected SCD file.
Nevertheless the IP address can be changed according to the user’s needs (this is
useful when devices need be browsed that are not in the SCD).
It is also possible to use the current IP Address assigned to the selected NIC by
pressing the “Use current IP Address” Button.

CAUTION:

The ITT SA Synthesizer detects whether the proposed IP address


is already used and modifies its own automatically if this is the
case. For this function to work, the selected NIC must be
physically connected to a network.

28 ITT SA Synthesizer
User Manual
Section 4 Functionality

3. Choose the simulated IEDs (Figure 4-11)

Figure 4-11 - The third step in the profile wizard

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

4. Finished! (Figure 4-12)

Figure 4-12 - The profile wizard is finished!

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:

Applying the profile might take some time. Please be patient!

30 ITT SA Synthesizer
User Manual
Section 4 Functionality

4.3.3 Main View and Navigation


The tree navigation panel provides a hierarchical view of an IED as defined in the
SCD file or as dynamically generated from a browsed, connected IED.
This provides a quick and easy way to navigate to specific objects within a given
configuration and is targeted primarily at users having some background knowledge
of IEC 61850 (see [1]). Users not having a IEC 61850 background should also find
this navigation panel useful when attempting to drill-down to a specific object within
a configuration.
In addition to providing simple point-and-click navigation, the tree also exposes a
large collection of user commands. To access the user commands available on a
specific object simply right-click on the object in the tree navigation pane.

NOTE:

Most functions are accessible in content sensitive context menus


(mouse right-click).

4.3.4 Main viewer panel


The main viewer panel displays information pertaining to the object currently
selected in the configuration. Most object viewers are divided into two distinct areas
as shown in Figure 4-13.

Figure 4-13 - The different areas of the ITT SA Synthesizer main viewer panel

4.3.5 Object properties


The object properties header area shown in Figure 4-14 provides the following
information about the selected object (from left to right):

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

Figure 4-14 - The header section of the object properties area

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).

Figure 4-15 - Various object detail panels

32 ITT SA Synthesizer
User Manual
Section 4 Functionality

4.3.7 Coloring rules


The ITT SA Synthesizer uses different colors to show the state of the IEDs contained
in the tree view and the state of SLD elements.
To get a list of the different colors, click on the “Legends” in the Help menu (see
4.2.5).
The tree view tab is shown in Figure 4-16 and explained in Table 1.

Figure 4-16 –Legend of IED colors used in ITT SA Synthesizer

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

Table 1 - ITT SA Synthesizer coloring rules

4.3.8 Debug and logging information

Figure 4-17 – Log Panel Options

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).

Figure 4-18 - Debug information controls

The debug information window allows filtering of specific message types by


selecting/deselecting the icons on top (Figure 4-19). On the left it indicates the most
severe log entry level.

Figure 4-19 - ITT SA Synthesizer debug and logging information

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:

The log files can also be deleted manually by selecting the


“Delete old log files” from the options menu.

4.3.9 Single Line Diagram View


The Single Line Diagram view is created automatically from the SCD file and does
not need additional user input. Thus it requires that the SCD contains a complete
Substation Section including the links between LNs and the Primary equipment.
The coordinates for the elements are also taken from the SCD file. Since not all SCD
files contain valid coordinates, there is the function to edit the drawing and save the
modifications back into the original SCD file.

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).

Figure 4-20 - ITT SA Synthesizer Toolbar

 The Point tool is the basic tool to operate in the SLD


 Clicking on a switch will change its position or display the Control Dialog
 Moving the SLD with the Hand Tool
 In case the SLD is larger than the screen, it can be moved around so that all
elements can be accessed.
 Switching to the Layout Mode
 In the Layout mode it is possible to change the appearance of the displayed
SLD. Every object can be moved and redrawn according to the user’s needs.
Changes will affect the SCD file.
 Zoom in
 Zooming in will enlarge the size of the objects in the SLD.

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.

4.3.9.2. MMXU Measurement Dialog


If you click on a bay, current transformer or voltage transformer, the following dialog
will come up with the measurements contained within the MMXUs within IEDs for
that bay (Figure 4-21).

Figure 4-21 - MMXU Measurement Dialog

These measurements are:

ITT SA Synthesizer 37
User Manual
Section 4 Functionality

 three phase voltage,


 three phase current,
 real, imaginary and complex power and
 power factor.

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.

4.3.9.3. Simulated IEDs


If a switch of a simulated IED is clicked with the left mouse button, its position will
toggle between open and close. Right clicking will show a context menu where the
position can be specified (Figure 4-22).

Figure 4-22 - Context Menu on a simulated IED’s switch

4.3.9.4. Real IEDs


Clicking on switch in a real IED will show the control dialog. A detailed description of
this dialog can be found in 4.3.12.

38 ITT SA Synthesizer
User Manual
Section 4 Functionality

4.3.10 Switch Matrix GOOSE View


The switch matrix shows the switches of an SCD file in a table. The view only
contains XSWI (XCBR) and CSWI nodes with a valid link to the substation section.
The values in the view will be updated by the received GOOSE frames.
Left clicking on the state column will toggle between open and close, right clicking in
the open or closed field will set to that state (Figure 4-23).

Figure 4-23 - Switch matrix

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:

Only switches contained in GOOSE datasets are displayed in the


Switch Matrix view.

ITT SA Synthesizer 39
User Manual
Section 4 Functionality

4.3.11 Goose Control Block (GoCB) view


The third view in the tree is the GoCBs view. This view shows the contents of all
GOOSE datasets and is mainly used in 4.4.
Double clicking on a line will show an editor to change the selected value. Depending
on the data type the editor will have a different format (Figure 4-24).

Figure 4-24 - GOOSE Control Block View

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

Figure 4-25 - Detail quality editor

In this Dialog all components of the quality field can be set.

ITT SA Synthesizer 41
User Manual
Section 4 Functionality

4.3.12 Editing Setting Group Values


Setting group values can be changed using IEC 61850 defined Services. The data
and services are available in the Setting Group Control Block (SGCB). This control
block is located in the LLN0. See Figure 4.26.

NOTE: Editing of Setting group values is not supported by all


IEDs.

Figure 4.26. SGCB of an IED

4.3.12.1. Changing Active Setting Group


To change the active Setting group, the corresponding value (“ActSG”) of the SGCB
has to be changed.

Figure 4.27. Changing the active Setting group

4.3.12.2. Editing Setting Group Values


To edit individual values of a Setting group, this group has to be copied to the edit
buffer. This is achieved by setting the “EditSG” value of the SGCB to the desired
value. See Figure 4.29.

42 ITT SA Synthesizer
User Manual
Section 4 Functionality

Figure 4.28. Selecting the active Setting group to be changed

Now individual values can be changed.

Figure 4.29. Changing Setting group values

The three columns show the following values:


 Active SG: The value of the currently activated SG.
 Editable SG: The current value of the SG being edited.
 New Value: The new value that shall be assigned.
Changes to the values have to be confirmed with a “Confirm Edit Setting Group”
Service. This ensures that all values have been accepted by the IED and are
switched over at once.

NOTE: To finally write new Setting group values to an IED, the


Confirm Edit SG Values button needs to be pressed.

4.3.13 SBO Control Dialog


To operate a switch controlled by a real IED, a “Select-Before-Operate” (SBO)
sequence according to [2] must be sent to the device. This can be done with the
Control Dialog (Figure 4-30). The commands will be issued to the IED just like any
other IEC 61850 client (e.g. MicroSCADA).

ITT SA Synthesizer 43
User Manual
Section 4 Functionality

Figure 4-30 - ITT SA Synthesizer Control Dialog

4.3.13.1. Basic View


In the basic view simple commands like Open and Close can be sent to the IED.
Clicking on “Open Switch” or “Close Switch” will send a Select (SBOw) command to
the IED. After a positive confirmation an Execute Dialog will pop up. Pressing
Execute will then send the Operate (Oper) command to the IED.
4.3.13.2. Advanced View
The advanced view lets an experienced user change additional parameters (Figure
4-31)

Figure 4-31 - SBO Control Dialog advanced view

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:

Overriding synchrocheck in a real station might cause severe


damage to the primary equipment of the station!

Use this feature with caution!

Removing the Interlock Check flag will bypass the Interlocking calculation in the IED
(if supported by the IED).

CAUTION:

Overriding interlocking in a real station might cause severe


damage to the primary equipment of the station!

Use this feature with 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

4.3.14 Direct Command Dialog


The Direct Command Dialog looks slightly different than the SBO Command Dialog
(Figure 4-32).

Figure 4-32 - Direct Command Dialog

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:

Issuing Commands in a real station might be dangerous!

Use this feature with caution!

46 ITT SA Synthesizer
User Manual
Section 4 Functionality

4.4 ITT - Synthesize GOOSE


4.4.1 Overview
ITT – Synthesize GOOSE is a GOOSE sender and receiver. For all simulated IEDs
it generates the appropriate GOOSE frames and send them over the selected NIC.
It also processes the received GOOSE frames and updates its internal data model
with the contents of the received frames.
The configuration is done automatically. All GCBs are read from the SCD file and the
GOOSE frames are defined.
The GOOSE sender follows the rules defined in its GCB. If no value changes it will
send the frames with the defined tmax, meaning that on a value change it will send
the frame immediately.
Since the GOOSE Sender is running on a PC in a non-deterministic environment, it
cannot be guaranteed that the sender’s real time behaviour will be the same as from
an IED. But it is guaranteed that updated GOOSE information will be transmitted
within the tmax frame.

CAUTION:

Your PC will send multicast frames with several different MAC


Addresses. An Intrusion Detection System or a Network
Administrator might be alerted. You should not use ITT SA
Synthesizer on corporate LANs without first informing your
Network Administrator.

4.4.2 Starting / Stopping ITT – Synthesize GOOSE


Since no configuration is necessary, starting and stopping the GOOSE transmission
in Synthesizer is in line with simulating the IEDs. For all simulated IEDs that are
started, GOOSE frames will be sent.
The reception of GOOSE is started as soon as the profile is applied.
How to start and Stop the simulated IEDs is described in 4.6.2.

NOTE:

The IED needs to be started to send GOOSE frames.

Individual GCB can be disabled to stop the sending of the related GOOSE
messages.

ITT SA Synthesizer 47
User Manual
Section 4 Functionality

4.4.3 GOOSE frame counters


The incrementing of the GOOSE frame counters indicate that the Server is running
(Figure 4-33).

Figure 4-33 - GOOSE frames counter

There are following counters:


 Received: The amount of GOOSE frames received that matching the
configuration
 Ignored: The amount of frames received that do not match the configuration,
i.e. wrong DataSet
 Wrong ConfRev: The amount of GOOSE frames received that have a different
Configuration Revision than specified in the SCD file.

4.4.4 Ignoring own GOOSE frames


ITT – Synthesize GOOSE will ignore GOOSE frames from its own simulated IEDs.
This means that only GOOSE frames from other IEDs are processed.
If two ITT SA Synthesizers work together, it must be ensured that the two ITT SA
Synthesizers use different MAC Addresses for their simulated IEDs.
This can be achieved by changing the MAC Address prefix in the third step of the
profile Wizard (see 4.3.2 for more Information)
For troubleshooting the used capture filter is logged (See 4.3.8). An example of such
a filter is shown in Figure 4-34:

Figure 4-34 - Example of a Capture Filter

48 ITT SA Synthesizer
User Manual
Section 4 Functionality

4.5 ITT - Synthesize Client


4.5.1 Overview
The ITT – Synthesize Client is a fully compliant IEC 61850 client, that is capable of
sending commands to an IED. To be able to do this, the IED has to be connected.
How to connect to an IED is described in 4.5.3.
4.5.2 Exploring a Profile
Once the profile has been created, you can expand the entire tree navigation panel
by right-clicking on an IED and selecting the “Expand children” item. You can
navigate to the various objects you are interested in by simply selecting the object in
the tree navigation pane (Figure 4-35).

Figure 4-35 - Expanding the Tree view

ITT SA Synthesizer 49
User Manual
Section 4 Functionality

4.5.3 Working online


4.5.3.1. Real IEDs Connection Control
By selecting the tree node Real IEDs, the Connection control panel is opened and
can be used to connect several specific IEDs. Pick the required IEDs and move them
from the disconnected list to the connected list by using the buttons in the middle.
Start the connection process by applying the change.

Figure 4-36 - Connect to several IEDs with the connection control panel

4.5.3.2. Connect an already defined SERVER


Connect the various SERVERs contained within an IED by either selecting the
“Connect this IED” item from an IED’s context menu or the “Connect this SERVER”
item from a SERVER’s context menu (Figure 4-37).

50 ITT SA Synthesizer
User Manual
Section 4 Functionality

Figure 4-37 - Connect to a SERVER of an IED

NOTE:

To enforce the IEC 61850-7-2 standard check the “Enforce IEC


61850 Standard while Browsing” in the Tools menu (see Section
4.2.4) before you connect to the server. If you select this feature
and the IED is not fully IEC 61850 compliant, a warning message
will appear and you will not be able to browse its contents.

NOTE:

ITT SA Synthesizer will automatically enable one BRCB Report


instance of every available BRCB type on the connected IED.

ITT SA Synthesizer 51
User Manual
Section 4 Functionality

4.5.3.3. Explore a connected IED


Once the IED (or SERVER) has been successfully connected you can click on
various objects to view a more detailed information. For instance, click on the Loc
Data object located under the LLN0 logical node of the LD0 logical device (Figure
4-38).

Figure 4-38 - Exploring an IED

4.5.3.4. Change attributes of the IED


Depending on the functional constraint (FC) of the data attribute you click on, various
modifications are possible. For instance, the d data attribute represents
documentation and can be modified. If you doubleclick the d data attribute, you can
enter a new value for the d attribute (Figure 4-39).
Hitting the “Enter” key will write the value to the IED, the “Escape” key will cancel
your changes.

NOTE:

On a simulated IED, every DA can be changed!

Figure 4-39 - Changing a value of an IED

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

Figure 4-40 - Changing different data types

WARNING:

Changing a value is not persistently saved in the IED. Your


changes are lost when IED is restarted. To save them, you have
to change the IED configuration file and reload the IED. This task
will be different for different IED types.

ITT SA Synthesizer 53
User Manual
Section 4 Functionality

4.5.3.5. Update values from an IED


The values are not refreshed in the GUI automatically. To refresh the view, the values
have to be read from the connected server. To do this, simply right click on the object
you want to refresh and click on Refresh in the context menu (Figure 4-41).

Figure 4-41 - Refreshing a value

To update the GUI automatically, see the next chapter.

4.5.3.6. Set up reporting


All spontaneous data changes in an IEC 61850 compliant IED are sent to the client
in reports. There are two different report types: buffered and unbuffered (for details
see [1]). With the ITT SA Synthesizer both types can be controlled.

NOTE:

The ITT SA Synthesizer will automatically enable one BRCB


Report instance of every available BRCB type on the connected
IED.

Three steps are necessary to set up the reporting:


 Configure the Report Control Block (RCB)
 Enable the report
 Start a general interrogation (optional)

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

4.5.3.7. Working with unbuffered reports


Figure 4-42 shows the view of an Unbuffered RCB.

NOTE:

The URCB has to be reserved for the following operations.

Figure 4-42 - An URCB

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).

Figure 4-43 - Trigger options of an URCB

ITT SA Synthesizer 55
User Manual
Section 4 Functionality

Next, enable the URCB by clicking the “Enable RCB” button (Figure 4-44).

Figure 4-44 - Enable the URCB

Finally, click the “Start General Interrogation” 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:

Enabling reports interferes with the SA system the IED is


connected to. ITT SA Synthesizer acts like every other client. For
example only 3 Clients can enable reports (this is a setting of the
IED), ITT SA Synthesizer will use one of these client instances. If
three clients have already enabled reports, it will not be possible
to enable a report with the ITT SA Synthesizer.

56 ITT SA Synthesizer
User Manual
Section 4 Functionality

4.5.3.8. Working with buffered reports


Buffered reports from the ITT – Explore IEDs are very similar to unbuffered one
(Figure 4-45). To find out more about the differences please refer to [4] and [5].

NOTE:

Buffered reports do not need to be reserved.

Figure 4-45 - A BRCB

ITT SA Synthesizer 57
User Manual
Section 4 Functionality

4.5.3.9. Process event list


Changes in process values (also called events) are received by reports. These
changes are logged in the process event list as shown in Figure 4-46. To switch to
the event list, select the tab “Process Events” in the main view.

NOTE:

Only a value change will be logged. Value updates (with the same
value) are not logged.

Figure 4-46 - Process event list

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

Figure 4-47 - Process event list details

The following information is contained in the list:


Column name Description
No. A sequential event number
Info Additional information about the event:
Q = Bad quality of the logged DO
T = Time quality bad of the logged DO
Timestamp The timestamp of the DO (tagged in the IED)
IED The IED that sent this event
Substation The substation this DO belongs to
Voltage level The voltage level this DO belongs to
Bay The bay this DO belongs to
Conducting The conducting equipment this DO belongs to
equipment
IEC 61850 Path The IEC 61850 designation of the DA
Description A textual description of the DA. Taken from
- The “d” Attribute of the DO
- The SCL desc of the DA (if available)
- The SCL desc of the DO (if available)
Value The value of the DA
Client The associated client

Table 2: Event list column description

ITT SA Synthesizer 59
User Manual
Section 4 Functionality

NOTE:

The list can be exported to an Excel file by pressing the


“Export to Excel Button”.

The list can be cleared by pressing the “Clear List Button”

The substation related information is only filled if the IED is


connected to a substation/voltage level

The most recent event can be selected by pressing the “Show


most recent event button”

The substation related columns can be shown/hided by pressing


the “Show/hide functional names button”

The autosizing of the columns can be enabled/disabled by


pressing the button “Toggle auto / manual column sizing”

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

4.5.3.10. Security Event Handling


ITT is able to simulate and capture Security Events.

1. Security Event Simulation


Security Data Attributes like “addInfo”, “addr”, “sev” or “cnt” can be changed (see
Figure 4-48). The values can also be edited in the Point to Point List (see chapter
4.6.6).

Figure 4-48 – Change Security Data Attributes

ITT SA Synthesizer 61
User Manual
Section 4 Functionality

2. Security Event List


To view the captured security events, change to the tab “Security Events”.

NOTE:

Only a value change will be logged. Value updates (with the same
value) are not logged.

Figure 4-49 – Security Event list

The following information is contained in the list:


Column name Description
No. A sequential security event number
Timestamp The timestamp of the DO (tagged in the IED)
IED The IED that has sent this event
Substation The substation this DO belongs to
Voltage level The voltage level this DO belongs to
Bay The bay this DO belongs to
Conducting equipment The conducting equipment this DO belongs to
IEC 61850 Path The IEC 61850 designation of the DA
Event Text The resolved security event text
addInfo The content of the DO attribute addInfo

62 ITT SA Synthesizer
User Manual
Section 4 Functionality

Column name Description


User Name The resolved user name of the DO attribute addr
IP Address IP address of the source
Cnt The security event counter index
Sev The severity of the security event
Description A textual description of the DA. Taken from
- The “d” Attribute of the DO
Client The associated client

Table 3: Security event list column description

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).

Figure 4-50 - Opening Command Dialog from tree view

NOTE:

This Menu Entry will only be shown on the CSWI nodes!

The Control Dialog itself is described in chapter 4.3.12.

ITT SA Synthesizer 63
User Manual
Section 4 Functionality

4.5.3.12. Dynamically add IEDs to the configuration


The ITT SA Synthesizer has the ability to dynamically generate the configuration of
a connected IED without having the coresponding SCD file.
Right-click on the Real IEDs node in the tree navigation panel and select the “Add
IED…” item (Figure 4-51)

Figure 4-51 - Adding a new IED to the tree

Enter a meaningful name for the new IED and click “OK” (Figure 4-52).

Figure 4-52 - Adding an IED

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).

Figure 4-53 - Adding a Server to an IED

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

Figure 4-54 - Server details

NOTE:

A subnetwork is automatically generated, and the IED is added to


it. To add an IED to an already existing sub network, it has to be
selected before clicking the “Add IED” menu item.

Refer to Section 4.5 for further information pertaining to what can be done with a
connected IED.

NOTE:

Dynamically added IEDs have a different icon ( ) than IEDs


from an SCL file ( ).

ITT SA Synthesizer 65
User Manual
Section 4 Functionality

Connect the IED (Figure 4-55).

Figure 4-55 - Connecting an IED

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. IED Status View

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).

Figure 4.56. IED Status view

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.

Figure 4.57. Functionality Filters

The user can the manually select certain attributes or use the “Select All” button.

Figure 4.58. Select Attributes

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.

Figure 4.59. Perform Command

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.

Figure 4.60. Highlight Differences

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.

User can then revert changes to its initial value.

68 ITT SA Synthesizer
User Manual
Section 4 Functionality

Figure 4.61. Revert Changes

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.

Figure 4.62. Disconnect IED

ITT SA Synthesizer 69
User Manual
Section 4 Functionality

4.6 ITT - Synthesize IEDs


4.6.1 Overview
ITT - Synthesize IEDs enables the simulation of IEDs on a PC. A client (e.g.
MicroSCADA) will not recognize a difference from a communication point of view
between a simulated and a real IED.

NOTE:

A profile is needed to synthesize IEDs.

Additional application logic of the simulated IEDs have to be programmed in user


defined scripts. If no scripts are started the following conditions apply:
 All values are set initially to “off”, “0” or false.
 All Quality Attributes are set initially to “good”.
 Control Authority is set to “remote”.
 All SBO commands received by simulated IEDs are accepted and handled as
show in Figure 4-63.
 Specific settings can be applied in the options dialog (see Figure 4-6)

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?

CtlMdl == CtlMdl == CtlMdl == CtlMdl ==


1 (DO) 2 (SBO) 3 (Dow) 4 (SBOw)

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

Figure 4-63 - Simulated IED command handling

72 ITT SA Synthesizer
User Manual
Section 4 Functionality

4.6.2 Starting Simulated IEDs


There are various options to start simulated IEDs.
4.6.2.1. Using Launch Control
By selecting the tree node Simulated IEDs is opened and can be used to connect
several specific IEDs. Pick the required IEDs and move them from the stopped list
to the simulated list by using the buttons in the middle. Start the launching process
by applying the change.

Figure 4-64 - Using Launch Control

4.6.2.2. Launching all IEDs


To start all simulated IEDs simply right click the “Simulated IEDs” Node in the tree
view:

Figure 4-65 - Launch all IEDs

ITT SA Synthesizer 73
User Manual
Section 4 Functionality

4.6.2.3. Launching Single IED


To start the simulated IEDs simply right click the IED you want to start (Figure 4-66):

Figure 4-66 - Launch IED

A command window will be started for each SERVER as its own process (Figure
4-68):

Figure 4-67 - A simulated SERVER

NOTE:

Closing the IEC 61850_81_ITT_SERVER window will stop the


IED simulation. To disable the window, configure ITT SA
Synthesizer as described in 4.6.3.

If the simulated IED is launched successful, it should display similar messages as in


Figure 4-68. It will also change its status color to magenta:

74 ITT SA Synthesizer
User Manual
Section 4 Functionality

Figure 4-68 - A started simulated IED is colored magenta

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:

On some PCs the physical link has to be present to simulate


IEDs.

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:

An IED can only be started when its IP Address is not present on


the network.

4.6.3 Simulation with Disabled or Minimized Server Window


It is possible to simulate a server without showing the server window or with its
window in minimized state. It can be configured using Options menu item of Tools
menu as mentioned in section 4.2.4.1.
IED Simulation tab of ITT600 SA Synthesizer Options dialog has IED Simulation
Window Options group and it has two options called Show IED simulator window and
Minimize IED simulator window
Simulated IED window will be shown only if Show IED simulator window option is
selected.

ITT SA Synthesizer 75
User Manual
Section 4 Functionality

WARNING:

Simulation window of IED cannot be shown if Show IED simulator


window option is selected after launching the IED.

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-70 – Show console window of selected server

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

It is possible to restore or focus server windows of all simulated servers under an


IED or a specific simulated server window using the corresponding menu items as
shown in Figure 4-69, Figure 4-70, Figure 4-70Figure 4-71 and Figure 4-72

NOTE:

Restoring or focusing of server window is not possible If it is


configured to simulate with disabled server window.

4.6.5 Changing values in simulated IEDs


As soon as you change any variable in a simulated device, it is updated in simulated
IED and available over MMS and GOOSE.
Changing the values can be done form several locations:
 SLD (see chapter 4.3.9)
 Switch Matrix view (see chapter 4.3.10)
 GCB view (see chapter 4.3.11)
 Data Attribute Panels (see chapter 4.5.3.4)
 Scripts (see chapter 4.9)

ITT SA Synthesizer 77
User Manual
Section 4 Functionality

4.6.6 Point To Point Testing


If simulated IEDs are available, one can select the substation tree to change
simulated values in the Point to Point Testing grid.
The substation tree can be used to navigate to the different substation equipment.
The Point to Point Testing grid shows all simulated Primitive Data Attributes (PDA)
of the selected node in the substation tree (e.g. in the next figure all PDAs of the
object QB1 are displayed in the grid).

Figure 4-73 – Point to Point Testing grid in Substation tree

Figure 4-74 – Point to Point Testing grid showing HMI Signal Mapping

78 ITT SA Synthesizer
User Manual
Section 4 Functionality

4.6.6.1. Grid Functionality


Each simulated PDA can be changed (value, timestamp and quality) by clicking on
the magenta cells.
The columns on the right indicate if the PDA sends GOOSE and/or MMS (Client
name is indicated in the header).
Right click on a PDA offers navigation to the referenced item in the Main tree.
HMI signal mapping to the IEC 61850 IED as well as to the process data can be
viewed in Point to Point Testing grid after importing the corresponding MicroSCADA
Loadfile (LOF file) or CSV file.
4.6.6.2. Grid Usage
Use column chooser by clicking on the top left field of the grid to show more columns
(e.g. PDA quality, FC …).

To export the grid view to Excel, press the button on top of the grid:

To show functional name columns, press the following button:

The autosizing of the columns can be enabled/disabled by pressing the button


“Toggle auto / manual column sizing”

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

4.6.7 IED Status View


Similar as for the connected IEDs, the IED Status view can also be used for a
simulated IED. Follow the description in chapter 4.5.3.13 on how to use the IED
Status view.

Figure 4.75. IED Status view for simulated IED

4.6.8 Stopping a simulated IED or Server


There are various options to stop IEDs.
To manage the connection status of the devices, the launch control can be opened.
Next, simply select the IEDs and use the buttons at the middle of the launch control
panel to either start or stop the simulated IEDs.

Figure 4-76 – Using Launch Control

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

Figure 4-77 - Stopping all simulated Devices

To stop one IED, click on the Stop Simulated IED context menu entry as shown in
Figure 4-78.

Figure 4-78 - Stopping a simulated Device

To stop one SERVER, click on the Stop Simulated Server context menu entry as
shown in Figure 4-79.

Figure 4-79 - Stopping a simulated SERVER

ITT SA Synthesizer 81
User Manual
Section 4 Functionality

4.6.9 Moving IEDs from Simulated to Real and vice - versa


Every simulated IED can be moved to the real IEDs collection and vice versa.
To move one IED, simply click the “Move to …” context menu entry.

4-80 – Moving IED between real and simulated

Use the Launchpad control to move multiple IEDs:

4-81 – Moving multiple IEDs between real and simulated

If an IED is moved from simulated to real:


 The IED will be stopped
 GOOSE sending will be disabled for this IED
 The reserved IP Address will be freed.

If an IED is moved from real to simulated:


 The IP Address will be reserved on the NIC
 The GOOSE frames will be configured for the IED and will be sent to the
network.
 In case the IP Address of the IED is already used, the state of the IED will be
set to Simulation not possible.

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

4.7 OPC Unified Architecture (UA) Server


The ITT SA Synthesizer includes an integrated OPC UA Server.
The OPC interface provides a way for 3rd party applications to interact with ITT SA
Synthesizer. It allows following operations:
 Launching / Stopping simulated IEDs
 Changing simulated values
 Connecting / Disconnecting real IEDs
 Operations on real IEDs
 Start / Stop Scripts

The OPC UA Server includes a wrapper to OPC DA to allow OPC DA compliant


clients to access the ITT SA Synthesizer OPC Server.
This functionality has to be configured with a separate tool.

4.7.1 Configuring the OPC UA Server


OPC UA requires some specific configurations to be done on the PC hosting the
OPC UA Server. The configuration is done with a separate tool provided by the OPC
Foundation.
4.7.1.1. OPC UA Server Configuration
The first step is to launch the Synthy OPC UA Server a first time.
This will create a configuration file that is reused in the next steps.
After we have loaded a simulation profile, we have to start the OPC Server right
clicking on the related node and selecting “Start OPC Server” as shown in Figure
4-82. Once the OPC Server is started, the OPC Server Node will colored green.

Figure 4-82 - Start OPC server

Second step is to launch the OPC UA Configuration tool.


It is located in the Start menu under OPC Foundation – UA SDK 1.01 – UA
Configuration Tool as shown in the screenshot below:

Figure 4-83 - OPC UA Configuration Tool Start

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

Figure 4-84 - Instance certificate creation

Select the ITT SA Synthesizer executable as the Application to manage:

Figure 4-85 – Select Application to manage

Select the correct xml configuration file in the next window:

Figure 4-86 Application Information

NOTE:

Make sure the Configuration File points to:

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:

Figure 4-88 – Opening Firewall for OPC UA Server

4.7.1.2. Configure OPC DA Access


OPC DA Access to the UA Server is provided by a so called Wrapper. To enable
OPC DA Access one has to install the “OPC UA SDK 1.01 COM Interop Components
Setup.exe” first.
It is located in the Installation Folder in the \Tools\OPC_UA_Server_SDK folder:

ITT SA Synthesizer 85
User Manual
Section 4 Functionality

Figure 4-89 – OPC Com Interop Setup location

WARNING:

The Installation of this package could be blocked by a Host


Intrusion Prevention System such as McAfee HIPS.

In case the Installation fails, contact your local IS Support

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…”:

Figure 4-90 - Manage COM interop

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

Figure 4-91 - Select endpoint url

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).

Figure 4-92 - Discovered OPC servers

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

Figure 4-93 - OPC server configuration

The endpoint url will be inserted in the previous form and we can accept it clicking
on “ok” (Figure 4-94).

Figure 4-94 - Endpoint url configured

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

Figure 4-95 - COM Server configuration

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.

Figure 4-96 - OPC Server wrapped

ITT SA Synthesizer 89
User Manual
Section 4 Functionality

4.8 Generic OPC DA Connections


The ITT SA Synthesizer is capable of creating a connection to any standards-
compliant OPC server. It will then provide read/write access in the main tree by
displaying the hierarchy of folders and data items on the OPC server.
Furthermore, ITT SA Synthesizer is capable of automatically listing the available
networked machines and the OPC servers that are running on them. This means
that the user does not necessarily need to know the exact IP and connectivity details
of a particular server.

4.8.1 Adding an OPC DA Connection


An OPC DA connection can be added by right-clicking on the OPC DA Connections
item in the tree view and selecting the ‘Add OPC DA Connection…’ item. The ‘Select
OPC Server Name…’ dialog will then appear:

Figure 4-97 – The ‘Select OPC Server Name…’ dialog box

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.

4.8.2 Connecting an OPC Server


In order to connect an OPC server, it must have already been added in some way to
the main tree view. Then right click on the OPC DA Connection you wish to connect
to, and select the ‘Connect OPC Server’ menu item that appears.

Figure 4-98 – Connecting an OPC server

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

Figure 4-99 – Items in a connected OPC server

4.8.3 Disconnecting an OPC Server


An OPC server can be disconnected by right clicking on it and selecting ‘Disconnect
OPC Server’. The server will then disconnect and the contained folders will
disappear.

4.8.4 Removing an OPC Server


In order to remove an OPC server from the list of servers in the current profile, right
click on the server and select ‘Remove OPC Server’. If the server is currently
connected it will disconnect first, and then the server will be removed from the current
profile permanently.

4.8.5 Modifying an OPC Item


To modify an item value on an OPC server, first navigate to the item using the folders
in the main tree view. Then, upon locating the item in the right-hand-side item pane,
double click on it. A textbox allowing entry of new data should now become available:

Figure 4-100 – Updating an item value

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.

4.9.2 Scripting Language (C#)


The scripting Language is C#. This document will not give an introduction to the
programming language.
See [9] for more information. The document is available from the Windows Start
Menu entry in the ITT folder.

4.9.3 Types of scripts


Synthesizer supports three different types of scripts:
Main: These are scripts that are run when the “Run” button is pressed in the script
IDE toolbar.
Autostart: These scripts are run either when the “Run” button is pressed, or when
the ITT SA Synthesizer is started in autostart mode.
Functions: These scripts contain common functionality that can be reused by main
scripts

4.9.4 Adding scripts to a profile


To add a new, empty script to a profile, right click either on the “Main” scripts node
or on the “Functions” scripts node in the tree view and select “Add script” (Figure
4-101):

Figure 4-101 - Adding a script

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

4.9.5 Viewing all scripts in a profile


When scripts have been added to a profile, they will appear under the “Main” or
“Functions” node in the tree view, depending on the script that you have already
added. This node can be accessed by clicking on the “+” symbol next to the “Scripts”
text when scripts are in the profile. The two types of scripts (autostart and main) are
visibly different in the tree view: autostart scripts have a pink hue and normal scripts
are white (Figure 4-102). The function type script has the same colour of the normal
one but it appears under the “Functions” script node.

Figure 4-102 - Different types of script in the scripts node

ITT SA Synthesizer 93
User Manual
Section 4 Functionality

4.9.6 Scripting IDE


To edit the script, click on a script node. It will be shown in the script IDE (Figure
4-103).

Figure 4-103 - The Scripting IDE

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)

Figure 4-104 – Script toolbar

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.

4.9.6.2. Compilation Errors


When compiling the script, errors are shown in the bottom area (Figure 4-105):

Figure 4-105 - Compilation errors

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).

Figure 4-106 - The syntax error is highlighted in the code

Running a script is described in chapter 33.

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

Figure 4-107 - Intelli Sense feature

4.9.7 Script Structure


The structure of a script is defined when a new script is added. It should not be
changed and consists of the following elements:
 Header: A commented block that describes the script itself.
 Using declarations: Types from all the specified namespaces can be used
without their full qualified name.
 Namespace: All scripts have to be defined in the namespace
ABB.ITT.SASynthesizer.SimulationUtils.Scripting.
 Class: The class has to be inherited from GenericScriptObject
 Main method: This is the Entry point in the script. This method will be
executed, if the script is started.

//------------------------------------------------------------------

ITT SA Synthesizer 97
User Manual
Section 4 Functionality

// Synthesizer Script: Structure.cs


// Created : 2011-05-25 14:01:35
// Author : CHMIOBR
// Description :
//------------------------------------------------------------------

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]

// Insert script commands here.

// [END SCRIPT]
}

// [START USER METHODS]

// Insert additional user methods here (event handlers, etc...)

// [END USER METHODS]


}
}

4.9.8 Predefined methods


There are predefined methods to simplify the scripting task. They can be added to
any script by right clicking in the editor and selecting the appropriate method from
the context menu (Figure 4-108).

98 ITT SA Synthesizer
User Manual
Section 4 Functionality

Figure 4-108 - Inserting a predefined method

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).

Figure 4-109 - Inserting predefined methods using Intelli sense

ITT SA Synthesizer 99
User Manual
Section 4 Functionality

4.9.8.1. Predefined Method description

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);

100 ITT SA Synthesizer


User Manual
Section 4 Functionality

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);

ITT SA Synthesizer 101


User Manual
Section 4 Functionality

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));

private void OnQB9Changed(string varRef, object newValue)


{
Wait(1000); //wait a little...
SetValue("AA1D1Q09A1C1/QC1_3XSWI3.Pos.stVal", newValue, true);
}

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).

102 ITT SA Synthesizer


User Manual
Section 4 Functionality

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.

Use UnsubscribeFromValueChanged or UnsubscribeAll


to release subscription.

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:

Depending on the delegate methods return value, the switch


position will be changed automatically or not.

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,

ITT SA Synthesizer 103


User Manual
Section 4 Functionality

byte ctlNum,
bool test,
bool synchroCheck,
bool interlockCheck,
UTCTime time)
{
//At the moment only allow Test Commands
if(test) return 0;
else return 1;
}

Handling the control request itself, is done in a delegate method:


Parameters Type Description
src IPEndpoint The endpoint from where the
command was received.
pda PrimitiveDataAttribute The MetaModel attribute that is
contained in this request.
ctrlReqType ControlRequestType The type of the command
ctlVal Int The control Value
Orig Origin The origin of the command
ctlNum Int The control number
Test bool Is it a test command
synchroCheck bool Perform Synchrocheck
interlockCheck bool Perform Interlocking
Time UTCTime The time the command was sent.
ReturnValue int 0 if successful
> 0 indicates the AddCause
< 0 indicates that everything
including the change of the position is
done from the script.

NOTE:

The script will remain in the running state, when it has subscribed
to value change events.

Use UnsubscribeFromControlRequest or
UnsubscribeAll to release subscription.

104 ITT SA Synthesizer


User Manual
Section 4 Functionality

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:

This method will initialize all position information, Interlocking and


Synchrockeck data of simulated IEDs.

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:

If no IED name is specified, all simulated IEDs will be changed.

ITT SA Synthesizer 105


User Manual
Section 4 Functionality

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");

106 ITT SA Synthesizer


User Manual
Section 4 Functionality

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");

ITT SA Synthesizer 107


User Manual
Section 4 Functionality

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.

108 ITT SA Synthesizer


User Manual
Section 4 Functionality

Parameters Type Description


ReturnValue bool True if successful, otherwise false

NOTE:

The IED has to be connected prior sending any command.

Example:
SelectCommand("AA1D1Q09A1/QB1_1CSWI2", "open", false, false);

CAUTION:

The command will be sent to a real IED!

Overriding synchrocheck or interlock check in a real station might


cause severe damage to the primary equipment of the station!

Use this feature with 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:

The IED has to be connected prior sending any command.

ITT SA Synthesizer 109


User Manual
Section 4 Functionality

Example:
ExecuteCommand("AA1D1Q09A1/QB1_1CSWI2", "open ", false, false);

CAUTION:

The command will be sent to a real IED!

Overriding synchrocheck or interlock check in a real station might


cause severe damage to the primary equipment of the station!

Use this feature with 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:

The IED has to be connected prior sending any command.

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");

110 ITT SA Synthesizer


User Manual
Section 4 Functionality

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:

It completely disables the GOOSE Reception!

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()

ITT SA Synthesizer 111


User Manual
Section 4 Functionality

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
}

112 ITT SA Synthesizer


User Manual
Section 4 Functionality

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”);

ITT SA Synthesizer 113


User Manual
Section 4 Functionality

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();
}

public void ThreadWork()


{
for(int i = 0; i<3;i++)
{
this.Log("Working thread... " + i);
Thread.Sleep(1000);
}
}

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:

Func1 func = new Func1();


RegisterFunctionForCleanUp(func);

114 ITT SA Synthesizer


User Manual
Section 4 Functionality

4.9.8.2. Code Snippets


There are predefined code snippets that make it simpler to write scripts.
The snippets are saved in the “Synthy.snippets” file that is stored in the bin folder of
the installation. It is an XML based file and can be extended (Figure 4-110).

Figure 4-110 - Inserting code snippets

4.9.9 Variable References and Names


Variable references are defined as strings (e.g.
"AA1D1Q09A1C1/QB9_5XSWI1.Pos.stVal"). It is important that the name is
specified in this format. There is an easy way of copying the correct name from the
Tree view (Figure 4-111).

Figure 4-111 - Getting a variable name

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.

ITT SA Synthesizer 115


User Manual
Section 4 Functionality

4.9.10 Running Scripts


Scripts can be started from two different places:
 The script IDE toolbar
 The script control panel

In both places clicking on the “Run” Button will start the selected script (Figure
4-112).

Figure 4-112 - Run a script from the Scripts Control Panel

A running script will be indicated with a green circle, a stopped will be indicated with
a red circle.

4.9.11 Cleanup when Stopping Scripts


Before a Script is Stopped, a virtual method BeforeStop() is called.
Override this method to do some cleanup in case you have to. BeforeStop() is only
called when a Script is Stopped manually (using the Stop Script Button). In case a
script simply finishes the Main() method, all cleanup code has to be done at the end
of the Main() method.
The example below shows how BeforeStop() can be used:
namespace ABB.ITT.SASynthesizer.SimulationUtils.Scripting
{
public class testBeforeStop: GenericScriptObject
{
private int progress = 1;
public override void Main()
{
// A script that never exits the Main() method
while(true)
{
Wait(1000);

116 ITT SA Synthesizer


User Manual
Section 4 Functionality

Log(progress.ToString());
progress ++;
}
//This code will NEVER be executed!
progress = -100;
Log(progress.ToString());
}

protected override void BeforeStop()


{
//This code is executed if the Script is Stopped
//make sure that this method will exit!
Log("Cleanup here");
progress = 0;
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.

ITT SA Synthesizer 117


User Manual
Section 4 Functionality

4.10 Dynamically discovering IEDs


The ITT SA Synthesizer allows dynamic detecting and adding of IEDs from a LAN.
From the “Tree” menu select “Autodetect IEDs...”.
A wizard will be started to guide you through the autodetection (Figure 4-113).
From the first of three wizard panes select the IP address scanning method. The
following methods are available to the user:
 Scanning an IP range: Scans the network between 2 specified IP addresses
 Scanning a subnet (with a specific subnet mask). Note that this is currently
restricted due to performance and practical reasons to 255.255.x.y
 Scanning the subnet of the computer the ITT SA Synthesizer software is
running on. The subnet is detected automatically.

Figure 4-113 - Detect IEDs

Click next and wait for the window to finish (Figure 4-114).

NOTE:

Depending on the number of IP Addresses to scan, this might


take some time! Cancelling the scanning is possible at all times.

118 ITT SA Synthesizer


User Manual
Section 4 Functionality

Figure 4-114 - Status of the detection

Click “Next >” for the final selection window.


All IEDs found are shown in the left list (Figure 4-115).

Figure 4-115 - Found IEDs

The user can now choose to add one or more of the detected IEDs to the IED list on
the right (Figure 4-116).

ITT SA Synthesizer 119


User Manual
Section 4 Functionality

Figure 4-116 - Adding IEDs to the main window

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:

The auto detection will first ping all specified IP addresses. If an


answer is received it will try to open an MMS connection with this
address. Since a lot of specific traffic is generated by the PC, an
intrusion detection system or a network administrator might be
alerted. You should not use this feature on corporate LANs
without first informing your network administrator.

120 ITT SA Synthesizer


User Manual
Section 4 Functionality

4.11 Performance Testing


The ITT SA Synthesizer was not primarily designed to do performance testing. Since
it runs under the Windows Operating System, where deterministic real time
performance cannot be guaranteed.
This means, for example, it is not possible to define how many frames per second
the ITT SA Synthesizer produces.

WARNING:

The ITT SA Synthesizer cannot produce a predefined amount of


frames (reports and GOOSE messages) per second.

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:

To achieve the best performance of ITT SA Synthesizer, logging


should be disabled. See chapter 3.5 for more information about
how to disable trace and logging output.

ITT SA Synthesizer 121


User Manual
Section 4 Functionality

4.12 Limitations
For limitations see the release notes.

122 ITT SA Synthesizer


User Manual
Section 5 Appendix

5 Appendix

5.1 Troubleshooting
Problem Possible reasons and solutions

No frames received Check whether you have a firewall enabled on the


PC and if you do, disable it.

Check whether you have a running VPN client on


the PC and disable it.

Check the NIC settings.

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.

No GOOSE frames are sent Is the simulated IED started?

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.

Cannot ping IED To be able to ping an IED the PC has to be in the


same network. This means both devices need the
same subnet mask and a similar (not the same!) IP
address.

I don’t receive GOOSE frames Make sure that the two synthesizers do not use the
from another ITT SA Synthesizer. same MAC Address.

No VLAN tags are contained in Some switches do not support VLANs.


frames
The NIC configuration cuts off the VLAN tags from
the frames.

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.

ITT SA Synthesizer 123


User Manual
Section 5 Appendix

Simulated IEDs do not respond to Are the simulated IEDs started?


ping.
Check whether there are as many “IEC
61850_81_ITT_SERVER” tasks as simulated IEDs
in the Task Manager.

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):

- Bay (LN) is in remote mode

- Switch operation is not interlocked

- It is not a test command

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.

124 ITT SA Synthesizer


User Manual
Section 5 Appendix

5.3 ITT SA Synthesizer default client address parameters


5.3.1 Local address

Description Value

OSI TSEL 00,01

OSI SSEL 00,01

OSI PSEL 00,00,00,01

OSI AP Title 1,3,9999,33

OSI AE Qualifier 33

5.3.2 Remote address

Description Value

OSI TSEL 00,01

OSI SSEL 00,01

OSI PSEL 00,00,00,01

OSI AP Title 1,3,9999,23

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.

ITT SA Synthesizer 125


User Manual
Contact us

ABB Switzerland Ltd.


SA-LEC Support
Bruggerstrasse 72
CH-5400 Baden
Switzerland

sa-lec-support@ch.abb.com
http://inside.abb.com/substationautomation

1KHA005022- © Copyright 2016 ABB. All rights reserved

You might also like