Integrierte Bausteine und ihre Funktionen
Parametrierfehler im "USTACK" lokalisieren
Wenn die CPU im Anlauf einen Parametrierfehler im DB1 feststellt, dann bleibt sie im STOP-Zu-
stand und hinterlegt im USTACK, wo der Fehler aufgetreten ist. Der USTACK enthält sowohl die
absolute (Fehler-) Adresse wie auch die relative (Fehler-) Adresse. Der STEP-Adreßzähler (SAZ) im
USTACK zeigt dann entweder
•
auf die Adresse, die die fehlerhafte Eingabe enthält
oder direkt
•
vor die Adresse, die die fehlerhafte Eingabe enthält.
Dabei handelt es sich um Byte-Adressen.
Beispiel:
Sie haben den DB1 wie folgt eingegeben; die markierte Stelle beinhaltet einen Fehler.
0:
KC
= 'DB1 SL1: SLN 40
12:
KC
= 'DB2
24:
KC
= ' KBE MB100 KBS MB101
36:
KC
= 'PGN 1
48:
KC
= 'CLK DB5
60:
KC
= 'MW102
72:
KC
= 'OHE N
84:
KC
= '12:10:00
96:
KC
= '01.04. 13:00:00
108:
KC
= '000000:00:00 # ; SDP: WD';
120:
KC
= ' 500 ;
132:
KC
= ' ; END
Bild 9.4 Fehlerhaft parametrierter DB1
Aufgrund des Fehlers zeigt der USTACK an:
•
die absolute (Fehler-) Adresse:
•
die relative (Fehler-) Adresse:
Um den Fehler in Ihrem DB1 genau zu lokalisieren, müssen Sie die als Hexadezimalzahl ange-
gebene relative Byte-Adresse in eine dezimale Wort-Adresse umrechnen, weil die Anzeige am PG
bei Ausgabe eines DBs in Worten erfolgt.
000C
=
12
H
Byte-Adresse
Byte-Adresse
hexadezimal
dezimal
Daraus folgt:
Der Fehler liegt hinter der Adresse 0 und vor der Adresse 12. In unserem Beispiel ist die Adresse 6
von dem Argument "40" belegt. Die Eingabe "40" ist fehlerhaft; Begründung: Bereichsüberschrei-
tung.
9-8
SF ';
DW0
EF DB3
DW0
';
';
; #CLP: CF 0
';
DW0
STW
';
STP Y SAV Y ';
SET 4 01.04.92 ';
TIS 4
';
OHS ';
TFB: OB13
100
';
';
82F2
000C
12
D
Bei den Dezimalzahlen vor jeder Eingabezeile
handelt es sich um die Wort-Adresse für das er-
ste frei eingebbare Zeichen in der entsprechen-
den Zeile. Jedes Wort besteht aus zwei Zeichen
(2 Byte).
(absoluter SAZ)
H
(relativer SAZ)
H
:
2
=
6
D
D
D
Wort-Adresse
dezimal
S5-100U
EWA 4NEB 812 6120-01b