Herunterladen Inhalt Inhalt Diese Seite drucken

Siemens Simatic S5 CPU 928B Anleitung Seite 157

Vorschau ausblenden Andere Handbücher für Simatic S5 CPU 928B:
Inhaltsverzeichnis

Werbung

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.
Die Benutzung des Peripheriewortes QW 6 (erweiterte Peripherie, kein Prozeß-
abbild) wird über einen Semaphor gesteuert. Es darf nur diejenige CPU ihre
Meldung auf das QW 6 schreiben, die durch erfolgreiches Setzen des zugeordneten
Semaphors diesen Bereich für sich belegen konnte. Für die Dauer von jeweils 10
Sekunden bleibt der Semaphor gesetzt (TIMER T10). Erst nach Ablauf des Timers
gibt die CPU den Semaphor und damit den belegten Bereich für die anderen CPUs
wieder frei. Das QW 6 kann mit einer neuen Meldung beschrieben werden.
Ist beim Versuch einer CPU, den Semaphor zu setzen, dieser bereits durch eine
andere CPU gesetzt worden, versucht die CPU im nächsten Zyklus erneut, den
Semaphor zu setzen und ihre Meldung auszugeben.
Realisierung:
Das folgende Programm kann in allen vier CPUs – mit einer jeweils anderen
Meldung – ablaufen. Folgende Bausteine werden geladen:
FB 0:
HAUPTPROGRAMM
Es werden 5 Merker verwendet:
M 10.0 = 1:
Eine Meldung ist angefordert oder in Bearbeitung.
M 10.1 = 1:
Semaphor ist erfolgreich gesetzt worden.
M 10.2 = 1:
Der Timer ist gestartet.
M 10.3 = 1:
Die Meldung ist übertragen.
M 10.4 = 1:
Semaphor ist rückgesetzt.
Programmieranleitung CPU 928B
C79000-B8500-C898, 01
FB 10:
MELDEN
Fortsetzung auf der nächsten Seite
Semaphor-Operationen
FB 100:
SEMAPHOR SETZEN
FB 110:
MELDUNG AUSGEBEN
FB 101:
SEMAPHOR RÜCK-
SETZEN
3
3 - 75

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis