Herunterladen Inhalt Inhalt Diese Seite drucken
Siemens Simatic S5 CPU 928B Anleitung
Vorschau ausblenden Andere Handbücher für Simatic S5 CPU 928B:
Inhaltsverzeichnis

Werbung

SIMA TIC S5
+27 ' &*
Programmieranleitung
Bestell-Nr.: 6ES5 998-2PR11
A usgabe 01
C79000-H8500-C898-01
Einführung
Anwenderprogramm
Programmbearbeitung
Betriebszustände und
Programmbearbeitungsebenen
Unterbrechungs- und Fehlerbehandlung
Integrierte Sonderfunktionen
Erweiterter Datenbaustein DX 0
Speicherbelegung und
Speicherorganisation
Speicherzugriffe auf
absolute Adressen
Mehrprozessorbetrieb und
Mehrprozessorkommunikation
PG-Schnittstellen und
-Testhilfen
Anhang
Literaturverzeichnis
Abkürzungsverzeichnis,
Stichwortverzeichnis, Verzeichnis der
Tabellen und Bilder
Tabellenheft CPU 922/CPU 928/CPU 928B/CPU 948
Bestell-Nr.: 6ES5 997-3UA12
ist dem Handbuch beigefügt
1
2
3
4
5
6
7
8
9
10
11
12
13
14

Werbung

Inhaltsverzeichnis
loading

Inhaltszusammenfassung für Siemens Simatic S5 CPU 928B

  • Seite 1 Einführung Anwenderprogramm SIMA TIC S5 Programmbearbeitung +27 ' &* Betriebszustände und Programmbearbeitungsebenen Programmieranleitung Unterbrechungs- und Fehlerbehandlung Integrierte Sonderfunktionen Bestell-Nr.: 6ES5 998-2PR11 A usgabe 01 Erweiterter Datenbaustein DX 0 Speicherbelegung und Speicherorganisation Speicherzugriffe auf absolute Adressen Mehrprozessorbetrieb und Mehrprozessorkommunikation PG-Schnittstellen und -Testhilfen Anhang Literaturverzeichnis...
  • Seite 2 C opyright Copyright © Siemens AG 1993 All Rights Reserved Weitergabe sowie Vervielfältigung dieser Unterlage, Verwertung und Mitteilung ihres Inhalts ist nicht ge- stattet, soweit nicht ausdrücklich zugestanden. Zuwiderhandlungen verpflichten zu Schadensersatz. Alle Rechte vorbehalten, insbesondere für den Fall der Patenterteilung oder GM-Eintragung.
  • Seite 3: Geltungsbereich

    Hinweise zur Benutzung des Handbuches Geltungsbereich Diese Programmieranleitung beschreibt die Funktionen der CPU 928B-3UB11 und CPU 928B-3UB12 sowie die zugehörige Sy- stemsoftware. Die zusätzlichen Funktionen der CPU 928B-3UB12 sind im Hand- buch gekennzeichnet. Sie können zum Teil bei der CPU 928B-3UB11 nachgerüstet werden (lesen Sie hierzu bitte den Abschnitt 1.8).
  • Seite 4 Hinweise zur Benutzung des Handbuches Hinweise zu den Kapitel-Inhalten Kapitel 1 informiert Sie über den Anwendungsbereich des Automatisierungs- gerätes S5-135U mit der CPU 928B. Es erklärt die typische die Arbeitsweise einer CPU und schildert, wie ein CPU-Programm aufgebaut ist. Sie erhalten ferner einige Vorschläge, wie Sie beim Programmieren vorgehen können und erfahren, welche für die Programmierung wichti- gen Kenndaten die CPU 928B hat.
  • Seite 5 Hinweise zur Benutzung des Handbuches Kapitel 6 führt die integrierten Sonderfunktionen das Systemprogramm auf. Es informiert Sie, wo Sie die Sonderfunktionen anwenden können und wie Sie die Sonderfunktions-OBs aufrufen und parametrieren müssen. Ferner erfahren Sie, wie Sie Fehler bei der Bearbeitung einer Sonder- funktion erkennen und per Programm bearbeiten können.
  • Seite 6 Hinweise zur Benutzung des Handbuches Kapitel 13 gibt Ihnen einige Literaturhinweise Kapitel 14 dient als Orientierungshilfe und enthält ein Abkürzungsverzeichnis, ein Stichwortverzeichnis sowie Verzeichnisse über alle numerierten Tabellen und Bilder. Programmieranleitung CPU 928B H - 4 C79000-D8500-C898, 01...
  • Seite 7: Orientierungshilfen Im Text

    Hinweise zur Benutzung des Handbuches Orientierungshilfen im Text Um Ihnen beim Lesen oder Durchblättern schnell einen Überblick über den Inhalt einzelner Textseiten zu geben, bietet Ihnen das Hand- buch neben den Überschriften für Abschnitte 2. und 3. Ordnung fol- gende Hilfen an: Marginalien Marginalien sind kursiv gedruckte Stichworte am linken Rand einer Textseite.
  • Seite 8: Tabellen Zum Nachschlagen

    Hinweise zur Benutzung des Handbuches Tabellen zum Nachschlagen Informationen, auf die Sie u. U. gezielt zugreifen wollen, werden in numerierten Tabellen in der folgenden (Beispiel) oder ähnlichen Form dargestellt und im Verzeichnis der Tabellen (siehe Kapitel 14) aufge- führt. Tabelle 3-2 Binäre Verknüpfungsoperationen Operation Operand...
  • Seite 9: Inhaltsverzeichnis

    Inhalt Einführung ..............1 - 3 Anwendungsbereich S5-135U mit CPU 928B .
  • Seite 10 Inhalt Datenbausteine ............. . . 2 - 37 2.4.1 Erstellen von Datenbausteinen .
  • Seite 11 Inhalt Unterbrechungs- und Fehlerbehandlung ......... . 5 - 3 Häufige Fehler im Anwenderprogramm .
  • Seite 12 Inhalt 6.13 OB 160 bis 163: Zählschleifen ..........6 - 51 6.14 OB 170: Bausteinstack (BSTACK) lesen .
  • Seite 13 Inhalt Erweiterter Datenbaustein DX 0 ..........7 - 3 Anwendung .
  • Seite 14 Inhalt Mehrprozessorbetrieb und Mehrprozessorkommunikation ......10 - 3 10.1 Mehrprozessorbetrieb ............10 - 4 10.1.1 Wann verwenden Sie den Mehrprozessorbetrieb? .
  • Seite 15 Inhalt 10.9 Anwendungen ............. . . 10 - 51 10.9.1 Aufruf der Sonderfunktions-OB über Funktionsbausteine .
  • Seite 16 Inhalt Programmieranleitung CPU 928B viii C79000-D8500-C898, 01...
  • Seite 17: Einführung

    Einführung Inhalt von Kapitel 1 Anwendungsbereich S5-135U mit CPU 928B ....... . . 1 - 4 Typische Arbeitsweise einer CPU .
  • Seite 18 Inhalt Programmieranleitung CPU 928B 1 - 2 C79000-D8500-C898, 01...
  • Seite 19: Inhalt Von Kapitel 1

    Lesern, die diese Grundkenntnisse noch nicht besitzen, sei die Lektüre ei- nes Einführungsbuches in die Programmiersprache STEP 5 /3/ oder die Teilnahme an einem Kurs in einem unserer Trainingscenter empfoh- len. SIEMENS bietet Ihnen umfangreiche Schulungsmöglichkeiten zu SIMATIC S5. Nähere Informationen dazu erhalten Sie bei Ihrer SIEMENS-Geschäftsstelle.
  • Seite 20: Anwendungsbereich S5-135U Mit Cpu 928B

    Anwendungsbereich S5-135U mit CPU 928B Anwendungsbereich S5-135U mit CPU 928B Einordnung in die Familie Das Automatisierungsgerät S5-135U gehört zur Familie der speicher- programmierbaren Steuerungen SIMATIC S5. Es ist mit der CPU 928B ein leistungsfähiges Mehrprozessorgerät zur Prozeßauto- matisierung (Steuern, Melden, Überwachen, Regeln, Protokollieren). Es kann sowohl für den Aufbau einfachster Steuerungen mit binären Signalen als auch zur Lösung umfangreicher Automatisierungs- aufgaben werden.
  • Seite 21 Anwendungsbereich S5-135U mit CPU 928B L e e r s e i t e Programmieranleitung CPU 928B 1 - 5 C79000-D8500-C898, 01...
  • Seite 22: Typische Arbeitsweise Einer Cpu

    Typische Arbeitsweise einer CPU Typische Arbeitsweise einer CPU Arbeitsweise einer CPU In einer CPU gibt es folgende Arbeitsweisen : zeitgesteuerte Bearbeitung zyklische Bearbeitung alarmgesteuerte Bearbeitung zyklische Bearbeitung Sie stellt den Hauptanteil aller Vorgänge in der CPU. Wie ihr Name schon ausdrückt, wiederholt sich in einem endlosen Zyklus ständig die gleiche Bearbeitungsfolge.
  • Seite 23 Typische Arbeitsweise einer CPU zeitgesteuerte Bearbeitung Für Prozesse, die in konstanten Zeitabschnitten Steuersignale benöti- gen, können Sie neben dem zyklischen Ablauf zeitgesteuert bestimm- te Aufgaben bearbeiten z. B. zeitunkritische Überwachungsfunktionen im Sekundenraster. alarmgesteuerte Bearbeitung Einem Prozeßsignal, auf das besonders schnell reagiert werden muß, ord- nen Sie einen alarmgesteuerten Bearbeitungsabschnitt zu.
  • Seite 24: Die Programme In Einer Cpu

    Die Programme in einer CPU Die Programme in einer CPU Das in jeder CPU vorhandene Programm unterteilt sich in • • das Systemprogramm • • das Anwenderprogramm. Systemprogramm Das Systemprogramm organisiert alle Funktionen und Abläufe der CPU, die nicht mit einer spezifischen Steuerungsaufgabe verbunden sind (siehe Bild 1-2).
  • Seite 25 Die Programme in einer CPU Aufgaben Zu den Aufgaben gehören : • • Neustart und Wiederanlauf, • • das Aktualisieren des Prozeßabbildes der Eingänge und die Aus- gabe des Prozeßabbildes der Ausgänge, • • die Aufrufe der zyklischen, zeit- und alarmgesteuerten Programme, •...
  • Seite 26: Anwenderprogramm

    Die Programme in einer CPU Anwenderprogramm Aufgaben Das Anwenderprogramm enthält alle Funktionen, die zur Bearbeitung einer spezifischen Steuerungsaufgabe erforderlich sind. Diese Funk- tionen lassen sich bei einer groben Aufteilung direkt den Schnittstel- len zuordnen, die das Systemprogramm für die unterschiedlichen Bearbeitungsarten zur Verfügung stellt: Bearbeitungsart Aufgabe...
  • Seite 27 Die Programme in einer CPU Aufbau Anwenderspeicher Anwenderprogramm Codebausteine Organisations- Programm- Schritt- Funktions- bausteine bausteine bausteine bausteine FB/FX STEP-5- STEP-5- STEP-5- STEP-5- Operationen Operationen Operationen Operationen E 1.5 & M 1.7 FB 8 M 50.1 E 2.6 E 1.6 NETWERK 1 M 50.2 NAME :TRANS E 1.4...
  • Seite 28: Speicherung Des Anwenderprogramms

    Die Programme in einer CPU Speicherung des Für die Ablage der Bausteine stehen auf der CPU 928B zwei Bereiche Anwenderprogramms zur Verfügung: • • Anwenderspeicher: max. 64 K byte Der Anwenderspeicher befindet sich auf einem steckbaren RAM- oder EPROM-Modul und enthält Code- und Datenbausteine (falls der Anwenderspeicher ein EPROM-Modul ist, müssen Datenbausteine, deren Daten durch das Anwenderprogramm verändert werden sollen, in das DB-RAM geladen werden).
  • Seite 29: Welche Operanden Stehen Dem Anwenderprogramm Zur Verfügung

    Welche Operanden stehen dem Anwenderprogramm zur Verfügung? Welche Operanden stehen dem Anwenderprogramm zur Verfügung? Die CPU 928B stellt Ihnen für das Programmieren folgende Operan- denbereiche zur Verfügung: • • Prozeßabbild und Peripherie • • Merker (M-Merker und S-Merker) • • Zeiten/Zähler •...
  • Seite 30: S-Merker (Erweiterter Merkerbereich)

    Welche Operanden stehen dem Anwenderprogramm zur Verfügung? M-Merker Kennzeichen Größe Der Merkerbereich ist ein Speicherbereich, auf den das 2048 bit Anwenderprogramm mit entsprechenden Operationen sehr schnell zugreifen kann. Der Merkerbereich sollte bevorzugt für oft benötigte Arbeitsdaten verwendet werden. Auf folgende Datentypen kann zugegriffen werden: Einzelbits, Bytes, Wörter,...
  • Seite 31 Welche Operanden stehen dem Anwenderprogramm zur Verfügung? Zeiten T Kennzeichen Größe Zeitzellen werden vom Anwenderprogramm mit einem Zeitwert zwischen 10ms und 9990s geladen und durch Zeitzellen eine Startoperation von diesem Vorgabewert aus so lange im vorgewählten Zeitraster dekrementiert, bis sie den Wert Null erreicht haben.
  • Seite 32: Zugriff Auf Operanden- Und Speicherbereiche

    Zugriff auf Operanden- und Speicherbereiche Zugriff auf Operanden- und Speicherbereiche Für den Zugriff auf diese Operandenbereiche und den gesamten Spei- cher verwenden die STEP-5-Befehle zwei unterschiedliche Mechanis- men: Relative Adressierung Der überwiegende Teil der STEP-5-Befehle adressiert eine Speicherzelle relativ zum Beginn eines Operandenbereiches. Wenn ausschließlich mit diesen Befehlen gearbeitet wird, sind Code- und Datenbereiche des Anwenderprogramms gegen ungewolltes Überschreiben ge- schützt.
  • Seite 33: Wie Können Sie Beim Programmieren Vorgehen

    Wie können Sie beim Programmieren vorgehen? Wie können Sie beim Programmieren vorgehen? Wenn Sie ein erfahrener Anwender sind, haben Sie bestimmt schon Ihre eigene Methode der Programmerstellung gefunden; Sie brauchen dann diesen Abschnitt nicht zu lesen. Weniger erfahrenen Lesern seien folgende Tips gegeben, wie sie beim Entwerfen, Programmieren, Testen und Inbetriebnehmen ihres STEP-5-Programms vorgehen können.
  • Seite 34 Wie können Sie beim Programmieren vorgehen? Schritt 2 Programm entwerfen: Schritt Tätigkeit Entwerfen Sie mit Hilfe des verfeinerten Block- diagramms die notwendigen Bearbeitungsarten Ihres Programms (zyklische Bearbeitung, zeitgesteuerte Bearbeitung usw.) und benennen Sie die dazu verwendeten OBs. Teilen Sie die Bearbeitungsarten in technologische und/oder funktionale Blöcke ein.
  • Seite 35 Wie können Sie beim Programmieren vorgehen? Schritt 3 Programm erstellen, testen und in Betrieb nehmen: Schritt Tätigkeit Legen Sie die Darstellungsart für die Codebausteine fest (KOP, FUP oder AWL, lesen Sie dazu bitte in Kapitel 2). Beachten Sie, daß Funktionsbausteine nur in der Darstellungsart AWL erstellt werden können.
  • Seite 36: Programmierwerkzeuge

    Programmierwerkzeuge Programmierwerkzeuge Einsetzbare PGs Für die Erstellung Ihres Anwenderprogramms stehen Ihnen die Pro- grammiegeräte PG 685, PG 710, PG 730, PG 750 und PG 770 zur Ver- fügung. Leistung und Eigenschaften dieser Geräte können Sie dem Katalog ST 59 /9/ entnehmen. Hinweis Damit Sie auch ein PG 615 oder ein OP 3xx einsetzen können, müssen Sie im Systemdatum BS 29 (siehe Kapitel 8) die...
  • Seite 37: Was Ist Neu Bei Der Cpu 928B (-3Ub12)

    Was ist neu bei der CPU 928B (-3UB12)? Was ist neu bei der CPU 928B (-3UB12)? Die CPU 928B (-3UB12) bietet Ihnen gegenüber der CPU 928B (-3UB11) folgende neue Funktionen. zusätzliche Anlaufart: Neben den bisherigen Anlaufarten (MANUELLER/AUTOMA- NEUSTART MIT TISCHER NEUSTART, MANUELLER/AUTOMATISCHER WIE- GEDÄCHTNIS DERANLAUF) können Sie folgende weitere Anlaufarten benutzen: •...
  • Seite 38 Was ist neu bei der CPU 928B (-3UB12)? Programmieranleitung CPU 928B 1 - 22 C79000-D8500-C898, 01...
  • Seite 39: Anwenderprogramm

    Anwenderprogramm Inhalt von Kapitel 2 Programmiersprache STEP 5 ..........2 - 4 2.1.1 Darstellungsarten KOP, FUP und AWL .
  • Seite 40 Inhalt Programmieranleitung CPU 928B 2 - 2 C79000-B8500-C898, 01...
  • Seite 41 Anwenderprogramm Im nachfolgenden Kapitel erfaheren Sie, aus welchen Komponenten sich ein STEP-5-Anwenderprogramm für die CPU 928B zusammen- setzt und wie es strukturiert werden kann. Programmieranleitung CPU 928B 2 - 3 C79000-B8500-C898, 01...
  • Seite 42: Programmiersprache Step 5

    Programmiersprache STEP 5 Programmiersprache STEP 5 Mit der Programmiersprache STEP 5 setzen Sie die Ihnen vorlie- genden Automatisierungs-aufgaben in Programme um, die in den SIMATIC-S5-Automatisierungsgeräten ablaufen. In STEP 5 können Sie sowohl einfache binäre Funktionen als auch komplexe digitale Funktionen und arithmetische Operationen einschließlich Gleitpunkta- rithmetik programmieren.
  • Seite 43: Strukturierte Programmierung

    Programmiersprache STEP 5 KONTAKTPLAN ANWEISUNGSLISTE FUNKTIONSPLAN Programmieren mit Programmieren mit Programmieren mit grafischen Symbolen mnemotechnischen grafischen Symbolen wie Stromlaufplan Abkürzungen der Funktionsbezeichnungen entspricht entspricht entspricht IEC 117-15 DIN 19239 DIN 19239 DIN 40700 DIN 40719 DIN 19239 & > = 1 Bild 2-1 Darstellungsarten der Programmiersprache STEP 5 Grafische Darstellung...
  • Seite 44: Step-5-Operationen

    Programmiersprache STEP 5 Dieses Verfahren des "strukturierten Programmierens" bietet Ih- nen folgende Vorteile: • • einfache und übersichtliche Programmierung auch umfangreicher Programme, • • Möglichkeit zum Standardisieren von Programmteilen, • • einfache Programmorganisation, • • leichte Änderungsmöglichkeiten, • • einfacher, abschnittsweiser Programmtest, •...
  • Seite 45 Programmiersprache STEP 5 Absolute und symbolische Den Operandenteil können Sie entweder absolut oder symbolisch Operanden (über die Zuordnungsliste) eingeben. Beispiel für die absolute Darstellung: :U E 1.4 Beispiel für die symbolische Darstellung: :U -Motor1 Beachten Sie zur absoluten und symbolischen Programmierung die Bedienungsanleitung zu Ihrem PG.
  • Seite 46: Zahlendarstellung

    Programmiersprache STEP 5 2.1.4 Zahlendarstellung Damit die CPU Zahlenwerte miteinander verknüpfen, verändern oder vergleichen kann, müssen diese in einer binärcodierten Darstellung in die Akkumulatoren (Arbeitsregister der CPU) geladen werden. Abhängig von der auszuführenden Operation sind in STEP 5 folgende Zahlendarstellungen zulässig: Dualzahlen: 16-bit-Festpunktzahlen 32-bit-Festpunktzahlen...
  • Seite 47 Programmiersprache STEP 5 16- und Festpunktzahlen sind ganze, mit einem Vorzeichen versehene Dual- 32-bit-Festpunktzahlen zahlen. Codierung der Sie sind in binärcodierter Darstellung 16 bit (= 1 Wort) bzw. 32 bit Festpunktzahlen (= 2 Wörter) breit, wobei Bit-Nr. 15 bzw. Bit-Nr. 31 das Vorzeichen enthält: •...
  • Seite 48: Anwendung Der Gleitpunktzahlen

    Programmiersprache STEP 5 Gleitpunktzahlen Gleitpunktzahlen sind positive und negative gebrochene Zahlen. Sie belegen immer ein Doppelwort (32 bit). Eine Gleitpunktzahl wird als Exponentialzahl dargestellt. Die Mantisse ist 16 oder 24 bit, der Expo- nent 8 bit lang. Die CPU 928B rechnet – sofern nichts anderes eingestellt wurde – beim Addieren, Subtrahieren, Multiplizieren und Dividieren mit einer 16 bit breiten Mantisse (Bit 8 bis 23).
  • Seite 49 Programmiersprache STEP 5 Codierung der Codierung einer Gleitpunktzahl: Gleitpunktzahlen 31 30 24 23 22 ..2 .... 2 Exponent Mantisse Angabe des Datenformats für Gleitpunktzahlen am PG: KG ± 0,1469368 x 10 bis ± 0,1701412 x 10 zulässiger Zahlenbereich Ein-/Ausgabe am PG im Code-Baustein:...
  • Seite 50 Programmiersprache STEP 5 BCD-codierte Zahl Dezimalzahlen werden als BCD-Zahlen dargestellt. Mit Vorzeichen und 3 Ziffern belegen sie im Akkumulator 16 bit (1 Wort): 12 11 V V V V Hunderter Zehner Einer Die einzelnen Ziffern sind positive 4-bit-Dualzahlen zwischen 0000 und 1001 (0 und 9 dezimal).
  • Seite 51: Step-5-Bausteine Und Deren Ablage Im Speicher

    Programmiersprache STEP 5 2.1.5 STEP-5-Bausteine und deren Ablage im Speicher Kennzeichnung Ein Baustein ist gekennzeichnet durch: • • den Bausteintyp (OB, PB, SB, FB, FX, DB, DX) • • die Bausteinnummer (Zahl zwischen 0 und 255). Bausteintypen Die Programmiersprache STEP 5 unterscheidet folgende Baustein- typen: Organisations- Die Organisationsbausteine sind die Schnittstelle zwischen dem Sy-...
  • Seite 52 Programmiersprache STEP 5 Funktionsbausteine (FB/FX) Funktionsbausteine dienen zum Programmieren von häufig wiederkeh- renden oder auch komplexen Funktionen (z.B. digitale Funktionen, Ablaufsteuerungen, Regelungen, Meldefunktionen). Ein Funktionsbaustein kann von übergeordneten Bausteinen mehrfach aufgerufen werden und bei jedem Aufruf mit neuen Operanden versorgt ("parametriert") werden.
  • Seite 53 Programmiersprache STEP 5 Bausteinvorkopf Zu den Bausteinen vom Typ DB, DX, FB und FX erzeugt das Pro- grammiergerät zusätzlich einen Bausteinvorkopf (DV, DXV, FV, FXV). Diese Bausteinvorköpfe enthalten Informationen über das Daten- format (bei DB und DX) bzw. über die Sprungmarken (bei FB und FX), die nur das Programmiergerät auswerten kann.
  • Seite 54: Ablage Der Bausteine

    Programmiersprache STEP 5 Ablage der Bausteine Alle programmierbaren Bausteine werden vom PG in der Reihenfolge ihres Transfers im Programmspeicher hinterlegt (Bild 2-2). Mit der PG-Funktion "Übertragen Bausteine B" werden zunächst die Code- und dann die Datenbausteine zum AG übertragen. Bei RAM-Betrieb wird zuerst das RAM-Modul nach Übertragung der Codebausteine mit Da- tenbausteinen aufgefüllt und danach werden die restlichen Datenbau- steine in das interne DB-RAM geschrieben.
  • Seite 55: Programm-, Organisations- Und Schrittbausteine

    Programm-, Organisations- und Schrittbausteine Programm-, Organisations- und Schrittbausteine Programmbausteine (PB), Organisationsbausteine (OB) und Schrittbau- steine (SB) unterscheiden sich hinsichtlich Programmierung und Aufruf nicht. Alle drei können Sie wahlweise in den Darstellungsarten KOP, FUP und AWL programmieren. Programmieren Gehen Sie beim Programmieren von Programm-, Organisations- und Schrittbausteinen folgendermaßen vor: Schritt Aktion...
  • Seite 56 Programm-, Organisations- und Schrittbausteine Aufrufe können sowohl unbedingt als auch bedingt ausgeführt werden: Unbedingter Aufruf Die Anweisung SPA gehört zu den unbedingten Operationen. Sie hat selbst keinen Einfluß auf das VKE. Dieses wird beim Sprung in den neuen Baustein mitgenommen. Dort kann es zwar ausgewertet, jedoch nicht mehr weiter verknüpft werden.
  • Seite 57: Organisationsbausteine Für Anwenderschnittstellen

    Programm-, Organisations- und Schrittbausteine Was die BE-Anweisung Nach der Anweisung BE (Bausteinende) setzt die CPU das Anwender- bewirkt programm in dem Baustein fort, in dem der Bausteinaufruf program- miert wurde: Die Programmbearbeitung wird bei der auf den Baustein- aufruf folgenden STEP-5-Anweisung fortgesetzt. Die Anweisung BE wird unabhängig vom Verknüpfungsergebnis bear- beitet.
  • Seite 58 Programm-, Organisations- und Schrittbausteine Tabelle 2-1 Übersicht der OBs für die Programmbearbeitung Organisationsbausteine zum Steuern der Programmbearbeitung Baustein Funktion und Aufrufkriterium OB 1 Organisation der zyklischen Programm- bearbeitung: Erster Aufruf nach Ende einer Anlaufart, dann zyklischer Aufruf. OB 2 Organisation der alarmgesteuerten Programm- bearbeitung;...
  • Seite 59 Programm-, Organisations- und Schrittbausteine Tabelle 2-2 Übersicht der OBs für den Anlauf Organisationsbausteine zum Steuern des Anlaufverhaltens Baustein Funktion und Aufrufkriterium OB 20 Aufruf bei NEUSTART (manuell und automatisch) OB 21 Aufruf bei MANUELLEM WIEDER- ANLAUF/NEUSTART MIT GEDÄCHTNIS OB 22 Aufruf bei AUTOMATISCHEM WIEDER- ANLAUF/NEUSTART MIT GEDÄCHTNIS...
  • Seite 60: Funktion Und Aufrufkriterium

    Programm-, Organisations- und Schrittbausteine Organisationsbausteine für Reaktionen auf Geräte- oder Programmfehler Baustein Funktion und Aufrufkriterium Fortsetzung der Tabelle 2-3: OB 34 Fehler bei Reglerbearbeitung (REG-FE) OB 35 Kommunikationsfehler auf der zweiten seriellen Schnittstelle (FE-3) OB 36 bis 39 bei CPU 928B nicht vorhanden Ist im Fehlerfall der OB nicht geladen, geht die CPU in den Stopp- zustand.
  • Seite 61: Sonderfunktions-Organisationsbausteine

    Programm-, Organisations- und Schrittbausteine 2.2.2 Sonderfunktions-Organisa- Die folgenden Organisationsbausteine enthalten Sonderfunktionen des tionsbausteine Systemprogramms. Sie können von Ihnen nicht programmiert (dies gilt für alle OB mit Nummern zwischen 40 und 255!), sondern ledig- lich aufgerufen werden. Sie enthalten kein STEP-5-Programm. Sonder- funktions-OB können in allen Code-Bausteinen aufgerufen werden.
  • Seite 62 Programm-, Organisations- und Schrittbausteine Integrierte Organisationsbausteine mit Sonderfunktionen Baustein: Bausteinfunktion: Fortsetzung der Tabelle 2-4: OB 223 Anlaufarten vergleichen OB 224 Koppelmerker blockweise übertragen OB 226 Wort aus Systemprogramm lesen OB 227 Quersumme des Systemprogrammspeichers lesen OB 228 Statusinformation einer Programmbearbeitungs- ebene lesen OB 230 bis 237 Funktionen für Standard-Funktionsbausteine...
  • Seite 63: Funktionsbausteine

    Funktionen realisiert. Jeder Funktionsbaustein stellt inner- halb des Anwenderprogramms eine abgeschlossene Funktion dar. Sie können Funktionsbausteine • • als Softwareprodukt von SIEMENS beziehen (Standard- Funktionsbausteine auf Diskette – siehe /5/); mit diesen Standard- Funktionsbausteinen können Sie Ihre Proramme für Steuern,...
  • Seite 64: Aufbau Von Funktionsbausteinen

    Funktionsbausteine 2.3.1 Aufbau von Funktionsbau- Der Bausteinkopf (5 Wörter) eines Funktionsbausteins ist gleich auf- steinen gebaut wie die Bausteinköpfe der übrigen STEP-5-Bausteine. Der Bausteinrumpf hingegen unterscheidet sich in seinem Aufbau von dem der anderen Bausteinarten. Die auszuführende Funktion ist darin in Form einer Anweisungsliste in der Programmiersprache STEP 5 geschrieben.
  • Seite 65 Funktionsbausteine Im Speicher stehen somit alle Angaben, die das Programmiergerät be- nötigt, um den Funktionsbaustein beim Aufruf grafisch darstellen zu können und um die Operanden bei der Parametrierung und Program- mierung des Funktionsbausteins zu überprüfen. Eine fehlerhafte Einga- be wird vom Programmiergerät abgelehnt. Unterscheiden Sie bei der Behandlung von Funktionsbausteinen zwi- schen •...
  • Seite 66: Programmieren Von Funktionsbausteinen

    Funktionsbausteine 2.3.2 Programmieren von Funk- Einen Funktionsbausteins können Sie nur in der Darstellungsart tionsbausteinen "Anweisungsliste" programmierenn. Bei der Eingabe eines Funk- tionsbausteins am PG gehen Sie so vor: Schritt Aktion Geben Sie den Bausteintyp (FB/FX) und die Nummer des Funktionsbausteins ein. Anwender-Funktionsbausteine sollten von FB 255 an fallend numeriert werden, um nicht mit den Standard- Funktionsbausteinen zu kollidieren, die von FB 1 bis...
  • Seite 67 Funktionsbausteine Hinweis Wenn Sie die Reihenfolge oder die Anzahl der Formaloperanden in der Formaloperandenliste ändern, müssen alle STEP-5-Anwei- sungen im Funktionsbaustein, die einen Formaloperanden ansprechen, und die Bausteinparameterliste im aufrufenden Baustein entsprechend nachgeführt werden! Programmieren und ändern Sie Funktionsbausteine grundsätzlich auf Diskette oder Festplatte und übertragen Sie sie anschließend in die CPU! Formaloperanden...
  • Seite 68: Aufrufen Und Parametrieren Von Funktionsbausteinen

    Funktionsbausteine 2.3.3 Aufrufen und Parametrieren Jeder Funktionsbaustein kann beliebig oft und an beliebigen Stellen von Funktionsbausteinen im STEP-5-Anwenderprogramm aufgerufen werden. Aufrufe von Funktionsbausteinen können sowohl in einer Anweisungsliste als auch in einer grafischen Darstellung erfolgen (FUP oder KOP). Gehen Sie beim Aufrufen und Parametrieren folgendermaßen vor: Schritt Aktion Reaktion am PG...
  • Seite 69 Funktionsbausteine Zulässige Aktualoperanden Welche Operanden Sie einem Funktionsbaustein als Aktual- operanden zuordnen dürfen, entnehmen Sie bitte der nachfolgenden Tabelle. Tabelle 2-6 Zulässige Aktualoperanden für Funktionsbausteine Art des Typ des Parameters Zugelassene Aktualoperanden Parameters E, A für einen Operanden Eingang mit Bitadresse Ausgang Merker für einen Operanden...
  • Seite 70 Funktionsbausteine Art des Typ des Parameters Zugelassene Aktualoperanden Parameters Fortsetzung der Tabelle 2-6: für eine Festpunktzahl Konstante (Forts.) -32768 bis +32767 für eine Gleitpunktzahl keine Typangabe zulässig Datenbaustein; ausgeführt wird der Befehl A DB n Funktionsbaustein (nur ohne Parameter zulässig) wird unbedingt (SPA .
  • Seite 71 Funktionsbausteine Beispiele Beispiel 1: Folgendes (vollständiges) Beispiel soll Ihnen sowohl das Programmieren als auch das Aufrufen und Parametrieren eines Funktionsbausteins verdeutlichen. Sie können es selbst leicht nachvollziehen. Der Funktionsbaustein FB 202 wird programmiert: FB 202 NETZWERK 1 NAME BEISPIEL Formal- : MONI E/A/D/B/T/Z: BI/BY/W/D:...
  • Seite 72 Funktionsbausteine Beispiel 2: Aufruf und Parametrierung eines Funktionsbausteins mit den Darstellungsarten AWL und KOP/FUP in einem Programmbaustein Darstellungsart AWL PB 25 NETZWERK 1 : A DB 5 : SPA FB 201 NAME : E-ANTR ZU-E : ZEIT : 010.1 ZU-A : : BE Formal- Aktual-...
  • Seite 73: Spezielle Funktionsbausteine

    Funktionsbausteine 2.3.4 Spezielle Funktions- Neben den Funktionsbausteinen, die der Anwender selbst program- bausteine miert, gibt es die Standard-Funktionsbausteine, die als fertiges Soft- wareprodukt zu beziehen sind. Sie enthalten allgemein verwendbare Standardfunktionen (z. B. Meldefunktionen, Ablaufsteuerungen usw.). Standard-Funktionsbausteine belegen die Nummern FB 1 bis FB 199. Wenn Sie Standard-Funktionsbausteine beziehen, beachten Sie die spe- ziellen Hinweise in der dazugehörigen Beschreibung (belegte Be- reiche, Konventionen usw.).
  • Seite 74 Funktionsbausteine Fortsetzung "Gleitpunktradizierer": Darstellungsart AWL Darstellungsart KOP Netz- : A DB 17 werk NETZWERK 2 :*** : SPA FB 6 FB 6 Netz- NAME : RAD : GP werk RADI : DD 5 DD 5 RADI M 15.0 : M 15.0 SQRT D D 10 SQRT : DD 10...
  • Seite 75: Datenbausteine

    Datenbausteine Datenbausteine In Datenbausteinen (DB) oder erweiterten Datenbausteinen (DX) sind die festen oder variablen Daten abgelegt, mit denen das Anwenderpro- gramm arbeitet. In Datenbausteinen werden keine STEP-5-Operatio- nen bearbeitet. Die Daten eines Datenbausteins können sein: • • beliebige Bitmuster, z. B. für Anlagenzustände, •...
  • Seite 76: Bausteinrumpf

    Datenbausteine Bausteinkopf Der Bausteinkopf belegt 5 Wörter im Speicher und enthält • • die Bausteinkennung, • • die Kennung des Programmiergerätes, • • den Bausteintyp und die Bausteinnummer, • • die Bibliotheksnummer und • • die Bausteinlänge (inkl. Länge des Bausteinkopfes). Bausteinrumpf Der Bausteinrumpf enthält in aufsteigender Reihenfolge, beginnend mit Datenwort DW 0, die Datenwörter, mit denen das Anwender-...
  • Seite 77: Erstellen Von Datenbausteinen

    Datenbausteine 2.4.1 Erstellen von Daten- So erstellen Sie einen Datenbaustein: bausteinen Schritt Aktion Geben Sie den Bausteintyp (DB/DX) und eine Daten- baustein-Nummer zwischen 3 und 255 ein. Geben Sie die einzelnen Datenwörter im gewünschten Datenformat ein. (Die Eingabe der Datenwörter wird nicht mit einer BE-Anweisung abgeschlossen!) Hinweis Die Datenbausteine DB 0, DB 1, DB 2, DX 0 DX 1 und DX 2...
  • Seite 78: Aufschlagen Von Datenbausteinen

    Datenbausteine 2.4.2 Aufschlagen von Datenbau- Ein Datenbaustein (DB/DX) kann nur unbedingt aufgeschlagen wer- steinen den. Dies ist möglich innerhalb eines Organisations-, Programm-, Schritt- oder Funktionsbausteins. Ein bestimmter Datenbaustein kann mehrfach im Programm aufgeschlagen werden. So schlagen Sie Datenbausteine auf: WENN ... DANN ...
  • Seite 79 Datenbausteine Hinweis Vor dem Zugriff auf ein Datenwort müssen Sie im Anwender- programm den gewünschten Datenbaustein aufschlagen, da die CPU nur so das richtige Datenwort findet. Das adressierte Datenwort muß im aufgeschlagenen Baustein enthalten sein, sonst erkennt das Systemprogramm bei einem Zugriff einen Lade- bzw.
  • Seite 80 Datenbausteine Beispiel 2: Gültigkeitsbereich bei Datenbausteinen (Bild 2-5) Im Programmbaustein PB 7 wird der Datenbaustein DB 10 aufgeschlagen (A DB 10). In der folgenden Programmbearbeitung werden die Daten dieses Datenbausteins bearbeitet. Nach dem Aufruf (SPA PB 20) wird der Programm- baustein PB 20 bearbeitet.
  • Seite 81: Spezielle Datenbausteine

    Datenbausteine 2.4.3 Spezielle Datenbausteine Die Datenbausteine DB 0, DB 1, DB 2, DX 0, DX 1 und DX 2 sind bei der CPU 928B für bestimmte Funktionen reserviert. Sie werden vom Systemprogramm verwaltet und sind für den Anwender nicht beliebig verwendbar.
  • Seite 82 Datenbausteine • • DX 0 Datenbaustein DX 0 (siehe Kapitel 7) Durch Parametrieren und Laden des Datenbausteins DX 0 können Sie die Voreinstellungen bestimmter Systemprogrammfunktionen (z. B. bei der Bearbeitung des Anlaufs) ändern und damit die Leistungen des Systemprogramms Ihren Erfordernissen anpassen. •...
  • Seite 83: Programmbearbeitung

    Programmbearbeitung Inhalt von Kapitel 3 Prinzip der Programmbearbeitung ......... . . 3 - 4 Programmorganisation .
  • Seite 84 Inhalt 3.5.4 Organisatorische Operationen ..........3 - 58 Sprungoperationen .
  • Seite 85 Programmbearbeitung Dieses Kapitel wendet sich an Leser, die in der Anwendung der Programmiersprache noch keine große Erfahrung haben. Es führt da- her in die Gundlagen der STEP-5-Programmierung ein und erläutert im weiteren ausführlich (mit Beispielen) die STEP-5-Operationen der CPU 928B. Erfahrenen Lesern, denen die Information zu einer speziellen STEP-5- Operation im Tabellenheft /1/ nicht ausreicht, kann der Abschnitt 3.5 als Nachschlageteil dienen.
  • Seite 86: Prinzip Der Programmbearbeitung

    Prinzip der Programmbearbeitung Prinzip der Programmbearbeitung Das STEP-5-Anwenderprogramm kann auf verschiedene Art und Weise bearbeitet werden. Typischerweise herrscht bei speicherprogrammierbaren Steuerungen (SPS) die zyklische Programmbearbeitung vor: Das Systemprogramm läuft in einer Programmschleife (dem Zyklus, siehe Abschnitt 3.4) und ruft dabei in jeder Schleife einmal den Organisationsbaustein OB 1 auf (siehe Bild 3-1).
  • Seite 87: Programmorganisation

    Programmorganisation Programmorganisation Mit der Programmorganisation legen Sie fest, nach welchen Bedin- gungen und in welcher Reihenfolge die von Ihnen erstellten Bausteine be- arbeitet werden sollen. Dazu programmieren Sie in den Organisations- bausteinen bedingte oder unbedingte Aufrufe der gewünschten Bau- steine. In den Programmteilen der einzelnen Organisations-, Programm-, Funktions- und Schrittbausteine können weitere Programm-, Funk- tions- und Schrittbausteine in beliebiger Kombination (nacheinander...
  • Seite 88 Programmorganisation OB 1 PB ’A’ An h a lt e n d e r An la g e Be t r ie b s a r t e n - p r o g r a m m No t- Au s SPA PB ’A’...
  • Seite 89 Programmorganisation P B ‘ X ‘ A n l a g e n t e i l ‘ X ‘ E i n z e l s t e u e r u n g S PA P B ‘ X ‘ R e g e l u n g M e l d u n g P B ‘...
  • Seite 90: Bausteinschachtelung

    Programmorganisation Bausteinschachtelung Bild 3-4 zeigt Ihnen das Prinzip der verschachtelten Bausteinaufrufe. OB 1 PB 5 PB 20 1. STEP-5-Op. 1. STEP-5-Op. DB 20 DB 30 PB 20 A 60.6 FB 30 SPA PB 5 NAME: KURV M 200.5 E 55.0 Operation, zu der zurückgesprungen wird Bild 3-4 Verschachteltes Aufrufen von Codebausteinen...
  • Seite 91 Programmorganisation Schachteltiefe Sie können maximal 62 Bausteine ineinander schachteln. Werden mehr als 62 Bausteine aufgerufen, meldet die CPU einen Fehler und geht in den Stoppzustand. Beispiel Programm- bearbeitungs- ebene OB 25 OB 2 FB 21 OB 13 PB 131 FB 131 OB 1 FB 1 PB 1...
  • Seite 92: Speicherung Von Programm- Und Datenbausteinen

    Speicherung von Programm- und Datenbausteinen Speicherung von Programm- und Datenbausteinen Damit die CPU das Anwenderprogramm bearbeiten kann, muß dieses – einschließlich vorhandener Datenbausteine – in den Programmspei- cher geladen werden. Als Programmspeicher stehen Ihnen das Anwen- dermodul (wahlweise RAM oder EPROM) und das DB-RAM zur Verfügung.
  • Seite 93: Bearbeitung Des Anwenderprogramms

    Bearbeitung des Anwenderprogramms Bearbeitung des Anwenderprogramms Die gesamte Software auf der CPU (diese besteht aus dem Systempro- gramm und dem STEP-5-Anwenderprogramm) hat folgende Aufgaben zu bearbeiten: • • ANLAUF der CPU, • • Steuerung eines Automatisierungsprozesses durch ständig sich wiederholende Operationsfolgen (ZYKLUS), •...
  • Seite 94: Reaktion Bei Alarmen Und Fehlern

    Bearbeitung des Anwenderprogramms Reaktion bei Alarmen und Um auf einen Alarm oder Fehler speziell reagieren zu können, stehen Fehlern Ihnen auf der CPU 928B spezielle Organisationsbausteine (OB 2, OB 6 und OB 9 bis OB 18 für Alarmbearbeitung, OB 19 und OB 23 bis OB 35 für Reaktionen im Fehlerfall) zur Verfügung, in denen Sie das entsprechende STEP-5-Programm hinterlegen können.
  • Seite 95 Bearbeitung des Anwenderprogramms Zykluszeitüberwachung Die Zykluszeit wird von der CPU auf einen Maximalwert überwacht. Standardmäßig ist dieser Maximalwert auf 150 ms eingestellt. Als Anwender haben Sie die Möglickeit, die Zykluszeitüberwachung selbst einzustellen bzw. sie während der Anwenderprogrammbearbeitung neu zu starten (siehe DX 0/Kapitel 7 und Sonderfunktions-OB OB 221 und OB 222/Abschnitte 6.22 und 6.23).
  • Seite 96: Unterbrechungsereignisse

    Bearbeitung des Anwenderprogramms Unterbrechungsereignisse Die zyklische Programmbearbeitung kann unterbrochen werden durch • • eine prozeßalarmgesteuerte Programmbearbeitung, • • eine zeitgesteuerte Programmbearbeitung, • • einen Verzögerungsalarm, • • einen uhrzeitgesteuerten Weckalarm. Sie kann unterbrochen bzw. ganz abgebrochen werden • • beim Auftreten eines Geräte- oder Programmfehlers, •...
  • Seite 97: Step-5-Operationen Mit Beispielen

    STEP-5-Operationen mit Beispielen STEP-5-Operationen mit Beispielen Eine STEP-5-Operation setzt sich zusammen aus einem Operationsteil und einem Operanden. Im Operationsteil wird festgelegt, was durch die CPU getan werden soll (Operation). Der Operandenteil gibt an, wo- mit eine Operation durchgeführt werden soll. Die STEP-5-Operationen lassen sich in verschiedene Gruppen eintei- len: •...
  • Seite 98: Ergebnisanzeigen

    STEP-5-Operationen mit Beispielen • • arithmetische Operationen verknüpfen den Inhalt von AKKU 1 und AKKU 2, schreiben das Ergebnis in den AKKU 1 und über- tragen den Inhalt des AKKU 3 nach AKKU 2 und den Inhalt des AKKU 4 nach AKKU 3 (Stack Drop); bei 16-bit-Festpunkt- arithmetik werden nur das Low-Word von AKKU 3 in das Low- Word von AKKU 2 und das Low-Word von AKKU 4 in das Low-Word von AKKU 3 übertragen,...
  • Seite 99 STEP-5-Operationen mit Beispielen Beispiel zu ERAB A 7.7 letzte Operation der vorher- gehenden Verknüpfungskette E 1.0 ERAB wird auf ’1’ gesetzt, VKE wird durch UND-Ver- knüpfung neu gebildet E 6.3 VKE wird durch ODER-Verknüp- fung beeinflußt E 2.1 VKE wird durch UND-NICHT- Verknüpfung beeinflußt A 2.4 ERAB wird auf ’0’...
  • Seite 100 STEP-5-Operationen mit Beispielen • • ANZ 1 und ANZ 0 Codierte Ergebnisanzeigen, deren Interpretation aus der folgenden Tabelle ersichtlich wird. Hinweis Zur unmittelbaren Auswertung der Anzeigen stehen Vergleichs- und Sprungoperationen zur Verfügung (siehe Abschnitte 3.5.1 und 3.5.3). Tabelle 3-1 Ergebnisanzeigen von STEP-5-Operationen Wort- Arith- Digitale...
  • Seite 101: Grundoperationen

    Grundoperationen 3.5.1 Grundoperationen Die Grundoperationen können Sie in allen Codebausteinen und in al- len Darstellungsarten (KOP, FUP und AWL) benutzen Binäre Verknüpfungsoperationen Tabelle 3-2 Binäre Verknüpfungsoperationen Operation Operand Funktion UND-Verknüpfung mit Abfrage auf Signalzustand "1" ODER-Verknüpfung mit Abfrage auf Signalzustand "1" E 0.0 bis 127.7 eines Eingangs im PAE A 0.0 bis 127.7...
  • Seite 102: Speicheroperationen

    Grundoperationen Innerhalb einer Verknüpfungskette wird das VKE aus Verknüpfungsart, bisherigem VKE und dem abgefragten Signalzustand gebildet. Eine Verknüpfungskette wird durch einen VKE-begrenzenden (ERAB = 0) Befehl (z. B. Speicheroperationen) abgeschlossen. Danach kann das VKE zwar ausgewertet, jedoch nicht weiter verknüpft werden. Beispiel Programm ERAB...
  • Seite 103: Lade- Und Transferoperationen

    Grundoperationen Lade- und Transferoperationen Tabelle 3-4 Lade- und Transferoperationen/Teil 1 Operation Operand Funktion Laden Transferieren 0 bis 127 eines Eingabebytes vom/zum PAE 0 bis 126 eines Eingabewortes vom/zum PAE 0 bis 124 eines Eingabe-Doppelwortes vom/zum PAE 0 bis 127 eines Ausgabebytes vom/zum PAA 0 bis 126 eines Ausgabewortes vom/zum PAA 0 bis 124...
  • Seite 104 Grundoperationen Tabelle 3-5 Lade- und Transferoperationen/Teil 2 Operation Operand Funktion Laden 0 bis 255 einer Konstanten, Bytewert 2 ASCII- einer Konstanten als 2 ASCII-Zeichen Zeichen -32768 bis einer Konstanten als Festpunktzahl +32767 einer Konstanten als Gleitpunktzahl 0 bis FFFF einer Konstanten als Hexadezimalzahl 0 bis einer Doppelwort-Konstanten als Hexadezimalzahl FFFF FFFF...
  • Seite 105 Grundoperationen Beispiele zu den Lade- und Transferoperationen Beispiel 1: Bild 3-6 zeigt das Laden/Transferieren eines Bytes, Wortes oder Doppelwortes aus einem/in einen byteweise organisierten Speicherbereich (PAE, PAA, Merker, Peripherie): :L EB i geladen wird Byte i des PAE in den AKKU-1-LL :L EW j geladen werden Byte j und j+1 des PAE in den AKKU-1-L :L MD k geladen werden die Merkerbytes k bis k+3 in den AKKU 1 AKKU 1...
  • Seite 106 Grundoperationen Beispiel 2: Bild 3-7 zeigt das Laden/Transferieren eines Bytes, Wortes oder Doppelwortes aus einem/in einen wortweise organisierten Speicherbereich. :L DR i geladen wird das rechte Byte aus dem Datenwort i in den AKKU-1-LL :L DL j geladen wird das linke Byte aus dem Datenwort j in den AKKU-1-LL :L DW k geladen wird das Datenwort k in den AKKU-1-L :L DD l geladen werden die Datenwörter l und l+1 in den AKKU 1...
  • Seite 107 Grundoperationen Ansprechen der Peripherie Die Peripherie kann durch Lade- und Transferoperationen ange- sprochen werden: • • direkt: mit L../T..PY, ..PW, ..QB, ..QW oder • • über das Prozeßabbild: mit L../T..EB, ..EW, ..ED, .AB, ..AW, ..AD und mit Verknüpfungsoperationen. Hinweis Bei den Transferoperationen T PY 0 bis 127 und T PW 0 bis 126 wird parallel das Prozeßabbild der Ausgänge nachgeführt.
  • Seite 108: Zeit- Und Zähloperationen

    Grundoperationen Zeit- und Zähloperationen Um eine Zeit durch eine Startoperation oder einen Zähler durch eine Setz- operation zu laden, muß der Wert vorher in den AKKU 1 geladen werden. Zu bevorzugen sind folgende Ladeoperationen: Für Zeiten: L KT, L EW, L AW, L MW, L DW, L SW. Für Zähler: L KZ, L EW, L AW, L MW, L DW, L SW.
  • Seite 109 Grundoperationen Zeitwert Ein Zeitwert kann mit der Operation L KT direkt oder mit entspre- chenden Ladeoperationen aus einem Merker- oder Datenwort indirekt in den AKKU 1 geladen werden. Er muß folgenden Aufbau haben (das Zeitraster wird bei L KT hinter dem Punkt im Operanden angegeben): Bit-Nr.
  • Seite 110: Zählwerte

    Grundoperationen Zählwerte Ein Zählwert kann mit dem Befehl L KZ direkt oder mit entsprechenden Ladeoperationen aus einem Merker- oder Datenwort indirekt in den AKKU 1 geladen werden. Er muß folgenden Aufbau haben: Bit-Nr. 15 14 13 im BCD-Code vorgegebener Zählwert 0..999 diese Bits sind irrelevant, d.
  • Seite 111 Grundoperationen Weitere Beispiele zu Zeit- und Zählwerten Direktes Laden von Zeitwerten Z e i t w e r t Z e i t z e l l e T 1 0 A K K U 1 ’ 0 ’ "L T 10": Direktes Laden des dualen Zeitwertes der Zeit T 10 in den AKKU 1...
  • Seite 112 Grundoperationen Codiertes Laden von Zeitwerten: Z e i t r a s t e r Z e i t w e r t Z e i t z e l l e T 1 0 D u a l B C D ’...
  • Seite 113: Arithmetische Operationen

    Grundoperationen Arithmetische Operationen Tabelle 3-7 Arithmetische Operationen Operation Operand Funktion – Addition zweier Festpunktzahlen (16 bit) Subtraktion zweier Festpunktzahlen (16 bit) Multiplikation zweier Festpunktzahlen (16 bit) Division zweier Festpunktzahlen (16 bit): Quotient in AKKU-1-L, Rest in AKKU-1-H Addition zweier Gleitpunktzahlen (32 bit) Subtraktion zweier Gleitpunktzahlen (32 bit) Multiplikation zweier Gleitpunktzahlen (32 bit) Division zweier Gleitpunktzahlen (32 bit)
  • Seite 114: Vergleichsoperationen

    Grundoperationen Vergleichsoperationen Tabelle 3-8 Vergleichsoperationen Operation Operand Funktion – Vergleich auf gleich >< Vergleich auf ungleich > Vergleich auf größer > = Vergleich auf größer/gleich < Vergleich auf kleiner <= Vergleich auf kleiner/gleich ...F: Vergleich zweier Festpunktzahlen (16 bit) ...D: Vergleich zweier Festpunktzahlen (32 bit) ...G: Vergleich zweier Gleitpunktzahlen (32 bit)
  • Seite 115: Null-/Bildaufbau-/Stopp-Operationen

    Grundoperationen E DB/EX DX Erzeuge Datenbaustein Die Operation E DBx erzeugt einen DB-Datenbaustein mit der Num- mer x (3 ≤ x ≤ 255) im Datenbaustein-RAM der CPU. Der Inhalt des Datenbausteins wird dabei nicht mit Null besetzt, d.h. die Datenwör- ter haben beliebige Inhalte.
  • Seite 116: Programmierbeispiele In Den Darstellungsarten Awl, Kop Und Fup

    Programmierbeispiele in den Darstellungsarten AWL, KOP und FUP 3.5.2 Programmierbeispiele in den Darstellungsarten AWL, KOP und FUP Verknüpfungsoperationen UND-Verknüpfung STEP-5-Darstellung Aufgabenstellung Anweisungs- Kontaktplan Funktionsplan liste E 1.1 E 1.1 E 1.3 E 1.7 A 3.5 E 1.1 1.3 1.7 & E 1.1 E 1.1 E 1.3...
  • Seite 117 Programmierbeispiele in den Darstellungsarten AWL, KOP und FUP Verknüpfungsoperationen (Fortsetzung) ODER-Verknüpfung STEP-5-Darstellung Aufgabenstellung Anweisungs- Kontaktplan Funktionsplan liste E 1.2 E 1.2 A 3.2 E 1.2 1.7 1.5 E 1.2 E 1.7 E 1.7 A 3.2 E 1.5 E 1.2 E 1.7 E 1.5 E 1.7 E 1.5...
  • Seite 118 Programmierbeispiele in den Darstellungsarten AWL, KOP und FUP Verknüpfungsoperationen (Fortsetzung) 1. Beispiel ODER-vor-UND-Verknüpfung STEP-5-Darstellung Aufgabenstellung Anweisungs- Kontaktplan Funktionsplan liste E 6.0 E 6.0 A 2.1 E 6.0 E 6.1 E 6.2 E 6.3 E 6.0 E 6.2 E 6.3 E 6.0 E 6.1 E 6.2 E 6.1...
  • Seite 119 Programmierbeispiele in den Darstellungsarten AWL, KOP und FUP Verknüpfungsoperationen (Fortsetzung) Abfrage auf Signalzustand "0" STEP-5-Darstellung Aufgabenstellung Anweisungs- Kontaktplan Funktionsplan liste E 1.5 E 1.6 A 3.0 E 1.5 E 1.5 E 1.6 & E 1.5 E 1.5 E 1.6 A 3.0 UN E 1.6 E 1.6 &...
  • Seite 120 Programmierbeispiele in den Darstellungsarten AWL, KOP und FUP Speicheroperationen (Fortsetzung) RS-Speicherglied mit Merkern STEP-5-Darstellung Aufgabenstellung Anweisungs- Kontaktplan Funktionsplan liste M 1.7 M 1.7 E 2.6 E 2.6 E 1.3 E 2.6 M 1.7 E 2.6 E 1.3 E 2.6 E 1.3 E 1.3 E 1.3 M 1.7...
  • Seite 121 Programmierbeispiele in den Darstellungsarten AWL, KOP und FUP Speicheroperationen (Fortsetzung) Nachbildung eines Wischrelais STEP-5-Darstellung Aufgabenstellung Anweisungs- Kontaktplan Funktionsplan liste E 1.7 E 1.7 E 1.7 E 1.7 E 1.7 M 4.0 M 2.0 & & M 4.0 M 4.0 M 2.0 M 4.0 M 2.0 / M 2.0...
  • Seite 122 Programmierbeispiele in den Darstellungsarten AWL, KOP und FUP Zeitoperationen Impuls STEP-5-Darstellung Aufgabenstellung Anweisungs- Kontaktplan Funktionsplan liste E 3.0 E 3.0 KT 10.2 E 3.0 E 3.0 10.2 AW 0 10.2 10 s AW 0 AW 0 AW 2 AW 2 A 4.0 AW 2 E 3.0...
  • Seite 123 Programmierbeispiele in den Darstellungsarten AWL, KOP und FUP Zeitoperationen (Fortsetzung) Verlängerter Impuls STEP-5-Darstellung Aufgabenstellung Anweisungs- Kontaktplan Funktionsplan liste E 3.1 E 3.1 EW 15 E 3.1 E 3.1 EW 15 EW 15 A 4.1 A 4.1 A 4.1 A4.1 Bei Verknüpfungsergebnis "1" und erstmaliger Bearbeitung wird das Zeitglied gestartet.
  • Seite 124 Programmierbeispiele in den Darstellungsarten AWL, KOP und FUP Zeitoperationen (Fortsetzung) Einschaltverzögerung STEP-5-Darstellung Aufgabenstellung Anweisungs- Kontaktplan Funktionsplan liste E 3.5 E 3.5 E 3.5 E 3.5 KT 9.2 KT 9.2 A4.2 E 3.5 A4.2 A 4.2 A 4.2 Bei Verknüpfungsergebnis "1" und erstmaliger Bearbeitung wird das Zeitglied gestartet.
  • Seite 125 Programmierbeispiele in den Darstellungsarten AWL, KOP und FUP Zeitoperationen (Fortsetzung) Speichernde Einschaltverzögerung STEP-5-Darstellung Aufgabenstellung Anweisungs- Kontaktplan Funktionsplan liste E 3.3 E 3.2 E 3.3 E 3.3 E 3.3 KT 20.2 20.2 20.2 SS T 20 s E 3.2 A 4.3 E 3.2 A 4.3 A 4.3...
  • Seite 126: Zähloperationen

    Programmierbeispiele in den Darstellungsarten AWL, KOP und FUP Zähloperationen Zähler setzen STEP-5-Darstellung Aufgabenstellung Anweisungs- Kontaktplan Funktionsplan liste E 4.0 E 4.1 KZ 150 E 4.0 E 4.1 E 4.1 Dual KZ 150 KZ 150 16 bit Wenn das Verknüpfungsergebnis am Starteingang (E 4.1) von "0" nach "1"...
  • Seite 127 Programmierbeispiele in den Darstellungsarten AWL, KOP und FUP Zähloperationen (Fortsetzung) Vorwärts zählen STEP-5-Darstellung Aufgabenstellung Anweisungs- Kontaktplan Funktionsplan liste E 4.1 E 4.1 ZV Z E 4.1 Dual 16 bit Der Wert des adressierten Zählers wird um 1 erhöht, maximal bis zum Zählwert 999. Die Funktion ZV wird nur bei einer positiven Flanke (von "0"...
  • Seite 128 Programmierbeispiele in den Darstellungsarten AWL, KOP und FUP Zähloperationen (Fortsetzung) Rückwärts zählen STEP-5-Darstellung Aufgabenstellung Anweisungs- Kontaktplan Funktionsplan liste E 4.0 E 4.0 ZR Z R S ZE E 4.0 Dual 16 bit Der Wert des adressierten Zählers wird um 1 erniedrigt, maximal bis zum Zählwert 0.
  • Seite 129 Programmierbeispiele in den Darstellungsarten AWL, KOP und FUP Vergleichsoperationen Vergleich auf gleich STEP-5-Darstellung Aufgabenstellung Anweisungs- Kontaktplan Funktionsplan liste EB 19 EB 19 EB 20 EB 20 EB 19 EB 19 A 3.0 ! = F EB 20 EB 20 A 3.0 A 3.0 A 3.0 Der zuerst angegebene Operand wird mit dem nachfolgenden...
  • Seite 130 Programmierbeispiele in den Darstellungsarten AWL, KOP und FUP Vergleichsoperationen (Fortsetzung) Vergleich auf ungleich STEP-5-Darstellung Aufgabenstellung Anweisungs- Kontaktplan Funktionsplan liste EB 21 EB 21 DW 3 DW 3 EB 21 EB 21 > < > < A 3.1 > < F A 3.1 DW 3 DW 3...
  • Seite 131: Ergänzende Operationen

    Ergänzende Operationen 3.5.3 Ergänzende Operationen Den ergänzenden Operationsvorrat können Sie nur für Funktionsbau- steine (FB und FX) verwenden. Der Gesamtoperationsvorrat für Funk- tionsbausteine besteht daher aus den Grundoperationen und den ergänzenden Operationen. Zu den ergänzenden Funktionen gehören auch Systemoperationen: Mit den Systemoperationen können Sie z. B. den Speicher an beliebi- ger Stelle überschreiben oder den Inhalt der Arbeitsregister der CPU verändern.
  • Seite 132: Binäre Verknüpfungen

    Ergänzende Operationen Binäre Verknüpfungen Tabelle 3-11 Binäre Verknüpfungen mit Formaloperanden Operation Operand Funktion UND-Funktion, Abfrage eines Formaloperanden auf Signalzustand ’1’ UND-Funktion, Abfrage eines Formaloperanden auf Signalzustand ’0’ ODER-Funktion, Abfrage eines Formaloperanden auf Signalzustand ’1’ ODER-Funktion, Abfrage eines Formaloperanden auf Signalzustand ’0’ Formaloperand einsetzen Als Aktualoperanden sind binär adressierte Eingänge, Ausgänge, Daten und Merker (Parameterart: E, A ;...
  • Seite 133: Speicheroperationen

    Ergänzende Operationen Speicheroperationen Tabelle 3-13 Speicheroperationen mit Formaloperanden Operation Operand Funktion Setzen (binär) eines Formaloperanden Rücksetzen (binär) eines Formaloperanden Rücksetzen (digital) eines Formaloperanden für Zeiten und Zähler Zuweisen des Verknüpfungsergebnisses an einen Formaloperanden Formaloperand einsetzen Als Aktualoperanden sind binär adressierte Eingänge, Ausgänge und M-Merker zugelassen (Parameterart: E, A;...
  • Seite 134: Zeit- Und Zähloperationen

    Ergänzende Operationen Zeit- und Zähloperationen Tabelle 3-14 Zeit- und Zähloperationen mit Formaloperanden Operation Operand Funktion Eine Zeit (Formaloperand) als Impuls starten. Der Zeitwert muß in AKKU-1-L hinterlegt sein (Parameterart T) . Eine Zeit (Formaloperand) einschaltverzögernd starten. Der Zeitwert muß in AKKU-1-L hinterlegt sein (Parameterart T). SVZ = Eine Zeit (Formaloperand) als verlängerten Impuls starten mit dem im AKKU-1-L hinterlegten Zeitwert/einen Zähler...
  • Seite 135 Ergänzende Operationen Beispiele Funktionsbausteinaufruf Programm im ausgeführtes Programm Funktionsbaustein :SPA FB 203 NAME :BEISP1 ANNA : E 10.3 =ANNA E 10.3 BERT : T 17 010.2 KT 010.2 HANS : A 18.4 :SSV =BERT T 17 =BERT T 17 =HANS A 18.4 :SPA FB 204...
  • Seite 136: Lade- Und Transferoperationen

    Ergänzende Operationen Lade- und Transferoperationen Tabelle 3-15 Lade- und Transferoperationen mit Formaloperanden Operation Operand Beschreibung Laden eines Formaloperanden: Der Wert des als Formaloperand vorgegebenen Operanden wird in den AKKU geladen (Parameterart: E, T, Z, A; Parametertyp: BY, W, D). Codiertes Laden eines Formaloperanden: Der Wert der als Formaloperand vorgegebenen Zeit- oder Zählzelle wird BCD-codiert in den AKKU geladen (Parametertyp: T, Z).
  • Seite 137 Ergänzende Operationen Tabelle 3-16 Lade- und Transferoperationen mit speziellen Operanden Operation Operand Funktion 0 bis 255 Laden eines Wortes in den AKKU 1 aus dem Bereich "Anschaltung" (BA-Bereich) 0 bis 255 Laden eines Wortes in den AKKU 1 aus dem erweiterten Bereich "Anschaltung"...
  • Seite 138: Rechenoperationen

    Ergänzende Operationen Rechenoperationen Tabelle 3-17 Rechenoperation ENT Operation Operand Funktion – Es findet ein Stack-Lift in die AKKUs 3 und 4 statt: <AKKU 4> := <AKKU 3> <AKKU 3> := <AKKU 2> <AKKU 2> := <AKKU 2> <AKKU 1> := <AKKU 1> Die AKKUs 1 und 2 werden nicht verändert.
  • Seite 139 Ergänzende Operationen Tabelle 3-18 Ergänzende arithmetische Operationen Operation Operand Funktion S ADD -128 bis Addieren einer Byte-Konstanten (Festpunkt) zum AKKU-1-L +127 (vorzeichenexpandiert); die Anzeigen in ANZ 0, ANZ 1, OV und OS werden nicht beeinflußt. – AKKU-1-H sowie die AKKUs 2 bis 4 bleiben unverändert. S ADD -32 768 bis Addieren einer Festpunktkonstanten (Wort) zum AKKU-1-L;...
  • Seite 140: Organisatorische Operationen

    Organisatorische Operationen 3.5.4 Organisatorische Zu den organisatorischen Operationen gehören auch System- Operationen operationen. Vorsicht Systemoperationen sollten nur von erfahrenen Programmierern und Systemkennern und nur mit Vorsicht angewendet werden. Systemoperationen sind in der ersten Spalte der Tabellen mit gekennzeichnet! Sprungoperationen Das Sprungziel für unbedingte und bedingte Sprünge wird symbolisch angegeben (maximal 4 Zeichen, beginnend mit einem Buchstaben).
  • Seite 141 Organisatorische Operationen Operation Operand Funktion Fortsetzung der Tabelle 3-19: ≠ SPN = Sprung bei Ergebnis Der Sprung wird nur dann ausgeführt, wenn ANZ 1 ≠ ANZ 0 ist. Das Verknüpfungsergebnis wird nicht (adr = Symbol- adresse verändert. mit maximal 4 Zeichen) Sprung bei Ergebnis ’0’...
  • Seite 142: Schiebeoperationen

    Organisatorische Operationen Schiebeoperationen Tabelle 3-20 Schiebeoperationen Operation Operand Funktion (Operation mit AKKU 1) 0 bis 15 Schieben nach links (von rechts werden Nullen nachgezogen) 0 bis 15 Schieben nach rechts (von links werden Nullen nachgezogen) 0 bis 32 Schieben eines Doppelwortes nach links (von rechts werden Nullen nachgezogen) 0 bis 15 Schieben mit Vorzeichen nach rechts (von links wird...
  • Seite 143 Organisatorische Operationen Beispiele 1. Der Inhalt des Datenwortes DW 52 soll gelesen, um 4 bit nach links verschoben und dann im Datenwort DW 53 abgelegt werden. STEP-5-Programm: Inhalt der Datenwörter: DW 52 KH = 14AF :SLW 4 DW 53 KH = 4AF0 2.
  • Seite 144: Umwandlungsoperationen

    Organisatorische Operationen Umwandlungsoperationen Tabelle 3-21 Umwandlungsoperationen Operation Funktion Bildung des 1er-Komplements von AKKU-1-L (16 bit) Bildung des 2er-Komplements von AKKU-1-L (16 bit) Bildung des 2er-Komplements von AKKU 1 (32 bit) Festpunktwandlung (16 bit) von BCD in dual Festpunktwandlung (16 bit) von dual in BCD Doppelwortwandlung (32 bit) von BCD in dual Doppelwortwandlung (32 bit) von dual in BCD Wandlung einer Festpunktzahl (32 bit) in eine Gleitpunktzahl (32 bit);...
  • Seite 145 Organisatorische Operationen Der im AKKU 1 (Bit 0 bis Bit 31) stehende Wert wird als BCD-codierte Zahl interpretiert. Nach der Umwandlung steht im AKKU 1 eine 32-bit- Festpunktzahl. Der im AKKU 1 (Bit 0 bis Bit 31) stehende Wert wird als 32-bit-Fest- punktzahl interpretiert.
  • Seite 146: Beispiele Zu Kew, Kzw

    Organisatorische Operationen Durch diesen Umwandlungsalgorithmus ergeben sich folgende Ergeb- nisklassen: • • Gleitpunktzahlen ≥ 0 oder ≤ -1 ergeben die nächst kleinere ganze Zahl. • • Gleitpunktzahlen < 0 und > -1 ergeben den Wert ’0’. Umwandlungsbeispiele Gleitpunktzahl 32-bit-Festpunktzahl → +5,7 →...
  • Seite 147: Dekrementieren/Inkrementieren

    Organisatorische Operationen Dekrementieren/ Inkrementieren Tabelle 3-22 Dekremtier-/Inkremtieroperation Operation Operand Funktion 1 bis 255 Dekrementieren des Low-Bytes (Bits 0 bis 7) von AKKU-1-L um den Operandenwert 1 bis 255 Inkrementieren des Low-Bytes (Bits 0 bis 7) von AKKU-1-L um den Operandenwert Der Inhalt des Low-Bytes von AKKU-1-L wird um die als Operand angegebene Zahl ohne Übertrag dekrementiert (erniedrigt) bzw.
  • Seite 148 Organisatorische Operationen Operation Operand Funktion Fortsetzung der Tabelle 3-23: S BI Indirekte Bearbeitung eines Formaloperanden: Eine Operation ausführen, deren Operationscode in einem Formaloperanden abgelegt ist. Die Nummer des auszuführenden Formaloperanden steht im AKKU 1. 60 bis 63 Eine Operation, die im Bereich Systemdaten (BS) steht, soll ausgeführt werden (freie Systemdaten: BS 60 bis 63).
  • Seite 149 Organisatorische Operationen Beispiele zu den Bearbeitungs-Operationen B DW/B MW Operanden-Substitution Mit den Anweisungen "B DW" und "B MW" können Sie, z. B. in einer Programmschleife, substituiert auf Daten zugreifen. Der substituierte Zugriff setzt sich zusammen aus der Anweisung B DW/B MW und ei- ner unmittelbar nachfolgenden STEP-5-Operation aus dem o.
  • Seite 150 Organisatorische Operationen Fortsetzung der Beispiele zur Operanden-Substitution: 3. Sprungverteiler für Unterprogrammtechnik: MW 5 :SPA =M001 Inhalt Merkerwort MW 5: :SPA =M002 Sprung- :SPA =M003 Sprungdistanz ± 127) distanz :SPA =M004 (maximal :SPA =M005 M001 :BEA M002 Vorteil: Alle Teilprogramme stehen :BEA Baustein.
  • Seite 151 Organisatorische Operationen Parameterwort für M-Merker Bit-Nr. 11 10 ohne Bedeutung Bit-Adresse Byteadresse von 0 bis 255 von 0 bis 7 Parameterwort für S-Merker Bit-Nr. 15 14 12 11 0 Bit-Adresse Byteadresse von 0 bis 4095 von 0 bis 7 Parameterwort für Zeiten und Zähler Bit-Nr.
  • Seite 152: Beispiel Zur Bi-Operation

    Organisatorische Operationen Beispiel zur BI-Operation Im Funktionsbaustein FB 1 werden STEP-5-Operationen ausgeführt, deren Operations-Codes als Formaloperanden MW 10, MW 12 und MW 14 von einem aufrufenden Baustein übergeben werden. Welcher der Operationscodes ausgeführt werden soll, wird vom aufrufenden Baustein als lfd. Nummer im Merkerwort MW 16 hinterlegt. Das Ergebnis der ausgeführten Operation befindet sich anschließend in AKKU 1 und wird in das Merkerwort MW 18 transferiert.
  • Seite 153: Semaphor-Operationen

    Semaphor-Operationen Prozeßalarme sperren/freigeben Tabelle 3-24 Prozeßalarme sperren/freigeben Operation Operand Funktion Prozeßalarmbearbeitung sperren Prozeßalarmbearbeitung freigeben "Prozeßlarme sperren/freigeben" kann angewendet werden, wenn die prozeßalarmgesteuerte Bearbeitung unterdrückt werden soll. In dem Programmteil, der zwischen den Anweisungen AS und AF steht, ist dann die prozeßalarmgesteuerte Bearbeitung nicht mehr möglich. Beachten Sie hierzu die Sonderfunktion OB 120 "Alarme gmeinsam sperren", Abschnitt 6.5.
  • Seite 154 Semaphor-Operationen SES/SEF Semaphor (keine Systemoperationen) setzen/freigeben Tabelle 3-25 Semaphor setzen/freigeben Operation Operand Funktion 0 bis 31 Setzen eines Semaphors 0 bis 31 Freigeben eines Semaphors Auswertung der Operationsergebnisse über ANZ 0/ANZ 1 Hinweis Die Operationen SES xx und SEF xx müssen in allen CPUs programmiert werden, die synchronisiert auf einen gemeinsamen globalen Speicherbereich zugreifen sollen.
  • Seite 155 Semaphor-Operationen Anwendung von SES/SEF Bild 3-8 zeigt den prinzipiellen Ablauf einer Zugriffskoordinierung mit Hilfe eines Semaphors. START Semaphor setzen: Nein Operation erfolgreich? Zugriff auf semaphor- geschützten globalen Speicher Semaphor freigeben: Ende Bild 3-8 Koordinierung des Zugriffs auf den globalen Speicher Vor jedem Setzen bzw.
  • Seite 156 Semaphor-Operationen Hinweis Der Vorgang des Abfragens eines bestimmten Semaphors (= Lesevorgang) und der Vorgang des Setzens bzw. des Freigebens des Semaphors (= Schreibvorgang) bilden eine Einheit. Keine andere CPU kann während dieser Vorgänge auf diesen Semaphor zugreifen! Zur Anwendung der Semaphoren beachten Sie bitte die folgenden Punkte: •...
  • Seite 157 Semaphor-Operationen Anwendungsbeispiel für Semaphore Aufgabenstellung: In einem AG S5-135U stecken vier CPUs, die über einen gemeinsamen Speicher- bereich der Q-Peripherie (QW 6) Statusmeldungen an ein Statusmeldegerät abgeben. Jede Statusmeldung muß 10 Sekunden lang ausgegeben werden und darf erst dann von einer neuen Meldung der gleichen oder einer anderen CPU überschrieben werden.
  • Seite 158 Semaphor-Operationen Fortsetzung des Semaphor-Anwendungsbeispiels: FB 0 NAME :MAIN M 10.0 :SPB =M001 falls keine Meldung aktiv :BEB KH 2222 Meldung erzeugen und MW 12 M 10.0 M 10.0 Merker "MELDUNG" setzen. M001 :SPA FB10 FB "MELDE" aufrufen NAME :MELDE FB 10 NAME :MELDE M 10.1 Wenn kein Semaphor gesetzt,...
  • Seite 159 Semaphor-Operationen Fortsetzung des Semaphor-Anwendungsbeispiels: FB100 NAME :SEMASET :SES 10 Semaphor Nr. 10 setzen :SPZ =M001 M 10.1 Falls Semaphor erfolgreich gesetzt, M 10.1 Merker "SEMAPHOR-GESETZT" setzen M001 :BE FB110 NAME: MELDAUSG MW12 Meldung an die QW 6 Peripherie uebertragen M 10.3 M 10.3 Merker "MELDUNG-UEBERTRAGEN"...
  • Seite 160 Semaphor-Operationen Programmieranleitung CPU 928B 3 - 78 C79000-B8500-C898, 01...
  • Seite 161: Betriebszustände Und Programmbearbeitungsebenen

    Betriebszustände und Programmbearbeitungsebenen Inhalt von Kapitel 4 Einführung und Übersicht ..........4 - 4 Programmbearbeitungsebenen .
  • Seite 162 Inhalt Programmieranleitung CPU 928B 4 - 2 C79000-B8500-C898, 01...
  • Seite 163 Betriebszustände und Programm- bearbeitungsebenen Dieses Kapitel gibt Ihnen eine Übersicht über die Betriebszustände und die Programmbearbeitungsebenen der CPU 928B. Es informiert Sie ausführlich über verschiedene Anlaufarten und damit verbundene Organisationsbausteine, in denen Sie Ihr spezifisches Programm für verschiedene Anlauffälle programmieren können. Sie erfahren ferner, wodurch sich die Programmbearbeitungen "Zykli- sche Bearbeitung", "Zeitgesteuerte Bearbeitung"...
  • Seite 164: Einführung Und Übersicht

    Einführung und Übersicht Einführung und Übersicht Die CPU 928B kennt drei Betriebszustände: • • Betriebszustand STOP • • Betriebszustand ANLAUF • • Betriebszustand RUN In den Betriebszuständen ANLAUF und RUN können bestimmte Ereig- nisse auftreten, auf die das Systemprogramm reagieren muß. In vielen Fäl- len wird dabei ein für das Ereignis vorgesehener Organisationsbaustein (einer von OB 1 bis OB 35) als Anwenderschnittstelle aufgerufen.
  • Seite 165 Einführung und Übersicht Anzeige der Auf der CPU-Frontplatte signalisieren Ihnen verschiedene LEDs den Betriebszustände durch aktuellen Betriebszustand der CPU. Nachfolgende Tabelle zeigt den Leuchtdioden (LEDs): Zusammenhang zwischen den Anzeigen der STOP- und RUN-LED und dem zugehörigen Betriebszustand. Diese Anzeigen werden ergänzt durch weitere LED-Anzeigen (BASP, ADF, QVZ, ZYK).
  • Seite 166 Einführung und Übersicht Melde- und Fehleranzeige-LEDs LED "BASP" Sie zeigt an, ob das S5-Bus-Signal BASP (Befehlsausgabe sperren) aktiv ist: Im Einzelprozessor-Betrieb wird BASP von der CPU beim Eintritt in den Zustand RUN inaktiv und beim Übergang in den Zustand STOP aktiv geschaltet.
  • Seite 167: Programmbearbeitungsebenen

    Programmbearbeitungsebenen Programmbearbeitungsebenen Bild 4-2 gibt Ihnen eine Übersicht über die Betriebszustände und Bear- beitungsebenen bei der CPU 928B (-3UB12). Die Erklärungen zu den Abkürzungen in den Fehlerebenen finden Sie auf der nächsten Seite. Bei Mehrprozessor- betrieb: Wartepunkt für LED RUN: LED RUN: LED RUN: gemeinsamen...
  • Seite 168 Programmbearbeitungsebenen Programmbearbeitungsebenen im ANLAUF: MANUELLER NEUSTART MANUELLER WIEDERANLAUF MANUELLER NEUSTART MIT GEDÄCHTNIS Anlauf- AUTOMATISCHER NEUSTART MIT GEDÄCHTNIS ebenen AUTOMATISCHER NEUSTART AUTOMATISCHER WIEDERANLAUF (Befehlscodefehler) (Laufzeitfehler) Fehler- (Adressierfehler) ebenen (Quittungsverzug) (Schnittstellenfehler) Programmbearbeitungsebenen im RUN: ZYKLUS (zyklische Programmbearbeitung) ZEITAUFTRAG (zeitgesteuerte Programmbearbeitung) WECKALARM (zeitgesteuerte Programmbearbeitung) WECKALARM (zeitgesteuerte Programmbearbeitung) WECKALARM...
  • Seite 169 Programmbearbeitungsebenen Einschachtelung von Wenn ein Ereignis eintritt, das eine höherpriore Bearbeitung erfordert, anderen Ebenen wird die aktuelle Ebene vom Systemprogramm unterbrochen und die höherpriore Ebene eingeschachtelt. Die Einschachtelung erfolgt • • bei Fehlerebenen und Programmbearbeitungs- ebenen im ANLAUF: grundsätzlich an Befehlsgrenzen, •...
  • Seite 170: Priorität

    Programmbearbeitungsebenen Priorität Die Programmbearbeitungsebenen haben eine feste Priorität. Davon abhängig können sie einander unterbrechen bzw. ineinander verschach- telt werden. Die "Anlauf- und die Fehlerebenen" unterscheiden sich von den "Grundebenen" dadurch, daß sie grundsätzlich an der nächsten Be- fehlsgrenze eingeschachtelt werden, sobald das entsprechende Ereignis aufgetreten ist.
  • Seite 171 Programmbearbeitungsebenen Reaktion bei einem Eine einmal aktivierte Fehlerebene (ADF, BCF, LZF, QVZ, REG, Doppelfehler ZYK), die noch nicht vollständig abgearbeitet ist, kann nicht noch ein- mal aktiviert werden, auch nicht, wenn eine andere Programmbearbei- tungsebene dazwischengeschachtelt ist. In diesem Fall geht die CPU wegen Doppelaufruf einer Programmbearbeitungsebene (im USTACK: DOPP) unmittelbar in STOP (Ausnahme: Weckfehler, sie- he dort).
  • Seite 172: Beschreibung Der Einzelnen Ebenen

    Programmbearbeitungsebenen Beispiel 2: Auftreten eines Operationscodefehlers in der LZF- Programmbearbeitungs- ebene versucht das Systemprogramm, die BCF-Ebene (AW-Schnittstelle OB 29) auf- zurufen. Diese ist jedoch schon durch das Auftreten eines Parameterfehlers (AW- Schnittstelle OB 30) aktiviert worden nicht vollständig abgearbei- tet. Ein erneuter Aufruf der BCF-Ebene an dieser Stelle ist deshalb nicht zu- lässig: Die CPU geht in STOP (siehe Bild 4-5).
  • Seite 173: Betriebszustand Stop

    Betriebszustand STOP Betriebszustand STOP 4.3.1 Kennzeichen und Anzeige Der Betriebszustand STOP ist durch folgende Merkmale charakteri- des Betriebszustandes siert: Anwenderprogramm Es findet keine Anwenderprogrammbearbeitung statt. Erhalt von Daten Hat zuvor eine Programmbearbeitung stattgefunden, so bleiben die Werte von Zählern, Zeiten, Merkern und des Prozeßabbildes beim Übergang in den Stoppzustand erhalten.
  • Seite 174 Betriebszustand STOP STOP-LED zeigt Dauerlicht Der Betriebszustand STOP wurde ausgelöst: • • im Einzelprozessorbetrieb: durch Betätigen des Betriebsartenschalters von RUN auf STOP, durch PG-Funktion AG-STOP, durch Gerätefehler (BAU, PEU), nach URLÖSCHEN, durch PG-Funktion "Bearbeitungskontrolle Ende". • • im Mehrprozessorbetrieb: durch Betätigen des Betriebsartenschalters am KOR auf STOP, durch STOP einer anderen CPU aufgrund einer Störung (eine nicht fehlerverursachende CPU zeigt Dauerlicht).
  • Seite 175: Urlöschen Anfordern

    URLÖSCHEN wird auch angefordert bei Auftreten eines CPU- oder Systemfehlers. Sie erkennen diese Fehler daran, daß die Aufforderung nach durchgeführtem URLÖSCHEN erneut auftritt. In diesem Fall wenden Sie sich bitte an Ihre nächste Siemens- Vertretung. Anforderung vom Anwender Durch folgende Bedienschritte fordern Sie URLÖSCHEN an:...
  • Seite 176: Urlöschen Durchführen

    Betriebszustand STOP 4.3.3 URLÖSCHEN durchführen Unabhängig davon, ob die Urlöschanforderung vom Systemprogramm oder vom Anwender kommt, führen Sie das URLÖSCHEN folgender- maßen durch: • • Halten Sie den Betriebsartentaster in Stellung OVERALL RESET fest; gleichzeitig betätigen Sie den Betriebsartenschalter von STOP nach RUN und wieder nach STOP.
  • Seite 177: Betriebszustand Anlauf

    Betriebszustand ANLAUF Betriebszustand ANLAUF Der Betriebszustand ANLAUF ist durch folgende Merkmale charakte- risiert: Übergang von STOP in RUN Der ANLAUF ist der Übergang vom Betriebszustand STOP in den Be- triebszustand RUN. Anlaufarten Die CPU 928B kennt folgende Anlaufarten: NEUSTART (manuell oder automatisch), WIEDERANLAUF (manuell oder automatisch), NEUSTART MIT GEDÄCHTNIS (NSMG, manuell oder automatisch –...
  • Seite 178: Manueller Und Automatischer Neustart

    Betriebszustand ANLAUF 4.4.1 MANUELLER und AUTO- MATISCHER NEUSTART Wann ist NEUSTART Ein NEUSTART ist immer zulässig, sofern vom Systemprogramm zulässig ? nicht URLÖSCHEN angefordert ist. MANUELLER NEUSTART So lösen Sie den MANUELLEN NEUSTART aus: • • Halten Sie den Betriebsartentaster in Stellung RESET; betätigen Sie gleichzeitig den Betriebsartenschalter von STOP nach RUN.
  • Seite 179: Manueller Und Automatischer Wiederanlauf

    Betriebszustand ANLAUF 4.4.2 MANUELLER und AUTO- MATISCHER WIEDER- ANLAUF Wann ist ein WIEDER- Ein WIEDERANLAUF ist nicht zulässig, ANLAUF nicht zulässig? • • wenn vom Systemprogramm URLÖSCHEN angefordert ist oder • • nach einem der folgenden Ereignisse: Doppelaufruf einer Programmbearbeitungsebene (USTACK: DOPP), URLÖSCHEN (Steuerbits: URGELOE), Anlaufabbruch (Steuerbits: ANL-ABB),...
  • Seite 180 Betriebszustand ANLAUF AUTOMATISCHER Ein AUTOMATISCHER WIEDERANLAUF wird ausgelöst: WIEDERANLAUF Nach Netzspannungsausfall/NETZ AUS im ANLAUF oder RUN und anschließender Netzspannungswiederkehr/NETZ EIN durchläuft die CPU eine Initialisierungsroutine und versucht dann automatisch, einen WIEDERANLAUF durchzuführen, sofern der DX 0 entsprechend pa- rametriert ist (siehe Kapitel 7). •...
  • Seite 181: Gegenüberstellung Der Unterschiedlichen Anlaufarten

    Betriebszustand ANLAUF 4.4.3 Gegenüberstellung der unterschiedlichen Anlaufarten Tabelle 4-2 Gegenüberstellung der unterschiedlichen Anlaufarten NEUSTART WIEDERANLAUF NEUSTART MIT Systemprogramm- GEDÄCHTNIS leistung manuell automat. manuell automat. manuell automat. Auswerten von: - DB 1 nein nein nein nein - DB 2 nein nein nein nein - DX 0...
  • Seite 182: Anwenderschnittstellen Für Den Anlauf

    Betriebszustand ANLAUF NEUSTART WIEDERANLAUF NEUSTART MIT Systemprogramm- GEDÄCHTNIS leistung manuell automat. manuell automat. manuell automat. Fortsetzung der Tabelle 4-2 Löschen von (Forts): - Koppelmerker nein nein nein nein - Semaphoren nein nein nein nein - M- und S-Mer- kern nein nein nein nein...
  • Seite 183 Betriebszustand ANLAUF Sie können in den Anlauf-OBs z. B. • • Merker setzen, • • Zeiten starten (der Start wird vom Systemprogramm bis zum Eintritt in den RUN verzögert), • • den Datenverkehr der CPU mit Peripheriebaugruppen vorbereiten, • • die Synchronisierung von CPs durchführen. OB 20 NEUSTART: Wenn die CPU einen MANUELLEN oder AUTOMATISCHEN NEU-...
  • Seite 184: Manueller Neustart Mit Gedächtnis

    Betriebszustand ANLAUF Hinweis Die CPU registriert einen Netzspannungsausfall (NAU oder PEU) auch dann, wenn er im STOP auftritt. Wenn Sie danach einen MANUELLEN WIEDERANLAUF auslösen, so ruft die CPU vor dem OB 21 den OB 22 zur Bearbeitung auf. Lösen Sie stattdessen einen MANUELLEN NEUSTART aus, so wird die Vorgeschichte von der CPU ignoriert und der OB 22 nicht aufgerufen.
  • Seite 185: Unterbrechungen Im Anlauf

    Betriebszustand ANLAUF 4.4.5 Unterbrechungen im ANLAUF Ein Anlaufprogramm kann unterbrochen werden durch • • Netzspannungsausfall im Zentralgerät (NAU) oder im Erweite- rungsgerät (PEU), • • Stoppschalter, Stopp-Befehl, MP-STP oder PG-STP oder • • Programm- und Gerätefehler (siehe Abschnitt 5.6). Soll der unterbrochene ANLAUF anschließend mit einer der mögli- chen Anlaufarten fortgesetzt werden, so beachten Sie bitte die folgen- den Punkte: Netzspannungsausfall im...
  • Seite 186: Abbruch Eines Anlaufs

    Betriebszustand ANLAUF MANUELLER Wenn die CPU aus einem beliebigen ANLAUF in den STOP gegan- WIEDERANLAUF nach gen ist (z. B. wegen Stoppschalter oder wegen ADF) und Sie anschließ- Abbruch eines ANLAUFs end einen MANUELLEN WIEDERANLAUF auslösen, so wird der unterbrochene ANLAUF an der Abbruchstelle fortgesetzt. Es wird kein OB 21 eingeschachtelt.
  • Seite 187: Betriebszustand Run

    Betriebszustand RUN Betriebszustand RUN Wenn die CPU einen ANLAUF fertig bearbeitet hat (und nur dann), geht sie in den Betriebszustand RUN. Dieser Betriebszustand ist durch folgende Merkmale charakterisiert: Bearbeitung des Das Anwenderprogramm im OB 1 bzw. im FB 0 wird zyklisch bear- Anwenderprogramms beitet, wobei zusätzlich alarmgesteuert weitere Programmteile einge- schachtelt werden können.
  • Seite 188: Zyklische Programmbearbeitung

    Betriebszustand RUN • • 9 WECKALARME: Das Anwenderprogramm wird in festen, vom System angebotenen Zeitintervallen bearbeitet. • • REGLERALARM: Es wird eine vorgegebene Anzahl an Reglern zeitgesteuert bearbeitet. • • VERZÖGERUNGS- ALARM: Das Anwenderprogramm wird nach Ablauf einer eingestellten Verzögerungszeit ein- malig bearbeitet.
  • Seite 189 Betriebszustand RUN Prinzip Prinzip der zyklischen Programmbearbeitung (Systemleistungen): vom Anlauf Zyklusüberwachungszeit triggern Koppelmerkereingänge aktualisieren Prozeßabbild der Eingänge (PAE) versorgen Zyklisches Anwenderprogramm (OB 1 oder FB 0) aufrufen: Anwenderprogramm einschließlich Einschachtelungen der übrigen Programmbearbeitungsebenen Prozeßabbild der Ausgänge (PAA) ausgeben Koppelmerker-Ausgänge aktualisieren vom PG ausgelöste Vorgänge, wie z.
  • Seite 190: Unterbrechungsstellen

    Betriebszustand RUN Wenn Sie ein kurzes, zeitkritisches Anwenderprogramm haben, bei dem Sie auf eine strukturierte Programmierung verzichten können, programmieren Sie den FB 0: Da er über den gesamten Operationsvor- rat von STEP 5 verfügt, können Sie Bausteinaufrufe einsparen und da- durch die Laufzeit des Programms verkürzen.
  • Seite 191: Zeitgesteuerte Programmbearbeitung

    Betriebszustand RUN 4.5.2 Zeitgesteuerte Programm- Eine zeitgesteuerte Bearbeitung liegt vor, wenn ein von einer Uhr oder bearbeitung von einem internen Takt kommendes Zeitsignal die CPU veranlaßt, die aktuelle Programmbearbeitung zu unterbrechen und ein spezifi- sches Programm zu bearbeiten. Nach der Bearbeitung dieses Pro- gramms kehrt die CPU zur Unterbrechungsstelle im unterbrochenem Programm zurück und setzt dort die Bearbeitung fort.
  • Seite 192: Unterbrechungen

    Betriebszustand RUN Unterbrechungen Die Bearbeitung des Verzögerungsalarms kann an Bausteingrenzen oder an Befehlsgrenzen (Parametrierung DX 0) unterbrochen werden durch: • • die Bearbeitung eines Prozeßalarms. Die Bearbeitung kann an Befehlsgrenzen unterbrochen bzw. ganz ab- gebrochen werden: • • beim Auftreten eines Geräte- oder Programmfehlers, •...
  • Seite 193: Uhrzeitgesteuerter Weckalarm

    Betriebszustand RUN Uhrzeitgesteuerter Auf der CPU 928B steht eine battterie-gepufferte Hardware-Uhr (zen- Weckalarm trale Pufferung über die Stromversorgung des Zentralgerätes) zur Verfü- gung, die Sie per STEP-5-Programm setzen und auslesen können. Über diese Uhr läßt sich ein Programmteil zeitgesteuert bearbeiten. Während der Verzögerungsalarm für schnelle Vorgänge eingesetzt wird, ist der uhrzeitgesteuerte Weckalarm besonders geeignet für die Bearbeitung von einmaligen Vorgängen oder Vorgängen, die in gro-...
  • Seite 194 Betriebszustand RUN Anwenderschnittstelle Als Anwenderschnittstelle wird bei einem uhrzeitgesteuerten Weckalarm OB 9 der OB 9 aufgerufen. Im OB 9 hinterlegen Sie ein STEP-5-Pro- gramm, das in diesem Fall bearbeitet werden soll. Ist der OB 9 nicht geladen, so wird die Programmbearbeitung nicht unterbrochen. Unterbrechungen Die Bearbeitung des uhrzeitgesteuerten Weckalarms kann an Bau- steingrenzen oder an Befehlsgrenzen (Parametrierung DX 0) unter-...
  • Seite 195: Weckalarme

    Betriebszustand RUN Weckalarme Programmbearbeitung in festen Zeitrastern: In der CPU 928B können Sie bis zu 9 verschiedene Programme zeitge- steuert bearbeiten lassen, von denen jedes in einem anderen Zeitraster aufgerufen wird. Auslösung Ein Weckalarm wird automatisch in seinem Zeitraster ausgelöst, wenn der entsprechende OB geladen ist.
  • Seite 196: Weckfehler (Weck-Fe)

    Betriebszustand RUN Unterbrechungen Die Bearbeitung eines Weckalarms kann entweder an Bausteingren- zen (Voreinstellung) oder an Befehlsgrenzen (Programmierung DX 0) unterbrochen werden durch • • die Bearbeitung eines Prozeßalarms, • • die Bearbeitung eines Verzögerungsalarms, • • die Bearbeitung eines Regleralarms, •...
  • Seite 197 Betriebszustand RUN Beim Aufruf des OB 33 hinterlegt das Systemprogramm in AKU 1 und AKKU 2 zusätzliche Informationen, die den ersten aufgetretenen Fehler näher erläutern: Tabelle 4-4 Weckfehlerkennungen Fehlerkennung Erläuterung AKKU-1-L AKKU-2-L 1001H 0016H Weckfehler bei OB 10 ( 10 ms) 1001H 0014H Weckfehler bei OB 11 ( 20 ms)
  • Seite 198: Regleralarm: Bearbeitung Von Reglern

    Betriebszustand RUN Hinweis Beachten Sie im Hinblick auf die zeitgesteuerte Programm- bearbeitung die Sonderfunktionen OB 120, OB 121, OB 122 und OB 123, mit denen Sie die Bearbeitung von Weckalarmen für einen bestimmten Programmteil sperren bzw. verzögern können. (Dies ist möglich entweder für alle programmierten Weckalarme oder für einzelne von ihnen.) Je "schneller"...
  • Seite 199: Prozeßalarm:alarmgesteuerte Programmbearbeitung

    Betriebszustand RUN Unterbrechungen Eine Reglerbearbeitung kann entweder an Bausteingrenzen (Vorein- stellung) oder an Befehlsgrenzen (Programmierung DX 0) unterbro- chen werden durch • • die Bearbeitung eines Prozeßalarms, • • die Bearbeitung eines Verzögerungsalarms. Die Bearbeitung kann an Befehlsgrenzen unterbrochen bzw. ganz ab- gebrochen werden: •...
  • Seite 200 Betriebszustand RUN Unterbrechungen Eine prozeßalarmgesteuerte Programmbearbeitung kann nur unter- brochen werden durch • • einen Programm- oder Gerätefehler (an Befehlsgrenzen), • • Bedienung (PG-Funktion, Stoppschalter, MP-STP), • • Stopp-Befehl. Hinweis Eine alarmgesteuerte Programmbearbeitung kann nicht durch eine zeitgesteuerte Programmbearbeitung oder eine erneute alarmgesteuerte Programmbearbeitung unterbrochen werden! Mehrfachalarme Treten während der alarmgesteuerten Programmbearbeitung erneut...
  • Seite 201 Betriebszustand RUN Ein Prozeßalarm wird auch dann erkannt und bearbeitet, wenn das In- terrupt-Signal an der Bausteingrenze nicht mehr aktiv ist. inaktiv Interrupt aktiv OB 2 OB 2 OB 2 OB 2 Prozeßalarm (an Bausteingrenzen) Zyklus = Bausteingrenzen Bild 4-7 pegelgetriggerte Prozeßalarmsignale Der aufgerufene OB 2 wird vollständig bearbeitet.
  • Seite 202: Verschachtelte Alarm- Und Zeitgesteuerte Programmbearbeitung

    Betriebszustand RUN Sperren der Ein alarmgesteuertes Programm wird an einer Bausteingrenze oder einer prozeßalarmgesteuerten STEP-5-Befehlsgrenze in das zyklische Programm eingeschoben. Bearbeitung Diese Unterbrechung kann sich ungünstig auswirken, wenn ein zykli- scher Programmteil in einer bestimmten Zeit bearbeitet werden muß (um z.B. eine bestimmte Reaktionszeit zu erreichen) oder eine Befehls- folge nicht unterbrochen werden darf (z.
  • Seite 203 Betriebszustand RUN Wenn gleichzeitig ein Prozeßalarm und ein Weckalarm auftreten, dann wird an der nächsten Unterbrechungsstelle zuerst der Prozeßalarm bear- beitet. Erst wenn dieser abgearbeitet ist, wird der noch anstehende Weck- alarm bearbeitet. Bild 4-9 zeigt schematisch, wie die Unterbrechung der Programmbear- beitung an Bausteingrenzen durch zeitgesteuerte und programmgesteu- erte Alarmbearbeitung erfolgt.
  • Seite 204 Betriebszustand RUN Reaktionszeit Die Reaktionszeit auf eine Weckalarmanforderung entspricht der Bear- beitungszeit eines Bausteins bzw. eines STEP-5-Befehls (je nach ge- wählter Voreinstellung). Wenn jedoch zum Zeitpunkt der Unterbrechung der zyklischen Programmbearbeitung noch Prozeßalarme anstehen, wird das zeitgesteuerte Programm erst dann bearbeitet, nachdem alle anste- henden Prozeßalarme vollständig abgearbeitet sind.
  • Seite 205: Unterbrechungs- Und Fehlerbehandlung

    Unterbrechungs- und Fehlerbehandlung Inhalt von Kapitel 5 Häufige Fehler im Anwenderprogramm ........5 - 4 Fehlerinformationen .
  • Seite 206 Inhalt 5.6.4 QVZ (Quittungsverzug) ..........5 - 53 QVZ bei Direktzugriff über S5-Bus .
  • Seite 207 Unterbrechungs- und Fehlerbehandlung In diesem Kapitel erfahren Sie, wie Sie Fehler beim Planen und Pro- grammieren Ihrer STEP-5-Programme vermeiden können. Sie werden informiert, welche Hilfen Ihnen das Systemprogramm zur Fehlerdiagnose und evtl. Fehlerreaktion zur Verfügung stellt und in welchen Bausteinen Sie Reaktionen auf bestimmte Fehler program- mieren können.
  • Seite 208: Häufige Fehler Im Anwenderprogramm

    Häufige Fehler im Anwenderprogramm Häufige Fehler im Anwenderprogramm Das Systemprogramm kann fehlerhaftes Arbeiten der CPU, Fehler in der Systemprogrammbearbeitung oder Auswirkungen einer fehler- haften Programmierung durch den Anwender feststellen. Die folgende Liste enthält eine Aufzählung von Fehlern, die bei der In- betriebnahme des Anwenderprogramms am häufigsten auftreten, die Sie jedoch schon beim Erstellen Ihres Programms leicht vermeiden können.
  • Seite 209: Fehlerinformationen

    Fehlerinformationen Fehlerinformationen Wenn im Anlauf oder bei der zyklischen Bearbeitung des Anwenderpro- gramms ein Fehler auftritt, haben Sie verschiedene "Informationsquel- len" zur Verfügung, um diesem Fehler auf die Spur zu kommen. Dies sind: • • LEDs auf der Frontplatte der CPU •...
  • Seite 210: Pg-Online-Funktion

    Fehlerinformationen PG-Online-Funktion Die PG-Online-Funktion AUSGABE USTACK gibt Ihnen Auskunft AUSGABE USTACK über die Zustände CPU-interner Steuerbits und den Inhalt des Unter- brechungsstacks (USTACK). In den USTACK trägt das Systemprogramm beim Übergang in den Stoppzustand alle Informationen ein, die es für einen Wiederanlauf be- nötigt.
  • Seite 211 Fehlerinformationen Die beiden Datenwörter sind unter folgenden absoluten Speicheradres- sen hinterlegt: Systemdatenwort BS 3: KH = EA03 Systemdatenwort BS 4: KH = EA04 Über die Fehlerkennung im Systemdatenwort BS 3 können Sie feststel- len, was für ein Fehler aufgetreten ist. Das Systemdatenwort BS 4 gibt Ihnen Auskunft darüber, wo der Feh- ler aufgetreten ist.
  • Seite 212 Fehlerinformationen Auswertung von AKKU 1 und Mit der Online-Funktion AUSGABE USTACK können Sie den Inhalt AKKU 2 mit dem der beiden Akkumulatoren direkt aus dem USTACK lesen und so die Programmiergerät genaue Fehlerursache ermitteln. Auswertung von AKKU 1 und Da die Fehlerkennungen automatisch beim Aufruf eines Fehler-Organi- AKKU 2 mit STEP 5 sationsbausteins im AKKU 1 und 2 abgelegt werden, können Sie diese Kennungen bei der Programmierung Ihres Fehler-OBs berücksichti-...
  • Seite 213 Fehlerinformationen Beispiel AUSGABE BSTACK auswerten: BAUST.-NR. BAUST.-ADR. RUECKSPR.-ADR. REL.-ADR DB-NR. DB-ADR. OB 23 0063 0064 0001 0078 FB 5 006A 0072 0008 0078 FB 6 008A 0091 0007 0098 OB 1 009D 009E 0001 Im diesem Beispiel ist der Stoppzustand im OB 23 bei der Bearbeitung derjeni- gen STEP-5-Anweisung aufgetreten, die im Speicher unter der Absolutadresse "0064 - 1 = 0063"...
  • Seite 214: Steuerbits Und Unterbrechungsstack

    Steuerbits und Unterbrechungsstack Steuerbits und Unterbrechungsstack Über die Online-Funktionen AG-INFO und AUSGABE USTACK kön- nen Sie mit dem Programmiergerät sowohl Betriebszustand, Eigen- schaften der CPU und des Anwenderprogramms als auch eventuelle Fehler- und Unterbrechungsursachen analysieren. Hinweis Die Ausgabe der Steuerbits erhalten Sie in jedem Betriebszustand, die Ausgabe des USTACK-Inhalts nur im STOP.
  • Seite 215: Steuerbits

    Steuerbits und Unterbrechungsstack 5.3.1 Steuerbits Bei der PG-Ausgabe des USTACKs werden auf der 1. Bildschirmseite die Zustände der Steuerbits angezeigt (siehe Bild 5-1). S T E U E R B I T S >>STP<< STP-6 FE-STP BARBEND PG-STP STP-SCH STP-BEF MP-STP >>ANL<<...
  • Seite 216 Steuerbits und Unterbrechungsstack In den nachfolgenden Tabellen finden Sie, welche Aussage die einzel- nen Bits haben. Tabelle 5-1 Bedeutung der Steuerbits in der Zeile >>STP<< Zeile >>STP<< (STEUERBITS) Steuerbit Bedeutung >>STP<< CPU ist im Betriebszustand STOP STP-6 nicht belegt FE-STP Fehler-Stop: Stoppzustand nach NAU (Netzausfall), (Peripherie unklar), BAU (Batterie unklar), STUEB (BSTACK-Überlauf), STUEU (USTACK-Überlauf),...
  • Seite 217 Steuerbits und Unterbrechungsstack Tabelle 5-2 Bedeutung der Steuerbits in der Zeile >>ANL<< Zeile >>ANL<< (STEUERBITS) Steuerbit Bedeutung >>ANL<< CPU ist im Betriebszustand ANLAUF ANL-6 MANUELLER NEUSTART MIT GEDÄCHTNIS M W A ANL-6 AUTOMATISCHER NEUSTART MIT GEDÄCHTNIS NEUSTA MANUELLER NEUSTART ist angefordert (STOP) oder wurde als letzter ANLAUF durchgeführt (ANLAUF/RUN).
  • Seite 218 Steuerbits und Unterbrechungsstack Tabelle 5-3 Bedeutung der Steuerbits in der Zeile >>RUN<< Zeile >>RUN<< (STEUERBITS) Steuerbit Bedeutung >>RUN<< CPU ist im Zustand RUN (zykl. Bearbeitung aktiv) RUN-6 nicht belegt EINPROZ Einzelprozessorbetrieb BARB Online-Funktion BEARBEITUNGSKONTROLLE ist aktiv. OB1GEL Organisationsbaustein OB 1 ist in den Anwender- speicher geladen worden.
  • Seite 219 Steuerbits und Unterbrechungsstack Zeilen 4 und 5 (STEUERBITS) Steuerbit Bedeutung Fortsetzung der Tabelle 5-4: DIG-EIN Adreßliste für digitale Eingänge vorhanden DIG-AUS Adreßliste für digitale Ausgänge vorhanden URGELOE CPU wurde urgelöscht (NEUSTART erforderlich). URL-IA CPU wird momentan urgelöscht. STP-VER CPU hat Stoppzustand des AG verursacht. ANL-ABB ANLAUF wurde abgebrochen (NEUSTART erforderlich).
  • Seite 220 Steuerbits und Unterbrechungsstack Tabelle 5-5 Bedeutung der Steuerbits in den Zeilen 6 bis 8 Zeilen 6 bis 8 (STEUERBITS) Steuerbit Bedeutung DX0-FE Parametrierfehler im DX 0 oder DX 2 FE-22 nicht belegt MOD-FE Inhalt des Anwendermoduls ist fehlerhaft (URLÖSCHEN erforderlich). RAM-FE Inhalt des Systemprogramm-RAMs oder des DB-RAMs ist fehlerhaft (URLÖSCHEN...
  • Seite 221 Steuerbits und Unterbrechungsstack Zeilen 6 bis 8 (STEUERBITS) Steuerbit Bedeutung Fortsetzung der Tabelle 5-5: B C F Befehlscodefehler: Substitutionsfehler: Bearbeiteter STEP-5-Befehl ist nicht substituierbar, Operationscodefehler: Bearbeiteter STEP-5-Befehl ist falsch, Parameterfehler: Parameter des bearbeiteten STEP-5- Befehls ist falsch. FE-6 nicht belegt FE-5 Hinweis auf schweren Systemfehler, Zusatz- information in BS 80...
  • Seite 222: Ustack-Inhalt

    Steuerbits und Unterbrechungsstack 5.3.2 USTACK-Inhalt Befindet sich die CPU im Stoppzustand, so erscheint nach Ausgabe der Steuerbits und Betätigen der Übernahmetaste auf dem Bildschirm des PGs der Inhalt des USTACKS. Das Systemprogramm trägt beim Übergang in den Stoppzustand alle Informationen in den USTACK ein, die es für einen Wiederanlauf benötigt.
  • Seite 223: Erläuterung Der Ustack-Anzeigen

    Steuerbits und Unterbrechungsstack Erläuterung der USTACK-Anzeigen TIEFE Stufe der Informationsebene des USTACK-Inhalts bei Fehler- schachtelung: TIEFE 01 = zuletzt aufgetretene Störungsursache, TIEFE 02 = vorletzte aufgetretene Störungsurache ..TIEFE13 = ..(maximale Tiefe) Angaben über die Die folgenden Tabelle enthält Angaben (USTACK-Kennungen) über Fehlerstelle die Fehlerstelle, mit denen im Anwenderprogramm die Anweisung ge- funden werden kann, bei deren Bearbeitung die CPU in STOP gegan-...
  • Seite 224 Steuerbits und Unterbrechungsstack Angaben zur Fehlerstelle USTACK-Kennung Bedeutung Fortsetzung 1 der Tabelle 5-6: EBENE Z Z: 001A: nicht belegt (Forts.) 001C: REGLERALARM 001E: nicht belegt 0020: VERZÖGERUNGSALARM 0022: nicht belegt 0024: PROZESSALARM 0026: nicht belegt 0028: MANUELLER NEUSTART MIT GEDÄCHTNIS 002A: AUTOMATISCHER NEU- START MIT GEDÄCHTNIS...
  • Seite 225 Steuerbits und Unterbrechungsstack Angaben zur Fehlerstelle USTACK-Kennung Bedeutung Fortsetzung 2 der Tabelle 5-6: REL-SAZ Relativer STEP-Adreßzähler: Enthält die Relativadresse (bezogen auf die Bausteinanfangsadresse) des zuletzt bearbeiteten Befehls im zuletzt bearbei- teten Baustein (Relativadressen können vom PG in Betriebsart "Eingabesperre"/ Schlüsselschalter oder mit S5-DOS ab Stufe IV über Funktionstaste angezeigt werden oder bei der Ausgabe des Bausteins auf den Drucker).
  • Seite 226 Steuerbits und Unterbrechungsstack Angaben zur Fehlerstelle USTACK-Kennung Bedeutung Fortsetzung 3 der Tabelle 5-6: KLAMMERN Anzahl der Klammerebenen: "KEx abc" mit x = 1 bis 7 Ebenen, a = ’OR’ (Oder, siehe Bitanzeigen), b =’ VKE’ (Verknüpfungsergebnis, siehe Bitanzeigen), c = 1: ’U(’, c = 0: ’O(’.
  • Seite 227 Steuerbits und Unterbrechungsstack STOERUNGSURSACHE USTACK- Bedeutung (aufgerufener Fehler-OB) Kennung Fortsetzung 1 der Tabelle 5-7: Zyklusüberwachungszeit überschritten Quittungsverzug beim Datenaustausch mit der Peripherie) Adressierfehler bei digitalen Eingängen und Ausgängen mit Prozeßabbild Stoppzustand durch Stoppschalter in Stellung STOP - Stoppzustand durch Befehl vom PG Stoppzustand nach Bearbeitung der STEP-5- Operation ’STP’...
  • Seite 228 Steuerbits und Unterbrechungsstack STOERUNGSURSACHE USTACK- Bedeutung (aufgerufener Fehler-OB) Kennung Fortsetzung 2 der Tabelle 5-7: WECK Weckfehler: Vor oder während der Bearbeitung eines bestimmten Weckalarm-OBs ist ein weiterer Weckalarm für diesen OB ausgelöst worden DOPP Doppelfehler: Eine noch aktive Fehlerprogrammbearbeitungs- ebene (ADF, BCF, LZF, QVZ, REG-FE, ZYK) wird ein zweites Mal aktiviert (NEUSTART erforderlich) Programmieranleitung CPU 928B...
  • Seite 229: Beispiele Zur Fehlerdiagnose Über Ustack

    Steuerbits und Unterbrechungsstack 5.3.3 Beispiele zur Fehler- diagnose über USTACK Beispiel 1: Bild 5-3 zeigt Ihnen den Aufbau des USTACK in Zusammenhang mit den aufgetre- tenen Unterbrechungen. - Die Programmbearbeitungsebene ZYKLUS (OB 1) wird unterbrochen durch das Auftreten eines Interrupts. - Daraufhin wird die Programmbearbeitungsebene WECKALARM aktiviert und der bearbeitet.
  • Seite 230 Steuerbits und Unterbrechungsstack Beispiel 2: In diesem Beispiel erkennt die CPU bei der Ausführung der Operation U Ex.y im OB 1 einen Adressierfehler. Dies führt zur Bearbeitung des OB 25. Augrund einer STP-Operation im PB 5 geht die CPU in den Stoppzustand (siehe Bild 5-4). PB 5 OB 25 0100...
  • Seite 231 Steuerbits und Unterbrechungsstack Fortsetzung 1 von Beispiel 2: Zwei unterbrochene Programmbearbeitungsebenen führen zum Aufbau eines zwei- stufigen USTACKs (siehe Bilder 5-5 und 5-6): UNTERBRECHUNGSSTACK TIEFE BEF-REG: SAZ: 1007 DB-ADR: BA-ADR: 0106 BST-STP: 0003 PB-NR.: DB-NR.: OB-NR.: REL-SAZ: 0007 DBL-REG.: EBENE: 003C UAMK: 0300...
  • Seite 232 Steuerbits und Unterbrechungsstack Fortsetzung 2 von Beispiel 2: UNTERBRECHUNGSSTACK TIEFE BEF-REG: SAZ: 001A DB-ADR: BA-ADR: 0000 U Ex.y BST-STP: 0001 OB-NR.: DB-NR.: REL-SAZ: 000A DBL-REG.: EBENE: 0004 UAMK: 0200 UALW: 0000 AKKU1: ERGEBNISANZEIGE:... STOERUNGSURSACHE: Bild 5-6 Beispiel 2 zur Auswertung des USTACKs: 2. USTACK-Ebene Programmieranleitung CPU 928B 5 - 28 C79000-B8500-C898, 01...
  • Seite 233: Fehlerbehandlung Über Organisationsbausteine

    Fehlerbehandlung über Organisationsbausteine Fehlerbehandlung über Organisationsbausteine Wenn das Systemprogramm einen bestimmten Fehler erkannt hat, ruft es den für diesen Fall vorgesehenen Organisationsbaustein auf. Durch entsprechende Programmierung dieses Organisationsbausteins können Sie nun das weitere Verhalten der CPU festlegen. Abhängig davon, wie Sie den Organisationsbaustein programmieren, können Sie •...
  • Seite 234: Stoppzustand

    Fehlerbehandlung über Organisationsbausteine Fehlerursache Aufruf Reaktion bei nicht geladenem OB Fortsetzung der Tabelle 5-8: Fehler bei der Bearbeitung der Reglerstruktur R64 (REG-FE) OB 34 STOP Kommunikationsfehler auf der zweiten seriellen Schnittstelle OB 35 keine (FE-3) mit DX-0-Voreinstellung. Reaktion bei nicht Die Reaktion bei nicht gelademem Organisationsbaustein ist fehlerab- geladenem hängig:...
  • Seite 235 Fehlerbehandlung über Organisationsbausteine Wenn Sie den betreffenden Organisationsbaustein nicht programmie- ren wollen, haben Sie die Möglichkeit, durch entsprechende Parame- trierung des Datenbausteins DX 0 den Übergang der CPU in den Stoppzustand zu verhindern. Unterbrechungen bei der Nachdem das Systemprogramm den betreffenden Organisationsbau- Bearbeitung der stein aufgerufen hat, wird das darin enthaltene Anwenderprogramm Fehler-Organisations-...
  • Seite 236: Fehler Im Anlauf

    Fehler im ANLAUF Fehler im ANLAUF Bei der Initialisierung und im Anlauf auftretende Störungs- und Feh- lerursachen können dazu führen, daß das Anlaufprogramm abgebro- chen wird und die CPU in den Stoppzustand übergeht. Im Anlaufprogramm (Organisationsbausteine OB 20, 21 und 22) auf- tretende Unterbrechungsursachen werden wie im ZYKLUS behandelt.
  • Seite 237: Db0-Fe (Db-0-Fehler)

    Fehler im ANLAUF Steuerbit oder Kennung Erläuterung im USTACK Fortsetzung der Tabelle 5-9: DB2-FE Fehler bei der Auswertung des DB 2 der Regler- struktur R64 DX0-FE Fehler bei der Auswertung des Datenbausteins DX 0 oder Fehler bei der Auswertung des Datenbausteins DX 2 Diese Fehler werden nachfolgend näher erläutert.
  • Seite 238: Db1-Fe (Db-1-Fehler)

    Fehler im ANLAUF 5.5.2 DB1-FE (DB-1-Fehler) Fehler bei der Auswertung des DB 1 zum Aufbau der Adreßliste für die Prozeßabbildaktualisierung • • fehlender DB 1 im Mehrprozessorbetrieb oder • • fehlerhafte DB1-Adreßliste bei NEUSTART. Hinweis Im Mehrprozessorbetrieb wird bei allen Anlaufarten geprüft, ob der DB 1 vorhanden ist.
  • Seite 239: Db2-Fe (Db-2-Fehler)

    Fehler im ANLAUF Fehlerkennung Erläuterung BS 3 BS 4 Fortsetzung der Tabelle 5-11: 041BH yyyyH Quittungsverzug bei Koppelmerker-Eingang yyyy =Adresse des nicht quittierten Koppelmerkerbytes 041CH yyyyH Quittungsverzug bei Koppelmerker-Ausgang yyyy =Adresse des nicht quittierten Koppel- merkerbytes 5.5.3 DB2-FE (DB-2-Fehler) Fehler bei der Auswertung des Parametrierungs-Datenbaustein DB 2 der Reglerstruktur R64 (Reglerinitialisierung).
  • Seite 240: Dx0-Fe (Dx-0- Oder Dx-2-Fehler)

    Fehler im ANLAUF 5.5.4 DX0-FE (DX-0- oder DX-2-Fehler) Hinweis DX-0-Fehler und DX-2-Fehler haben ein gemeinsames Steuerbit (DX0-FE) in der Steuerbit-Maske. Fehler bei der Auswertung Bei einem DX-0-Fehler finden Sie in den Systemdatenwörtern BS 3 des Datenbausteins DX 0 und BS 4 Fehlerkennungen, die den aufgetretenen Fehler näher defi- nieren.
  • Seite 241 Fehler im ANLAUF Fehlerkennung Erläuterung BS 3 BS 4 Fortsetzung der Tabelle 5-14: 0453H yyyyH Kopplungstyp unzulässig yyyy = Kopplungstyp 0454H xx00H Datenkennung für stat. Parametersatz ungültig ( ungleich 44H, 58H) xx = Datenkennnung 0455H xxyyH Baustein für statischen Parametersatz unzulässig xx = Kennung / yy = DB-Nummer 0456H...
  • Seite 242: Fehler Im Run Und Im Anlauf

    Fehler im RUN und im ANLAUF Fehler im RUN und im ANLAUF Im Betriebszustand RUN kann eine zyklische, eine zeit- oder alarmgesteu- erte Programmbearbeitung oder eine Reglerbearbeitung an Befehls- grenzen unterbrochen werden durch das Auftreten von Störungen wie z. B. Ausfall der Versorgungsspannung am Zentralgerät oder Überlauf des Bausteinstacks .
  • Seite 243: Bcf Befehlscodefehler

    Fehler im RUN und im ANLAUF Fehler, bei denen ein Fehler-OB aufgerufen wird Tabelle 5-16 Fehler- und Unterbrechungsursachen im ANLAUF und RUN, bei denen ein Fehler-OB aufgerufen wird Steuerbit auf- oder Kennung Erläuterung gerufe- im USTACK ner OB Befehlscodefehler: Substitutionsfehler OB 27 Operationscodefehler OB 29...
  • Seite 244: Substitutionsfehler (Ob 27)

    Fehler im RUN und im ANLAUF 5.6.1 BCF (Befehlscodefehler) Ein Befehlscodefehler tritt dadurch auf, daß die CPU einen STEP-5- Befehl des Anwenderprogramms nicht interpretieren oder ausführen kann. Alle zulässigen Befehlscodes sind in der Operationsliste aufgeli- stet. Der Befehl, der den entsprechenden Befehlscodefehler verursacht, wird nicht ausgeführt.
  • Seite 245: Operationscodefehler (Ob 29)

    Fehler im RUN und im ANLAUF Operationscodefehler Ein Operationscodefehler wird von der CPU bei der Bearbeitung eines (OB 29) STEP-5-Programms festgestellt, wenn ein Befehl programmiert wor- den ist, der nicht zum STEP-5-Befehlsumfang der CPU 928B gehört (z.B. können RU- und SU-Befehle mit dem PG programmiert, jedoch von den CPUs 928B, 928, 922 (R-Prozessor) und 921 (S-Prozessor) im AG 135U nicht interpretiert werden).
  • Seite 246: Parameterfehler (Ob 30)

    Fehler im RUN und im ANLAUF Parameterfehler Ein unzulässiger Parameter tritt auf, wenn ein Befehl mit einem Para- (OB 30) meter, 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, unter- bricht das Systemprogramm die Bearbeitung des Anwenderpro- gramms und ruft den Organisationsbaustein OB 30 auf, wenn dieser...
  • Seite 247: Lzf (Laufzeitfehler)

    Fehler im RUN und im ANLAUF Fehlerkennung Erläuterung AKKU-1-L AKKU-2-L (unzulässiger Parameter bei ..) Fortsetzung der Tabelle 5-19: 183BH – L SD/T SD Parameter >1020 183CH – E DB/EX DX Parameter 0, 1 oder 2 (DB bzw. DX 0, 1, 2 nicht erzeugbar) 5.6.2 LZF (Laufzeitfehler) Ein Laufzeitfehler tritt dadurch auf, daß...
  • Seite 248: Lade-/Transferfehler (Ob 32)

    Fehler im RUN und im ANLAUF Bei Aufruf des OB 19 stehen im AKKU 1 zusätzliche Informationen, die den aufgetretenen Fehler näher erläutern: Tabelle 5-20 LZF – Aufruf eines nicht geladenen Bausteins Fehlerkennung Erläuterung AKKU-1-L AKKU-2-L 1A01H – Nicht geladener Datenbaustein bei A DB 1A02H –...
  • Seite 249: Sonstige Laufzeitfehler (Ob 31)

    Fehler im RUN und im ANLAUF Beim Erkennen eines Lade-/Transferfehlers ruft das Systemprogramm den Organisationsbaustein OB 32 auf, wenn dieser geladen ist. Der Be- fehl, der den Transferfehler verursacht hat, wird nicht mehr bearbeitet. Bei Aufruf von OB 32 stehen im AKKU 1 zusätzliche Informationen, die den aufgetretenen Fehler näher erläutern: Tabelle 5-21 LZF –...
  • Seite 250 Fehler im RUN und im ANLAUF Bei Aufruf des OB 31 stehen in AKKU 1 und AKKU 2 zusätzliche In- formationen, die den aufgetretenen Fehler näher erläutern: Fehleranzeigen von verschiedenen Operationen, OB 254/255 und OB 250 Tabelle 5-22 LZF – Sonstige Laufzeitfehler/Teil 1 Fehlerkennung Erläuterung AKKU-1-L AKKU-2-L...
  • Seite 251 Fehler im RUN und im ANLAUF Fehleranzeigen von OB 182 Tabelle 5-23 LZF – Sonstige Laufzeitfehler/Teil 2 (Anzeigen von OB 182) Fehlerkennung Erläuterung AKKU-1-L AKKU-2-L 1A34H 0001H Beschreibung des Datenfeldes ist unzulässig 1A34H 0100H Adreßbereichs-Typ ist unzulässig 1A34H 0101H Datenbaustein-Nr. ist unzulässig 1A34H 0102H "Nummer des ersten Parameterwortes"...
  • Seite 252 Fehler im RUN und im ANLAUF Fehleranzeigen Die nachfolgende Tabelle enthält Anzeigen von OB 110,OB 121, verschiedener OB 122, OB 221, OB 240, OB 241, OB 242 un d OB 250. Sonderfunktions-OBs Tabelle 5-24 LZF – Sonstige Laufzeitfehler/Teil 3 Fehlerkennung Erläuterung AKKU-1-L AKKU-2-L 1A35H...
  • Seite 253 Fehler im RUN und im ANLAUF Fehleranzeigen von OB 150 Tabelle 5-25 LZF – Sonstige Laufzeitfehler/Teil 4 (Anzeigen von OB 150) Fehlerkennung Erläuterung AKKU-1-L AKKU-2-L 1A4CH 0001H Funktionsnummer ist unzulässig (=0 oder >2) 1A4CH 0100H Adreßbereichs-Typ ist unzulässig 1A4CH 0101H Datenbaustein-Nr.
  • Seite 254 Fehler im RUN und im ANLAUF Fehleranzeigen von OB 151, OB 152 und OB 153 Tabelle 5-26 LZF – Sonstige Laufzeitfehler/Teil 5 (Anzeigen von OB 151, OB 152und OB 153) Fehlerkennung Erläuterung AKKU-1-L AKKU-2-L Anzeigen von OB 151 1A4DH 0001H Funktionsnummer ist unzulässig (=0 oder >2) 1A4DH...
  • Seite 255 Fehler im RUN und im ANLAUF Fehleranzeigen von verschiedenen Systemoperationen Tabelle 5-27 LZF – Sonstige Laufzeitfehler/Teil 6 (Anzeigen von verschiedenen Systemoperationen) Fehlerkennung Erläuterung AKKU-1-L AKKU-2-L 1A50H – LRW, TRW: Die errechnete Speicheradresse <BR+ Konstante> liegt nicht im Bereich "0 .. EDFFH" 1A51H –...
  • Seite 256 Fehler im RUN und im ANLAUF Fehlerkennung Erläuterung AKKU-1-L AKKU-2-L Fortsetzung der Tabelle 5-27: 1A58H – TNW, TNB: Der Quellblock liegt nicht vollständig in einem dieser Bereiche: 0000 .. 7FFF Anwenderspeicher 8000 .. DD7F Datenbaustein-RAM DD80 .. E3FF DB 0 E400 ..
  • Seite 257: Adf (Adressierfehler)

    Fehler im RUN und im ANLAUF 5.6.3 ADF (Adressierfehler) Ein Adressierfehler tritt auf, wenn mit einer STEP-5-Operation ein Ein- oder Ausgang im Prozeßabbild angesprochen wird, dem zum Zeitpunkt des letzten NEUSTARTs keine Peripheriebaugruppe zuge- ordnet war (Baugruppe war nicht gesteckt, defekt oder nicht im Daten- baustein DB 1 der CPU angegeben).
  • Seite 258: Qvz Bei Pae/Paa-Aktualisierung Und Transfer Der Koppelmerker

    Fehler im RUN und im ANLAUF Fehleranzeigen In den AKKUs 1 und 2 stehen dabei zusätzliche Informationen, die den aufgetretenen Fehler näher erläutern AKKU-1-L = 1E23H AKKU-2-L = QVZ-Adresse QVZ-Adresse Die QVZ-Addresse weist auf dasjenige Peripheriebyte, welches als er- stes einen QVZ erzeugt hat. In der Regel ist dies das Byte mit der niedrigsten Adresse bei Peripheriebefehlen.
  • Seite 259 Fehler im RUN und im ANLAUF Hinweis Wenn die aufgerufenen Organisationsbausteine nicht programmiert sind, wird die Bearbeitung des Anwender- programms fortgesetzt. Bei einem aufgetretenen Quittungsverzug liest die CPU "ersatz- weise" den Wert "00H" ein und arbeitet, falls der QVZ quittiert wird, mit diesem Wert weiter.
  • Seite 260: Zyk (Zykluszeitfehler)

    Fehler im RUN und im ANLAUF 5.6.5 ZYK (Zykluszeitfehler) Die Zykluszeit umfaßt die gesamte Zeitdauer einer Bearbeitung des zy- klischen Programms. Eine Überschreitung der in der CPU eingestell- ten Zyklusüberwachungszeit kann ausgelöst werden z.B. durch fehlerhafte Programmierung, durch eine Programmschleife in einem Funktionsbaustein, durch Ausfall des Taktgenerators oder durch System- leistungen wie z.B.
  • Seite 261: Weck-Fe (Weckfehler)

    Fehler im RUN und im ANLAUF 5.6.6 WECK-FE (Weckfehler) Wenn für einen bestimmten Weckalarm-OB eine erneute Anforderung auftritt, bevor seine letzte Anforderung vollständig bearbeitet ist, er- kennt das Systemprogramm einen Weckfehler und ruft den Organisa- tionsbaustein OB 33 auf, wenn dieser geladen ist, oder die CPU geht in den Stoppzustand.
  • Seite 262: Reg-Fe (Reglerfehler)

    Fehler im RUN und im ANLAUF 5.6.7 REG-FE (Reglerfehler) Ein Fehler beim Bearbeiten der vom Systemprogramm unterstützten Standard-Funktionsbausteine der Reglerstruktur R 64 wird als Regler- fehler erkannt. Hinweis Weckfehler werden vom Systemprogramm immer dann erkannt, wenn ein bestimmter Weckalarm-OB nicht innerhalb seines Zeitrasters (z.
  • Seite 263 Fehler im RUN und im ANLAUF Bei Aufruf des OB 34 stehen in den AKKUs 1 und 2 zusätzliche Infor- mationen, die den aufgetretenen Fehler näher erläutern. Tabelle 5-30 REG-FE– Anzeigen Fehlerkennung Erläuterung AKKU-1-L AKKU-2-L 0801H DByyH Abtastzeitfehler yy = Nummer des betreffenden Regler-Datenbausteins 0802H DByyH...
  • Seite 264: Abbr (Abbruch)

    Fehler im RUN und im ANLAUF Abtastzeitfehler Nach Ablauf der vorgegebenen Abtastzeit wird das zyklische Pro- gramm an der nächsten Bausteingrenze abgebrochen und die Reglerbe- arbeitung eingeschoben. Nun ist es möglich, daß die Bearbeitung "langer" Bausteine zu viel Zeit in Anspruch nimmt und in der Folge die Reglerbearbeitung "außer Tritt"...
  • Seite 265: Kommunikationsfehler (Fe-3)

    Fehler im RUN und im ANLAUF 5.6.9 Kommunikationsfehler Treten auf der zweiten seriellen Schnittstelle bei Rechnerkopplung (FE-3) RK 517, Datenübertragung mit Prozedur 3964/3964R, Datenübertra- gung mit "offenem Treiber" oder bei Datenübertragung mit SINEC L1 Störungen auf, so ruft das Systemprogramm den Organisationsbau- stein OB 35 auf und übergibt in AKKU 1 zusätzliche Informationen, die die aufgetretenen Störungen näher erläutern.
  • Seite 266 Fehler im RUN und im ANLAUF BREAK Bei BREAK auf der Schnittstelle wird der OB 35 nur zu Beginn des BREAK-Zustandes aufgerufen. Fehlernummer 1 bis Hier werden maximal 3 Fehlernummern zu den auf der Schnittstelle er- Fehlernummer 3 kannten Störungen eingetragen und zwar in der Reihenfolge, wie sie vom System erkannt werden.
  • Seite 267: Integrierte Sonderfunktionen

    Integrierte Sonderfunktionen Inhalt von Kapitel 6 Einführung ............. 6 - 6 OB 110: Zugiff auf das Anzeigenbyte .
  • Seite 268 Inhalt 6.17 OB 182: Datenbereich kopieren ..........6 - 65 6.18 OB 190/192: Merker in Datenbaustein übertragen .
  • Seite 269 Inhalt 6.32 OB 250/251: Regelung/ PID-Algorithmus ........6 - 110 6.32.1 Funktionsbeschreibung des PID-Reglers .
  • Seite 270 Inhalt Programmieranleitung CPU 928B 6 - 4 C79000-B8500-C898, 01...
  • Seite 271 Integrierte Sonderfunktionen Das nachfolgende Kapitel schildert Ihnen, welche integrierten Sonder- funktionen das Systemprogramm enthält, wo Sie diese anwenden kön- nen und wie Sie die Sonderfunktions-OBs aufrufen und parametrieren müssen. Ferner erfahren Sie, wie Sie Fehler bei der Bearbeitung einer Sonder- funktion erkennen und per Programm bearbeiten können.
  • Seite 272: Einführung

    Einführung Einführung Das Betriebssystem der CPU 928B bietet Ihnen Sonderfunktionen an, die Sie bei Bedarf mit einem bedingten (SPB OB x) oder einem unbe- dingten (SPA OB x) Bausteinaufruf aufrufen können. Für diese Sonder- funktionen sind die Organisationsbausteine OB 100 bis 255 reserviert. Diese Funktionen werden als Integrierte Sonderfunktionen bezeichnet, da sie ein fester Bestandteil des Systemprogramms sind.
  • Seite 273 Einführung Baustein Funktion siehe Abschnitt/Seite Fortsetzung der Tabelle 6-1: OB 220 Vorzeichenerweiterung 6.22/6 - 90 OB 221 Zyklusüberwachungszeit einstellen 6.23/6 - 91 OB 222 Zyklusüberwachungszeit neu starten 6.24/6 - 92 OB 223 Anlaufarten vergleichen 6.25/6 - 93 OB 224 Koppelmerker blockweise übertragen 6.26/6 - 94 OB 226 Wort aus Systemprogramm lesen...
  • Seite 274: Bausteinaufruf

    Einführung Schnittstellen Als Schnittstellen zu den Sonderfunktionen stehen Ihnen bei der Pro- grammierung zur Verfügung: • • Bausteinaufruf Aufruf mit bedingtem/unbedingtem Bausteinaufruf SPB .. / SPA .. • • Parameter Parameter zur Voreinstellung über AKKU 1 und evtl. AKKU 2 und/oder Speicherzellen.
  • Seite 275 Einführung Fehlerbearbeitung Tritt bei der Bearbeitung der aufgerufenen Sonderfunktion ein Fehler auf, so reagiert das Systemprogramm darauf mit einer speziellen Feh- lerreaktion. Hinsichtlich dieser Fehlerreaktion des Systemprogramms können zwei Gruppen von Sonderfunktionen unterschieden werden. Fehler-OB, Akku-Anzeigen Zur Gruppe 1 zählen alle Sonderfunktionen, bei denen im Fehlerfall ein Fehler-Organisationsbaustein (Fehler-OB) aufgerufen wird, in dem Sie das weitere Verhalten der CPU festlegen können.
  • Seite 276: Sonderfunktionen Mit Pseudobefehlsgrenzen

    Einführung VKE , Bei einigen Sonderfunktionen werden für das Anzeigen von sonder- ANZ 0/ANZ 1 funktionsspezifischen Fehlern das VKE oder die Anzeigen ANZ 0/ANZ 1 beeinflußt. Wenn bei der Bearbeitung dieser Sonderfunktionen ein Fehler auftritt, wird in den meisten Fällen das VKE gesetzt (VKE = 1). Sie können in Ihrem STEP-5-Programm bei diesen Sonderfunktionen mit einer SPB- Operation (Springe bedingt) das VKE auswerten und damit auf einen Fehler reagieren.
  • Seite 277: Ob 110: Zugiff Auf Das Anzeigenbyte

    OB 110: Zugiff auf das Anzeigenbyte OB 110: Zugiff auf das Anzeigenbyte Funktion Mit Hilfe des OB 110 können Sie das Anzeigenregister mit dem Inhalt des AKKU 1 beschreiben, mit ’1’ maskieren oder mit ’0’ maskieren. Belegung des AKKU 1 für den Zugriff auf das Anzeigenregister STA VKE ERAB...
  • Seite 278 OB 110: Zugiff auf das Anzeigenbyte Ergebnis Nach Ablauf des OB 110 ist das Anzeigenbyte entsprechend Funktion und AKKU-1-Inhalt verändert. • • Fehlerfälle Funktions-Nr. in AKKU-2-L ungleich 1, 2 oder 3. • • In AKKU 1 ist eines der Bits Nr 8 bis Nr. 31 gesetzt. Im Fehlerfall wird der OB 31 (Sonstige Laufzeitfehler) aufgerufen.
  • Seite 279: Ob 111: Akku 1, 2, 3 Und 4 Löschen

    OB 111: AKKU 1, 2, 3 und 4 löschen OB 111: AKKU 1, 2, 3 und 4 löschen Funktion Durch den einmaligen Aufruf des Sonderfunktions-Organisations- bausteins OB 111 können Sie die Inhalte der AKKUs 1 bis 4 auf einfache Weise löschen: Der OB 111 überschreibt alle vier Register mit ’0’.
  • Seite 280: Ob 112/113: Akku-Roll-Up/Akku-Roll-Down

    OB 112/113: AKKU-Roll-Up/AKKU-Roll-Down OB 112/113: AKKU-Roll-Up/AKKU-Roll-Down Funktion OB 112 und OB 113 bewirken ein "Rollen" der AKKU-Inhalte in auf- steigender bzw. absteigender Richtung: • • Der OB 112 (Roll Up) verschiebt den Inhalt von AKKU 1 in den AKKU 2, den Inhalt von AKKU 2 in den AKKU 3 usw... •...
  • Seite 281 OB 112/113: AKKU-Roll-Up/AKKU-Roll-Down Akkuinhalte verschieben <AKKU 4> AKKU 4 <AKKU 3> <AKKU 3> <AKKU 2> AKKU 3 OB 112 <AKKU 1> AKKU 2 <AKKU 2> <AKKU 4> AKKU 1 <AKKU 1> vorher nachher Bild 6-1 Wirkung der Funktion "Roll-Up" Akkuinhalte verschieben <AKKU 4>...
  • Seite 282: Ob 120: "Alarme Gemeinsam Sperren" Ein-/Ausschalten

    OB 120: "Alarme gemeinsam sperren" ein-/ausschalten OB 120: "Alarme gemeinsam sperren" ein-/ausschalten Ein STEP-5-Programm kann an Baustein- oder Befehlsgrenzen von Pro- grammen höherer Priorität unterbrochen werden. Zu diesen höherprio- ren Programmbearbeitungsebenen gehören die Prozeß- und alle Weckalarme (zyklische Weckalarme, uhrzeitgesteuerter Weckalarm und Verzögerungsalarm).
  • Seite 283 OB 120: "Alarme gemeinsam sperren" ein-/ausschalten Die Bits des Steuerdoppelwortes haben folgende Bedeutung: Bit-Nr. im Steuerdop- Funktion pelwort 0 = ’1’ alle zyklischen Weckalarme werden gesperrt 1 = ’1’ der uhrzeitgesteuerte Weckalarm wird gesperrt 2 = ’1’ alle Prozeßalarme werden gesperrt 3 = ’1’...
  • Seite 284 OB 120: "Alarme gemeinsam sperren" ein-/ausschalten Ergebnis Der Aufruf des OB 120 bringt folgende Ergebnisse: Inhalt von AKKU 1 Funkt.-Nr. in AKKU-2-L vorher nachher Steuerwort Steuerwort Maske neues Steuerwort Maske neues Steuerwort • • Fehlerfälle unzulässige Funktions-Nr. in AKKU-2-L • • eines der reservierten Bits in AKKU 1 (Nr.
  • Seite 285: Ob 121: "Weckalarme Einzeln Sperren" Ein-/Ausschalten

    OB 121: "Weckalarme einzeln sperren" ein-/ausschalten OB 121: "Weckalarme einzeln sperren" ein-/ausschalten Mit Hilfe des OB 121 können Sie das Einschachteln von bestimmten Weckalarm-OBs (Weckalarme mit festem Zeitraster) an einer oder an mehreren aufeinanderfolgenden Baustein- oder Befehlsgrenzen verhin- dern. Beispielsweise können Sie für einen bestimmten Programmteil festle- gen, daß...
  • Seite 286 OB 121: "Weckalarme einzeln sperren" ein-/ausschalten Die Bits des Steuerwortes haben folgende Bedeutung: Bit-Nr. Alarm 0 bis 2 reserviert, diese Bits müssen ’0’ sein! zyklische Weckalarm mit festem Zeitraster: 3 = ’1’ 10 ms (OB 10) 4 = ’1’ 20 ms (OB 11) 5 = ’1’...
  • Seite 287 OB 121: "Weckalarme einzeln sperren" ein-/ausschalten • • unzulässige Funktions-Nr. in AKKU-2-L Fehlerfälle • • eines der reservierten Bits in AKKU 1 (Nr. 4 bis 31) ist gleich ’1’ Im Fehlerfall wird der OB 31 (Sonstige Laufzeitfehler) aufgerufen. Ist der OB 31 nicht geladen, geht die CPU in den Stoppzustand. In beiden Fällen wird in AKKU-1-L die Fehlerkennung 1A4AH hin- terlegt.
  • Seite 288: Ob 122: "Alarme Gemeinsam Verzögern" Ein-/Ausschalten

    OB 122: "Alarme gemeinsam verzögern" ein-/ausschalten OB 122: "Alarme gemeinsam verzögern" ein-/ausschalten Ein STEP-5-Programm kann an Baustein- oder Befehlsgrenzen von Pro- grammen höherer Priorität unterbrochen werden. Zu diesen höherprio- ren Programmbearbeitungsebenen gehören die Prozeß- und alle Weckalarme (zyklische Weckalarme, uhrzeitgesteuerter Weckalarm und Verzögerungsalarm).
  • Seite 289 OB 122: "Alarme gemeinsam verzögern" ein-/ausschalten Die Bits des Steuerdoppelwortes haben folgende Bedeutung: Bit-Nr. im Steuerdop- Funktion pelwort 0 = ’1’ alle zyklischen Weckalarme werden verzögert 1 = ’1’ der uhrzeitgesteuerte Weckalarm wird verzögert 2 = ’1’ alle Prozeßalarme werden verzögert 3 = ’1’...
  • Seite 290 OB 122: "Alarme gemeinsam verzögern" ein-/ausschalten Ergebnis Der Aufruf des OB 122 bringt folgende Ergebnisse: Inhalt von AKKU 1 Funkt.-Nr. in AKKU-2-L vorher nachher Steuerwort Steuerwort Maske neues Steuerwort Maske neues Steuerwort • • Fehlerfälle unzulässige Funktions-Nr. in AKKU-2-L • • eines der reservierten Bits in AKKU 1 (Nr.
  • Seite 291: Ob 123: "Weckalarme Einzeln Verzögern" Ein-/Ausschalten

    OB 123: "Weckalarme einzeln verzögern" ein-/ausschalten OB 123: "Weckalarme einzeln verzögern" ein-/ausschalten Mit Hilfe des OB 123 können Sie das Einschachteln von bestimmten Weckalarm-OB (Weckalarme mit festem Zeitraster) an einer oder an mehreren aufeinanderfolgenden Baustein- oder Befehlsgrenzen verhin- dern. Funktion Der OB 123 hat Auswirkungen auf die Reaktion auf Weckalarme: "Weckalarme einzeln verzögern"...
  • Seite 292 OB 123: "Weckalarme einzeln verzögern" ein-/ausschalten Die Bits des Steuerwortes haben folgende Bedeutung: Bit-Nr. Alarm 0 bis 2 reserviert, diese Bits müssen ’0’ sein! zyklische Weckalarm mit festem Zeitraster: 3 = ’1’ 10 ms (OB 10) 4 = ’1’ 20 ms (OB 11) 5 = ’1’...
  • Seite 293 OB 123: "Weckalarme einzeln verzögern" ein-/ausschalten • • unzulässige Funktions-Nr. in AKKU-2-L Fehlerfälle • • eines der reservierten Bits in AKKU 1 (Nr. 4 bis 31) ist gleich ’1’ Im Fehlerfall wird der OB 31 (Sonstige Laufzeitfehler) aufgerufen. Ist der OB 31 nicht geladen, geht die CPU in den Stoppzustand. In beiden Fällen wird in AKKU-1-L die Fehlerkennung 1A4BH hinter- legt.
  • Seite 294: Ob 150: Systemzeit Stellen/Lesen

    OB 150: Systemzeit stellen/lesen OB 150: Systemzeit stellen/lesen • • Eigenschaften der Die Auflösung beträgt 10ms beim Lesen und 1s Systemzeit beim Setzen. • • Schaltjahre werden berücksichtigt. • • Stundendarstellung wahlweise 24 Stunden oder 12 Stunden "am" (Vormittagszeit) und "pm" (Nachmittagszeit). •...
  • Seite 295 OB 150: Systemzeit stellen/lesen 1b) Format des Datenfeldes beim Lesen der Hardwareuhr Bit-Nr. 1. Wort Sekunden 1/100 Sekunde 2. Wort Format Stunden Minuten 3. Wort Monatstag Wochentag 4. Wort Jahr Monat Die Zeitparameter haben folgende Bedeutung, zulässige Werteberei- che und Darstellung: Parameter zulässiger Wertebereich Darstellung...
  • Seite 296 OB 150: Systemzeit stellen/lesen 2. Akkus 2a) AKKU-2-L Der AKKU-2-L enthält Angaben zur gewünschten Funktion und zum verwendeten Datenfeld. Er muß folgenden Aufbau haben: Bit-Nr. Funktions-Nr. Adreßbereichs-Typ Datenbaustein-Nr. Parameter im AKKU-2-L Funktions-Nr., zulässige Werte: 1 = Systemzeit stellen 2 = Zystemzeit lesen Adreßbereichs-Typ, zulässige Werte: 1 = DB-Datenbaustein...
  • Seite 297 OB 150: Systemzeit stellen/lesen Tabelle 6-2 Fehlerkennungen des OB 150 AKKU-1-L AKKU-2-L deutung aufger. OB 1A07H – Datenbaustein nicht geladen OB 19 1A4CH 0001H Funktions-Nr. = 0 oder > 2 OB 31 0010H Adreßbereich-Typ unzulässig 0101H Datenbaustein-Nr. unzulässig 0102H "Nummer des ersten Datenfeldwortes" unzulässig Datenbausteinlänge im Bausteinkopf <...
  • Seite 298 OB 150: Systemzeit stellen/lesen Systemzeit stellen" (Fortsetzung) " DB 10 0: KH = 0 0 0 0 linkes Byte = Sekunden (BCD), rechtes Byte = 0 1: KH = 9 1 3 0 91 = Format (=80H) + Stunde (=11 BCD) 30 = Minuten (BCD) 2: KH = 2 4 3 0 24 = Monatstag (BCD)
  • Seite 299: Ob 151: Zeit Für Uhrzeitgesteuerten Weckalarm Stellen/Lesen

    OB 151: Zeit für uhrzeitgesteuerten Weckalarm stellen/lesen 6.10 OB 151: Zeit für uhrzeitgesteuerten Weckalarm stellen/lesen Funktion Durch Aufruf des OB 151 können Sie • • die CPU 928B dazu veranlassen, zu einer vorgegebenen Zeit den uhrzeitgesteuertern Weckalarm ("Zeitauftrag" – OB 9, siehe Abschnitt 4.5.2) zu aktivieren: - minütlich - stündlich...
  • Seite 300: Datenfeld Im Merkerbereich

    OB 151: Zeit für uhrzeitgesteuerten Weckalarm stellen/lesen Die Parameter haben folgende Bedeutung, zulässige Wertebereiche und Darstellung: Parameter zulässiger Wertebereich Darstellung Auftragsart 0 bis 7 mit: BCD-Format 0: Auftrag stornieren bzw. kein Auftrag aktiv 1: minütlich 2: stündlich 3: täglich 4: wöchentlich 5: monatlich 6: jährlich 7: einmalig...
  • Seite 301 OB 151: Zeit für uhrzeitgesteuerten Weckalarm stellen/lesen 2. Akkus 2a) AKKU-2-L Der AKKU-2-L enthält Angaben zur gewünschten Funktion und zum verwendeten Datenfeld. Er muß folgenden Aufbau haben: Bit-Nr. Funktions-Nr. Adreßbereichs-Typ Datenbaustein-Nr. Parameter im AKKU-2-L Funktions-Nr., zulässige Werte: 1 = Auftrag erzeugen 2 = Auftragsstatus lesen Adreßbereichs-Typ, zulässige Werte:...
  • Seite 302 OB 151: Zeit für uhrzeitgesteuerten Weckalarm stellen/lesen Hinweis Wenn beim Auslesen des Zeitauftrags im Datenfeld die Auftrags- art ’0’ und alle restlichen Parameter ’F’ oder ’FF’ (hexadezimal) sind, ist kein Zeitauftrag aktiv. Dieser Zustand kann entstehen a) wenn NEUSTART durchgeführt wurde, ohne einen Zeitauftrag zu erzeugen, b) wenn ein einmaliger Zeitauftrag fällig war oder...
  • Seite 303 OB 151: Zeit für uhrzeitgesteuerten Weckalarm stellen/lesen Was Sie bei den Abhängig davon, wann ein uhrzeitgesteuerter Weckalarm (Zeit- Zeitparametern beachten auftrag) ausgelöst werden soll, müssen Sie die einzelnen Zeitpara- müssen meter in bestimmten Kombinationen vorgeben. Dabei müssen Sie – abhängig vom gewählten Zeitpunkt für den uhrzeitgesteuerten Weck- alarm –...
  • Seite 304 OB 151: Zeit für uhrzeitgesteuerten Weckalarm stellen/lesen Verschiedene Zeitaufträge (im 24-Stunden-Anzeigeformat), 1.Fortsetzung : 3. "Auftrag täglich um 5:32:47 Uhr": Sie müssen angeben: Auftragsart = 3 (Funktions-Nr. in AKKU-2-L = 1) Sekunden Minuten Stunden 4. "Auftrag wöchentlich, dienstags um10:50:00 Uhr": Sie müssen angeben: Auftragsart = 4 (Funktions-Nr.
  • Seite 305 OB 151: Zeit für uhrzeitgesteuerten Weckalarm stellen/lesen Verschiedene Zeitaufträge (im 24-Stunden-Anzeigeformat), 2.Fortsetzung : "Auftrag stornieren": Sie müssen angeben: Auftragsart = (Funktions-Nr. in AKKU-2-L = 1) 9. "Zeitauftrag auslesen": Sie müssen angeben: Funktions-Nr. in AKKU-2-L = 2 Falls kein Auftrag aktiv ist, erhalten Sie als Ergebnis im Datenfeld: Datenfeldwort 0: FFFF H Datenfeldwort 1:...
  • Seite 306: Ob 152: Zyklusstatistik

    OB 152: Zyklusstatistik 6.11 OB 152: Zyklusstatistik In der CPU 928B können eine Reihe statistischer Daten zur Zyklus- dauer erfaßt werden (Zyklusstatistik). Mit Hilfe des OB 152 können Sie die Zyklusstatistik initialisieren, die Statistikdaten auslesen und das Er- fassen der Statistikdaten ein- und ausschalten. Übersicht Die statistischen Daten umfassen •...
  • Seite 307 OB 152: Zyklusstatistik Wurde die Statistik-Funktion mit dem OB 152 eingeschaltet, so werden die statistischen Daten an jeder Zyklusgrenze aktualisiert und können über Aufruf des OB 152 ausgelesen werden. Wenn Sie die Statistikfunktion nicht mehr benötigen, so können Sie sie im Betriebszustand ANLAUF oder RUN über den OB 152 wieder ausschalten.
  • Seite 308 OB 152: Zyklusstatistik Berechnung des Mittelwertes Der Mittelwert wird durch den OB 152 nach folgendem Algorithmus berechnet: In einem systeminternen Umlaufpuffer wird bei jedem Aktualisieren der statistischen Daten der Wert von LASTZYK gespeichert. Dieser Puf- fer kann maximal 256 Werte aufnehmen. Ist der Puffer gefüllt, so fällt der jeweils älteste Wert von LASTZYK heraus, und der neueste Wert wird abgespeichert.
  • Seite 309 OB 152: Zyklusstatistik Parameter AKKU-1-L Der AKKU-1-L enthält die Funktions-Nr.; er muß folgenden Aufbau haben: Bit-Nr. Funktions-Nr. Funktions-Nr. zulässige Werte: siehe Tabelle 6-4 Bit-Nr. 4 bis 15 müssen ’0’ sein! Ergebnis Nach Aufruf des OB 152 sind die Anzeigen OS, OR und ERAB = ’0’, das VKE ist bis auf die nachfolgend aufgeführten Fälle ebenfalls = ’0’.
  • Seite 310 OB 152: Zyklusstatistik Fehlerfall Der Fehlerfall tritt ein, wenn im AKKU-1-L eine falsche Funktions- Nr. übergeben wird (erlaubt sind nur die Nummern 0 bis 3, 8 und 15). Es wird der OB 31 (sonstige Laufzeitfehler) aufgerufen. Ist der OB 31 nicht geladen, geht die CPU in den Stoppzustand. In beiden Fällen wird in AKKU-1-L die Fehlerennung 1A4EH und in AKKU-2-L Fehlerkennung 0001H hinterlegt.
  • Seite 311 OB 152: Zyklusstatistik Beim Initialisieren der statistischen Daten werden außer den in der Ta- belle aufgeführten Vorbesetzungen der Daten systemintern der Um- laufpuffer für die Mittelwertbildung gelöscht sowie ein interner Merker für Zykluszählerüberlauf rückgesetzt. Aufruf des OB 152 in einem Je nach Anlaufart liefert der Aufruf des OB 152 zum Lesen der statisti- Anlauf-OB schen Daten in AKKU-1-L und AKKU-2-L folgende Werte (grau un-...
  • Seite 312: Aufruf Des Ob 152 Bei Ausgeschalteter Zyklusstatistik

    OB 152: Zyklusstatistik Initialisieren der statistischen Nachfolgende Tabelle zeigt Ihnen, wie bei einer Initialiserung der statisti- Daten durch Aufruf des schen Daten diese durch Aufruf des OB 152 im ZYKLUS verändert wer- OB 152 den. Die grau unterlegten Spalten enthalten die beim Lesen der statistischen Daten übergebenen Werte.
  • Seite 313 OB 152: Zyklusstatistik Verfälschung der Durch das Auftreten bestimmter Ereignisse wird die Erfassung der Zy- statistischen Daten klusdauer für den aktuellen Zyklus gestört und führt dann zu falschen Werten. Daher werden in solchen Fällen die statistischen Daten für den betroffenen Zyklus nicht aktualisiert. Zu diesen Ereignissen gehören: •...
  • Seite 314: Ob 153: Zeit Für Verzögerungsalarm Stellen/Lesen

    OB 153: Zeit für Verzögerungsalarm stellen/lesen 6.12 OB 153: Zeit für Verzögerungsalarm stellen/lesen Über den OB 153 können Sie sogenannte "Verzögerungsaufträge" an das Systemprogramm übergeben. Diese führen dazu, daß nach Ablauf einer vorgegebenen Verzögerungszeit ein "Verzögerungsalarm" bear- beitet wird (siehe OB 6, Abschnitt 4..5.3). Funktion Durch Aufruf des OB 153 können Sie •...
  • Seite 315 OB 153: Zeit für Verzögerungsalarm stellen/lesen Hinweis Ist beim Definieren einer Verzögerungszeit eine vorher definierte Verzögerungszeit noch nicht abgelaufen, so wird diese "verges- sen" und die neue Verzögerungszeit gestartet. Ergebnis Nach korrekter Bearbeitung des OB 153 sind die Anzeigenbits OR, ERAB und OS = 0.
  • Seite 316 OB 153: Zeit für Verzögerungsalarm stellen/lesen Verzögerungszeit stoppen (Auftrag stornieren): STEP-5-Operationen zum Aufrufen des OB 153: KF +2 Wert fuer AKKU-1-L: Funktions-Nr. = 2 fuer "Verzoegerungszeit stoppen" :SPA OB 153 OB 153 aufrufen Restzeit eines Verzögerungsauftrags auslesen): STEP-5-Operationen zum Aufrufen des OB 153: KF +3 Wert fuer AKKU-1-L: Funktions-Nr.
  • Seite 317: Ob 160 Bis 163: Zählschleifen

    OB 160 bis 163: Zählschleifen 6.13 OB 160 bis 163: Zählschleifen Mit Hilfe dieser Sonderfunktions-Organisationsbausteine realisieren Sie Programmschleifen mit besonders günstiger Laufzeit. Funktion Die vier Organisationsbausteine OB 160, OB 161, OB 162 und OB 163 ermöglichen eine vierfache Schachtelung von Schleifen. Sie können damit in Systemdatenwörtern BS 60 bis 63 vier verschiedene Schleifenzähler einsetzen.
  • Seite 318 OB 160 bis 163: Zählschleifen Ergebnis Schleifenzähler im Systemdatenwort > 0: VKE wird gesetzt (VKE = 1) Schleifenzähler im Systemdatenwort = 0: VKE wird gelöscht (VKE = 0) Die restlichen Bit- und Wortanzeigen werden immer gelöscht. Die Akkumulatoren werden nicht verändert und nicht ausgewertet. So- mit stehen diese zu Beginn des nächsten Schleifendurchlaufs noch zur Verfügung und müssen nicht neu geladen werden.
  • Seite 319: Ob 170: Bausteinstack (Bstack) Lesen

    OB 170: Bausteinstack (BSTACK) lesen 6.14 OB 170: Bausteinstack (BSTACK) lesen Im Bausteinstack sind, ausgehend vom OB 1 bzw. FB 0, alle Bausteine eingetragen, die nacheinander aufgerufen worden sind und deren Bear- beitung noch nicht abgeschlossen ist. Funktion Mit Hilfe des Sonderfunktions-Organisationsbausteins OB 170 kön- nen Sie die im BSTACK vorhandenen Einträge in einen Datenbaustein einlesen.
  • Seite 320 OB 170: Bausteinstack (BSTACK) lesen Ergebnis Nach erfolgreichem Aufruf des OB 170 • • steht im AKKU-2-L weiterhin der Offset im Datenbaustein, • • steht im AKKU-1-L die tatsächlich dargestellte Anzahl an BSTACK- Elementen • • wird das VKE gelöscht, •...
  • Seite 321 OB 170: Bausteinstack (BSTACK) lesen Bausteinkopf DW 0 Offset DW n DW n+1 letzter Eintrag im BSTACK (B = 1) DW n+2 DW n+3 Länge DW n+4 DW n+5 vorletzter Eintrag im BSTACK (B = 2) DW n+6 DW n+7 Länge ältere BSTACK-Einträge Bild 6-3...
  • Seite 322 OB 170: Bausteinstack (BSTACK) lesen • • Fehlerfälle kein Datenbaustein aufgeschlagen • • aufgeschlagener Datenbaustein nicht vorhanden oder nicht ausrei- chend lang, um die gewünschte Anzahl von BSTACK-Einträgen aufnehmen zu können • • unzulässige Parameter in AKKU 1 und AKKU 2 Im Fehlerfall werden das VKE sowie die Ergebnisanzeigen ANZ 0 und ANZ 1 gesetzt (VKE, ANZ 0 und ANZ 1 = 1), die übrigen Bit- und Wortanzeigen werden gelöscht.
  • Seite 323 OB 170: Bausteinstack (BSTACK) lesen Fortsetzung des Beispiels: Nach Aufruf des OB 170 ist der Datenbaustein DX 10 folgendermaßen belegt: DX 10 Bausteinkopf DW 0 Offset DW 16 Tiefe 1 DW 17 DW 18 Länge DW 19 DW 20 Tiefe 2 DW 21 DW 22 DW 23...
  • Seite 324: Ob 180: Variabler Datenbaustein-Zugriff

    OB 180: Variabler Datenbaustein-Zugriff 6.15 OB 180: Variabler Datenbaustein-Zugriff DBA- DBL-Register Beim Aufschlagen eines Datenbausteins mit den Operationen A DB und AX DX wird das ’DBA’-Register (Datenbaustein-Anfangsadresse) mit der Adresse des Datenwortes DW 0 geladen, die im DB 0 hinterlegt ist. Zugriffe auf Datenbausteine mit Opertationen wie L DR 60 oder B DW 240 usw.
  • Seite 325 OB 180: Variabler Datenbaustein-Zugriff • • Arbeiten mit Datenbausteinen, die eine Länge größer 261 Wörter (5 Wörter Kopf) haben: Mit Hilfe des OB 180 können Sie ein "Zugriffs- fenster" von 256 Datenwörtern beliebig über einem Datenbaustein verschieben. • • Anwendung bei Datenstrukturen: Ein Datenbaustein kann in mehrere Datensätze mit gleicher Länge und gleicher Anordnung der darin enthaltenen Daten unterteilt sein.
  • Seite 326: Dba Und Dbl Auf Anfangswert Zurückstellen

    OB 180: Variabler Datenbaustein-Zugriff Ergebnis Nach erfolgreichem Aufruf des OB 180 • • ist der Wert des DBA-Registers (= Adresse des DW 0) um den Wert des AKKU-1-L erhöht, • • ist der Wert des DBL-Registers um den Wert des AKKU-1-L erniedrigt, •...
  • Seite 327 OB 180: Variabler Datenbaustein-Zugriff Fortsetzung des Beispiels: Adresse DB 17 1516H 5 Wörter 1517H Bausteinkopf 151BH 151CH DW 0 151DH cccc 151EH dddd DW 1 151FH eeee DW 2 1520H ffff DW 3 gggg DW 4 1521H DW 5 1522H hhhh Bild 6-6 Verschieben der DB-Anfangsadresse...
  • Seite 328: Ob 181: Datenbausteine (Db/Dx) Testen

    OB 181: Datenbausteine (DB/DX) testen 6.16 OB 181: Datenbausteine (DB/DX) testen Mit dem Sonderfunktions-Organisationsbaustein OB 181 können Sie prüfen, • • ob ein bestimmter DB- oder DX-Datenbaustein vorhanden ist, • • unter welcher Adresse das erste Datenwort des Datenbausteins ab- gelegt ist, •...
  • Seite 329 OB 181: Datenbausteine (DB/DX) testen • • Der geprüfte Baustein ist in der CPU vorhanden: Ergebnis AKKU-1-L: Adresse des 1. Datenwortes (DW 0), AKKU-2-L: Länge des Datenbausteins in Wörtern (ohne Bausteinkopf) Beispiel: In AKKU-2-L steht der Wert ’7’: Der Datenbaustein besteht aus den Daten- wörtern DW 0 bis DW 6, VKE: = 0,...
  • Seite 330: Beispiele

    OB 181: Datenbausteine (DB/DX) testen • • Fehlerfälle falsche Bausteinnummer (unzulässig: 0 – DB 0 oder DX 0), • • falsche Bausteinkennung (zulässig: 1 = DB, 2 = DX; unzulässig: 0, 3 bis 255), • • Speicherfehler. Beispiele siehe: Kapitel 8.3.2 / Kapitel 9.2 / Kapitel 9.3 Programmieranleitung CPU 928B 6 - 64 C79000-B8500-C898, 01...
  • Seite 331: Ob 182: Datenbereich Kopieren

    OB 182: Datenbereich kopieren 6.17 OB 182: Datenbereich kopieren Funktion Der OB 182 kopiert einen Datenblock variabler Länge von einem Daten- baustein in einen anderen. Als Quell- und Zielbausteine können DB- und DX-Datenbausteine verwendet werden. Der Blockanfang im Quell- und Zieldatenbaustein ist frei wählbar. Der OB 182 kann maxi- mal 4091 Datenwörter kopieren.
  • Seite 332 OB 182: Datenbereich kopieren Die Parameter haben folgende Bedeutung und zulässige Wertebereiche: Parameter zulässiger Wertebereich Datenbaustein-Typ (Quelle und Ziel) 1 = DB 2 = DX Datenbaustein-Nr. (Quelle und Ziel) 3 bis 255 Nr. des 1. Datenwortes (Quelle und Ziel) 0 bis 4090 Anzahl der Datenwörter 1 bis 4091 Datenfeld im Merkerbereich...
  • Seite 333 OB 182: Datenbereich kopieren 2b) AKKU-1-L Nummer des 1. Datenfeldwortes, mögliche Werte (in Abhängigkeit vom Adreßbeeichs-Typ: DB, DX: 0 bis 2043 M-Merker: 0 bis 246 (= Nr. Merkerbyte ’x ’) S-Merker 0 bis 1014 (= Nr. Merkerbyte ’x ’) Ergebnis Nach korrekter Bearbeitung des OB 150 sind die Anzeigenbits OR, ERAB und OS = 0.
  • Seite 334: Ob 190/192: Merker In Datenbaustein Übertragen

    OB 190/192: Merker in Datenbaustein übertragen 6.18 OB 190/192: Merker in Datenbaustein übertragen Anwendung Die Organisationsbausteine OB 190 und OB 192 übertragen eine vom Anwender vorgegebene Anzahl Merkerbytes in einen dafür vorgesehe- nen Datenbaustein. Dies kann z.B. von Vorteil sein vor Bausteinaufrufen, in Fehler-Orga- nisationsbausteinen oder bei Unterbrechung der zyklischen Programm- bearbeitung durch eine zeit- oder alarmgesteuerte Programmbearbeitung.
  • Seite 335 OB 190/192: Merker in Datenbaustein übertragen Die folgende Abbildung soll diesen Unterschied verdeutlichen: Merker kopieren mit OB 190: OB 192: Merker Datenbaustein Datenbaustein MB 0 DW 0 MB 1 DW 1 MB 2 DW 2 MB 3 Bild 6-7 Byteweises (OB 190) und wortweises (OB 192) Übertragen Hinweis Falls eine ungerade Anzahl von Merkerbytes übertragen wird, so wird das letzte benutzte Datenwort des Datenbausteins nur zur...
  • Seite 336 OB 190/192: Merker in Datenbaustein übertragen 2. Angaben zum Ziel AKKU-1-L Nummer des ersten zu beschreibenden Datenwortes im aufgeschla- genen Datenbaustein: Die zulässigen Werte orientieren sich an der Länge des Datenbau- steins im Speicher. Es können dabei Nummern > 255 auftreten. Ergebnis Wird der Sonderfunktions-OB 190/192 korrekt bearbeitet, so wird das VKE gelöscht (VKE = 0).
  • Seite 337: Ob 191/193: Datenblöcke In Merkerbereich Übertragen

    OB 191/193: Datenblöcke in Merkerbereich übertragen 6.19 OB 191/193: Datenblöcke in Merkerbereich übertragen Anwendung Mit Hilfe der Organisationsbausteine OB 191 und OB 193 können Sie Daten aus einem Datenbaustein in den Merkerbereich übertragen. So können beispielsweise die zuvor in einen Datenbaustein "geretteten" Merkerbytes wieder in den Merkerbereich zurückgeschrieben werden.
  • Seite 338 OB 191/193: Datenblöcke in Merkerbereich übertragen OB 191 Datenbaustein Merker DW 0 ( DR 0) MB 0 DW 1 ( DL 0) MB 1 ( DR 1) MB 2 DW 2 DW 3 ( DL 1) MB 3 OB 193 Datenbaustein Merker DW 0...
  • Seite 339 OB 191/193: Datenblöcke in Merkerbereich übertragen Parameter 1. Angaben zur Quelle: 1a) AKKU-2-L Nummer des ersten zu übertragenden Datenwortes im aufgeschlage- nen Datenbaustein 2. Angaben zum Ziel 2a) AKKU-1-LH Erstes zu beschreibendes Merkerbyte, zulässige Werte: 0 bis 255 2b) AKKU-1-LL Letztes zu beschreibendes Merkerbyte, zulässige Werte: 0 bis 255...
  • Seite 340 OB 191/193: Datenblöcke in Merkerbereich übertragen Beispiele Beispiel 1: Vor Aufruf des Programmbausteins PB 12 sind alle Merker (MB 0 bis MB 255) in den Datenbaustein DX 37 ab Adresse 100 zu retten und anschließend wieder zurückzuschreiben. Retten: Datenbaustein aufrufen 0,255 Merkerbereich MB 0 bis MB 255 Nummer des 1.
  • Seite 341 OB 191/193: Datenblöcke in Merkerbereich übertragen Fortsetzung von Beispiel 2: OB 1 OB 13 DB z OB 190 MB x - Retten DW a-b der MB MB y DB z OB 191 MB x - Zurückschreiben DW a-b MB y der MB Bild 6-9 Retten von Merkerbereichen bei Wechsel der Programmbearbeitungsebene...
  • Seite 342 OB 191/193: Datenblöcke in Merkerbereich übertragen Weitere Anwendungen für die Organisationsbausteine OB 190 bis 193 - Bei der CPU 928B werden Operationen zur Einzelbitverarbeitung (U, O, ON, UN, S, R, =), die auf den Merkerbereich zugreifen, wesentlich schneller bear- beitet als vergleichbare Operationen, die auf Datenbausteine zugreifen (vergleichen Sie hierzu z.
  • Seite 343: Ob 202 Bis 205: Mehrprozessor-Kommunikation

    OB 202 bis 205: Mehrprozessor-Kommunikation 6.20 OB 202 bis 205: Mehrprozessor-Kommunikation Eine detaillierte Anleitung zu diesen Sonderfunktions-Organisationsbau- steinen finden Sie in Kapitel 10. Die Sonderfunktions-Organisationsbausteine OB 200 und OB 202 bis OB 205 ermöglichen im Mehrprozessorbetrieb Datenübertragungen zwischen den einzelnen CPUs unter Verwendung des Koordinators KOR 923C.
  • Seite 344: Ob 216 Bis 218: Kachelzugriffe

    OB 216 bis 218: Kachelzugriffe 6.21 OB 216 bis 218: Kachelzugriffe Was sind Kacheln? Um im Adreßbereich des S5-Busses eine große Anzahl von Kommuni- kationsspeichern unterbringen zu können, ist ein Adreßbereich mit ei- ner Länge von 1024 bytes (reserviert sind 2048 bytes) 256-mal auf den Speicher abgebildet.
  • Seite 345: Wie Können Sie Auf Kacheln Zugreifen

    OB 216 bis 218: Kachelzugriffe Wie können Sie auf Kacheln Die Organisationsbausteine OB 216 bis OB 218 sowie einige STEP-5- zugreifen? Operationen (siehe Kapitel 9) ermöglichen den Zugriff auf sogenannte "Kacheln". Die Organisationsbausteine enthalten folgende Funktionen: • • OB 216: Schreiben eines Bytes/Wortes/Doppelwortes auf eine Kachel •...
  • Seite 346: Adreßbereiche Für Peripherie Auf Dem S5-Bus

    OB 216 bis 218: Kachelzugriffe Adreßbereiche für Periphe- rie auf dem S5-Bus Kachelgröße Belegter Adressraum 1024 Adressen (Byte- oder F400H - F7FFH Wortadressen) 2048 Adressen (Byte- oder F400H - FBFFH Wortadressen) F000 P-Bereich F100 mehrfach vorhandener Speicherbereich Q-Bereich Größe: 1024 oder 2048 byte F200 Kachel Nr.
  • Seite 347: Hinweise Zur Parametrierung

    OB 216 bis 218: Kachelzugriffe Welche der insgesamt 256 Kacheln verwendet werden soll, geben Sie bei der Parametrierung der Sonderfunktions-Organisationsbausteine OB 216, OB 217 und OB 218 an. Die Nummer der "aktuellen" Kachel wird dar- aufhin automatisch in eine Zelle mit der Adresse 0FEFFH eingetragen (siehe Bild 6-11).
  • Seite 348: Ob 216: Schreiben Auf Eine Kachel

    OB 216 bis 218: Kachelzugriffe 6.21.1 OB 216: Schreiben auf eine Kachel Funktion Der Sonderfunktions-Organisationsbaustein überträgt ein Byte, Wort oder Doppelwort vom AKKU 1 (rechtsbündig) zu einer be- stimmten Kachel. Das Adressieren der Kachel im Ein- oder Mehrprozessorbetrieb und das Übertragen des vollständigen Datums (1, 2 oder 4 byte) bilden eine untrennbare Programmeinheit, die nicht unterbrochen werden kann.
  • Seite 349 OB 216 bis 218: Kachelzugriffe Akku-Belegung vor dem Schreiben: High-Word Low-Word High-Byte Low-Byte High-Byte Low-Byte AKKU 4 Längen-Kennung Kachel-Nummer 0 bis 255 0: Byte (8 bit) AKKU 3 1: Wort (16 bit) 2: Doppelwort (32 bit) Adresse (relativ zum Kachel-Anfang) 0 ...
  • Seite 350: Ob 217: Lesen Aus Einer Kachel

    OB 216 bis 218: Kachelzugriffe • • Fehlerfälle falsche Längenkennung in AKKU-3-LH, • • Zieladresse auf der Kachel falsch oder nicht vorhanden, • • angegebene Kchel-Nr. nicht vorhanden. 6.21.2 OB 217: Lesen aus einer Kachel Funktion Der Sonderfunktions-Organisationsbaustein überträgt ein Byte, Wort oder Doppelwort von einer bestimmten Kachel zum AKKU 1 (rechts- bündig).
  • Seite 351 OB 216 bis 218: Kachelzugriffe Akku-Belegung vor dem Lesen: High-Word Low-Word High-Byte Low-Byte High-Byte Low-Byte AKKU 4 Längen-Kennung Kachel-Nummer 0: Byte (8 bit) 0 bis 255 AKKU 3 1: Wort (16 bit) 2: Doppelwort (32 bit) Adresse (relativ zum Kachel-Anfang) 0 + 1 ...
  • Seite 352: Ob 218: Belegen Einer Kachel

    OB 216 bis 218: Kachelzugriffe • • Das Lesen der Kachel ist nicht möglich: alle Akkus: werden nicht verändert, VKE: = 0, restliche Bit- und Wort- anzeigen: werden gelöscht. • • Fehlerfälle falsche Längenkennung in AKKU-3-LH, • • Quelladresse auf der Kachel falsch oder nicht vorhanden, •...
  • Seite 353 OB 216 bis 218: Kachelzugriffe Akku-Belegung vor Aufruf des OB 218: Low-Word High-Word High-Byte Low-Byte High-Byte Low-Byte Kachel-Nummer AKKU 2 0 bis 255 Adresse (relativ zum Kachel-Anfang) AKKU 1 0 bis 2047 24 23 Bild 6-15 Inhalte der AKKUs vor Aufruf des OB 218 •...
  • Seite 354: Programmierbeispiel

    OB 216 bis 218: Kachelzugriffe 6.21.4 Programmierbeispiel Aufgabenstellung: Vom DB 45 einer CPU 928B sollen die Datenwörter 4 bis 11 über den KOR 923C in den DX 45 (Datenwörter 0 bis 7) einer zweiten CPU 928B übertragen werden. Die Synchronisation zwischen Sender und Empfänger (im Mehrprozessorbetrieb) geschieht mittels OB 218.
  • Seite 355 OB 216 bis 218: Kachelzugriffe Fortsetzung des Beispiels: STEP-5-Operationen im EMPFÄNGER: Kachelnummer Koordinierungszelle :SPA OB Kachelbelegung durch 2. CPU :SPB =M002 Wenn VKE = 1, Sprung auf Marke :BEA M002 :AX Ziel-Datenbaustein 2,255 :ENT AKKU 3 beschreiben AKKU 2 beschreiben :SPA OB Lesen 1.
  • Seite 356: Ob 220: Vorzeichenerweiterung

    OB 220: Vorzeichenerweiterung 6.22 OB 220: Vorzeichenerweiterung Anwendung Eine Vorzeichenerweiterung ist notwendig, um eine negative 16-bit- Festpunktzahl vor einer Festpunkt-Gleitpunkt-Wandlung (32-bit, Ope- ration FDG) zu einer 32-bit-Festpunktzahl zu erweitern. Funktion Diese Sonderfunktion erweitert das Vorzeichen einer 16-bit-Festpunkt- zahl im AKKU-1-L auf das höherwertige Wort (AKKU-1-H): •...
  • Seite 357: Ob 221: Zyklusüberwachungszeit Einstellen

    OB 221: Zyklusüberwachungszeit einstellen 6.23 OB 221: Zyklusüberwachungszeit einstellen Funktion Durch Aufruf dieser Sonderfunktion können Sie die Zyklusüberwa- chungszeit ändern und damit die maximal zulässige Zykluszeit neu festlegen. Standardmäßig ist die Zyklusüberwachungszeit auf 150 ms eingestellt. Mit diesem Aufruf wird gleichzeitig der Timer für die Über- wachung neu gestartet: Die maximal zulässige Zykluszeit für den Zy- klus, in dem der OB 221 aufgerufen wird, verlängert sich um den neu eingestellten Wert, vom Zeitpunkt des Sonderfunktionsaufrufes an ge-...
  • Seite 358: Ob 222: Zyklusüberwachungszeit Neu Starten

    OB 222: Zyklusüberwachungszeit neu starten 6.24 OB 222: Zyklusüberwachungszeit neu starten Funktion Die Sonderfunktion OB 222 bewirkt ein Nachtriggern der Zyklusüber- wachungszeit, d. h. der Timer für die Überwachung wird neu gestartet. Durch Aufruf dieser Sonderfunktion wird die maximal zulässige Zy- kluszeit für den aktuellen Zyklus um den eingestellten Wert vom Zeit- punkt des Aufrufs an verlängert.
  • Seite 359: Ob 223: Anlaufarten Vergleichen

    OB 223: Anlaufarten vergleichen 6.25 OB 223: Anlaufarten vergleichen Funktion Durch Aufruf des OB 223 wird im Mehrprozessorbetrieb überprüft, ob die Anlaufarten aller beteiligten CPUs gleich sind. Hinweis Der OB 223 darf erst dann aufgerufen werden, wenn alle CPUs ihren Anlauf beendet haben. Bei eingeschalteter Anlaufsynchronisation (DX 0) ist dies durch Aufruf des OB 223 im Betriebszustand RUN gewährleistet.
  • Seite 360: Ob 224: Koppelmerker Blockweise Übertragen

    OB 224: Koppelmerker blockweise übertragen 6.26 OB 224: Koppelmerker blockweise übertragen Funktion Die Übertragung der Koppelmerker erfolgt am Ende jedes Programm- zyklus. Im Einzelprozessorbetrieb werden die Koppelmerker jeweils komplett als Datenblock zum Speicher auf dem Koordinator (KOR) oder dem CP und /oder aus diesem Speicher in die Merker der CPU übertragen.
  • Seite 361: Ob 226: Wort Aus Dem Systemprogramm Lesen

    OB 226: Wort aus dem Systemprogramm lesen 6.27 OB 226: Wort aus dem Systemprogramm lesen Funktion Das Systemprogramm der CPU hat eine Länge von 128 x 2 Wörtern und liegt in einem Speicherbereich, auf den Sie mit STEP-5-Anwei- sungen keinen Zugriff haben. Mit Hilfe des OB 226 können Sie je- doch auch aus diesem Speicherbereich einzelne Datenwörter lesen.
  • Seite 362: Ob 227: Quersumme Des Systemprogramms Lesen

    OB 227: Quersumme des Systemprogramms lesen 6.28 OB 227: Quersumme des Systemprogramms lesen Anwendung Sie können während der zyklischen Programmbearbeitung den Inhalt des Systemprogramms prüfen, indem Sie • • die einzelnen Speicherzellen des Systemprogramms von Adresse 0H bis Adresse 1DFFFH mit Hilfe des OB 226 lesen, •...
  • Seite 363 OB 227: Quersumme des Systemprogramms lesen Beispiel Quersumme des Systemprograms überprüfen Zur Überprüfung der Checksumme des Systemprogramms wird der Funktionsbaustein FB 111 programmiert. Dieser bildet von den Inhalten aller Systemprogram- Speicherwörter die Quersumme und vergleicht diese über den OB 227 mit der im Systemspeicher hinterlegten Quersumme des Systemprogramms.
  • Seite 364: Ob 228: Statusinformation Einer Programmbearbeitungsebene Lesen

    OB 228: Statusinformation einer Programmbearbeitungsebene lesen 6.29 OB 228: Statusinformation einer Programmbearbeitungsebene lesen Funktion Beim Auftreten von bestimmten Ereignissen ruft das Systempro- gramm die dazugehörige Programmbearbeitungsebene auf. Die Pro- grammbearbeitungsebene ist damit "aktiviert". Mit Hilfe des Organisationsbausteins OB 228 können Sie feststellen, ob zu einem Zeitpunkt eine bestimmte Programmbearbeitungsebene aktiviert ist oder nicht.
  • Seite 365 OB 228: Statusinformation einer Programmbearbeitungsebene lesen Ergebnis - AKKU-1-L: enthält die Stausinformation: = 0 → Programmbearbeitungsebene ist nicht aufgerufen ≠ 0 → Programmbearbeitungsebene ist aktiviert - AKKU-2-L: enthält den vorherigen Inhalt des AKKU-1-L; der vorherige Inhalt von AKKU-2-L geht verloren. Fehlerfälle keine Beispiel...
  • Seite 366: Ob 230 Bis 237: Funktionen Für Standard-Funktionsbausteine

    OB 230 bis 237: Funktionen für Standard-Funktionsbausteine 6.30 OB 230 bis 237: Funktionen für Standard-Funktionsbausteine Die Sonderfunktions-Organisationsbausteine OB 230 bis OB 237 sind für Hantierungsfunktionen reserviert und können nur innerhalb der Standard-Funktionsbausteine FB 120 bis FB 127 aufgerufen werden. Hantierungsbausterine Diese Standard-Funktionsbausteine –...
  • Seite 367: Ob 240 Bis 242: Sonderfunktionen Für Schieberegister

    OB 240 bis 242: Sonderfunktionen für Schieberegister 6.31 OB 240 bis 242: Sonderfunktionen für Schieberegister 6.31.1 Schieberegister In der nachfolgenden Einführung erfahren Sie, wozu Sie Schieberegi- ster anwenden können und was Sie dabei beachten müssen. Anwendung Schieberegister können dazu benutzt werden um z. B. in einem Ferti- gungsbetrieb mit dem Automatisierungsgerät eine Materialverfolgung zu programmieren.
  • Seite 368: Initialisieren

    OB 240 bis 242: Sonderfunktionen für Schieberegister Zeiger 1 Z eiger 2 Z eiger 3 Merkerbit 0 Merkerbit 1 Merkerbit 2 Merkerbit 3 Merkerbit 4 Merkerbit 5 Merkerbit 6 Merkerbit 7 Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7...
  • Seite 369 OB 240 bis 242: Sonderfunktionen für Schieberegister Beispiel Die Bilder 6-17 und 6-18 zeigen das Verschieben der Information innerhalb eines Schieberegisters mit 3 Zeigern und 12 Speicherzellen. Vor Aufruf der Sonderfunktion werden in den Zeigern (Merkern) bestimmte Bits zur Kennzeichnung der Zeigerinformation gesetzt: Merkerbit 0 von Zeiger 1 setzen :S M 0.0 Merkerbit 3 von Zeiger 2 setzen...
  • Seite 370: Organisationsbausteine

    OB 240 bis 242: Sonderfunktionen für Schieberegister Fortsetzung des Beispiels Die Information, die sich jetzt in den Zeigern befindet, können Sie auswerten :L MB 0 usw. Merkerbit 0, 3 und 2 lassen sich am Basiszeiger abfragen: Auf diese Weise kann die gesamte Information, die aus den Einträgen in allen Zeigern stammt, am Basiszeiger ausgewertet wer Organisationsbausteine...
  • Seite 371: Ob 240: Schieberegister Initialisieren

    OB 240 bis 242: Sonderfunktionen für Schieberegister 6.31.2 OB 240: Schieberegister initialisieren Anwendung Vor der Bearbeitung eines Schieberegisters muß dieses zuerst initiali- siert werden. Dazu wird einmalig - zweckmäßigerweise in einem An- lauf-Organisationsbaustein - der OB 240 aufgerufen. Die Parameter, die der OB 240 zum Einrichten eines bestimmten Schieberegisters benötigt, stehen in einem Datenbaustein mit der Num- mer des zu initialisierenden Schieberegisters.
  • Seite 372 OB 240 bis 242: Sonderfunktionen für Schieberegister Die einzelnen Datenwörter müssen folgendermaßen belegt werden: Datenwort 0 Muß immer den Inhalt 0 haben. Datenwort 1 Die Schieberegisterlänge L ist die Anzahl (in Bytes) der Speicherzellen des Schieberegisters. Sie kann im Bereich 2 ≤ L ≤ 256 liegen. Datenwort 2 Die Nummer des ersten Merkerbytes legt den Basiszeiger fest und da- mit den Merkerblock, der den Zeigern zugeordnet wird.
  • Seite 373 OB 240 bis 242: Sonderfunktionen für Schieberegister Hinweis Die Anzahl der Zeiger (maximal 6 inklusive Basiszeiger) darf nicht größer sein als die Länge des Schieberegisters! Der Abstand eines Zeigers zum Basiszeiger darf nicht größer sein als die Länge des Schieberegisters. Das Datenwort DW 0 und das Datenwort nach dem letzten Zeigerabstand müssen immer den Inhalt 0 haben.
  • Seite 374: Ob 241: Schieberegister Bearbeiten

    OB 240 bis 242: Sonderfunktionen für Schieberegister 6.31.3 OB 241: Schieberegister Der Sonderfunktions-Organisationsbaustein OB 241 bearbeitet ein bearbeiten Schieberegister, das zuvor durch den OB 240 initialisiert worden sein muß. In der CPU 928B können maximal 64 Schieberegister aufgerufen wer- den. Anwendung Vor dem Aufruf des OB 241 werden im Normalfall bestimmte Merker- bits in den Zeigern gesetzt/rückgesetzt.
  • Seite 375: Ob 242: Schieberegister Löschen

    OB 240 bis 242: Sonderfunktionen für Schieberegister 6.31.4 OB 242: Schieberegister löschen Funktion Mit dieser Funktion wird ein Schieberegister im Datenbaustein-RAM "gelöscht": der Eintrag in der Adressliste DB 0 wird gelöscht und das entsprechende Schieberegister im DB-RAM für ungültig erklärt (Ach- tung: Auch gelöschte Schieberegister belegen weiterhin Speicher- platz!).
  • Seite 376: Ob 250/251: Regelung/ Pid-Algorithmus

    OB 250/251: Regelung/ PID-Algorithmus 6.32 OB 250/251: Regelung/ PID-Algorithmus In der CPU 928B des AG 135U können Sie einen oder mehrere PID- Regler aufrufen. Jeder Regler muß im Anlauf-Organisationsbaustein in- itialisiert werden. Zur Übergabe von Parametern wird ein Datenbau- stein verwendet. Der eigentliche Regel-Algorithmus ist im Systemprogramm integriert und vom Anwender lediglich als Organisationsbaustein aufrufbar.
  • Seite 377 OB 250/251: Regelung/ PID-Algorithmus Index k k-te Abtastung Schalter Stellung Wirkung STEU-BIT 1 Dem Differenzierer wird die Regel- differenz XW zugeführt. Dem Differenzierer kann über XZ ein anderes Signal zugeführt werden. STEU-BIT 0 Handbetrieb Automatik STEU-BIT 3 Stellungs-Algorithmus Geschwindigkeits-Algorithmus STEU-BIT 5 Mit Störgrößenaufschaltung Ohne Störgrößenaufschaltung Steuerwort STEU...
  • Seite 378: Begrenzung Der Stellinormation

    OB 250/251: Regelung/ PID-Algorithmus Invertierter Reglersinn Wenn ein invertierter Reglersinn gefordert wird, ist ein negativer K- Wert vorzugeben. Begrenzung der Wenn die Stellinformation (dY oder Y) an einer Begrenzung liegt, Stellinormation wird der I-Anteil automatisch abgeschaltet, um eine Verschlechterung des Reglerverhaltens zu vermeiden. Das Reglerprogramm kann durch Vorgabe von Festwerten oder über adaptive (dynamische) Vorgabe von Parametern (K, R, TI, TD) ver- sorgt werden.
  • Seite 379 OB 250/251: Regelung/ PID-Algorithmus = (XW - XW = TI ⋅ XW TI = ( TD ⋅ QU + dD TD = − Wenn als Reglerausgang zum Zeitpunkt t die Stellgröße Y wünscht wird, wird sie nach folgender Formel gebildet: ∑...
  • Seite 380 OB 250/251: Regelung/ PID-Algorithmus Aufbau des Übergabe-Datenbausteins Tabelle 6-10 Übergabe-Datenbaustein für PID-Regelung Adr. Name Zahlen- Bemerkung im DB format Format DW 0 – – – – Reserve DD 1 Proportionalbeiwert K >0: Positiver Regelsinn d.h. gleichsinnige Änderung von Sollwert und Stellgröße K <0: Negativer Regelsinn;...
  • Seite 381 OB 250/251: Regelung/ PID-Algorithmus Adr. Name Zahlen- Bemerkung im DB format Format Fortsetzung der Tabelle 6-10: DW 24 ≤ Störgröße (-1 <1) DD 25 Störgrößeneingabe hier, wenn STEU-Bit 7 = 1 ≤ <1) DD 27 – Vergangenheitswert der Störgröße DW 29 Über den Eingang XZ dem Differenzierer zugeführte ≤...
  • Seite 382: Beispiel Für Begrenzungswerte

    OB 250/251: Regelung/ PID-Algorithmus Beispiel für Begrenzungswerte - Begrenzungswerte Oberer Begrenzungswert = 0,1 Unterer Begrenzungswert = -0,1 - Einträge in den DB: DD 14: +1000 000 DD 16: -1000 000 - Ausgangsgröße wird begrenzt: ±3 276 DW 48: ± 0,1 DD 15: Anmwerkung: Für Begrenzungswerte außerhalb 1 wird die Ausgangsgröße im GP-Format begrenzt...
  • Seite 383 OB 250/251: Regelung/ PID-Algorithmus Belegung des Steuerwortes STEU (Datenwort DW 11 im Übergabe-DB) Tabelle 6-11 Steuerwort im Übergabe-DB DW 11 Name Bedeutung Bit-Nr. 11.0 AUTO = 1: Automatikbetrieb = 0: Handbetrieb 11.1 XZ_EIN = 1: Dem Differenzierer wird über den XZ-Eingang eine andere Größe zugeführt,die nicht XW sein darf.
  • Seite 384: Ob 250: Pid-Algorithmus Initialisieren

    OB 250/251: Regelung/ PID-Algorithmus DW 11 Name Bedeutung Bit-Nr. Fortsetzung der Tabelle 6-11: 11.7 VAR_GP = 1: Die Variablen X , XZ und Z werden als Gleitpunktzahl ein- gegeben. = 0: Eingabe der Variablen als Linkspunktzahl 11.8 STOS = 1: keine stoßfreie Hand-Automatik-Umschaltung = 0: stoßfreie Hand-Automatik-Umschaltung...
  • Seite 385: Ob 251: Pid-Algorithmus Bearbeiten

    OB 250/251: Regelung/ PID-Algorithmus Hinweis Wenn bei der Initialisierung der DB x + 1 nicht freigehalten war, wird dieser ohne Meldung vom Systemprogramm als Regler- datenfeld verwendet, sofern er die gleiche Länge hat wie ein Regler-DB (48 Datenwörter); dabei werden die Datenwörter 20 bis 48 gelöscht.
  • Seite 386: Format Der Reglereingänge Und -Ausgänge

    OB 250/251: Regelung/ PID-Algorithmus Format der Reglereingänge Der PID-Regelalgorithmus verwendet intern zur Zahlendarstellung das und -ausgänge Gleitpunktformat und kann mit Gleitpunktwerten versorgt werden. Eine Versorgung des PID-Regelalgorithmus im Linkspunktformat ist eben- falls möglich (siehe dazu Bit 6 und 7 im Steuerwort STEU). In diesem Fall wandelt der Regler bei jedem Aufruf selbständig die Wörter ins Gleitpunktformat um.
  • Seite 387: Allgemeine Hinweise

    OB 250/251: Regelung/ PID-Algorithmus Allgemeine Hinweise Verwendung von STOS Wenn STOS (STEU-Bit 8) auf Null steht, verläuft die Umschaltung von Hand- auf Automatikbetrieb stoßfrei; d. h. eine anstehende, belie- big große Regeldifferenz wird nur über den I-Anteil ausgeregelt. Wenn jedoch TI = TA/TN = 0 gewählt wird (P- oder PD-Regler), ver- ursacht die Regeldifferenz bei der Umschaltung keine Änderung der Stellgröße.
  • Seite 388: Reglerkenngrößen

    OB 250/251: Regelung/ PID-Algorithmus Reglerkenngrößen P-Regler Die Kenngröße für einen P-Regler ist K. Sie ist der Quotient aus Aus- gangs- und Eingangsgröße: K = Xa/Xe. t = 0 t = 0 PI-Regler Die Kenngrößen für einen PI-Regler sind der Proportionalbeiwert K und die Nachstellzeit TN.
  • Seite 389: Parameteränderung

    OB 250/251: Regelung/ PID-Algorithmus PID-Regler Die Kenngröße für einen PID-Regler sind der Proportionalbeiwert K, die Nachstellzeit TN und die Vorhaltezeit TV. Sie bestimmen jeweils das P-, I- und D-Verhalten. Parameteränderung Der P-Anteil der Stellgröße wird nach folgender Formel gebildet: P-Anteil = - XW Wird KP oder R im Automatikbetrieb geändert, wirkt sich dies nur auf nachfolgende Änderungen der Regeldifferenz XW...
  • Seite 390: Linkspunktzahl

    OB 250/251: Regelung/ PID-Algorithmus Linkspunktzahl Zur Darstellung einer Linkspunktzahl im Datenbaustein wird ein Wort benötigt. Die Zuordnung zwischen dezimal dargestellter Linkspunkt- zahl, dual dargestellter Linkspunktzahl und der Darstellung im Format KF am Programmiergerät ist im folgenden Beispiel dargestellt. Tabelle 6-12 Linkspunktzahlen Linkspunktzahl in Festpunktzahl...
  • Seite 391: Ob 254/255: Einen Datenbaustein Verschieben/Duplizieren

    OB 254/255: Einen Datenbaustein verschieben/duplizieren 6.33 OB 254/255: Einen Datenbaustein verschieben/duplizieren Mit den Sonderfunktionen OB 254/255 übertragen Sie einzelne Daten- bausteine vom Anwenderspeicher in das DB-RAM(Datenbausteinspei- cher) der CPU. Die Sonderfunktionen OB 254 und OB 255 laufen identisch ab, wobei der OB 254 ausschließlich für DX-Datenbausteine und der OB 255 für DB-Datenbausteine zuständig ist.
  • Seite 392 OB 254/255: Einen Datenbaustein verschieben/duplizieren Parameter 1. AKKU-1-L-L Nummer des zu kopierenden Bausteins, zulässige Werte: 0 bis 255 (0 nur für DX oder Dupli- zieren eines DBs) 2. AKKU-1-H-L Mit dem Wert in AKKU-1-H-L legen Sie fest, ob Sie einen Baustein verschieben oder duplizieren wollen: AKKU-1-H-L = 0: Der Datenbaustein DB (Aufruf OB 255) oder DX (Aufruf OB 254)
  • Seite 393 OB 254/255: Einen Datenbaustein verschieben/duplizieren Beispiel Es wird angenommen, daß im Anwenderspeicher die Datenbausteine DB 3 und DB 4 definiert sind. Im DB-RAM soll außer DB 0 noch kein Datenbaustein DB vorhanden sein. Die nachfolgende Tabelle zeigt Ihnen, welche Speicherbelegung nach mehrmaligem Aufruf von OB 255 mit den in der Tabelle aufgeführten Parametern ergibt.
  • Seite 394 OB 254/255: Einen Datenbaustein verschieben/duplizieren Programmieranleitung CPU 928B 6 - 128 C79000-B8500-C898, 01...
  • Seite 395: Inhalt Von Kapitel

    Erweiterter Datenbaustein DX 0 Inhalt von Kapitel 7 Anwendung ............. 7 - 4 Aufbau des DX 0 .
  • Seite 396 Inhalt Programmieranleitung CPU 928B 7 - 2 C79000-B8500-C898, 01...
  • Seite 397: Erweiterter Datenbaustein Dx 0

    Erweiterter Datenbaustein DX 0 Im nachfolgenden Kapitel erfahren Sie, wofür Sie den Datenbaustein DX 0 einsetzen können und wie er aufgebaut ist. Sie werden informiert, welche Bedeutung die verschiedenen DX-0-Parameter haben, und Sie ler- nen an Hand von Beispielen, wie Sie einen Datenbaustein DX 0 erstellen bzw.
  • Seite 398: Anwendung

    Anwendung Anwendung Als Anwender können Sie bestimmte Leistungen des Systempro- gramms Ihren Erfordernissen anpassen, wenn Sie im DX 0 alternativ zu den Standard-Voreinstellungen (in der Parameter-Tabelle mit "V" gekennzeichnet) durch Parametereingabe andere Einstellungen vor- nehmen. Die Voreinstellungen des Systemprogramms (V) werden automatisch bei jedem NEUSTART gesetzt.
  • Seite 399: Aufbau Des Dx 0

    Aufbau des DX 0 Aufbau des DX 0 Der DX 0 setzt sich aus drei Teilen zusammen: • • der Anfangskennung für den DX 0 (DW 0, 1 und 2) • • mehreren Blöcken unterschiedlicher Länge (je nach Parameteran- zahl) •...
  • Seite 400 Aufbau des DX 0 Formaler Aufbau: Bit-Nr. ASCII- zeichen: Blockkennung 1 Blocklänge 1 Parameter Block 1 Parameter Parameter Blockkennung 2 Blocklänge 2 Block 2 Parameter Blockkennung n Blocklänge n Parameter Block n Parameter Parameter DW m Endekennung Bild 7-1 Aufbau des DX 0 Programmieranleitung CPU 928B 7 - 6 C79000-B8500-C898-01...
  • Seite 401: Beispiel Für Eingabe Des Dx 0

    Aufbau des DX 0 7.2.1 Beispiel für Eingabe des DX 0 Anfangskennung DW 0: KH = 4D41 DW 1: KH = 534B DW 2: KH = 5830 Blockkennung/-länge DW 3: KH = 0101 Block 1 Parameter (belegt 1 DW) DW 4: KH =1001 Blockkennung/-länge DW 5:...
  • Seite 402: Parameter Für Dx 0

    Parameter für DX 0 Parameter für DX 0 Tabelle 7-1 DX-0-Parameter und ihre Bedeutung Block- Parameter Bedeutung kennung/-länge 1. Wort/2. Wort ANLAUF und RUN 02xx 1000 V AUTOMATISCHER WIEDERANLAUF nach NETZ EIN 1001 AUTOMATISCHER NEUSTART nach NETZ EIN 2000 V Synchronisation ANLAUF im Mehrprozessorbetrieb 2001 Keine Synchronisation ANLAUF im Mehrprozessor- betrieb...
  • Seite 403 Parameter für DX 0 Block- Parameter Bedeutung kennung/-länge 1. Wort/2. Wort Fortsetzung 1 der Tabelle 7-1: Alarmbearbeitung: Weckalarme 06xx Auswahl des Bearbeitungs-Modus 2000 V Prozeßalarm-Signal, pegelgetriggert 2001 Prozeßalarm-Signal, flankengetriggert Fehlerbehandlung 10xx Weckfehlerbehandlung: 1000 V Systemstopp, wenn Ereignis eintritt und der OB 33 nicht geladen ist.
  • Seite 404 Parameter für DX 0 Block- Parameter Bedeutung kennung/-länge 1. Wort/2. Wort Fortsetzung 2 der Tabelle 7-1: 10xx Adressierfehlerbehandlung: 1C00 V Systemstopp, wenn Ereignis eintritt und der OB 25 nicht geladen ist. 1C01 Kein Systemstopp, wenn Ereignis eintritt und der OB 25 nicht geladen ist. Quittungsverzugsfehlerbehandlung: 1E00 Systemstopp, wenn Ereignis eintritt und der OB 23/24...
  • Seite 405 Parameter für DX 0 • • Standardmäßig werden die Zeitzellen T 0 bis T 255 aktualisiert. Aktualisierung der Zeitzellen • • Wenn Sie im DX 0 die Anzahl ’0’ eintragen, werden keine Zeitzel- len aktualisiert, auch dann nicht, wenn Sie im Programm enthalten sind.
  • Seite 406: Parameter Für Dx

    Parameter für DX 0 Parameter für die Aus der folgenden Tabelle können Sie für Ihre Alarmbearbeitung den Alarmbearbeitung passenden Parameter heraussuchen und den DX 0 damit program- mieren. Je nachdem, welchen Parameter Sie wählen, sind entspre- chend den Symbolen bestimmte (oder alle) Alarme an Bausteingrenzen, andere (oder alle) an Befehlsgrenzen wirksam: Para- W e c k a l a r m e...
  • Seite 407: Parametrierungsbeispiele

    Parametrierungsbeispiele Parametrierungsbeispiele 7.4.1 STEP-5-Programmierung Beispiel A: Sie wollen im Mehrprozessorbetrieb drei CPUs einsetzen: CPU A, B und C. CPU A und B arbeiten eng miteinander zusammen, tauschen häufig Daten aus und bearbeiten ein umfangreiches Anlaufprogramm. CPU C bearbeitet weitgehend unabhängig davon ein kurzes, zeitkritisches Programm. Standardmäßig beginnen im Mehrprozessorbetrieb alle CPUs gemeinsam mit der zyklischen Programmbearbeitung, d.h., die CPUs warten solange aufeinander, bis alle ihren Anlauf beendet haben, und gehen dann gemeinsam in die zyklische...
  • Seite 408 Parametrierungsbeispiele Beispiel B: Mit der folgenden Parametrierung des DX 0 wird - die Adressierfehler-Überwachung abgeschaltet, - die Zeitzellenaktualisierung abgeschaltet, - die Zykluszeit auf 4 s eingestellt. DX 0 Anfangskennung "MASKX0" DW 0: KH = 4D41 DW 1: KH = 534B DW 2: KH = 5830 1.
  • Seite 409: Parametrierung Über Pg-Maske

    Parametrierungsbeispiele 7.4.2 Parametrierung über PG- Für die Parametrierung des DX 0 stehen Ihnen bei der PG-Systemsoft- Maske ware S5-DOS (ab Version 3) Masken zur Verfügung. Die PG-Softwa- re generiert entsprechend den Parametervorbesetzungen und den von Ihnen eingegebenen Parametern automatisch den Datenbaustein DX 0. Für die Parametrierung werden zwei Masken benötigt.
  • Seite 410 Parametrierungsbeispiele Haben Sie die notwendigen Parametereinstellungen in der 1. Teilmaske durchgeführt oder finden Sie die zu ändernden Parameter dort nicht, so können Sie sich die zweite Teilmaske (Bild 7-3) mit folgender Parametergruppe anzeigen lassen: ADRESSIERFEHLER, ZYKLUSFEHLER, QUITTUNGSFEHLER, WECKFEHLER BEFEHLSCODEFEHLER, REGLERFEHLER, LAUFZEITFEHLER, PROZESSALARMBEARBEITUNG, UNTERBRECHBARKEIT DES ANWENDERPROGRAMMS...
  • Seite 411 Parametrierungsbeispiele Ablaufdiagramm zum Ausfüllen der DX-0-Masken: Sind in der 1. Teilmaske Parameter zu ändern ? NEIN Wiederholen Sie folgenden Vorgang sooft, bis Sie alle notwendigen Änderungen in der Teilmaske durchgeführt haben: - Eingabefeld anwählen: Schreibmarke vor das Parameterfeld positionieren. Das Anzeigefeld F3 am unteren Bildschirmrand zeigt an, ob Sie zwischen Alternativen auswählen (Anzeige "WAEHLEN") oder den Parameterwert verändern können (Anzeige "EINGEBEN").
  • Seite 412: Beispiel Zum Ausfüllen Der Dx-0-Maske

    Parametrierungsbeispiele Beispiel zum Ausfüllen der DX-0-Maske: Sie wollen den DX 0 für folgendes Verhalten des Systemprogramms abweichend von den Vorbesetzungen parametrieren: - Im Mehrprozessorbetrieb soll die CPU, für die der DX 0 programmiert wird, im Anlauf nicht warten bis die übrigen CPUs ihren Anlauf beendet haben. - Die Zyklusüberwachungszeit soll 100 ms betragen.
  • Seite 413: Speicherbelegung Und Speicherorganisation

    Speicherbelegung und Speicherorganisation Inhalt von Kapitel 8 Struktur des Speicherbereiches ..........8 - 4 Adreßraumaufteilung der CPU 928B .
  • Seite 414 Inhalt Programmieranleitung CPU 928B 8 - 2 C79000-B8500-C898, 01...
  • Seite 415: Speicherorganisation

    Speicherbelegung und Speicherorganisation In diesem Kapitel können Sie nachschlagen, wie der Speicher der CPU 928B organisiert ist. Sie finden ferner wichtige und für den An- wender zugängliche Informationen, die in einigen Systemdatenwör- tern hinterlegt sind. Programmieranleitung CPU 928B 8 - 3 C79000-B8500-C898, 01...
  • Seite 416: Struktur Des Speicherbereiches

    Struktur des Speicherbereiches Struktur des Speicherbereiches Der Speicherbereich in der CPU 928B enthält im wesentlichen folgen- de Bereiche: Tabelle 8-1 Struktur des Speicherbereiches Speicherbereich Länge Datenbreite Anwenderspeicher für: OB, FB, FX, PB, SB, DB, DX max. 32 Wörter 16 bit DB-RAM für: Datenbausteine, Schieberegister Wörter...
  • Seite 417: Adreßraumaufteilung Der Cpu 928B

    Adreßraumaufteilung der CPU 928B Adreßraumaufteilung der CPU 928B Bit-Nr.15 0000 Anwenderspeicher RAM- oder EPROM- max. 32 x 2 Wörter Module, steckbar in CPU 7FFF 8000 DB-RAM 23 x 2 Wörter DD7F DD80 DB 0 (Bausteinadreßlisten) E3FF E400 System-RAM, CPU-intern S-Merker (siehe auch Bild 8-2) E7FF E800...
  • Seite 418: Adreßraumaufteilung Des System-Rams

    Adreßraumaufteilung der CPU 928B 8.2.1 Adreßraumaufteilung des System-RAMs Bit-Nr. 8000 DB-RAM DD7F DD80 DB 0 E3FF E400 S-Merker E7FF E800 BA: Bereich Anschaltung E8FF E900 BB: Erweiterter Bereich Anschaltung E9FF EA00 BS: Bereich Systemdaten EAFF EB00 BT: Erweiterter Bereich Systemdaten EBFF EC00 Zähler (256)
  • Seite 419: Adreßraumaufteilung Der Peripherie

    Adreßraumaufteilung der CPU 928B 8.2.2 Adreßraumaufteilung der Peripherie Bit-Nr. 7 F000 Digitale Peripherie (mit PA), 1024 bit Eingänge / 1024 bit Ausgänge F07F P-Bereich F080 Digitale oder analoge Peripherie (ohne PA), 1024 bit Eingänge / 1024 bit Ausgänge F08F F100 Q-Bereich 2048 bit Erweiterte Peripherie F1FF...
  • Seite 420 Adreßraumaufteilung der CPU 928B Adreßbereiche für Peripherie und deren Programmierung Bereich Wird angesprochen Parameter (absolute Adresse) L EB / T EB bis 127 EF00 L EW / T EW bis 126 (Prozeßabbild L ED / T ED bis 124 EF7F Eingänge) / UN E / O E / ON E 0.0 bis 127.7...
  • Seite 421: Organisation Des Anwenderspeichers In Der Cpu 928B

    Organisation des Anwenderspeichers in der CPU 928B Organisation des Anwenderspeichers in der CPU 928B Der Anwenderspeicher umfaßt – abhängig vom gesteckten Speichermo- dul – den Speicherbereich von 0000H bis 7FFFH. Beim Laden der ein- zelnen Bausteine des Anwenderprogramms werden diese in beliebiger Reihenfolge im Speicher abgelegt (aufsteigende Adressen).
  • Seite 422: Bausteinköpfe Im Anwenderspeicher

    Organisation des Anwenderspeichers in der CPU 928B 8.3.1 Bausteinköpfe im Jeder Baustein im Speicher beginnt mit einem 5 Wörter langen Bau- Anwenderspeicher steinkopf. 1. Wort: Baustein-Anfangskennung: 7070H 2. Wort: High-Byte = Bausteintyp Bit-Nr. Datenbaustein DB Schrittbaustein SB Programmbaustein PB Funktionsbaustein FX Funktionsbaustein FB Datenbaustein DX Organisationsbaustein OB...
  • Seite 423: Bausteinadreßlisten Im Datenbaustein Db 0

    Organisation des Anwenderspeichers in der CPU 928B 8.3.2 Bausteinadreßlisten im Der Datenbaustein DB 0 enthält die Adreßiste mit den Anfangsadressen Datenbaustein DB 0 aller Anwenderbausteine, die sich im Speichermodul oder im DB-RAM der CPU befinden. Diese Adreßliste wird nach NETZ EIN vom System- programm bei NEUSTART aufgebaut, bei WIEDERANLAUF überprüft und bei jeder Eingabe oder Änderung von Bausteinen mit dem PG auto- matisch aktualisiert.
  • Seite 424: Ablage Der Bausteinadressen Im Db

    Organisation des Anwenderspeichers in der CPU 928B Ablage der Bausteinadressen im DB 0 n = Anfangsadresse der PB-Adreßliste (= Inhalt von BS 36) DB 0 Adresse PB 0 Adresse PB 1 Adresse PB 2 Adresse PB 178 Ist als Adresse der Wert ’0’ eingetragen, n+178 ist der Baustein nicht geladen Adresse PB 179...
  • Seite 425 Organisation des Anwenderspeichers in der CPU 928B Anfangsadresse und Länge des Datenbausteins DB 50 ermitteln a) über indirekten Speicherzugriff: BS 34 Basisadresse der DB-Adressliste laden KB 50 Die Adresse des Eintrags für den DB 50 errechnen und die Anfangsadresse :LIR 1 in den AKKU 1 laden KB 0 Bei nicht vorhandenem Baustein zur Marke...
  • Seite 426: Ba-/Bb-Bereich

    Organisation des Anwenderspeichers in der CPU 928B Fortsetzung des Beispiels (Adresse un Länge von DB 50): b) mit dem Sonderfunktionsorganisationsbaustein OB 181 "Datenbausteine (DB/DX) testen": Der OB 181 (siehe Abschnitt 6.16) führt dieselbe Funktion aus wie unter Beispiel 2a beschrieben. Er testet jedoch zusätzlich, ob der Datenbaustein im Anwenderspeicher (RAM- oder EPROM-Modul) oder im DB-RAM liegt.
  • Seite 427: Bs-/Bt-Bereich

    BS-/BT-Bereich 8.3.4 BS-/BT-Bereich BS- und BT-Bereich enthalten teils Informationen für den System- programmierer, teils systeminterne Daten. Der BS-Bereich ist ein 256 Wörter langer Bereich im internen System- RAM der CPU. Er belegt die Adressen EA00H bis EAFFH. Warnung Es dürfen ausschließlich die Systemdatenwörter BS 1, BS 60 bis BS 63, BS 133, BS 140 und BS 144 beschrieben werden: BS 60 bis BS 63 stehen für ihre eigenen Zwecke zur Verfügung.
  • Seite 428: Belegung Des Bs-Bereiches

    BS-/BT-Bereich Belegung des BS-Bereiches Bezeichnung Adr. Unterbrechungsanzeigenwort (STOER.URS.) EA00 Unterbrechungsanzeigenloeschwort (UALW) EA01 Unterbrechungsanzeigensammelwort (UAMK) EA02 EA03 Anlauf-Fehlererkennung-Anzeige EA04 Stopp-Kennungen Anlauf-Kennungen EA05 EA06 Zyklus-Kennungen Modul-Kennungen Urlösch-Kennungen Fehlerkennungen (H) EA07 Fehlerkennungen (L) Fehlerkennungen (M) EA08 Akt. Ident.-Nr. EA09 Basisadresse der Eingangssignalformer EA0A EA0B Basisadresse der Ausgangssignalformer EA0C...
  • Seite 429 BS-/BT-Bereich Länge der Bausteinkopf-Information EA1E CPU-Kennung 1 SW-Stand PG-Ansch. EA1F Basisadresse DX-Adreßliste EA20 Basisadresse FX-Adreßliste EA21 Basisadresse DB-Adreßliste EA22 Basisadresse SB-Adreßliste EA23 Basisadresse PB-Adreßliste EA24 Basisadresse FB-Adreßliste EA25 Basisadresse OB-Adreßliste EA26 EA27 EA36 Zähler für 1 Std. (bis 3599 sec, hex.) EA37 EA38 reserviert für Hantierungsbaustein...
  • Seite 430: Bitbelegung Der Systemdatenwörter

    Bitbelegung der Systemdatenwörter 8.3.5 Bitbelegung der System- datenwörter Systemdatum BS 0 Unterbrechungsanzeigenwort Adresse EA00H Tabelle 8-2 Belegung BS 0 (Unterbrechungsanzeigenwort) High-Byte Bit-Nr. Belegung MP-STP Low-Byte FE-3 STUEB STUEU WECK DOPP Das Systemdatum BS 0 entspricht der STOERUNGSURSACHE im USTACK. Tritt bei der Programmbearbeitung z. B ein Laufzeitfehler auf, wird das Bit Nr.
  • Seite 431 Bitbelegung der Systemdatenwörter Systemdatum BS 1 Unterbrechungsanzeigen-Löschwort UALW Adresse: EA01H BS 1: Aktive Schnittstelle, für Anwender freigegeben! Durch Setzen von Bit Nr. 9 bzw. Bit Nr. 10 des UALW erreichen Sie, daß der nächstfolgende ADF bzw. QVZ ignoriert wird und die laufen- de Programmbearbeitung dadurch nicht beeinflußt wird.
  • Seite 432: Beispiel Zum Ualw

    Bitbelegung der Systemdatenwörter Beispiel zum UALW In diesem Beispiel wird getestet, ob unter einer bestimmten Peripheriadresse eine Baugruppe ansprechbar ist. Ist die Baugruppe nicht vorhanden, wird mit Hilfe des UALW ein Quittungsverzug verhindert und ein für diesen Fall vorgesehenes Programm bearbeitet. Ebenso wird getestet, ob eine bestimmte Peripherieadresse im DB 1 eingetragen ist.
  • Seite 433 Bitbelegung der Systemdatenwörter Systemdatum BS 2 Unterbrechungsanzeigen-Sammelwort UAMK Adresse: EA02H Die 16 Bits des Unterbrechungsanzeigen-Sammelworts entsprechen den unter STOERUNGSURSACHE im USTACK aufgeführten mögli- chen Fehlerursachen. Bei Auftreten eines bestimmten Fehlers wird das dazugehörige Bit ge- setzt. Tabelle 8-4 Belegung BS 2 (Unterbrechungsanzeigen-Sammelwort) High-Byte Bit-Nr.
  • Seite 434: Beispiel Zum Uamk

    Bitbelegung der Systemdatenwörter Beispiel zum UAMK Geht die CPU aufgrund eines Adressierfehlers (ADF) in STOP, so wird im UAMK Bit Nr. 9 gesetzt. Wenn nun bei der Bearbeitung des ADF ein Befehlscodefehler (BCF) auftritt, wird im UAMK außerdem Bit Nr. 7 gesetzt. Inhalt des UAMK (binär): 00000010 10000000 Darstellung (hexadezimal) im USTACK:...
  • Seite 435 Bitbelegung der Systemdatenwörter Systemdatum BS 5 STOP- und ANLAUF-Kennungen Adresse: EA05H Die Kennungen entsprechen den Steuerbits in Zeile 1 und 2 des USTACK. Tabelle 8-5 Belegung BS 5 (STOP- und ANLAUF-Kennungen) High-Byte: STOP-Kennungen Bit-Nr. Belegung PRI-STP nicht belegt FE-STP BARB-END PG-STP STP-SCH STP-BEF...
  • Seite 436 Bitbelegung der Systemdatenwörter Systemdatum BS 6 ZYKLUS- und Modul-/MPL-Kennungen Adresse: EA06H Die Kennungen entsprechen den Steuerbits in Zeile 3 und 4 des USTACK. Tabelle 8-6 Belegung BS 6 (ZYKLUS- und Modul-/MPL-Kennungen) High-Byte: ZYKLUS-Kennungen Bit-Nr. Belegung nicht belegt EIN-PROZ BARB OB1-GEL FB0-GEL OB-PROZA OB-WECKA...
  • Seite 437 Bitbelegung der Systemdatenwörter BS 7 URLÖSCH-Kennungen/Fehlerkennungen Initialisieren Adresse: EA07H Die Kennungen entsprechen den Steuerbits in Zeile 5 und 6 des USTACK. Tabelle 8-7 Belegung BS 7 (URLÖSCH-/Fehler-Kennungen Initialisieren) High-Byte: URLÖSCH-Kennungen Bit-Nr. Belegung URGELOE URL-IA STP-VER ANL-ABB UA-PG UA-SYS UA-PRFE UA-SCH Low-Byte: Fehlerkennungen Initialisieren DX0-FE nicht belegt...
  • Seite 438 Bitbelegung der Systemdatenwörter BS 8 Fehlerkennungen HW/SW Adresse: EA08H Die Kennungen entsprechen den Steuerbits in Zeile 7 und 8 des USTACK. Tabelle 8-8 Belegung BS 8 (Fehlerkennungen HW/SW) Bit-Nr. High-Byte: Fehlerkennungen HW STUE-FE WECK-FE Bit-Nr. Low-Byte: Fehlerkennungen SW nicht belegt FE-5 Power-down-Fehler FE-3...
  • Seite 439 Bitbelegung der Systemdatenwörter BS 29 Steckplatzkennung/CPU-/AG-Typ Adresse: EA1DH Tabelle 8-9 Belegung BS 29 (Steckplatz-Kennung/CPU-/AG-Typ) Bit-Nr. High-Byte: Fehlerkennungen HW nicht belegt CPU Nr. 4 CPU Nr. 3 CPU Nr. 2 CPU Nr. 1 Bit-Nr. Low-Byte: Fehlerkennungen SW CPU-Typ AG-Typ BS 29 (high) Aktive Schnittstelle, wird von den Hantierungsbausteinen und bei der Mehrprozessorkommunikation sowie vom OB 218 und den Operatio- nen SES und SEF benutzt.
  • Seite 440 Bitbelegung der Systemdatenwörter BS 80 Adresse: EA50H (high und low) Hier steht eine zusätzliche Information zur Spezifizierung des aufgetre- tenen Fehlers, wenn das Bit Nr. 5 in BS 8 vom System gesetzt bzw. wenn das Steuerbit FE-5 in der USTACK-Ausgabe angekreuzt ist: Kennung in BS 80 Fehlerursache 2460H Ready-Signal auf S5-Bus steht dauernd an...
  • Seite 441 Bitbelegung der Systemdatenwörter BS 131 Anzeigenwort "Alarme gemeinsam sperren": siehe OB 120 (Abschnitt 6.5) Adresse EA83 (low) Das Systemdatum BS 131 zeigt Ihnen folgende Zustände der Programmbearbeitungsebenen "Alarmbearbeitung" an: Tabelle 8-10 Belegung BS 131 (Alarme gemeinsam sperren) Bit-Nr. Low-Byte: Alarme gemeinsam sperren Verzögerungsalarm Prozeßalarm uhrzeitgesteuerter Weckalarm...
  • Seite 442 Bitbelegung der Systemdatenwörter BS 133 Prozeßbildaktualisierung Adresse EA85 (low) Tabelle 8-12 Belegung BS 133 (Prozeßbildaktualisierung) Bit-Nr. Low-Byte: Prozeßbildaktualisierung nicht belegt KM-AUS KM-EIN DIGH-EIN DIG-AUS Bit-Nr. 0 = 0: Nächstes Prozeßabbild der digitalen Ausgänge wird ausgegeben. Bit-Nr. 0 = 1: Nächste Prozeßabbildaktualisierung der digitalen Ausgänge wird unterdrückt.
  • Seite 443 Bitbelegung der Systemdatenwörter BS 135 Anzeigenwort "Weckalarme einzeln sperren": siehe OB 121 (Abschnitt 6.6) Adresse EA87 Das Systemdatum BS 135 zeigt Ihnen folgende Zustände der Pro- grammbearbeitungsebenen "Weckalarmbearbeitung" an: Tabelle 8-13 Belegung BS 135 (Weckalarme einzeln sperren) Bit-Nr. High-Byte: Weckalarme einzeln sperren Weckalarm 5 s (OB 18) Weckalarm 2 s (OB 17) Weckalarm 1 s (OB 16)
  • Seite 444 Bitbelegung der Systemdatenwörter BS 137 Anzeigenwort "Weckalarme einzeln verzögern": siehe OB 123 (Abschnitt 6.8) Adresse EA89 Das Systemdatum BS 137 zeigt Ihnen folgende Zustände der Pro- grammbearbeitungsebenen "Weckalarmbearbeitung" an: Tabelle 8-14 Belegung BS 137 (Weckalarme einzeln verzögern) Bit-Nr. High-Byte: Weckalarme einzeln verzögern Weckalarm 5 s (OB 18) Weckalarm 2 s (OB 17) Weckalarm 1 s (OB 16)
  • Seite 445 Bitbelegung der Systemdatenwörter BS 140 Anzeigenwort "Bausteine Schreiben und Lesen" Adresse EA8C Das Systemdatum BS 140 zeigt Ihnen an, ob seit dem letzten URLÖ- SCHEN der CPU bzw. seit dem letzten Löschen des Systemdatums BS 140 Bausteine überschrieben, neu geladen oder gelöscht wurden. Für jeden Baustein werden die Bits für Veränderung und Bausteintyp dazugeodert.
  • Seite 446 Bitbelegung der Systemdatenwörter BS 144 "alternatives Laden von Datenbausteinen in das DB-RAM" Adresse EA90 Standardmäßig werden bei der CPU 928B alle Bausteine vom PG zu- erst in das Anwenderspeichermodul geladen. Erst wenn dort kein Platz mehr frei ist, werden Datenbausteine (DX, DX) und nur diese im DB- RAM abgelegt.
  • Seite 447 Speicherzugriffe über absolute Adressen Inhalt von Kapitel 9 Einführung ............. 9 - 4 Speicherzugriffe über Adresse in AKKU 1 .
  • Seite 448 Inhalt Programmieranleitung CPU 928B 9 - 2 C79000-B8500-C898, 01...
  • Seite 449 Speicherzugriffe über absolute Adressen In diesem Kapitel erfahren Sie, wie Sie mit Hilfe von STEP-5-Opera- tionen und speziellen STEP-5-Registern Daten in bestimmten Spei- cherbereichen über Absolutadressen ansprechen können. Programmieranleitung CPU 928B 9 - 3 C79000-B8500-C898-01...
  • Seite 450: Einführung

    Einführung Einführung Die Programmiersprache STEP 5 enthält Operationen, mit denen Zu- griffe auf den gesamten Adreßraum möglich sind. Diese Operationen gehören zu den "Systemoperationen". Warnung Bei einer nicht sachgerechten Anwendung dieser Operationen können STEP-5-Bausteine und Systemdaten überschrieben werden. Dies kann unerwünschte Betriebszustände zur Folge haben.
  • Seite 451 Einführung intern, lokal, mehrfach vorhanden (entsprechend der Anzahl gesteckter CPUs) extern, global, über S5-Bus, einfach vorhanden (je Automatisierungsgerät) 0000H 0000H EDFFH EE00H EFFFH F000H F400H F400H FC00H Kacheln 1024 byte/Wörter FEFFH 2048 byte/Wörter FFFFH Kachel-Adreßregister (Select-Register) Bild 9-1 Globaler und lokaler Speicher Programmieranleitung CPU 928B 9 - 5 C79000-B8500-C898-01...
  • Seite 452 Einführung Speicherzugriffe Die folgenden Operationen ermöglichen Zugriffe auf lokale bzw. glo- bale Speicherbereiche über absolute Adressen (siehe auch Bild 9-2). Zugriffe auf den Lokal- Sie können sowohl auf den Lokal- als auch auf den Globalbereich zu- und Globalbereich greifen: • • auf Lokalbereich (Adressen 0000H bis EFFFH) und den byteweise organisierten Teil des Globalbereichs (Adressen F000H bis F3FFH, FC00H bis FFFFH) mit:...
  • Seite 453 Einführung kein Zugriff m öglich Zugriff m öglich a ) L IR, T IR, T NB, T NW b) LRW, T RW, LRD, T RD c) LB GB, LB GW, LB GD d) LW GW, LW GD T B GB, T B GW, T B GD, ( T SG) T W GW, T W GD, ( T SG) e) LB CB, LB CW, LB CD f) LW CW, LW CD,...
  • Seite 454: Speicherzugriffe Über Adresse In Akku 1

    Speicherzugriffe über Adresse in AKKU 1 Speicherzugriffe über Adresse in AKKU 1 Anwendung Die Register sind Betriebsmittel der CPU zum Bearbeiten des STEP-5-Programms. Jedes Register ist 16 bit breit. Mit den System- operationen LIR (Lade indirekt Register) und TIR (Transferiere indi- rekt Register) können Sie auf die Inhalte der Register zugreifen.
  • Seite 455: Lir/Tir: 16-Bit-Register Indirekt Laden/Transferieren

    Speicherzugriffe über Adresse in AKKU 1 9.2.1 LIR/TIR: 16-bit-Register Die folgende Tabelle zeigt Ihnen, welche Registernummern Sie bei indirekt laden/transferieren der CPU 928B für die Operationen LIR und TIR verwenden dürfen und wie diese belegt sind. Tabelle 9-2 16-bit-Register für LIR/TIR Register-Nr.
  • Seite 456 Speicherzugriffe über Adresse in AKKU 1 Die Bilder 9-3 und 9-4 zeigen Ihnen den Unterschied bei Zugriffen mit LIR/TIR auf wort-und byteweise orientierte Speicherbereiche: adressierte Register n Speicherzelle AKKU 1 LIR n adressierte Register n Speicherzelle AKKU 1 TIR n Bild 9-3 LIR/TIR auf 16-bit-Speicherbereiche (wortweise orientiert) adressierte...
  • Seite 457: Register 0 Bis 3 Und 9 Bis 12: Akku 1, 2, 3 Und 4

    Speicherzugriffe über Adresse in AKKU 1 Register 0 bis 3 und 9 bis Die Akkumulatoren werden von der CPU bei der Programmbear- 12: AKKU 1, 2, 3 und 4 beitung als Zwischenspeicher verwendet. Mit den Operationen TIR und LIR können Sie die Inhalte der AKKUs in absolut adressierte Speicher- zellen transferieren bzw.
  • Seite 458: Speicherzugriffe Über Adresse In Akku

    Speicherzugriffe über Adresse in AKKU 1 Es ändert sich, wenn • • ein anderer Datenbaustein aufgeschlagen wird oder • • ein Rücksprung in einen übergeordneten Baustein erfolgt nachdem im aufgerufenen Baustein ein neuer Datenbaustein aufgeschlagen wurde (siehe auch Abschnitt 2.4.3). Hinweis Im USTACK ist die im DBA-Register eingetragene Adresse unter ’DB-ADR’...
  • Seite 459 Speicherzugriffe über Adresse in AKKU 1 Beispiel 2: Durch Ändern von Register 6 wird das Datenwort DW 300 des Datenbausteins DB 100 geladen. FB 7 NAME: LIR/TIR6 BS 34 Anfangsadresse der DB-Adressliste plus 100 :ADD BF +100 ergibt Adresslisteneintrag des DB 100 :LIR 1 Anfangsadresse des DB 100 (DW 0) nach AKKU 1 :ADD KF +200...
  • Seite 460: Register 8: Dbl = Datenbaustein-Länge

    Speicherzugriffe über Adresse in AKKU 1 Register 8: Zusätzlich zum DBA-Register wird bei jedem Aufruf eines Datenbau- DBL = Datenbaustein- steins das DBL-Register geladen. Es enthält die Länge (in Wörtern) Länge des aufgerufenen Datenbausteins ohne Baustein-Kopf. Das DBL-Regi- ster wird vor jedem Aufruf des OB 1 oder FB 0 gleich ’0’ gesetzt. Das DBL-Register bleibt erhalten, wenn •...
  • Seite 461: Register 15: Saz = Step-Adreßzähler

    Speicherzugriffe über Adresse in AKKU 1 Beispiel Wirkung der Operation "AX DX 17" auf das DBL: D X 1 7 A d r e s s e n 4 1 5 1 B H 5 W ö r t e r 4 1 5 1 C H B a u s t e i n k o p f 4 1 5 1 D H...
  • Seite 462: Beispiele Für Die Anwendung Der Register

    Speicherzugriffe über Adresse in AKKU 1 9.2.2 Beispiele für die Anwen- dung der Register Beispiel 1: Alle Datenwörter eines Datenbausteins sollen mit einer Konstanten beschrieben werden. Das unten dargestellte Programm beschreibt alle Datenwörter des DB 50 mit der Konstanten KH = A5A5. Nach Ändern der fettgedruckten STEP-5-Befehle kann es auch zum Beschreiben anderer Datenbausteine (DB oder DX) mit beliebigen Werten benutzt werden.
  • Seite 463 Speicherzugriffe über Adresse in AKKU 1 Fortsetzung von Beispiel 1: WEIT : nachdem alle Datenwörter beschrieben wurden :BEA NIVO : . falls der DB 50 nicht vorhanden ist oder null Datenwörter enthält. Hinweis: Der Programmteil ab Marke "SCHL" kann zum Beschreiben beliebiger Speicherbereiche (z.
  • Seite 464: Speicherblöcke Transferieren

    Speicherblöcke transferieren Speicherblöcke transferieren Anwendung Mit den Systemoperationen TNB und TNW können Sie Speicherblök- ke transferieren (max. 255 byte mit TNB, max. 255 Wörter mit TNW). Sie können mit diesen Operationen sowohl auf den lokalen Speicher- bereich als auch auf den byteweise organisierten Teil des globalen Speicherbereichs (Adressen F000H bis F3FFH, FC00H bis FFFFH) zugreifen.
  • Seite 465 Speicherblöcke transferieren Adressen Speicherbereich Fortsetzung der Tabelle 9-4: System-RAM: 8000H bis DD7FH DB-RAM (16 bit) DD80H bis E3FFH DB 0 (16 bit) E400H bis E7FFH S-Merker (8 bit) E800H bis EDFFH Systemdaten (16 bit: BA, BB, BS, BT, Zähler und Zeiten) EE00H bis EFFFH RAM (8 bit: Merker, Prozeßabbild) F000H bis FFFFH...
  • Seite 466: Tnb Und Tnw Zwischen 8Und 16-Bit-Speicherbereichen

    Speicherblöcke transferieren TNB und TNW zwischen 8- und 16-bit-Speicherbereichen steigende steigende Adressen Adressen Byte 5 Byte 5 Byte 4 Byte 4 Byte 3 Byte 3 Byte 1 Byte 2 Ziel-/Quell- Byte 2 adresse Byte 1 Quell-/Ziel- adresse Übertragen der Bytes 1 bis 5: :L <Quelladresse>...
  • Seite 467: Beispiel Für Übertragen Von Speicherblöcken

    Speicherblöcke transferieren 9.3.1 Beispiel für Übertragen von Speicherblöcken a) Aufgabenstellung: Kopieren eines Blocks von max. 4095 Datenwörtern aus einem DB- oder DX-Datenbaustein in einen anderen DB- oder DX-Datenbaustein. Der Anfang des Blocks wird innerhalb des Quell- und Ziel-Datenbausteins durch je einen Offset-Wert zwischen 0 und 4095 festgelegt.
  • Seite 468 Speicherblöcke transferieren Fortsetzung 1 des Beispiels: b) Programmstruktur: Der FB 10 gliedert sich in fünf Programmabschnitte mit folgenden Aufgaben: - Eingangsparameter: a) Prüfen, ob Quell- und Ziel-Datenbaustein nicht denselben Typ und dieselbe Nummer haben. b) Prüfen, ob die Eingangsparameter "Quell-Offset", "Ziel-Offset" und "Blocklänge"...
  • Seite 469 Speicherblöcke transferieren Fortsetzung 2 des Beispiels: b) Programmierung des Funktinsbausteins FB 10: Hinweis: Soll ab Datenwort DW 0 kopiert werden, entfallen die fett-kursiv gedruckten Programmteile. Es wird kein Offset-Wert angegeben. FB10 NETZWERK 1 NAME:DB-DB-TR DATENBAUST.-DATENBAUST.-TRANSFER :QTNR E/A/D/B/T/Z: KM/KH/KY/KC/KF/KT/KZ/KG: :QOFF E/A/D/B/T/Z: KM/KH/KY/KC/KF/KT/KZ/KG: KF :ZTNR E/A/D/B/T/Z: KM/KH/KY/KC/KF/KT/KZ/KG:...
  • Seite 470 Speicherblöcke transferieren Fortsetzung 3 des Beispiels: BEGINN QUELL-DATENBAUSTEIN MW 254 TYP U. NUMMER DES QUELL-DATENBAUSTEINS :SPA OB 181 DATENBAUSTEIN TESTEN :SPB =F003 SPRUNG, FALLS BST.-TEST NEGATIV :TAK A1: ANZAHL DW , A2: ADRESSE :ENT A3: ADRESSE MW 252 OFFSET IM QUELL-DATENBAUSTEIN :ENT A3: ANZAHL DW, A4: ADRESSE MW 246...
  • Seite 471 Speicherblöcke transferieren Fortsetzung 4 des Beispiels: BEGINN TRANSFER KB 0 VERGLEICHSWERT MB 246 BLOCK-LAENGE, HIGH-BYTE :!=F BLOCK-LAENGE >= 256 WORTE ? :SLW 1 MULTIPL. MIT 2, ANZAHL TEIL- BS 60 BLOECKE MIT JE 128 WORTEN MW 244 END-ADRESSE DER DATEN-QUELLE MW 242 END-ADRESSE DES DATEN-ZIELS :SPB =REST...
  • Seite 472: Operationen Mit Dem Basisadressregister (Br-Register)

    Operationen mit dem Basisadressregister (BR-Register) Operationen mit dem Basisadressregister (BR-Register) Anwendung Das Basisadreßregister (32 bit) ermöglicht Ihnen Adreßrechnungen und indirekte Register-Lade- und -Transferoperationen ohne Verwen- dung der AKKUs für die Adressierung. Zugegriffen wird auf die Speicherzelle, deren absolute Adresse sich als Summe von BR-Registerinhalt und einer Konstanten errechnet: Absolute Adresse = BR-Registerinhalt + Konstante Operationen...
  • Seite 473: Transferoperationen Zwischen Registern

    Operationen mit dem Basisadressregister (BR-Register) 9.4.1 Transferoperationen zwischen Registern Anwendung Die in diesem Abschnitt aufgeführten Operationen können Sie dazu benutzen, schnell Werte zwischen den Registern AKKU 1, STEP- Adreßzähler (SAZ) und Basisadreßregister (BR) auszutauschen. Operationen Tabelle 9-6 Register-Register-Operationen Operation Operand Funktion –...
  • Seite 474: Zugriffe Auf Den Lokalen Speicher

    Operationen mit dem Basisadressregister (BR-Register) ....AKKU 1, BR MSA, MSB MAS, MBS 16 15 AKKU 1, BR ....AKKU 1 MAB, MBA Bild 9-11 Register-Register-Transferoperationen 9.4.2 Zugriffe auf den lokalen Speicher Anwendung Die folgenden Operationen ermöglichen den Zugriff auf den lokalen, wortweise organisierten Speicher über eine absolute Speicheradresse.
  • Seite 475: Zugriffe Auf Den Globalen Speicher

    Operationen mit dem Basisadressregister (BR-Register) Operation Operand Beschreibung Fortsetzung der Tabelle 9-7: Konstante die angegebene Konstante zum Inhalt (-32768 bis des BR-Registers addieren und den +32767) Inhalt des AKKU 1 in das so adres- sierte Doppelwort transferieren AKKU 2 = AKKU 1 zulässiger Adreßbereich Die Abolutadresse muß...
  • Seite 476 Operationen mit dem Basisadressregister (BR-Register) Die Operation TSG bearbeitet das Testen und Setzen einer Belegtzelle. Operation Operand Beschreibung -32768 bis die angegebene Konstante zum Inhalt +32767 des BR-Registers addieren und die so adressierte Belegtzelle testen und setzen Ablauf Als Belegtzelle wird das Low-Byte des durch BR-Register + Kon- stante adressierten Wortes verwendet.
  • Seite 477: Lade Und Tranfeoperationen Auf Den Byteweise Organisierten Globalen Speicher

    Operationen mit dem Basisadressregister (BR-Register) Lade und Tranfer- operationen auf den byte- Tabelle 9-8 Operationen für Zugriffe auf den byteweise organisierten weise organisierten globalen Speicher globalen Speicher Operation Operand Beschreibung LB GB -32768 bis die angegebene Konstante zum Inhalt +32767 des BR-Registers addieren und das so adressierte Byte in den AKKU-1-LL 1) 3)
  • Seite 478: Lade- Und Transferoperationen Für Den Wortweise Organisierten Globalen Speicher

    Operationen mit dem Basisadressregister (BR-Register) Fehlerreaktion Liegt die errechnete Adresse der Speicherzelle nicht im zulässigen Adreßbereich, so erkennt die CPU einen Laufzeitfehler und ruft den OB 31 auf, falls er geladen ist. Ist der OB 31 nicht geladen, so geht die CPU in den Stoppzustand.
  • Seite 479: Zugriffe Auf Den Kachelspeicher

    Operationen mit dem Basisadressregister (BR-Register) 9.4.4 Zugriffe auf den Kachel- speicher Anwendung Mit den folgenden Operationen können Sie auf byte- oder wortweise or- ganisierte Kacheln über eine absolute Speicheradresse zugreifen. Die Absolutadresse ist die Summe vom BR-Register-Inhalt und der im Be- fehl enthaltenen Konstanten (-32768 bis 32767).
  • Seite 480: Aufschlagen Einer Kachel

    Operationen mit dem Basisadressregister (BR-Register) Aufschlagen einer Kachel Operation Parameter Beschreibung diejenige Kachel aufschlagen, deren Nummer im AKKU-1-L steht, zulässige Werte: 0 bis 255 Fehlerreaktion Die Kachelnummer muß zwischen 0 und 255 liegen. Ist dies nicht der Fall, so erkennt die CPU einen Laufzeitfehler und ruft den OB 31 auf, falls er geladen ist.
  • Seite 481: Lade- Und Transfeoperationen Für Byteweise Organisierte Kacheln

    Operationen mit dem Basisadressregister (BR-Register) Ergebnis Das Ergebnis der Operation TSC ist über die Anzeigen ANZ 0 und ANZ 1 auswertbar: ANZ 1 ANZ 0 Bedeutung Inhalt der Belegtzelle ist ’0’; die CPU trägt ihre Steckplatzkennung ein. Die eigene Steckplatzkennung ist bereits in der Belegtzelle eingetragen.
  • Seite 482 Operationen mit dem Basisadressregister (BR-Register) Operation Operand Beschreibung Fortsetzung der Tabelle 9-10: TB CB -32768 bis die angegebene Konstante zum Inhalt des BR-Registers addieren und den +32767 Inhalt des AKKU-1-LL in das so adressierte Byte in der aufgeschlagenen Kachel transferieren TB CW -32768 bis die angegebene Konstante zum Inhalt...
  • Seite 483: Lade- Und Transferoperationen Für Wortweise Organisierte Kacheln

    Operationen mit dem Basisadressregister (BR-Register) Lade- und Transfer- operationen für wortweise organisierte Kacheln Tabelle 9-11 Operationen für Zugriffe auf wortweise organisierte Kacheln Operation Operand Beschreibung LW CW -32768 bis die angegebene Konstante zum Inhalt +32767 des BR-Registers addieren und das so adressierte Wort in der aufgeschlagenen Kachel in den AKKU-1-L laden LW CD...
  • Seite 484 Operationen mit dem Basisadressregister (BR-Register) Programmieranleitung CPU 928B 9 - 38 C79000-B8500-C898-01...
  • Seite 485: Mehrprozessorbetrieb Und Mehrprozessorkommunikation

    Mehrprozessorbetrieb und Mehrprozessorkommunikation Inhalt von Kapitel 10 10.1 Mehrprozessorbetrieb ........... . 10 - 4 10.1.1 Wann verwenden Sie den Mehrprozessorbetrieb? .
  • Seite 486 Inhalt 10.6 Funktion SENDE-TEST (OB 203) ........10 - 43 10.6.1 Funktion .
  • Seite 487 Mehrprozessorbetrieb und Mehrprozessorkommunikation Dieses Kapitel gibt Ihnen zunächst einige Hinweise, wann Sie den Mehrprozessorbetrieb anwenden können und wie der Datenaustausch der CPU erfolgt. Es gibt Ihnen Informationen darüber, was Sie als Pro- grammierer für den Mehrprozessorbetrieb tun und beachten müssen (Abschnitt 10.1).
  • Seite 488: Mehrprozessorbetrieb

    Mehrprozessorbetrieb 10.1 Mehrprozessorbetrieb Begriffsdefinition Sie befinden sich im Mehrprozessorbetrieb, sobald Sie eine Koordina- torbaugruppe gesteckt haben, unabhängig davon, wieviele CPUs ge- steckt sind. 10.1.1 • • Wann verwenden Sie den Wenn Ihr Anwenderprogramm zu umfangreich für eine CPU ist Mehrprozessorbetrieb? und Speicherplatz knapp wird, so verteilen Sie Ihr Programm auf mehrere CPUs.
  • Seite 489: Daten Über Koppelmerker Austauschen

    Mehrprozessorbetrieb 10.1.3 Daten über Koppelmerker Für den zyklischen Austausch binärer Daten stehen Ihnen die "Koppel- austauschen merker" zur Verfügung. Diese dienen in erster Linie zum byteweisen Übertragen von Informationen. Dieser Datentransfer kann erfolgen zwischen CPU(s) CPU(s) CPU(s) Kommunikationsprozessor(en) Das Systemprogramm überträgt die Koppelmerker einmal pro Zyklus. Bei einem Datentransfer zwischen CPUs werden die Koppelmerker physikalisch auf dem Koordinator zwischengespeichert.
  • Seite 490 Mehrprozessorbetrieb Beispiel CPU 1 Koordinator Koppelmerkerausgänge: Schreiben MB 96 bis MB 119 Koppelmerkereingänge: per Brücken frei- Lesen MB 120 bis MB 125 gegebener Bereich: Koppelmerkerbytes MB 96 bis MB 127 CPU 2 Koppelmerkerausgänge: Schreiben MB 120 bis MB 125 Koppelmerkereingänge: Lesen MB 96 bis MB 119 Bild 10-1...
  • Seite 491 Mehrprozessorbetrieb Datenaustausch zwischen Sollen Daten zwischen einer CPU und einem Kommunikations- CPUs und Kommuni- prozessor übertragen werden, müssen Sie die benötigte Anzahl der Kop- kationsprozessoren pelmerker auf dem Kommunikationsprozessor (CP) freigeben. Auch dort stehen Ihnen 256 byte zur Verfügung, die in Bereiche von 32 byte eingeteilt werden können.
  • Seite 492: Übertragung Der Koppelmerker Im Mehrprozessorbetrieb

    Mehrprozessorbetrieb Übertragung der Die im DB 1 angegebenen Koppelmerkerbytes werden am Ende jedes Koppelmerker im Programmzyklus zusammen mit der Aktualisierung des Prozeß- Mehrprozessorbetrieb abbildes übertragen. Der Koordinator erteilt reihum jeder CPU das Busfreigabesignal. Da- bei darf eine CPU jeweils nur ein Byte übertragen. Dadurch kann es vorkommen, daß...
  • Seite 493: Peripherie- Und Koppelmerkerzuteilung Im Mehrprozessorbetrieb (Db 1)

    Mehrprozessorbetrieb 10.1.4 Peripherie- und Koppel- Der Peripheriebereich des Automatisierungsgerätes ist auf dem S5- merkerzuteilung im Mehr- Bus nur einmal vorhanden. Der Peripheriebereich umfaßt die Adres- prozessorbetrieb (DB 1) sen F000H bis FFFFH. Im Mehrprozessorbetrieb greifen alle CPUs im Automatisierungsgerät "gleichzeitig" auf diesen Peripheriebereich zu. Damit dabei keine Da- ten überschrieben werden, muß...
  • Seite 494: Beispiel Für Db-1-Maske

    Mehrprozessorbetrieb 3. Übernehmen Sie die eingetragenen Werte durch Betätigen der Übernahmetaste am PG. Das PG generiert danach den DB 1. 4. Übertragen Sie den DB 1 in die CPU oder laden Sie ihn in ein EPROM-Modul. Hinweis Die Zeitenblocklänge können Sie in der DX-0- und/oder DB-1-Maske angeben.
  • Seite 495 Mehrprozessorbetrieb 2. Geben Sie anschließend (ab Datenwort 3) die einzelnen Operanden- bereiche ein. Vor jedem Operandenbereich müssen Sie eine bestimmte Kennung eingeben. Die möglichen Kennwörter sind: Kennwort für digitale Eingänge KH = DE00 Kennwort für digitale Ausgänge KH = DA00 Kennwort für Eingangskoppelmerker KH = CE00 Kennwort für Ausgangskoppelmerker KH = CA00 Anschließend an das Kennwort listen Sie die Nummern der verwen-...
  • Seite 496 Mehrprozessorbetrieb Übernahme des DB 1 Bei NEUSTART wird der DB 1 vom Systemprogramm übernommen. Es überprüft dabei, ob die im DB 1 angegebenen Ein- und Ausgänge bzw. Koppelmerker auf entsprechenden Baugruppen quittieren. Falls nicht, geht die CPU mit DB-1-Fehler in den Stoppzustand mit langsamem Blinken der STOP-LED.
  • Seite 497: Mehrprozessorkommunikation

    Mehrprozessorkommunikation 10.2 Mehrprozessorkommunikation Begriffsbestimmung Unter Mehrprozessorkommunikation versteht man den Austausch größerer Datenmengen (Datenbausteine) zwischen CPUs, die im Mehrprozessorbetrieb arbeiten. Für die Mehrprozessorkommunikation ist der Koordinator KOR 923C erforderlich. 10.2.1 Einführung Für die Übertragung von Datenbausteinen, genauer: von Datenblöcken mit einer Größe von max. 64 byte (= 32 Datenwörtern), stehen Ihnen –...
  • Seite 498: Wie Sender Und Empfänger Identifiziert Werden

    Mehrprozessorkommunikation Der Datenbaustein in der Empfangs-CPU kann länger oder kürzer sein als der Sende-Datenbaustein. Entscheidend ist, daß die von der Funk- tion SENDEN übertragenen Datenwörter im Empfangs-Daten- baustein existieren; andernfalls erkennt die Funktion EMPFANGEN einen Fehler. Beispiel: Sende-Daten in Empfangs-Daten der Sende-CPU: in der Empfangs-CPU:...
  • Seite 499: Warum Daten Zwischengespeichert Werden

    Mehrprozessorkommunikation 10.2.3 Warum Daten zwischen- In der Regel wird der Mehrprozessorbetrieb dazu benutzt, zu bear- gespeichert werden beitende Aufgaben auf mehrere CPUs zu verteilen. Da diese Aufgaben nicht identisch sind und zudem die Leistungsmerkmale der beteiligten CPUs unterschiedlich sein können, läuft im Mehrprozessorbetrieb die Programmbearbeitung auf den einzelnen CPUs immer asynchron ab.
  • Seite 500: Wie Der Zwischenspeicher Abgearbeitet Und Verwaltet Wird

    Mehrprozessorkommunikation 10.2.4 Wie der Zwischenspeicher abgearbeitet und verwaltet wird Abarbeitung Dem Zwischenspeicher liegt das FIFO-Prinzip zugrunde (First in – first out, Warteschlangenprinzip). Somit ist die Empfangsreihen- folge gleich der Sendereihenfolge. Dies gilt für jede einzelne Verbin- dungsstrecke (gekennzeichnet durch Sende - und Empfangs- CPU) und ist von anderen Verbindungen unabhängig.
  • Seite 501 Mehrprozessorkommunikation Beispiel Belegung des Zwischenspeichers durch eine Verbindungsstrecke: Die Verbindungsstrecke "von CPU 3 nach CPU 2" wird initialisiert. Dabei werden ihr auf dem Zwischenspeicher des Koordinators sieben Speicherblöcke zuge- wiesen. Anschließend könnte z. B. folgende Datenübertragung ablaufen: Sende-Kapazität (Anzahl freier Speicherblöcke) Initiali- Senden...
  • Seite 502: Zusammenfassung

    Mehrprozessorkommunikation Zusammenfassung Das Zwischenspeichern im Koordinator KOR 923C hat die Aufgabe, die asynchronen Abläufe von Sende- und Empfangs-CPU und deren un- terschiedliche Arbeitsgeschwindigkeiten auszugleichen. Da die Kapazität des Zwischenspeichers begrenzt ist, sollte der Emp- fänger "häufig" und "regelmäßig" überprüfen, ob Daten gespei- chert sind (Funktion EMPFANGS-TEST, Empfangs-Kapazität >...
  • Seite 503: Was Sie Beim System-Anlauf Beachten Müssen

    Mehrprozessorkommunikation 10.2.5 Was Sie beim System- Die Mehrprozessor-Kommunikation erfordert, daß bei allen beteilig- Anlauf beachten müssen ten CPUs der STOP-RUN-Übergang (= ANLAUF) gleich abläuft, d. h. entweder einheitlich NEUSTART oder einheitlich WIEDERANLAUF. Durch entsprechende • • Bedienung (Frontschalter, Programmiergerät), • • Parametrierung (DX 0) und/oder •...
  • Seite 504: Was Sie Beim Aufrufen Der Kommunikations-Obs Beachten Müssen

    Mehrprozessorkommunikation 10.2.6 Was Sie beim Aufrufen der Kommunikations-OBs be- achten müssen Gehen Sie folgendermaßen vor: 1. Rufen Sie die Funktion INITIALISIEREN nur im Neustart- Organisationsbaustein OB 20 auf einer CPU auf. 2. Rufen Sie die Funktionen SENDEN, SENDE-TEST, EMPFANGEN, EMPFANGS-TEST entweder nur innerhalb der zyklischen Programmbearbeitung oder nur innerhalb der zeitgesteuerten Programmbearbeitung auf.
  • Seite 505: Wie Parametrieren Sie Die Kommunikations-Obs

    Mehrprozessorkommunikation Ergebnisanzeigen Die Ergebnisanzeigen (ANZ 1/ANZ 0, VKE usw.) werden von den Kommunikations-OBs beeinflußt. Nähere Information dazu entneh- men Sie bitte dem Abschnitt 10.2.8. • • CPU 922, CPU 928, Veränderung der Akkus Die Inhalte AKKU 1 bis AKKU 4 sowie CPU 928B: die Registerinhalte werden von den Kommunikations-OBs nicht verändert.
  • Seite 506: Aufrufparameter

    Mehrprozessorkommunikation Aufrufparameter Als Aufrufparameter wird bei allen Kommunikations-OBs die Num- mer des ersten Merker-Bytes im Datenfeld (= Zeiger auf Datenfeld) im AKKU-1-L übergeben. Zulässige Werte dafür sind 0 bis 246. Beispiel Datenfeld mit Parametern der Funktion EMPFANGEN (OB 204) MB x + 0: Sende-CPU Eingangsparameter MB x + 1:...
  • Seite 507 Mehrprozessorkommunikation Tabelle 10-1 Anzeigen der Kommunikations-OBs Anzeigen Auswertung Bedeutung ANZ 1 ANZ 0 SPB= Funktion vollständig und korrekt abgearbeitet SPB= Funktion abgebrochen, Zeiger auf Datenfeld unzulässig (>246) Funktion abgebrochen aufgrund eines Initialisie- rungskonfliktes SPB= und Funktion abgebrochen SPM= aufgrund eines Fehlers (Fehler-Nr.
  • Seite 508 Mehrprozessorkommunikation Das erste Byte im Feld der Ausgangsparameter (Anzeigenbyte) zeigt ebenfalls an, ob eine Funktion korrekt und vollständig abgearbeitet worden ist. Der Grund eines Funktionsabbruchs wird detaillierter dar- gestellt als in den Ergebnisanzeigen. Unter der oben getroffenen Vereinbarung, daß zumindest der Zeiger auf das Datenfeld einen korrekten Wert enthält, ist dieses Byte immer re- levant.
  • Seite 509 Mehrprozessorkommunikation Beispiel Die Funktion SENDEN zeigt Fehler an und wird nicht durchgeführt. Wenn Sie nun Programm- und/oder Parameteränderungen durchführen und die Funktion SENDEN erneut einen Fehler mit höherer Nummer als vorher anzeigt, so können Sie daraus schließen, daß Sie einen von mehreren Fehlern beseitigt haben. Initialisierungskonflikt Ein Initialisierungskonflikt kann nur bei der Funktion INITIALI- SIEREN auftreten.
  • Seite 510 Mehrprozessorkommunikation Anz.- Bedeutung Byte Fortsetzung der Tabelle 10-3: Die Zuordnungsliste im Datenbaustein ist nicht korrekt aufgebaut. Die Summe der vergebenen Speicherblöcke ist größer als 48. Fehler Ein aufgetretener Fehler erfordert eine Änderung in der Program- mierung/Parametrierung. Fehler-Nummern (byteweise Auswertung des Anzeigenbytes): Tabelle 10-4 Anzeigenbyte: Fehler-Nummern Anz.-...
  • Seite 511 Mehrprozessorkommunikation Anz.- Bedeutung Byte Fortsetzung der Tabelle 10-4: Die Verwaltungsdaten (Warteschlangenverwaltung) der angewählten Verbindungsstrecken sind fehlerhaft; den Zwischenspeicher im Koordinator KOR 923C richten Sie mit Hilfe der Funktion INITIALISIEREN neu ein (SENDEN, EMPFANGEN, SENDE-TEST, EMPFANGS- TEST). Der Parameter "Baustein-Kennung" (SENDEN) bzw. die vom Sender überlieferte Baustein-Kennung (EMPFANGEN) ist unzulässig.
  • Seite 512 Mehrprozessorkommunikation Warnung Die Funktion konnte nicht durchgeführt werden; der Funktionsaufruf ist zu wiederholen, z. B. im nächsten Zyklus. Warnungs-Nummern (byteweise Auswertung des Anzeigenbytes): Tabelle 10-5 Anzeigenbyte: Warnungs-Nummern Anz- Bedeutung Byte Die Funktion SENDEN kann keine Daten übergeben, da die Sende-Kapazität bereits beim Funktionsaufruf gleich Null war.
  • Seite 513: Laufzeiten Der Kommunikations-Obs

    Laufzeiten der Kommunikations-OBs 10.3 Laufzeiten der Kommunikations-OBs "Laufzeit" ist die Bearbeitungszeit der Sonderfunktions- Organisationsbausteine. Tabelle 10-6 Laufzeiten der Kommunikations-OBs Sonderfunktions-OB Baustein- CPU 922 CPU 928 CPU 928B CPU 946/ CPU 948 Name OB 200/ 230 ms 130 ms 130 ms 128 ms 90 ms Initialisieren...
  • Seite 514 Laufzeiten der Kommunikations-OBs Übertragungszeit Ein wichtiges Leistungsmerkmal einer Verbindungsstrecke (z. B. von CPU 1 nach CPU 2) ist die gesamte Datenübertragungszeit. Sie setzt sich aus den folgenden drei Komponenten zusammen: • • Sende-Dauer (siehe Laufzeit), • • Dauer der Zwischenspeicherung (im Koordinator KOR 923C) •...
  • Seite 515: Funktion Initialisieren (Ob 200)

    Funktion INITIALISIEREN (OB 200) 10.4 Funktion INITIALISIEREN (OB 200) 10.4.1 Funktion Um von einer CPU an eine andere CPU Daten übertragen zu können, müssen diese vorübergehend zwischengespeichert werden. Die Funktion INITIALISIEREN richtet zu diesem Zweck einen Zwischenspeicher im Koordinator KOR 923C ein. Die Speicherkapazität wird in Speicherblöcken mit einer festen Länge von 32 Wörtern eingerichtet (initialisiert).
  • Seite 516: Funktion

    Funktion INITIALISIEREN (OB 200) Bei vier gesteckten CPUs ergeben sich zwölf Verbindungsstrecken: CPU 1 CPU 2 CPU 4 CPU 3 Mit der Funktion INITIALISIEREN wird festgelegt, wie die insgesamt 48 zur Verfügung stehenden Speicherblöcke den maximal zwölf Ver- bindungsstrecken zugeordnet werden. D.
  • Seite 517: Aufrufparameter

    Funktion INITIALISIEREN (OB 200) 10.4.2 Aufrufparameter Aufbau des Vor Aufruf des OB 200 müssen Sie im Datenfeld die Eingangs- (Paramerter-)Datenfeldes parameter bereitstellen. Der OB 200 benötigt im Datenfeld 8 M-Mer- kerbytes für Ein- und Ausgangsparameter: MB x + 0: Betriebsart (Automatisch/ Eingangsparameter Manuell ) MB x + 1: Anzahl CPUs...
  • Seite 518: Adresse Zuordnungsliste

    Funktion INITIALISIEREN (OB 200) Baustein-Kennung, Die Parameter sind nur relevant, wenn Sie die Betriebsart "Manuell" Baustein-Nummer. gewählt haben. Sie müssen dann in einem Datenbaustein eine Zuord- Adresse Zuordnungsliste nungsliste bereitstellen, in der nach einem festgelegten Schema die 48 zur Verfügung stehenden Speicherblöcke (oder weniger) den maximal 12 Verbindungsstrecken zugeordnet werden.
  • Seite 519 Funktion INITIALISIEREN (OB 200) Zuordnungsliste Mit der Zuordnungsliste legen Sie fest, wieviele der vorhandenen 48 Speicherblöcke den einzelnen Verbindungswegen zugeordnet werden sollen. Die Liste wird vom Systemprogramm nicht verändert. Sie hat fol- genden Aufbau: Tabelle 10-7 Zuordnungsliste für OB 200 (Initialisieren) Datenwort Format Wert...
  • Seite 520: Ausgangsparameter

    Funktion INITIALISIEREN (OB 200) Beispiel Sie haben drei CPUs gesteckt. Von CPU 2 sind sehr viele Daten an die beiden anderen zu übertragen. Diese wiederum senden nur wenige Daten zurück an CPU 2 als Rückmeldung in einem logischen Quittungsverkehr. Zwischen CPU 1 und CPU 3 ist kein Datenaustausch nötig.
  • Seite 521 Funktion INITIALISIEREN (OB 200) Anz.- Bedeutung Byte Die für die Mehrprozessorkommunikation benötigten Kacheln (Nr. 252 bis Nr. 255) sind nicht bzw. nicht vollständig vorhanden. Die für die Mehrprozessorkommunikation benötigten Kacheln (Nr. 252 bis 255) sind defekt. Der Parameter "Automatisch/Manuell" ist unzulässig. Unterscheiden Sie folgende Fälle: - die Kennung "Automatisch/Manuell"...
  • Seite 522: Funktion Senden (Ob 202)

    Funktion SENDEN (OB 202) 10.5 Funktion SENDEN (OB 202) 10.5.1 Funktion Die Funktion SENDEN übergibt einen Datenblock in den Zwischen- speicher des Koordinators KOR 923C. Zusätzlich zeigt sie an, wieviele Datenblöcke noch gesendet und zwischengespeichert werden können. 10.5.2 Aufrufparameter Aufbau des Vor Aufruf des OB 202 müssen Sie im Datenfeld die Eingangs- (Paramerter-)Datenfeldes parameter bereitstellen.
  • Seite 523 Funktion SENDEN (OB 202) Baustein-Kennung Kennung = 1: DB-Datenbaustein Kennung = 2: DX-Datenbaustein Kennung = 0 oder 3 bis 255: Unzulässig, führt zu einer Fehleranzeige Baustein-Nummer Die Baustein-Nummer ergibt zusammen mit der Baustein-Kennung und der Block-Nummer den Bereich, dem die Sende-Daten entnom- men werden (und in dem sie auf der Empfangs-CPU abgelegt werden).
  • Seite 524 Funktion SENDEN (OB 202) Folgende Fälle sind zu unterscheiden: • • DB ist länger als Quellbereich: Ist der Datenbaustein ausreichend lang, so ergibt sich pro Block ein 32 Wörter großer Bereich gemäß der angeführten Tabelle. • • DB ist zu kurz: Liegt das Datenbaustein-Ende innerhalb des parametrierten Blok- kes, so wird im letzten Block ein Bereich mit einer Länge zwi- schen einem und 31 Wörtern übertragen.
  • Seite 525 Funktion SENDEN (OB 202) Fehler Beim Aufrufen der Funktion SENDEN können folgende Fehlernum- mern (byteweise Auswertung des Anzeigenbytes) auftreten: Anz.- Bedeutung Byte Der Parameter "Empfangs-CPU" ist unzulässig. Unterscheiden Sie folgende Fälle: - die Nummer der Empfangs-CPU ist größer 4, - die Nummer der Empfangs-CPU ist kleiner 1, - die Nummer der Empfangs-CPU ist identisch mit der "eigenen"...
  • Seite 526: Sende-Kapazität

    Funktion SENDEN (OB 202) Warnung Die Funktion konnte nicht durchgeführt werden; der Funktionsaufruf ist zu wiederholen, z. B. im nächsten Zyklus. Es kann folgende Warnungsnummer (byteweise Auswertung des An- zeigenbytes) auftreten: Anz.- deutung Byte Die Funktion SENDEN kann keine Daten übergeben, da die Sende-Kapazität (s.
  • Seite 527: Funktion Sende-Test (Ob 203)

    Funktion SENDE-TEST (OB 203) 10.6 Funktion SENDE-TEST (OB 203) 10.6.1 Funktion Die Funktion SENDE-TEST ermittelt die Anzahl der freien Speicher- blöcke im Zwischenspeicher des Koordinators KOR 923C. Entsprechend dieser Anzahl m kann die Funktion SENDEN m-mal aufgerufen werden um m Datenblöcke zu übergeben. 10.6.2 Aufrufparameter Aufbau des...
  • Seite 528 Funktion SENDE-TEST (OB 203) Initialisierungskonflikt Hat bei der Funktion SENDE-TEST keine Bedeutung. Fehler Beim Aufrufen der Funktion SENDE-TEST können folgende Fehler- nummern (byteweise Auswertung des Anzeigenbytes) auftreten: Anz.-Byte Bedeutung Der Parameter "Empfangs-CPU" ist unzulässig. Unterscheiden Sie folgende Fälle: - die Nummer der Empfangs-CPU ist größer 4, - die Nummer der Empfangs-CPU ist kleiner 1, - die Nummer der Empfangs-CPU ist identisch mit der "eigenen"...
  • Seite 529: Funktion Empfangen (Ob 204)

    Funktion EMPFANGEN (OB 204) 10.7 Funktion EMPFANGEN (OB 204) 10.7.1 Funktion Die Funktion EMPFANGEN übernimmt einen Datenblock vom Zwischenspeicher des Koordinators KOR 923C. Zusätzlich zeigt sie an, wieviele Datenblöcke noch zwischengespeichert sind und empfangen werden können. Die Funktion EMPFANGEN sollte in einer Schleife so oft aufgerufen werden, bis alle zwischengespeicherten Datenblöcke übernommen sind.
  • Seite 530: Ausgangsparameter

    Funktion EMPFANGEN (OB 204) 10.7.4 Ausgangsparameter Anzeigenbyte Dieses Byte informiert Sie, ob die Funktion EMPFANGEN korrekt und vollständig abgearbeitet worden ist. Initialisierungskonflikt Hat bei der Funktion EMPFANGEN keine Bedeutung. Fehler Beim Aufrufen der Funktion EMPFANGEN können folgende Fehler- nummern (byteweise Auswertung des Anzeigenbytes) auftreten: Anz.- Bedeutung Byte...
  • Seite 531 Funktion EMPFANGEN (OB 204) Anz.- Bedeutung Byte Fortsetzung der Fehler-Nummern: Die vom Sender übergebene Baustein-Nummer ist unzulässig, da es sich um einen Datenbaustein mit spezieller Bedeutung handelt. Unterscheiden Sie folgende Fälle: - falls Baustein-Kennung = 1 : DB 0, DB 1 - falls Baustein-Kennung = 2 : DX 0 Die vom Sender übergebene Baustein-Nummer ist fehlerhaft.
  • Seite 532: Adresse Des Ersten Empfangenen Datenwortes

    Funktion EMPFANGEN (OB 204) Baustein-Kennung: Kennung = 1: DB-Datenbaustein Kennung = 2: DX-Datenbaustein Kennung = 0 oder 3 bis 255: Unzulässig, führt zu einer Fehleranzeige Baustein-Nummer Baustein-Nummer des DB/DX, in dem die Daten empfangen und ab- gelegt wordene sind (und aus dem sie in der Sende-CPU von der Funk- tion SENDEN entnommen worden sind).
  • Seite 533: Funktion Empfangs-Test (Ob 205)

    Funktion EMPFANGS-TEST (OB 205) 10.8 Funktion EMPFANGS-TEST (OB 205) 10.8.1 Funktion Die Funktion EMPFANGS-TEST ermittelt die Anzahl belegter Speicherblöcke im Zwischenspeicher des Koordinators KOR 923C. Entsprechend dieser Anzahl m kann die Funktion EMPFANGEN m-mal aufgerufen werden um m Datenblöcke zu übernehmen. 10.8.2 Aufrufparameter Aufbau des...
  • Seite 534: Empfangs-Kapazität

    Funktion EMPFANGS-TEST (OB 205) Fehler Beim Aufrufen der Funktion EMPFANGS-TEST können folgende Fehlernummern (byteweise Auswertung des Anzeigenbytes) auftreten: Anz.- Bedeutung Byte Der Parameter "Sende-CPU" ist unzulässig. Unterscheiden Sie folgende Fälle: - die Nummer der Sende-CPU ist größer 4, - die Nummer der Sende-CPU ist kleiner 1, - die Nummer der Sende-CPU ist identisch mit der "eigenen"...
  • Seite 535: Anwendungen

    Anwendungen 10.9 Anwendungen Dieser Abschnitt erläutert Ihnen an Hand einiger Beispiele, wie Sie Ihre Mehrprozessor-Kommunikation programmieren können. Hinweis Wenn Sie die nachfolgend aufgeführten Funktionsbausteine verwenden und auf Ihrer CPU zusätzlich Alarme bearbeiten (z. B. durch OB 2), so achten Sie darauf, daß am Anfang einer Unter- brechungsbehandlung die "Schmiermerker"...
  • Seite 536: Programmieren Der Funktionsbausteine

    Anwendungen Hinweis Es handelt sich bei den folgenden Anwendungsbeispielen um fertige Applikationen, die Sie in Ihr Programm übernehmen können. Programmieren der Funktionsbausteine FB 200: Vorbesetzen der Verbindungen FB 200 INITIAL AUMA INIK ANZC GKAP TNZU ANFZ Parameter- Bedeutung Parameter- Name feld AUMA Automatik/Manuell...
  • Seite 537 Anwendungen Fortsetzung von FB 200 FB 200 LAE=45 NETZWERK 1 0000 NAME:INITIAL :AUMA E/A/D/B/T/Z: E BI/BY/W/D: BY :ANZC E/A/D/B/T/Z: E BI/BY/W/D: BY :TNZU E/A/D/B/T/Z: E BI/BY/W/D: W :ANFZ E/A/D/B/T/Z: E BI/BY/W/D: W :INIK E/A/D/B/T/Z: A BI/BY/W/D: BY :GKAP E/A/D/B/T/Z: A BI/BY/W/D: BY 0017 =AUMA...
  • Seite 538 Anwendungen FB 202: Senden eines Datenblocks FB 202 SENDEN ECPU FEWA TNDB SKAP BLNR Parameter- Bedeutung Parameter- Name feld ECPU Empfangs-CPU MB 246 TNDB Typ (H-Byte) und Nummer (L-Byte) MB 247 des Quell-Datenbausteins BLNR Block-Nummer MW 249 FEWA Fehler/Warnung MW 250 SKAP Sende-Kapazizät MB 251...
  • Seite 539 Anwendungen FB 203: Sendemöglichkeit testen FB 203 SEND-TST ECPU FEHL SKAP Parameter- Bedeutung Parameter- Name Feld ECPU Empfangs-CPU MB 246 FEHL Fehler MB 248 SKAP Sende-Kapazität MB 249 FB 203 LAE=30 NETZWERK 1 0000 NAME:SEND-TST :ECPU E/A/D/B/T/Z: E BI/BY/W/D: BY :FEHL E/A/D/B/T/Z: A BI/BY/W/D: BY...
  • Seite 540 Anwendungen FB 204: Empfangen eines Datenblocks FB 204 EMPFANG SCPU FEWA EKAP TNDB ANFA ENDA Parameter- Bedeutung Parameter- Name Feld SCPU Sende-CPU MB 246 FEWA Fehler/Warnung MB 248 EKAP Empfangs-Kapazität MB 249 TNDB Typ (H-Byte) und Nummer (L-Byte) des MW 250 Ziel-Datenbausteins ANFA Adresse des ersten empfangenen...
  • Seite 541 Anwendungen Fortsetzung von FB 204: FB 204 LAE=45 NETZWERK 1 0000 NAME:EMPFANG :SCPU E/A/D/B/T/Z: E BI/BY/W/D: BY :FEWA E/A/D/B/T/Z: A BI/BY/W/D: BY :EKAP E/A/D/B/T/Z: A BI/BY/W/D: BY :TNDB E/A/D/B/T/Z: A BI/BY/W/D: W :ANFA E/A/D/B/T/Z: A BI/BY/W/D: W :ENDA E/A/D/B/T/Z: A BI/BY/W/D: W 0017 =SCPU...
  • Seite 542: Übertragen Von Datenbausteinen

    Anwendungen Fortsetzung von FB 205: FB 205 LAE=30 NETZWERK 1 0000 NAME:EMPF-TST :SCPU E/A/D/B/T/Z: E BI/BY/W/D: BY :FEHL E/A/D/B/T/Z: A BI/BY/W/D: BY :EKAP E/A/D/B/T/Z: A BI/BY/W/D: BY 000E =SCPU Sende-CPU 000F MB 246 0010 0011 KB 246 SF-OB: 0012 :SPA OB 205 "Empfangsmoeglichkeit testen"...
  • Seite 543 Anwendungen Fortsetzung 1 von FB 110: Enthält der Ausgangsparameter REST jedoch einen Wert größer als Null, sind – z. B. im nächsten Zyklus – Folgeaufrufe erforderlich. In diesem Fall darf der gesamte Parametersatz (d.h. die Werte aller Parameter) vom Anwender (-Programm) erst dann verändert werden, wenn der Ausgangsparameter REST den Wert Null hat, d.
  • Seite 544 Anwendungen Fortsetzung 2 von FB 110: Parameter- Bedeutung Name STAR Übertragung des Datenbausteins nach positiver Flanke starten. Empfangs-CPU ECPU Typ (H-Byte) und Nummer (L-Byte) des zu übertragenden TNDB Datenbausteins. Anzahl der zu übertragenden Datenblöcke. ANZB Nummer des ersten zu übertragenden Datenblocks. ERSB Fehler FEHL...
  • Seite 545 Anwendungen Fortsetzung 3 von FB 110: 0025 =REST zuerst eventuell noch vorhandene 0026 KB 0 Bloecke aussenden 0027 :><F 0028 :SPB =UEBT 0029 002A =STAR positive Flanke 002B =FLAM am START-Eingang ? 002C =STAR 002D =FLAM 002E :SPB =GUT 002F =FLAM 0030 0031...
  • Seite 546: Anwendung Des Fb

    Anwendungen Anwendung des FB 110 Anwendung des FB 110 Aufgabenstellung Die CPU 1 soll im zyklischen Anwenderprogramm die Datenbausteine DB 3 (Daten- blöcke 2 bis 5) und DB 4 (Datenblöcke 1 bis 3) an die CPU 2 senden. In der CPU 2 soll ebenfalls im zyklischen Anwenderprogramm die Funktion EMPFANGEN 04) aufgerufen werden.
  • Seite 547 Anwendungen Fortsetzung 1 des Anwendungsbeispiels: 0009 :SPA FB 110 000A NAME :UEBT-DAT 000B STAR : E 2.0 000C ECPU : MB 0 000D TNDB : MW 1 000E ANZB : MB 3 000F ERSB : MB 4 0010 FEHL : MB 5 0011 REST : MB 6...
  • Seite 548: Erweiterung Des Koppelmerkerbereichs

    Anwendungen Fortsetzung 2 des Anwendungsbeispiels: In der CPU 2 überträgt die vom FB 2 aufgerufene Funktion EMPFANGEN (OB 204) jeden ausgesendeten Datenblock in den zugehörigen Datenbaustein. Der vollständige Empfang eines Datenbausteins kann sich über mehrere Zyklen verteilen. FB 2 LAE=yy NETZWERK 1 0000 NAME:E-ORG...
  • Seite 549: Lösung

    Anwendungen Lösung Aufeinanderfolgende Datenwörter eines DB- oder DX- Datenbau- steins, jeweils ab DW 0, werden als "Koppel-Datenwörter" definiert. Jede Verbindungsstrecke erhält "ihren" Datenbaustein und ist von den anderen Verbindungsstrecken völlig unabhängig. Zu Beginn des Zyklus-Bausteins werden mit Hilfe der Sonderfunktions- Organisationsbausteine zur Mehrprozessor-Kommunikation die Kop- pel-Datenwörter empfangen.
  • Seite 550: Aufbau Der Verbindungsliste

    Anwendungen Aufbau der Verbindungsliste Tabelle 10-8 Verbindungsliste für die Erweiterung des Koppelmerkerbereichs TEILLISTE 1 TEILLISTE 2 Verbindungs- DB-Typ Block strecke Nummer anzahl von CPU 1 DW 0 DW 16 nach ..CPU 2 DW 1 DW 17 ... CPU 3 DW 2 DW 18 ...CPU 4...
  • Seite 551 Anwendungen Die Verbindungsliste besteht aus zwei ähnlich strukturierten Teillisten zu je 16 Datenwörtern. Ausgehend von jeder der vier Sende-CPUs (S1, S2, S3, S4) sind zur Beschreibung jeder Verbindungsstrecke 3 Ein- träge vorgesehen: • • Blockanzahl Die Anzahl der Blöcke legt die Größe (= Anzahl der Datenwörter) des zu übertragenden Datenwortbereiches fest.
  • Seite 552: Programmstruktur

    Anwendungen Programmstruktur Auf dem Koordinator werden von einer CPU beim Anlauf durch Auf- ruf der Funktion INITIALISIEREN (OB 200) genau so viele Speicher- blöcke pro Verbindungsstrecke reserviert, wie Datenblöcke auf dieser Strecke zu übertragen sind. Zum Aussenden und Empfangen der Datenwortbereiche werden auf je- der CPU zwei Funktionsbausteine verwendet: FB-Nr.
  • Seite 553 Anwendungen OB 20 Neustart-OB zum Vorbesetzen Der OB 200 darf des Zwischenspeichers im nur in einer CPU Koordinator KOR 923C aufgerufen werden. OB 200 OB 1 Zyklisches Anwenderprogramm das um den Aufruf der Funktions- DB xxx bausteine EMPF-DAT und SEND-DAT FB 101 erweitert wird.
  • Seite 554: Programmieren Der Funktionsbausteine

    Anwendungen Programmieren der Funktionsbausteine FB 100: Senden von Datenwortbereichen Vor Aufruf des FB 100 muß der Datenbaustein aufgeschlagen werden, der die Verbindungsliste enthält. Der Funktionsbaustein SEND-DAT benötigt zum Aus- werten der in der Verbindungsliste enthaltenen Informationen die Nummer der CPU, auf der er aufgerufen wird. Falls innerhalb des Funktionsbausteins die Funktion SENDEN (OB 202) nicht korrekt abgearbeitet werden konnte, wird die jeweilige Fehler- oder Warnungs- Nummer im Ausgangsparameter FEWA übergeben und das VKE = 1 gesetzt.
  • Seite 555 Anwendungen Fortsetzung 1 von FB 100: 0013 0014 :SLW CPUN = CPUN * 4 0015 MB 245 Basisadresse 0016 0017 KB 1 0018 MB 244 Verbindungszaehler 0019 001A SCHL :L MB 245 Basisadresse 001B MB 244 + Zaehler 001C 001D MW 240 001E :ADD...
  • Seite 556 Anwendungen Fortsetzung 2 von FB 100: 0048 LEER :L MB 244 Verbindungszaehler 0049 inkrementieren 004A MB 244 004B KB 4 alle Verbindungs- 004C :<F strecken bearbeitet ? 004D :SPM =SCHL 004E KB 0 regulaeres Programmende: 004F =FEWA VKE = 0, FEWA = 0 0050 :BEA 0051...
  • Seite 557 Anwendungen Fortsetzung 1 von FB 101: FB 101 LAE=88 NETZWERK 1 0000 NAME:EMPF-DAT :CPUN E/A/D/B/T/Z: D KM/KH/KY/KC/KF/KT/KZ/KG: KF :FEWA E/A/D/B/T/Z: A BI/BY/W/D: 000B =CPUN Fehler falls: 000C KB 1 000D :<F 000E :SPB =FEWA CPU-Nr. <1 000F =CPUN 0010 KB 4 0011 :>F 0012...
  • Seite 558 Anwendungen Fortsetzung 2 von FB 101: 0037 MB 249 Empfangskapazitaet = Anzahl 0038 MB 243 der reservierten 0039 :><F Speicherbloecke ? 003A :SPB =LEER 003B 003C EMPF :L KB 246 SF-OB: 003D :SPA OB 204 "Empfangen eines Datenblocks" 003E MB 248 003F :SPM =OBFE...
  • Seite 559: Anwendungsbeispiel

    Anwendungen Anwendungsbeispiel Anwendung der FB 100/101 Aufgabenstellung Zwischen drei CPUs sollen Daten ausgetauscht werden: - von CPU 1 nach CPU 2: Datenbaustein DB 3, DW 0 bis DW 127 (= 4 Blöcke) on CPU 1 nach CPU 3: Datenbaustein DX 4, DW 0 bis DW 63 (= 2 Blöcke) - von CPU 2 nach CPU 1 und CPU 3: Datenbaustein DB 5, DW 0 bis DW 95 (= 3 Blöcke)
  • Seite 560 Anwendungen Fortsetzung 1 des Anwendungsbeispiels: Realisierung 1. Bausteine laden Folgende Bausteine müssen zusätzlich zum OB 1 in die einzelnen CPUs geladen werden: Funktion CPU 1 CPU 2 CPU 3 Anlauf-OB OB 20 — — Anwenderprogramm FB: SEND-DAT FB 100 FB 100 FB 100 FB: EMPF-DAT FB 101...
  • Seite 561 Anwendungen Fortsetzung 2 des Anwendungsbeispiels: – – Teilliste 1 – – KC = ’S1’; von CPU 1 zu .. KY = 002,004; .. CPU 2 vier Datenblöcke senden KY = 003,002; .. CPU 3 zwei Datenblöcke senden KY = 004,000; KC = S2’;...
  • Seite 562 Anwendungen Fortsetzung 3 des Anwendungsbeispiels: 4. Aufrufe der Funktionsbausteine in den FB 1 der CPUs programmieren Auf jeder CPU wird das Anwenderprogramm um den Aufruf der Funktionsbausteine EMPF-DAT und SEND-DAT erweitert. Der abgedruckte Funtionsbaustein FB 1 ist für die CPU 1 bestimmt. Für den Ablauf auf den anderen CPUs muß lediglich der Eingangsparameter CPUN (CPU-Nummer) angepaßt werden.
  • Seite 563 PG-Schnittstellen -Testhilfen In halt vo n Kapitel 11 11.1 Übersicht ............. . 11 - 4 11.2 PG-Funktionen .
  • Seite 564 I nhalt P rog ram m iera nleitung CPU 928B 11 - 2 C79000-B8500-C898, 01...
  • Seite 565: Pg-Schnittstellen Und-Funktionen

    PG-Schnittstellen und -Funktionen P rog ram m iera nleitung CP U 928B 11 - 3 C79000-B8500-C898, 01...
  • Seite 566: Übersicht

    Übersicht 11.1 Üb ersicht • • • • alternativ Tabel le 11-1 Hil fen für I nbetriebnahme und Test Hilfe Abschnitt Pro gra mmie ranle itung CPU 928B 11 - 4 C79000-B8500-C898, 01...
  • Seite 567: Pg-Funktionen

    PG-Funktionen 11.2 P G -Fun ktion en Hinw eis Aufrufen und Bedienen Ausführung Systemkontrollpunkte Stop Zyklus "Wartezustand" Asyn- chron Anwenderkontrollpunkte P rog ram m iera nleitung CP U 928B 11 - 5 C79000-B8500-C898, 01...
  • Seite 568: Auskunft

    PG-Funktionen Betriebszustand WARTEZUSTAND • • Eigenschaften • • • • • • Unterbrechungen 11.2.1 A uskunft S peicherausbau Pro gra mmie ranle itung CPU 928B 11 - 6 C79000-B8500-C898, 01...
  • Seite 569: Speicher- Und Übertragungsfunktionen

    PG-Funktionen Ausgabe Adresse 11.2.2 Speicher- und Übertra- gungsfunktionen Urlöschen Hinw eis S peicher komprimieren P rog ram m iera nleitung CP U 928B 11 - 7 C79000-B8500-C898, 01...
  • Seite 570: Baustein Übertragen

    PG-Funktionen Vorsicht Netz spannungsausfall beim Komprimieren Fehler im Bausteinspeicher • • • • • • Hinw eis Baustein übertragen Pro gra mmie ranle itung CPU 928B 11 - 8 C79000-B8500-C898, 01...
  • Seite 571: Programmtest

    PG-Funktionen Baustein löschen 11.2.3 Programmtest S tart/Stopp • • • • P rog ram m iera nleitung CP U 928B 11 - 9 C79000-B8500-C898, 01...
  • Seite 572: Status Baustein

    PG-Funktionen S tatus Baustein Funktion aufrufen und Haltepunkt vorgeben Aufruf im STOP Hinw eis Einschachtelungen und Unterbrechungen → → Pro gra mmie ranle itung CPU 928B 11 - 10 C79000-B8500-C898, 01...
  • Seite 573: Bearbeitungskontrolle

    PG-Funktionen Bearbeitu ngskontrolle Funktion aufrufen und 1. Haltepunkt vorgeben Vorsicht Koordinator Testbetrieb nicht Aufruf im ANLAUF und im Programmbearbeitung einschließlich Aufruf im STOP P rog ram m iera nleitung CP U 928B 11 - 11 C79000-B8500-C898, 01...
  • Seite 574 PG-Funktionen Funktion fortführen und Ausgangspunkt: weiteren Haltepunkt vorgeben Folge Hinw eis keinen neuen Hinw eis Pro gra mmie ranle itung CPU 928B 11 - 12 C79000-B8500-C898, 01...
  • Seite 575 PG-Funktionen Haltepunkt z urücknehmen Funktion abbrechen Einschachtelungen Hinw eis P rog ram m iera nleitung CP U 928B 11 - 13 C79000-B8500-C898, 01...
  • Seite 576 PG-Funktionen Befehl ausführen 1. Haltepunkt Daten lesen WARTEZUSTAND (Daten ausgeben) Prozeßalarm, Weck- Folge-Halte- < <<<<< alarm, Fehler-OB punkt Befehl ausführen Daten lesen WARTEZUSTAND (Daten ausgeben) Prozeßalarm, Weck- < <<<<< alarm, Fehler-OB Bil d 11- 1 Testablauf bei "Bearbei tungskontrol le" Hinw eis Pro gra mmie ranle itung CPU 928B 11 - 14...
  • Seite 577 PG-Funktionen • • → Unterbrechungen • • → • • → Hinw eis P rog ram m iera nleitung CP U 928B 11 - 15 C79000-B8500-C898, 01...
  • Seite 578: Status Variablen

    PG-Funktionen S tatus Variablen Ablauf während der Programmbearbeitung Prozeßabbild Ablauf der Funktion im S TOP Eingänge direkt Ablauf der Funktion im WARTEZUSTAND Prozeßabbild Wechsel des → → Betriebsz ustandes/ Beenden der Funktion Hinw eis Pro gra mmie ranle itung CPU 928B 11 - 16 C79000-B8500-C898, 01...
  • Seite 579: Steuern

    PG-Funktionen S teuern Hinw eis STOP Ablauf der Funktion gesamte alle nicht gelöscht. Beenden der Funktion S teuern Variablen Hinw eis mehrere Operanden P rog ram m iera nleitung CP U 928B 11 - 17 C79000-B8500-C898, 01...
  • Seite 580: Tätigkeiten An Kontrollpunkten

    Tätigkeiten an Kontrollpunkten 11.3 Tätigkeiten an Kon trollp un kten Tabell e 11- 2 Tätigkei ten an Kontrol lpunkten Sytemkontrollpunkt Tätigkeiten der Online- Anw ender- kontroll- "Stop" "Zyklus" "Warte- "Asyn- Funktionen punkt zustand" chron" 1) 2) Tätigkeiten, die über mehrere Systemkontrollpunkte verteilt werden können Pro Systemkontrollpunkt maximal ein Baustein Nach "Komprimieren im STOP"...
  • Seite 581: Serielle Kopplung Pg - Ag Über 1. Oder 2. Serielle Schnittstelle

    Serielle Kopplung PG – AG über 1. oder 2. serielle Schnittstelle 11.4 S erielle Ko pp lun g P G – A G üb er 1. od er 2. serielle S chnittstelle • • • • • • • • P rog ram m iera nleitung CP U 928B 11 - 19 C79000-B8500-C898, 01...
  • Seite 582: Parallelbetrieb Von Zwei Seriellen Pg-Schnittstellen

    Parallelbetrieb von z wei seriellen PG-Schnittstellen 11.5 P arallelb etrieb von zwei seriellen P G -Schn ittstellen PG-Schnittstelle Schnittstellen- modul Bil d 11- 2 Zwei te Schni ttstell e al s PG- Schnittstel le nutzen Pro gra mmie ranle itung CPU 928B 11 - 20 C79000-B8500-C898, 01...
  • Seite 583 Parallelbetrieb von zwei seriellen PG-Schnittstellen Konfigurations-Beispiele CPU 928B CP 143 PG über SINEC H1 und KOR C angeschlossen PG direkt angeschlossen "Affenschaukel" SINEC H1 Bil d 11- 3 1. Konfigurations- Bei spi el CPU 928B SS 1 OP direkt angeschlossen (zum Bedienen und Beobachten) SS 2 PG direkt angeschlossen (zum Programmieren)
  • Seite 584: Inbetriebnahme

    Parallelbetrieb von z wei seriellen PG-Schnittstellen 11.5.1 I nbetriebnahme Schritt Aktion 11.5.2 Betrieb Gruppe Kennzeichen kurzlaufende langlaufende zyklische Vorsicht Pro gra mmie ranle itung CPU 928B 11 - 22 C79000-B8500-C898, 01...
  • Seite 585 Parallelbetrieb von zwei seriellen PG-Schnittstellen nicht parallel Tabel le 11-3 F unktionen, di e nicht paral lel auf zwei PGs abl aufen Am ersten PG Diese Funktion ist am zw eiten läuft die Funktion: PG nicht möglich: "A S -F u nktio n gesperrt: la ufend e F u n ktion " "...
  • Seite 586: Ablauf Bei Bestimmten Betriebsfällen

    Parallelbetrieb von z wei seriellen PG-Schnittstellen 11.5.3 A blauf bei bestimmten Betriebsfällen Paralleler Betrieb bei kurzlaufenden Funktionen Anwender am PG 1 CPU 928B Anwender am PG 2 Eingabe PG 2 über Tastatur Eingabe PG 1 über Tastatur Aufbereitung Eingabe1 im PG 1 Aufbereitung Eingabe 2 im PG 2 Übertragen Auftrag 1 an die CPU Hier muß...
  • Seite 587: Paralleler Betrieb Bei Langlaufenden Funktionen

    Parallelbetrieb von zwei seriellen PG-Schnittstellen Paralleler Betrieb bei langlaufenden Funktionen Paralleler Betrieb bei zyklischen Funktionen Anwender am PG 1 CPU 928B Anwender am PG 2 PG 1 teilt der CPU mit, welche Variablen aus- gegegeben werden sollen. PG 1 fordert die aktuellen Daten an.
  • Seite 588 Parallelbetrieb von z wei seriellen PG-Schnittstellen Pro gra mmie ranle itung CPU 928B 11 - 26 C79000-B8500-C898, 01...
  • Seite 589 Parallelbetrieb von zwei seriellen PG-Schnittstellen Anwender am PG 1 CPU 928B Anwender am PG 2 PG 1 teilt der CPU mit, welche Variablen aus- gegeben werden sollen. PG 1 fordert die aktuellen Daten an. (PG meldet: Status- bearbeitung läuft.) PG 1 fordert die aktuellen Daten an.
  • Seite 590: Allgemeine Hinweise

    Parallelbetrieb von z wei seriellen PG-Schnittstellen Besonderheit bei zyklischen Funktionen auf beiden PG CPU 928B Anwender am PG 1 Anwender am PG 2 PG 1 teilt der CPU mit, welche Variablen aus- gegeben werden sollen. PG 1 fordert die aktuellen Daten an. (PG meldet: Status- bearbeitung läuft.) PG 1 fordert die...
  • Seite 591: Anhang

    Anhang Inhalt von Kapitel 12 Anhang 1: Technische Daten der CPUs im AG S5-135U ........12 - 4 Anhang 2: Fehlerkennungen .
  • Seite 592 Inhalt Programmieranleitung CPU 928B 12 - 2 C79000-A8500-C898, 01...
  • Seite 593 Anhang Dieses Kapitel gibt Ihnen einige zusätzliche Informationen zur CPU 928B wie Laufzeitenvergleich mit CPU 922, CPU 928 und CPU 928B, Fehler- und Ebenenkennungen und andere für die Fehler- diagnose hilfreiche Daten und Erläuterungen Programmieranleitung CPU 928B 12 - 3 C79000-A8500-C898, 01...
  • Seite 594: Anhang 1: Technische Daten Der Cpus Im Ag S5-135U

    Anhang 1: Technische Daten der CPUs im AG S5-135U Anhang 1: Technische Daten der CPUs im AG S5-135U Operation / Bearbeitung CPU 922 CPU 928 CPU 928B typische Befehlsausführungszeiten für Bitbefehle: µ µ µ M, E, A 0,57 µ µ µ...
  • Seite 595 Anhang 1: Technische Daten der CPUs im AG S5-135U Operation / Bearbeitung CPU 922 CPU 928 CPU 928B alarmgesteuerte Programmbearbeitung Verlängerung der Zykluszeit durch Einschachtelung eines leerenOB 2 (ohne STEP-5-Opera- µ µ µ tionen) an einer Bausteingrenze µ µ µ Reaktionszeit zeitgesteuerte Programmbearbeitung µ...
  • Seite 596: Begriffserläuterungen

    Anhang 1: Technische Daten der CPUs im AG S5-135U Operation / Bearbeitung CPU 922 CPU 928 CPU 928B Speichergrößen Größe des Anwenderspeichermoduls (in K byte) Größe des Speichers für Daten- bausteine (DB-RAM, in ca. 22,2 ca. 46,6 ca. 46,6 K byte) Zeit- und Zählzellen, Merker Anzahl der Zeit- und Zählzellen je 128...
  • Seite 597: Anhang 2: Fehlerkennungen

    Anhang 2: Fehlerkennungen Anhang 2: Fehlerkennungen Fehlerkennungen im System- datum BS 3 und BS 4 BS 3 BS 4 Erläuterung Aufbau der Bausteinadreßlisten (Auswertung des DB 0) 8001H yyyyH Falsche Bausteinlänge yyyy = Adresse des Bausteins mit falscher Länge 8002H yyyyH Berechnete Endadresse des Bausteins im Speicher falsch yyyy = Bausteinadresse...
  • Seite 598 Anhang 2: Fehlerkennungen BS 3 BS 4 Erläuterung Auswertung des DB 2 0421H DByyH Datenbaustein nicht geladen yy = Nummer des nicht geladenen Datenbausteins 0422H FByyH Funktionsbaustein nicht geladen yy = Nummer des nicht geladenen Funktionsbausteins 0423H FByyH Funktionsbaustein nicht erkannt yy = Nummer des nicht erkannten Funktionsbausteins 0424H FByyH...
  • Seite 599 Anhang 2: Fehlerkennungen BS 3 BS 4 Erläuterung Auswertung des DX 2 (Fortsetzung) 045BH xxyyH Baustein für Sendefach/Auftragsfach unzulässig xx = Kennung / yy = DB-Nummer 045CH xx00H Datenkennung für Empfangsfach ungültig (ungleich 44H, 58H, 00H) xx = Datenkennung 045DH xxyyH Baustein für Empfangsfach unzulässig xx = Kennung / yy = DB-Nummer...
  • Seite 600 Anhang 2: Fehlerkennungen Fehlerkennungen in AKKU 1 und AKKU 2 aufgeru- Erläuterung fener OB REG-FE (Reglerfehler) 0801H DByyH Abtastzeitfehler OB 34 yy = Nummer des betreffenden Regler-Datenbausteins 0802H DByyH Regler-Datenbaustein nicht geladen yy = Nummer des nicht geladenen Datenbausteins 0803H FByyH Regler-Funktionsbaustein nicht geladen yy = Nummer des nicht geladenen Funktionsbausteins...
  • Seite 601 Anhang 2: Fehlerkennungen aufgeru- Erläuterung fener OB BCF (Befehlscodefehler)/Operationscodefehler 1811H – Befehl mit unzulässigem Opcode OB 29 1812H – Unzulässiger Opcode bei einem Befehl, bei dem das High- Byte des 1. Befehlswortes den Wert 68H enthält 1813H – Unzulässiger Opcode bei einem Befehl, bei dem das High- Byte des 1.
  • Seite 602 Anhang 2: Fehlerkennungen aufgeru- Erläuterung fener OB LZF (Laufzeitfehler)/Lade-bzw.Transferfehler 1A11H – Zugriff mit U/UN D, O/ON D, S/R D, = D auf ein nicht definiertes OB 32 Datenwort 1A12H – Transferfehler bei TDR auf ein nicht definiertes Datenwort 1A13H – Transferfehler bei TDL auf ein nicht definiertes Datenwort –...
  • Seite 603 Anhang 2: Fehlerkennungen aufgeru- Erläuterung fener OB LZF (Laufzeitfehler)/sonstige Laufzeitfehler (Fortsetzung) Fehleranzeige von .../durch ... : OB 31 1A34H 0220H OB 182: "Anzahl zu übertragender Datenworte" ist unzulässig (= 0 oder > 4091) 0221H OB 182: Quelldatenbaustein ist zu kurz 1A34H OB 182: Zieldatenbaustein zu kurz 1A34H...
  • Seite 604 Anhang 2: Fehlerkennungen aufgeru- Erläuterung fener OB LZF (Laufzeitfehler)/sonstige Laufzeitfehler (Fortsetzung) Fehleranzeige von .../durch ... : 1A4DH 0102H OB 151: "Nummer des ersten Datenfeldwortes" ist unzulässig OB 31 1A4DH 0103H OB 151: als Länge des Datenbausteins ist im Bausteinkopf ein Wert <...
  • Seite 605 Anhang 2: Fehlerkennungen aufgeru- Erläuterung fener OB LZF (Laufzeitfehler)/sonstige Laufzeitfehler (Fortsetzung) Fehleranzeige von .../durch ... : 1A58H – TNW/TNB: Der Quellblock liegt nicht vollständig in einem dieser OB 31 Bereiche: 0000 .. 7FFF Anwenderspeicher (siehe Kapitel 9) 8000 .. DD7F Datenbaustein-RAM DD80..
  • Seite 606: Anhang 3: Step-5-Operationen, Die In Der Cpu 928B Nicht Vorhanden Sind

    Anhang 3: STEP-5-Operationen, die in der CPU 928B nicht vorhanden sind Anhang 3: STEP-5-Operationen, die in der CPU 928B nicht vorhanden sind Beachten Sie bitte, daß die folgenden STEP-5-Operationen der CPU 946/947 und CPU 948 in der CPU 928B nicht ablauffähig sind: Befehl Funktion Befehlsausgabe sperren...
  • Seite 607: Anhang 4: Kennungen Der Programmbearbeitungsebenen

    Anhang 4: Kennungen der Programmbearbeitungsebenen Anhang 4: Kennungen der Programmbearbeitungsebenen Die Kennungen entsprechen den im USTACK unter EBENE eingetra- genen Kennungen (hexadezimal). Kennung Ebene 0002H Neustart 0004H Zyklus Weckalarm 5 sec 0006H 0008H Weckalarm 2 sec 000AH Weckalarm 1 sec 000CH Weckalarm 500 ms 000EH...
  • Seite 608: Anhang 5: Beispiel "Ustack-Auswertung

    Anhang 5: Beispiel "USTACK-Auswertung" Anhang 5: Beispiel "USTACK-Auswertung" Dieses (stark vereinfachte) Beispiel verdeutlicht Ihnen eine mögliche Vorgehensweise bei der Auswertung des USTACK. Beachten Sie dazu auch das Abschnitt 5.4 "Steuerbits und Unterbre- chungsstack"! Ausgangspunkt Die CPU hat die zyklische Programmbearbeitung abgebrochen und ist in den Stoppzustand übergegangen.
  • Seite 609 Anhang 5: Beispiel "USTACK-Auswertung" Möglicherweise hat das Systemprogramm bei Auftreten eines Laufzeit- fehlers festgestellt, daß der zugehörige Fehler-Organisationsbaustein nicht programmiert ist. Da es jedoch verschiedene Laufzeitfehler gibt, und Sie nicht wissen, welcher davon aufgetreten ist, sind die Informa- tionen aus den Steuerbits noch nicht ausreichend. Lassen Sie sich deshalb den USTACK ausgeben: UNTERBRECHUNGSSTACK TIEFE...
  • Seite 610 Anhang 5: Beispiel "USTACK-Auswertung" Durch Weiterschalten erscheint am PG der USTACK mit der Tiefe 02: UNTERBRECHUNGSSTACK TIEFE BEF-REG: SAZ: 0037 DB-ADR: 0000 BA-ADR: 0000 2006 BST-STP: 0001 OB-NR.: DB-NR.: -NR.: REL-SAZ: 0004 DBL-REG.: 0000 EBENE: 0004 UAMK: 0020 UALW: 0000 AKKU1: 0001 1001 AKKU2:...
  • Seite 611 Anhang 5: Beispiel "USTACK-Auswertung" ! SYMB.ANZ.! !BIB.NR. ! AUSGABE GERAET: AG BAUST: SUCHLAUF: 4H REL-SAZ Am PG sehen Sie nach erfolgtem Suchlauf den Befehl "A DB 6", der für die Unterbrechung verantwortlich ist, da ein Datenbaustein mit der Nummer 6 im Anwenderspeicher nicht vorhanden ist. OB 1 NETZWERK 1 0000...
  • Seite 612 Anhang 5: Beispiel "USTACK-Auswertung" Programmieranleitung CPU 928B 12 - 22 C79000-A8500-C898, 01...
  • Seite 613: Literaturhinweise

    Literaturhinweise Programmieranleitung CPU 928B 13 - 1 C79000-A8500-C898, 01...
  • Seite 614 Literaturhinweise Programmieranleitung CPU 928B 13 - 2 C79000-A8500-C898, 01...
  • Seite 615 Bestell-Nr. 6ES5 998-1SA01 Standard-Funktionsbausteine Hantierungsbausteine CPU 922, CPU 922, CPU 928B Automatisierungsgerät S5-135U, S5-155U SINEC Handbuch CP 143 mit COM 143 Bestell-Nr. 6GK1970-1AB43-0AA0 Hans Berger: Automatisieren mit SIMATIC S5-155U SIEMENS AG ISBN 3-8009-1538-3 Programmieranleitung CPU 928B 13 - 3 C79000-A8500-C898-01...
  • Seite 616 Literaturhinweise Speicherprogrammierbare Steuerungen Grundbegriffe SIEMENS AG Bestell-Nr. E80850-C293-X-A2 Katalog ST 59: Programmiergeräte SIMATIC S5 /10/ Katalog ST 54.1: Automatisierungsgeräte S5-135U, S5-155U und S5-155H /11/ Katalog ST 57: Standard-Funktionsbausteine und Treiberprogramme für Automatisierungsgeräte der U-Reihe SIMATIC S5 /12/ Handbuch SCL Bestell-Nr. C79000-G8500-C162...
  • Seite 617: Verzeichnisse

    Verzeichnisse Inhalt von Kapitel 14 Abkürzungsverzeichnis ........... .A - 1 Stichwortverzeichnis .
  • Seite 618 Inhalt Programmieranleitung CPU 928B 14 - 2 C79000-T8500-C898, 01...
  • Seite 619: Abkürzungsverzeichnis

    Abkürzungsverzeichnis Abkürzungsverzeichnis Abkürzungen (Die Erklärung der speziellen Abkürzungen des USTACK finden Sie in Abschnitt 5.4) Adressierfehler Automatisierungsgerät AKKU-1 (2, 3, 4)-L Low-Wort im Akkumulator 1 (2, 3, 4), 16 bit AKKU-1 (2, 3, 4)-H High-Wort im Akkumulator 1 (2, 3, 4), 16 bit AKKU-1 (2 ,3, 4)-LL Low-Byte des Low-Wort im Akkumulator 1 (2, 3, 4), 8 bit AKKU-1 (2, 3, 4)-LH...
  • Seite 620 Abkürzungsverzeichnis Kontaktplan Koordinatorbaugruppe light-emitting diode (Anzeige-Element) Netzausfall Organisationsbaustein Oder (Bit-Anzeige) Overflow speichernd (Wortanzeige) Overflow (Wortanzeige) Prozeßabbild Prozeßabbild der Ausgänge Prozeßabbild der Eingänge PAFE Parametrierfehler-Byte PARE Parityfehler Programmbaustein Ausfall der Versorungsspannung vom Erweiterungsgerät Programmiergerät Quittungsverzug random-accesss memory (Schreib-Lese-Speicher) STEP-Adreßzähler Schrittbaustein Betriebssystemprozessor Status (Bitanzeige) Stoppanweisung Substitutionsfehler...
  • Seite 621 Stichwortverzeichnis Baustein Stichwortverzeichnis allgemein Baustein-Handling 6-58 Bausteinadreßliste 3-8, 8-12 ADF (Adressierfehler) 5-29, 5-53 Bausteinaufrufe 2-17, 3-8, 3-32 Adressierung 1-16 Bausteinkennung 2-38 Akkumulatoren (AKKUs) 3-15, 6-13 Bausteinkopf 2-14, 2-26, 8-10 Aktualoperanden Bausteinnummer 2-13, 2-28, 2-38, 3-33 von Funktionsbausteinen 2-27, 2-31, 3-51, 3-54 Bausteinrumpf 2-14, 2-26, 2-38 Aktueller Datenbaustein...
  • Seite 622 Stichwortverzeichnis Datenwort 1-15, 2-37 - 2-38, 2-41 Datum 6-28 DBA (Datenbaustein-Anfangsadresse) 9-11 DBL (Datenbaustein-Länge) 9-14 Gleitpunktzahlen 2-10 Definition der "9. Spur" 4-22 Globaler Speicher Dekrementieren 3-65 allgemein Dezimalzahlen Zugriff 9-29 GRAPH 5 Dualzahlen Grundebenen 4-8, 4-10 Grundoperationen 2-4, 3-19 Gültigkeitsbereich eines aufgeschlagenen Datenbausteins2-42 Eignung der CPU 928B Einschachtelung...
  • Seite 623 Stichwortverzeichnis Lokaler Speicher Organisationsbausteine (OBs) allgemein Zugriff 9-28 allgemein 2-13, 2-17 LZF (Laufzeitfehler) 5-43, 5-45 Fehler-OBs 2-21 für Anwenderschnittstellen 2-19 Sonderfunktions-OBs 2-23, 6-6 zum Steuern des Anlaufverhaltens 2-21 organisatorische Operationen 3-58 M-Merker 1-14, 10-21 OS (Overflow speichernd) Mantisse SieheErgebnisanzeigen SieheGleitpunktzahl OV (Overflow) MANUELLER NEUSTART SieheErgebnisanzeigen...
  • Seite 624 Stichwortverzeichnis Schieberegister 6-101 Prozeßabbild aktualisieren 4-27 Schmiermerker 10-51 allgemein 1-13, 3-13 Schnittstelle der Ausgänge (PAA) 1-6, 1-13 zum Systemprogramm 2-19 zum Systemprogramm 1-9, 1-12 der Eingänge (PAE) 1-6, 1-13 Prozeßalarm 4-39 zweite serielle Schnittstelle 5-36 Prozeßalarme Schrittbausteine (SB) 2-13, 2-17 Semaphore 3-71 Bearbeitung...
  • Seite 625 Stichwortverzeichnis ZEITAUFTRAG 4-8, 4-10, 4-27, 4-33, 6-33 Uhrzeit 6-28 Zeiten T 1-15 Uhrzeitgesteuerter Weckalarm 4-27, 4-33 Besonderheiten 4-34 zeitgesteuerte Programmbearbeitung Unterbrechungen 4-34 allgemein 4-31 Umwandlungsoperationen 3-62 mit festen Zeitrastern (Weck- Unterbrechungsanzeigenwort 8-18 alarme) 4-28, 4-35 uhrteitgesteuerter Weckalarm 4-31 Unterbrechungsereignisse 3-14 uhrzeitgesteuert (Weckalarm) 4-27 URLÖSCHEN...
  • Seite 626: Stichwortverzeichnis

    Stichwortverzeichnis Programmieranleitung CPU 928B S - 6 C79000-T8500-C898-01...
  • Seite 627: Verzeichnis Der Tabellen Und Bilder

    Verzeichnis der Tabellen und Bilder Verzeichnis der Tabellen und Bilder Verzeichnis der Tabellen Tabelle 2-1 Übersicht der OBs für die Programmbearbeitung ......2 - 20 Tabelle 2-2 Übersicht der OBs für den Anlauf .
  • Seite 628 Verzeichnis der Tabellen und Bilder Tabelle 3-12 Digitalverknüpfungen ........... .3 - 50 Tabelle 3-13 Speicheroperationen mit Formaloperanden .
  • Seite 629 Verzeichnis der Tabellen und Bilder Tabelle 5-5 Bedeutung der Steuerbits in den Zeilen 6 bis 8 ....... .5 - 16 Tabelle 5-6 Bedeutung der USTACK-Kennungen zur Fehlerstelle .
  • Seite 630 Verzeichnis der Tabellen und Bilder Tabelle 5-28 QVZ – Anzeigen bei Aufruf des OB 24 ........5 - 54 Tabelle 5-29 WECK-FE–...
  • Seite 631 Verzeichnis der Tabellen und Bilder Tabelle 8-6 Belegung BS 6 (ZYKLUS- und Modul-/MPL-Kennungen) ..... .8 - 24 Tabelle 8-7 Belegung BS 7 (URLÖSCH-/Fehler-Kennungen Initialisieren) ....8 - 25 Tabelle 8-8 Belegung BS 8 (Fehlerkennungen HW/SW) .
  • Seite 632 Verzeichnis der Tabellen und Bilder Tabelle 10-1 Anzeigen der Kommunikations-OBs ........10 - 23 Tabelle 10-2 Anzeigenbyte der Kommunikations-OBs/Nummerngruppen .
  • Seite 633: Verzeichnis Der Bilder

    Verzeichnis der Tabellen und Bilder Verzeichnis der Bilder Bild 1-1 Aufgaben des Systemprogramms ..........1 - 8 Bild 1-2 Aufbau eines STEP-5-Anwenderprogramms .
  • Seite 634 Verzeichnis der Tabellen und Bilder Bild 4-7 pegelgetriggerte Prozeßalarmsignale ........4 - 41 Bild 4-8 flankengetriggerte Prozeßalarmsignale .
  • Seite 635 Verzeichnis der Tabellen und Bilder Bild 6-13 Inhalte der AKKUs vor Aufruf des OB 216 ........6 - 83 Bild 6-14 AKKU-Belegung vor Aufruf des OB 217 .
  • Seite 636 Verzeichnis der Tabellen und Bilder Bild 9-3 LIR/TIR auf 16-bit-Speicherbereiche (wortweise orientiert) ..... .9 - 10 Bild 9-4 LIR/TIR auf 8-bit-Speicherbereiche (byteweise orientiert) ..... . .9 - 10 Bild 9-5 Verwendung des DBA-Registers .
  • Seite 637 Verzeichnis der Tabellen und Bilder Bild 11-7 Zeitlicher Ablauf zweier paralleler zyklischer Funktionen ..... 11 - 27 Bild 11-8 Zeitlicher Ablauf, wenn eine Funktion die CPU 928B blockiert ....11 - 28 Programmieranleitung CPU 928B V - 11 C79000-T8500-C898-01...
  • Seite 638 Verzeichnis der Tabellen und Bilder Programmieranleitung CPU 928B V - 12 C79000-T8500-C898-01...
  • Seite 639 Ihre Anmerkungen und Vorschläge helfen uns, die Qualität und Benutzbarkeit unserer Dokumentation zu verbessern. Bitte füllen Sie diesen Fragebogen bei der nächsten Gelegenheit aus und senden Sie ihn an Siemens zurück. Vergessen Sie dabei nicht, Titel und Bestellnummer mit Ausgabestand anzugeben.
  • Seite 640 Siemens AG AUT E 1163 Östl. Rheinbrückenstraße 50 76181 Karlsruhe – Absender: Name: ....... . .

Inhaltsverzeichnis