Você está na página 1de 87

Document Number: MS-400

Multispeak
Installation and Editing Guide
____________________________________________

March 23, 2013

This manual describes how to install and use the Multispeak interface for
Survalent SCADA.

Survalent Technology Corporation


Mississauga, Ontario
Copyright © 2006 – 2013 Survalent Technology Corporation

All rights reserved

MS-400 Multispeak Installation and User’s Guide

Survalent Technology Corporation


2600 Argentia Road
Mississauga, Ontario
L5N 5V4

TEL (905) 826-5000

FAX (905) 826-7144

The software described in this document is furnished under


license, and may only be used or copied in accordance with
the terms of such license.

The content of this manual has been carefully checked for accuracy. However, if you find
any errors, please notify Survalent Technology Corporation.
Revisions

Date Description
September 7, 2006 Initial version.

December 19, 2006 Addition of failover support.

January 31, 2007 Expanded description of setup of the cluster IP address.

March 26, 2007 Expanded description of the installation process.


Added clarification of issues regarding naming of points.

November 13, 2008 Added SCADA-LM interface.

March 16, 2009 Added affected relay parameter (Parameter 2) to the power factor control
interface.

May 21, 2009 Clarifications to the installation process.

February 19, 2010 Added User ID and Password fields in Virtual RTU definition (sections
4.1.15, User ID, and 4.1.16, Password).
Added new transmission options in Virtual RTU (sections 4.2.9.2, Send
All at Startup, and 4.2.9.3, Send All at Reconnection, and 4.2.9.4, Send
All Transitions).
Added parameter 7 (Send All Transitions for This Point) and parameter 8
(Time to Live) for status points in the SCADA-OA interface (Parameters in
section 4.3.3, Status Points).

Installation and Editing Guide Revisions


Multispeak
February 23, 2010 Added definition of values for the Link Status point in the Data Exchange
Server editor (section 4.1.4, Link Status).

July 27, 2012 Added section 5.3.3, Capacitor Control via Load Shed Commands, to
describe use of load shed commands in power factor control.

October 11, 2012 Added applicationPoint parameter for load shed commands that use
strategy names (section 5.2.1, Load Shed Points in a Load Management
Dataset).

January 25, 2013 Corrected description of the MSPK.zip and MultispeakUpdate


XXXXXXXX.msi files in section 2.3, Axis Web Services.

March 23, 2013 Use Parameter 5 for start time of load shed command (section 5.2.1,
Load Shed Points in a Load Management Dataset).
Add “/lm=localtime” configuration switch to specify use of local time (as
opposed to UTC) in Multispeak shed commands (section 4.1.7,
Configuration Switches).

Installation and Editing Guide Revisions


Multispeak
Contents

1 Introduction 1-1

2 Basic Installation 2-1


2.1 Multispeak Installation Pack ....................................................................................................... 2-1
2.2 Installing Tomcat ........................................................................................................................ 2-2
2.3 Axis Web Services ...................................................................................................................... 2-6
2.4 Setting the Environment Variables ........................................................................................... 2-14
2.4.1 Automatic Setup of Environment Variables ....................................................................... 2-14
2.4.2 Manual Setup of Environment Variables ............................................................................ 2-15
2.5 Allowing SCADA to Start or Stop Tomcat............................................................................... 2-18
2.6 Testing the Installation .............................................................................................................. 2-19

3 Setup for Failover 3-1


3.1 Setup of Windows NLB .............................................................................................................. 3-2
3.1.1 Enabling NLB in Each SCADA Host Computer .................................................................. 3-2
3.1.2 Creating the NLB Cluster ..................................................................................................... 3-6
3.1.3 Testing Each Computer in the NLB Cluster ....................................................................... 3-12
3.1.4 Testing the NLB Cluster Itself ............................................................................................ 3-17
3.2 MultiSpeak Failover Service ..................................................................................................... 3-18
3.2.1 Installing the MultiSpeak Failover Service ......................................................................... 3-18
3.2.2 Testing the MultiSpeak Failover Service ............................................................................ 3-22

4 Database Editing 4-1


4.1 Multispeak Server Editor ............................................................................................................ 4-2
4.1.1 ID .......................................................................................................................................... 4-3

Installation and Editing Guide Contents i


Multispeak
4.1.2 Server Name ......................................................................................................................... 4-3
4.1.3 Description ............................................................................................................................ 4-3
4.1.4 Link Status ............................................................................................................................ 4-3
4.1.5 Protocol ................................................................................................................................. 4-4
4.1.6 Auto Start .............................................................................................................................. 4-4
4.1.7 Configuration Switches......................................................................................................... 4-4
4.1.8 Start Server ........................................................................................................................... 4-4
4.1.9 Stop Server............................................................................................................................ 4-4
4.1.10 Interface Type ....................................................................................................................... 4-4
4.1.11 Publish URL ......................................................................................................................... 4-5
4.1.12 Status Publish Interval .......................................................................................................... 4-5
4.1.13 Analog Publish Interval ........................................................................................................ 4-5
4.1.14 Life Check Interval ............................................................................................................... 4-5
4.1.15 User ID .................................................................................................................................. 4-5
4.1.16 Password ............................................................................................................................... 4-5
4.2 Multispeak Virtual RTU ............................................................................................................. 4-5
4.2.1 Virtual Rtu Name .................................................................................................................. 4-6
4.2.2 Description ............................................................................................................................ 4-6
4.2.3 Address ................................................................................................................................. 4-6
4.2.4 Modify Enable ...................................................................................................................... 4-6
4.2.5 Control Enable ...................................................................................................................... 4-7
4.2.6 Server .................................................................................................................................... 4-7
4.2.7 Dataset .................................................................................................................................. 4-7
4.2.8 Protocol ................................................................................................................................. 4-7
4.2.9 Multispeak ............................................................................................................................ 4-7
4.2.9.1 Enable/Disable Publish ..................................................................................................... 4-7
4.2.9.2 Send All at Startup ............................................................................................................ 4-7
4.2.9.3 Send All at Reconnection ................................................................................................. 4-8
4.2.9.4 Send All Transitions ......................................................................................................... 4-8
4.3 Multispeak Dataset...................................................................................................................... 4-8
4.3.1 Dataset Name ........................................................................................................................ 4-9
4.3.2 Description ............................................................................................................................ 4-9
4.3.3 Status Points.......................................................................................................................... 4-9
4.3.4 Analog Point List ................................................................................................................ 4-14
4.3.5 Accumulator Points............................................................................................................. 4-17
4.3.6 Control Points ..................................................................................................................... 4-17
4.3.7 Setpoints.............................................................................................................................. 4-17

5 Load Management 5-1


5.1 Introduction ................................................................................................................................. 5-1
5.2 Load Shed Control ...................................................................................................................... 5-2
5.2.1 Load Shed Points in a Load Management Dataset ............................................................... 5-2
5.2.2 Operation of Load Shed Commands ..................................................................................... 5-6
5.2.3 Load Shedding Via LCR Addresses ..................................................................................... 5-6
5.3 Power Factor Control .................................................................................................................. 5-6
5.3.1 Power Factor Control Dataset ............................................................................................... 5-6

Installation and Editing Guide Contents ii


Multispeak
5.3.2 Operation of Power Factor Control Commands.................................................................... 5-9
5.3.3 Capacitor Control via Load Shed Commands....................................................................... 5-9

Installation and Editing Guide Contents iii


Multispeak
1 Introduction

This document describes how to install and set up the database for the Survalent Multispeak interface.

Multispeak is a family of standard interfaces between various applications from different vendors. The
purpose of these interfaces is to make it easier and less expensive for users to buy software from
different vendors and have these software packages exchange data.

The development of the Multispeak specification was a collaboration of many software vendors. The
project was sponsored by the NRECA. Information about this project and the specification itself can be
obtained at the Multispeak web site: www.multispeak.org.

There are two types of Multispeak interfaces:

 Batch

These interfaces allow users to export/import data between applications on demand.

 Realtime

These interfaces allow applications to exchange data in realtime.

Whether the interface is batch or realtime, the data that is exchanged consists of XML. In the realtime
interfaces, the realtime communication between the applications is based on web services.

Installation and Editing Guide Introduction 1-1


Multispeak
This document describes the realtime interfaces that Survalent provides between SCADA and the
following applications:

 Outage Management
 Engineering Analysis
 Dynamic GIS Viewer
 Load Management (includes Power Factor Control)

Chapter 2 describes the basic installation for Multispeak on the SCADA server.

Chapter 3 describes the installation and setup for Multispeak failover between redundant SCADA servers.
If you have only one SCADA server, you do not need to perform any of the steps described in this
chapter.

Chapter 4 describes the database editing for Multispeak.

Chapter 5 describes specifics for load management.

Note: The Survalent Multispeak interfaces are an implementation of the current version of the
Multispeak specification, which is version 3.0. In earlier versions, the realtime communication is
based on either SOAP or sockets. Earlier versions of the realtime interfaces are not compatible
with version 3.0.

Installation and Editing Guide Introduction 1-2


Multispeak
2 Basic Installation

This chapter describes how to use the Survalent Multispeak interface for Windows SCADA.

2.1 Multispeak Installation Pack


The contents of the Multispeak installation CD are as follows:

 j2sdk-1_4_2_08-windows-i586-p.exe
 jakarta-tomcat-4.1.31.exe
 apache-ant-1.6.5-bin.zip
 axis-bin-1_2_1.zip
 jaf-1_0_2-upd2.zip
 javamail-1_3_3.zip
 soap-bin-2.3.1.zip
 xalan-j-current-bin.zip
 xerces-J-bin.2.6.2.zip
 xmlbeans-2.1.0.zip
 MSPK.zip
 Multispeak Update XXXXXXXX.zip (where XXXXXXXX is a date)
 Java_Mspk_Environment.txt
 xmlsec-1.2.96.jar
 mspk.reg

Note: Before doing the installation, stop the SCADA system and close any other applications. If
you are reinstalling or updating Multispeak, stop Apache Tomcat too.

Installation and Editing Guide Basic Installation 2-1


Multispeak
2.2 Installing Tomcat
First, create a directory in your C drive called J.

C:\> MD J

Double-click on j2sdk-1_4_2_08-windows-i586-p.exe, and when you are asked for the destination
directory, press “Change…”.

Replace the default destination (C:\ j2sdk1.4.2_08) by "C:\J\j2sdk1.4.2_08” (i.e. insert a “J” between the
C:\ and the folder name). The final screen should look like this:

Installation and Editing Guide Basic Installation 2-2


Multispeak
Press OK. A Browser Registration dialog will then appear and ask you to select the browsers for which
you wish to register the Java Plug-In. Don’t choose any of the browsers (i.e. uncheck the checkboxes)
and click on Install.

Now, double-click on the program jakarta-tomcat-4.1.31.exe. The following screen will come up:

Check the “NT Service” and “Developer Resources” checkboxes, and press Next. The following dialog

Installation and Editing Guide Basic Installation 2-3


Multispeak
will appear:

In this dialog, modify the initial part of the installation path by “C:\J”, so that the path looks as shown
below:

Installation and Editing Guide Basic Installation 2-4


Multispeak
Press Install. The following dialog will appear:

Set the port number to 8080. You can enter any password you want, since it will be overwritten later by
the password “scada” when the MultiSpeak component is installed. Press Finish.

After this, you can verify that your Tomcat webserver is running by opening Internet Explorer and typing in
the address "http://localhost:8080".

Installation and Editing Guide Basic Installation 2-5


Multispeak
2.3 Axis Web Services
Now that Tomcat is working, we need to install the rest of the packages that the Axis Web Services
framework needs.

In order to install the Axis framework, we have to stop Tomcat and all the programs (including Scada).
The easiest way to do this is to open your Services application (under Start->Administrative Tools-
>Services in Windows 2003), select Tomcat and then press "Stop".

Installation and Editing Guide Basic Installation 2-6


Multispeak
Next, unpack the following compressed (zip) files and extract all of the contents (conserving the internal
path) into the C:\J directory.

 soap-bin-2.3.1.zip
 apache-ant-1.6.5-bin.zip
 axis-bin-1_2_1.zip
 jaf-1_0_2-upd2.zip
 javamail-1_3_3.zip
 xalan-j-current-bin.zi
 xerces-J-bin.2.6.2.zip
 xmlbeans-2.1.0.zip

For each zip file, select the file and do a right-click. Then select “Extract All…”. The following dialog will
appear:

Installation and Editing Guide Basic Installation 2-7


Multispeak
Press Next. The following screen will appear (the example below is for the soap-bin-2.3.1.zip file):

Installation and Editing Guide Basic Installation 2-8


Multispeak
Change the default directory to “C:\J” as shown in the following dialog:

For each zip file listed above, change the extraction directory to “C:\J”.

Now, in the installation kit, there are two additional files:

 MSPK.zip
 Multispeak Update XXXXXXXX.msi

where the X’s represent the last update date in year-month-day format (e.g. 20061130)

For the MSPK.zip file, set an extraction path of “C:\”. Accept all of the modifications.

Execute the Multispeak Update XXXXXXXX.msi file by double-clicking on it. Use the default install
directory of C:\Program Files (x86)\Quindar\ScadaServer\.

Important:

When you extract the “MSPK.zip” file and execute the “Multispeak Update XXXXXXXX.msi”
file, some files that are used by SCADA and other programs will be overwritten. Make sure
that the SCADA system is not running and that no other application window is open in the
desktop either, including Scada Manager. Otherwise, the extraction and installation will fail.

Installation and Editing Guide Basic Installation 2-9


Multispeak
When you finish, your C:\J will look like this:

Note that you will end up having another directory named “C:\JP”.

Now, restart the Tomcat service, and press the Tomcat Manager button in the welcome page obtained by
entering http://localhost:8080 in your browser. The following login dialog will appear. You must now use
the password “scada” (this password has overridden the one that you defined during the installation of the
MSPK.zip file).

Installation and Editing Guide Basic Installation 2-10


Multispeak
If everything is working correctly, after logging in, you will see a screen like this one:

Installation and Editing Guide Basic Installation 2-11


Multispeak
Now click on the "axis" link. You will see the following screen:

Installation and Editing Guide Basic Installation 2-12


Multispeak
To verify that your Multispeak services are installed, click on the "List" link. You will see a window similar
to this one:

If you scroll this screen, you should see the following Web Services:

 EA_SCADASoap
 OA_SCADASoap
 SCADA_DGVSoap
 AdminService
 Version
 SCADA_OASoap
 SCADA_EASoap
 LM_SCADASoap
 SCADA_LMSoap

If all of these are present, the Java, Tomcat, Axis and MultiSpeak packages have been correctly installed.

Installation and Editing Guide Basic Installation 2-13


Multispeak
2.4 Setting the Environment Variables
If you’re planning to operate an interface that uses Publish-Subscribe (e.g. SCADA-OA), there are several
environment variables that need to be defined. These are listed in the text document
“Java_Mspk_Environment.txt” in the installation CD.

2.4.1 Automatic Setup of Environment Variables

To install the environment variables in each machine, perform the following procedure:

Open a command window (Start >> Command Prompt) and type:

CD \JP

Then type:

MspkFoEnv

and press Enter.

Installation and Editing Guide Basic Installation 2-14


Multispeak
The variables for the User Environment and the System Environment have now been added to the
Registry.

2.4.2 Manual Setup of Environment Variables

Alternately, you can set the variables manually. The easy way to do this is to open the
“Java_Mspk_Environment.txt” text document in Notepad, and copy and paste the directory information in
the newly created environment variables. First, select “Start >> Control Panel >> System”, and you will
see this dialog or something similar:

Installation and Editing Guide Basic Installation 2-15


Multispeak
In this dialog, select the “Advanced” tab and you will see this dialog:

Installation and Editing Guide Basic Installation 2-16


Multispeak
Then press the “Environment Variables” button and you will see this dialog:

As you can see, there are two areas, one for the User variables and another for the System variables. In
the text document, these are also separated in this fashion. Now, press the “New” button in the User
area and you will see this dialog:

In this dialog, you must enter the variable’s name and its value. You can copy both from the text file.

NOTE: For System variable PATH, use the one that is already defined and only append the portion from
the text file, using a semicolon (“;”) as separator between the two parts.

When you finish, exit the dialogs by pressing OK as needed.

Installation and Editing Guide Basic Installation 2-17


Multispeak
2.5 Allowing SCADA to Start or Stop Tomcat
In order to get SCADA to start/stop Tomcat when SCADA starts or stops, perform the following steps:

 Locate the “Mspk.reg” file in your installation CD, and right-click on it.

 In the context menu that appears, select “Merge”, and then press OK.

This will define an entry in the Windows registry that will allow SCADA to start and stop Tomcat.

 Edit the Tomcat service definition in the Services dialog, and change it from Automatic startup to
Manual.

To do this, go into the Services Dialog (Start -> Administrative Tools -> Services). You will see the
following dialog:

Select the Apache Tomcat 4.1 service, as shown above, right-click, and select Properties. The
following window will appear:

Installation and Editing Guide Basic Installation 2-18


Multispeak
In this window, select the “Startup type” drop-down menu, and from the menu, select the Manual
option. Then press OK and close the Services window.

2.6 Testing the Installation


In order to perform this test, you first need to set up a Multispeak Data Exchange server with a small
dataset containing just a few points. See chapter 4, Database Editing. You can’t proceed with this test
until you have set up the server and a small dataset.

The test described here should be performed on the active SCADA host computer. If you have redundant
servers, you should test on each host computer while it is the active host.

To begin the test, reboot the computer you want to test and then make it the active SCADA host
computer. For the test, it doesn't matter whether the other hosts are synchronized or not.

To start, open a Windows Explorer dialog and go to directory C:\Program Files\Quindar\ScadaServer.

Installation and Editing Guide Basic Installation 2-19


Multispeak
Find the application named MspkTest, and execute it by double-clicking on it. The following dialog will
appear:

Installation and Editing Guide Basic Installation 2-20


Multispeak
This dialog will allow you to test your MultiSpeak installation. Enter the correct address and port number
in the URL field. For example, if you are testing a SCADA to Outage Analysis system, the address can
be:

http://localhost:8080/axis/services/SCADA_OASoap

Type the names exactly as shown, since the WebServices framework is case sensitive. Be sure that the
correct interface selection is made in the right-hand panel.

The Point IDs frame contains three fields for point names.

 If you enter the name of a status point that is in your test dataset into the Status field, the interface will
use the Multispeak getSCADAStatusBySCADAPointID method to retrieve the value of the specified
status point.

 If you enter the name of an analog point that is in your test dataset into the Analog field, the interface
will use the Multispeak getSCADAAnalogBySCADAPointID method to retrieve the value of the
specified analog point.

 The “Last” field is used for the MultiSpeak getAllScadaPoints method. If you leave this field blank,
this method retrieves all SCADA points in the dataset up to a maximum of 100 points. To get more
st
points, you have to enter the name of the next point that you want (e.g. the 101 ) and press Test
again.

After entering the desired point names, press the Test button. The test program will call the following
Multispeak methods:

 PingURL
 GetMethods
 GetAllScadaPoints
 GetSCADAStatusBySCADAPointID
 getSCADAAnalogBySCADAPointID

Installation and Editing Guide Basic Installation 2-21


Multispeak
and the dialog will update as illustrated below:

The Multispeak communication that is logged in the text pane will look similar to what is shown below.
The contents of the text pane can be copied and pasted into a document file if you want to generate a
hardcopy.

2006/12/04 11:21:39 -> Testing interface SCADA-OA


2006/12/04 11:21:39 ->
2006/12/04 11:21:39 ->
2006/12/04 11:21:40 -> Calling 'sendGetPingUrl' to
http://localhost:8080/axis/services/SCADA_OASoap...

2006/12/04 11:21:47 -> Done!


2006/12/04 11:21:47 -> ArrayOfErrorObject received... Decoding...
2006/12/04 11:21:47 -> There are 1 elements in the ArrayOfErrorObjects
2006/12/04 11:21:47 -> [0] '1' : 'Master'
2006/12/04 11:21:47 ->
2006/12/04 11:21:47 ->
2006/12/04 11:21:47 -> Calling 'sendGetMethods' to
http://localhost:8080/axis/services/SCADA_OASoap...

2006/12/04 11:21:47 -> Done!


2006/12/04 11:21:47 -> ArrayOfStrings received... Decoding...
2006/12/04 11:21:47 -> There are 6 elements in the ArrayOfStrings
2006/12/04 11:21:47 -> [0] 'pingURL'
2006/12/04 11:21:47 -> [1] 'getMethods'
2006/12/04 11:21:47 -> [2] 'getSCADAAnalogBySCADAPointID'
2006/12/04 11:21:47 -> [3] 'getSCADAStatusBySCADAPointID'
2006/12/04 11:21:47 -> [4] 'getAllSCADAPoints'
2006/12/04 11:21:47 -> [5] 'outageEventChangedNotification'
2006/12/04 11:21:47 ->
2006/12/04 11:21:47 ->
2006/12/04 11:21:47 -> Calling 'sendGetAllSCADAPoints' to
http://localhost:8080/axis/services/SCADA_OASoap...

2006/12/04 11:21:48 -> Done!


2006/12/04 11:21:48 -> ArrayOfScadaPoint1 received... Decoding...
2006/12/04 11:21:48 -> There are 25 elements in the ArrayOfScadaPoint1

Installation and Editing Guide Basic Installation 2-22


Multispeak
2006/12/04 11:21:48 -> [0] 'MSPK-12BK' : '12BK Breaker' [status]
2006/12/04 11:21:48 -> [1] 'MSPK-22BK' : '22BK Breaker' [status]
2006/12/04 11:21:48 -> [2] 'MSPK-32BK' : '32BK Breaker' [status]
2006/12/04 11:21:48 -> [3] 'MSPK-42BK' : '42BK Breaker' [status]
.
.
.
2006/12/04 11:21:48 -> [18] 'MSPK-22WAF' : '#2 FDR WHITE FAULT AMPS' [analog]
2006/12/04 11:21:48 -> [19] 'MSPK-32BA' : '#3 FDR BLUE AMPS' [analog]
2006/12/04 11:21:48 -> [20] 'MSPK-32RA' : '#3 FDR RED AMPS' [analog]
2006/12/04 11:21:48 -> [21] 'MSPK-32WA' : '#3 FDR WHITE AMPS' [analog]
2006/12/04 11:21:48 -> [22] 'MSPK-32BAF' : '#3 FDR BLUE FAULT AMPS' [analog]
2006/12/04 11:21:48 -> [23] 'MSPK-32RAF' : '#3 FDR RED FAULT AMPS' [analog]
2006/12/04 11:21:48 -> [24] 'MSPK-32WAF' : '#3 FDR WHITE FAULT AMPS' [analog]
2006/12/04 11:21:48 ->
2006/12/04 11:21:48 ->
2006/12/04 11:21:48 -> Calling 'sendGetSCADAStatusBySCADAPointID(MSPK-12BK)' to
http://localhost:8080/axis/services/SCADA_OASoap...

2006/12/04 11:21:48 -> Done!


2006/12/04 11:21:48 -> ScadaStatus received... Decoding...
2006/12/04 11:21:48 -> MSPK-12BK = Closed, 26 @ 2006/12/4 8:27:38.828, [Default]
2006/12/04 11:21:48 ->
2006/12/04 11:21:48 ->
2006/12/04 11:21:48 -> Calling 'sendGetSCADAAnalogBySCADAPointID(MSPK-22WA)' to
http://localhost:8080/axis/services/SCADA_OASoap...

2006/12/04 11:21:48 -> Done!


2006/12/04 11:21:48 -> ScadaAnalog received... Decoding...
2006/12/04 11:21:48 -> MSPK-22WA = 0.0 Amps @ 2006/5/17 12:54:32.234, Qual:Default, Cond:L2

Any errors that occur that are associated with either the sendGetSCADAStatusBySCADAPointID or
sendGetSCADAAnalogBySCADAPointID method are most likely because of a typographical error in the
point name(s). In this case, just correct the mis-spelling and press Test again.

If you get an error message with any of the other Multispeak methods, please call Survalent customer
service for help.

Installation and Editing Guide Basic Installation 2-23


Multispeak
3 Setup for Failover

This chapter describes the setup of the failover capability of the MultiSpeak interface.

If you have only one SCADA server, you can skip this chapter.

The failover component of MultiSpeak consists of a system driver (that Survalent provides) and the
Network Load Balancing (NLB) component of Windows 2003.

MultiSpeak failover operates by maintaining a single IP address as the entry point for WebServices
communication, no matter which actual SCADA server is the active host. In order to accomplish this,
Survalent created a system driver that enables or disables a computer from the NLB cluster depending on
its SCADA status.

The steps to set up the MultiSpeak failover component are as follows:

 Setup NLB on each SCADA host computer


 Create the NLB Cluster and add the SCADA host computers to the cluster
 Install the MultiSpeak Failover Service (MSPK FOS) on each SCADA host computer
 Configure and test MSPK FOS

The first two of these steps are described in section 3.1, Setup of Windows NLB. The last two steps are
described in section 3.2, MultiSpeak Failover Service.

Installation and Editing Guide Setup for Failover 3-1


Multispeak
3.1 Setup of Windows NLB

3.1.1 Enabling NLB in Each SCADA Host Computer

The first step is to enable NLB in each of the SCADA host computers. Note that in the case of systems
with multiple network cards, only one network must be setup as a NLB cluster. Also, the address in this
network must be assigned as a static address. We suggest using the LAN B in case of multiple cards.

Also, is important that the addresses used for the installation of the NLB components must be static
defined (not DHCP), and defined and tested before doing this procedure.

From Start >> Control Panel >> Network Connections on the first SCADA host computer, double-click on
the desired network. The following dialog will appear:

Installation and Editing Guide Setup for Failover 3-2


Multispeak
Press the Properties button, and the following dialog will appear:

If the “Network Load Balancing” checkbox is unchecked, check it now. This will allow the use of a shared
cluster IP address by the computers that will be brought into the cluster.

Now you have to decide on the cluster IP address and server name. We suggest using a number in the
hundreds for your cluster address. For example, if your servers are x.x.x.141, x.x.x.142 and so on, use
x.x.x.100 or x.x.x.200 for your cluster address.

Before continuing, be sure that your card has already a static IP address assigned. Open the Network
Load Balancing setup dialog by pressing the Properties button and you will see the following dialog:

Installation and Editing Guide Setup for Failover 3-3


Multispeak
Enter the desired Cluster IP address, Subnet mask and Full Internet name. Select the Multicast cluster
operation mode, and check the IGMP multicast checkbox. Check the Allow remote control checkbox, and
enter a password. This password will be used by the MultiSpeak Failover service to manage the NLB
cluster. When you finish, select the Host Parameters tab:

In the Host Parameters page, set the static IP address and Subnet mask of the computer itself, and set
the Default state to Started.

Installation and Editing Guide Setup for Failover 3-4


Multispeak
Then select the Port Rules tab:

In the Port Rules page, you will set the port rules for operation of the NLB. There will be a rule here
already, so select Edit…

Installation and Editing Guide Setup for Failover 3-5


Multispeak
Set the Port range to a range of 8080 to 8084. Use the screenshot as a guide on how to fill in the
Protocols and Filtering Mode sections.

When you finish, press the OK button. Repeat for each remaining SCADA host machine.

3.1.2 Creating the NLB Cluster

It’s advisable to use a separate computer (running Windows 2003) to set up the NLB Cluster itself, rather
than using one of the SCADA hosts. The reason for this is that running the “Network Load Balancing
Manager” application on one of the computers that will become part of the cluster can lead to some steps
not occurring automatically, and you would then have to define some of the parameters manually. This
separate computer must be on the same subnet as the SCADA host computers, and can be used for
other purposes (such as running WorldView or SCADA Web Server) since after the initial setup, the NLB
manager will not be often used. Also, is recommended to contact your IT department and enable
Multicast traffic in any router or switch in the sub-network where the cluster will be.

To create the NLB Cluster service, run the application Start >> Administrative Tools >> Network Load
Balancing Manger. The following screen will appear (if an alert dialog appears, just click Ok):

Installation and Editing Guide Setup for Failover 3-6


Multispeak
Right-click on the root node, Network Load Balancing Clusters, and select “New Cluster”. The following
Cluster Parameters dialog will appear:

Enter the same cluster definition that you entered on each host computer in section 3.1.1, Enabling NLB
in Each SCADA Host Computer, and then press Next. The following window will appear:

Installation and Editing Guide Setup for Failover 3-7


Multispeak
Leave this window empty, and press Next. The following dialog will then appear:

Installation and Editing Guide Setup for Failover 3-8


Multispeak
Edit the existing Port rule the way you did on each host computer (as described in the previous section),
and press Next.

In the following dialog that appears, enter the IP address of one of the SCADA host computers, and press
Connect.

When you click on Connect, the interface name that you previously defined for that host computer will
appear in the list, along with the interface IP and cluster IP. Select the interface and press Next. A dialog
similar to the following will appear:

Installation and Editing Guide Setup for Failover 3-9


Multispeak
Enter the computer‘s static (dedicated) IP address and Subnet mask, and set the Default state to Started.

Note the Priority (unique host identifier) parameter. Set this number to be unique for each computer in
the NLB Cluster.

At the end, press OK. A screen like the following will appear:

Installation and Editing Guide Setup for Failover 3-10


Multispeak
To add more hosts, select the cluster full internet name from the left panel (mspk.survalent.com in our
example) and in the Cluster menu that appears, select Add Host, which will make the Connect dialog
appear again.

Installation and Editing Guide Setup for Failover 3-11


Multispeak
In the Connect dialog, type in the IP address of the next SCADA host computer that you want to add to
the cluster and press Connect. Then select the desired network interface and press Next. Then fill in the
subsequent screens as described before.

When you finish, in the Network Load Balancing Manager dialog, all your cluster hosts should show a
status of “Converged”. If this is not the case, call Survalent customer service for help.

Note: If later you wish to edit the cluster definition, right-click on the root node, Network Load Balancing
Clusters, and select “Connect to Existing”. This will bring up the Cluster Parameters dialog that
will show you the existing clusters. Pressing Next a few times will take you to the Connect dialog
where you can type in the IP address of any of the SCADA computers in the cluster.

3.1.3 Testing Each Computer in the NLB Cluster

We have now a cluster of computers that are all capable of answering client requests. Which one will
actually answer depends on the NLB Cluster software, whose job it is to distribute the client requests
equally to the various hosts that are available. Of course, that’s not exactly what we want. What we want
is for the NLB Cluster to send all client requests to only the active host computer. This is the job of
Survalent’s Multispeak Failover service, which will force the NLB Cluster to only consider the active host
computer as being available, and not make use of any of the other hosts. But this is the subject of a later
step (section 3.2, MultiSpeak Failover Service). Right now, we’re just going to test the action of the NLB
Cluster to distribute client requests to all available hosts (which at the moment, is all hosts).

Installation and Editing Guide Setup for Failover 3-12


Multispeak
On the first SCADA host computer, open a command console window (Start >> Command Prompt). In
the console window, type “CD \JP” (without the quotes). Then type “SETAXIS2”. The screen will look
as follows:

Then type the following very carefully, taking care again on the use of lower case:

java org.apache.axis.utils.tcpmon

Installation and Editing Guide Setup for Failover 3-13


Multispeak
The following screen will appear:

This monitor window will be used to observe the communication between the client and this host
computer. Type 8081 into the “Listen Port#” field, and then press the Add button. Then select the Port
8081 tab, and the screen will look as follows:

Installation and Editing Guide Setup for Failover 3-14


Multispeak
In this dialog, check the “XML Format” checkbox at the bottom of the screen.

Repeat this procedure on each remaining SCADA host computer.

Now, on some other computer in the network (this can be the same computer where the NLB Manager is
running), open an Internet Explorer window, and in the URL path, type (using the case as show):

http://xxxxxxx:8081/axis/services/SCADA_OASoap?wsdl

where xxxxxx is the static IP address of one of the SCADA host computers.

Installation and Editing Guide Setup for Failover 3-15


Multispeak
Then press Enter, and you will see something similar to this in your Internet Explorer window:

This is the requested wsdl file that was transmitted from the selected SCADA host computer.

Installation and Editing Guide Setup for Failover 3-16


Multispeak
In the TCP Monitor window on the SCADA host computer whose IP address you entered, you will see:

The data displayed here represents the web services communication associated with the transfer of the
wsdl file from the SCADA host to your browser.

Repeat the same procedure for each SCADA host computer. At the end (if everything completed
successfully), press the Remove All button in the TCP Monitor window of each SCADA host computer.

3.1.4 Testing the NLB Cluster Itself

To test the NLB Cluster itself, change the IP Address in your Internet Explorer to the Cluster IP Address,
and press Enter. By inspecting all of the TCP Monitor windows, you will be able to see which SCADA
host was chosen by the NLB cluster to service this request. If you press the “Refresh” button in your
browser, you will see that a different host is made to service the next request. This shows that the NLB
Cluster is working correctly.

Installation and Editing Guide Setup for Failover 3-17


Multispeak
3.2 MultiSpeak Failover Service

3.2.1 Installing the MultiSpeak Failover Service

Now that we have successfully tested the MultiSpeak Web Services server and the NLB Cluster, the next
step it to install Survalent’s Multispeak Failover service. The following procedure must be done on each
SCADA host.

Open a command console as described above (Start >> Command Prompt). Type:

CD \Program Files\Quindar\ScadaServer

and press Enter. Then type:

Setpath_hsb

and press enter. This executes a batch file that adds a path for some Microsoft .NET utilities to your
PATH environment variable. Then type:

Installutil MspkHsbSv.exe

and press Enter. The final dialog will look like this:

Now type:

MspkSvDlg

and press Enter.

Installation and Editing Guide Setup for Failover 3-18


Multispeak
You will see a dialog like this (if you get a message regarding the Registry, just click on the OK button):

In this window, type in the number of servers, the static IP of each SCADA host computer and the interval
(in milliseconds) at which the service is to check the active status of this SCADA server. An interval of
10,000 milliseconds is suggested. When you finish, press the Save button. Do this on each SCADA host
computer.

Now, in each SCADA host computer, open the Services application (Start >> Administrative Tools >>
Services) and scroll the list until you see MspkHsbSv:

Installation and Editing Guide Setup for Failover 3-19


Multispeak
Select the MspkHsbSv service, right-click and select Properties:

Installation and Editing Guide Setup for Failover 3-20


Multispeak
Set the Startup Type to Automatic, press Apply and then press the Start button. The final dialog will look
similar to this:

Installation and Editing Guide Setup for Failover 3-21


Multispeak
Now press OK and close the Services application.

Do this on each SCADA host and then reboot all the computers.

3.2.2 Testing the MultiSpeak Failover Service

When the host computers are back online, start the TCP Monitor on each SCADA host as described
above.

In the other (non-SCADA) computer, open the Internet Explorer, and type in the Cluster IP address. Now
press Enter (or Refresh) and confirm that just the computer that is the active SCADA host answers. You
can press Refresh several more times, but each time, just the active host responds.

Now, force a failover to another host. Within the time interval you specified in the MspkSvDlg application,
the MultiSpeak Failover Service will redirect the cluster IP address to the new active host computer. If
you now press Refresh in your Internet Explorer, you will see that the new active host is the computer that
responds to your web services requests.

Installation and Editing Guide Setup for Failover 3-22


Multispeak
If you run the MultiSpeak Failover Dialog (MspkSvDlg.exe) on any of the SCADA host computers and
press the “Query Scada” button, it will tell you whether that host is the master host for web services.

Installation and Editing Guide Setup for Failover 3-23


Multispeak
4 Database Editing

This chapter describes how to use the Data Exchange tree of the SCADA Explorer in Windows SCADA
to:

 create Multispeak interfaces, and


 for each interface, define the points that are to be exchanged

The Data Exchange tree of the SCADA Explorer is illustrated in Figure 4-1.

Figure 4-1 Data Exchange Tree of the SCADA Explorer

Installation and Editing Guide Database Editing 4-1


Multispeak
In the Data Exchange tree:

 The Servers editor allows you to define links to other systems. For each link, you specify the type of
interface (e.g. Multispeak, ICCP etc), the communication ports or IP addresses used to access the
other system, and other communication parameters.

 The Virtual RTUs editor is used to create one or more Virtual RTUs for each server. Each Virtual
RTU references a group (called a dataset) of SCADA points whose values are to be reported to the
client.

 The Datasets editor is used to create sets of points that are referenced by the Virtual RTUs. Each
dataset contains blocks of status, analog, control, setpoint, and accumulator entries to which SCADA
points can be mapped.

When you assign a dataset to a Virtual RTU, you are specifying what SCADA points are to be transmitted
to the client via that Virtual RTU. You can assign the same dataset to multiple Virtual RTUs if you wish.
This means that the same data can easily be sent to more than one client system without having to
maintain duplicate dataset definitions.

4.1 Multispeak Server Editor


The initial page of the server editor (for a new server) is illustrated in Figure 4-2. This page contains
general-purpose data fields applicable to all protocols. As soon as you select the protocol, the page
expands to show data fields that are specific to that protocol. The extended page for Multispeak is
illustrated in Figure 4-3.

Figure 4-2 Edit Server Dialog – New Server

Each of the data fields is described below.

Installation and Editing Guide Database Editing 4-2


Multispeak
Figure 4-3 Edit Server Dialog – Multispeak

4.1.1 ID

This is an internally generated field that you cannot change.

4.1.2 Server Name

Enter a name to identify the server. For example, it may be named for the client system that the server is
communicating with. Since you are later going to choose this server by name from a list of servers, you
should make all the server names unique.

4.1.3 Description

Enter a text string to further describe the server.

4.1.4 Link Status

This field must contain the name of a status point that will be maintained by the server to indicate the
Connected or Disconnected status of the communication link. This Link Status point is mandatory, and
the database point must be defined before you can create a new server. This status point must be non-

Installation and Editing Guide Database Editing 4-3


Multispeak
telemetered and must not be associated with any other Server, Communication Line, RTU or any
calculations. The point is set to the point’s normal state (as defined in the point's "Alarm" tab in the Edit
Status Point dialog) when the link is up, and to the opposite of that when the link is down.

4.1.5 Protocol

Select “Multispeak” from the pull-down list to create a Multispeak data exchange server.

4.1.6 Auto Start

Set this flag if you want the server to start automatically whenever the SCADA system starts up or fails
over.

4.1.7 Configuration Switches

This field allows you to specify certain “command line” switches to control the behavior of the server.
Specify each switch you need by entering /name=value in this field. You do not need to add a space or
other punctuation between switches. The switch names or values are not case sensitive.

The command line switches that are presently supported are as follows:

/lm=localtime

This switch is used by the Load Management interface type (see section 4.1.10, Interface Type), for
load shed commands. If present, this switch causes load shed commands to be issued with start
times expressed in local time. If this switch is absent, load shed commands are issued in UTC time
format, in accordance with the Multispeak specification.

4.1.8 Start Server

Clicking on the Start Server pushbutton will cause the server to start. If the server was already active, it
will first exit, and then restart.

4.1.9 Stop Server

Clicking on the Stop Server pushbutton will cause the server to exit (stop).

4.1.10 Interface Type

This is a menu of Multispeak interface types. Select the desired type from the list below:

 Outage Analysis
 Engineering Analysis
 Dynamic GIS Viewer
 Load Management

Installation and Editing Guide Database Editing 4-4


Multispeak
4.1.11 Publish URL

Enter the URL of the client. This URL is used by the Multispeak interface to connect to the client in order
to publish data to it. This field is usually case sensitive, so be sure to enter the URL correctly.

4.1.12 Status Publish Interval

This is the interval, in milliseconds, at which the Multispeak server is to publish status changes to the
client.

Note: For the load management interface, this is interval at which the interface is to check for
requirements to issue load shed and power factor controls defined in the datasets. See chapter
5, Load Management.

4.1.13 Analog Publish Interval

This is the interval, in milliseconds, at which the Multispeak server is to publish analog changes to the
client.

4.1.14 Life Check Interval

Enter the interval, in seconds, at which the Multispeak server is to issue PingURL requests to check that
the client is still alive. When the Multispeak server detects that the client is not alive, it sets the Link
Status point identified above.

4.1.15 User ID

Some systems (e.g. systems that accept load management or power factor control commands) need a
user ID and password to be included in the MultiSpeak header of incoming messages. For such systems,
you can enter the user ID in this field.

4.1.16 Password

Some systems (e.g. systems that accept load management or power factor control commands) need a
user ID and password to be included in the MultiSpeak header of incoming messages. For such systems,
you can enter the password in this field.

4.2 Multispeak Virtual RTU


The Virtual RTU Editor, shown in Figure 4-4, is used to create Virtual RTUs.

Each Virtual RTU connects a dataset to a server. In some cases, it may be sufficient to have just one
Virtual RTU (and therefore just one dataset) per server. However, you may prefer to organize your points
in multiple Virtual RTUs, particularly if you intend to make use of the Enable/Disable Publish feature (see
below).

Installation and Editing Guide Database Editing 4-5


Multispeak
The data fields for the Virtual RTU are described below. Note that the ID number is an internally
generated value that you do not specify.

Figure 4-4 Edit Virtual RTU Dialog – Multispeak

4.2.1 Virtual Rtu Name

Enter a unique name to identify the Virtual RTU.

4.2.2 Description

Add a more detailed description of the Virtual RTU to explain its purpose.

4.2.3 Address

This is a numeric address of the Virtual RTU, and is used only by servers that implement RTU or PLC
protocols. The Multispeak interface does not use this field, so you can just leave it set to zero.

4.2.4 Modify Enable

This is a checkbox that allows you to specify that the client is allowed to write into the points contained in
the associated dataset.

Checking this checkbox doesn’t mean that the client has write access to all of the points. Write access
must also be granted, on a per-point basis, in the dataset editor. The reason for this two-step approach is

Installation and Editing Guide Database Editing 4-6


Multispeak
to allow you to give write access to one client and not to another, in the case that a dataset is being
shared by multiple clients.

4.2.5 Control Enable

This is a checkbox that gives permission to the client to issue controls to the points contained in the
associated dataset. The Multispeak interface does not support incoming controls, so leave this checkbox
unchecked.

4.2.6 Server

This drop-down menu is a list of all the data exchange servers presently defined in your Data Exchange
database. Select the server to which this Virtual RTU is to be attached. A server must be defined before
you can add Virtual RTUs to it.

4.2.7 Dataset

This drop-down list shows all of the currently defined datasets. Select the desired dataset for this Virtual
RTU. The dataset must exist before creating the Virtual RTU, although the database points in the dataset
may actually be added to the dataset at a later time if that is more convenient.

4.2.8 Protocol

This is a display-only field that indicates the type of data exchange server that this Virtual RTU is on.

4.2.9 Multispeak

4.2.9.1 Enable/Disable Publish

This field contains the name of a status point that you can use to disable publishing of changes. This can
be used to temporarily inhibit publishing of changes while work or testing is being done on the substation
whose points are in the associated dataset. In this case, it’s useful to create a separate dataset for each
substation (so that you can inhibit changes on a per-substation basis).

To inhibit publishing of changes, manually set the Enable/Disable Publish point to 1. To re-enable
publish, manually set the point to 0.

If this field is left blank, the system will assume that publishing is always Enabled.

4.2.9.2 Send All at Startup

If this checkbox is checked for an OA interface, the MultiSpeak server will send the current value of all
status points in this virtual RTU at every startup of the server.

Installation and Editing Guide Database Editing 4-7


Multispeak
NOTE: If you’re not sure that your OA system can support such initialization, leave this checkbox
unchecked.

4.2.9.3 Send All at Reconnection

If this checkbox is checked for an OA interface, the MultiSpeak server will send the current values of all
status points in the virtual RTU every time there is a new connection or recovery from a series of
unsuccessful PingURLs.

Enabling this feature will override the time-limiting functionality of the “Time to Live” parameters of the
status points in this virtual RTU. See Parameter 8 in section 4.3.3, Status Points.

NOTE: If you’re not sure that your OA system can support this initialization, leave this checkbox
unchecked.

4.2.9.4 Send All Transitions

Normally, at every publish interval, the MultiSpeak OA interface sends the current value of each status
point along with the number of transitions since the last publish.

If you check the “Send All Transitions” checkbox, the server sends, in separate messages, all the
transitions that occurred since the last publish. Enabling this option can lead to a lot of messages being
sent to OA, and can even create problems in the OA server. This feature is included in the interface to
support OA systems that keep track of operations for maintenance purposes. So enable this feature only
if you want it and you know that your OA server can handle it.

4.3 Multispeak Dataset


The Dataset editor, shown in Figure 4-5, allows you to create groups of points to be associated with
Virtual RTUs. The points themselves are created in the usual manner using the SCADA Explorer. When
you create a dataset, you are simply creating a list of the points whose values are to be sent to the client
(or updated by the client).

Each dataset may be assigned to multiple Virtual RTUs, if you wish to send the same data to multiple
clients.

Figure 4-5 Edit Dataset Dialog – Multispeak

Installation and Editing Guide Database Editing 4-8


Multispeak
The dataset data fields are described below. Note that, again, the ID number is an internally generated
value that you do not need to enter.

4.3.1 Dataset Name

Enter a name to identify the dataset. The names of the datasets appear in the Dataset pull-down list in
the Virtual RTU editor, so make sure that your dataset names are unique.

4.3.2 Description

This field contains a description of the dataset.

Each dataset contains lists of status, analog, accumulator, control, and setpoint point entries. Once you
create a new empty dataset, you can populate these lists by selecting the desired list in the left-hand
pane, and then right-clicking and selecting New in the right-hand pane.

The Multispeak interface only makes use of the status and analog points lists in the datasets. These are
described below.

4.3.3 Status Points

This is a list of status points that can be transmitted to or received from the client via this Virtual RTU.
The fields of each status point entry are described below.

Figure 4-6 Status Point in Dataset

Installation and Editing Guide Database Editing 4-9


Multispeak
Point
This is the name of a SCADA status point whose value will be sent to or received from the client.
The status point is selected via the drag-and-drop point browser, which is accessed using the
Browse button (labeled “…”). Only status points may be dropped into this location.

Identity
This area of the dialog contains radio buttons and data fields that specify how the entry is identified
to the client. There are four possible choices:

 Address

Selecting this option causes the point to be identified to the client by means of a numeric
address. The Multispeak interface does not support this option.

 Name

Selecting this option causes the point to be identified to the client by means of the name that
you enter in the field beside this radio button. In the name, do not include any characters that
are illegal in XML (e.g. < > & ’ ”).

Type

Set this field to 0 (unless the interface is a load management interface – see chapter 5, Load
Management).

 Use Point’s External Name

Selecting this option causes the point to be identified to the client by means of the point’s own
“external name” string. The display field beside this radio button displays the point’s external
name if this option is selected.

 Use Scada Point Name

Selecting this option causes the point to be identified to the client by means of the point’s own
SCADA name, including the station name.

Note that although the Survalent Multispeak interface supports this option, some programs
such as the Milsoft Test Harness do not support the use of commas.

Parameters
The parameters provide additional custom settings for each point entry.

The parameters used for the OA interface are:

 Parameter 1-6 (not used by OA)

Not used by the OA interface, but they are used by the LM interface. See chapter 5, Load
Management.

Installation and Editing Guide Database Editing 4-10


Multispeak
 Parameter 7 (Send All Transitions For This Point)

If set to a non-zero value, this parameter causes the OA interface to buffer and send all
transitions of this point. Note that if the "Send All Transitions" checkbox in the Virtual RTU
is checked, then the interface sends all transitions of all points in the virtual RTU, and this
parameter becomes redundant.

 Parameter 8 (Time to Live)

If you leave the “Send All at Reconnection” checkbox on the Virtual RTU unchecked, you
can still have status updates buffered during periods of link failure by entering a time-to-live
value (in minutes) in parameter 8 of each point whose changes you want buffered. The
changes will only be buffered for the length of time you specify. Once the changes are too
old, they are discarded. See section 4.2.9.3, Send All at Reconnection.

For a description of how the Parameters are used by the Load Management interface, see
chapter 5, Load Management.

Data Type
The transmitted data type code specifies to the server what data type to use when sending the
point’s value to the client. It also specifies what data type to expect when the client updates the
point. The Multispeak interface presently does not make use of this field for status points, so just
leave it set to zero.

Data Format
This field defines how the state of the status point is to be translated. You can choose from a list of
formats that will be familiar to you if you have created SCADA status points in the database. The
list of formats is shown in Table 4-1.

Table 4-1 Status Point Data Formats


Data Format Code Meaning
1 Single Bit
2 Single Bit Reverse (Inverse)
3 Dual: Direct (Pass-through)
4 Dual: Reverse (Inverted Pass-through)
5 Dual: Low bit On = Open
6 Dual: Low bit On = Closed
7 Dual: Low bit Off = Open
8 Dual: Low bit Off = Closed

The Data Format codes for dual-bit status points (i.e. codes 3 – 8) perform a translation between
the standard internal representation and the selected format. The standard internal representation
of a status point is shown in Table 4-2. The various dual-bit formats are described below.

Installation and Editing Guide Database Editing 4-11


Multispeak
Data Format (3) – Dual Direct (Pass-through)

This data format code sends the standard internal representation of a status point to the client
without modifying the value.

Table 4-2 Status Values – Standard Internal Representation (Dual Direct)


Decimal Value SCADA Binary Value
Read From Database State Sent to Client
0 Open 00
1 Closed 01
2 Transition 10
3 Error 11

Data Format (4) – Dual Reverse (Inverted Pass-through)

This data format code inverts the standard internal representation of a status point before sending
the value to the client. That is, each bit is inverted. If the bit was a 0, then a 1 is sent.

Table 4-3 Status Values – Dual Reverse


Decimal Value SCADA Binary Value
Read From Database State Sent to Client
3 Error 00
2 Transition 01
1 Closed 10
0 Open 11

Data Format (5) – Dual Low Bit ON = Open

This data format code translates the standard internal representation of a status point in such a
way that when the low bit is “ON” and the high bit is “OFF”, this represents Open.

Table 4-4 Status Values - Dual Low Bit ON = Open


Decimal Value Read SCADA Binary Value
From Database State Sent to Client
2 Transition 00
0 Open 01
1 Closed 10
3 Error 11

Installation and Editing Guide Database Editing 4-12


Multispeak
Data Format (6) – Dual Low Bit ON = Closed

This data format code translates the standard internal representation of a status point in such a
way that when the low bit is “ON” and the high bit is “OFF”, this represents Closed.

Table 4-5 Status Values – Dual Low Bit ON = Closed


Decimal Value SCADA Binary Value
Read From Database State Sent to Client
2 Transition 00
1 Closed 01
0 Open 10
3 Error 11

Data Format (7) – Dual Low Bit OFF = Open

This data format code translates the standard internal representation of a status point in such a
way that when the low bit is “OFF” and the high bit is “ON”, this represents Open.

Table 4-6 Status Values - Dual Low Bit OFF = Open


Decimal Value SCADA Binary Value
Read From Database State Sent to Client
2 Transition 00
1 Closed 01
0 Open 10
3 Error 11

Data Format (8) – Dual Low Bit OFF = Closed

This data format code translates the standard internal representation of a status point in such a
way that when the low bit is “OFF” and the high bit is “ON”, this represents Closed.

Table 4-7 Status Values – Dual Low Bit OFF = Closed


Decimal Value SCADA Binary Value
Read From Database State Sent to Client
3 Error 00
0 Open 01
1 Closed 10
2 Transition 11

Modify Enable
If this box is checked, the client will have write access to this point (if the corresponding Virtual RTU
also has its Modify Enable box checked).

Installation and Editing Guide Database Editing 4-13


Multispeak
Multispeak

 Input

If checked, this checkbox tells the server to read the value of this point from the client.

 Output

If checked, this checkbox tells the server that this point’s value is to be transmitted to the client
when requested (either in response to explicit read requests or by means of publish messages).

 Auto Subscribe

Normally, publishing of changes to point values is to be done only after a client subscribes for the
points. Although the Publish function is defined, the Subscribe function is not yet defined in
Multispeak. It is therefore expected, for the time being, that Multispeak servers publish point
changes without waiting for subscription requests. The purpose of the Auto Subscribe checkbox
is to allow you to specify which points are to be automatically published. Points with this
checkbox unchecked will not be published to the client, but can still be explicitly read by the client.

4.3.4 Analog Point List

This is a list of analog points that can be transmitted to or received from the client via this Virtual RTU.
The fields of each analog point entry are described below.

Figure 4-7 Analog Point in Dataset

Installation and Editing Guide Database Editing 4-14


Multispeak
Point
This is the name of a SCADA analog point whose value will be sent to the client. The analog point
is selected via the drag-and-drop point browser, which is accessed using the Browse button
(labeled “…”). Only analog points may be dropped into this location.

Identity
This area of the dialog contains radio buttons and data fields that specify how the entry is identified
to the client. There are four possible choices:

 Address

Selecting this option causes the point to be identified to the client by means of a numeric
address. The Multispeak interface does not support this option.

 Name

Selecting this option causes the point to be identified to the client by means of the name that
you enter in the field beside this radio button.

The Multispeak interface supports this option, but does not make use of the Type field, so just
enter a name. In the name, do not include any spaces or characters that are illegal in XML
(e.g. < > & ’ ”).

 Use Point’s External Name

Selecting this option causes the point to be identified to the client by means of the point’s own
“external name” string. The display field beside this radio button displays the point’s external
name if this option is selected.

The Multispeak interface supports this option.

 Use Scada Point Name

Selecting this option causes the point to be identified to the client by means of the point’s own
SCADA name, including the station name.

The Multispeak interface supports this option, but note that some programs, such as the Milsoft
Test Harness, do not support the use of commas.

Parameters
The parameters provide additional custom settings for each point entry. The Multispeak interface
presently does not make use of any of these parameters for analog points, so just leave them set
to zero.

Data Type
The transmitted data type code specifies to the server what data type to use when sending the
point’s value to the client. It also specifies what data type to expect when the client updates the
point. The Multispeak interface presently does not make use of this field for analog points, so just
leave it set to zero.

Installation and Editing Guide Database Editing 4-15


Multispeak
Data Format
This field specifies how the value of the SCADA analog point is to be formatted or translated before
being sent to the client. The Multispeak interface presently does not use this field for analog
points, so just leave it blank.

Scaling
You can select to use the point’s own scale factor and offset (as defined in the SCADA database),
or you can enter a scale factor and offset here. Whichever option you select, the Multispeak server
unscales before transmission by subtracting the Offset value and then dividing by the Scale Factor.

Deadband
If enabled, this value is used to filter analog point updates to just those that correspond to changes
from the last reported value that exceed the deadband. You can use this to limit the network
bandwidth used by the Multispeak server.

Modify Enable
If this box is checked, the client will have write access to this point (if the corresponding Virtual RTU
also has its Modify Enable box checked).

Multispeak

 Input

If checked, this checkbox tells the server to read the value of this point from the client.

 Output

If checked, this checkbox tells the server that this point’s value is to be transmitted to the client
when requested (either in response to explicit read requests or by means of publish messages).

 Auto Subscribe

Normally, publishing of changes to point values is to be done only after a client subscribes for the
points. Although the Publish function is defined, the Subscribe function is not yet defined in
Multispeak. It is therefore expected, for the time being, that Multispeak servers publish point
changes without waiting for subscription requests. The purpose of the Auto Subscribe checkbox
is to allow you to specify which points are to be automatically published. Points with this
checkbox unchecked will not be published to the client, but can still be explicitly read by the client.

 Units

This is a drop-down list of the most common units of measurement that are defined in Multispeak.
These units are transmitted along with the values. You can use the Scaling fields to turn any
points that don’t correspond to any of these units into available units.

Installation and Editing Guide Database Editing 4-16


Multispeak
4.3.5 Accumulator Points

The Multispeak interface does not use the dataset’s Accumulator point list.

4.3.6 Control Points

The Multispeak interface does not use the dataset’s Control point list.

4.3.7 Setpoints

The Multispeak interface does not use the dataset’s Setpoint list.

Installation and Editing Guide Database Editing 4-17


Multispeak
5 Load Management

5.1 Introduction
The Multispeak SCADA-LM interface is defined by specifying a Multispeak server in the Data Exchange
editor of the SCADA Explorer. The protocol is MULTISPEAK and the interface type is Load
Management. See Figure 5-1. The Load Management server can be used for both load shedding and
power factor control.

The Publish URL field specifies the target LM_Server to which load shed and power factor control
commands should be sent.

The Status Publish Interval field specifies how often to check status points in the datasets for triggering

Installation and Editing Guide Load Management 5-1


Multispeak
Figure 5-1 Server Definition for Load Management

5.2 Load Shed Control


Load shedding using the Multispeak interface is initiated by means of status points that are set by the
operator or by applications such as Load Curtailment (using Breaker Control Sets) or Command
Sequencing.

5.2.1 Load Shed Points in a Load Management Dataset

Status points that are intended to trigger load shed commands via Multispeak must be defined in datasets
associated with the LM interface.

Figure 5-2 illustrates a dataset (named LM) that contains a list of points that trigger load shedding.

Figure 5-3 shows the definition of one such point.

Figure 5-4 shows a breaker control set that contains load shed control points operated by the Load
Curtailment program.

Note that it is possible to place both power factor control points and load shed control points in the same
dataset if that is your preference.

Installation and Editing Guide Load Management 5-2


Multispeak
Figure 5-2 Dataset for Load Shedding

Figure 5-3 Status Point in Load Shed Dataset

Installation and Editing Guide Load Management 5-3


Multispeak
Figure 5-4 Breaker Control Set Containing Load Shed Control Points

For each status point in the load shed dataset:

 The Identity field should be set to Name and filled in to contain the desired substation name, feeder
name, feeder number, group name or strategy name.

 The Type field should be set to a numeric code that specifies not only that the point is associated with
a load shed command, but also which of the above parameters the Identity field contains.

The following table shows the list of available type codes, corresponding parameters and
corresponding fields loaded in the Multispeak load shed message.

Table 5-1 Load Shed Type Codes

Type Code Parameter Message field


1 Substation name substationName
2 Feeder name feederName
3 Feeder number feederNumber
4 Group name groupName
5 Strategy name strategyName

If the value that needs to be sent is not actually a string, the server performs the required string-to-
value conversion before sending the load shed command. For example, the actual data type of the
group name field is Long, so if Type=4, the server converts the string provided in the Identify field to
a long integer in the Multispeak message.

Installation and Editing Guide Load Management 5-4


Multispeak
 Parameter 1 specifies the value of the “duration” parameter of the load shed command that is initiated
by this point. This quantity is the overall duration of the load shed sequence.

 Parameter 2 specifies the value of the “cycleTime” parameter in the load shed command that is
initiated by this point. This is the length of each cycle of the load shed sequence.

 Parameter 3 specifies the value of the “percentDutyCycle” parameter in the load shed command that
is initiated by this point. This is the duty cycle (percent shed vs percent restored) of each cycle of the
load shed sequence. It must be a value between 0 and 100. (If it’s not, the command is not issued.)

 Parameter 4 specifies the interval at which the load shed command defined above should be
repeated while the status point is in state 1. In order to ensure that a new command is issued before
the previous one expires, this parameter should be set to a value slightly smaller than the value of
parameter 1.

 Parameter 5 specifies the desired effective start time of the load shed command, i.e. when the load
management system is to actually execute the load shed command. The time is expressed in military
format HHMM, e.g. 1430 for 2:30 PM. A value of zero means right now, i.e. as soon as the command
is received. The date that is sent is today’s date.

Note that this parameter does not specify when the load shed command is to be sent to the load
management system. It specifies when the load management system is to execute it. So, if a load
shed command with a start time of 1430 is sent in the morning, it will be executed by the load
management system at 2:30 PM of the same day.

In the Multispeak specification, dates and times are expressed in UTC format. However, some load
management systems expect the time to be provided in local time. You can specify that your load
management system requires local times in the load shed commands via a configuration switch in the
server definition. See section 4.1.7, Configuration Switches.

 Parameters 4 – 8 are not used, and neither are Data Type and Data Format.

 The Modify Enable, Input and Output checkboxes should be left unchecked.

 The Auto Subscribe checkbox should be checked.

Application Point

For some load management systems, it’s necessary to include an applicationPoint parameter in the load
shed command. Check with your load management system vendor.

If an applicationPoint parameter is needed, it can be specified by adding a semi-colon to the strategy


name followed by the applicationPoint. For example:

strategy12;xyz

where “strategy12” is the strategy name and “xyz” is the applicationPoint parameter. Note that both
strategy name and applicationPoint are strings, and that this is only supported for type 5 load shed
commands (using strategy names).

Installation and Editing Guide Load Management 5-5


Multispeak
5.2.2 Operation of Load Shed Commands

When the value of a load shed status point in a load management dataset becomes 1, the load
management server starts sending load shed commands defined for that point at an interval specified by
Parameter 4. In these Multispeak load shed commands, the “controlEventType” field is set to Initiate.

When the value of the status point changes from 1 to 0, the load management server sends one last
Multispeak load shed command, with “controlEventType” set to Restore, and then stops sending
commands.

5.2.3 Load Shedding Via LCR Addresses

Load shed commands can be issued to Multispeak-compliant LM servers from a command sequence (by
using the LSM function), or from the Load Curtailment program, using LCR control sets. These methods
make use of an address analogous to that of a Load Control Relay. They do not require status points or
datasets in the data exchange editor. Only the server needs to be defined.

The format of the LSM function that initiates a Multispeak load shed command is as follows:

LSM (a, b, c, d, e)

where:

a = message type (for now, there is only one type, 1)


b = group number
c = duration
d = cycle time
e = duty cycle

These five parameters can also be used in an LCR address in a Load Curtailment control set, provided
that the LCR Type is set to Multispeak. The RTU point normally required in such an address should be
omitted. Refer to LC-400, Load Curtailment User’s Guide for more detail.

This function can be used to send load shed commands containing group numbers only. It is not possible
to specify a substation, feeder or strategy using this function.

5.3 Power Factor Control


Power factor control using the Multispeak interface may be initiated by means of status points that may
be set by the operator or by applications such as Power Factor Control or Command Sequencing.

5.3.1 Power Factor Control Dataset

The status points that are intended to trigger power factor control commands via Multispeak must be
defined in datasets associated with the SCADA-LM interface.

Figure 5-5 illustrates a dataset (named PF) that contains a list of points that trigger power factor control
commands.

Installation and Editing Guide Load Management 5-6


Multispeak
Figure 5-6 shows the definition of one such point.

Figure 5-7 shows a capacitor bank record that contains a power factor control point operated by the
Power factor Control program.

Note that it is possible to place both power factor control points and load shed control points in the same
dataset if that is your preference.

Figure 5-5 Dataset for Power Factor Control

Installation and Editing Guide Load Management 5-7


Multispeak
Figure 5-6 Status Point in Power Factor Control Dataset

Figure 5-7 Record Containing Capacitor Bank Control Point

For each status point in the power factor control dataset:

 The Identity field should be set to Name and filled in to contain the desired switch ID. This string will
be loaded into the switch ID field of the Multispeak power factor control message.

 The Type field should be set to 11. This identifies the point as a point that triggers power factor
control.

Installation and Editing Guide Load Management 5-8


Multispeak
 Parameter 1 specifies whether a control should be sent for this point at startup (in case any
previously required action was interrupted by a failover). If this parameter is set to 1, then the
appropriate control is issued at startup (Initiate if the point is in state 1, Restore if the point is in stat
0). If the parameter is 0, no controls are sent at startup.

 Parameter 2 specifies the relay to control (for devices that contain multiple relays). If the parameter is
set to 0, the program does not specify a relay in the command. If the parameter is non-zero, the
program specifies the relay number by including an “affected relay” field in the command.

 Parameters 3 – 8 are not used, and neither are Data Type and Data Format.

 The Modify Enable, Input and Output checkboxes should be left unchecked.

 The Auto Subscribe checkbox should be checked.

5.3.2 Operation of Power Factor Control Commands

When the value of a power factor control point in a load management dataset changes from 0 to 1, the
load management server sends an InitiatePowerFactorManagementEvent message. The
“controlEventType” field is set to Initiate. This switches the capacitor bank IN.

When the value of the status point changes from 1 to 0, the load management server sends another
InitiatePowerFactorManagementEvent message, this time with the “controlEventType” field set to
Restore. This switches the capacitor bank OUT.

5.3.3 Capacitor Control via Load Shed Commands

For capacitor bank switching, the PFC program supports the use of load shed commands directed to LCR
addresses. If you wish to use this feature, check the One-Way Control via LCR checkbox, and set the
LCR Type to Multispeak. The required values of parameters A through E are the same as described in
section 5.2.3, Load Shedding Via LCR Addresses.

Note that this causes the system to issue Multispeak load shed commands instead of Multispeak power
factor control commands.

Installation and Editing Guide Load Management 5-9


Multispeak