top - download
⟦e5fb187b3⟧ Wang Wps File
Length: 15356 (0x3bfc)
Types: Wang Wps File
Notes: CPS/SDS/029
Names: »1759A «
Derivation
└─⟦080c9775e⟧ Bits:30006085 8" Wang WCS floppy, CR 0131A
└─ ⟦this⟧ »1759A «
WangText
%…05…%…07…$…09…$…0b…$…0d…$…00…$
$…86…1
…02…
…02…
…02…
…02…CPS/SDS/029
…02…820514…02……02…
SYSTEM
STATUS
AND CONTROL
DETAILED
DESIGN
SPECIFICATION CAMPS
PROCEDURE DISABLE ̲PU (HELREG: DIGITAL ̲DATA ̲BUFFER,
(DATBUF: CONTROL ̲COMMAND)
"answer returned in HELREG.STATUS
"and HELREG.MESCOD
DATBUF.PARAM1 EQ PU1? ADDRESS ̲1 = PU1 CCB
ADDRESS ̲1 = PU2 CCB
HELREG.CCBCOD = ADDRESS1, DISABLE ̲PU
SEND(HELREG, CCBSEM)
END DISABLE ̲PU
Fig. 4.2.3.4.5.5.m-1
4.2.3.4.5.5.n P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲M̲A̲S̲T̲E̲R̲ ̲C̲L̲E̲A̲R̲ ̲P̲U̲
Narrative
The PU specified in PARAM1 is master
cleared i.e.:
- set masterclear switch
- reset masterclear switch
The command is sent to CCBSEM
DATABUF.PARAM1 gives CCB address
CCBADD - PU1CCB/PU2CCB
CONTROL ̲CODE = MCBIT
DIGITAL ̲VALUE = MCBIT
Flowgram
NA
4.2.3.4.5.5.o P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲R̲E̲S̲E̲T̲ ̲P̲U̲
Narrative
The PU specified in PARAM1 is:
- disabled + normal mode
- mastercleared (masterclear procedure)
The command is sent to CCBSEM
DATABUF.PARAM1 gives the CCBADD
CCBADD PU1CCB/PU2CCB
CONTROL ̲CODE = MAIN ̲NORM ̲BIT LOGOR
DISA
̲BIT
DIGITAL ̲VALUE = MAIN ̲NORM ̲BIT LOGOR
DISA
̲BIT
Flowgram
NA
4.2.3.4.5.5.p P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲P̲U̲ ̲M̲A̲I̲N̲T̲E̲N̲A̲N̲C̲E̲
Narrative
The maintenance/normal switch on the PU
specified in PARAM1 is set. The command
is sent to the CCBSEM.
DATBUF.PARAM1 gives the CCB address
CCB ̲ADD = PU1CCB/PU2CCB
CONTROL ̲CODE = MAIN ̲NORM ̲BIT
DIGITAL ̲VALUE = MAIN ̲NORM ̲BIT
Flowgram
NA
4.2.3.4.5.5.q P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲P̲U̲ ̲L̲I̲N̲K̲ ̲C̲U̲
Narrative
Two commands are sent to the CCB driver
a) PU enable
b) set PARAM1 and call SWITCH ̲CU
procedure
CCB ̲ADD = PU1ADD/PU2ADD
CONTROL ̲CODE = DISA ̲BIT
DIGITAL ̲VALUE = DISA ̲BIT
Flowgram
NA
4.2.3.4.6 S̲E̲R̲V̲E̲ ̲T̲I̲M̲E̲
4.2.3.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 function performed by SYSCON are:
- wait for one second in the delay queue
- send time-out to the PU ̲Handler
- wait again
4.2.3.4.6.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲
NA
4.2.3.4.6.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
MESSAGE ref.
4.2.3.5
PU ̲HAND ̲COMMAND ̲TYPE ref.
4.2.3.4.3.3.c
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
MESSAGE ̲DATBUF
PU ̲HAND ̲COMMAND (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
NA
4.2.3.4.5.5.r P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲S̲E̲T̲R̲E̲S̲E̲T̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The parameter used to Reset a PU is set up
F̲l̲o̲w̲g̲r̲a̲m̲
PROCEDRE SETRESET (PUNO: 1..2)
RECPOL(SYSEMT)(EMTMES, CC)
CC EQ NO ̲CY? A̲N̲A̲L̲Y̲S̲E̲ ̲E̲R̲R̲O̲R̲ (INTERNAL, SYSCON, NO ̲BUF)
EQUIVALENCE (EMTMES, HELREG: DIGITAL ̲DATA ̲BUFFER)
HELREG.ADDRESS ̲ANSWER ̲SEMAPHORE = SYSAMS
HELREG.DIG DAT.MESCOO = CONTROL ̲DIGITAL ̲WRITE
HELREG.COMMAND = RESET
HELREG.PARAM(1) = PUNO
R̲E̲S̲E̲T̲ ̲P̲U̲ (HELREG)
RECEIV(SYSANS)(HELREG)
SEND(HELREG,SYSEMT)
END SETRESET
4.2.3.4.5.5.s P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲S̲E̲T̲S̲W̲I̲T̲C̲H̲O̲V̲E̲R̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
The buffer used for switchover is polled from th SYSEMT
semaphore (buffer pool) the header is set up and the
switchover procedure is called.
F̲l̲o̲w̲g̲r̲a̲m̲
PROCEDURE SWTSWITCHOVER
RECPOL(SYSEMT)(EMTMES, CC)
CC EQ NO ̲CY? A̲N̲A̲L̲Y̲S̲E̲ ̲E̲R̲R̲O̲R̲ (INTERNAL, SYSCON, NO ̲BUF)
EQUIVALENCE (EMTMES, HELREG: DIGITAL ̲BUFFER)
HELREG.ADDRESS ̲ANSWER ̲SEMAPHORE = SYSANS
HELREG.DIGDAT.MESCOO = CONTROL ̲DIGITAL ̲WRITE
S̲W̲I̲T̲C̲H̲O̲V̲E̲R̲ ̲P̲U̲ (HELREG)
RECEIV /SYSANS)(HELREG)
SEND (HELREG, SYSEMT)
END SETSWITCHOVER
4.2.3.4.6.4 S̲E̲R̲V̲E̲ ̲T̲I̲M̲E̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
- SERVE ̲TIME
4.2.3.4.6.5 S̲E̲R̲V̲E̲ ̲T̲I̲M̲E̲ ̲D̲e̲s̲i̲g̲n̲
Narrative
Waits for a timeout (one second) on the TIMSEM.
Send a message to the PU handler and return
to the waiting point TIMSEM.
Flowgram
ref. fig. 4.2.3.4.6.5-1
PROCEDURE SERVE ̲TIME
LOOP
RECTIM (TIMSEM, ONE ̲SEC)
RECPOL (TIMENT)(ENTMES, CC)
CC EQ NO ̲CY? - ANALYSE
̲ERROR(CC,
TIM)
EMTES. DATBUF (1) = INT ̲MES
EMTMES.DATBUF (2) TIM ̲COMMAND
SEND(EMTMES, LPHSEM)
END LOOP
END SERVE ̲TIME
Fig. 4.2.3.4.6.5-1
4.2.3.4.7 A̲n̲a̲l̲y̲s̲e̲ ̲E̲r̲r̲o̲r̲
4.2.3.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̲
Two type of errors are reported to the
analyse-error module.
a) internal ̲errors
b) external ̲errors
c) NO "ready to receive" from PU
4.2.3.4.7.1.a I̲n̲t̲e̲r̲n̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲ ̲
The type of internal errors reported are:
- no buffers available
- illegal header on databuffer
- PU driver failed "no
keep
alive"
For these type of errors a report is sent
to the WDP ̲ROP if present and to the Active
PU. Hereafter the WDP master clears itself.
4.2.3.4.7.1.b E̲x̲t̲e̲r̲n̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲ ̲
The type of external errors reported are:
- WDP ̲ROP out of service (NO ̲PAPER,
Driver error)
- CCB driver failed
- WDP ̲VDU down.
The errors are reported to the SSC handler
in the active PU if present; otherwise
to the WDP ̲ROP (except WDP ̲ROP down).
If the WDP ̲ROP is down and no Active PU
exists a report is sent to the WDP ̲VDU,
the same is done if a PU driver fails.
A return to the calling process is performed
for this kind of errors.
4.2.3.4.7.1.c O̲n̲l̲i̲n̲e̲ ̲P̲U̲ ̲n̲o̲t̲ ̲r̲e̲a̲d̲y̲
If an input request fails from either
of the PU when a WDP application has data
to transfer the analyse error is called.
If:
- PU ̲line busy wait
- If no traffic throw away buffer
A return to the calling process is performed
for this kind of errors.
4.2.3.4.7.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) ANALYSE ̲ERROR (ERROR ̲TYPE: ERRORS,
PROCESS:PROCESS
NAME,
ERROR
̲STATUS:
STATUS)
b) ANALYSE ̲ERROR (R3, R4, R5)
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̲
R3: ERROR ̲TYPE
R4: PROCESS
R5: ERROR ̲STATUS
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
NA
R0, R1, R2 kept
4.2.3.4.7.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲
PU1SEM, PU2SEM, 4
LPSEM
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR PROCESS: PROCESS ̲NAME
TYPE PROCESS ̲NAME = (VDU ̲HANDLER,
LP ̲HANDLER,
SYSCON,
TIMER)
VAR ERROR ̲TYPE: ERRORS
TYPE ERRORS = (INTERNAL, EXTERNAL,
INPUT ̲REQ)
VAR ERROR ̲STATUS: STATUS
TYPE STATUS = (PU1 ̲DRIVER ̲ERROR, PU2
̲DRIVER ̲ERROR,
VDU
̲DRIVER;
LP ̲DRIVER,
CCB
̲DRIVER,
NO ̲BUFFER,
IDS,
MESIO)
CONST PU ̲TIMEOUT = 1
4.2.3.4.7.4 C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
The following components are included:
- ANALYSE ̲ERROR
- INTERNAL ̲ANALYSE
- EXTERNAL ̲ANALYSE
- CHECK ̲PU ̲LINK
- SEND ̲ANALYSE ̲REPORT
4.2.3.4.7.5 D̲e̲s̲i̲g̲n̲ ̲A̲N̲A̲L̲Y̲S̲E̲ ̲E̲R̲R̲O̲R̲
The ANALYSE ̲ERROR module is implemented
as a main procedure ANALYSE ̲ERROR and
4 subprocedure, which is shown on fig.
4.2.3.4.7.5-1.
Fig. 4.2.3.4.7.5-1
4.2.3.4.7.5.a P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲A̲N̲A̲L̲Y̲S̲E̲ ̲E̲R̲R̲O̲R̲ ̲
Narrative
The analyse of the error is done by
the Subprocedure:
- internal analyse, if error type
= internal
- external analyse, if error type
= external
- check PU ̲LINK, if error ̲type =
input ̲req
Depending on the return parameters
a report is sent to either the Active
PU, WDP ̲VDU or WDP ̲ROP.
If the error reported is disasterous
a master clear is performed, otherwise
return to the calling process.
Flowgram
ref. fig. 4.2.3.4.7.5.a - 1
PROCEDURE ANALYSE ̲ERROR(ERROR ̲TYPE: ERRORS,
PROCESS:
PROCESS
̲NAME,
ERROR
̲STATUS:
STATUS)
CASE ERROR ̲TYPE OF:
INTERNAL? - I̲N̲T̲E̲R̲N̲A̲L̲ ̲A̲N̲A̲L̲Y̲S̲E̲ (PROCESS, ERROR
̲STATUS)
(RETURN,
REPORT,
SEMAP)
EXTERNAL? - E̲X̲T̲E̲R̲N̲A̲L̲ ̲A̲N̲A̲L̲Y̲S̲E̲ (PROCESS, ERROR
̲STATUS)
(RETURN,
REPORT,
SEMAP)
INPUT ̲REQ? - C̲H̲E̲C̲K̲ ̲P̲U̲ ̲L̲I̲N̲K̲ (PROCESS)
(RETURN,
REPORT,
SEMAP)
END CASE
RECEIV (ANASEM)(EMTMES)
S̲E̲N̲D̲ ̲A̲N̲A̲L̲Y̲S̲E̲ ̲E̲R̲R̲O̲R̲(REPORT, SEMAP)
RETURN EQ TRUE?
MASTER CLEAR ̲WDP
END ANALYSE ̲ERROR
Fig. 4.2.3.4.7.5.a - 1
4.2.3.4.7.5.b P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲A̲N̲A̲L̲Y̲S̲E̲
Narrative
The REPORT containing the information
of the error occurred is setup and
the RETURN = FALSE.
Flowgram
NA
4.2.3.4.7.5.c P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲E̲X̲T̲E̲R̲N̲A̲L̲ ̲A̲N̲A̲L̲Y̲S̲E̲
Narrative
The REPORT containing the information
of the reports from the drivers is
set up and the RETURN = TRUE.
Flowgram
NA
4.2.3.4.7.5.d P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲C̲H̲E̲C̲K̲ ̲P̲U̲ ̲L̲I̲N̲K̲
Narrative
If the status of the PU ̲LINK is busy
and no INPUT ̲REQUEST is received by
in PU ̲TIMEOUT second a report is sent
to the WDP ̲ROP and a return to the
calling process is performed.
Flowgram
NA
P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲S̲E̲N̲D̲ ̲A̲N̲A̲L̲Y̲S̲E̲ ̲R̲E̲P̲O̲R̲T̲
Narrative
An error report is sent to the specified
semaphore
Flowgram
NA
4.2.3.5 S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲D̲a̲t̲a̲
4.2.3.5.1 W̲A̲T̲C̲H̲D̲O̲G̲ ̲B̲U̲F̲F̲E̲R̲ ̲F̲O̲R̲M̲A̲T̲S̲
The buffers used by the watchdog-processes
consists of the following information:
- A general buffer head
- A Message code
- A databuffer
The buffer head containing general information
about the buffer, which are needed by
the operating system and the processes.
The message codes make it possible to
identify the different kind of messages.
The data buffer contains the data connected
to the message. Some messages have only
a message code accociated and no data
buffer.
TYPE BUFFER ̲HEADER =
RECORD
ADDRESS ̲OF ̲RET ̲QUEUE;
LINK: POINTER
BYTE COUNT: INTEGER
ADDRESS ̲OF ̲DATA ̲BUF: POINTER
OFFSET: BYTE
STATUS: STATUS
̲TYPE
SIZE ̲DATA ̲BUFFER: INTEGER
ADDRESS ̲ANSWER ̲SEM: POINTER
END
TYPE MESSAGE =
RECORD =
BUFHED: BUFFER ̲HEADER
DATBUF: DATA ̲BUFFER
END
TYPE DATA ̲BUFFER = ARRAY(1..MAX ̲DAT ̲BUF ̲SIZE) OF
BYTES
a) B̲u̲f̲f̲e̲r̲ ̲H̲e̲a̲d̲ ̲F̲o̲r̲m̲a̲t̲
The format of the buffer head and
an illustration of the contents is
shown below:
BYTECOUNT
0 ADDRESS OF LSB
1 RETURN QUEUE MSB
BUFFER 2 POINTER TO LSB
ADDRESS 3 NEXT ELEMENT MSB
4 BYTECOUNT LSB
5 MSB
6 ADDRESS OF LSB
7 DATA BUFFER MSB B̲U̲F̲F̲E̲R̲H̲E̲A̲D̲
8 OFFSET
9 STATUS
10 SIZE OF LSB
11 DATABUFFER MSB
12 ADDRESS OF LSB
13 ANSWER SEMA-
phore MSB
OFFSET
MESSAGE CODE
DATA BYTECOUNT
SIZE
OF
BUFFER
DATABUFFER
The contents of the bufferhead is described
below:
A̲D̲D̲R̲E̲S̲S̲ ̲O̲F̲ ̲R̲E̲T̲U̲R̲N̲ ̲Q̲U̲E̲U̲E̲:̲
Specifies the queuehead address from which
the buffer has been taken. The buffer
has to be returned to this queue after
use.
P̲O̲I̲N̲T̲E̲R̲ ̲T̲O̲ ̲N̲E̲X̲T̲ ̲E̲L̲E̲M̲E̲N̲T̲:̲
Linkelement used by the queuehandler-routines.
B̲Y̲T̲E̲C̲O̲U̲N̲T̲:̲
Specifies the number of databytes in buffer.
A̲D̲D̲R̲E̲S̲S̲ ̲O̲F̲ ̲D̲A̲T̲A̲B̲U̲F̲F̲E̲R̲:̲
This address points to the first available
databyte in the databuffer.
If BYTECOUNT = 0 this pointer is invalid.
O̲F̲F̲S̲E̲T̲:̲
This byte specifies the offset between
the bufferhead and the databuffer.
Figure
Figure…86…1…02… …02… …02… …02… …02… …02… …02… …02…
Figure
figure
c) D̲a̲t̲a̲ ̲B̲u̲f̲f̲e̲r̲ ̲F̲o̲r̲m̲a̲t̲s̲
The data transferred between the watchdog
processes has been divided into the
following different kind of formats:
o ASCII-formats
o Analog-formats ref. 4.2.3.4.5.3.c
o Digital formats ref. 4.2.3.4.5.3.c
d) A̲S̲C̲I̲I̲ ̲B̲u̲f̲f̲e̲r̲ ̲F̲o̲r̲m̲a̲t̲
Buffers containing ASCII-data to be
transferred to and from the VDU-,
LP and PU-drivers has the following
format:
o MESSAGE ̲CODE
1 LINE NO.
2 SPARE1
3 SPARE2
4
ASCII-
DATA
Databyte 0 (messagecode), 1, 2 and 3 are
only transferred by the PU-drivers in
ONLINE mode. Ref.fig. 4.2.3.5.1d-1.
The VDU- and LP-driver transfers always
the databuffer with an offset = 4.
The format of the ASCII ̲BUFFER for PU
WDP ̲VDU is shown on fig. 4.2.3.5.1.d-2.
LINE NO.: Specifies the
line number
the message
is connected
to.
The LINE NO.
is only used
by the PU-drivers
to select distributiontable.
LINE NO.= 1,
2, 3....N, if
ONLINE
mode.
LINE NO. =
Dummy, if
OFFLINE
mode.
SPARE1 LDU ̲HEADER
SPARE2 BUFFER ̲TYPE
ON ̲LINE MODE ASCII
BUFFER
LDU ̲HEADER
BUFFER ̲TYPE
LINE ̲NO
MESSAGE ̲CODE
OFFLINE MODE ASCII BUFFER
Fig. 4.2.3.5.1.d-1…01…INTERFACE DATA WDP PU
ASCII BUFFER (WDP ̲VDU)
DATA DATA
FLAG BYTE (type of Data)
BYTE COUNT (Length of Data)
Start-Byte (Record Separator)
WDP ̲VDU SSC ̲HANDLER
SPLIT
SELECT
FLAG BYTE
BYTE COUNT
START ̲BYTE
Fig. 4.2.3.5.1.d-2…01…SSC ̲HANDLER WDP ̲VDU
4.2.3.5.2 S̲Y̲S̲C̲O̲N̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲
TYPE CONTROL ̲COMMAND =
RECORD
MESSAGE: MESSAGE ̲CODE
COMMAND: COMMANDS
PARAMS:ARRAY(1..3) of bytes
END
TYPE MESSAGE ̲CODE ref. fig. 4.2.3.5-1
TYPE COMMANDS = (SWITCH̲OVER, RES̲ET, MASTER
̲CLEAR, DISABLE,
SET ̲PU ̲MAINTEN, LINK ̲PU ̲CU, PU
̲NO ̲1, PU ̲NO ̲2,
OFFLINE ̲COM, BSMX ̲SWITCH, PU ̲CLOSE,
IO ̲SWITCH)
4.2.3.5.3 R̲e̲p̲o̲r̲t̲s̲ ̲f̲o̲r̲ ̲P̲r̲i̲n̲t̲
TYPE PRINT ̲REPORT =
RECORD
MESCOD : MESSAGE ̲CODE
LINE ̲NO: 0..5
BUFTYP;
LDUHED: BYTE
TYPE: SENDERS
COMMAND: REPORTS
Report: ARRAY(1..80) OF CHARS
REPORT:
END
TYPE SENDERS = (NIL, COPSY ̲REPORT, WDP ̲REPORT, CMI
̲REPORT)
TYPE REPORTS = (NIL, ERREP, REPORT, LOG ̲INI, LOG
̲COMP)
4.2.3.5.4 S̲e̲m̲a̲p̲h̲o̲r̲e̲
TYPE SEMAPH =
RECORD
SPARE: ARRAY(1..2) OF BYTE
LAST ̲ELEMENT: POINTER "to last element
in the queue
FIRST ̲ELEMENT: POINTER "to first element
in the queue
NO ̲OF ̲ELEMENTS: BYTE
SEMA ̲VALUE: BYTE
END
4.2.3.5.6 C̲o̲m̲m̲o̲n̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲
N/A
4.2.3.7 S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
ref. sec. 4.1.7