Вы находитесь на странице: 1из 39

Copyright 2006 ABB. All rights reserved.

Network Manager

SPL

External doc. no.


Based on
Prep.
Appr.
Doc. kind
Title

Network Manager Baseline

Project

NM/KD / Mikael Thorgren


NM/KD / Erik Hedenblad
Users Guide
SPL

2006-01-12
2006-01-12
Doc.
des.

Ref.
des.

Resp. dept

NM/KD

Doc. no.

ABB Power Systems

Status
Lang.

1KSE 000 591-A

FILE: Wah334.doc; SAVEDATE: 2006-01-12 12:47; TEMPLATE: Techn_Doc_Deliv_P_FunctionDescription.dot B; SKELETON:

en

WAH334
Approved
Rev. ind.

Page
No. of p.

1
39

Abstract
This is a common User's Guide for all functions based on the SPL tool.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page
No. of p.

2
39

Table of Contents

Doc. kind
Title

Overview................................................................................................................... 5
1.1
Introduction .................................................................................................. 5
1.1.1
Terminology.................................................................................... 5
1.2
Creation and Activation of SPL Sequence.................................................... 6
1.3
SPL Operation.............................................................................................. 7
1.3.1
Sequences started manually from Operator Dialog......................... 7
1.3.2
Sequence Started on Event ............................................................ 7
1.3.3
Sequence Start on Timer ................................................................ 7
1.3.4
Sequence start on Manual Data Entry (MDE) ................................. 7
1.3.5
Interlock Start ................................................................................. 8
1.3.6
Sequences started from a poke point ............................................. 8
1.3.7
Status/Numeric Calculations........................................................... 8
1.3.8
Job Management............................................................................ 8
1.4
Parameters to SPL programs ....................................................................... 9

Installation Guide................................................................................................... 10
2.1
Procedures and Files ................................................................................. 10
2.2
Example, init_ws400 .................................................................................. 11
2.3
Example, Install_Spl................................................................................... 13
2.4
Security ...................................................................................................... 14

Sequence Control Operation................................................................................. 15


3.1
The Pictures Used for Sequence Control ................................................... 15
3.2
Activating Sequences................................................................................. 16
3.2.1
Sequence Status .......................................................................... 16
3.2.2
Manual Operation of Sequence .................................................... 16
3.2.3
Manual Start from Sequence Information Picture.......................... 17
3.2.4
Operator Settings ......................................................................... 18
3.3
Alternative Function Start Methods............................................................. 18
3.4
The Parameters in the Pictures .................................................................. 20

SPL Code Creation ................................................................................................ 21


4.1
Overview .................................................................................................... 21
4.1.1
Some Hints................................................................................... 21
4.1.2
SPL Sequences and SPL programs ............................................. 21
4.2
Creating the SPL Code in an Editor............................................................ 21
4.3
Creating the SPL Code in the Interactive Tool............................................ 21
4.3.1
The Interactive SPL Generation Picture........................................ 21
4.3.2
Start the Interactive SPL Generation Function .............................. 21
4.3.3
Create the Element List ................................................................ 22
4.3.4
Create the SPL Code.................................................................... 22
4.3.5
Some hints and warnings ............................................................. 23

Creation of Point Groups ...................................................................................... 24


5.1
Generate Point Groups in the Data Engineering Tool................................. 24
5.2
Create Point Groups Interactively............................................................... 24

Connect and Delete Sequences............................................................................ 25


6.1
Overview .................................................................................................... 25
6.2
Connect and Delete Picture........................................................................ 25
6.3
Start/Exit Editor .......................................................................................... 25
6.4
Sequence Creation..................................................................................... 26
6.4.1
Selection of Data to a Sequence................................................... 26
6.4.2
Fill in the Starts............................................................................. 27
6.4.3
Connect (Create) a Sequence ...................................................... 31

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page
No. of p.

3
39

6.5
6.6
6.7

6.4.4
Disconnect (Delete) a Sequence .................................................. 31
6.4.5
Show Sequence ........................................................................... 31
6.4.6
Reset data .................................................................................... 31
Delete program .......................................................................................... 32
Rule Creation ............................................................................................. 32
Warning and Hints...................................................................................... 33
6.7.1
Object list and Element list............................................................ 33
6.7.2
Names containing special characters ........................................... 33

SPL Monitor............................................................................................................ 34

SPL Debug.............................................................................................................. 36

Hints and Fault Situations..................................................................................... 38

10 Conventions ........................................................................................................... 39
11 List of References.................................................................................................. 39

Table of Figures
Figure 1: Creation and activation of the SPL-sequences ................................................... 6
Figure 2: Sequence Control picture structure .................................................................. 15

Associated Documents
WAH328, Implementation manual for SPL.
WAB034, Design description for SPL.
WAH223, Implementation manual for Interactive SPL Generation.
WAB086, Design description for Interactive SPL Generation.
WAH331, Implementation manual for Sequence Control.
WAB087, Design description for Sequence Control.
WAH330, Implementation manual for Table calculations.
WAB089, Design description for Table calculations.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page
No. of p.

4
39

Overview

1.1

Introduction
SPL (Programming Language) is a tool to create new functions in the Network
Manager system. Several functions in Network Manager are using SPL as a
basic tool, such as Sequence Control, Interlock, status/numeric Calculations
and Job management.

1.1.1

Doc. kind
Title

Terminology
Function

Explanation

SPL

Programming Language.

Object list

The SPL declaration of the input/output object(s). It can be


an object(s) from <INDICATION>, <MEASURAND>,
<ACCUMULATOR> or any other database file. This list is
declared in the SPL program.

Element list

A Specification of the objects to be included in an


execution of an SPL Program. This list is saved in the
database and has to correspond to the object list. Several
Element lists can be connected to the same SPL program
and several SPL Programs may use the same Element list.

Point group

The element list.

Poke point

A pushbutton in a picture that will start a specific SPL


sequence by simply selecting the button and clicking on it.

Sequence

One SPL program that is connected to one element list.

Sequence Status

Current status of a sequence. Every sequence can have


several types of statuses such as executing, waiting,
suspended etc.

Interlock rules

A sequence that is connected to the Interlock function.

MDE start

Sequence start after manual data entry.

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page
No. of p.

5
39

1.2

Creation and Activation of SPL Sequence

Activation type
Poke point

SPL Program Code

Sequence Control
Interlock
Calculation

SPL
Compiler

Job Management

Return data to
function

SPL
Monitor

Data
Base

SPL Output
for updating the
database or send a start
to other programs in
Network Manager

Input Data

Figure 1: Creation and activation of the SPL-sequences

SPL Program Code


The SPL Program Code can be created by source code editing from a
maintenance console or by the Interactive SPL Generation from an operator's
workstation.
Note that in the case of using text editor, the program file name should contain:

Only lowercase letters.

Max. 20 characters.

See also hints and warnings (4.3.5).


SPL Compiler
All created SPL Programs have to be compiled in the SPL-compiler. When it
has been compiled the SPL Program can be used in a Sequence.
The compiled program code is saved in the Avanti database.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page
No. of p.

6
39

Input Data
To get the most flexible sequence the SPL program code contains a list of input
data references (Object List). This list tells if the object is a MEASURAND,
INDICATION, ACCUMULATOR etc.
The input data from the element list is connected to the Object list of the SPL
program. The connection is specified in the Point Group of the particular
Sequence. The same SPL program can be used on several Element Lists. The
same Element list can also be used on different SPL programs.
The Point Group is created in the Data Engineering tool or interactively on-line
and are then stored in the Avanti database.
The Sequence is created by connecting a Point Group to a Program, this is
done in the SPL Connect and Delete function.
SPL Output
The output can be at any object(s) in the database or to any other function in
Network Manager

1.3

SPL Operation
The SPL are used by the functions Sequence
Status/Numerical calculations and Job Management.

1.3.1

Control,

Interlock,

Sequences started manually from Operator Dialog


A sequence can be connected to an object. To start a sequence that is
connected to an object:

Select the object.

Select Sequence Control under the MB3 menu. If sequences are


connected to the object a dialog box with the sequences present in a list
will be shown. If no sequences are present, the operator will get a warning.

Select the sequences that shall be started and select "START". The
sequence will now be executed.

Depending on the status different possibilities will be possible on the sequence.


The functions that are not possible to use at the moment will not be possible to
select.

1.3.2

Sequence Started on Event


A sequence can be connected to start on a status change on an Indication
(Breaker or Isolator) or a status change of a measured value.
The status change will be done before the sequence is started.

1.3.3

Sequence Start on Timer


The sequence can be started on an exact timer or cyclical.

1.3.4

Sequence start on Manual Data Entry (MDE)


A sequence can be connected to start after an operator's manual data entry on
an object(s) which is globally known in the system.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page
No. of p.

7
39

1.3.5

Interlock Start
Note: There are some interlocks which are implemented as default interlock
checks (Reference 3) and not affected from SPL based interlocks which are
mentioned in this document.
The Interlock function contains rules for the objects in the system. Command,
data entry, and tagging on an object(s) are only possible if the rule
corresponding to that object(s) in question is fulfilled. Otherwise the Interlock
function returns NOT_OK to its caller and prohibits the requested changes. The
operator gets a message about what is wrong. All rules are written as SPL
programs.
An Interlock rule is simply an SPL program with a number of predefined in/out
parameters (see 1.4). The Interlock program is terminated by an Interlock
termination; the built-in function INTRET should be called and the execution
control will consequently return to the caller.
Rules may consist of conditional checks on any object value that is stated in the
Avanti database, i.e. values within set of ranges, indication status or data flags
in defined positions etc.
Note that the interlock sequences are not directly executed by the operator.
They are created and connected to object(s) in point group(s) (see 6.3.2,
Interlock operation). Later on, when a manual change (command or manual
data entry) is applied to this object(s), the Interlock function is automatically
activated.
It can be possible to "Bypass" the Interlock function. A bypass parameter is
passed to the Interlock function to serve for this purpose (see 1.4).

1.3.6

Sequences started from a poke point


A sequence can be connected to an object and a poke point. To start a
sequence that is connected to an object and a poke point:

Select the picture with the poke point.

Position the cursor at the poke point.

Click at the poke point.

The sequence that is connected to the element in that specific poke point will be
started automatically.

1.3.7

Status/Numeric Calculations
A Status/Numeric calculation can be treated as a sequence that returns a value
in a resulting object.

1.3.8

Job Management
Job management uses the SPL language as a tool but has its own user
interface.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page
No. of p.

8
39

1.4

Parameters to SPL programs


There are four input parameters to the SPL Code. These parameters have
different use for different functions.
The parameters should always be Integers. They can be of other types but the
result can not be guaranteed.
No parameters have to be included in the SPL program.
Manual start
For manual start the parameters can be set by the operator. The parameters
can be updated in the Sequence start dialogue or the SPL Sequence
information picture.
Event start
The first parameter will indicate the position in the object list, of the object that
has been changed and started the sequence.
Interlock start
Note: There are some interlocks which are implemented as default interlock
checks (Ref. 3) and not affected from SPL based interlocks which are
mentioned in this document.
The first parameter to an Interlock rule is the index of the object that caused the
interlock start in the object list.
Every executing Interlock sequence is associated with a job number. This job
number is sent to the Interlock function as the second parameter. It is returned
to the caller by having it as the first parameter in INTRET at the end of the
program.
The third parameter to an Interlock rule is the bypass parameter. Zero indicates
no bypassing and one indicates the opposite. It is then up to the rule to allow
bypassing the condition checks or not.
The fourth parameter is the tag level of the object which caused the Interlock
start.
Timer start
The parameters will get the sequence parameters from the SPL Sequence
information picture.
Poke point start
The parameters can be updated in the Sequence start dialogue or the SPL
Sequence information picture. No dialog for the operator to change the dialogs
will occur at poke point startup of a sequence.
MDE start
The first parameter is the index of the element that caused the sequence start
(the element that has been target to manual data entry) in the program's
element list.
The second parameter is the element's file reference.
The second parameter is the element's record reference.
The second parameter is the element's item number (the item that has been
target to operator's manual data entry).

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page
No. of p.

9
39

2
2.1

Installation Guide
Procedures and Files
Procedures
The SPL runtime system is installed by the init_ws400 script or by the install_spl
script on directory mmx. If init_ws400 is used, the executables and the
resource-files will be installed automatically when the WS 400 runtime system is
installed. This script uses ftp to transfer the files to the target node.
The install_spl script uses cp, (UNIX copy), to transfer the files, and therefore
requires that the source files are reachable through an nfs-mounted file system.
Install_spl can be used to install all or parts of the SPL runtime system.
The default directory in which the SPL runtime system is loaded is
xxx/mmi/spl/load, where xxx is the path to the home-directory of user spider.
During the installation there are a number of questions to be answered, see 2.2
and 2.3.
Files
In the host nodes, in directory spimgr there is a file, servers.rmt, which holds
information about server names, nodes and socket port numbers. When a new
Network Manager-system is added, (ADD chosen from the spider menu), this
file will be copied from spicommon and updated with actual node names
concerning the current system configuration, but can also be edited manually.
The port numbers can be replaced by any other unused port number.
The server name consists of 'program name'_'node name'_'database identity'.
Node name is the name of the node where this particular server is running. By
default, there are three symbols used in servers.rmt, HOSTA, HOSTB and
HOSTC, to indicate the identity of the host node. These symbols that are
replaced by actual node-names during add of a spider-system described above.
In all nodes where the SPL runtime system is installed, two system files have to
be edited, /etc/inetd.conf and /etc/services.
The following information has to be added to /etc/inetd.conf as one single text
line:
wabk67 stream tcp nowait spider
/usr/users/spider/spi0/spiexe/wabk67

/usr/users/spider/spi0/spiexe/wabk67

The following information has to be added to /etc/services as one single text


line:
wabk67 2226/tcp # SPL Client start
2226 is the default port number used by wabk67 and can only be replaced by
another port number if both file servers.rmt, (in the host nodes), and
/etc/services are updated with the same number. If either /etc/inetd.conf or
/etc/services is edited, the system has to be rebooted.
Example:
If SPL runtime is installed in node snem20 and there is two host nodes snem30
and snem31, and the default port for wabk67, 2226, is to be changed to 3456,
the following actions has to be done:
1. Login as spider
2. Replace 2226 by 3456 in file servers.rmt, in directory spimgr, in both host
nodes snem30 and snem31, for server with name wabk67_snem20.
3. Login as root
4. Replace 2226 by 3456 in file /etc/services in node snem20. Reboot node
snem20, (shutdown -r now).

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

10

No. of p.

39

2.2

Example, init_ws400
Answers that have to be typed are underlined. CR means that just the return
key is pressed.
init_ws400
Which parts of the WS400 software should be loaded / configured?
KIT
RUN
DEV
SUB
REL
CON

WS400 Kit-File of your choice


WS400 Runtime System: Sources, EXEs and Data
WS400 Runtime System + Editor: Sources, EXEs and Data
WS400 Subsystem, Part of your choice
WS400 Release, only Sources and Data
WS400 System Files, Configuration Parameters

Please enter your choice or enter q to quit: KIT


1
2
3

WS400
Runtime
WS400
Picture
Editor
WS400 Runtime and Picture Editor Kit-File

Kit-File
Kit-File

Which Kit-File?
1
Give the path to the files to store: Return if path = /usr/users/spider/mmi/ws400
CR
Please enter host login node: snev02
Please enter login user:
.
. (Installation of WS500 runtime system)
.
Please enter node to get SPL runtime (UNIX node): snem32
Give directory where to put SPL: Return if path = /usr/users/spider/mmi CR
Please enter login user: 'username'
The password is to be given later when prompted for.
Enter project root: 'project_root'/spiroot'
Enter remote user project root: /rel/7b0/spiroot
Checking directory spl ...
CREATED
Checking directory spl/load ...
CREATED
Connected to snem32.
220 snem32 FTP server ready. Name (snem32:'username'):
331 Password required for spladm.
Password: 'password'
230 User spladm logged in. Remote system type is UNIX. Using binary mode
to transfer files.
250 CWD command successful.
200 Type set to A.
200 PORT command successful.
550 k54: No such file or directory.
200 PORT command successful.
150 Opening ASCII mode data connection for k68 (138.221.106.212,3072)
(268 bytes).
226 Transfer complete.
265 bytes received in 0.051 seconds (5.1 Kbytes/s)
200 PORT command successful.
150 Opening ASCII mode data connection for spldebug
(138.221.106.212,3073) (92 bytes).
Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

11

No. of p.

39

226
250
200
200
150
226
200
150
226
200
150
226
200
150
226
221

Transfer complete.
91 bytes received in 0.042 seconds (2.1 Kbytes/s)
CWD command successful.
Type set to I.
PORT command successful.
Opening BINARY mode data connection for wabk54
(138.221.106.212,3074) (10676792 bytes).
Transfer complete. 10676792 bytes received in 10 seconds (1e+03
Kbytes/s)
PORT command successful.
Opening BINARY mode data connection for wabk65
(138.221.106.212,3075) (4089587 bytes).
Transfer complete. 4089587 bytes received in 3.5 seconds (1.1e+03
Kbytes/s)
PORT command successful.
Opening BINARY mode data connection for wabk67
(138.221.106.212,3076) (45664 bytes).
Transfer complete. 45664 bytes received in 0.096 seconds (4.7e+02
Kbytes/s)
PORT command successful.
Opening BINARY mode data connection for wabk68
(138.221.106.212,3077) (4720728 bytes).
Transfer complete. 4720728 bytes received in 4.1 seconds (1.1e+03
Kbytes/s)
Goodbye.

>>>>>> After the installation of SPL is completed:


>>>>>>
>>>>>> Login as root
>>>>>> Add the following line to /etc/inetd.conf:
wabk67 stream tcp nowait spider
/usr/users/spider/mmi/spl/load/wabk67

/usr/users/spider/mmi/spl/load/wabk67

>>>>>> Add the following line to /etc/services:


wabk67 2226/tcp # SPL Client start
>>>>>> Reboot the system
>>>>>> Login as spider and add the following line to file
>>>>>> servers.rmt in directory spimgr on all spider hosts:
wabk67_snem32

snem32 2226

SPL installation... Done


Press return to continue...
And - Done ...

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

12

No. of p.

39

2.3

Example, Install_Spl
Answer that has to be typed is underlined. CR means that just the return key is
pressed.
install_spl
Which parts of the SPL software should be loaded?
1. SPL Debugger
2. Job Management
3. Sequence start
Please enter your choice or enter q to quit: 1 2 3
Give directory where to put SPL: Return if path = /usr/users/spider/mmi CR
Are the files to be fetched from the release? (y/n): n
Enter
project
root
/proj/spl/spladm/spiroot

(e.g.

/proj/'proj

name'/'projadm'/spiroot):

Checking directories...
Checking directory spl ...
CREATED
Checking directory spl/load ...
CREATED
copying Client start
wabk67
end Client start
copying SPL Debugger
wabk65
SPLDEBUG
end SPL Debugger
copying Job Management
wabk54
K54
Management
copying Sequence start
wabk68
K68 end
Sequence start
>>>>>> After the installation of SPL is completed:
>>>>>>
>>>>>> Login as root
>>>>>> Add the following line to /etc/inetd.conf:
wabk67 stream tcp nowait spider
/usr/users/spider/mmi/spl/load/wabk67

/usr/users/spider/mmi/spl/load/wabk67

>>>>>> Add the following line to /etc/services:


wabk67 2226/tcp # SPL Client start
>>>>>> Reboot the system
SPL installation... Done
Press return to continue...

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

13

No. of p.

39

2.4

Security
The security has to be set up to allow the SPL client processes to open new
windows on the screen. Current node name has to be added to the list of
authorized hosts.
1. Choose Security... from Session Manager's Options menu.
2. Type current node name.
3. Click on the Add button. The node name is added to the list of authorized
host list.
4. Click on OK.
5. Choose Save Current Settings from Session Manager's Options menu to
save the new settings.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

14

No. of p.

39

3
3.1

Sequence Control Operation


The Pictures Used for Sequence Control
Below you can see the pictures that are used for the Sequence Control function.
The Status/Numeric calculation and the Interlock functions are not accessible
for the operator.

Sequence start
dialog

INFO

Sequence
Information

Point Group
Information

Element
Information

Figure 2: Sequence Control picture structure


Sequence Information
The Sequence Information picture is the main picture. It contains the
information about the sequence and the operator input parameters. From this
picture is it possible to start the same actions as in the Sequence dialog. It is
also possible to start the sequence with debug and go to the Interactive part of
the sequences.
Point Group Information picture
The Point Group Information picture holds the element list.
Element Information
The Element Information picture shows, what file and record the element is
connected to.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

15

No. of p.

39

3.2

Activating Sequences

3.2.1

Sequence Status
The sequence can have one status out of the following
Status

Explanation

Free

The sequence is not used at the moment.

Active

The sequence is sent and included in the "SPL monitor" but not
executing in the monitor.

Executing

The sequence is now executing in the "SPL monitor".

Pause

The sequence is paused by the SPL Program. It will be started


after a Time out or if the operator resumes the sequence.

Waiting

The sequence is waiting for a return value from the Network


Manager Process.

Stepwise

The sequence is in stepwise mode

Suspended The operator has set the sequence in suspension mode.


Canceled

The operator has canceled the sequence.

Interrupted The Sequence has been interrupted by the process. This happens
when the Sequence gets some not accepted data, for example
one command is not possible to perform. The SPL-code writer can
also enter aborts in the program. The abort reason will be stated in
the operator message line in the Sequence Information picture and
the SPL program line where it is aborted will be shown in the line
counter.
Crashed

If the sequence is wrong in some way, for example the element list
does not match the Object list, the sequence will crash. The
reason will be stated on the operator message line in the
sequence information picture, the code line where it is crashed will
be shown in the operator information line.

Debug

The sequence is executing with debug.

3.2.2

Manual Operation of Sequence


Get the sequence dialog
A sequence is controlled from the sequence dialog. The dialog holds all
sequences that are connected to one object. To start the dialog select an
object, then select Sequence control with MB3.
Starting a sequence
A sequence is started in the sequence dialog by selecting the "Start" button.
Status for this sequence will now be changed to activated or executing. When
the sequence is completed the status will be Free.
The sequence can only be started if the status is Free, Canceled, Interrupted or
Crashed.
When a sequence is started and completed (or canceled) an event is included
in the event list. This will show the sequence that is started, which Point Group,
which SPL Program Code and the operator identity. This event can be omitted
by setting the event handling flag off in the Sequence Information picture.
When a sequence crash an event will always be generated.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

16

No. of p.

39

Suspend a sequence
The sequence can only be suspended when the sequence has some kind of
break, for example is waiting for back indication, is paused, is delayed etc.
If the sequence status is active, executing, waiting or pause, the poke-point
suspend can be selected.
The suspend function sets the sequence in a suspension mode. The sequence
will be waiting until the Start or Cancel is selected. The sequence will now
continue from the position that it was suspended.
After a suspend, the status will be Suspend.
Resume a sequence
If the sequence is in a pause or in suspension mode the Start button activates
(resumes) the sequence again. Resume will continue at the next statement in
the sequence.
The status after a resume will be active or executing.
Cancel a sequence
If the Sequence status is active, executing, stepwise, waiting, suspend or pause
the button Cancel can be selected.
The cancel function will cancel the Sequence in the next break, as pause,
waiting, delay etc.
The status after cancel will be canceled.
This action will result in an event in the event list. This will show which
sequence that was canceled and which point group it was executing on.
Information select
If the information is selected the sequence information picture will appear on the
output window.

3.2.3

Manual Start from Sequence Information Picture


All sequences can be started from the sequence Information picture, also
sequences that is not connected to a sequence start object.
Start sequence
Start sequence can be done by selecting DF key Start sequence.
Cancel sequence
Cancel sequence is done by selecting DF key cancel sequence.
Suspend sequence
Suspend sequence is done by selecting DF key suspend sequence.
Stepwise execution
With the stepwise execution it is possible to run the sequence statement by
statement.
To set the Sequence in stepwise mode the "stepwise parameter" is set to YES.
For every start/resume the sequence will execute one statement (one SPL code
line). Current code line in the SPL source code will be stated in the "Line
counter" parameter.
The stepwise mode can be set before the operator starts the sequence or
during a break before the operator resumes the Sequence.
The stepwise mode can be reset at any time. The sequence will take the pause
status.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

17

No. of p.

39

The stepwise activation results in an event when the sequence is activated at


the first time and when it is completed. No event is generated if the event log
flag is set to NO.
Do never leave the stepwise flag to YES when the work with the sequence is
completed.
Debug start
The sequence is started with debug when selecting the DF key Debug.

3.2.4

Operator Settings
There are some input parameters that the operator can set before starting a
Sequence.
Parameter 1-4
These parameters are the operator input to the sequence. The SPL program
has to be coded to take care of the parameters as input.
An explanation to these parameters is found in the Sequence Information
Picture.
Stepwise
If the stepwise flag is set to YES the sequence will be executed step by step
with one statement for each start/resume. This flag can only be set in the
Sequence information picture.
Sequence Event log
If the Sequence Event logged flag is YES all start and compilations of
Sequences are stated in the event list. This is normally used for Sequences that
are started by the operator. This flag can be changed in the sequence
information picture.

3.3

Alternative Function Start Methods


Apart from the operator activation above (start and resume) the sequence can
be started in the following alternative ways.
Event start
For an indication status change or a measurand limit violation, it is possible to
start one or several Sequences. Event start is often used in status calculations.
Interlock start
Note: There are some interlocks which are implemented as default interlock
checks (Ref. 3) and not affected from SPL based interlocks which are
mentioned in this document.
If Interlock rules are stated for one object, the Interlock Sequence connected to
that object will be started upon manual changes. Every type of manual change,
such as command or data entry, on one Interlock object result in one start of a
rule (specified as a sequence) that gives the result if the input is OK or not. This
means that the execution of an interlock sequence is not handled by the
operator, but automatically controlled and ordered by a process that is
associated with manual changes on objects. Certain conditions are checked by
the sequence and the caller process is notified with the result.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

18

No. of p.

39

The following activator types (types of manual changes) are available in SPL
Connect and Delete picture page 2:

Command ON

Command OFF

Manual data entry ON

Manual data entry OFF

Issue tag

Set tag

Command and Manual data entry ON

Command and Manual data entry OFF

Timer start
It is possible to define a timer to start a sequence. Then the sequence will be
activated cyclical. This is a normal start of numeric calculation.
Poke point start
If a sequence is connected to a poke point, it can be started by pressing the
poke point. The poke point is connected to an element that has to do a poke
point start.
MDE start
If a sequence is connected with this type of start, it will be activated when the
objects in its object list that are sat with this option will become target to an
operator's manual data entry. The MDE start option can be defined for the
single object as well as the whole file containing that object. In that case, any
object of that type can initiate the sequence start after operator's manual data
entry.
Sequences start from SPL or from a Network Manager function
Other Network Manager functions can be started from Sequences.
It is also possible to start a Sequence from another Sequence. This can be
done in two ways. In both cases it is done in the SPL-code, out of the control
from the operator.

By sending a Sequence starts which will be queued and started after the
executed Sequence.

By an "Execute" function internally in the SPL code. The new Sequence


runs as a subroutine to the calling Sequence.

In both cases will the calling program have the possibility to get a return
parameter from the SPL program.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

19

No. of p.

39

3.4

The Parameters in the Pictures


Parameters included in the SPL pictures.

Doc. kind
Title

Parameter

In picture

Comment

Priority

Sequence Info

With this parameter it is possible to


determine the order the sequences
will be activated from the "SPL
monitor". A sequence with a higher
priority will be executed before one
with lower priority.

Event log

Sequence Info

If this flag is set, an event will be


included in the event list every time a
Sequence is started and completed.

Elements

Point Group Info

The element list in this Point Group.

Program identity

Sequence Info

The SPL program

Status

Sequence Info

The current status of the sequence


right now.

Stepwise

Sequence Info

If the sequence shall be executed in


stepwise mode.

Line counter

Sequence Info

Current line in the SPL-code that is


executed. This is only shown if it is
executed in stepwise mode or if the
sequence crash or been Interrupted.

Parameter 1-4

Sequence Info

Operator input parameters.

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

20

No. of p.

39

SPL Code Creation

4.1

Overview
The SPL code for new sequences can be created either in an ordinary editor or
in the Interactive SPL creation function. It is recommended to use an ordinary
editor.

4.1.1

Some Hints
When a new sequence is created, the designer should very carefully describe
what the sequence shall be used for. A lot of work can be saved later if for
example all element lists are specified in the beginning and some type
definitions are created.

4.1.2

SPL Sequences and SPL programs


If a program, that is included in a sequence, is re-compiled will the sequence
still be intact. The sequence will point out the new compiled version of the
program.
The old compiled version of the program is removed.

4.2

Creating the SPL Code in an Editor


For programming see the manual SPL Reference Manual Reference 1.

The program file name should contain lower-case letters and be extended
with "sc".

The program should be saved in/copied to "spidb3" and then compiled by:
../spiupd/trans filename or
../spiexe/wabk60 filename

4.3

Creating the SPL Code in the Interactive Tool

4.3.1

The Interactive SPL Generation Picture


Select the ISG (Interactive SPL generation) editor DF key from the Sequence
Info picture, the SPL Monitor picture or the SPL Connect and Delete picture.
The ISG Editor will now appear.
In the ISC Editor is it possible to interactively create code.
Only one user at a time can use the editor.

4.3.2

Start the Interactive SPL Generation Function


To start the ISG Editor; select the DF-key "Start". The used flag will now be set
to YES.
The ISG editor can not be started if somebody else is using the function for the
moment. Neither can the function be started in the on-line computer if a hot
stand-by computer is present. When the function is selected it is only possible
to use the function on the VDU where the function was started.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

21

No. of p.

39

4.3.3

Create the Element List


Create Element List
The elements in the Element List are selected by selection of an object in a
Single line diagram or Information picture see creation of Point Groups chapter
5.

4.3.4

Create the SPL Code


Every SPL program code-line in the sequence is created with one function (i.e.
Set_Pause, Regulate_Breaker, Abort_Sequence etc.) and one or several
parameters.

Functions are selected from the function list. Information about functions
parameters can be accessed by selection of any function by MB1 and
selection of INFO under MB3. To scroll the info pages, use Page
forward/backward.

Objects are selected from the element list or directly from other pictures. If
it is selected from other pictures it will be added to the object list.

A number of fixed parameters are found below the function list. Only fixed
parameters that are possible to select are shown in the fixed parameter list.

Operator parameters can be set by the operator. The Operator parameters


can be numerical values or text of max. 20 characters. The parameter
should be inserted into the parameter's field before the corresponding
function is selected.

The next parameter type that should be selected is written on the info line. The
list will not be updated if a wrong parameter is selected.
This type of programs can have up to 100 lines.
Warning: The VDU is still in action. An ordinary Command from the keyboard
will give a Command!!
New line
To add a new line, set the cursor at the position where the new line shall be
included and select a function, then add the parameters in a normal way.
The Editor operates in Insert mode only.
Copy
This function will copy one or several code lines and save it in an internal
memory.
Select the Copy mode. Then select the lines that shall be copied. The lines will
be copied when the Copy is selected again.
Cut
This function will cut out one or several code lines and store it in an internal
memory.
Select the Cut mode. Then select the code lines that shall be cut out. The lines
will be cut when the Cut function is selected again.
Paste
This function will paste the code lines that are stored in the internal memory.
Select the paste function. Then select position where the code will be pasted.
Every time that a code line is selected the code in the memory will be pasted.
The paste function is ended when the paste is selected again.
Delete all code
All code can be deleted if the DF-key "Delete code" is selected. The element list
will still be present.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

22

No. of p.

39

4.3.5

Some hints and warnings


The saved and/or compiled SPL program will directly be available in the hotstandby computer. Even if there was saved in the Study database.
Warning: It is possible to work on the same code at the same time in the RDB
and SDB. The latest update will be the one that remains. If save is done at the
same time to the same saving the saved code will be destroyed.
No capital letters are allowed in file names of the source code, when using an
ordinary editor, to be able to use the SPL debugger. This is not valid for name
of include files, which can consist of both small and capital letters. When using
ISG editor, the source file name will be saved on ../spidb3 with lower-case
letters. But from operator's point of view, the ISG editor is not case sensitive.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

23

No. of p.

39

Creation of Point Groups


New Point Groups and element lists are created in the data Engineering tool or
interactively on-line.

5.1

Generate Point Groups in the Data Engineering Tool


How to fill in the data engineering tool will be described in Reference 2.
Point Groups created in the Data Engineering tool can not be changed
interactively.

5.2

Create Point Groups Interactively


Creation of a Point group can be created interactively.
The picture
Go to the Create Point Group Picture. This picture is reachable from the
Connect and deletes picture and the Interactive SPL generation picture.
Start the interactive generation.
Select ISG start.
Select the objects
The object is selected by selection on single line diagram or by selection of its
external identity in its corresponding information picture. The selection has to be
done on the same VDU by mouse click.
Only objects that have an external identity can be selected.
When an object is selected it will be shown in the list. To change an object or
select another position, select the object or position in the list.
Delete a selected object
Objects are deleted by selecting the function "Delete selected object". Only
objects that not are used in the ISG Editor code can be deleted.
Save the Point Group
To save/create a new Point Group, the new Point Group name has to be
entered on the Point group name line. The Point Group classification has also to
be entered.
Note: the point group- and point group classification name will automatically be
compressed and capitalized before saving.
Select the Save Point group DF-key. A new Point Group is now created. If an
old Point Group is entered and it is changeable, the old Point Group will be
overwritten. It is not possible to store the result in a Point Group that is not
changeable
The new Point Group can now be used.
Delete the Point Group
Write the point group name in the point group name field and select the DF-key
"Delete Point Group". The point group is deleted if:

The given point group name is correct.

The given point group is not used in a sequence.

The system is running in RDB.

The point group is changeable.

End the editor session.


The edit session shall be ended with Exit ISG DF key.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

24

No. of p.

39

6
6.1

Connect and Delete Sequences


Overview
With connect and delete function it is possible to:

Create new sequences

Delete sequences

Show sequences

Create rules

Updates rules

Show rules

Delete rules

Delete programs

Redo connections

Redo all rules

This is the main function for creating sequences for all functions that use SPL.
No other way is possible.

6.2

Connect and Delete Picture


The "Connect and delete" function consists of two pictures. In the main picture
you can see what sequences that shall be created and picture two shows what
type of starts that the sequences shall be connected to.
The "Connect and Delete" picture is reached from the SPL Monitor picture, the
Sequence information picture and the Interactive SPL Generation Editor picture.
Observe that there is not any limit on the number of users in this picture, i.e. it
can be the same data they are changing. However, the operator can inform
others that he's currently modifying the pictures (see 6.3.)

6.3

Start/Exit Editor
To reduce the risk that several operators will be editing the Connect & Delete
pictures at the same time, a Start/Exit Editor function is provided in these
pictures as a DF-key. When an operator selects the Start Editor option, his
Network Manager Username will appear in the operator-id field. This way the
other operators will be notified and hopefully avoid doing any modifications until
the first operator exit the Edit mode.
Note, however, that the Edit mode does not prohibit any operator to modify the
picture. If the Edit mode is already activated, the Exit Editor option can always
be selected by any operator. The name Editor is only to give a sense of
exclusive use privilege. No real editor or further advantage is involved.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

25

No. of p.

39

6.4

Sequence Creation
Overview
Every new sequence is a connection between one program and one Point
Group. When a sequence is connected the program is one and only one but it is
possible to connect that program to one or several point groups at one time,
either to use wild-cards in the Point Group identity or to connect it to all Point
groups in a Point Group class.
To every Sequence a start can be connected. The starts that are possible in the
connect tool are:

Sequence start:

Manual start from an object.

Event start:

The sequence will be started on a status change on an


INDICATION or a MEASURAND.

Timer start:

The sequence will be started by timers.

Interlock start:

This is an Interlock rule sequence.

Poke point start: The sequence will be started by a poke point.

MDE start:

The sequence will be started after a manual data entry.

The sequence creation can be set so it will not refer to any of these start types.
It is also possible to set any number of start types for a sequence.
The Connect and delete function is not case sensitive except for Sequence
Class names.

6.4.1

Selection of Data to a Sequence


Selection of a program
The program is selected by writing in the program name in the Program field.
Wild card * can be used to find the right program. To scroll to the next, use the
push button at the right, to scroll to previous use the push button at the left. The
name can be given in either upper- or lower-case letters. When the sequence is
created the program line has to match exactly one program that is compiled.
Selection of a Point Group
The Point Group is selected by writing in the Point group name in the Point
Group field. Wild card * can be used to find the right Point Group. To scroll to
the next, use the push button at the right, to scroll to previous use the push
button at the left. The name can be given in either upper- or lower-case letters.
When the sequence is created the Point Group with wild cards shall match at
least one real Point Group. If no match is found, this parameter will not be used.
All point groups that match the Point Group Identity parameter will be connected
to the program and create a sequence.
Selection of a Point Group Class
The Point Group Class is selected by writing in the Point Group Class in the
Point Group Class field. Wild card * can be used to find the right Point Group
Class. To scroll to the next, use the push button at the right, to scroll to previous
use the push button at the left. The name can be given in either upper- or lowercase letters.
This parameter will only be used if no match is found on the Point Group
parameter.
When the sequence is created the Point Group Class with wild cards shall
match at least one real Point Group Class. If no match is found, this parameter
will not be used.
All Point Groups that the classification matches the "Point Group Class Identity"
parameter will be connected to the program and create a sequence.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

26

No. of p.

39

Selection of a Sequence Class


The Sequence Class is selected by writing in the Sequence Class in the
Sequence Class field. Wild card * can be used to find the right Sequence Class.
To scroll to the next, use the push button at the right, to scroll to previous use
the push button at the left. Note that this function is case sensitive.
When the sequence is created and no sequence class matches it will use the
first Sequence class. The first sequence class is the first one shown in the SPL
Monitor picture.
It is not possible to connect a job to several sequence classes.
Sequence priority
In the priority field the sequence priority is filled in. Priority is from 0 to 99 where
0 is the lowest and 99 the highest.
Event log
If the sequence shall have an event in the event list every time it is started and
completed, select Yes.
Parameter explanation
If the program parameters shall be updated by the operator, an explanation
shall be written in this field.

6.4.2

Fill in the Starts


Sequence start operation
The sequence start is the manual start of the sequence. The ready sequence
will be connected to one or several objects in the system. It is only possible to
connect the sequence to objects that are present in the Point Group in the
sequence. To set the sequence start:

Select the Connect and delete picture page 2.

Set the sequence start flag to yes.

It is possible to get a type Point Group (one point group that match the
point groups at page 1) by selection of the push bottom of the Show Point
Group field. The objects and their positions will be shown in the list below.

Set the flags for the object to yes if the object shall start a sequence. The
object in this position that now is created will have a sequence start. If the
flag is set to yes and no object exist in that position, the flag will be ignored.

Only 400 sequences for sequence start can be connected for every object.
Event start operation
The Event start will start the sequence if a status change on one INDICATION
or limit violation on a MEASURAND value. It is possible to connect other type of
objects to the start but it will not be used, since no status change is specified for
these starts. The ready sequence will be connected to one or several objects in
the system. It is only possible to connect the sequence to objects that are
present in the Point Group in the sequence. To set an Event start:

Select the Connect and delete picture page 2.

Set the Event start flag to yes.

It is possible to get a type Point Group (one point group that match the
point groups at page 1) by selection of the push button in the front of the
Show Point Group field. The objects and their positions will be shown in the
list below.

Set the flags for the objects to yes if the objects shall start a sequence on
event. The object in this position that now is created will have an event
start. If the flag is set to yes and no object exist in that position, the flag will
be ignored.

Only 400 sequences for event start can be connected for every object.
Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

27

No. of p.

39

Interlock start operation


Note: There are some interlocks which are implemented as default interlock
checks (Reference 3) and not affected from SPL based interlocks which are
mentioned in this document.
The Interlock will check if there is a rule to control that a command, data entry
or tagging is possible or not, see Reference 3, to start the interlock rule if a
change of a breaker is done manually or if a tag is set or reset. The ready
sequence will be connected to one or several objects in the system. It is only
possible to connect the sequence to objects that do not have this rule
connected.

Set the Interlock start flag to yes in SPL Connect and Delete picture page
1.

Select the Connect and Delete picture page 2.

Set the Interlock start flag to yes.

Set what interlock rule that this sequence is connected to.

It is possible to get a type Point Group (one point group that match the
point groups at page 1) by selection of the push button in the front of the
Show Point Group field. The objects and their positions will be shown in the
list below.

Set the flags for the objects to yes if the object shall start a sequence on an
interlock rule. The object in this position that now is created will have an
interlock start. If the flag is set to yes and no object exist in that position, the
flag will be ignored.

For each object it is only possible to connect one of each type of Interlock rule.
Poke point start operation
The poke point start is the instant start of the sequence from a poke point. The
ready sequence will be connected to one or several objects in the system. The
sequence and object will also be connected to the poke point in the picture. It is
only possible to connect the sequence to objects that are present in the Point
Group in the sequence. To set the sequence start:

Set the Poke point start flag to Yes in SPL Connect and Delete picture
page 1 or 2.

Select the Connect and delete picture page 2.

Set the Poke point start flag to Yes.

Set the Poke point number to a value, 0-99. 0 means no poke point
connection. If there are more than one poke point start that should be
connected to one element in any point group, this has to be a unique
number for each poke point. The number will also be used when defining
the poke point in the Picture editor. One element could only be connected
to poke point number 1 in one sequence, number 2 in another and so on,
i.e. each element could be connected to 99 different poke points.

It is possible to get a type Point Group (one point group that match the
point groups at page 1) by selection of the push bottom of the Show Point
Group field. The objects and their positions will be shown in the list below.

Set the Poke point flag for the object to Yes if the object shall have a poke
point start. The object in this position that now is created will have a poke
point start. If the flag is set to Yes and no object exists in that position, the
flag will be ignored. Should be an object that is presented in the picture.

Each element in a point group can be connected to 99 different poke points.


Each element can be connected to poke point "1" for 4 different point groups.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

28

No. of p.

39

When the poke point should be defined in the Picture Editor, add a poke point
(see PED manual) and as parameters add:
Function table key

108

(start a function)

Parameters

76,1

(where 76 is the number of the function startup


and 1 is the poke point number, see above)

Connected element

Should be connected to the object that has a poke


point start.

Timer start operation


The Timer start of sequences will start the sequence on a defined timer. The
timer start can be set with wild cards (i.e. when the flag is set to 'No'). Then the
timer will start every time the real time matches the sequence time. On this
timer an offset can be put that will start the sequence on the normal timer plus a
start(s) on the offset time(s). The timer is recalculated each expiration time and
taking into account any specified offset time. It is also possible to include how
many times the offset time shall be used.

Select the Connect and delete picture page 2.

Set the Timer activation on.

Set the time flags to yes on the times that shall be valid. Then set the times,
if the computer denies doing it the other way around.

Set the offset times on the real start time if any, then turn the offset time on.

Set the number of offset times if needed then turn the number of offset
times on. The number of offset times is only regarded as long as the normal
time is reached. E.g. Normal time set to 12.00 each day. Offset time is set
to 7.00 hours and number of offset times is set to 10. The following will
happen if the sequence is created at 11:00:
Sequence start:
1st. 12:00
2nd. 19:00
3rd. 02.00
4th. 09.00
5th. 12.00
6th. 19.00
7th. 02:00
....

This means that the offset will be disregarded if the normal time is reached.
If the sequence is created at 13.00:
Sequence start:
1st. 19:00
2nd. 02.00
3rd. 09.00
4th. 12.00
5th. 19.00
6th. 02:00
....

Doc. kind
Title

For each sequence it is possible to have one start time with wild-cards, with
corresponding offset times.

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

29

No. of p.

39

Set the "Event, on no timer start" flag to 'Yes' if an event shall be generated
every time the sequence should have been started in a certain way but was
not able to. This flag can be used to tune the SPL function when setting
timers on a certain period. When traps starts to come then you should not
run the SPL sequence faster. Cases when a sequence could not started as
planned are:
-

the classification is not possible to fulfill. In this case an event is always


generated but the sequence will start in the first monitor as default. If
the sequence is not classified the first classification will be used (seen
in the SPL-monitor picture as the first classification) as default.

if the sequence is already executing no further startup will be made. An


event will be generated.

Flag evaluation.
The evaluation is done in the following order:
1. "Timer"; is a timer connected or not. 'Yes' means a timer is connected to
this sequence.
2. "Offset time"; the flag tells if an offset is used. 'No' means no offset is
regarded.
3. the flag "Number of offset times" ; If this flag is 'Yes' the offset values are
regarded. A special case is if the flag "Number of offset times" = 'Yes' and
the "Number of offset times" = 0. The offset is calculated forever. If
"Number of offset times" = 'No' then you will get a one shot (to be
compared with the "Number of offset times" = 1) timer.
MDE start operation
The sequence connected with this type of start is triggered after a change in
status, value, or flags of an object(s). Furthermore, you can specify all objects of
a certain type to start the sequence. This means that the sequence is
connected to the whole file containing objects of that particular type. If the same
object is defined several times to start the same sequence, or the whole-file
option is selected for several different objects of the same type, only one start is
fired.
Note that in similarity with other types of sequence start, only those objects that
can be presented in a point group, can be defined for this type of start. To set
the MDE start:

Set MDE start to yes in the Connect and Delete picture page 1 or 2

Select Connect and Delete picture page 2

Press the Show Point Group push button, so the point group identity that
you have selected in page 1 will appear in the corresponding field and its
containing elements will appear in the element list below this field.

Set MDE Start Buffer flags to yes for the objects that should start the
sequence. This flag should be sat even for the next option.

Set also MDE All Elements flags to yes if you want all objects of a file to
start the sequence. Not that the MDE Start Buffer flag should also be sat,
otherwise this selected option is ignored.

If a flag is set to yes where no object exist in that position, the flag is
ignored.

Up to 400 sequences can be connected to an object or to a file.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

30

No. of p.

39

6.4.3

Connect (Create) a Sequence


With the Connect function one or several sequences are created. To connect a
program the operator has to:

Select a Program

Select a Point Group or a Point Group Class

Select a sequence class

Fill in the Sequence priority

Fill in if the sequence shall have event log or not

Fill in the different starts a sequences shall have.

To create the sequence select the DF key Connect Sequence. The number of
connections done and the connections can be shown in the picture. From the
connection list is it possible to do INFO and come to the Sequence Information
picture.
If one of the connections already exists an Ill-text will inform the user and no
connections will be done.

6.4.4

Disconnect (Delete) a Sequence


With the disconnect sequence one or several sequences are deleted.
Sequences are disconnected by selecting one Program in the Program field and
one Point Group or Point Group Class in the corresponding field. Point Groups
and Point Group Class can have wild card.
The Point Group Class will only be used if no match is found in the Point Group
field.
To disconnect the sequence select the DF key Disconnect Sequence.

6.4.5

Show Sequence
With the Show Sequence function, the number of and the sequences that match
the input data will be shown in the sequence list.
Sequences are shown by selecting one Program in the Program field and one
Point Group or Point Group Class in the corresponding field. Wild card(s) can
be used.
The Point Group Class will only be used if no match is found in the Point Group
field.
To show the sequence select the DF key Show Sequence.
List Paging UP/Down, Scroll Up/Down, or First/Last Page can be used by
selection of MB3 to scroll up/down the information.

6.4.6

Reset data
If the reset function is selected all shown data for the SPL Connect Delete
function will be reset.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

31

No. of p.

39

6.5

Delete program
The delete program function will delete the compiled version of the program. It
will also take away the possibility to take the SPL program up in the ISG editor.
The code on DB3 will remain unchanged.
It will not be possible to delete a program that is included in a sequence.
It is not possible to use this function in SDB.
Warning: If the program is deleted in RDB and a sequence in SDB is connected
to this program, will it crash in SDB when trying to execute the sequence.

6.6

Rule Creation
Sequence creation that shall survive a DE generation shall be saved as a rule.
The rule function will save the rule for the Connect sequences and when the
system is regenerated the sequences will be added as the rule says.
Sequences that are not specified as a rule will be deleted. If new point groups
have been added, this will automatically be added to the programs that they are
connected to. With the rule function it is possible to:

Show rule

Update rule

Save rule

Delete rule

Redo all connections

Select a rule
A rule is selected by writing its name in the rule text field. It is also possible to
scroll in the rule list with extract wild cards. The name can be given in either
upper- or lower-case letters.
Show rule
The show rule function requires that a rule exists. The rule information will be
shown on connect and delete picture.
Update rule
The update rule function will update one rule with the current data in the
Connect and delete functions. The rule must exist.
Create rule
Create rule function creates a new rule with the data from the Connect and
delete function. If the rule already exists then no rule will be created and no data
will be updated.
Delete rule
The delete rule function deletes one rule from the rule function. The data in the
rule is deleted but the created sequences will remain until new data is
integrated with DE.
Redo all connections
This function will redo all connections done with the Connect and delete
function. All sequences will be deleted and redone with the current rules in the
system. Sequences that are not saved as a rule will be deleted.
Warnings and hints
When a rule is created or be updated it will not automatically redo the
connection. The rule is saved for execution the next time the "Redo all
connections" function is done.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

32

No. of p.

39

6.7

Warning and Hints

6.7.1

Object list and Element list


The object list and element list has to be coordinated in a way that the object list
only have pointers to elements, that are at the same concept type as the
element. They can also point at zero elements, but then they can not be used in
the Program code.
If it will be an object mismatch, the sequence will crash when it is started and
the reason will be shown in the Sequence Information picture.

6.7.2

Names containing special characters


When choosing names to create user defined parts of SPL Connect and Delete
components (programs, point groups, etc.), the reserved AQL characters should
be considered with care. Characters like underscore (_) and percent (%) in
strings are interpreted as wild cards by SPL due to its internal embedded AQL
search queries, see Reference 4. Otherwise, these characters can be freely
used in Connect and Delete picture, in order to restrict your selections when
using SPL Connect and Delete function.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

33

No. of p.

39

SPL Monitor
The SPL function can be executing on different monitors. Every sequence is
scheduled on a monitor and sorted by sequence classification and priority. If the
sequence is to be debugged, then it will run in one of the monitors which is
allowed to run SPL-debugger and the priority is ignored.
The SPL function calculates what monitors the sequence is allowed to be
executed in. Then the monitor with for the moment lowest load is selected.
The monitors' priority and debug-possible flag can be changed in the monitor
picture. This way the operator can schedule its sequences to run on desired
monitors or block some monitors to be used without changing the sequences
priority; if a monitor has higher priority than a sequence, then the sequence is
blocked to run on that monitor. Likewise, the sequences to be debugged can
only run on monitors that have their debug flag set. Note that the above
discussion is of interest only for systems with more than one monitor.
If the sequence is not possible to start on any monitor the sequence will start on
the first monitor anyway.
The monitor picture
From the monitor picture it is possible to:

See the sequence monitors and the starts scheduled to the different
monitors.

Change the priority for different monitors.

Decide what monitors that the debug function shall be possible to execute
in.

See the total load and the peek load of number of sequences executing in
the monitors.

Reset the statistics

Reach the monitor picture


The monitor picture is reached from:

Control system maintenance menu

Sequence Information picture

SPL Connect and delete picture

Interactive SPL Generation editor picture.

Changing the priorities


When the monitor priority is changed it will directly affect the priorities in the
system. The priority can be changed from 0 that is the lowest priority to 99 that
is the highest. Once again, SPL schedules sequences on monitors that have
equal or lower priorities than the sequences.
Debug function ON/OFF
When a sequence is executing with debug, only the monitor(s) that is marked
with debug-possible flag is used. It will not have any effect on the sequence
priority or classification.
The debug is changed by switching the debug flag with manual data entry.
If no monitor is specified with debug possible, sequences that are executing
with debug will be executed in the first monitor.
Statistics function
In the statistics function it is possible to see the number of sequences that have
been started on each monitor and the peek load.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

34

No. of p.

39

Reset statistics
With the reset statistics function the statistics can be set to zero.
If any sequences are executing at the moment the current peek load can be
larger than the total started for a moment.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

35

No. of p.

39

SPL Debug
By the SPL Debug function the sequence can be executing in a debugger. With
the debugger it is possible to:

See the code

Follow the path of execution

Suspend the executing code

Execute the code stepwise

Set breakpoints in the code

Set a new start-point

See the variables

Examine variables

Update variables

Follow the updates of the variables in a watch list

Cancel the program

When the debug is executing on a sequence the sequence will be blocked from
other usage.
Find the SPL Debug function
The SPL Debug function is started by the DF key Debug in the Sequence
Information picture. The debug function will start on that sequence.
Debug window explanation
In the debug window it is possible to see

The code in the code menu

The valid variables on this program level in the variable menu

A watch list over variables

History of the instructions that the operator has given

Run
With the run function the sequence will be executed. No variables in the
variable list will be updated until the program ends, or until suspend is made.
During the execution it is possible to see the path of execution.
Step
Step one line. If a function, procedure or an Execute statement is stepped it will
step into that.
Step forward
Step one line to the next higher line on this program level or higher level. It will
execute all code in between. No step into subroutines, procedures or execute.
Suspend
This will stop the code and complete the line the code is executing at the
moment. This is working when the run and step forward function is executing.
Break points
Set a breakpoint in the code. The execution will stop at this line.
To set the breakpoint, Select the line then select the break function.
To remove the breakpoint select the line with the breakpoint then select the
break function.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

36

No. of p.

39

New Start Line


With the new line function is it possible to skip some code or execute the code
again. To select a new start line: select the line and then select the New line
function.
It is not possible to select a line on another level e.g. in a procedure.
All data that is set before remains.
Examine
Examine variables is done by selection of the variable and then select the
examine function. The result will be shown in the show history list.
For arrays the specific indices have to be included. Character strings are
accepted.
For SREAL and SINTEGER will the value and the flags are presented. The
flags are presented as a hexadecimal value, (0x'value').
Possible flags and values:
Flag

Decimal value

Hexadecimal value

INVALID
MANUAL_ENTRY
UPDATED
ALARM
IMPLEMENTED
DEACTIVATED
MEASUR_PROCESS
INVALID_IN_TTD
CORRECTED
BLANK_VALUE
NORMAL_STATUS

1
2
4
8
16
32
64
128
256
512
20

0x1
0x2
0x4
0x8
0x10
0x20
0x40
0x100
0x200
0x400
0x14

A number of combinations of these flags are possible.


Assign
Assign a new value to a variable. With the assign function it will be possible to
add a new variable. For an array the specific index must be selected before the
assign works. Character strings are accepted.
For SREAL and SINTEGER will the value and the flags are presented. The
flags are presented as a hexadecimal value, (see Examine above).
Add watch
Values that are included in the watch list are shown all the time and updated
when the value is updated. To add a value to the watch function select the
value in the function list and then select the add watch function
Delete watch
The delete watch function will delete a value from the watch list. To delete the
value, select the value in the watch list and select the delete watch function.
Cancel
The cancel function will stop the debug execution. The program will be reset
and next time it starts it will start from the beginning.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

37

No. of p.

39

Hints and Fault Situations


Heavy changes of the file sizes
It is recommended to make a re-population of the SPL-files after heavy changes
of the file sizes. Otherwise SPL can get into trouble and crash.
The dialogs as Sequence start and Debug is not started
The Console has no authority to open new windows. Set security.
A trap occurs and no dialog is started
The SPL tool is not installed on the system. Read the installation chapter 2.
Sequence included in the system but not started
The sequence is not connected to any object, event or timer to be started from.
Read the Users Guide to SPL Reference 5.
No sequence is still started
Check that the monitors are included. On picture SPL Monitor (ISCM0201) will
show the monitors included in the system. At least one monitor has to be filled
in form IPM and one classification on form IPA.
The sequence disappears after the DE tool was executed
The description of how the Sequence was created was not saved as a rule. See
chapter 6.4.
The program is compiled but you get a message that the program does
not exist or the SPL debugger crashes
The program file name contains capital letters or more than 20 characters.
WARNING: There is a limited size of the stack. On the stack, variables are put
as well as the context when a new level is called in the hierarchy of routines.
Large arrays used in the program will hasten this problem. This limit is not
calculated when compiling the programs. It occurs when executing the program.

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

38

No. of p.

39

10 Conventions
SPL

Programming Language

11 List of References
R1: WAH493, SPL Reference Manual.
R2: WAH236 - 240, Data Engineering - Common Process data.
R3: WAB093, Design description for Interlock.
R4: WAC068, Avanti Reference Manual - Avanti Query Language
R5: WAH327, Users Guide to Calculation in Network Manager

REVISION
Rev. ind.

SPR No.

Description

Date

SOM050464

New document. All contents from 3AST 001 998 moved to TTTtemplate without any changes of the functions. Trade Mark
TM
SPIDER replaced by Network Manager.

2006-01-12

Doc. kind
Title

Users Guide
SPL

Project

Network Manager Baseline

Doc. no.

ABB Power Systems

Lang.

1KSE 000 591-A

en

Rev. ind.

Page

39

No. of p.

39