- No category
advertisement
Teil 6 Unterbrechungs- und Fehlerbehandlung
Fehler im RUN und im ANLAUF
Einleitung
Handbuch VIPA CPU 928 - Band 1
Im Betriebszustand RUN kann eine zyklische, eine zeit- oder alarmgesteuerte Programmbearbeitung oder eine Reglerbearbeitung an Befehlsgrenzen unterbrochen werden durch das Auftreten von Störungen wie z.B.
Ausfall der Versorgungsspannung am Zentralgerät oder Überlauf des
Bausteinstacks.
Bei der Initialisierung und im Betriebszustand ANLAUF auftretende Unterbrechungsursachen führen ebenfalls dazu, dass das Anlaufprogramm abgebrochen wird und die CPU in den Stoppzustand übergeht bzw. den für diesen Fehlerfall vorgesehenen Organisationsbaustein aufruft. Im Anlaufprogramm auftretende Unterbrechungsursachen werden wie im ZYKLUS behandelt.
Man unterscheidet zwischen Störungen, die die CPU direkt in den Betriebszustand STOP überführen (z.B. STUEU) und Störungen, bei deren
Auftreten das Systemprogramm anstelle eines Übergangs in den
Stoppzustand bestimmte Organisationsbausteine aufruft (z.B. ADF), die der Anwender programmieren kann.
Auf die in den folgenden beiden Tabellen genannten Unterbrechungs- und
Fehlerursachen gibt es keine Reaktionsmöglichkeit durch eine
Anwenderschnittstelle (Fehler-OB).
Fehler, die direkt in den STOP führen
Bei diesen Fehlern wird ein USTACK aufgebaut, in dem die aufgetretene
Störung angezeigt wird.
Steuerbit oder
Kennung im
USTACK
STP
BAU
NAU
PEU
STUEU
STUEB
DOPP-FE
Erläuterung
STOP durch das Systemprogramm (bei Maschinenfehler), wenn ein Fehler-
OB nicht geladen ist, oder Stoppbefehl im Anwenderprogramm
Ausfall der Pufferbatterie am Zentralgerät
Ausfall der Versorgungsspannung im Zentralgerät
Ausfall der Versorgungsspannung in einem Erweiterungsgerät
Stacküberlauf beim Unterbrechungsstack bei zu großer Schachtelungstiefe
(USTACK)
Stacküberlauf beim Bausteinstack bei zu großer Schachtelungstiefe
(BSTACK)
Doppelaufruf einer Fehlerprogrammbearbeitungsebene
6-30 Rev. 00/27
Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung
Fehler, bei denen ein Fehler-OB aufgerufen wird
Fehler- und Unterbrechungsursachen im ANLAUF und RUN
Bei diesen
Steuerbit oder
Kennung im
USTACK
Erläuterung
BCF
LZF
Befehlscodefehler:
Substitutionsfehler
Operationscodefehler
Parameterfehler
Laufzeitfehler:
Aufruf eines nicht geladenen Bausteins
Transferfehler bei DBs
Sonstige Laufzeitfehler
ADF
QVZ
ZYK
WECK-FE
REG-FE
ABBR
S-6
Adressierfehler:
Bei Zugriff auf Prozessabbild
Quittungsverzug:
Im Anwenderprogramm bei Zugriff auf Peripheriebaugruppen
Bei der Prozessabbildaktualisierung
Zyklusfehler:
Überschreitung der Zyklusüberwachungszeit
Weckfehler:
Fehler bei Bearbeitung eines Weckalarms
Reglerfehler:
Fehler bei Bearbeitung eines Regleralarms
Abbruch: siehe "ABBR" in diesem Abschnitt
Kommunikationsfehler:
Bei Datenverkehr über die zweite serielle Schnittstelle aufgerufener
OB
OB27
OB29
OB30
OB19
OB32
OB31
OB25
OB23
OB24
OB26
OB33
OB34
OB28
OB35
Auf den nachfolgenden Seiten ist jede dieser Fehlerursachen genauer beschrieben:
Rev. 00/27 6-31
Teil 6 Unterbrechungs- und Fehlerbehandlung
BCF
(Befehlscodefehler)
Handbuch VIPA CPU 928 - Band 1
Ein Befehlscodefehler tritt dadurch auf, dass die CPU einen Befehl des
Anwenderprogramms nicht interpretieren oder ausführen kann. Alle zulässigen Befehlscodes sind in der Operationsliste aufgelistet.
Der Befehl, der den entsprechenden Befehlscodefehler verursacht, wird nicht ausgeführt. Falls der entsprechende BCF-Organisationsbaustein geladen ist, wird dieser aufgerufen, bearbeitet und anschließend mit dem nächsten Befehl im unterbrochenen Anwenderprogramm fortgefahren. Bei nicht geladenem BCF-OB geht die CPU in den Stoppzustand.
Es werden folgende Befehlscodefehler unterschieden, bei denen jeweils der genannte Fehler-OB aufgerufen wird.
Substitutionsfehler (OB27)
Wenn in einem Funktionsbaustein eine Operation mit einem Formaloperanden ausgeführt werden soll, so ersetzt die CPU bei der Bearbeitung des Anwenderprogramms diesen Formaloperanden durch den im Aufruf des Funktionsbausteins stehenden Aktualoperanden.
Erkennt die CPU eine unzulässige Substitution, so unterbricht das Systemprogramm daraufhin die Bearbeitung des Anwenderprogramms und ruft den Organisationsbaustein OB27 auf, wenn dieser geladen ist.
AKKU 1 enthält zusätzliche Informationen, die den aufgetretenen Fehler näher erläutern:
BCF - Substitutionsfehler
Fehlerkennung
AKKU-1-L AKKU-2-L
1801h -
Erläuterung
Substitutionsfehler beim Befehl B BS
Substitutionsfehler bei den Befehlen B DW, B MW 1802h -
1803h -
1804h -
Substitutionsfehler bei den Befehlen B=, BI
Substitutionsfehler bei den Befehlen L=, T=
1805h -
1806h -
Substitutionsfehler bei den Befehlen U=, UN=, O=, ON=, ==, S=, RB=
Substitutionsfehler bei den Befehlen RD=, LC=, FR=, SAR=, SE=,
SSV=, SVZ=
6-32 Rev. 00/27
Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung
Operationscodefehler (OB29)
Ein Operationscodefehler wird von der CPU bei der Bearbeitung eines
Programmes festgestellt, wenn ein Befehl programmiert worden ist, der nicht zum Befehlsumfang der CPU 928 gehört. Es können z.B. RU- und
SU-Befehle mit dem PG programmiert, jedoch von den CPUs 928 nicht interpretiert werden.
Beim Erkennen eines unzulässigen Operationscodes wird an dieser Stelle die Bearbeitung des Anwenderprogramms unterbrochen und der Organisationsbaustein OB29 aufgerufen, wenn er geladen ist.
Bei Aufruf des OB29 stehen im AKKU 1 zusätzliche Informationen, die den aufgetretenen Fehler näher erläutern:
BCF - Operationscodefehler
Fehlerkennung
AKKU-1-L AKKU-2-L
1811h -
1812h -
1813h
1814h
1815h
-
-
-
Erläuterung
Befehl mit unzulässigem Opcode
Unzulässiger Opcode bei einem Befehl, bei dem das High-Byte des 1.
Befehlswortes den Wert 68h enthält.
Unzulässiger Opcode bei einem Befehl, bei dem das High-Byte des 1.
Befehlswortes den Wert 78h enthält.
Unzulässiger Opcode bei einem Befehl, bei dem das High-Byte des 1.
Befehlswortes den Wert 70h enthält.
Unzulässiger Opcode bei einem Befehl, bei dem das High-Byte des 1.
Befehlswortes den Wert 60h enthält.
Achtung!
Ein Operationscodefehler sollte nicht quittiert werden: Die CPU erkennt nicht, ob es sich bei dem fehlerhaften Befehl um einen Einwort- oder
Mehrwortbefehl handelt. Hat die CPU den OB29 bearbeitet, so versucht sie, das Programm mit dem nächsten Befehlswort fortzusetzen. Falls es sich dabei um das zweite Wort eines Mehrwortbefehls handelt, erkennt sie entweder einen weiteren Befehlscodefehler oder führt dieses Wort als gültigen Befehl aus, was zu beliebigen Programmfehlern führen kann.
Rev. 00/27 6-33
Teil 6 Unterbrechungs- und Fehlerbehandlung Handbuch VIPA CPU 928 - Band 1
Parameterfehler
(OB30)
Ein unzulässiger Parameter tritt auf, wenn ein Befehl mit einem Parameter, der für die entsprechende CPU unzulässig ist, programmiert worden ist
(z.B. Aufruf eines reservierten Datenbausteins) oder wenn eine nicht vorhandene Sonderfunktion aufgerufen wird.
Wenn ein unzulässiger Parameter von der CPU erkannt wird, unterbricht das Systemprogramm die Bearbeitung des Anwenderprogramms und ruft den Organisationsbaustein OB30 auf, wenn dieser geladen ist.
Beim Aufruf des OB30 stehen im AKKU 1 zusätzliche Informationen, die den aufgetretenen Fehler näher erläutern:
BCF-Parameterfehler
Fehlerkennung
AKKU-1-L AKKU-2-L
1821h -
182Bh -
182Ch -
182Dh -
182Eh -
182Fh -
1830h -
1831h -
1832h -
1833h -
1834h -
1835h -
1836h
1837h
183Bh
183Ch
-
1838h -
-
1839h -
183Ah -
-
-
Erläuterung
A DB 0, 1, 2
SPA(B) OB0
SPA(B) OB > 39: Sonderfunktion nicht vorhanden
AX DX 0, AX DX 1, AX DX 2
L MW/T MW/L PW/T PW/L QW/T QW/L DD/T DD/ B MW 255
L EW/T EW/L AW/T AW 127
L MD/T MD 253, 254, 255
L ED/T ED/L AD/T AD 125, 126, 127
RLD/RRD/SVD/SLD 33-255
SLW/SRW/LIR/TIR 16-255
SES/SEF 32-255
U=/UN=/O=/ON=/S=/RB=/==/RD=/FR=/SI=/SE=/
SVZ=/SSV=/SAR=/L=/LC=/LW=/T= 0, 127-255
B=/LD= 0, 126-255
U S/O S/S S/= S/UN S/ON S/R S Bytenummer > 1023
U S/O S/S S/= S/UN S/ON S/R S Bitnummer > 7
L SY/T SY Parameter > 1023
L SW/T SW Parameter > 1022
L SD/T SD Parameter > 1020
E DB/EX DX Parameter 0, 1 oder 2
(DB bzw. DX 0, 1, 2 nicht erzeugbar)
6-34 Rev. 00/27
Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung
LZF
(Laufzeitfehler)
Ein Laufzeitfehler tritt dadurch auf, dass die CPU während der Bearbeitung eines Befehls einen Fehler erkennt.
Der Befehl, der den entsprechenden Laufzeitfehler verursacht, wird nicht ausgeführt. Ist ein LZF-Organisationsbaustein vorhanden, so wird dieser aufgerufen. Anschließend wird das unterbrochene Anwenderprogramm mit dem nächsten Befehl, der dem fehlerverursachenden Befehl folgt, fortgesetzt. Ist kein LZF-OB geladen, so geht die CPU in den STOP.
Es werden folgende Laufzeitfehler unterschieden, bei denen jeweils der genannte Fehler-OB aufgerufen wird.
Aufruf eines nicht geladenen
Bausteins (OB19)
Wenn im Anwenderprogramm ein Baustein aufgerufen oder aufgeschlagen wird, der nicht vorhanden ist, erkennt das Systemprogramm einen Fehler.
Dies gilt für alle Bausteinarten und sowohl für bedingte als auch für die unbedingte Aufruf-Anweisung.
Wenn der Aufruf oder das Aufschlagen eines nicht geladenen Bausteins erkannt wird, ruft das Systemprogramm den Organisationsbaustein OB19 auf, wenn er geladen ist. Im OB19 können Sie das weitere Verhalten der
CPU festlegen.
Falls ein OB19 programmiert ist, wird dieser aufgerufen und anschließend die Bearbeitung des unterbrochenen Programms mit dem nächsten Befehl fortgesetzt außer, wenn der OB19 mit einem Stoppbefehl programmiert ist.
Ist hingegen der OB19 nicht programmiert, so geht die CPU beim Aufruf oder Aufschlagen eines nicht geladenen Bausteins in den Stoppzustand.
Bei Aufruf des OB19 stehen im AKKU 1 zusätzliche Informationen, die den aufgetretenen Fehler näher erläutern:
LZF - Aufruf eines nicht geladenen Bausteins
Fehlerkennung
AKKU-1-L AKKU-2-L
1A01h -
Erläuterung
Nicht geladener Datenbaustein bei A DB
Nicht geladener Datenbaustein bei AX DX 1A02h -
1A03h -
1A04h -
1A05h -
Nicht geladener Baustein bei SPA(B) FB, OB1 bis OB39, PB, SB
Nicht geladener Baustein bei BA(B) FX
Nicht geladener Datenbaustein bei OB254 bzw. OB255
1A06h -
1A07h -
Nicht geladener Datenbaustein bei OB182
Nicht geladener Datenbaustein bei OB150/OB151/OB153
Hinweis!
Beim Versuch, einen nicht geladenen Datenbaustein aufzuschlagen, wird das DBA-Register beeinflusst. In diesem Fall muss vor Zugriffen auf
DB/DX-Daten erneut ein geladener Datenbaustein aufgeschlagen werden.
Rev. 00/27 6-35
Teil 6 Unterbrechungs- und Fehlerbehandlung
Lade-/
Transferfehler
(OB32)
Handbuch VIPA CPU 928 - Band 1
Beim Transferieren von Daten in Datenbausteine (DB, DX) vergleicht die
CPU die Länge des aufgeschlagenen DBs mit dem im Transfer-Befehl stehenden Operanden. Wird durch den angegebenen Parameter die
Datenbausteinlänge überschritten, so wird die Transfer-Anweisung nicht ausgeführt, um ein irrtümliches Überschreiben von Daten im Speicher zu verhindern.
Ein Lade-/Transferfehler wird auch festgestellt, wenn ein einzelnes Bit innerhalb eines nicht vorhandenen Datenwortes abgefragt oder verändert werden soll.
Ein Lade-/Transferfehler wird ebenfalls erkannt, wenn ein Zugriff auf ein
Datenwort stattfinden soll, bevor ein Datenbaustein aufgeschlagen ist (mit
A DBn bzw. AX DXn).
Beim Erkennen eines Lade-/Transferfehlers ruft das Systemprogramm den
Organisationsbaustein OB32 auf, wenn dieser geladen ist. Der Befehl, der den Transferfehler verursacht hat, wird nicht mehr bearbeitet. Bei Aufruf von OB32 stehen im AKKU 1 zusätzliche Informationen, die den aufgetretenen Fehler näher erläutern:
LZF -Lade-/Transferfehler (TRAF)
Fehlerkennung
AKKU-1-L AKKU-2-L
1A11h -
1A12h -
1A13h -
Erläuterung
Zugriff mit U/UN D, O/ON D, S/R D, =D auf ein nicht definiertes
Datenwort
Transferfehler bei TDR auf ein nicht definiertes Datenwort
1A14h
1A15h
1A16h
-
-
-
Transferfehler bei TDL auf ein nicht definiertes Datenwort
Transferfehler bei TDW auf ein nicht definiertes Datenwort
Transferfehler bei TDD auf ein nicht definiertes Datenwort
Ladefehler bei LDR auf ein nicht definiertes Datenwort
1A17h -
1A18h -
1A19h -
1A1Ah -
Ladefehler bei LDL auf ein nicht definiertes Datenwort
Ladefehler bei LDW auf ein nicht definiertes Datenwort
Ladefehler bei LDD auf ein nicht definiertes Datenwort
Zugriff mit BDW auf ein nicht definiertes Datenwort
6-36 Rev. 00/27
Handbuch VIPA CPU 928 - Band 1
Sonstige
Laufzeitfehler
(OB31)
Teil 6 Unterbrechungs- und Fehlerbehandlung
Hierzu gehören alle Laufzeitfehler, die nicht einer der vorherigen Laufzeitfehlerarten (Transferfehler oder Aufruf eines nicht geladenen Bausteins) zugeordnet werden können.
Beim Erkennen eines dieser Laufzeitfehler ruft das Systemprogramm den
Organisationsbaustein OB31 auf. Der den Fehler verursachende Befehl
(bzw. die Sonderfunktion) wird nicht weiter bearbeitet. Wenn der OB31 nicht geladen ist, geht die CPU in den Stoppzustand.
Soll die Programmbearbeitung bei Auftreten eines der nachfolgend aufgeführten Fehler weiterlaufen, genügt die Bausteinende-Anweisung BE im
OB31.
Bei Aufruf des OB31 stehen in AKKU 1 und AKKU 2 zusätzliche Informationen, die den aufgetretenen Fehler näher erläutern.
Fehleranzeigen von verschiedenen Operationen, OB254/255 und OB250
Fehlerkennung
AKKU-1-L AKKU-2-L
1A21h E DB,EX DX:
Erläuterung
Datenbaustein existiert bereits
1A22h
1A23h
1A25h
1A29h
1A2Ah
-
-
-
-
-
E DB, EX DX:
E DB, EX DX:
BI: unzulässige Anzahl Datenwörter (<1 oder > 4091)
Speicherplatz im RAM reicht nicht aus unzulässiger Parameter im AKKU 1
(<1 oder > 125)
Klammerstackunter- oder -überlauf nach ‘U(‘; ‘O(‘; ‘)’
1A2Bh
1A2Ch
1A31h
1A32h
1A33h
-
-
-
-
-
A DB,AX DX: Bausteinlänge im Datenbausteinkopf ist zu klein
(Länge < 5 Wörter)
Funktionsbaustein ist mit falscher PG-Software geladen
ACR: Kachelnummer in AKKU-1-L ist unzulässig (>255)
OB254 bzw. OB255 (Verschieben) oder DB 250:
Ziel-Datenbaustein ist bereits im DB-RAM vorhanden
OB254 bzw. OB255 (Duplizieren):
Ziel-Datenbaustein ist bereits im DB-RAM vorhanden
OB254 bzw. OB255 oder OB250:
Speicherplatz im DB-RAM reicht nicht aus
Rev. 00/27 6-37
Teil 6 Unterbrechungs- und Fehlerbehandlung Handbuch VIPA CPU 928 - Band 1
Fehleranzeigen von OB182
Fehlerkennung
AKKU-1-L AKKU-2-L
1A34h 0001h
Erläuterung
Beschreibung des Datenfeldes ist unzulässig
1A34h 0100h
1A34h 0101h
1A34h 0102h
Adressbereichs-Typ ist unzulässig
Datenbaustein-Nr. ist unzulässig
"Nummer des ersten Parameterwortes" ist unzulässig
1A34h 0200h
1A34h 0201h
1A34h 0202h
1A34h 0203h
"Quelldatenbaustein-Typ" ist unzulässig
"Quelldatenbaustein-Nummer" ist unzulässig
"Nummer des ersten zu übertragenden Datenwortes in der Quelle" ist unzulässig
Als Länge des Quelldatenbausteins ist im Bausteinkopf ein Wert < 5
Wörter eingetragen
1A34h 0210h
1A34h 0211h
1A34h 0212h
1A34h
1A34h
1A34h
1A34h
1A34h
0213h
0220h
0221h
0222h
0223h
"Zieldatenbaustein-Typ" ist unzulässig
"Zieldatenbaustein-Nummer" ist unzulässig
"Nummer des ersten zu übertragenden Datenwortes im Ziel" ist unzulässig
Als Länge des Zieldatenbausteins ist im Bausteinkopf ein Wert < 5
Wörter eingetragen
"Anzahl zu übertragender Datenworte" ist unzulässig
Quelldatenbaustein ist zu kurz
Zieldatenbaustein ist zu kurz
Zieldatenbaustein ist im EPROM gespeichert
6-38 Rev. 00/27
Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung
Fehleranzeigen verschiedener Sonderfunktions-OBs
Fehlerkennung
AKKU-1-L AKKU-2-L
1A35h -
1A36h -
OB250:
OB250:
Erläuterung
Nummer des Übergabebausteins ist unzulässig unterschiedliche Länge bei DB x und DB x + 1 bzw. DX x und DX x + 1
1A3Ah -
1A41h
1A42h -
1A43h -
1A44h -
1A45h
1A46h
-
-
-
OB221: unzulässiger Wert für die neue Zykluszeit
(Zykluszeit <1 ms oder > 13000 ms)
OB240, OB241 oder OB242:
Schieberegister- oder Datenbaustein-Nummer ist unzulässig (Nr. <192 oder > 255)
OB241: Schieberegister ist nicht initialisiert
OB240:
OB240:
OB240:
OB240:
Speicherplatz im DB-RAM reicht nicht aus
Datenwort DW 0 des Datenbausteins hat nicht den Inhalt ‘0’
Schieberegisterlänge in DW 1 ist unzulässig (nicht zwischen 2 und 256)
Zeigerposition ist unzulässig oder Zeigeranzahl ist
> 5
1A47h -
1A48h -
1A49h -
1A4Ah -
1A4Bh -
OB120:
OB122:
OB110:
OB121:
OB123:
Wert in AKKU 1 oder AKKU-2-L-ist unzulässig
Wert in AKKU 1 oder AKKU-2-L-ist unzulässig
Wert in AKKU 1 oder AKKU-2-L-ist unzulässig
Wert in AKKU 1 oder AKKU-2-L-ist unzulässig
Wert in AKKU 1 ist unzulässig
Rev. 00/27 6-39
Teil 6 Unterbrechungs- und Fehlerbehandlung Handbuch VIPA CPU 928 - Band 1
Fehleranzeigen von OB150
Fehlerkennung
AKKU-1-L AKKU-2-L
1A4Ch 0001h
Erläuterung
Funktionsnummer ist unzulässig (=0 oder >2)
1A4Ch
1A4Ch
1A4Ch
1A4Ch
1A4Ch
1A4Ch
1A4Ch
1A4Ch
1A4Ch
0100h
0101h
0102h
0103h
0201h
0202h
0203h
0204h
0205h
Adressbereichs-Typ ist unzulässig
Datenbaustein-Nr. ist unzulässig
"Nummer des ersten Datenfeldwortes" ist unzulässig als Länge des Datenbausteins ist im Bausteinkopf ein Wert <5 Wörter eingetragen
Jahresangabe im Datenfeld ist unzulässig
Monatsangabe im Datenfeld ist unzulässig
Monatstagangabe im Datenfeld ist unzulässig
Wochentagangabe im Datenfeld ist unzulässig
Stundenangabe im Datenfeld ist unzulässig
1A4Ch
1A4Ch
1A4Ch
1A4Ch
1A4Ch
0206h
0207h
0208h
0209h
020Ah
Minutenangabe im Datenfeld ist unzulässig
Sekundenangabe im Datenfeld ist unzulässig
Wert "1/100 Sekunde" im Datenfeld ist ungleich 0
Datenfeldwort 3/Bit 0 bis 3 ist ungleich 0
Stunden-Format ist ungleich der Einstellung bei OB151
Fehleranzeigen von OB151, Ob152,OB 153
Fehlerkennung
AKKU-1-L AKKU-2-L
Anzeigen von OB151
1A4Dh
1A4Dh
1A4Dh
1A4Dh
1A4Dh
0001h
0100h
0101h
0102h
0103h
Erläuterung
Funktionsnummer ist unzulässig (=0 oder >2)
Adressbereichs-Typ ist unzulässig
Datenbaustein-Nr. ist unzulässig
1A4Dh
1A4Dh
1A4Dh
0201h
0202h
0203h
"Nummer des ersten Datenfeldwortes" ist unzulässig als Länge des Datenbausteins ist im Bausteinkopf ein Wert <5 Wörter eingetragen
Jahresangabe im Datenfeld ist unzulässig
Monatsangabe im Datenfeld ist unzulässig
Monatstagangabe im Datenfeld ist unzulässig
Fortsetzung ...
6-40 Rev. 00/27
Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung
... Fortsetzung
Fehlerkennung
AKKU-1-L AKKU-2-L
1A4Dh 0204h
1A4Dh
1A4Dh
1A4Dh
0205h
0206h
0207h
1A4Dh
1A4Dh
1A4Dh
0208h
0209h
020Ah
Anzeigen von OB152
1A4Eh 0001h
Anzeigen von OB153
1A4Fh
1A4Fh
0001h
0002h
Erläuterung
Wochentagangabe im Datenfeld ist unzulässig
Stundenangabe im Datenfeld ist unzulässig
Minutenangabe im Datenfeld ist unzulässig
Sekundenangabe im Datenfeld ist unzulässig
Wert "1/100 Sekunde" im Datenfeld ist ungleich 0
Auftragsart im Datenfeld ist unzulässig (> 7)
Stunden-Format ist ungleich der Einstellung bei OB150
Funktionsnummer ist unzulässig (ungleich 0 bis 3 oder ungleich 5 bis
9 oder ungleich 15)
Funktionsnummer ist unzulässig (=0 oder <0)
Verzögerungszeit unzulässig
Fehleranzeigen von verschied. Systemoperationen
Fehlerkennung
AKKU-1-L AKKU-2-L
1A50h -
1A51h -
Erläuterung
LRW, TRW:
Die errechnete Speicheradresse <BR + Konstante> liegt nicht im
Bereich "0 .. EDFFH"
1)
LRD, TRD:
Die errechnete Speicheradresse <BR + Konstante> liegt nicht im
Bereich "0 .. EDFEH"
1)
1A52h
1A53h
1A54h
-
-
-
Fortsetzung ...
Rev. 00/27 6-41
Teil 6 Unterbrechungs- und Fehlerbehandlung Handbuch VIPA CPU 928 - Band 1
... Fortsetzung
Fehlerkennung
AKKU-1-L AKKU-2-L
1A55h -
Erläuterung
1A56h
1A57h
1A58h
1A59h
-
-
-
-
LB CB, LW CW, TB CB, TW CW:
Die errechnete Kacheladresse <BR + Konstante> liegt nicht im
Bereich "F400h .. 77FFh"
LB CW, LW CD, TB CW, TW CD:
Die errechnete Kacheladresse <BR + Konstante> liegt nicht im
Bereich "F400h .. F7FFh"
LB CD, TB CD:
Die errechnete Kacheladresse <BR + Konstante> liegt nicht im
Bereich "F400h .. F7FFh"
TNW, TNB:
Der Quellblock liegt nicht vollständig in einem dieser Bereiche:
0000 .. 7FFF Anwenderspeicher
1)
8000
DD80
E400
.. DD7F
.. E3FF
.. E7FF
Datenbaustein-RAM
DB 0
S-Merker
E800
EE00
F000
.. EDFF
.. EFFF
.. FFFF
Systemdaten (BA, BB, BS, BT, Z, T)
Merker, Prozessabbild
Peripherie
TNW; TNB:
Der Zielblock liegt nicht vollständig in einem dieser Bereiche:
0000 .. 7FFF Anwenderspeicher
1)
8000
DD80
E400
E800
EE00
.. DD7F
.. E3FF
.. E7FF
.. EDFF
.. EFFF
Datenbaustein-RAM
DB 0
S-Merker
Systemdaten (BA, BB, BS, BT, Z, T)
Merker, Prozessabbild
F000 .. FFFF Peripherie
1) siehe Kapitel "Speicherzugriffe über absolute Adressen"
6-42 Rev. 00/27
Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung
ADF
(Adressierfehler)
Ein Adressierfehler tritt auf, wenn mit einer Operation ein Ein- oder
Ausgang im Prozessabbild angesprochen wird, dem zum Zeitpunkt des letzten NEUSTARTs keine Peripheriebaugruppe zugeordnet war (Baugruppe war nicht gesteckt, defekt oder nicht im Datenbaustein DB 1 der
CPU angegeben).
OB25 Das Systemprogramm unterbricht nun die Bearbeitung des Anwenderprogramms und ruft den Organisationsbaustein OB25 auf. Nach der
Bearbeitung des im OB25 enthaltenen Programms wird mit dem nächsten
Befehl des unterbrochenen Programms fortgefahren. Die Anweisung, die den ADF verursacht hat, wurde zuvor ausgeführt, jedoch mit einem undefinierten Ein- oder Ausgangswert!
Wenn der OB25 nicht programmiert ist, geht die CPU beim Auftreten eines
Adressierfehlers in den Stoppzustand, es sei denn, Sie haben für diesen
Fall eine Fortsetzung der Programmbearbeitung im Datenbaustein DX 0 festgelegt.
Die Adressierfehlerüberwachung kann durch entsprechende Programmierung des DX 0 auch ganz unterdrückt werden.
Fehleranzeigen Als Fehleranzeigen werden vom Systemprogramm übergeben:
Fehlerkennung
AKKU-1-L AKKU-2-L
1E40h yyyyyh Adressierfehler yyyy = ADF-Adresse
Erläuterung
QVZ
(Quittungsverzug)
Ein Quittungsverzug tritt auf, wenn sich eine Ein- und Ausgabebaugruppe nach einer Adressierung innerhalb einer bestimmten Zeit nicht mit dem
RDY-Signal (Ready) zurückmeldet. Die Ursache des Quittungsverzugs kann ein Defekt auf der Peripheriebaugruppe sein oder das Ziehen der
Baugruppe aus dem AG während des Betriebs.
Folgende Quittungsverzugsfehler unterbrechen die Anwenderprogrammbearbeitung und rufen einen entsprechenden Organisationsbaustein auf.
Hinweis!
Wenn die aufgerufenen Organisationsbausteine nicht programmiert sind, wird die Bearbeitung des Anwenderprogramms fortgesetzt.
Ist ein Quittungsverzug aufgetreten, liest die CPU "ersatzweise" den Wert
"00H" ein und arbeitet, falls der QVZ quittiert wird, mit diesem Wert weiter.
Durch einen Quittungsverzug wird die Laufzeit des Anwenderprogramms verlängert.
Rev. 00/27 6-43
Teil 6 Unterbrechungs- und Fehlerbehandlung
STOP bei QVZ
Handbuch VIPA CPU 928 - Band 1
Wenn der Quittungsverzug zum STOP der CPU führen soll, muss im aufgerufenen OB (OB23 bzw. OB24) der Stoppbefehl STP programmiert sein.
Durch entsprechende Programmierung des DX 0 können Sie im Falle eines QVZ auch bei nicht programmierten OB23/24 einen Systemstopp veranlassen.
QVZ bei
Direktzugriff über
Rückwand-Bus
Quittungsverzug im Anwenderprogramm bei Direktzugriff über den
Rückwand-Bus auf CP, IP oder auf eine Peripheriebaugruppe (z.B. mit
Lade- und Transferbefehlen L/T P...bzw. Q...).
OB23 Das Systemprogramm ruft den Organisationsbaustein OB23 auf, wenn dieser geladen ist.
Fehleranzeigen In den AKKUs 1 und 2 stehen dabei zusätzliche Informationen, die den auftretenden Fehler näher erläutern:
QVZ-Anzeigen bei Quittungsverzug
Fehlerkennung
AKKU-1-L AKKU-2-L
1E23h yyyyyh Quittungsverzug yyyy = QVZ-Adresse
Erläuterung
QVZ-Adresse Die QVZ-Adresse weist auf das Peripheriebyte, welches als erstes einen
QVZ erzeugt hat. In der Regel ist dies das Byte mit der niedrigsten
Adresse bei Peripheriebefehlen.
Eine Ausnahme hiervon sind QVZ-Adressen, die bei den Befehlen
TNB/TNW im Fall eines Quittungsverzuges geliefert werden:
Da diese Befehle dekrementierend arbeiten, zeigt in diesem Fall die QVZ-
Adresse auf das Byte mit der höchsten Adresse, das bei einem
Blocktransfer den QVZ ausgelöst hat.
6-44 Rev. 00/27
Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung
QVZ bei PAE/PAA-
Aktualisierung
Quittungsverzug bei Zugriffen vom Systemprogramm zur Aktualisierung des Prozessabbildes.
OB24 Das Systemprogramm ruft den Organisationsbaustein OB24 auf, wenn dieser geladen ist.
Fehleranzeigen In den AKKUs 1 und 2 stehen zusätzliche Informationen, die den aufgetretenen Fehler näher erläutern.
QVZ-Anzeigen bei Aufruf des OB 24
Fehlerkennung
AKKU-1-L AKKU-2-L
1E25h yyyyyh
1E26h yyyyyh
Erläuterung
Quittungsverzug bei der Ausgabe des Prozessabbildes der digitalen
Ausgänge yyyy = Adresse des nicht quittierten Ausgangsbytes
Quittungsverzug beim Aktualisieren des Prozessabbildes der digitalen
Eingänge yyyy = Adresse des nicht quittierten Eingangsbytes
Rev. 00/27 6-45
Teil 6 Unterbrechungs- und Fehlerbehandlung Handbuch VIPA CPU 928 - Band 1
ZYK
(Zykluszeitfehler)
Die Zykluszeit umfasst die gesamte Zeitdauer einer Bearbeitung des zyklischen Programms. Eine Überschreitung der in der CPU eingestellten
Zyklusüberwachungszeit kann ausgelöst werden z.B. durch fehlerhafte
Programmierung, durch eine Programmschleife in einem Funktionsbaustein, durch Ausfall des Taktgenerators oder durch Systemleistungen wie z.B. Prozessabbildaktualisierung in Verbindung mit langen Programmen.
OB26 Wenn eine Zykluszeitüberschreitung auftritt, unterbricht das Systemprogramm die Bearbeitung des Anwenderprogramms und ruft den
Organisationsbaustein OB26 auf, wenn dieser geladen ist. Die Überwachungszeit wird dabei neu gestartet (getriggert). Falls die Überwachungszeit erneut abläuft, bevor der OB26 zu Ende bearbeitet ist, geht die CPU mit Doppelfehler in den Stoppzustand.
Zyklusüberwachungszeit
Die Zyklusüberwachungszeit ist variabel (1 bis 13000 ms) und nachtriggerbar (siehe oben). Unabhängig von der Zykluszeit wird 100 ms nach
Ablauf der Zyklusüberwachungszeit BASP aktiv gesetzt, wenn der OB26 zu diesem Zeitpunkt noch nicht zu Ende bearbeitet ist.
Die Zyklusüberwachungszeit können Sie individuell vorgeben durch einen
Eintrag im DX 0 oder durch Aufruf des Sonderfunktions-Organisationsbausteins OB221.
Im zyklischen Programm kann die Zyklusüberwachungszeit durch einen
Aufruf des Sonderfunktionsbaustein OB222 "nachgetriggert" werden.
STOP bei nicht geladenem OB26
Wenn der OB26 nicht programmiert ist, geht die CPU in den Stoppzustand.
Soll dies nicht geschehen, so müssen Sie die Voreinstellung im DX 0 entsprechend ändern.
Fehleranzeigen Bei Auftreten eines Zykluszeitfehlers werden keine Fehlerkennungen in
AKKU 1 oder AKKU 2 übergehen.
6-46 Rev. 00/27
Handbuch VIPA CPU 928 - Band 1
WECK-FE
(Weckfehler)
Teil 6 Unterbrechungs- und Fehlerbehandlung
Wenn für einen bestimmten Weckalarm-OB eine erneute Anforderung auftritt, bevor seine letzte Anforderung vollständig bearbeitet ist, erkennt das Systemprogramm einen Weckfehler.
OB33 Wenn ein Weckfehler auftritt, ruft das Systemprogramm den
Organisationsbaustein OB33 auf, wenn dieser geladen ist, oder die CPU geht in den Stoppzustand. Beachten Sie hierzu auch die Aussagen unter
"Weckfehler" im Teil "Betriebszustände und Programmbearbeitungsebenen".
Fehleranzeigen In den AKKUs 1 und 2 hinterlegt das Systemprogramm zusätzliche
Informationen, die den aufgetretenen Fehler näher erläutern:
Fehlerkennung
AKKU-1-L AKKU-2-L
1001h 0016h
1001h
1001h
1001h
1001h
0014h
0012h
0010h
000Eh
1001h
1001h
1001h
1001h
000Ch
000Ah
0008h
0006h
Erläuterung
Weckfehler bei OB10
Weckfehler bei OB11
Weckfehler bei OB12
Weckfehler bei OB13
Weckfehler bei OB14
Weckfehler bei OB15
Weckfehler bei OB16
Weckfehler bei OB17
Weckfehler bei OB18
(10ms)
(20 ms)
(50 ms)
(100 ms)
(200 ms)
(500 ms)
(1 s)
(2 s)
(5 s)
Hinweis!
Die Kennung im AKKU 2 ist die Ebenenkennung des fehlererzeugenden
Weckalarms.
Ist der OB33 nicht programmiert, so geht die CPU in den Stoppzustand.
Durch entsprechende Programmierung im DX 0 können Sie bei aufgetretenem Weckfehler und nicht programmiertem OB33 die Programmbearbeitung jedoch weiterlaufen lassen.
Ein erneuter Aufruf der bereits aktivierten Fehlerprogrammbearbeitungsebene "Weckfehler" führt nicht zu einem Doppelfehler (DOPP)!
Rev. 00/27 6-47
Teil 6 Unterbrechungs- und Fehlerbehandlung Handbuch VIPA CPU 928 - Band 1
ABBR (Abbruch)
Auslösung und Reaktion
Wenn im Betriebszustand RUN der Stoppzustand angefordert wird durch
•
Betätigen des Betriebsartenschalters an der CPU von RUN auf STOP,
•
PG-Online-Funktion AG-STOP,
•
Schalter am Koordinator auf STOP,
• so ruft das Systemprogramm den OB28 auf, wenn dieser geladen ist.
Nach der Bearbeitung des OB28 geht die CPU in den Stoppzustand.
Hinweis!
Der Übergang in den Stoppzustand erfolgt unabhängig davon, ob und wie der OB28 programmiert ist.
keine Fehlerkennungen
Es werden keine Fehlerkennungen in AKKU 1 oder AKKU 2 übergeben
Kommunikationsfehler (FE-3)
Treten auf der zweiten seriellen Schnittstelle bei Rechnerkopplung RK 512,
Datenübertragung mit Prozedur 3964/3964R, Störungen auf, liegt ein Kommunikationsfehler vor. Bei einem Kommunikationsfehler ruft das Systemprogramm den Organisationsbaustein OB35 auf und übergibt in AKKU 1 zusätzliche Informationen, die die aufgetretenen Störungen näher erläutern.
OB35 Haben Sie keinen OB35 programmiert, so erfolgt keine Reaktion des
Systemprogramms und die CPU geht nicht in den Stoppzustand. Das ist die Standardeinstellung.
Soll beim Auftreten eines Schnittstellenfehlers die CPU auch bei nicht vorhandenem OB35 in den Stoppzustand gehen, so müssen Sie die
Voreinstellung im DX 0 entsprechend ändern.
Fehlerinformation in AKKU 1
Alle 100 ms prüft das Systemprogramm, ob Kommunikationsfehler an der zweiten seriellen Schnittstelle aufgetreten sind. Ist dies der Fall, so hinterlegt das Systemprogramm im AKKU 1 Fehlerinformationen. Ist der
OB35 vorhanden, so wird er vom Systemprogramm aufgerufen und die
Fehlerinformation in AKKU 1 übergeben.
Es können Fehlernummern zu maximal drei Störungsursachen beim Aufruf des OB35 übergeben werden. Liegen gleichzeitig mehr als drei Störungsursachen vor, so wird dies durch eine spezielle Überlaufkennung angezeigt.
6-48 Rev. 00/27
Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung
Aufbau der
Fehlerinformation in AKKU 1
31 24 23 18
AKKU 1 0 0 0 0 F U B 0 Fehlernummer
1
15 8
Fehlernummer
2
7 8
Fehlernummer
3
F
U
B
= ‘0’, wenn kein Fehlereintrag im Fehlerbereich
= ‘1’, wenn Fehler in Fehlerbereich eingetragen
= ‘0’, wenn kein Fehlerüberlauf (maximal drei Einträge)
= ‘1’, wenn Fehlerüberlauf (mehr als drei Einträge)
= ‘0’, wenn kein BREAK auf der Schnittstelle
= ‘1’, wenn BREAK auf der Schnittstelle
BREAK Bei BREAK auf der Schnittstelle wird der OB35 nur zu Beginn des BREAK-
Zustandes aufgerufen.
Fehlernummer 1 bis 3
Hier werden maximal 3 Fehlernummern zu den auf der Schnittstelle erkannten Störungen eingetragen und zwar in der Reihenfolge, in der sie vom System erkannt werden.
Bedeutung der
Fehlernummern
Die Bedeutung der Fehlernummern sowie weitere Informationen zur Behandlung von Schnittstellenfehlern entnehmen Sie bitte dem Handbuch
Ihrer Kommunikationsbaugruppe.
Rev. 00/27 6-49
Teil 6 Unterbrechungs- und Fehlerbehandlung Handbuch VIPA CPU 928 - Band 1
6-50 Rev. 00/27
Handbuch VIPA CPU 928 - Band 1 Teil 7 Erweiterter Datenbaustein DX 0
Teil 7 Erweiterter Datenbaustein DX 0
Überblick In diesem Kapitel wird der Aufbau und die Einträge im erweiterten Datenbaustein DX 0 beschrieben.
Sie erfahren, wofür Sie den Datenbaustein DX 0 einsetzen können und wie er aufgebaut ist. Weiterhin werden Sie informiert welche Bedeutung die verschiedenen DX-0-Parameter haben. Sie lernen an Hand von Beispielen, wie Sie einen DX 0 erstellen bzw. über eine Maske parametrieren können.
Nachfolgend sind beschrieben:
Einstellungen im DX 0
Formaler Aufbau und Parameter
Beispiele
Inhalt Thema Seite
Teil 7 Erweiterter Datenbaustein DX 0..................................................7-1
Parameter für DX 0...............................................................................7-5
Rev. 00/27 7-1
advertisement
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Related manuals
advertisement
Table of contents
- 7 Gesamtinhaltsverzeichnis
- 11 Benutzerhinweise
- 12 Sicherheitshinweise
- 14 Sicherheitshinweis für den Benutzer
- 16 Allgemeines
- 17 Anwendungsbereiche
- 17 Leistungsmerkmale
- 18 Arbeitsweise einer CPU
- 18 Programme einer CPU
- 19 Operanden der CPU 928
- 21 Adressierungsarten
- 22 Vorgehensweise bei der Programmierung
- 24 Unterschiede zu Siemens CPUs
- 30 Lieferumfang und Gerätevarianten
- 32 Aufbau CPU 928
- 34 Bedien- und Anzeigeelemente
- 37 Leuchtdioden
- 39 Schalter
- 40 Serielle Schnittstellen
- 45 Speicher-Module
- 46 Inbetriebnahme
- 47 Anlaufverhalten
- 48 Technische Daten
- 50 Programmiersprache
- 61 Programm-, Organisations- und Schrittbausteine
- 67 Funktionsbausteine
- 77 Datenbausteine
- 84 Prinzip der Programmbearbeitung
- 85 Programmorganisation
- 90 Speicherung von Programm- und Datenbausteinen
- 92 Bearbeitung des Anwenderprogramms
- 95 Operationen mit Beispielen
- 152 Einführung und Übersicht
- 155 Programmbearbeitungsebenen
- 158 Betriebszustand STOP
- 161 Betriebszustand ANLAUF
- 165 Betriebszustand RUN
- 178 Häufige Fehler im Anwenderprogramm
- 179 Fehlerinformationen
- 183 Steuerbits und Unterbrechungsstack
- 197 Fehlerbehandlung über Organisationsbausteine
- 200 Fehler im ANLAUF
- 206 Fehler im RUN und im ANLAUF
- 228 Anwendung
- 229 Aufbau des DX 0
- 231 Parameter für DX 0
- 235 Parametrierbeispiele
- 242 Struktur des Speichers CPU 928
- 244 Adressbereiche für die Peripherie und deren Programmierung
- 245 Organisation des Anwenderspeichers CPU 928
- 262 Einführung
- 266 Speicherzugriffe über Adresse in AKKU 1
- 275 Speicherblöcke transferieren
- 282 Operationen mit dem Basisadressregister (BR-Register)
- 292 Übersicht
- 293 PG-Funktionen
- 306 Tätigkeiten an Kontrollpunkten
- 307 Serielle Kopplung
- 307 Parallelbetrieb von zwei seriellen PG-Schnittstellen
- 319 OB 110: Zugriff auf das Anzeigenbyte
- 321 OB 111: AKKU 1, 2, 3 und 4 löschen
- 322 OB 112/113: AKKU-Roll-Up/AKKU-Roll-Down
- 324 OB 120: "Alarme gemeinsam sperren" ein-/ausschalten
- 327 OB 121: "Weckalarme einzeln sperren" ein-/ausschalten
- 329 OB 122: "Alarme gemeinsam verzögern" ein-/ausschalten
- 332 OB 123: "Weckalarme einzeln verzögern" ein-/ausschalten
- 334 OB 134, OB 135, OB 136 und OB 139
- 336 OB 150: Systemzeit stellen/lesen
- 343 OB 151: Uhrzeitgesteuerten Weckalarm stellen/lesen
- 350 OB 152: Zyklusstatistik
- 357 OB 160 bis 163: Zählschleifen
- 359 OB 170: Bausteinstack (BSTACK) lesen
- 364 OB 180: Variabler Datenbaustein-Zugriff
- 368 OB 181: Datenbausteine (DB/DX) testen
- 370 OB 182: Datenbereich kopieren
- 374 OB 186: Speicher komprimieren
- 376 OB 190/192: Merker in Datenbaustein übertragen
- 379 OB 191/193: Datenblöcke in Merkerbereich übertragen
- 384 OB 216 bis 218: Kachelzugriffe
- 386 OB 216: Schreiben auf eine Kachel
- 388 OB 217: Lesen aus einer Kachel
- 390 OB 218: Belegung einer Kachel
- 392 OB 220: Vorzeichenerweiterung
- 393 OB 221: Zyklusüberwachung einstellen
- 394 OB 222: Zyklusüberwachungszeit neu starten
- 395 OB 228: Statusinformation einer Programmebene lesen
- 397 OB 230 bis 237: Funktionen für Standard-FBs
- 398 OB 250/251: Regelung /PID-Algorithmus
- 405 OB 250: PID-Algorithmus initialisieren
- 406 OB 251: PID-Algorithmus bearbeiten
- 412 OB 254/255: Einen Datenbaustein verschieben/duplizieren
- 416 Einführung
- 417 Die Parameter der Hantierungsbausteine
- 418 Parameterbeschreibung
- 420 Parametrierung von SSNR, A-Nr, ANZW und BLGR
- 423 Indirekte Parametrierung von Quell- und Zielangaben
- 424 Aufbau des Anzeigenwortes
- 426 Arbeiten mit dem Anzeigewort
- 429 Das Längen - Wort
- 430 Aufbau Parametrierfehlerbyte (PAFE)
- 430 Einstellbare Blockgrößen
- 431 Tabelle über die möglichen QTYP/ZTYP - Parameter
- 433 Der SEND - Baustein FB 120
- 436 Der RECEIVE-Baustein FB 121
- 439 Der FETCH-Baustein FB 122
- 440 Der CONTROL-Baustein FB 123
- 441 Der RESET-Baustein FB 124
- 442 Der SYCHRON-Baustein FB 125
- 443 SEND-ALL 126
- 444 RECEIVE-ALL 127
- 445 Blockgröße
- 446 Analogwert-Anpassungsbausteine FB 250 und FB 251
- 451 Beispiel für eine Analogwertverarbeitung
- 454 Einführung RK512
- 462 Parametrierung
- 478 Koordinierungsmerker (KM)
- 480 Inbetriebnahme
- 482 Betrieb
- 490 Datenaustausch
- 495 Telegrammbeschreibung
- 504 Einführung 3964 und 3964R
- 511 Parametrierung
- 524 Inbetriebnahme
- 526 Betrieb
- 532 Prozeduren
- 539 Gesamtindex