top - download
⟦bf915dbd7⟧ Wang Wps File
Length: 69687 (0x11037)
Types: Wang Wps File
Notes: SDS/SDS/029
Names: »1760A «
Derivation
└─⟦080c9775e⟧ Bits:30006085 8" Wang WCS floppy, CR 0131A
└─ ⟦this⟧ »1760A «
WangText
7…08…7…0d…7…01…7…06…6…09…6…0c…6…0e…6…00…6 6…07…5…0c…5…01…5 5…06…4…08…4…0b…4…0d…4…00…4…02…4…05…3…09…3…0c…3…0e…3
3…05…2…08…2…0c…2…00…2…02…2…06…1…09…1…0d…1…01…1…05…0…86…1
…02…
…02…
…02…
…02…CPS/SDS/029
…02…850501…02……02…
SYSTEM
STATUS
AND
CONTROL
DETAILED
DESIGN
SPECIFICATION…02…ISSUE
1…02…CAMPS
4.2.2 C̲o̲m̲m̲a̲n̲d̲ ̲I̲n̲t̲e̲r̲p̲r̲e̲t̲e̲r̲ ̲(̲C̲M̲I̲)̲
4.2.2.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The CMI receives operational commands (i.e. start-up,
WDP configuration) from COPSY and operator input (i.e.
function-keys, commands and data from the format fields)
from the Format Handler.
When a command entered from the operator VDU is received
and validated, the CMI sends the requested format and
the actual data to the operator VDU. The operator will
now update the format and hereafter the updated fields
are returned to the CMI. When the fields are validated,
they are given over to COPSY for execution.
The last step in the fulfillment of a reconfiguration,
is to return a log to the operator lineprinter.
The log contains information of the command executed
or rejected and the time of execution (DATE and TIME).
The initialization of the CMI and the validation of
the operator VDU input is given in the following subsections.
The functional breakdown of the CMI is shown in fig.
4.2.2.1-1.
CMI
INITALIZATION
HANDLE KEYS
CANCEL CURRENT VDU DATA
INITIATE DATE TRANSM
EXPLAIN ERROR CODE
HANDLE COMMANDS
VALIDATE COMMANDS
DISPLAY FORMATS
SEND DATA TO FORMAT FIELD
ERROR HANDLING
LOG
VDU CONTROL
EXECUTION (SEE FIG. 4.2.2.1-2)
FIGURE 4.2.2.1-1
CMI FUNCTIONAL DECOMPOSITION
EXECUTION OF CONTROL 4.2.2.1.4
PU CONFIGURATION 4.1
DELETE CIF
SET OPERATOR ONLY TERMINATE
SWITCHOVER
CLOSE DOWN PU
PERIPHERAL CONFIGURATION 4.2
DISK HANDLING
HANDLE LTU LINES
HANDLE LTU
HANDLE LTUX LINES
HANDLE BSM ̲X
SOFTWARE CONTROL
LOAD NEW SOFTWARE
SET TIME
SET TRACE
PRINT INFORMATION
ERROR CODE DISPLAY
FIGURE 4.2.2.1-2
4.2.2.1.1 I̲n̲t̲i̲a̲l̲i̲z̲a̲t̲i̲o̲n̲
The CMI receives a start-up command via its input queue
CMIQ.
The start-up command specifies user connections to
the:
- WDU-VDU command split
- WDP-VDU format split
- WDP-ROP
If the lineprinter or VDU is reinserted the CMI receives
the user connection(s) to the device(s).
4.2.2.1.2 H̲a̲n̲d̲l̲e̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲
The commands from the command line are divided into:
- request for menu formats
- request for control formats
When a command is accepted the format specified by
the command is via the Format Handler sent to the VDU
and if a control format is displayed, the unprotected
fields and a PORT-ID is updated with the actual data.
If a command is illegal, an error message is returned
to the operator, and a new command has to be entered.
4.2.2.1.3 H̲a̲n̲d̲l̲e̲ ̲K̲e̲y̲s̲
The operator is given a set of function-keys on his
VDU.
The function-keys are used to:
- indicate that text is ready for input (ENTER)
- CANCEL the current command or format (CANCEL)
- Return to the command line for an error display
(COMMAND)
When an ENTER key is received the transmission of data
from the current split (format or command) is initiated
to the VDU.
The reception of a CANCEL key have the effect:
- clear command and response line
- clear format split
- display current menu
- return to command field
If the operator wants an explanation of an error-code
he depresses the COMMAND-key.
The effect is:
- clear command and response line
- return from format or command split ot command
line, from which the explanation of the error-code
can be requested.
(subsequent to the explanation the cursor is returned
to the format position from which it exited).
4.2.2.1.4 E̲x̲e̲c̲u̲t̲i̲o̲n̲
When the operator has updated the unprotected fields
of the format, he requests for transmission of them.
The fields are read and checked for syntax and semantic
errors.
If the operator has entered an illegal character in
an unprotected field, an error-code is displayed on
a level with the field not accepted.
The control formats is divided into:
- PU configuration
- Peripheral configuration
- Software control
see fig. 4.2.2.1-4
A more detailed description of the commands is
given in CPS/ICD/010
4.2.2.1.4.1 P̲U̲ ̲c̲o̲n̲f̲i̲g̲u̲r̲a̲t̲i̲o̲n̲
The PU configuration includes:
- Delete CIF
- Terminate operator only mode
- Close down PU
- switchover from Active PU to standby PU
Subsequent to the validation of the formats a control
record is sent to COPSY, which handles the control.
4.2.2.1.4.2 P̲e̲r̲i̲p̲h̲e̲r̲a̲l̲ ̲c̲o̲n̲f̲i̲g̲u̲r̲a̲t̲i̲o̲n̲
The execution of peripheral device reconfiguration
control includes enabling/disabling and specification
of attributes for:
- TDX system;
. LTUX line control
. LTUX control
. BSM-X control
- CU System;
. LTU line control
. LTU control
. Disk assignment
The LTUX and LTU lines are only ready for logically
access if:
- LTUX ̲line, LTUX, BSM ̲X are enabled
The chain LTUX ̲line, LTUX, BSM ̲ ̲X or LTU ̲line, LTU
can only be reconfigured if no logical access is given
(supervisor command).
When the formats have been validated and accepted control
is given over to COPSY
4.2.2.1.4.3 S̲o̲f̲t̲w̲a̲r̲e̲ ̲C̲o̲n̲t̲r̲o̲l̲
The Software Control formats includes:
- Load of modified software
- Set time
- Set Trace mask
- Print information
Load of new software is handled by COPSY and includes:
- modified application software
- modified system software
- software patches
- garble files
from the
- floppy disk to the offline or mirrored disk
- offline disk to the mirrored disks
The adjust Time format is used in order to adjust PU
software clock (max. +- 2 minutes)
The tracemask function defines the amount of trace
information to be produced.
Print information is divided into:
- print of configuration
- print of software version
4.2.2.1.5 L̲o̲g̲
When the operator has entered a format or a command
which causes an execution of control (e.g. peripheral
reconfiguration, disk handling or PU commands) a log
is generated on the operator lineprinter. The log specifies
the operation which has been initiated and the time
of day (only if an active PU exists!). When a control
command is completed or cancelled an other log is generated.
The two logs contains an identical transaction number.
4.2.2.1.6 V̲D̲U̲ ̲C̲o̲n̲t̲r̲o̲l̲
When the operator has entered a command, function-key
or a format, the VDU cursor is positioned in accordance
with the entered data and the keyboard is locked until
the entered data has been validated and the CMI is
ready to accept new commands.
If invalid data is entered the operator is given directives
either on the response line of the command split or
by means of an error-code displayed in the Margin Area
of the Format Split.
4.2.2.1.7 E̲r̲r̲o̲r̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲
The CMI uses ANALYSE ̲ERROR for System Call Errors.
For external errors SEND ̲GARBLE is used
4.2.2.2 S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲
The CMI functions are implemented in one process.
The process is divided into 9 modules which contain
a number of components. The software structure is given
in fig. 4.2.2.2-1.
The CMI receives input via its input queue from COPSY
and via a data connection to the WDP.
Start-up commands and any change of the data connection
to the WDP, the WDP-lineprinter or the WDP-VDU are
informed to the CMI via the input queue.
CMI ̲RECEIVE 4.2.2.4.1
INTERPRET COMMAND 4.2.2.4.2
VALIDATE COMMANDS 4.2.2.1.2a
DESPATCH CONTROL 4.2.2.4.3
PU ̲HANDLING 4.2.2.4.4
DELETE CIF 4.2.2.1.4.1a
OPERATOR ONLY b
CLOSEDOWN PU c
SWITCH OVER d
SOFT ̲HANDLING 4.2.2.4.5
LOAD NEW SOFTWARE 4.2.2.1.4.3a
SET TIME b
SET TRACE c
PRINT INFORM d
TDX ̲HANDLING 4.2.2.4.6
LTUX ̲LINES 4.2.2.1.4.2d
LTUX e
BSM ̲X f
CU ̲HANDLING 4.2.2.4.7
DISC ̲HANDLING 4.2.2.1.4.2a
LTU ̲LINES b
LTU c
TERMINATE ̲INPUT 4.2.2.4.8
DISPLAY ̲FORMATS 4.2.2.1.2b
SEND DATA TO FORMATS c
HANDLE KEYS 4.2.2.1.1.2
ERROR ̲CODE DISPLAY
QUEUE ̲INFORM 4.2.2.4.9
INITIALIZATION 4.2.2.1.1
FIGURE 4.2.2.2-1
MAPPING OF FUNCTION ONTO THE CMI MODULES
4.2.2.3 D̲a̲t̲a̲ ̲F̲l̲o̲w̲ ̲a̲n̲d̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲L̲o̲g̲i̲c̲
Figure 4.2.2.3-1 overleafs defines the environment
for the CMI process. The CMI process receives operational
commands (i.e. start-up or changes on the user connections
to the WDP) from COPSY in its input queue CMIQ. WAMQ
and sends replies to the CMIRQ at COPSY.
The CMI receives operator commands via the WDP-VDU
command split user connection. Via the WDP-VDU format
split user connection formats to the VDU and data from
the format fields are sent.
The CMI validates the commands and formats and for
the formats (ref. 4.2.2.1.4) which the CMI not completes
the control, a control record is sent to SYQ to request
COPSY for execution of the command. COPSY sends a command
execution reply to the CMIQ. WAMQ, where upon CMI logs
the completion of the command. The log is sent via
the WDP-lineprinter user connection.
The internal data flow and control logic in the CMI
is shown in fig. 4.2.2.3-1 (- 4c)
CMI ̲RECEIVE 4.2.2.4.1.5a
QUEUE INFORM 4.2.2.4.9
INITIALIZE (M) 4.2.2.4.1.5b
QUEUE INFORM
DESPATCH CONTROL 4.2.2.4.3
TERMINATE ̲INPUT 4.2.2.4.8
FIGURE 4.2.2.3.1-1
INTERPRET COMMAND 4.2.2.4.2.5a
FIND COMMAND 4.2.2.4.2.5b
CHECK ̲ID 4.2.2.4.2.5c
FIGURE 4.2.2.3.1-2
DESPATCH CONTROL 4.2.2.4.3.5a
UNPACK BYTES 4.2.2.4.3.5b
PU ̲HANDLING 4.2.2.4.4
CU ̲HANDLING 4.2.2.4.7
TDX ̲HANDLING 4.2.2.4.6
SOFT ̲HANDLING 4.2.2.4.5
SEND CONTROL REQUEST 4.2.2.6.8
LOG 4.2.2.6.1
FIGURE 4.2.2.3.1-3
TERMINATE INPUT 4.2.2.4.8.5a
INVALID ENTRY 4.2.2.4.8.5b
KEY ̲TERMINATE 4.2.2.4.8.5g
COMMAND TERMINATE 4.2.2.4.8.5j
DATA TERMINATE 4.2.2.4.8.5y
FIGURE 4.2.2.3.1-4a
INVALID ENTRY 4.2.2.4.8.5b
DISPLAY RESPONSE 4.2.2.4.8.5c
OUTPUT FIELDS 4.2.2.6.4
CURSOR POSITION SET 4.2.2.6.5
SEND ̲ERROR CODE 4.2.2.4.8.5d
OUTPUT FIELDS
CURSOR POSITION SET
CHANGE ATTR 4.2.2.4.8.5e
START ̲ALL ̲OVER 4.2.2.4.8.5f
DISPLAY RESPONSE 4.2.2.4.8.5c
DISPLAY FORMAT 4.2.2.6.2
FIGURE 4.2.2.3.1-4b
DATA ̲TERMINATE 4.2.2.4.8.5y
DISPLAY FORMAT 4.2.2.6.2
CLEAN COMMAND SPLIT 4.2.2.6.7
SET ̲RECEIVE CONTROL 4.2.2.6.6
FIGURE 4.2.2.3.1-4c
DISPLAY FIELDS 4.2.2.4.8.5b
SEARCH ENTRY 4.1.5.2
CONVERT LXLN ̲REC 4.2.2.4.8.5m
CONVERT LTUX ̲REC 4.2.2.4.8.5r
CONVERT BSM ̲X ̲REC 4.2.2.4.8.5o
CONVERT LTLN ̲REC 4.2.2.4.8.5p
CONVERT LTU ̲REC 4.2.2.4.8.5q
OUTPUT FIELDS 4.2.2.6.4
FIGURE 4.2.2.3.1-4d
KEY TERMINATE 4.2.2.4.8.5g
INPUT FIELDS 4.2.2.6.3
CANCEL INPUT 4.2.2.4.8.5h
DISPLAY FORMAT@ 4.2.2.6.2
CLEAN COMMAND SPLIT
SET RECEIVE CONTROL 4.2.2.6.6
COMMAND KEY RECEIVED 4.2.2.4.8.5i
CLEAN COMMAND SPLIT
DISPLAY AND RETURN 4.2.2.4.8.5k
COMMAND TERMINATE 4.2.2.4.8.5j
DISPLAY FORMAT 4.2.2.6.2
DISPLAY AND RETURN
DISPLAY FIELDS 4.2.2.4.8.5l
FIGURE 4.2.2.3.1-4.l
4.2.2.4.1 C̲M̲I̲-̲R̲e̲c̲e̲i̲v̲e̲
4.2.2.4.1.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
CMI-Receive combines a Queue Call and an IO Waiting
Point.
The queue interface is used for reception of a start-up
command and commands if a change on the connection
to the WDP, the WDP-lineprinter or the WDP-VDU occurs.
These commands is received from WAMCO (Watchdog Monitoring
and Control) in COPSY.
The IO interface is used as the link to the WDP-VDU.
4.2.2.4.1.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲
N/A
4.2.2.4.1.3 C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
CMI ̲RECEIVE contains two components implemented as
two procedures:
- CMI-̲RECEIVE
- INITIALIZE ̲CMI
- LOG (common procedure)
D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a 1) T̲y̲p̲e̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
QEL ̲ATTRIBUTES CFH
a 2) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
SO ̲REF:SO ̲REFERENCE CSF 4.1.6.1.6.7
AP ̲REF SEC 4.2.2.5.1
DATA ̲TYPE - " -
PRINT ̲LOG
ANSWER ̲FLAG
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
ANSWER ̲FLAG (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR
TERMINATE : BOOLEAN
4.2.2.4.1.5 C̲M̲I̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The CMI ̲RECEIVE Module contains three procedures:
- INITIALIZE
̲ CMI ̲RECEIVE
- LOG
The LOG procedure is a common subpackage procedure.
4.2.2.4.1.5.a P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲C̲M̲I̲ ̲R̲E̲C̲E̲I̲V̲E̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
Await the completion of the pending system calls.
The completed system call (SO ̲REF) is awaited.
If IO call is returned call the actual IO procedures
(i.e. INTERPRET ̲COMMAND/DISPATCH CONTROL and TERMINATE
̲INPUT).
The LOG is called if a printout is required.
If queue element is received the QUEUE ̲INFORM Module
is called.
PROCEDURE RECEIVE ̲CMI
LOOP "MAIN
I̲N̲I̲T̲I̲A̲L̲I̲Z̲E̲
LOOP "SUBLOOP
SUBLOOP EQ FALSE? EXIT
WAIT ̲NEXT ̲OPERATION ( ) (AP ̲REF,SO ̲REF) :
OK
CASE WAIT ̲SYSTEM ̲CALL(SO ̲REF)(OUTR0..OUTR5,CC):ERROR
̲OK:
ERROR ? ANALYZE ̲ERROR (CC, 0)
END CASE
CASE AP ̲REF OF:
IO ? CASE ̲DATA ̲TYPE OF:
FUNCTION ̲KEYS ? ACCEPT=TRUE
COMMANDS ? I̲N̲T̲E̲R̲P̲R̲E̲T̲ ̲C̲O̲M̲M̲A̲N̲D̲(OUTR0..OUTR5)
(COMMAND,ACCEPT,
INFO)
)
DATA ? DISPATCH ̲CONTROL (OUTR0..OUTR5)
(ACCEPT,INFO)
END CASE
QUEUE ? Q̲U̲E̲U̲E̲ ̲I̲N̲F̲O̲R̲M̲ (OUTR0-OUTR5) (TERMINATE)
END CASE
TERMINATE EQ FALSE ? TERMINATE=TRUE
TERMINATE ̲INPUT (ACCEPT,INFO)
PRINT ̲LOG EQ TRUE ? L̲O̲G̲
ANSWER ̲FLAG EQ TRUE? SEND ̲CLOSE ̲DOWN ̲TERMINATED
ANSWER ̲FLAG = FALSE
END LOOP "SUB
END LOOP "FOREVER
END CMI ̲RECEIVE
Figure 4.2.2.4.1.5.a-1
4.2.2.4.1.5.b P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲I̲A̲L̲I̲Z̲E̲ ̲C̲M̲I̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The start-up command from WAMCO is awaited in the CMI
̲Q, WAM ̲Q. A reply is returned to the start-up. The
SUBLOOP is entered and used until the stop command
is received from WAMCO.
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.2 I̲N̲T̲E̲R̲P̲R̲E̲T̲ ̲C̲O̲M̲M̲A̲N̲D̲
The commands and IDs entered from the command split
on the WDP ̲VDU is found in a command-table which contains
the command (key to the table) and the parameters associated
to the command.
4.2.2.4.2.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) GET Command
b) Find the command in the command-table
c) Check ID of necessary
d) Set-up a pointer to the command in the command-table
or a Flag indicating the error (command or ID).
4.2.2.4.2.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) INTERPRET ̲COMMAND (IN ̲BUFFER:BUFFER)
(ACCEPT:BOOLEAN
INFO : INFO ̲TYPE
COMMAND:COMMAND ̲PARAM)
b) INTERPRET ̲COMMAND (R1, R4, R5, R6)
R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R 5 pointer to IN ̲BUFFER
R 6 LINK
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R 1 ACCEPT
R 4 INFO
R 5 pointer to COMMAND
4.2.2.4.2.3 I̲N̲T̲E̲R̲P̲R̲E̲T̲ ̲C̲O̲M̲M̲A̲N̲D̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
The components contained in the INTERPRET ̲COMMAND Module
are each implemented as procedure.
- INTERPRET ̲COMMAND
̲ CHECK ̲ID
̲ FIND ̲COMMAND
4.2.2.4.2.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a 1) T̲y̲p̲e̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
INFO ̲TYPE 4.2.2.5.1
COMMAND ̲PARAM 4.2.2.5.2
a 2) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
IN ̲BUFFER,
ACCEPT,
INFO,
COMMAND : I/F data
COMMAND ̲SIZE,
COMMAND ̲FIELD,
PRINT ̲BUF: 4.2.2.6.1.3.c
ERROR ̲DISP,
ERRORS: 4.2.2.6.11.3.b
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
PRINT ̲BUF. COMMAND (m)
PRINT ̲BUF. ID (m)
NOE (m)
ERRORS. DISCOD (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR
INDEX,
COUNT,
ID : INTEGER
CONST
MAX ̲COMMANDS
4.2.2.4.2.5 I̲N̲T̲E̲R̲P̲R̲E̲T̲ ̲C̲O̲M̲M̲A̲N̲D̲ ̲M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
4.2.2.4.2.5 a P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲T̲E̲R̲P̲R̲E̲T̲ ̲C̲O̲M̲M̲A̲N̲D̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The INTERPRET ̲COMMAND search the command-table for
the command delivered in the IN ̲BUFFER. If the command
is received subsequent to the reception of a COMMAND-key
only the command ERRO is accepted.
F̲l̲o̲w̲g̲r̲a̲m̲
Ref. Fig. 4.2.2.4.2.5.a - 1
PROCEDURE INTERPRET ̲COMMAND(IN ̲BUFFER:BYTE ̲ARR)
(COMMAND:COMMAND ̲PARAM,ACCEPT:BOOLEAN
INFO : INFO ̲TYPE)
INDEX = 2
IN ̲BUFFER(INDEX)NE COMMAND ̲SIZE?ERRORS.FIRST ̲FIELD=COMMAND
̲FIELD
ERRORS.TEXT.NO=31, NOE = 1
INDEX = INDEX + 2
PRINT ̲BUF.COMMAND=IN ̲BUFFER(INDEX..INDEX + 3)
FIND ̲COMMAND (PRINT ̲BUF) (COMMAND,NOE)
NOE GT 0 ?
COMMAND.CHECK ̲ID EQ TRUE? C̲H̲E̲C̲K̲ ̲I̲D̲(COMMAND,IN ̲BUFFER,INDEX)
(NOE)
PRINT ̲BUF. ID = 'SPACES'
NOE EQ 0 ?
ACCEPT = FALSE
INFO = CMD ̲ER
END INTERPRET ̲COMMAND
Fig.4.2.2.4.2.5.A-1
4.2.2.4.2.5.b F̲i̲n̲d̲ ̲C̲o̲m̲m̲a̲n̲d̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The command positioned in the Print Buffer is used
as a key to the command table to check if the command
is legal.
Exit from this procedure is a pointer to the command
table if command found else a text-no indicating the
error found.
F̲l̲o̲w̲g̲r̲a̲m̲
Ref fig. 4.2.2.4.5.b-1
PROCEDURE FIND ̲COMMAND (PRINT ̲BUF:PRINT ̲BUFFER)
(COMMAND:COMMAND ̲PARAM,NOE
̲INTEGER)
ACCEPT = FALSE
ERROR ̲DISP EQ TRUE ? COUNT=MAX ̲COMMANDS
COUNT = 0
LOOP "find command in command-table
COUNT = COUNT + 1
PRINT ̲BUF.COMMAND EQ COMMAND ̲TABLE(COUNT).COMMAND?ACCEPT=TRUE
COUNT GT MAX ̲COMMAND OR ACCEPT=TRUE? EXIT
END LOOP
ACCEPT EQ FALSE ? ERRORS.FIRST ̲FIELD = COMMAND ̲FIELD,
NOE = 1
ERROR ̲DISP EQ TRUE ? ERRORS.DISCODE=
33
ERRORS.DISCODE= 31
EQUIVALENCE (COMMAND ̲TABLE (COUNT),COMMAND:COMMAND
̲PARAM)
END FIND COMMAND
Figure 4.2.2.4.5 b-1
4.2.2.4.2.5 c P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲C̲H̲E̲C̲K̲ ̲I̲D̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
It is checked if the value of the ID is less than the
ID ̲MAX given in the command record, if not an error-text
is specified.
F̲l̲o̲w̲g̲r̲a̲m̲
Ref. Fig. 4.2.2.4.2.5 c-1
PROCEDURE CHECK ̲ID (COMMAND:COMMAND ̲PARAM,IN ̲BUFFER:BYTE
̲ARR,
INDEX:INTEGER) (NOE ̲INTEGER)
INDEX = INDEX + 2
IN ̲BUFFER(INDEX) GT 2 ? ERRORS.FIRST ̲FIELD = ID ̲FIELD
INDEX = INDEX + 2 ERRORS.DISCODE = 32, NOE = 1
PRINT ̲BUF. ID = IN ̲BUFFER (INDEX..INDEX + 1)
CONVERT PRINT ̲BUF.ID to binary and set to ID
ID GT 0
AND LT COMMAND.ID ̲MAX ?
ERRORS. FIRST ̲FIELD = ID.FIELD
ERRORS. DISCODE = 32
NOE = 1
END CHECK ̲ID
Figure 4.2.2.4.2.5 c-1
4.2.2.4.3 D̲I̲S̲P̲A̲T̲C̲H̲ ̲C̲O̲N̲T̲R̲O̲L̲
The data from the WDP ̲VDU are received as a byte array
in the IN ̲BUFFER together with a field-list containing
the information of each field received.
4.2.2.4.3.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) unpack the byte array "records"
b) hand over the unpacked data to the module associated
to the type of data (i.e. the PU, CU, TDX or SOFT
handling module) for control execution.
4.2.2.4.3.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) DISPATCH ̲CONTROL (BYTES ̲TRANSFERRED:INTEGER
IN ̲BUFFER : BYTE ̲ARR,
COMMAND:COMMAND ̲PARAM)
(ACCEPT : BOOLEAN,
INFO : INFO ̲TYPE )
b) DISPATCH ̲CONTROL (R0,R1,R2,R3,R4,R5,R6)
R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R 0 BYTES ̲TRANSFERRED
R 2 pointer IN ̲BUFFER
R 5 pointer COMMAND (kept)
R 6 link
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R 1 ACCEPT
R 3
R 4 INFO
4.2.2.4.3.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
The following components are included:
- DISPATCH CONTROL
- UNPACK ̲DATA
- LOG (common procedure)
ER ̲REC (common procedure)
- SEND ̲CONTROL ̲REQUEST (common procedure)
4.2.2.4.3.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a 1) T̲y̲p̲e̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
COMMAND ̲PARAM
PRINT ̲TYPE
INFO ̲TYPE
a 2) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
BYTES ̲TRANSFERRED
IN ̲BUFFER
COMMAND
ACCEPT
INFO ; I/F data
FLAG 4.2.2.5.4
VALID ̲BUFFER 4.2.2.5.2
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
COMMAND.CURRENT ̲MENU
PRINT (m)
ERRORS.DISCODE (m)
PRINT ̲LOG (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR COUNT ;
DC ,
BC : INTEGER
4.2.2.4.3.5 D̲e̲s̲i̲g̲n̲ ̲D̲I̲S̲P̲A̲T̲C̲H̲ ̲C̲O̲N̲T̲R̲O̲L̲
ref. fig. 4.2.2.3.1-3
4.2.2.4.3.5 a P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲I̲S̲P̲A̲T̲C̲H̲ ̲C̲O̲N̲T̲R̲O̲L̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲:̲
- identify "record"
- load data to Valid ̲Buffer
- organize data as integers
F̲l̲o̲w̲g̲r̲a̲m̲
ref. fig. 4.2.2.4.3.5 a-1
PROCEDURE DISPATCH ̲CONTROL(BYTES ̲TRANSFERRED:INTEGER,
IN ̲BUFFER:BUFFER,COMMAND:COMMAND
̲PARAM)
(ACCEPT:BOOLEAN,INFO:INFO ̲TYPE)
UNPACK ̲BYTES (BYTES ̲TRANSFERRED,IN ̲BUFFER)(VALID ̲BUFFER)
PRINT EQ IN ?
PRINT = INI
L̲O̲G̲ (PRINT)
CASE COMMAND.CURRENT ̲MENU OF
PUSY ? P̲U̲.̲H̲A̲N̲D̲L̲I̲N̲G̲ (COMMAND,VALID ̲BUFFER)(ACCEPT,INFO,
SEND ̲BUFFER)
CUSY ? C̲U̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲ (COMMAND,VALID ̲BUFFER)(ACCEPT,INFO,
SEND ̲BUFFER)
TDXS ? TDX ̲HANDLING (COMMAND,VALID ̲BUFFER)(ACCEPT,INFO,
SEND ̲BUFFER)
SOFT ? S̲O̲F̲T̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲ (COMMAND,VALID ̲BUFFER)(ACCEPT,INFO,
SEND ̲BUFFER,
)
END CASE
ACCEPT EQ FALSE OR INFO EQ NO ̲CONTROL ?
SEND ̲CONTROL ̲REQUEST (COMMAND,SEND ̲BUFFER)(FLAG )
FLAG EQ OK ?
PRINT = NO ̲AC
PRINT ̲LOG = TRUE, ERRORS.DISCODE=FLAG,ERRORS.FIRST
̲FIELD
ACCEPT = FALSE, INFO = CMD ̲ER
END DISPATCH ̲CONTROL
Figure 4.2.2.4.3.5.a-1
4.2.2.4.3.5 b P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲U̲N̲P̲A̲C̲K̲ ̲B̲Y̲T̲E̲S̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲:̲
The IOC records are unpacked (i.e. for each record
the heads are removed and if the data part contains
an odd number of bytes a #O is inserted in front of
the data string)
F̲l̲o̲w̲g̲r̲a̲m̲
ref fig. 4.2.2.4.3.5.b-1
PROCEDURE UNPACK ̲BYTES (BYTES ̲TRANSFERRED:BYTE ̲LENGTH
̲TYPE)
(VALID ̲BUFFER:BUFFER)
DC = 1
COUNT = 0
REPEAT ̲UNTIL ̲COUNT ̲EQ ̲BYTES ̲TRANSFERRED LOOP ̲1
COUNT = COUNT + 1
BC = IN ̲BUFFER (COUNT)
COUNT = COUNT + 1
REPEAT ̲UNTIL ̲BC ̲EQ ZERO LOOP-2
DC = DC + 1
COUNT = COUNT = 1
VALID ̲BUFFER (OC)=IN ̲BUFFER (COUNT)
BC = BC -1
BC EQ ZERO ? EXIT
END LOOP-2
DC ODD ? DC=DC + 1
COUNT EQ BYTES ̲TRANSFERRED ? EXIT
END LOOP 1
END PROCEDURE UNPACK ̲BYTES
Fig. 4.2.2.4.3.5b-1
4.2.2.4.4 P̲U̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲
The PU ̲HANDLING Module receives the unpacked data entered
via one of the formats contained in the PU Submenu.
4.2.2.4.4.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
The functions contained in the PU handling module are:
- Validate delete CIF data
- Validate switchover data
- Validate close down data
- Validate terminate operator only mode" data
Hereafter:
- if validation ok then set up "send params" record
- else call the error procedure
4.2.2.4.4.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) PU ̲HANDLING (COMMAND:COMMAND ̲PARAM,
VALID ̲BUFFER:BUFFER)
(ACCEPT, :BOOLEAN,INFO:INFO ̲TYPE,
SEND ̲BUFFER:BUFFER)
b) PU ̲HANDLING (R0,R1,R3,R4,R5,R6)
R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R 2 pointer to VALID ̲BUFFER
R 5 pointer to COMMAND (kept)
R 6 link
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R 1 ACCEPT
R 2 Pointer SEND ̲BUFFER
R 4 INFO
4.2.2.4.4.3 P̲U̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
The components contained are:
- PU ̲HANDLING
- DELETE ̲CIF
- SWITCHOVER ̲PU
- CLOSE ̲DOWN ̲PU
- OPERATOR ̲ONLY ̲TERMINATED
̲ ER ̲REC (common procedure)
4.2.2.4.4.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a 1) T̲y̲p̲e̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
COMMAND ̲PARAM,
INFO ̲TYPE,
BUFFER,
CLOSE ̲PU ̲TYPE,
RELATIVE ̲TIME ̲TYPE;
CLOSE ̲TYPE: 4.1.4.7
CIF ̲ID ̲REFERENCE CSF 4.1.6.1.4.1
a 2) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
COMMAND,
VALID ̲BUFFER,
ACCEPT,
NO ̲CON,
INFO,
SEND ̲BUFFER: I/F data
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
VALID ̲BUFFER
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR
ANSWER FLAG:BOOLEAN
specifies if the CMI has to return a "close-down
terminated" command to COPSY.
4.2.2.4.4.5 P̲U̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲ ̲D̲E̲S̲I̲G̲N̲
The procedures contained in the PU ̲Handling module
are shown in fig. 4.2.2.3.1-5 overleaf.
4.2.2.4.4.5 a P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲P̲U̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲:̲
The validation and set up of the output parameters
are given over to the procedures given by the FORMAT
̲ID in the COMMAND ̲PARAMS.
F̲l̲o̲w̲g̲r̲a̲m̲
ref fig. 4.2.2.4.4.5 a-1
PROCEDURE PU ̲HANDLING (COMMAND:COMMAND ̲PARAM,
VALID ̲BUFFER:BUFFER)
(ACCEPT,ANSWER ̲FLAG:BOOLEAN,
INFO:INFO ̲TYPE,
SEND ̲BUFFER:BUFFER)
CASE COMMAND FORMAT ̲ID OF:
DCIF ? D̲E̲L̲E̲T̲E̲ ̲C̲I̲ (VALID ̲BUFFER)(ACCEPT ̲INFO,SEND ̲BUFFER)
SWCH ? ANSWER ̲FLAG = TRUE
SWITCHOVER ̲PU (VALID ̲BUFFER)(ACCEPT,INFO,SEND ̲BUFFER)
CLOS ? VALID ̲BUFFER ( 1) EQ ACTIVE ̲PU ? ANSWER ̲FLAG=TRUE
C̲L̲O̲S̲E̲ ̲D̲O̲W̲N̲ ̲P̲U̲ (VALID ̲BUFFER)(ACCEPT,INFO,SEND ̲BUFFER)
OPRT ? VALID ̲BUFFER(1) EQ CLOSE ̲DOWN ̲SYSTEM? ANSWER ̲FLAG=TRUE
O̲P̲E̲R̲A̲T̲O̲R̲ ̲M̲O̲D̲E̲ (VALID ̲BUFFER)(ACCEPT,INFO,SEND ̲BUFFER)
END CASE
END PU ̲HANDLING
Figure 4.2.2.4.4.5 a-1
4.2.2.4.4.5 b P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲E̲L̲E̲T̲E̲ ̲C̲I̲F̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The specified CIF reference is converted from the ASCII
presentation to a 32 bit binary presentation (CIF ̲ID)
and sent to COPSY.
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.4.5 c P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲S̲W̲I̲T̲C̲H̲O̲V̲E̲R̲ ̲P̲U̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲:̲
- syntax check data in valid-buffer
- convert from ACII to internal types
- if no error return the PARAMS
- else call error procedure
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.1.5 f P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲C̲L̲O̲S̲E̲ ̲D̲O̲W̲N̲ ̲P̲U̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
- syntax check
- convert
- if standby PU specified check if standby exists
- if error call error procedure
- else return the PARAMS.
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.4.5 g P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲O̲P̲E̲R̲A̲T̲O̲R̲ ̲O̲N̲L̲Y̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The terminate operator only mode command is sent to
COPSY. The "close type" is specified.
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.5 S̲O̲F̲T̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲
The Soft ̲Handling Module receives the data entered
via the formats contained in the SOFT Submenu.
4.2.2.4.5.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The functions contained in the Soft Handling Module
are:
- validate data entered via the formats contained
in the Soft Submenu
- await answer of the control request send to COPSY,
i.e.
. Load of modified software
. Set mode
. Set trace mask
. Set Time of day
- complete the command if
. Print configuration
4.2.2.4.5.2 S̲o̲f̲t̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) SOFT ̲HANDLING (COMMAND:COMMAND ̲PARAM
VALID ̲BUFFER : BUFFER)
(ACCEPT : BOOLEAN,
INFO : INFO ̲TYPE,
SEND ̲BUFFER : SEND ̲BUF)
b) SOFT ̲HANDLING (R1, R2, R4, R5, R6)
R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R 2 pointer VALID ̲BUFFER
R 5 pointer COMMAND (kept)
R 6 LINK
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R 1 ACCEPT
R 2 Pointer SEND ̲BUFFER
R 4 INFO
4.2.2.4.5.3 C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
The Soft-Handling Module contains the following components
each implemented as a procedure:
- SOFT ̲HANDLING
- ADJUST ̲TIME
- LOAD ̲MODIFIED ̲SOFTWARE
- SET ̲TRACE ̲MASK
- PRINT ̲CONFIGURATION
- SYNTAX ̲PRINT ̲CONF
- PRINT.HEADER
- PRINT ̲LTUX ̲LINE ̲STATUS
- PRINT ̲LTU ̲LINE ̲STATUS
- PRINT ̲DISK ̲STATUS
- PRINT ̲SW ̲VERSION
- ER ̲REC (common procedure)
The components is shown in figure 4.2.2.4.5.5-1
4.2.2.4.5.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a 1) T̲y̲p̲e̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
SYSTEM ̲TIME : CSF 4.1.6.1.3.3
SW ̲TO ̲BE ̲LOADED,
TRACE ̲INF,
DISK ̲SW ̲VERSION: ref.sec. 4.1.4.7
COMMAND ̲PARAMS: ref.sec. 4.2.2.5.2
a 2) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
COMMAND,
VALID ̲BUFFER,
ACCEPT,
SEND ̲BUFFER,
INFO: I/F data
LTUX ̲TABLE 4.1.6.4.5.8
LTUX ̲LINE ̲TABLE 4.1.6.4.5.1
LTU ̲LINE ̲TABLE 4.1.6.4.5.2
LTU ̲TABLE 4.1.6.4.5.4
DISK ̲TABLE 4.1.6.4.5.7
TERMINAL ̲PROFILE,
DEVICE ̲PROFILE,
CHANNEL ̲PROFILE: DBD
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
INFO (m)
ACCEPT (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
NA
4.2.2.4.5.5 S̲O̲F̲T̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲ ̲M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The Soft-Handling Module contains the procedures shown
in fig. 4.2.2.3.1-6
4.2.2.4.5.5 a P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲S̲O̲F̲T̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The validation and execution of the commands are given
over to the procedures found by means of the command-table.
The data to be handled is positioned in the valid-buffer.
F̲l̲o̲w̲g̲r̲a̲m̲
ref. 4.2.2.4.5.5 a-1
PROCEDURE SOFT ̲HANDLING(COMMAND:COMMAND ̲PARAM,VALID ̲BUFFER:
BUFFER) (ACCEPT : BOOLEAN,
INFO : INFO ̲TYPE,
SEND ̲BUFFER : BUFFER)
CASE COMMAND ̲FORMAT ̲ID OF :
ADTM ? A̲D̲J̲U̲S̲T̲ ̲T̲I̲M̲E̲ (VALID ̲BUFFER) (ACCEPT,INFO,SEND ̲BUFFER)
LMOS ? L̲O̲A̲D̲ ̲M̲O̲D̲I̲F̲I̲E̲D̲ ̲S̲O̲F̲T̲W̲A̲R̲E̲ (VALID ̲BUFFER) (ACCEPT,INFO,
SEND ̲BUFFER)
STRM ? S̲E̲T̲ ̲T̲R̲A̲C̲E̲ ̲M̲A̲S̲K̲S̲ (VALID ̲BUFFER) (ACCEPT,INFO,
SEND ̲BUFFER)
PCON ? P̲R̲I̲N̲T̲ ̲C̲O̲N̲F̲I̲G̲U̲R̲A̲T̲I̲O̲N̲ (VALID ̲BUFFER) (ACCEPT,INFO)
PRSW ? P̲R̲I̲N̲T̲ ̲S̲W̲ ̲V̲E̲R̲S̲I̲O̲N̲ (VALID ̲BUFFER) (ACCEPT,INFO,
SEND ̲BUFFER)
END CASE
END SOFT ̲HANDLING
Figure 4.2.2.4.5.5 a-1
4.2.2.4.5.5 b P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲A̲D̲J̲U̲S̲T̲ ̲T̲I̲M̲E̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The time of day is adjusted with the number of seconds
specified. The Timer Monitor is requested for the SYSTEM
time and the adjustment is done. The Time to be set
are sent to CFH in COPSY.
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.5.5 c P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲L̲O̲A̲D̲ ̲M̲O̲D̲I̲F̲I̲E̲D̲ ̲S̲O̲F̲T̲W̲A̲R̲E̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
It is checked if the disks specified are mounted, before
a load command is sent to COPSY.
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.5.5 d P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲S̲E̲T̲ ̲T̲R̲A̲C̲E̲ ̲M̲A̲S̲K̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The trace parameters are checked for syntax errors
before sent to COPSY for execution
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.5.5 e P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲P̲R̲I̲N̲T̲ ̲S̲W̲ ̲V̲E̲R̲S̲I̲O̲N̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
If the offline disk is specified it is checked if the
disk is mounted.
Hereafter the COPSY is requested to printout the disk
information.
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.5.5 f P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲P̲R̲I̲N̲T̲ ̲C̲O̲N̲F̲I̲G̲U̲R̲A̲T̲I̲O̲N̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The status of the PUs, CUs, TDX ̲busses are printed
together with the status of the device(s) specified.
F̲l̲o̲w̲g̲r̲a̲m̲
ref. 4.2.2.4.5.5 f-1
PROCEDURE PRINT ̲CONFIGURATION(VALID ̲BUFFER:BUFFER)
(ACCEPT:BOOLEAN INFO:INFO ̲TYPE)
EQUIVALENCE (VALID ̲BUFFER,CHECK:CONFIG ̲PARAM)
S̲Y̲N̲T̲A̲X̲ ̲P̲R̲I̲N̲T̲ ̲C̲O̲N̲F̲
NOE GT 0 ? -ACCEPT=FALSE,INFO=DATAER
Convert record
P̲R̲I̲N̲T̲ ̲H̲E̲A̲D̲E̲R̲
CASE CHECK ̲PRINT ̲TYPE OF
LTUX ̲LINE? -P̲R̲I̲N̲T̲ ̲L̲T̲U̲X̲ ̲L̲I̲N̲E̲ ̲S̲T̲A̲T̲U̲S̲(CHECK.FIRST,CHECK.LAST)
LTU ̲LINE? -P̲R̲I̲N̲T̲ ̲L̲T̲U̲ ̲L̲I̲N̲E̲ ̲S̲T̲A̲T̲U̲S̲(CHECK.FIRST,CHECK.LAST)
DISK ? -P̲R̲I̲N̲T̲ ̲D̲I̲S̲K̲ ̲S̲T̲A̲T̲U̲S̲
ALL ?-P̲R̲I̲N̲T̲ ̲D̲I̲S̲K̲ ̲S̲T̲A̲T̲U̲S̲
P̲R̲I̲N̲T̲ ̲L̲T̲U̲X̲ ̲L̲I̲N̲E̲ ̲S̲T̲A̲T̲U̲S̲ (1, MAX ̲LTUX ̲LINES)
P̲R̲I̲N̲T̲ ̲L̲T̲U̲ ̲L̲I̲N̲E̲ ̲S̲T̲A̲T̲U̲S̲ (1, MAX ̲LTU ̲LINES)
END CASE
ACCEPT = TRUE
END PRINT ̲CONFIGURATION
Figure 4.2.2.4.5.5 f-1
4.2.2.4.5.5 g P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲S̲Y̲N̲T̲A̲X̲ ̲P̲R̲I̲N̲T̲ ̲C̲O̲N̲F̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The data entered via the format is checked for syntax
errors.
For type equal disks or all, the port-ids are ignored.
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.5.5 h P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲P̲R̲I̲N̲T̲ ̲H̲E̲A̲D̲E̲R̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The header includes the following status:
- PU # 1
- PU # 2
- CAMPS MODE
- IO ̲BUS ̲A
- IO ̲BUS ̲B
- TDX ̲BUS-1
- TDX-BUS-2
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.5.5 i P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲P̲R̲I̲N̲T̲ ̲L̲T̲U̲ ̲L̲I̲N̲E̲ ̲S̲T̲A̲T̲U̲S̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The status to be printed for a LTU ̲LINE indludes:
- device-type
- designator
- logical status
- HW status of the LTU ̲LINE associated LTU
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.5.5 j Procedure PRINT ̲LTUX ̲LINE ̲STATUS
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The status to be printed for a LTUX ̲LINE includes:
- device-type
- designator
- logical status
- HW status of the LTUX ̲LINE and the associated LTUX
and BSMX
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.5.5 k P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲P̲R̲I̲N̲T̲ ̲D̲I̲S̲K̲ ̲S̲T̲A̲T̲U̲S̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The status of the disks includes:
- disk type (mirrored 1 (2), floppy,offline)
- HW status
- mounted / dismounted
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.6 T̲D̲X̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲
The TDX ̲Handling module receives the data from the
formats contained in the TDX submenu.
4.2.2.4.6.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The functions contained in the TDX ̲Handling module
are:
- validate data entered via the LTUX ̲LINE format
- validate data entered via the LTUX format
- validate data entered via the BSM ̲X format
After validation the functions are:
- set up control record (to be sent to CFH in COPSY)
4.2.2.4.6.2 T̲D̲X̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) TDX ̲HANDLING (COMMAND:COMMAND ̲PARAM
VALID ̲BUFFER:BUFFER)
(ACCEPT : BOOLEAN
INFO : INFO ̲TYPE,
SEND ̲BUFFER : BUFFER)
b) TDX ̲HANDLING (R0, R1, R2, R3, R4, R5, R6)
R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R 2 Pointer VALID ̲BUFFER
R 5 Pointer COMMAND (kept)
R 6 Link
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R 1 ACCEPT
R 2 Pointer SEND ̲BUFFER
R 4 INFO
4.2.2.4.6.3 T̲D̲X̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
The TDX ̲HANDLING module contains:
- TDX ̲HANDLING
- CONTROL ̲LTUX ̲LINE
- SYNTAX ̲LXLN
- CONVERT ̲LXLN ̲REC
- LXLN ̲CHANGE
- VALIDATE ̲LXLN
- DEV ̲TYPE ̲VS ̲LTUX
- ALPHA ̲VS ̲DEVICE
- SPEED ̲VS ̲DEVICE
- CHECK ̲SPEEDS
- CONTROL ̲LTUX
- SYNTAX ̲LTUX
- CONVERT ̲LTUX ̲REC
- LTUX ̲CHANGE
- VALIDATE ̲LTUX
- VSMX ̲CONTROL
- SYNTAX ̲BSMX
- CONVERT ̲BSMX ̲REC
- VALIDATE ̲BSMX
- SEARCH ̲ENTRY (common procedure)
- SEARCH ̲NEXT ̲RECORDS (common procedure)
- ER-REC (common procedure)
4.2.2.4.6.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a 1) T̲y̲p̲e̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
COMMAND ̲PARAM 4.2.2.5.2
LTUX ̲LINE ̲REC 4.1.4.6.1
LTUX ̲REC 4.1.4.6.3
BSM ̲X ̲REC 4.1.4.6.5
INFO ̲TYPE 4.2.2.5.1
a 2) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
COMMAND,
VALID ̲BUFFER,
ACCEPT,
INFO,
SEND ̲BUFFER:I/F data
ALLMASK 4.1.4.7
LTUX ̲LINE ̲TABLE,
LTUX ̲TABLE,
BSM ̲X ̲TABLE 4.1.4.6
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
KEY ̲BUF . KEY (m)
TMP ̲BUF
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
TYPE LXLN ̲PARAM =
RECORD
TYPE ̲DEV : LTUX ̲LINE ̲DEV
ALPHABET : ALPHABET ̲TYPE
SPEED : SPEED ̲TYPE
STATUS : LINE ̲STATUS
END
Type LTUX ̲PARAM =
RECORD
TYPE ̲DEV : LTUX ̲TYPE
STATUS : LINE ̲STATUS
END
TYPE BSMX ̲PARAM =
RECORD
STATUS : HW ̲STATUS
END
VAR COUNT 1, COUNT 2, : INTEGER
VAR SPEED ̲TABLE : SPEEDS
TYPE SPEEDS
RECORD
VDU ̲SP,
PTP ̲SP,
PTR ̲SP,
OCR ̲SP,
MTP ̲RTOP ̲SP,
LTP ̲SP,
TRC ̲PTOP ̲SP,
NICS ̲TARE ̲LOCAL ̲SP,
NICS ̲TARE ̲REMOTE ̲SP,
SCARS ̲CCIS : INTEGER
END
4.2.2.4.6.5 D̲e̲s̲i̲g̲n̲
The procedures contained in the TDX module are shown
in fig. 4.2.2.3.1-7
4.2.2.4.6.5 a P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲T̲D̲X̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The validation and set of a pointer to the control
records (SEND ̲BUFFER) are given over to the procedure
given by the command. The data to be validated are
positioned in the VALID ̲BUFFER.
F̲l̲o̲w̲g̲r̲a̲m̲
See fig. 4.2.2.4.6.5 a-1
PROCEDURE TDX ̲HANDLING (COMMAND:COMMAND ̲PARAM,
VALID ̲BUFFER : BUFFER)
(ACCEPT : BOOLEAN
INFO ̲ INFO ̲TYPE,
SEND ̲BUFFER : BUFFER)
CASE COMMAND. FORMAT ̲ID OF:
LXLN ? C̲O̲N̲T̲R̲O̲L̲ ̲L̲T̲U̲X̲ ̲L̲I̲N̲E̲ (VALID ̲BUFFER)(ACCEPT,
INFO, SEND ̲BUFFER)
LTUX ? C̲O̲N̲T̲R̲O̲L̲ ̲L̲T̲U̲X̲ (VALID ̲BUFFER) (ACCEPT,
INFO,SEND ̲BUFFER)
BSMX ? C̲O̲N̲T̲R̲O̲L̲ ̲B̲S̲M̲X̲ (VALID ̲BUFFER) (ACCEPT,
INFO, SEND ̲BUFFER)
END CASE
END TDX ̲HANDLING
Figure 4.2.2.4.6.5.a-1
4.2.2.4.6.5 b P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲L̲T̲U̲X̲ ̲L̲I̲N̲E̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
Before the control is executed the following procedures
are used:
- syntax check of the LTUX ̲LINE format
- convert ASCII char to the defined scalars
- validate the control request (speed, type)
The record (LTUX ̲LINE ̲REC) is sent to COPSY.
F̲l̲o̲w̲g̲r̲a̲m̲
See Fig. 4.2.2.4.6.5 b-1
PROCEDURE CONTROL ̲LTUX ̲LINE (VALID ̲BUFFER : BUFFER)
(ACCEPT : BOOLEAN,
INFO : INTO:TYPE
REG 1 (ENTRY) : LTUX ̲LINE ̲REC)
EQUIVALENCE (VALID ̲BUFFER, CHECK:LXLN ̲PARAM)
S̲Y̲N̲T̲A̲X̲ ̲L̲X̲L̲N̲ (CHECK, NOE)
NOE GT O ? ACCEPT = FALSE, INFO = DATA ̲ER
CONVERT ̲LXLN ̲REC (CHECK) "record converted
KEY ̲BUF. KEY=ID
S̲E̲A̲R̲C̲H̲ ̲E̲N̲T̲R̲Y̲ (LTUX ̲LINE ̲RABLE, KEY ̲BUF, ALLMASK, TMP ̲BUF)
(VALID 1. BUFFER)
LXLN ̲CHANGE (CHECK, VALID. 1 ̲BUFFER) (ACCEPT, INFO)
INFO EQ NO ̲CHANGE ?
VALIDATE ̲LXLN (CHECK) (REG 1 (ENTRY) : LTUX ̲LINE ̲REC)
NOE GT O ACCEPT = FALSE, INFO = DATA ̲ER
END CONTROL LTUX ̲LINE
Figure 4.2.2.4.6.5 b-1
4.2.2.4.6.5 c P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲S̲Y̲N̲T̲A̲X̲ ̲L̲X̲L̲N̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The characters entered are checked for syntax errors.
If any error is found an error-record is returned.
Flowgram:
PROCEDURE SYNTAX ̲LXLN (CHECK:LXLN ̲PARAM) (NOE : INTEGER)
NOE = 0
CHECK. DEV ̲TYPE GT 0 AND LT 8 ?
ER ̲FIELD ̲NO=2, TEXT ̲NO = 6
ER ̲REC (ER ̲FIELD ̲NO, TEXT ̲NO) (NOE)
CHECK.ALPHABET EQ "SPACE" AND CHECK.DEV ̲TYPE GT 3 ?
CHECK.ALPHABET GT 0 AND LT 3 ?
ER ̲FIELD ̲NO 3, TEXT ̲NO = 6
ER ̲REC (ER ̲FIELD ̲NO, TEXT ̲NO) (NOE)
CHECK.SPEED GTO AND LT 10 ?
ER ̲FIELD ̲NO 3, TEXT ̲NO = 6
ER ̲REC (ER ̲FIELD ̲NO, TEXT ̲NO) (NOE)
CHECK.STATUS GTO AND LT 3 ?
ER ̲FIELD ̲NO = 4, TEXT ̲NO = 6
ER ̲REC (ER ̲FIELD ̲NO, TEXT ̲NO) (NOE)
END SYNTAX LXLN
Figure
4.2.2.4.6.5 d P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲C̲O̲N̲V̲E̲R̲T̲ ̲L̲X̲L̲N̲ ̲R̲E̲C̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The fields entered from the VDU are converted from
ASCII to the scalar type defined in data section.
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.6.5 e P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲L̲X̲L̲N̲ ̲C̲H̲A̲N̲G̲E̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
It is checked if any change have been made in the condition
of the line if not no control takes place.
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.6.5 f P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲V̲A̲L̲I̲D̲A̲T̲E̲ ̲L̲X̲L̲N̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The following errors are reported:
- device type not included in the LTUX-type
- speed not allowed for this type of device
- speed discrepancy with the neighbour line
- the total speed of the group exeed 9600 baud.
F̲l̲o̲w̲g̲r̲a̲m̲
Ref. fig. 4.2.2.4.6.5 f-1
PROCEDURE VALIDATE ̲LXLN (CHECK:LXLN ̲PARAM,
VALID ̲1 ̲BUFFER : BUFFER)
(NOE : INTEGER)
EQUIVALENCE (VALID ̲1 ̲BUFFER,REG:LTUX ̲LINE ̲REC)
KEY ̲BUF. KEY = REG.NO
S̲E̲A̲R̲C̲H̲ ̲E̲N̲T̲R̲Y̲ (LTUX ̲TABLE, KEY ̲BUF, ALLMASK, TMP ̲BUF)
(VALID ̲1 ̲BUFFER)
DEV ̲TYPE ̲VS ̲DEV (CHECK:LXLN ̲PARAM, REG:LTUX ̲REC) (NOE)
ALPHABET ̲VS ̲DEV (CHECK)
S̲E̲A̲R̲C̲H̲ ̲N̲E̲X̲T̲ ̲R̲E̲C̲O̲R̲D̲S̲ (LTUX ̲LINE ̲TABLE, REG.LTUX ̲LINE ̲NO,4)
VALID 2 ̲BUFFER)
EQUIVALENCE (VALID ̲2 ̲BUFFER, REG1:LTUX ̲LINE ̲REC)
ENTRY = REG1.NO = ID
ENTRY = ENTRY + 1
EQUIVALENCE (VALID ̲2 ̲BUFFER, REG 1:LTUX ̲LINES)
REG 1 (ENTRY). TYPE ̲DEV= CHECK.TYPE ̲DEV
.
.
REG 1 (ENTRY). STATUS = CHECK. STATUS
S̲P̲E̲E̲D̲ ̲V̲S̲ ̲D̲E̲V̲ (REG 1 (ENTRY) (SPEED ̲ER, NOE)
SPEED ̲ER ̲ EQ TRUE ?
C̲H̲E̲C̲K̲ ̲S̲P̲E̲E̲D̲S̲ (REG1) (NOE)
END VALIDATE ̲LXLN
Figure 4.2.2.4.6.5.f-1
4.2.2.4.6.5 g P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲E̲V̲ ̲T̲Y̲P̲E̲ ̲V̲S̲ ̲L̲T̲U̲X̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The device type is checked against the LTUX if status
of bith are "in-service". The er-rec procedure is called
is descrepancy.
F̲l̲o̲w̲g̲r̲a̲m̲
PROCEDURE DEV ̲TYPE ̲VS ̲LTUX (CHECK:LTUX ̲LINE ̲REC, LTUX
̲
PARAM: LTUX ̲REC) (NOE)
ACCEPT = TRUE
CHECK. STATUS NE IN ̲SERVICE OR LTUX ̲PARAM.STATUS NE
IN ̲
SERVICE ?
CASE CHECK. TYPE ̲DEV OF
VDU ? LTUX ̲PARAM.DEV ̲TYPE EQ VDU ̲LTUX ?
ACCEPT = FALSE
OCR ? LTUX ̲PARAM.DEV ̲TYPE EQ OCR ̲LTUX ?
ACCEPT = FALSE
OTHERS ? LTUX ̲PARAM.DEV ̲TYPE EQ OFH ̲LTUX ?
ACCEPT = FALSE
END CASE
ACCEPT = FALSE ? ER ̲REC (3, 5) (NOE)
END DEV ̲TYPE ̲VS ̲LTUX
4.2.2.4.6.5 h P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲A̲L̲P̲H̲A̲ ̲V̲S̲ ̲D̲E̲V̲I̲C̲E̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
If DEV ̲TYPE of PTP, PTR, LTP or TRC ̲PTOP alphabet is
updated else alphabet equal to ITA ̲5, that is the alphabet
specified in the format is not taken in account.
F̲l̲o̲w̲g̲r̲a̲m̲
PROCEDURE ALPHA ̲VS ̲DEVICE (CHECK:LTUX ̲LINE ̲REC)
CASE CHECK. DEV ̲TYPE OF:
PTP, PTR, LTP, TRC ̲PTOP
OTHERS ? LTUX ̲LINE. ALPHABET = ITA ̲5
END CASE
END ALPHA ̲VS ̲DEVICE
4.2.2.4.6.5 i P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲S̲P̲E̲E̲D̲ ̲V̲S̲ ̲D̲E̲V̲I̲C̲E̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
It is checked if the speed specified is legal for the
type of device.
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.6.5 j P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲C̲H̲E̲C̲K̲ ̲S̲P̲E̲E̲D̲S̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The speed of the lines associated to the LTUX specified
is checked. The following errors are reported:
- speed of to neighbour lines "in ̲service" not equal
- total speed of the group exeed 9600 baud
The record of the lines to be checked are positioned
in VALID ̲2 ̲BUFFER.
F̲l̲o̲w̲g̲r̲a̲m̲
Ref. fig. 4.2.2.4.6.5 i-1
PROCEDURE CHECK ̲SPEEDS (REG1 : LTUX ̲LINES) (NOE)
COUNT ̲1 = 0, COUNT ̲2 = 4, SUM = 0
LOOP "neighbour line check
COUNT ̲1 = COUNT ̲1 + 1
REG1 (COUNT ̲1). STATUS NE IN ̲SERVICE ? COUNT ̲1 # COUNT
̲1+1
SPEED = REG1 (COUNT ̲1)
COUNT ̲1 = COUNT ̲1 + 1
SPEED EQ REG1 (COUNT ̲1). SPEED ?
SPEED ̲ER = TRUE, TEXT ̲NO =
SPEED ̲ER EQ TRUE OR COUNT ̲1 EQ COUNT ̲2 ? EXIT
END LOOP
SPEED ̲ER EQ TRUE ? E̲R̲ ̲R̲E̲C̲ ( 6, 3, ) (NOE)
COUNT ̲1 = 0
LOOP "group check
COUNT ̲1 = COUNT ̲1 + 1
REG1 (COUNT ̲1). STATUS NE IN ̲SERVICE ?
REG1 (COUNT ̲1). SPEED EQ 9600 ̲BAUD ? SUM = SUM + 4
REG1 (COUNT ̲1). SPEED EQ 4800 ̲BAUD ? SUM = SUM + 2
SUM = SUM + 1
COUNT ̲1 EQ COUNT ̲2 ? EXIT
END LOOP
SUM GT 4 ? ER ̲REC ( 6, 4 ) (NOE)
END CHECK ̲SPEEDS
Figure 4.2.2.4.6.5 j-1
4.2.2.4.6.5 k P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲L̲T̲U̲X̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The LTUX parameters are validated and if accepted a
pointer to the send buffer (LTUX record), are returned.
If any error is found the error procedure is called.
F̲l̲o̲w̲g̲r̲a̲m̲
Ref. fig. 4.2.2.4.6.5 k-1
PROCEDURE CONTROL ̲LTUX(VALID ̲BUFFER : BUFFER)
(ACCEPT : BOOLEAN,
INFO : INFO ̲TYPE
REG : LTUX ̲REC)
EQUIVALENCE (VALID ̲BUFFER, CHECK:LTUX ̲PARAM)
S̲Y̲N̲T̲A̲X̲ ̲L̲T̲U̲X̲ (CHECK) (NOE)
NOE GT O ? ACCEPT = FALSE, INFO = DATA ̲ER
C̲O̲N̲V̲E̲R̲T̲ ̲L̲T̲U̲X̲ ̲R̲E̲C̲ (CHECK) "record converted
KEY ̲BUF, KEY = ID
S̲E̲A̲R̲C̲H̲ ̲E̲N̲T̲R̲Y̲ (LTUX ̲TABEL, KEY ̲BUF, ALLMASK, TMP ̲BUF)
(VALID ̲1 ̲BUFFER)
EQUIVALENCE (VALID ̲1 ̲BUFFER, REG:LTUX ̲REC)
L̲T̲U̲X̲ ̲C̲H̲A̲N̲G̲E̲ (CHECK, REG) (ACCEPT, INFO)
INFO EQ NO ̲CHANGE ?
V̲A̲L̲I̲D̲A̲T̲E̲ ̲L̲T̲U̲X̲ (CHECK, REG) (NOE)
NOE GT O ? ACCEPT = FALSE, INFO = DATA ̲ER
REG.TYPE ̲DEV = CHECK.TYPE ̲DEV
REG.STATUS = CHECK. STATUS
END CONTROL ̲LTUX
Figure 4.2.2.4.6.5 k-1
4.2.2.4.6.5 l Procedure SYNTAX ̲LTUX
N̲a̲r̲r̲a̲t̲i̲v̲e̲
It is checked if:
- device type is greater than zero and less than
4
- status is greater than zero and less than 3
In an error is found the er-rec procedure is called
return parameter is number of errors.
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.6.5 m P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲C̲O̲N̲V̲E̲R̲T̲ ̲L̲T̲U̲X̲ ̲R̲E̲C̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The device-type (ASCII) is converted to LTUX ̲DEVICE
̲TYPE.
The status is converted to HW ̲STATUS type.
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.6.5 n P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲L̲T̲U̲X̲ ̲C̲H̲A̲N̲G̲E̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The LTUX ̲PARAM and LTUX ̲REC are comparred and if no
change the data is accepted (INFO=NO ̲CHANGE).
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.6.5 o P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲V̲A̲L̲I̲D̲A̲T̲E̲ ̲L̲T̲U̲X̲ ̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
If the LTUX status is "in-service" it is checked if
the type of the LTUX fits to the associated LTUX lines
"in-service".
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.6.5 p P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲B̲S̲M̲X̲ ̲C̲O̲N̲T̲R̲O̲L̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
Before a control record can be sent to COPSY the following
check shall be accepted:
- syntax check
- validation check against TDX-bus.
F̲l̲o̲w̲g̲r̲a̲m̲
Ref. fig. 4.2.2.4.6.5 p-1
PROCEDURE BSMX ̲CONTROL (VALID ̲BUFFER : BUFFER)
(ACCEPT : BOOLEAN. INFO:INFO ̲TYPE,
REG: BSM ̲X ̲REC)
EQUIVALENCE (VALID ̲BUFFER, CHECK : BSM ̲X ̲PARAM)
S̲Y̲N̲T̲A̲X̲ ̲B̲S̲M̲ ̲X̲ (CHECK) (NOE)
NOE GTO ? ACCEPT = FALSE, INFO = DATA ̲ER
C̲O̲N̲V̲E̲R̲T̲ ̲B̲S̲M̲ ̲X̲ ̲R̲E̲C̲ (CHECK) "record converted
KEY ̲BUF . KEY = ID
S̲E̲A̲R̲C̲H̲ ̲E̲N̲T̲R̲Y̲ (BSM ̲X ̲TABLE, KEY ̲BUF, ALLMASK, TMP ̲BUF)
(VALID ̲1 ̲BUFFER)
EQUIVALENCE (VALID ̲1 ̲BUFFER, REG : BSM ̲X ̲REC)
CHECK. STATUS EQ REG.STATUS ? ACCEPT = TRUE, INFO = NO ̲CHANGE
V̲A̲L̲I̲D̲A̲T̲E̲ ̲B̲S̲M̲X̲ (CHECK, REG ) (NOE)
NOE GTO ? ACCEPT = FALSE, INFO = DATA ̲ER
REG.STATUS = CHECK. STATUS
END BSM ̲X ̲CONTROL
Figure 4.2.2.4.6.5 p-1
4.2.2.4.6.5 q P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲S̲Y̲N̲T̲A̲X̲ ̲B̲S̲M̲X̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The BSM ̲X record entered is checked for syntax errors.
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.6.5 r P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲C̲O̲N̲V̲E̲R̲T̲ ̲B̲S̲M̲X̲ ̲R̲E̲C̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The BSM ̲X record is converted from format data types
(ASCII) to internal type (HW ̲STATUS).
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.6.5 s P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲V̲A̲L̲I̲D̲A̲T̲E̲ ̲B̲S̲M̲X̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
If offline TDX bus specified it is checked if an offline
configuration is applicable.
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.7 C̲U̲-̲H̲a̲n̲d̲l̲i̲n̲g̲
The CU-Handling Module receives the data from the formats
contained in the CU submenu.
4.2.2.4.7.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The functions contained in the CU-Handling Module are:
- validate data entered via the LTU ̲LINE format
- validate data entered via the LTU format
- validate data entered via the DDRI format
- validate data entered via the VOLU format
After a successful validation the function is:
- set up of control parameters
If an error is found an error record is set up.
4.2.2.4.7.2 C̲U̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) CU ̲HANDLING (COMMAND:COMMAND ̲PARAM,
VALID ̲BUFFER : BUFFER)
(ACCEPT, INFO:INFO ̲TYPE,
SEND ̲BUFFER:SEND ̲BUF)
b) CU ̲HANDLING (R1, R2, R4, R5, R6)
R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R 2 pointer VALID ̲BUFFER
R 5 Pointer COMMAND
R 6 LINK
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R 1 ACCEPT
R 2 Pointer SEND ̲BUFFER
R 4 INFO
4.2.2.4.7.3 C̲U̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
The following components are included:
- CU ̲HANDLING
- CONTROL ̲LTU ̲LINE
- SYNTAX ̲LTLN
- CONVERT ̲LTLN ̲REC
- LTLN ̲CHANGE
- VALIDATE ̲LTLN
- DEVICE ̲VS ̲LTU
- CONTROL ̲LTU
- SYNTAX ̲LTU
- CONVERT ̲LTU ̲REC
- VALIDATE ̲LTU
- CONTROL ̲DISK ̲ASSION
- MOUNT ̲DISMOUNT ̲VOLUME
- ER ̲REC (common procedure)
SEARCH ̲ENTRY (common procedure)
The above mentioned components are implemented as procedures.
D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a 1) T̲y̲p̲e̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
COMMAND ̲PARAM 4.2.2.5.2
LTU ̲LINE ̲REC 4.1.4.6.2
LTU ̲REC 4.1.4.6.4
DISK ̲PARAM 4.1.4.6.7
INFO ̲TYPE 4.2.2.5.1
a 2) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
COMMAND
VALID ̲BUFFER
ACCEPT
INFO
SEND ̲BUFFER : I/F data
ALLMASK: 4.1.4.7
LTU ̲LINE ̲TABLE,
LTU ̲TABLE,
DISK ̲TABLE: 4.1.4.6
VALID ̲1 ̲BUFFER,
VALID-2 ̲BUFFER 4.2.2.5.1
SPEED ̲TABLE ref. 4.2.2.4.6.4
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
KEY ̲BUF. KEY m
TMP ̲BUF
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
Type LTLN ̲PARAM =
RECORD
TYPE ̲DEV : LTU ̲LINE ̲DEV
SPEED : SPEED ̲TYPE
STATUS : LINE ̲STATUS
END
TYPE LTU ̲PARAM =
RECORD
TYPE ̲DEV : LTU ̲TYPE
STATUS : LINE ̲STATUS
END
TYPE DISK ̲SET =
RECORD
TYPE ̲DEV : OPERATOR ̲DISKS
STATUS : DISK ̲STATUS
END
TYPE VOLUME ̲PARAM:
RECORD
VOLUME ̲NAME : ARRAY (1..16) OF CHARS
STATUS : DISK ̲STATUS
END
4.2.2.4.7.5 C̲U̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲ ̲D̲e̲s̲i̲g̲n̲
The procedures contained in the CU ̲HANDLING Module
are shown in fig. 4.2.2.3.1-8
4.2.2.4.7.5 a P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲C̲U̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The validation and set up of control records (SEND
̲PARAM) are given over to the procedure given by the
command. The input data received from the VDU is positioned
in the VALID ̲BUFFER.
F̲l̲o̲w̲g̲r̲a̲m̲
See fig. 4.2.2.4.7.5.a-1
PROCEDURE CU ̲HANDLING (COMMAND:COMMAND ̲PARAM,
VALID ̲BUFFER : BUFFER)
(ACCEPT : BOOLEAN
INFO : INFO ̲TYPE
SEND ̲BUFFER : BUFFER)
CASE COMMAND.FORMAT ̲ID OF:
LTLN ? C̲O̲N̲T̲R̲O̲L̲ ̲L̲T̲U̲ ̲L̲I̲N̲E̲ (VALID ̲BUFFER) (ACCEPT,INFO
SEND ̲BUFFER)
LTUU ? C̲O̲N̲T̲R̲O̲L̲ ̲L̲T̲U̲ (VALID ̲BUFFER) (ACCEPT, INFO,
SEND ̲BUFFER)
DDRI ? C̲O̲N̲T̲R̲O̲L̲ ̲D̲I̲S̲K̲ ̲A̲S̲S̲I̲G̲N̲ (VALID ̲BUFFER) (ACCEPT, INFO,
SEND ̲BUFFER)
VOLU ? C̲O̲N̲T̲R̲O̲L̲ ̲V̲O̲L̲U̲M̲E̲ (VALID ̲BUFFER) (ACCEPT, INFO,
SEND ̲BUFFER)
END CASE
END CU ̲HANDLING
Figure 4.2.2.4.7.5.a-1
4.2.2.4.7.5 b P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲C̲O̲N̲T̲R̲O̲L̲ ̲L̲T̲U̲ ̲L̲I̲N̲E̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
Before the control is executed the following procedures
are used:
- syntax check of the LTU ̲LINE format
- convert the format from ASCII to the actual scalar
value.
If the control record is accepted a control request
containing the record to be sent to COPSY.
If the control record is not accepted by CMI an error
record is returned.
F̲l̲o̲w̲g̲r̲a̲m̲
See fig. 4.2.2.4.7.5 b-1
PROCEDURE CONTROL ̲LTU ̲LINE (VALID ̲BUFFER : BUFFER)
(ACCEPT : BOOLEAN
INFO ̲ INFO ̲TYPE
REG : LTU ̲LINE ̲REC)
EQUIVALENCE (VALID ̲BUFFER, CHECK : LTN ̲PARAM)
S̲Y̲N̲T̲A̲X̲ ̲L̲T̲L̲N̲ (CHECK) (NOE)
NOE GT O ? ACCEPT = FALSE, INFO = DATA ̲ER
C̲O̲N̲V̲E̲R̲T̲ ̲L̲T̲L̲N̲ ̲R̲E̲C̲ (CHECK) "record converted
KEY ̲BUF. KEY = ID
S̲E̲A̲R̲C̲H̲ ̲E̲N̲T̲R̲Y̲ (LTN ̲LINE ̲TABLE, KEY ̲BUF. ALLMASK, TMP ̲BUF)
(VALID ̲1 ̲BUFFER)
EQUIVALENCE (VALID ̲1 ̲BUFFER, REG : LTU ̲LINE ̲REC)
L̲T̲L̲N̲ ̲C̲H̲A̲N̲G̲E̲ (CHECK. REG) (ACCEPT, INFO)
INFO EQ NO ̲CHANGE ?
V̲A̲L̲I̲D̲A̲T̲E̲ ̲L̲T̲L̲N̲ (CHECK, REG) (NOE)
NOE GT O ? ACCEPT = FALSE, INFO = DATA ̲ER
REG.TYPE ̲DEV = CHECK. TYPE ̲DEV
REG. SPEED = CHECK. SPEED
REG. STATUS = CHECK. STATUS
END CONTROL ̲LTU ̲LINE
Figure 4.2.2.4.7.5 b-1
4.2.2.4.7.5 c P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲S̲Y̲N̲T̲A̲X̲ ̲L̲T̲L̲N̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The data from the LTU ̲LINE format is checked for syntax
errors. If any, an error-record containing the fields
in error.
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.7.5 d P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲C̲O̲N̲V̲E̲R̲T̲ ̲L̲T̲L̲N̲ ̲R̲E̲C̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The ASCII chars from the LTLN format are converted
to the scalar types used in the LTU ̲LINE record.
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.7.5 e P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲L̲T̲L̲N̲ ̲C̲H̲A̲N̲G̲E̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
It is checked if the fields of the record is the valid-buffer
and the record in the valid-1-buffer are identically.
If so no control is to be executed.
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.7.5 f P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲V̲A̲L̲I̲D̲A̲T̲E̲ ̲L̲T̲L̲N̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The following semantic cheks are completed:
- device type against LTV type
- max configuration on the LTV
- speed against device
F̲l̲o̲w̲g̲r̲a̲m̲ ̲
Ref. fig. 4.2.2.4.7.5.f-1
PROCEDURE VALIDATE ̲LTLN (CHECK:LTLN ̲PARAM, REC:LTU ̲LINE
̲REC
(NOE : INTEGER)
KEY ̲BUF. KEY = REG. NO
S̲E̲A̲R̲C̲H̲ ̲E̲N̲T̲R̲Y̲(LTU ̲TABLE,KEY ̲BUF,ALLMASK,TMP ̲BUF)(VALID ̲2 ̲BUFFER)
EQUIVALENCE (VALID ̲2 ̲BUFFER, MOTHER:LTU ̲REC)
REG.STATUS NE IN ̲SERVICE OR MOTHER.STATUS NE IN ̲SERVICE ?
D̲E̲V̲I̲C̲E̲ ̲V̲S̲ ̲L̲T̲U̲ (CHECK, MOTHER) (NOE)
DEVICE = CHECK. TYPE ̲DEV
CHECK. SPEED AND SPEED ̲MASKS (DEVICE) GT O ?
TEXT ̲NO = 2 ER ̲FIELD = 5
ER ̲REC (ER ̲FIELD, TEXT ̲NO) (NOE)
END VALIDATE ̲LTLN
Figure 4.2.2.4.7.5 f-1
4.2.2.4.7.5 g P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲E̲V̲I̲C̲E̲ ̲V̲S̲ ̲L̲T̲U̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
It is checked if the type of device specified is contained
in the associated LTU and if number of devices connected
is configurable.
F̲l̲o̲w̲g̲r̲a̲m̲
Ref. fig. 4.2.2.4.7.5.g-1
PROCEDURE DEVICE ̲VS ̲LTU (CHECK ̲LTLN ̲PARAM, MOTHER:LTU ̲REC)
(ACCEPT : BOOLEAN
NO = CHECK. NO
NO EQ MOTHER:LTU ̲LINE ̲NO ? NO = NO + 1
NO = NO - 1
KEY ̲BUF. = KEY = NO
S̲E̲A̲R̲H̲ ̲E̲N̲T̲R̲Y̲ (LTU ̲LINE ̲TABLE. KEY ̲BUF, ALLMASK, TMP ̲BUF)
(VALID ̲3 ̲BUFFER)
EQUIVALENCE (VALID ̲BUFFER, NEIGHBOUR : LTU ̲LINE ̲REC)
CASE CHECK. TYPE ̲DEV OF :
NICS ̲TARE ̲LOCAL ? MOTHER.TYPE ̲DEV EQ NICS ̲RARE ̲LOCAL
?
ACCEPT = FALSE
NICS ̲TARE ̲REMOTE ? MOTHER.TYPE ̲DEV EQ NICS ̲TARE ̲REMOTE
?
ACCEPT = FALSE
SCARS ̲CCIS ? MOTHER.TYPE ̲DEV EQ SCARS ̲CCIS ̲LTU ?
NEIGHBOUR.STATUS OUT ̲OF ̲SERVICE?
ACCEPT = FALSE
ACCEPT = FALSE
CSSI ̲VDU, CSSI ̲ROP ? MOTHER.TYPE ̲DEV EQ CSSI ̲LTU ?
ACCEPT = FALSE
END CASE
ACCEPT EQ TRUE ?
TEXT ̲NO EQ 20 ?
TEXT ̲NO = 5
ER ̲REC (3, TEXT ̲NO) (NOE)
END DEVICE ̲VS ̲LTU
Figure 4.2.2.4.7.5 g-1
4.2.2.4.7.5 h P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲C̲O̲N̲T̲R̲O̲L̲ ̲L̲T̲U̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
Before the control is executed the following procedure
are used:
- syntax check of LTU format
- convert LTU format.
If the control record differs from the present record
and the changes are accepted a control request with
the control record is sent to COPSY. If the control
record is not accepted by the CMI an error record is
returned.
F̲l̲o̲w̲g̲r̲a̲m̲
Ref. fig. 4.2.2.4.7.5 h-1
PROCEDURE CONTROL ̲LTU (VALID ̲BUFFER : BUFFER) (ACCEPT:BOOLEAN,
INFO : INFO ̲TYPE, REG : LTU ̲REC)
EQUIVALENCE (VALID ̲BUFFER, CHECK : LTU ̲PARAM)
S̲Y̲N̲T̲A̲X̲ ̲L̲T̲U̲ (CHECK) (NOE)
NOE GTO ? ACCEPT = FALSE, INFO = DATA ̲ER
C̲O̲N̲V̲E̲R̲T̲ ̲L̲T̲U̲ ̲R̲E̲C̲ (CHECK) "record converted
KEY ̲BUF. KEY = ID
S̲E̲A̲R̲C̲H̲ ̲E̲N̲T̲R̲Y̲ (LTU ̲TABLE, KEY.BUF, ALLMASK, TMP ̲BUF)
(VALID ̲1 ̲BUFFER)
EQUIVALENCE (VALID ̲1 ̲BUFFER, REG : LTU ̲REC)
CHECK.STATUS EQ REG.STATUS AND CHECK.TYPE ̲DEV EQ REG. TYPE
̲DEV ?
INFO = NO ̲CHANGE
V̲A̲L̲I̲D̲A̲T̲E̲ ̲L̲T̲U̲ (CHECK. REG) (NOE)
NOE GTO ? ACCEPT = FALSE, INFO = DATA ̲ER
REG.TYPE ̲DEV = CHECK. TYPE ̲DEV
REG. STATUS = CHECK. STATUS
END CONTROL LTU
Figure 4.2.2.4.7.5 h-1
4.2.2.4.7.5 i P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲S̲Y̲N̲T̲A̲X̲ ̲L̲T̲U̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The LTU parameters in the valid-buffer are checked
for syntax errors. If any an error-record is returned.
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.7.5 j P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲C̲O̲N̲V̲E̲R̲T̲ ̲L̲T̲U̲ ̲R̲E̲C̲ ̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The LTU parameters are converted from ASCII to scalar
types.
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.7.5 k P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲V̲A̲L̲I̲D̲A̲T̲E̲ ̲L̲T̲U̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
If status equal "in-service" it is checked if the lines
"in-service" are contained in the LTU ̲type. If not
accepted an error is returned.
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.7.5 l P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲C̲O̲N̲T̲R̲O̲L̲ ̲D̲I̲S̲K̲ ̲A̲S̲S̲I̲G̲N̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The control data are syntax checked.
F̲l̲o̲w̲g̲r̲a̲m̲
Ref. fig. 4.2.2.4.7.5.l-1
PROCEDURE CONTROL ̲DISK ̲ASSIGN (VALID ̲BUFFER : BUFFER)
(ACCEPT : BOOLEAN
INFO : INFO ̲TYPE
CHECK : DISK ̲PARAM)
EQUIVALENCE (VALID ̲BUFFER, CHECK : DISK ̲DATA)
CHECK. TYPE ̲DEV GT 0 OR LT 5 ?
E̲R̲ ̲R̲E̲C̲ ( 2, 6 ) (NOE)
CHECK. STATUS GT 0 OR LT 3 ?
E̲R̲ ̲R̲E̲C̲ ( 4, 6) (NOE)
NOE GT 0 ? ACCEPT = FALSE, INFO = DATA ̲ER
CONVERT ̲RECORD
END CONTROL ̲DISK ̲ASSIGN
Figure 4.2.2.4.7.5 l -1
4.2.2.4.7.5 m P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲M̲O̲U̲N̲T̲ ̲D̲I̲S̲M̲O̲U̲N̲T̲ ̲F̲L̲O̲P̲P̲Y̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The entered command for the floppy disk is syntax checked.
F̲l̲o̲w̲g̲r̲a̲m̲
N/A
4.2.2.4.8 T̲E̲R̲M̲I̲N̲A̲T̲E̲ ̲I̲N̲P̲U̲T̲
The Terminate Input Module is used as the link for
output to the WDP ̲VDU and WDP ̲ROP.
4.2.2.4.8.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
The Terminate Input Module completes the:
- function-key input
- input from the command-line
- data from the format fields
.error-code display
.data accept.
When a format is cancelled or accepted a log is sent
to the WDP line printer. The IO operation is terminated
by associating a new IO-operation (receive-control,
input fields) to a common operation semaphore CMI ̲SEM.
4.2.2.4.8.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) TERMINATE ̲INPUT (ACCEPT : BOOLEAN,
INFO : INFO ̲TYPE,
KEY : KEY ̲TYPE
COMMAND:COMMAND ̲PARAM)
b) TERMINATE ̲INPUT (R1, R3, R4, R6)
R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R 1 ACCEPT
R 3 KEY
R 4 INFO
R 5 Pointer to COMMAND
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
N/A
4.2.2.4.8.3 T̲E̲R̲M̲I̲N̲A̲T̲E̲ ̲I̲N̲P̲U̲T̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
The following components are included in the TERMINATE
̲INPUT Module:
- TERMINATE ̲INPUT
- INVALID ̲ENTRY
- SET ̲RECEIVE ̲CONTROL (common procedure)
- DISPLAY ̲RESPONSES
- CURSOR ̲POSITION ̲SET (common procedure)
- OUTPUT ̲FIELDS (common procedure)
- SEND ̲ERROR ̲CODE
- CHANGE ̲ATTRIBUTES
- START ̲ALL ̲OVER
- KEY TERMINATE
- CANCEL INPUT
- CLEAN ̲COMMAND ̲SPLIT (common procedure)
- COMMAND ̲KEY ̲RECEIVED
- COMMAND ̲TERMINATE
- DISPLAY FORMATS (common procedure)
- DISPLAY AND RETURN
- DISPLAY FIELDS
- SEARCH ̲ENTRY (common procedures)
- CONVERT ̲LXLN ̲REC
- CONVERT ̲LTUX ̲REC
- CONVERT ̲BSM ̲X ̲REC
- CONVERT ̲LTLN ̲REC
- CONVERT ̲LTU ̲REC
each of the components are implemented as a procedure.
4.2.2.4.8.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a 1) T̲y̲p̲e̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
COMMAND ̲PARAM 4.2.2.5.2
INFO ̲TYPE, 4.2.2.5.1
KEY ̲TYPE;
a 2) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
ACCEPT
INFO
KEY
COMMAND : I/F data
COMMAND ̲SPLIT ̲FIELDS: 4.2.2.5.3
COMMAND ̲SIZE, ID ̲REC ̲SIZE, RESPONSE ̲REG ̲SIZE,
CLEAR ̲COMMAND ̲LINE,
COMMAND ̲FIELD,RESPONSE ̲FIELD,
TEXT ̲ARR,
ERRORS,
VALID BUFFER: 4.2.2.5.1
FIELD ̲LISTS: 4.2.2.5.3
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
DATA ̲TYPE
COMMAND ̲SPLIT ̲FIELDS.FIELD ̲OUT (m)
INTERFACE ̲NO (m)
ERROR ̲DISP
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
COUNT
MAXCOUNT : INTEGER
SAVE ̲CURSOR : BOOLEAN
DATA ̲FIELDS : POINTER
VAR LXLN ̲BUFFER = ARRAY (1..50) of bytes
LTUX ̲BUFFER = ARRAY (1..28) of bytes
BSMX ̲BUFFER = ARRAY (1..16) of bytes
LTLN ̲BUFFER = ARRAY (1..38) of bytes
LTU ̲BUFFER = ARRAY (1..28) of bytes
ER ̲BUFFER = ARRAY (1..7) of bytes
4.2.2.4.8.5 T̲e̲r̲m̲i̲n̲a̲t̲e̲ ̲I̲n̲p̲u̲t̲ ̲D̲e̲s̲i̲g̲n̲
Ref. Fig. 4.2.2.3.1-4
4.2.2.4.8.5 a P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲T̲e̲r̲m̲i̲n̲a̲t̲e̲-̲I̲n̲p̲u̲t̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
If input from the VDU is not accepted the operator
is given a directive and a correction of the input
is awaited.
For data accepted the VDU is set ready for next input
and if log is required, a log is sent to the WDP-lineprinter
if present.
F̲l̲o̲w̲g̲r̲a̲m̲
The flowgram of the Terminate-Input Procedure is given
in fig. 4.2.2.4.8.4 a-1 overleaf.
PROCEDURE TERMINATE ̲INPUT (ACCEPT:BOOLEAN, INFO : INFO ̲TYPE
COMMAND:COMMAND ̲PARAM)
ACCEPT EQ FALSE ? I̲N̲V̲A̲L̲I̲D̲ ̲E̲N̲T̲R̲Y̲ (INFO, COMMAND)
CASE DATA ̲TYPE OF
FUNCTION ̲KEYS ? K̲E̲Y̲ ̲T̲E̲R̲M̲I̲N̲A̲T̲E̲ (INFO)
COMMANDS ? C̲O̲M̲M̲A̲N̲D̲ ̲T̲E̲R̲M̲I̲N̲A̲T̲E̲ (COMMAND)
DATA ? D̲A̲T̲A̲ ̲T̲E̲R̲M̲I̲N̲A̲T̲E̲ (COMMADN)
END CASE
END TERMINATE ̲INPUT
Figure 4.2.2.4.8.4 a-1
4.2.2.4.8.5 b P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲V̲A̲L̲I̲D̲ ̲E̲N̲T̲R̲Y̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The consequence of an invalid entry is:
- display of an error message on the response-line
or
- display of an error-code on level with the field
in error
The cursor is positioned in accordance with the type
of error.
F̲l̲o̲w̲g̲r̲a̲m̲
Ref. fig. 4.2.2.4.8.5 b-1
PROCEDURE INVALID ̲ENTRY (INFO; INFO ̲TYPE,COMMAND:COMMAND
̲PARAM)
"The subprocedure in the case
"statement uses the "ERRORS"
(ref. 4.2.2.6.1.1.3 c)
"data
CASE INFO ̲ OF:
KEY ̲ER ?
CMD ̲ER ? D̲I̲S̲P̲L̲A̲Y̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲
DATA ̲ER ? S̲E̲N̲D̲ ̲E̲R̲R̲O̲R̲ ̲C̲O̲D̲E̲ (COMMAND)
START ̲UP ? S̲T̲A̲R̲T̲ ̲A̲L̲L̲ ̲O̲V̲E̲R̲
END CASE
SET ̲RECEIVE ̲CONTROL
END INVALID ̲ENTRY
Figure 4.2.2.4.8.5 b-1
4.2.2.4.8.5 c P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲I̲S̲P̲L̲A̲Y̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
If the operator has entered an invalid command/id or
specified a not executable command via a format, the
display-response procedure displays a directive text
on the response-line and returns the cursor to the
command-split.
F̲l̲o̲w̲g̲r̲a̲m̲
Ref. fig. 4.2.2.4.8.5 c-1
PROCEDURE DISPLAY ̲RESPONSE "ERRORS ref. 4.2.2.6.1.1.3-c
INTERFACE ̲NO = COMMAND ̲SPLIT
ERRORS.DIS ̲CODE (1) EQ 31 OR 32 ?
FIELD ̲NO = COMMAND ̲FIELD
EQUIVALENCE (COMMAND ̲SPLIT ̲FIELDS. FIELD ̲OUT, REG:
FIELD ̲LIST
̲INFO)
REG.FIRST ̲FIELD = COMMAND ̲FIELD
REG.NUMBER ̲OF ̲FIELDS = 2
REG.BYTE ̲LENGTH = COMMAND ̲REC ̲SIZE+ ID ̲REF ̲SIZE
O̲U̲T̲P̲U̲T̲ ̲F̲I̲E̲L̲D̲S̲ (CMD ̲SP ̲DATA,CLEAR ̲COMMAND ̲LINE,
COMMAND ̲SPLIT ̲FIELDS)
EQUIVALENCE(COMMAND ̲SPLIT ̲FIELDS.FIELD ̲OUT,REG:FIELD ̲LIST
̲INFO)
REG.FIRST ̲FIELD = RESPONSE ̲FIELD
REG.NUMBER ̲OF ̲FIELDS = 1
REG.BYTE ̲LENGTH = RESPONSE ̲REG ̲SIZE
O̲U̲T̲P̲U̲T̲ ̲F̲I̲E̲L̲D̲S̲ (CMD ̲SP ̲DATA, TEXT ̲ARR(ERRORS.DIS ̲CODE (1)
))
C̲U̲R̲S̲O̲R̲ ̲P̲O̲S̲I̲T̲I̲O̲N̲ ̲S̲E̲T̲ (COMMAND ̲SPLIT ̲FIELDS, ERRORS, FIRST
̲FIELD)
END DISPLAY ̲RESPONSE
Figure 4.2.2.4.8.5 c-1
4.2.2.4.8.5 d P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲S̲E̲N̲D̲ ̲E̲R̲R̲O̲R̲ ̲C̲O̲D̲E̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The error code(s) from the error-record is displayed
on level with the field in error (only the first field
error if more on the line as referred).
The cursor is positioned in the first field in error.
F̲l̲o̲w̲g̲r̲a̲m̲
Ref. Fig. 4.2.2.4.8.5 d-1
PROCEDURE SEND ̲ERROR ̲CODE (COMMAND:COMMAND ̲PARAM)
"ERRORS ref. 4.2.2.6.1.1.3 c
"ERROR ̲FIELDS ref. 4.2.2.5.3
MAX ̲COUNT = ERRORS.NOTEXT
COUNT = 0
EQUIVALENCE (COMMAND.FIELD ̲LIST.FIELD ̲LIST,REG:
FIELD ̲DESCRIPTOR
̲TYPE)
LOOP
COUNT = COUNT + 1
FIRST ̲FIELD = ERRORS.DISCODE (COUNT)
ERROR ̲FIELDS (3) = REG (FIRST ̲FIELD) "field descriptor
copied
TEXT ̲NO = ERRORS.TEXT ̲NO
convert text no to ASCII and load into ER ̲BUFFER
O̲U̲T̲P̲U̲T̲ ̲F̲I̲E̲L̲D̲S̲ (ER ̲BUFFER, ERROR ̲FIELDS)
COUNT EQ MAX ̲COUNT ? EXIT
END LOOP
ERRORS. NOTEXT = 0
CURSOR ̲POSITION ̲SET (REG (ERRORS.FIRST ̲FIELD))
END SEND ̲ERROR ̲CODE
Figure 4.2.2.4.8.5 d-1
4.2.2.4.8.5 e P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲C̲H̲A̲N̲G̲E̲ ̲A̲T̲T̲R̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The attributes of the fields in error are changed.
F̲l̲o̲w̲g̲r̲a̲m̲
PROCEDURE CHANGE ̲ATTR (COMMAND:COMMAND ̲PARAM)
COUNT = 0
MAX ̲COUNT ERRORS.NOE
LOOP
COUNT = COUNT + 1
FIELD% = COMMAND.FIELD ̲LIST.FIELD ̲LIST(ERRORS.ATTRIBUT(COUNT)
CASE CHANGE ̲FIELD ̲ATTR (INTERFACE ̲NO, FIELD%, NEW ̲ATTR)
(CC) : ERROR ̲OK
ERROR ? ANALYZE ̲ERROR (CC, 0)
OK ?
END CASE
COUNT EQ MAX ̲COUNT
END LOOP
ERRORS. NOE = 0
END CHANGE ̲ATTR.
4.2.2.4.8.5 f P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲S̲T̲A̲R̲T̲ ̲A̲L̲L̲ ̲O̲V̲E̲R̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
After a start-up command from COPSY the VDU is cleared,
the high level menu is displayed and a text is displayed
on the response line.
F̲l̲o̲w̲g̲r̲a̲m̲
PROCEDURE START ̲ALL ̲OVER
ERRORS. FIRST ̲FIELD = COMMAND ̲FIELD
ERRORS.DIS ̲CODE (1) = SYSTEM ̲READY
D̲I̲S̲P̲L̲A̲Y̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲
INTERFACE ̲NO = FORMAT ̲SPLIT
FORMAT ̲ID = HIME
D̲I̲S̲P̲L̲A̲Y̲ ̲F̲O̲R̲M̲A̲T̲ (FORMAT ̲ID)
INTERFACE-̲NO = COMMAND-̲SPLIT
END START ̲ALL ̲OVER
4.2.2.4.8.5 g P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲K̲E̲Y̲ ̲T̲E̲R̲M̲I̲N̲A̲T̲E̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
Depending on the key received actions are:
- transmit data from VDU (ENTER)
- return to current menu and await new command
- exit from format to display error-code explanation,
await new command
F̲l̲o̲w̲g̲r̲a̲m̲
Ref. fig. 4.2.2.4.8.5 g-1
PROCEDURE KEY ̲TERMINATE (KEY:KEY ̲TYPE, COMMAND:COMMAND
̲PARAM)
CASE KEY OF ?
ENTER ̲K ? I̲N̲P̲U̲T̲ ̲F̲I̲E̲L̲D̲S̲ (COMMAND)
CANCEL ̲K ? C̲A̲N̲C̲E̲L̲ ̲I̲N̲P̲U̲T̲ (COMMAND)
CMD ̲KEY ? C̲O̲M̲M̲A̲N̲D̲ ̲K̲E̲Y̲ ̲R̲E̲C̲E̲I̲V̲E̲D̲
OTHERS ? S̲E̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲C̲O̲N̲T̲R̲O̲L̲
END CASE
END KEY ̲TERMINATE
Figure 4.2.2.4.8.5 g-1
4.2.2.4.8.5 h P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲C̲A̲N̲C̲E̲L̲ ̲I̲N̲P̲U̲T̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
Subsequent to the reception of a CANCEL key:
- the command-split is cleared
- the current-menu is displayed or the cursor is
returned to the current format if the COMMAND key
has been entered prior to the CANCEL key
- the log is completed (print = cancel) only if the
first log is printed (initiated).
F̲l̲o̲w̲g̲r̲a̲m̲ ̲
Ref. fig. 4.2.2.4.8.5 h-1
PROCEDURE CANCEL ̲INPUT (COMMAND:COMMAND ̲PARAM)
INTERFACE ̲NO EQ COMMAND ̲SPLIT ?
FORMAT ̲ID = COMMAND. CURRENT ̲MENU
D̲I̲S̲P̲L̲A̲Y̲ ̲F̲O̲R̲M̲A̲T̲ (FORMAT ̲ID)
PRINT EQ INIT PRINT = CANC
PRINT ̲LOG = TRUE
INTERFACE ̲NO = COMMAND ̲SPLIT
C̲L̲E̲A̲N̲ ̲C̲O̲M̲M̲A̲N̲D̲ ̲S̲P̲L̲I̲T̲
SAVE ̲CURSOR EQ TRUE ? INTERFACE ̲NO ̲FORMAT = SPLIT
S̲E̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲C̲O̲N̲T̲R̲O̲L̲
END CANCEL ̲INPUT
Figure 4.2.2.4.8.5 h-1
4.2.2.4.8.5 i P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲C̲O̲M̲M̲A̲N̲D̲ ̲K̲E̲Y̲ ̲R̲E̲C̲E̲I̲V̲E̲D̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The only command to be received after this key is the
error display command.
The command split is cleared (command and response
line). If the cursor is positioned in the format a
return to the format subsequent to the accept of the
next command is given. The cursor is positioned in
the command field.
F̲l̲o̲w̲g̲r̲a̲m̲
PROCEDURE COMMAND ̲KEY ̲RECEIVED
ERROR ̲DISP = TRUE
INTERFACE ̲NO EQ COMMAND ̲SPLIT ? SAVE ̲CURSOR = FALSE
SAVE ̲CURSOR = TRUE
INTERFACE ̲NO = COMMAND ̲SPLIT
C̲L̲E̲A̲N̲ ̲C̲O̲M̲M̲A̲N̲D̲ ̲S̲P̲L̲I̲T̲
END COMMAND ̲KEY ̲RECEIVED.