Академический Документы
Профессиональный Документы
Культура Документы
Network Manager
SPL
Project
2006-01-12
2006-01-12
Doc.
des.
Ref.
des.
Resp. dept
NM/KD
Doc. no.
Status
Lang.
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
Doc. no.
Lang.
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
Users Guide
SPL
Project
Doc. no.
Lang.
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
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
Doc. no.
Lang.
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
Element list
Point group
Poke point
Sequence
Sequence Status
Interlock rules
MDE start
Users Guide
SPL
Project
Doc. no.
Lang.
en
Rev. ind.
Page
No. of p.
5
39
1.2
Activation type
Poke point
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
Max. 20 characters.
Doc. kind
Title
Users Guide
SPL
Project
Doc. no.
Lang.
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,
Select the sequences that shall be started and select "START". The
sequence will now be executed.
1.3.2
1.3.3
1.3.4
Doc. kind
Title
Users Guide
SPL
Project
Doc. no.
Lang.
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
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
Doc. no.
Lang.
en
Rev. ind.
Page
No. of p.
8
39
1.4
Doc. kind
Title
Users Guide
SPL
Project
Doc. no.
Lang.
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
Doc. kind
Title
Users Guide
SPL
Project
Doc. no.
Lang.
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
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
Doc. no.
Lang.
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.
/usr/users/spider/mmi/spl/load/wabk67
snem32 2226
Doc. kind
Title
Users Guide
SPL
Project
Doc. no.
Lang.
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
Doc. kind
Title
Users Guide
SPL
Project
Doc. no.
Lang.
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
Doc. no.
Lang.
en
Rev. ind.
Page
14
No. of p.
39
3
3.1
Sequence start
dialog
INFO
Sequence
Information
Point Group
Information
Element
Information
Doc. kind
Title
Users Guide
SPL
Project
Doc. no.
Lang.
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
Active
The sequence is sent and included in the "SPL monitor" but not
executing in the monitor.
Executing
Pause
Waiting
Stepwise
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
3.2.2
Doc. kind
Title
Users Guide
SPL
Project
Doc. no.
Lang.
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
Doc. kind
Title
Users Guide
SPL
Project
Doc. no.
Lang.
en
Rev. ind.
Page
17
No. of p.
39
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
Doc. kind
Title
Users Guide
SPL
Project
Doc. no.
Lang.
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
Issue tag
Set tag
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.
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
Doc. no.
Lang.
en
Rev. ind.
Page
19
No. of p.
39
3.4
Doc. kind
Title
Parameter
In picture
Comment
Priority
Sequence Info
Event log
Sequence Info
Elements
Program identity
Sequence Info
Status
Sequence Info
Stepwise
Sequence Info
Line counter
Sequence Info
Parameter 1-4
Sequence Info
Users Guide
SPL
Project
Doc. no.
Lang.
en
Rev. ind.
Page
20
No. of p.
39
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
4.2
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
4.3.1
4.3.2
Doc. kind
Title
Users Guide
SPL
Project
Doc. no.
Lang.
en
Rev. ind.
Page
21
No. of p.
39
4.3.3
4.3.4
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.
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
Doc. no.
Lang.
en
Rev. ind.
Page
22
No. of p.
39
4.3.5
Doc. kind
Title
Users Guide
SPL
Project
Doc. no.
Lang.
en
Rev. ind.
Page
23
No. of p.
39
5.1
5.2
Doc. kind
Title
Users Guide
SPL
Project
Doc. no.
Lang.
en
Rev. ind.
Page
24
No. of p.
39
6
6.1
Delete sequences
Show sequences
Create rules
Updates rules
Show rules
Delete rules
Delete programs
Redo connections
This is the main function for creating sequences for all functions that use SPL.
No other way is possible.
6.2
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
Doc. no.
Lang.
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:
Event start:
Timer start:
Interlock start:
MDE start:
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
Doc. kind
Title
Users Guide
SPL
Project
Doc. no.
Lang.
en
Rev. ind.
Page
26
No. of p.
39
6.4.2
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:
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
Doc. no.
Lang.
en
Rev. ind.
Page
27
No. of p.
39
Set the Interlock start flag to yes in SPL Connect and Delete picture page
1.
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.
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.
Doc. kind
Title
Users Guide
SPL
Project
Doc. no.
Lang.
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
Connected element
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
Doc. no.
Lang.
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:
-
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
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.
Doc. kind
Title
Users Guide
SPL
Project
Doc. no.
Lang.
en
Rev. ind.
Page
30
No. of p.
39
6.4.3
Select a Program
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
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
Doc. no.
Lang.
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
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
Doc. no.
Lang.
en
Rev. ind.
Page
32
No. of p.
39
6.7
6.7.1
6.7.2
Doc. kind
Title
Users Guide
SPL
Project
Doc. no.
Lang.
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.
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.
Doc. kind
Title
Users Guide
SPL
Project
Doc. no.
Lang.
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
Doc. no.
Lang.
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:
Examine variables
Update variables
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
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
Doc. no.
Lang.
en
Rev. ind.
Page
36
No. of p.
39
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
Doc. kind
Title
Users Guide
SPL
Project
Doc. no.
Lang.
en
Rev. ind.
Page
37
No. of p.
39
Doc. kind
Title
Users Guide
SPL
Project
Doc. no.
Lang.
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
Doc. no.
Lang.
en
Rev. ind.
Page
39
No. of p.
39