SPS-FACHKRAFT
Aufbaukurs I
SPS-Fachkraft
Aufbaustufe 1
Inhalt
Seite 2
Inhaltsverzeichnis:
Erweiterte Ablaufsteuerung 4
Grundformen der Ablaufkette 5
Linearer Ablauf 5
Ablauf mit ODER-Verzweigung 6
Ablauf mit UND-Verzweigung 7
Überwachung der Ablaufkette 8
Verhalten der Ablaufkette nach Stoppzustand oder Netzausfall 8
Fragen zur Wiederholung 9
Struktur des Anwenderprogramms 11
Zyklische Bearbeitung des Anwenderprogramms 12
Schachtelungstiefe der Bausteine 13
Verknüpfungsergebnis bei den Operationen UC, CALL, CC, BE, BEB, BEA 13
Programmieren nach dem Flussdiagramm 15
Sprungbefehl 16
Datenbausteine 21
Erstellung von DB's 21
Datentypen bei Step 7 22
Elementare Datentypen bei Step 7 22
Datentypen in Datenbausteinen 23
Felder und Strukturen in Datenbausteinen 23
Feld 23
Struktur 24
Aufruf von Datenbausteinen 25
Zugriff auf DB‘s 25
Symbolischer Zugriff 25
Parametrierbare Bausteine 26
Aufbau der Variablendeklarationstabelle 26
Lokaldatenstack 27
Instanz- Datenbausteine 29
Multiinstanz Modell 31
Symbolische Programmierung 32
Erstellen der Symbolik 32
Fragen zur Wiederholung 33
AKKU-Operationen 36
Laden und Transferieren 36
Ladefunktion 37
Laden von Bytes 37
Laden von Wörtern und Doppelwörtern 37
Beeinflussung des Akkumulators 2 37
Zahlen- u. Wertedarstellung 38
Datenbreite 38
Zahlenformate 38
Transferfunktionen 39
Transferieren von Bytes 39
Transferieren von Wörtern und Doppelwörtern 39
Vergleicher in S7 40
Rechenoperationen 41
Fragen zur Wiederholung 42
Erweiterte Zeit- und Zählfunktionen 43
S5-Zeitfunktionen 43
Aufbau des S5-Zeitwortes 43
Format für die Zeitwertvorgabe 44
SPS-Fachkraft
Aufbaustufe 1
Inhalt
Seite 3
IEC Timer 45
SFB 3 (Verlängerter Impuls [ohne nachtasten]) 45
SFB 4 (Einschaltverzögerung) 46
SFB 5 (Ausschaltverzögerung) 47
Zählfunktionen 48
Aufbau des Zählwortes 48
IEC Counter 49
SFB 0 (Vorwärtszähler) 49
SFB 1 (Rückwärtszähler) 50
SFB 2 (Vor- Rückwärtszähler) 51
Fragen zur Wiederholung 52
Fehlersuche in S7 53
Übersicht 53
Anzeigen von CPU-Meldungen 54
Programmierschnittstelle einstellen 55
Programm und Einstellungen aus dem AG sichern 55
Referenzdaten 56
Querverweisliste 56
Belegung der E/A/M/T/Z 59
Programmstruktur 60
Diagnosepuffer 61
Arten von Fehlern 62
Baustein-Stack 63
Unterbrechungs-Stack 63
Lokaldaten-Stack 64
Variable beobachten / steuern 65
Triggerpunkte festlegen 66
Triggerbedingungen für Baustein beobachten 67
Organisationsbausteine 68
Übersicht der Organisationsbausteine 68
Unterbrechung des zyklischen Programms 69
Prioritäten der OB‘s 69
Funktionsbeschreibung der OB‘s in Step7 70
Uhrzeitalarme 70
Weckalarme 71
Verzögerungsalarme 72
Prozessalarme 73
Diagnosealarm, Asynchrone Fehler 74
Synchrone Fehler 75
Umverdrahten 76
Umverdrahten mit dem SIMATIC-Manager 76
Umverdrahten über führende Symbolik 77
Quellen 78
Umverdrahten über Quellen 79
Baustein über Quellen schützen 79
Stichwortverzeichnis 80
SPS-Fachkraft
Aufbaustufe 1
Erweiterte
Ablauf-
Steuerung
Kapitel 1
Seite 4
1. Erweiterte Ablaufsteuerung
Darstellung von Schritten in Ablaufsteuerungen (nach DIN EN 6113-3):
Aktionsblock:
Im Feld „a“ wird das Bestimmungszeichen eingetragen.
Es gibt folgende Möglichkeiten:
Im Feld „b“ steht der Aktionsname.
Wenn der zugehörige Schritt gesetzt ist und die Aktionssteuerung die Freigabe erteilt, wird die
genannte Aktion ausgeführt.
Im Feld „c“ kann eine boolesche Anzeigevariable eingetragen werden (dieses Feld ist
optional).
Im Feld „d“ kann eine Beschreibung der Aktion stehen (dieses Feld ist optional).
Jeder mögliche Zustand einer Steuerung wird durch einen Schritt im Funktionsablaufplan
dargestellt. Ein Schritt wird grafisch durch einen Block dargestellt und enthält den Schrittnamen
in Form eines Bezeichners. Ein Schritt kann entweder aktiv (mit Aktion) oder inaktiv
(Beharrungszustand) sein.
N nichtgespeichert
S gespeichert (Setzen)
R gespeichert (Rücksetzen)
L T#10s zeitbegrenzt
D T#15s zeitverzögert (im Einschalten verzögert)
DS T#3s zeitverzögert und gespeichert (Rücksetzen erforderlich)
SD T#20s gespeichert und zeitverzögert
SL T#10s gespeichert und zeitbegrenzt
P Flanke
S_2
&
„a“
„d“
„b“ „c“
Anfangsschritt
(Initialschritt)
Schritt
(Zustand)
%IX1.0
%IX1.1
Transition
(Übergang)
Aktionsblock
%IX1.0 & %IX1.1 (ST)
(FBS bzw. FUP)
S_1
SPS-Fachkraft
Aufbaustufe 1
Erweiterte
Ablauf-
Steuerung
Kapitel 1
Seite 5
Zwischen den Schritten befindet sich immer ein Übergang (Transition). Dieser ist dafür
verantwortlich, wann der aktive Zustand von einem Schritt auf den darauffolgenden wechselt.
Die Darstellung der Übergangsbedingung kann entweder mit Mitteln des Kontaktplanes (KOP),
des Funktionsplanes (FBS bzw. FUP) oder des Strukturierten Textes (ST) erfolgen.
1. 2. Grundformen der Ablaufkette
Bei der Ablaufsteuerung unterscheidet man:
a) einen linearen Ablauf:
Eine Ablaufkette besteht aus einer Folge von Schritten und Transitionen. Dieser Wechsel
wird als Folge wiederholt. Es wird eine Kettenschleife gebildet, um wieder zum Anfang
zurückzukehren. Durch eine Pfeildarstellung (siehe Beispiel) kann die zurückführende
Wirkungslinie vermieden werden.
S_1
S_2
&
Aktion
%IX1.0
%IX1.1
Aktion
S_3
&
Aktion
%IX1.5
%IX1.6
Aktion
S_4 Aktion
&
%IX2.0
S_1
&
%IX3.0
S_4
SPS-Fachkraft
Aufbaustufe 1
Erweiterte
Ablauf-
Steuerung
Kapitel 1
Seite 6
Zum erstmaligen Aktivieren des Initialschrittes kann z.B. ein Richtimpuls verwendet werden
(siehe Beispiel):
Diese Anweisungsfolge erzeugt einen
einmaligen Richtimpuls beim
Einschalten der Steuerung und kann
zum Setzen des Initialschrittes sowie
zum Rücksetzen der anderen
Schrittspeicher verwendet werden.
b) einen Ablauf mit Alternativ-Verzweigung (1 aus n, ODER-Verzweigung):
Bei einer Ablaufkette mit Alternativ-Verzweigung wird nur einer von mehreren
Kettensträngen der Ablaufkette durchlaufen, daher 1 aus n.
Zu Beginn der Verzweigung darf nur eine der Transitionsbedingungen wahr sein
(Verriegelung), oder es muss eine Priorität vorgegeben werden. Dabei hat der Strang mit
der niedrigsten Nummer die höchste Priorität. Zusätzlich wird mit einem Stern ()
angegeben, dass die Transitionen von links nach rechts bearbeitet werden.
Zum Ende der Verzweigung muss jeder Strang eine eigene Transition besitzen die zum
Verlassen des jeweiligen Kettenstranges führt.
Die Darstellung von Anfang und Ende der Alternativ-Verzweigung erfolgt durch
waagerrechte Einfachlinien.
S_1
TRAN14
S_2
S_5
S_7
1
2 3
TRAN11 TRAN21
TRAN31
S_3
S_4
S_6 S_8
TRAN12
TRAN13
TRAN22
TRAN23
TRAN32
TRAN33
TRAN14
UN „FO“ // nicht remanenter Hilfsmerker
= „IO“ // Richtimpuls
S „FO“ // Hilfsmerker wird gesetzt
SPS-Fachkraft
Aufbaustufe 1
Erweiterte
Ablauf-
Steuerung
Kapitel 1
Seite 7
c) einen Ablauf mit Simultan-Verzweigung (UND-Verzweigung):
In einer Schrittkette mit Simultan-Verzweigung müssen alle Zweige durchlaufen werden.
Die Aktivierung der einzelnen Kettenstränge erfolgt gleichzeitig mit einer gemeinsamen vor
gelagerten Transitionsbedingung.
Die weitere Bearbeitung der Stränge erfolgt dann aber unabhängig voneinander.
Bei der Zusammenführung der Kettenstränge darf nur eine gemeinsame
Transitionsbedingung vorhanden sein.
Die Darstellung von Anfang und Ende der Simultan-Verzweigung erfolgt durch
waagerrechte Doppellinien.
S_1
TRAN14
S_2
S_5 S_7
TRAN11
S_3
S_4
S_6
S_8
TRAN12
TRAN13
TRAN22
TRAN32
TRAN14
SPS-Fachkraft
Aufbaustufe 1
Erweiterte
Ablauf-
Steuerung
Kapitel 1
Seite 8
1. 3. Überwachung der Ablaufkette
Die zeitliche Überwachung einer Ablaufkette, egal ob ODER, UND oder linear verknüpft, sollte
immer stattfinden.
Die zeitliche Überwachung erfolgt, indem der Zeitaufwand eines Steuerungsablaufs berechnet
oder messtechnisch erfasst wird. Diese ermittelte maximale Zeit wird mit dem 1. Schritt der
Ablaufkette speichernd gestartet und mit dem letzten Schritt zurückgesetzt. Ist die Zeit vor dem
letzten Schritt abgelaufen, so erfolgt ein Unterprogramm (z.B. Alarmierung).
In der Praxis ist es auch üblich, einzelne Schritte bzw. mehrere aufeinanderfolgend Schritte
zeitlich zu überwachen.
1. 4. Verhalten der Ablaufkette nach Stoppzustand oder Netzausfall
Das Verhalten der Ablaufkette nach Stopp oder Netzausfall ist von der Steuerungsaufgabe und
den Sicherheitsvorschriften abhängig zu programmieren.
Auf keinen Fall darf nach Netzwiederkehr ein Anlauf selbsttätig starten.
SPS-Fachkraft
Aufbaustufe 1
Erweiterte
Ablauf-
Steuerung
Kapitel 1
Seite 9
1.5. Fragen zur Wiederholung
1. Zeitgeführte Ablaufsteuerungen sind gekennzeichnet durch:
a) eine zeitlich begrenzte Funktionsfähigkeit;
b) uhrzeitabhängiges Ein- und Ausschalten;
c) zeitunabhängiges Weiterschalten der Ablaufschritte;
d) zeitabhängiges Weiterschalten der Ablaufschritte;
e) sehr kurze Schaltzeiten der Stellglieder.
2. Bei einer Ablaufsteuerung werden die Ablaufschritte:
a) zeitlich nacheinander in strenger Reihenfolge durchlaufen;
b) willkürlich durchlaufen;
c) unabhängig von den Weiterschaltbedingungen durchlaufen;
d) in einer vom Programmierer festgelegten Reihenfolge durchlaufen;
e) in einer nach DIN 61131 festgelegten Reihenfolge durchlaufen.
3. Für die Darstellung der Ablaufschritte einer Ablaufsteuerung werden genormte Symbole
verwendet. Wie sind die nicht gekennzeichneten Eingänge eines Schrittes miteinander
verknüpft?
a) ODER-verknüft;
b) NAND-verknüft;
c) EXOR-verknüft;
d) UND-verknüft;
e) NOR-verknüft.
S_2
„a“
„d“
„b“ „c“
SPS-Fachkraft
Aufbaustufe 1
Erweiterte
Ablauf-
Steuerung
Kapitel 1
Seite 10
4. Zeichnen Sie die Feinstruktur (FUP) für den Schritt 2 der Schrittkette!
Grobstruktur Funktionsplan / Logikplan
5. Das Bestimmungszeichen „N“ (IEC 1131-3) bedeutet:
a) gespeichert und zeitlich begrenzt;
b) gespeichert und verzögert;
c) gespeichert;
d) nicht gespeichert;
e) nicht gespeichert und verzögert.
6. Ablaufsteuerungen werden zeitlich überwacht:
a) um die Zeit eines Programmdurchlaufes zu bestimmen;
b) um nach einer bestimmten Zeit den nachfolgenden Schritt zu aktivieren;
c) um Fehler im Ablauf zu erkennen und zu melden;
d) damit nach Netzausfall die Schrittkette neu gestartet werden kann;
e) damit die Schritte in der richtigen Reihenfolge durchlaufen werden.
7. Welcher Unterschied besteht bei Ablaufsteuerungen zwischen einer
zeitgeführten Ablaufsteuerung und einer prozessgeführten Ablaufsteuerung?
S_1
S_2
T1
SPS-Fachkraft
Aufbaustufe 1
Struktur des
Anwender-
programms
Kapitel 2
Seite 11
2. Struktur des Anwenderprogramms
Damit umfangreichere Steuerungsaufgaben mit möglichst geringem Zeitaufwand bearbeitet
werden können, muss die Gesamtaufgabe bereits bei der Aufgabenklärung in überschaubare
Teilaufgaben zerlegt werden. Für die Art der im Einzelfall gewählten Aufteilung sind
technologische und funktionelle Gesichtspunkte maßgebend.
Die auf diese Weise entstehende Gliederung der Steuerungsaufgabe soll auch in der Struktur
des Anwenderprogramms erkennbar sein. Man spricht in diesem Zusammenhang von einer
strukturierten Programmierung. Sie erleichtert die Programmerstellung, die Inbetriebsetzung
und eine eventuelle Fehlersuche.
FC`s und FB`s enthalten die verschiedenen nach technologischen Gesichtspunkten
gegliederten Teilprogramme; sie bilden den Kern des Anwenderprogramms.
OB`s dienen der Organisation der Programmbearbeitung. Alle Organisationsbausteine haben
spezielle Aufgaben, mit denen der Anwender das Betriebsverhalten des Automatisierungsgeräts
vielseitig beeinflussen kann.
Datenbausteine DB sind vom Anwender bei der Programmerstellung im Anwenderspeicher
reservierte Bereiche, in denen feste oder veränderbare Daten, wie z.B. Zahlenwerte, abgelegt
werden. Sie enthalten im Gegensatz zu allen anderen Bausteinarten keine
Steuerungsanweisungen.
Bausteinübersicht
Funktion (FC): FC`s enthalten Programmroutinen für häufig verwendete
Funktionen. Der Aufruf erfolgt durch OB`s oder übergeordnete
FC`s oder FB`s.
Funktionsbausteine (FB): FBs sind Bausteine mit „Gedächtnis“, die Sie selbst
programmieren. Der Aufruf erfolgt durch OB`s oder übergeordnete
FC`s oder FB`s.
Systemfunktionsbausteine SFB`s und SFC`s sind in die S7-CPU integriert und machen
(SFB) Ihnen einige wichtige Systemfunktionen zugänglich.
Organisationsbausteine (OB): Für übergeordnete Organisation der Programmbearbeitung. Der
Aufruf erfolgt durch das Systemprogramm.
Instanz-Datenbausteine Instanz-DB`s werden bei Aufruf eines FB/SFB dem Baustein (als
Instanz-DB) zugeordnet. Beim Übersetzen werden sie
automatisch generiert.
Datenbausteine (DB): DB`s sind Datenbereiche zur Speicherung von Anwenderdaten.
Zusätzlich zu den Daten, die jeweils einem Funktionsbaustein
zugeordnet sind, können globale Datenbausteine definiert und
von beliebigen Bausteinen genutzt werden.
Systemdatenbausteine SDB Systemdatenbausteine enthalten die in der „HW Konfig“ erstellten
Einstellungen der CPU.
Achtung: SDB’s sollten nicht einfach per „DRAG and DROP“ in eine CPU kopiert
werden, weil hierbei nicht überprüft wird, ob der richtige Ausgabestand der CPU vorliegt!
Beim Übertragen mit dem Werkzeug „HW Konfig“ findet diese Überprüfung statt.
SPS-Fachkraft
Aufbaustufe 1
Struktur des
Anwender-
programms
Kapitel 2
Seite 12
2. 1. Zyklische Bearbeitung des Anwenderprogramms
Das Anwenderprogramm besteht aus dem eigentlichen Steuerungsprogramm, in dem der
Programmablauf festgelegt ist, den Prozessdaten und Texten. Die zyklische Bearbeitung des
Steuerungsprogramms wird vom Organisationsbaustein OB 1 gesteuert. In ihm stehen der
Reihe nach die Aufrufe der einzelnen Teilprogramme. Die Aufrufe können unbedingt (UC,
CALL) oder bedingt (CC) sein. Die unbedingten Aufrufe werden immer ausgeführt, die
bedingten Aufrufe nur dann, wenn die Anweisung CC mit Verknüpfungsergebnis VKE = „1"
bearbeitet wird. Der Organisationsbaustein OB 1 kann im Anwenderprogramm nicht aufgerufen
werden, wohl aber am Anfang jedes Bearbeitungszyklus vom Betriebssystem.
In jedem Baustein können weitere Bausteine gleicher oder anderer Art aufgerufen werden. Mit
jedem Aufruf entfernt sich die Programmbearbeitung immer weiter vom OB 1. Die
Programmbearbeitung kehrt wieder in Richtung zum OB 1 zurück, wenn ein Baustein mit seiner
letzten Anweisung vollständig bearbeitet worden ist.
Mit der Operation BEB = bedingtes Bausteinende kann die Bearbeitung eines Bausteins unter
bestimmten Bedingungen auch vorzeitig verlassen werden. Mit der Anweisung BE oder BEA
kann der Baustein vorzeitig verlassen werden.
Die Datenbausteine enthalten nur Daten und Texte und keine Steuerungsanweisungen. Auf den
Inhalt der Datenbausteine greift das Steuerungsprogramm meist mit Hilfe von Lade- und
Transferoperationen zu.
Anwenderprogramm zyklisch bearbeitetes
Steuerungsprogramm
OB1
Organisation
der
Programm-
bearbeitung
UC FC 100
UC FC 120
UC FC 125
FC 100
Bearbeitungs-
Einheit 1
Call FC70
Call FB126,
DB126
FC 120
Transport
Call FB 126,
DB126
FC 125
Überwachung
Call FC 52
FC 70
Ablaufkette
FB 126
Einzelsteue-
rung
FC 52
Gebertest
DB 126
Instanz
DB
DB 10
Prozess-
daten
Daten, Texte
SPS-Fachkraft
Aufbaustufe 1
Struktur des
Anwender-
programms
Kapitel 2
Seite 13
2. 2. Schachtelungstiefe der Bausteine
Beim Eingeben und Übertragen der Bausteine des Anwenderprogramms in das
Automatisierungsgerät werden die einzelnen Bausteine der Reihe nach lückenlos im
Anwenderspeicher angeordnet. Die Lage eines Bausteins im Speicher ist durch seine
Baustein-Anfangsadresse festgelegt.
Damit der Prozessor bei einem Bausteinaufruf UC... /CC... /CALL... den Anfang des
betreffenden Bausteins im Speicher findet, trägt das Betriebssystem die Anhangsadressen aller
Bausteine in eine Bausteinadressenliste ein.
Damit der Prozessor den Rückweg zum OB 1 findet, speichert er bei jedem Aufruf eines neuen
Bausteins die Rücksprungadresse und die Anfangsadresse des an dieser Stelle gültigen
Datenbausteins in einem Kellerspeicher ab. Die Rücksprungadresse ist die Adresse der
Speicherzelle des Anwenderspeichers, in der sich die hinter einem Bausteinaufruf folgende
Anweisung befindet.
Der Kellerspeicher, auch Bausteinstack (B-STACK) genannt, hat nur eine begrenzte Anzahl von
Speicherzellen, so dass hintereinander nicht beliebig viele Bausteine aufgerufen werden dürfen.
Die Anzahl der einschließlich des Organisationsbausteins nacheinander aufgerufenen
Bausteine wird „Schachtelungstiefe" genannt. Die Schachtelungstiefe ist CPU-abhängig und
darf nicht überschritten werden.
Bitte beachten!
Beim Überschreiten der zulässigen Gesamt-Schachtelungstiefe schaltet das
Automatisierungsgerät in den Stoppzustand.
2. 3. Verknüpfungsergebnis bei den Operationen UC, CALL, CC, BE, BEB, BEA
In Einzelfällen muss bei der Programmerstellung das Verhalten des Verknüpfungsergebnisses
(VKE) beim Übergang der Programmbearbeitung von einem zum anderen Baustein
berücksichtigt werden:
CALL bzw. UC
FC1
= Unbedingter Bausteinaufruf
U E 0.3
CC FC 1 = Bedingter Bausteinaufruf
VKE = „1”
Sprung zum aufgerufenen
Baustein FC 1 wird ausgeführt
Kein Sprung:
VKE wird „1”
Das Verknüpfungsergebnis bleibt bis zur nächstfolgenden Abfrageoperation
erhalten.
VKE bleibt „1”
Ja
Nein
SPS-Fachkraft
Aufbaustufe 1
Struktur des
Anwender-
programms
Kapitel 2
Seite 14
Die unbedingten Operationen CALL bzw. UC (Bausteinaufruf), BE (Bausteinende), bzw. BEA
(Bausteinende absolut) werden bei der Programmbearbeitung immer ausgeführt. Das
Verknüpfungsergebnis wird beim Übergang von einem zum anderen Baustein unverändert
mitgenommen. Es bleibt nach einem Bausteinwechsel so lange erhalten, bis die nächste
Abfrageoperation (U..., 0..., UN..., ON...) bearbeitet wird.
Die bedingten Operationen CC (bedingter Sprung) und BEB (bedingtes Bausteinende) werden
vom Prozessor nur dann ausgeführt, wenn bei ihrer Bearbeitung das Verknüpfungsergebnis
(VKE) „1" ist. Sie sind also abhängig vom Ergebnis der direkt vor ihnen bearbeiteten
Abfrageoperationen. Das Verknüpfungsergebnis bleibt beim entsprechenden Bausteinwechsel
unverändert (VKE = „1").
Werden dagegen die beiden Operationen mit VKE = „0" bearbeitet, so findet ein
Bausteinwechsel nicht statt. Die Programmbearbeitung wird in demselben Baustein fortgesetzt.
In diesem Fall muss beachtet werden, dass das Verknüpfungsergebnis von „0" nach „1"
wechselt; die auf die Operation CC, bzw. BEB folgende Operation wird demnach auch mit
VKE = „1" bearbeitet. In beiden Fällen bleibt aber auch hier das Verknüpfungsergebnis „1" nur
bis zur nächstfolgenden Bearbeitung einer Abfrageoperation erhalten.
= bedingtes Bausteinende
BE bzw. BEA
= unbedingtes
Bausteinende
U E 0.3
BEB
VKE = ”1”
Rücksprung zum aufrufenden
Baustein
Kein Sprung:
VKE wird “1”
Das Verknüpfungsergebnis bleibt bis zur nächstfolgenden Abfrageoperation
erhalten.
VKE bleibt “1”
Ja Nein
SPS-Fachkraft
Aufbaustufe 1
Struktur des
Anwender-
programms
Kapitel 2
Seite 15
2. 4. Programmieren nach dem Flussdiagramm
Flussdiagramm ist eine Möglichkeit zur Darstellung der Programmstruktur eines Steuerungs-
programms. Besonders bei Ablaufsteuerungen sind Flussdiagramme oft zweckmäßiger als
Funktionsplandarstellungen. An dieser Stelle sollen einige der wichtigsten genormten Symbole
vorgestellt werden.
Eingabe- / Ausgabe-Symbol
Operationen für arithmetische
Berechnungen und Datentransfer
Verzweigung für
Entscheidungen
Unterprogramme
Verbindungs- /
Übergangsstelle
Grenzstelle z. B. für Start
und Stopp
Flusslinie zur Verbindung
der Symbole
Zusammenführung
SPS-Fachkraft
Aufbaustufe 1
Struktur des
Anwender-
programms
Kapitel 2
Seite 16
2. 4. 1. Sprungbefehl
Sollen Programmteile übersprungen werden, um dadurch eine Verkürzung des Zyklus zu
erreichen (z.B. bei Zählvorgängen), oder bei der Programmierung nach dem Flussdiagramm,
bietet der Sprungbefehl erhebliche Vorteile.
Beim „bedingten Sprung" (SPB) wird der Sprung nur dann ausgeführt, wenn die Bedingung zur
Durchführung des Sprungs erfüllt ist, d.h. wenn das Verknüpfungsergebnis logisch „1" ist
(VKE = 1). Damit wird eine Programmverzweigung realisiert.
Es wird deutlich, dass, wenn die Sprungbedingung erfüllt ist, E 0.4 = „1", ein Sprung
durchgeführt wird, d.h. Programm P1 wird übersprungen. Dieser Sprung heißt deshalb
„Bedingter Sprung" (SPB).
Ist dagegen die Sprungbedingung nicht erfüllt, so wird das Programm P1 abgearbeitet und
anschließend, ohne dass eine Bedingung erfüllt sein muss, Programm P2 übersprungen.
Diesen Sprungbefehl nennt man daher auch „unbedingten Sprung" (SPA).
In Step 7 gibt es 17 verschiedene Sprünge in Bausteinen. Hier sollen nur die gebräuchlichsten
genannt werden.
Beispiel:
Ist E 0.4 = „1”, so wird Programm 2
abgearbeitet.
Ist dagegen E 0.4 = „0”, so wird Programm 1
abgearbeitet
E 0.4
1
Programm 1 Programm 2
nein
ja
E 0.4
1
Programm 1
Programm 2
nein
ja
SPA
Hier wird das Beispiel einmal anders dargestellt:
SPS-Fachkraft
Aufbaustufe 1
Struktur des
Anwender-
programms
Kapitel 2
Seite 17
Regeln für Marken:
Das erste der 4 Zeichen einer Marke darf keine Zahl sein!
Es kann nur zu Marken in einem Baustein gesprungen werden.
Es kann über mehrere Netzwerke gesprungen werden
(ca. +32.000 / -32.000 Programmwörter).
Eine Marke endet bei ihrer Platzierung immer mit einem Doppelpunkt.
Beispiel: M001: NOP 0
Eine Marke kann nicht auf einer leeren Zeile stehen.
Lösungsvorschlag 1:
U E 0.4 // Sprungbedingung
SPB M001 // Sprungadresse, zu der ein bedingter Sprung
// erfolgen soll
// Programm 1
O E 0.0 // Ein
O A 4.0 // Ausgang 4.0
U E 0.1 // Aus
= A 4.0 // Ausgang 4.0
O E 0.2 // Ein
O A 4.1 // Ausgang 4.1
U E 0.3 // Aus
= A 4.1 // Ausgang 4.1
SPA M002
// Programm 2
M001: O E 0.2 // Ein
O A 4.2 // Ausgang 4.2
U E 0.1 // Aus
= A 4.2 // Ausgang 4.2
M002: NOP 0
// Erklärung: U E 0.4 Programm 2 gewählt
// UN E 0.4 Programm 1 gewählt
// Nach Abarbeitung des Programm 1 wird das
// Programm 2 übersprungen.
SPA Springe absolut zu
Marke
SPB Springe bedingt zu
Marke X000
SPBN Springe bedingt zu
Marke X000, wenn die
Bedingung nicht erfüllt
ist.
AWL
KOP / FUP
SPS-Fachkraft
Aufbaustufe 1
Struktur des
Anwender-
programms
Kapitel 2
Seite 18
Allerdings ist nun noch zu bedenken, dass beispielsweise die Sprungbedingung nicht erfüllt ist
und somit Programm P1 abgearbeitet wurde, also die Ausgänge A 4.0 und A 4.1 eingeschaltet
sind. Während nun das weitere Programm durchlaufen wird, kann sich jedoch die
Sprungbedingung ändern, so dass im nächsten Zyklus der Sprung durchgeführt, d.h. Programm
P2 abgearbeitet und Programm P1 übersprungen wird. Das hat zur Folge, dass die
Bedingungen für die Ein- und Ausschaltung von A 4.0 und A 4.1 überhaupt nicht mehr
abgefragt werden, folglich im beschriebenen Fall beide Ausgänge eingeschaltet bleiben, obwohl
die Bedingung dafür nicht mehr gegeben ist.
Dies muss verhindert werden!
Aus diesem Grund werden vor Beginn des Programms P2 zuerst A 4.0 und A 4.1
ausgeschaltet. Da dieser Vorgang aber auch in umgekehrter Reihenfolge ablaufen kann, muss
ebenso vor dem Programm P1 eine Abschaltung der im Programm P2 eventuell
eingeschalteten Ausgänge erfolgen (im vorliegenden Beispiel A 4.2).
Während vor dem Programm P2 die Ausgänge bei Verknüpfungsergebnis „1" (VKE „1")
ausgeschaltet wurden, erfolgt dies vor dem Programm P1 bei VKE = „0", weshalb eine
Negierung erforderlich ist.
Das bedeutet grundsätzlich:
Die Anweisung = N .... kann von vielen Geräten nicht erfüllt werden.
Daraus ergibt sich:
Soweit muss im Beispiel die Ausschaltung von Ausgang A 4.2 mit der Zuweisung = A 4.2
erfolgen.
Natürlich kann die Bedingung für die Ausführung des Sprungs so lauten, dass ein Operand
nicht eingeschaltet oder die Einschaltbedingung nicht erfüllt ist.
Bei VKE = „1": Einschalten mit = ...
Ausschalten mit = N...
Bei VKE = „0": Einsschalten mit = N...
Ausschalten mit = ...
U E 0.1 // Bedingung
NOT // Negierung des
// VKE
= A 4.0 // Zuweisung
AWL
KOP / FUP
SPS-Fachkraft
Aufbaustufe 1
Struktur des
Anwender-
programms
Kapitel 2
Seite 19
Lösungsvorschlag 2:
U E 0.4 // Sprungbedingung
SPB M010 // Sprungadresse, zu der bedingt gesprungen
// werden soll
NOT // Ausschalten der in Programm 2 eventuell
// eingeschalteten Operanden
// VKE = 1
= A 4.2 // Ausgang 4.2
// Programm 1
O E 0.0 // Ein
O A 4.0 // Ausgang 4.0
U E 0.1 // Aus
= A 4.0 // Ausgang 4.0
O E 0.2 // Ein
O A 4.1 // Ausgang 4.1
U E 0.3 // Aus
= A 4.1 // Ausgang 4.1
SPA M020 // Absoluter Sprung
M010: NOT // Ausschalten der in Programm 1 eventuell
// eingeschalteten Operanden VKE = 1
= A 4.0 // Ausgang 4.0
= A 4.1 // Ausgang 4.1
// Programm 2
O E 0.2 // Ein
O A 4.2 // Ausgang 4.2
U E 0.1 // Aus
= A 4.2 // Ausgang 4.2
M020: BE
SPS-Fachkraft
Aufbaustufe 1
Struktur des
Anwender-
programms
Kapitel 2
Seite 20
Flussdiagramm für ein Beispiel:
A 4.0 = Aus -0-
A 4.1 = Ein -1-
E 0.0
1
ja
nein
SPA
E 0.0
1
ja
nein
A 4.0 = Ein -1-
A 4.1 = Aus -0-
A 4.0 = Aus -0-
A 4.1 = Ein -1-
A 4.0 = Ein -1-
A 4.1 = Aus -0-
Lösungsvorschlag 3:
UN E 0.0 // Sprungbedingung
SPB M001 // Sprungadresse zu der bedingt gesprungen
// werden soll
= A 4.1 // Ausgang 4.1
NOT // Negiert das VKE
= A 4.0 // Ausgang 4.0
SPA M002 // Absoluter Sprung
M001: = A 4.0 // Ausgang 4.0
UN A 4.0 // Ausgang 4.0
= A 4.1 // Ausgang 4.1
M002: BE
SPS-Fachkraft
Aufbaustufe 1
Struktur des
Anwender-
programms
Kapitel 2
Seite 21
2. 5. Datenbausteine
Datenbausteine sind Bausteine, die von den Codebausteinen des Anwenderprogramms zum
Speichern von Werten verwendet werden. Im Gegensatz zu temp. Daten werden die Daten im
Datenbaustein nicht überschrieben, wenn die Bearbeitung des Codebausteins beendet bzw.
der DB geschlossen wird.
Datenbausteine dienen zur Aufnahme von Anwenderdaten. Datenbausteine belegen, wie auch
die Codebausteine, Platz im Anwenderspeicher. In den Datenbausteinen stehen variable Daten
(z.B. Zahlenwerte), mit denen das Anwenderprogramm arbeitet.
Das Anwenderprogramm kann auf die Daten eines Datenbausteins über Bit-, Byte-, Wort- oder
Doppelwortoperationen zugreifen. Der Zugriff kann symbolisch oder absolut erfolgen.
Datenbausteine können, abhängig von ihrem Inhalt, vom Anwender unterschiedlich eingesetzt
werden.
Die Anzahl der Datenbausteine ist abhängig von der verwendeten CPU. Die max.
Bausteinlänge beträgt 8 Kbyte bei der S7-300 und 64 Kbyte bei der S7-400.
Man unterscheidet:
.
Globale Datenbausteine: Sie enthalten Informationen, auf die von allen Codebausteinen des
Anwenderprogramms zugegriffen werden kann.
Instanz-Datenbausteine: Sie sind immer einem FB zugeordnet. Die Daten dieses DB's sollten
nur vom zugehörigen FB bearbeitet werden.
Multiinstanz-Datenbausteine: Sie sind immer einem FB zugeordnet und werden in der Regel
von einer Aufrufhierarchie weiterer FB's benutzt.
2. 5. 1. Erstellung von DB's
Globale DB's werden entweder über den DB-Editor oder gemäß eines vorher angelegten
„anwender-definierten Datentyp" (UDT) erstellt.
Instanz- bzw. Multiinstanz- DB's werden immer mit Bezug zu einem FB erstellt. Der DB-Editor
wird durch einen „Doppelklick" auf einen DB im SIMATIC-Manager gestartet.
Für Datenbausteine lassen sich über den Eigenschaftsdialog zusätzlich vereinbaren:
Unlinked DB:
Datenbausteine, die mit dem Attribut „Unlinked" versehen wurden, werden beim Übertragen
lediglich im Lade- und nicht im Arbeitsspeicher abgelegt. Werden die Vorgabedaten dieser
„Unlinked Datenbausteine" im Arbeitsspeicher benötigt, so kann der Inhalt des DB's mit dem
SFC 20 (Blocktransfer) in einen freien Hauptspeicherbereich (z.B. DB) übertragen werden.
Schreibgeschützt:
Datenbausteine können gegen Überschreiben aus dem Anwenderprogramm geschützt werden.
SPS-Fachkraft
Aufbaustufe 1
Struktur des
Anwender-
programms
Kapitel 2
Seite 22
2. 5. 1. 1. Datentypen bei Step 7
2. 5. 1. 1. 1. Elementare Datentypen bei Step 7
Elementare
Datentypen
(bis zu 32 Bit)
Bit-Datentypen (BOOL, BYTE, WORD, DWORD, CHAR)
Arithmetische Datentypen (INT, DINT, REAL)
Zeittypen (S5TIME, TIME, DATE, TIME_OF_DAY)
Zusammengesetzte
Datentypen
(größer als 32 Bit)
Zeittyp (DATE_AND_TIME)
Feld (ARRAY)
Struktur (STRUCT)
Zeichenkette (STRING)
Anwenderdefinierte
Datentypen
(größer als 32 Bit)
Datentyp UDT (User Defined Type)
Schlüsselwort Breite (in Bits) Beispiel einer Konstanten dieses Typs
BOOL
1 1 oder 0
BYTE 8 B#16#A9
WORD 16 W#16#12AF
DWORD 32 DW#16#ADAC1EF5
CHAR 8 ´w´
S5TIME
16 S5T#5s_200ms
INT 16 123
DINT 32 65539
REAL 32 1.2 oder 34.5E-12
TIME
32 T#2D_3H_2M_37S_15MS
DATE 16 D#1994-03-21
TIME_OF_DAY 32 TOD#12:22:38.13
SPS-Fachkraft
Aufbaustufe 1
Struktur des
Anwender-
programms
Kapitel 2
Seite 23
2. 5. 1. 2. Datentypen in Datenbausteinen
Datentypenlegen die Eigenschaften von Daten fest, d.h. die Darstellung des Inhalts eines oder
mehrerer zusammengehörender Operanden und die zulässigen Wertebereiche.
Außerdem werden über den Datentyp auch die möglichen Operationen festgelegt.
Bild: Datentypen in Datenbausteinen
2. 5. 1. 3. Felder und Strukturen in Datenbausteinen
2. 5. 1. 3. 1. Feld
Im folgenden Bild ist das Feld „Messpunkte" mit 6 Elementen vom Datentyp Integer dargestellt.
In diesem Feld sollen später verschiedene Messwerte abgespeichert werden.
Bei der Deklaration eines Feldes wird das Schlüsselwort ARRAY [n..m] verwendet. In der
eckigen Klammer werden das erste und das letzte Element angegeben. Anstelle von 1..6 kann
z.B. genauso 0..5 definiert werden, das beeinflusst nur den Zugriff auf die Elemente.
Bild: Feld
Datentypen bei STEP 7
Elementare Datentypen (bis zu 32Bit)
Bit-Datentypen (BOOL, BYTE, WORD, DWORD, CHAR)
Arithmetische Datentypen (INT, DINT, REAL)
Zeittypen (S5TIME, TIME, DATE, TIME_OF_DAY)
Zusammengesetzte Datentypen
Zeittyp (DATE_AND_TIME)
Feld (ARRAY[....]
OF....)
Struktur (STRUCT... END_STRUCT)
STRING (Zeichenketten)
Definition eigener Datentypen
Anwenderdefinierter Datentyp UDT (User Defined Datatype)
SPS-Fachkraft
Aufbaustufe 1
Struktur des
Anwender-
programms
Kapitel 2
Seite 24
2. 5. 1. 3. 2. Struktur
Im folgenden Bild ist ein Beispiel für eine Struktur mit dem Namen Motordaten dargestellt. Die
Struktur besteht aus mehreren Elementen mit unterschiedlichen Datentypen.
Als Schlüsselwort für eine Struktur wird „STRUCT" verwendet. Das Ende der Struktur wird mit
„END_STRUCT" gekennzeichnet.
Bild: Struktur
Es ist bei der Strukturierung von Datenbausteinen darauf zu achten, dass Datentypen
mit der Länge 16 Bit bzw. 32 Bit immer auf einer geraden Adresse beginnen (siehe das
obige Bild). Um nicht zuviel Speicherplatz zu verschwenden, sollten möglichst gleiche
Datentypen zu einem Block zusammengefasst werden.
Daten eingeben:
In der Tabelle werden die einzelnen Datenelemente eingetragen. Die Spalten haben folgende
Bedeutung:
Name - symbolischer Name für das Element
Typ - Datentyp (Auswahl über rechte Maustaste)
Anfangswert - dient zum Vorbesetzen eines Elementes. Kein Eintrag bedeutet
eine Vorbesetzung mit dem Wert Null.
Kommentar - zur Dokumentation des Datenelementes (muss nicht ausgefüllt
werden).
SPS-Fachkraft
Aufbaustufe 1
Struktur des
Anwender-
programms
Kapitel 2
Seite 25
2. 5. 2. Aufruf von Datenbausteinen
Bild: Aufruf von Datenbausteinen
DB aufschlagen
Mit der Anweisung „AUF DB..." wird ein globaler Datenbaustein geöffnet (aufgeschlagen). Wenn
schon ein globaler DB geöffnet war, wird dieser geschlossen.
2. 5. 2. 1. Zugriff auf DB’s
Im oberen Bild sind die Anweisungen dargestellt, mit denen lesend (Laden) und schreibend
(Transferieren) auf den DB zugegriffen werden kann.
2. 5. 2. 2. Symbolischer Zugriff
Bei symbolischem Zugriff wird der Symbolname des Datenbausteins in die Symboltabelle
eingetragen.
Den einzelnen Datenelementen des Datenbausteins werden mit dem KOP/AWL/FUP-Editor
symbolische Namen zugeordnet.
Damit ist ein voller symbolischer Zugriff auf ein Datenelement möglich, z.B. mit der Anweisung
L Werte.Zahl_1. Hierbei wird der DB19 geöffnet („Werte" ist der Symbolname des DB 19) und
das Datenwort 2 geladen („Zahl_1" ist der Symbolname des DW 2).
Zugriff auf die Datenelemente
AUF DB 19
AUF Werte
Kombinierte Anweisung
(beinhaltet "AUF DB..")
L DBW 2 Datenwort 2 laden
T DBW 4 Transferieren ins Wort 4
L 'A'
ASCII Zeichen A laden
L DBB28 Datenbyte 28 laden
U DBX 0.0 Bit 0 vom Byte 0 abfragen
L DB19.DBW4 Datenwort 4 vom DB 19 laden
L Werte.Zahl_1 Symbolischer Zugriff auf die
Variable "Zahl_1".
Der DB19 hat den Symbolnamen
"Werte".
U DB10.DBX4.7 Bit 7 vom Byte 4 aus DB 10 abfragen
Datenbausteine
aufschlagen
Zugriff auf Datenelemente
in Datenbausteinen
SPS-Fachkraft
Aufbaustufe 1
Struktur des
Anwender-
programms
Kapitel 2
Seite 26
2. 6. Parametrierbare Bausteine
Parametrierbare Bausteine haben den Vorteil, dass man den selben Baustein mehrmals
verwenden kann. Dies spart bei großen Programmen Speicherplatz in der CPU.
Um Bausteine parametrieren zu können, muss zuerst eine Schnittstelle geschaffen werden.
Diese Schnittstelle nennt man Deklarationstabelle.
Die Deklarationstabelle von parametrierbaren Bausteinen beinhaltet die Parametereinträge (IN,
OUT, IN_OUT) mit Name, Typ und evtl. Kommentar. Diese Formalparameter
(Formaloperanden) werden beim Programmieren des Bausteins verwendet.
Beim Aufruf eines parametrierbaren Bausteins werden ihm vom aufrufenden Baustein Daten
übergeben: seinen Formalparametern werden Aktualparameter (Aktualoperanden)
zugeordnet.
Es kann z.B. der Baustein FC4 beliebig oft aufgerufen werden. Bei jedem Aufruf wird ihm
mitgeteilt von welcher Adresse der zu wandelnde Wert gelesen und wohin der gewandelte Wert
geschrieben werden soll.
Der FC4 führt bei jedem Aufruf die gleiche Formatwandlung mit immer neuen
Formalparametern durch.
2. 6. 1. Aufbau der Variablendeklarationstabelle
Diese Tabelle dient zur Deklaration lokaler Bausteindaten (Variablen).
Die möglichen Typen werden in der Folge erklärt.
Formal-Parameter
Eingangsparameter (IN): übergeben Daten an den aufgerufenen Baustein.
Ausgangsparameter (OUT): übergeben Ergebnisse an den aufrufenden
Baustein.
Durchgangsparameter (IN_OUT): übergeben Daten an den aufgerufenen Baustein
und nach deren Bearbeitung an den aufrufenden
Baustein zurück.
Daten:
Statische Daten (STAT): sind Lokaldaten eines Funktionsbausteins, die
im Instanz- DB gespeichert werden und deshalb
bis zur nächsten Bearbeitung des
Funktionsbausteins erhalten bleiben.
Temporäre Daten (TEMP): sind Lokaldaten eines Bausteins, die während
der Bearbeitung des Bausteins im Lokaldaten-
Stack (L-Stack) abgelegt werden und nach der
Bearbeitung nicht mehr verfügbar sind.
SPS-Fachkraft
Aufbaustufe 1
Struktur des
Anwender-
programms
Kapitel 2
Seite 27
2. 6. 2. Lokaldatenstack
Bevor eine Funktion aufgerufen wird, reserviert das System dynamisch Speicher auf dem
L-Stack für die im Deklarationsteil vereinbarten Variablen. Nach dem Verlassen der Funktion
wird der Speicher automatisch freigegeben. Je nach CPUsteht ein fester oder veränderbarer
Speicherbereich für den L-Stack (Lokaldatenspeicher) zur Verfügung, wird die maximale Größe
dieses Speichers überschritten, geht die CPU in Stop.
Vorteil: Die Verwaltung der Variablen wird vom Betriebssystem durchgeführt und muss
nicht vom Anwender organisiert werden.
Bild: Ein typisches Beispiel für die Belegung des L-Stack
Achtung:
Da die temporären Daten im L-Stack dynamisch verwaltet werden, können sie nicht als
Flanken- oder Impulsmerker bei „Wischern" verwendet werden!
Ablage der temporären Variablen im L-Stack
1 2
LD für OB1
10
20
LD für OB1
10
20
33
44
LD für OB1
3 4
FC 1
EN
ein1
ENO
10
ein2 20
OB 1: Titel
Netzwerk 1: Titel
Netzwerk 2 : Titel
FC 2
EN
IN1
ENO
33
IN2 44
FC 1 : Titel
Netzwerk 1: Titel
FC 2 : Titel
Netzwerk 1: Titel
1 2
3
4
SPS-Fachkraft
Aufbaustufe 1
Struktur des
Anwender-
programms
Kapitel 2
Seite 28
Im folgenden Bild sieht man ein Beispiel einer Deklarationstabelle eines Funktionsbausteins.
Bild: Deklarationsteil eines FB
Adresse: wird automatisch vergeben und bedeutet eigentlich ein Adressenversatz
mit dem Format Byte.
Auch hier müssen 16-bit- bzw. 32-bit-Operationen, wie bei DB's auf einer
geraden Adresse beginnen. Ebenso sollten möglichst gleiche Datentypen
zu einem Block zusammengefasst werden.
Name: symbolischer Name, der nur innerhalb der Bausteingrenzen gültig ist.
Typ: alle Datentypen sind zulässig (BOOL, INT, WORD, ARRAY, ...)
Anfangswert: Anlaufwert der Variablen. Lässt der Anwender das Feld bei der
Deklaration frei, wird automatisch der Default-Wert eingetragen.
Kommentar: optionales Feld für den Variablen beschreibenden Kommentar (max. 80
Zeichen).
SPS-Fachkraft
Aufbaustufe 1
Struktur des
Anwender-
programms
Kapitel 2
Seite 29
2. 6. 3. Instanz-Datenbausteine
Instanz- Datenbausteine können zwar ebenso erzeugt werden wie „normale" Datenbausteine,
dies ist aber nicht sinnvoll.
Beim Aufruf von parametrierbaren Funktionsbausteinen werden vom SIMATIC-Manager die
Instanz-Datenbausteine automatisch erzeugt (nach Rückfrage).
Bild: Deklarationstabelle und zugehöriger Instanz-Datenbaustein
Struktur
Wenn ein DB erzeugt und einem FB zugeordnet wird, erstellt STEP 7 die Datenstruktur des
Datenbausteins entsprechend der Datenstruktur der lokalen Deklarationstabelle des
Funktionsbausteins. Nach dem Sichern des DB wird der Datenbaustein erstellt und kann
anschließend als „Instanz-DB“ verwendet werden.
Instanz-Datenbausteine
Deklarationsteil
des Funktions-
bausteins
Instanzdaten-
baustein
SPS-Fachkraft
Aufbaustufe 1
Struktur des
Anwender-
programms
Kapitel 2
Seite 30
Register
Die CPU besitzt zwei Datenbausteinregister, die Register DB und DI. Somit können zwei
Datenbausteine gleichzeitig geöffnet sein.
Beim Aufruf eines Datenbausteins in einem bereits belegten Register, wird der vorherige
Datenbaustein automatisch geschlossen.
Jeder Datenbaustein kann in jedem Register verwendet werden (Instanz- DB's werden
automatisch im DI-Register geöffnet).
Zugriff auf einen Datenbaustein im DB-Register:
DB-Register DI-Register
AUF DB 1 (DB-Register1) (DB-Register2)
L DBW 0
oder
L DB1.DBW 0
Zugriff auf einen Datenbaustein im DI-Register:
DB-Register DI-Register
AUF DI 4 (DB-Register1) (DB-Register2)
L DIW 10
DB4
DB1
SPS-Fachkraft
Aufbaustufe 1
Struktur des
Anwender-
programms
Kapitel 2
Seite 31
2. 6. 3. 1. Multiinstanz Modell
In dem bisher üblichen Instanzenmodell musste für einen Funktionsbaustein, der mehrmals im
Programm aufgerufen wurde, für jeden Aufruf ein anderer DB erzeugt werden.
Im Multi-Instanz-Modell ist es nun möglich, für mehrere Aufrufe einen einzigen DB zu
verwenden. Dazu ist noch ein zusätzlicher FB notwendig, der diese Instanzen verwaltet. Dieser
FB wird einmal aufgerufen, der DB wird nur ein einziges Mal erzeugt.
Vorteile des Multiinstanz-Modells:
Für mehrere Instanzen wird nur ein DB benötigt.
Beim Anlegen der „privaten" Datenbereiche für die jeweiligen Instanzen ist keine
zusätzliche Verwaltungsarbeit notwendig
Das Multiinstanz-Modell ermöglicht einen „objektorientierten Programmierstil".
Maximale Schachtelungstiefe von 8.
Voraussetzungen an die FB’s:
Auf Prozesssignale darf innerhalb des FB's nicht direkt (E, A) zugegriffen
werden.
Zugriff auf Prozesssignale bzw. Kommunikation mit anderen Prozesseinheiten
darf nur über FB- Parameter erfolgen
Prozesszustände darf sich der FB nur in seinen statischen Variablen merken,
nicht in globalen DB's oder „Merkern"
Hinweis:
Auf Instanzdaten kann auch von „Außen" zugegriffen werden z.B. im OB1:
L „Pressenstrasse".Presse_2.Stempel.<VarName>
Bild: Multi-Instanzmodell
Das Multi-Instanzmodell
Call FB10, DB10
Call FB10, DB11
Call FB10, DB12
Call Regler_1
Call Regler_2
Call Regler_3
DB10
DB11
DB12
DB10
Das Instanz-Modell Das Multi-Instanz-Modell
FB10
FB10
FB10
stat Regler_1 FB10
stat Regler_2 FB10
stat Regler_3 FB10
OB 1
FB 100, DB10
SPS-Fachkraft
Aufbaustufe 1
Struktur des
Anwender-
programms
Kapitel 2
Seite 32
2. 7. Symbolische Programmierung
Bei der absoluten Adressierung wird direkt die Adresse (z.B. des Eingangs E 0.0) angegeben.
In diesem Fall ist keine Symbolliste erforderlich, das Programm ist aber schlechter lesbar.
Um bei größeren Anlagen die Übersichtlichkeit zu erhöhen, ist es ratsam symbolisch zu
adressieren.
Bei der symbolischen Adressierung werden Symbole (z.B. MOTOR_EIN) anstelle der absoluten
Adressen verwendet. Die Symbole für Eingänge, Ausgänge, Zeiten, Zähler, Merker und
Bausteine sind in der Symbolliste hinterlegt.
Es gibt in Step 7 zwei Arten von Symbolik:
1. Die globale Symbolik (z.B.: “Hand”)
2. Die lokale Symbolik (z.B.: #Hand)
Wobei von der Software immer zuerst in der lokalen Symbolik und danach in der globalen
Symbolik ein Symbol gesucht wird.
2. 7. 1. Erstellen der Symbolik
Die globale Symbolik wird mit dem Symbolikeditor (Symbolikdatei) erstellt.
Die lokale Symbolik wird mit dem jeweiligen Programmeditor erstellt.
Ein Symbol darf in der S7 maximal 24 Zeichen haben.
Ein Symbolkommentar darf maximal 80 Zeichen haben.
Bild : Symbolische Programmierung
Symbolische Adressierung - Übersicht
Wofür gibt es Symbole? Wo werden sie abgelegt? Womit werden sie erstellt?
Globale Daten: Symbolliste Symbol-Editor
- Eingänge
- Ausgänge
- Merker, Zeiten, Zähler
- Periphere-E/A
Bausteinlokale Daten: Deklarations -Teil des Programm-Editor
- Bausteinparameter Bausteins
- lokale / temporäre Daten
Sprungmarken Anweisungs -Teil des Programm-Editor
Bausteins
Bausteinnamen: Symbolliste Symbol-Editor
- OB
- FB
- FC
- DB
- VAT
- UDT
Datenbausteinkomponenten Symbolik-Teil des DB Programm-Editor
SPS-Fachkraft
Aufbaustufe 1
Struktur des
Anwender-
programms
Kapitel 2
Seite 33
2. 8. Fragen zur Wiederholung
1. In welchem Baustein wird im Normalfall die Struktur der
Programmbearbeitung festgelegt?
a) Funktion;
b) Organisationsbaustein;
c) Datenbaustein;
d) Funktionsbaustein;
e) Systemdatenbaustein
2. Für häufig wiederkehrende Programmteile braucht man das Programm nur
einmal in einem bestimmten Baustein abzulegen. Dieser Baustein kann
beliebig oft aufgerufen werden. Um welchen Baustein handelt es sich?
a) Organisationsbaustein;
b) Funktion;
c) Funktionsbaustein;
d) Datenbaustein;
e) Bibliotheksbaustein;
3. Welcher Baustein wird in der SPS ohne Bausteinaufruf immer zyklisch abgearbeitet?
a) DB1;
b) SDB1;
c) OB35;
d) FB10;
e) OB1;
4. Im FC1 steht folgende Anweisung: „Call FC1“. Was ist die Folge?
a) Alle Ausgänge der SPS werden aktiviert;
b) Diese Anweisung nimmt das Programmiergerät nicht an;
c) Es läuft immer das Programm im FC1;
d) Diese Anweisung wird bei zyklischer Bearbeitung übersprungen. Keine Folgen;
e) Die SPS geht in Stopp-Zustand;
SPS-Fachkraft
Aufbaustufe 1
Struktur des
Anwender-
programms
Kapitel 2
Seite 34
5. Welche Bedeutung hat folgende Anweisung? „UC FC10“
a) absoluter Bausteinaufruf des FC10;
b) beenden der Bearbeitung des FC 10;
c) keine Bedeutung;
d) bedingter Bausteinaufruf des FC 10;
e) der FC 10 wird nur ein einziges Mal bearbeitet;
6. Die Kurzbezeichnung für einen unbedingten Bausteinaufruf heißt:
a) SPA;
b) Call;
c) CC;
d) UC;
e) AUF;
7. Für welche Programmteile eines SPS-Programms eignet sich nachstehendes Symbol in
einem Flussdiagramm?
8. Skizzieren Sie eine Programmverzweigung in einem Flussdiagramm!
9. Welcher Zusammenhang besteht bei Funktionsbausteinen zwischen Formal- und
Aktualoperanden?
10. Wozu dient die Symbolikdatei?
SPS-Fachkraft
Aufbaustufe 1
Struktur des
Anwender-
programms
Kapitel 2
Seite 35
11. Beschreiben Sie den Aufbau und Zweck von Datenbausteinen!
12. Wie werden Informationen in einem Datenbaustein abgelegt, bzw in einem
Datenbaustein abgelegte Informationen einem Steuerungsprogramm zur
Verfügung gestellt?
13. Was verstehen Sie unter strukturierter Programmierung?
14. Was bezeichnet man auch als „Schnittstelle“ eines Bausteins?
15. Welcher Unterschied besteht zwischen den Anweisungen BE, BEB und BEA?
16. Wie verhält sich das VKE bei der Anweisung „SPB M001“?
a) ist die Bedingung erfüllt, erfolgt ein Sprung und das VKE wird „0“;
b) ist die Bedingung nicht erfüllt, erfolgt kein Sprung und das VKE wird „1“;
c) ist die Bedingung erfüllt, erfolgt kein Sprung und das VKE wird „1“;
d) ist die Bedingung erfüllt, erfolgt ein Sprung, die folgende Bedingung ist eine
Erstabfrage
e) es erfolgt immer ein Sprung, die folgende Bedingung ist eine Erstabfrage;
SPS-Fachkraft
Aufbaustufe 1
AKKU-
Operationen
Kapitel 3
Seite 36
3. AKKU-Operationen
3. 1. Laden und Transferieren von Byte, Wort, Doppelwort
Die Lade- und Transferoperationen ermöglichen den Informationsaustausch zwischen den
verschiedenen Operandenbereichen. Es sind unbedingte Operationen, die unabhängig vom
Verknüpfungsergebnis ausgeführt werden.
,
Mit der Operation Laden wird ein Byte, Wort oder ein Doppelwort in einem Register, dem
Akkumulator 1 (abgekürzt AKKU 1), zwischengespeichert. Der AKKU hat eine Länge von 32 Bit.
Werden ein Byte oder ein Wort in einen AKKU mit größerer Länge geladen, so wird die
Information immer rechtsbündig im AKKU abgelegt; die links stehenden, nicht benutzten
Bitstellen werden in den Zustand „0" gesetzt.
Bsp.: Wird ein bytebreiter Operand geladen, steht die Information rechtsbündig in Akkumulator
1. Es werden also die Bits 0 bis 7 belegt; die restlichen Bits im Akkumulator (8 bis 31) werden
zurückgesetzt.
Die im AKKU stehende Information wird mit der Operation „Transferieren" in ein Byte, Wort oder
Doppelwort eines als Ziel angegebenen Operandenbereichs übertragen. Beim Transferieren
wird der Inhalt des Akkumulators nicht verändert, so dass mehrere Transferoperationen mit
demselben AKKU- Inhalt nacheinander ausgeführt werden können.
Byte Wort Doppelwort
Beispiele MB 100 MW 100 MD 100
Laden in AKKU 1:
L MB 100 L MW 100 L MD 100
Transferieren aus AKKU 1:
T AB 4 T AW 4 T AD 4
0 0
15 0
31 0
7 0
0 0 0
MB 100 MB 101
MB 100 MB 101 MB102 MB103
Quelle
AKKU 1
Ziel
AB 4 AB 5
AB 4 AB 5 AB 6 AB 7
SPS-Fachkraft
Aufbaustufe 1
AKKU-
Operationen
Kapitel 3
Seite 37
3. 1. 1. Ladefunktion
Mit der Operation „Laden" werden Informationen aus dem Operandenbereich
EINGÄNGE
AUSGÄNGE
MERKER
ZEITEN
ZÄHLER
DATEN aus einem aufgerufenen Datenbaustein
LOKALDATEN
PERIPHERIE (nur Eingänge)
KONSTANTEN
in verschiedenen Darstellungen in den Akkumulator 1 geladen.
3. 1. 1. 1. Laden von Bytes
Beispiele:
Ladebefehle: L EB 0 Laden der Eingänge 0.0 bis 0.7 (Prozessabbild)
L AB 4 Laden der Ausgänge 4.0 bis 4.7 (Prozessabbild)
L MB 10 Laden der Merker 10.0 bis 10.7
3. 1. 1. 2. Laden von Wörtern und Doppelwörtern
Bei den byteweise adressierten Operanden
EINGÄNGE
AUSGÄNGE
MERKER
DATEN
wird beim Laden von Wörtern die Nummer des jeweils niedrigeren Bytes angegeben. Der
Informationsgehalt dieses Bytes und der Informationsgehalt der nächst höheren Bytes werden
in den Akkumulator 1 geladen.
3. 1. 1. 3. Beeinflussung des Akkumulators 2
Mit dem 1. Ladebefehl wird der Informationsgehalt in den Akkumulator 1 geladen.
Mit dem 2. Ladebefehl wird der Informationsgehalt von Akkumulator 1 in Akkumulator 2
geladen, und der neue Informationsgehalt in AKKU 1.
Wichtig: Der vorherige Inhalt von Akkumulator 2 geht dabei verloren.
< A > < B >
< A >
EW 0 MW 4
EW 0
L MW 4
L EW 0
Akkumulator 1
31. . . . . . . . .0
Akkumulator 2
31. . . . . . . . .0
SPS-Fachkraft
Aufbaustufe 1
AKKU-
Operationen
Kapitel 3
Seite 38
3. 1. 1. 4. Zahlen- u. Wertedarstellung:
Die Datenbreite beträgt in S7 max.1 Doppelwort.
Integerzahlen (Ganzzahlen) und Realzahlen (Gleitpunkt- oder Kommazahlen) werden ohne
Formatkennung geschrieben.
Bei allen anderen Konstanten müssen Datenbreite und Zahlenformat festgelegt werden.
Datenbreite:
B# Byte L B#16#FF
W# Wort L W#16#AFFE
DW# Doppelwort L DW#16#AFF4CAFE
Zahlenformate:
L# 32-bit-Integerzahl (Long Integer) L L#70000
2# Binärzahlen L 2#1001 0111 1111 1011 1111 1011 1111 1001
16# Hexadezimalzahlen (Sedezimal) L W#16#A9FA
C# Zähler (Counter) im BCD-Code (wie bei S5) L C#5
S5T# Zeit (S5Timer) im BCD-Code (wie bei S5) L S5T#5s
B# 2 x 8 Bit Integerzahl L B# (100,12)
Integer:
Der Datentyp INT ist eine Ganzzahl (16 Bit).
Das Vorzeichen (Bit Nr. 15) zeigt an, ob es sich um eine positive oder um eine negative Zahl
(„0" = positiv, „1" = negativ) handelt.
Der Bereich einer Ganzzahl (16 Bit) liegt zwischen -32.768 und +32.767.
Eine negative Ganzzahl wird als Zweierkomplement (siehe auch Zweierkomplement) der
positiven Ganzzahl dargestellt.
Beim Auswerten des Bitmusters einer negativen Zahl werden die Nullstellen bewertet,
zu dem Ergebnis 1 hinzuaddiert und ein Minuszeichen davor gesetzt.
Double Integer:
Die 32-bit-Ganzzahlen mit Vorzeichen werden auch „Double Integer” oder „Long Integer”
genannt. Sie umfassen den Bereich L# -2.147.483.648 bis L#+2.147.483.647.
REAL:
Eine Realzahl (auch Gleitpunktzahl genannt) ist eine positive oder negative Zahl im Bereich
-1.175495•10
-38
bis 3.402823•10
38
.
Beispiele: +10,339 oder +1,0339E1
-234.567 oder -2,34567E5.
In der Exponentialdarstellung wird der Exponent der Basis 10 angegeben.
Im Speicher belegt die Realzahl zwei Wörter, wobei das höchstwertige Bit das Vorzeichen der
Zahl angibt. Die übrigen Bits stellen die Mantisse und den Exponenten der Basis 2 dar.
Char:
Es können auch alphanumerische Zeichen eingegeben werden. z.B.:
L 'AA' (16 Bit)
L 'OTTO' (32 Bit)
SPS-Fachkraft
Aufbaustufe 1
AKKU-
Operationen
Kapitel 3
Seite 39
3. 1. 2. Transferfunktionen
Mit der Operation „Transferieren" werden Informationen aus dem Akkumulator 1 zu den
Operandenbereichen
EINGÄNGE
AUSGÄNGE
MERKER
DATEN aus einem aufgerufenen Datenbaustein
LOKALDATEN
PERIPHERIE (nur Ausgänge)
übertragen.
Die Transferfunktion wird immer, also unabhängig von einem Verknüpfungsergebnis,
durchgeführt.
Die Signalzustände werden beim Transferieren unverändert aus dem Akkumulator 1 geholt und
zu einem mindestens bytebreiten Operanden transferiert. Dabei wird die Information
rechtsbündig aus dem Akkumulator 1 (von Bit 0 bis 7) geholt. Der Inhalt des Akkumulators
ändert sich beim Transferieren nicht, er bleibt also gleich, so dass er mehrfach nacheinander
transferiert werden kann.
3. 1. 2. 1. Transferieren von Bytes
Beispiele:
T EB 0 transferiere zu den Eingängen 0.0 bis 0.7 (Prozessabbild)
T AB 4 transferiere zu den Ausgängen 4.0 bis 4.8 (Prozessabbild)
T MB 10 transferiere zu den Merkern 10.0 bis 10.7
3. 1. 2. 2. Transferieren von Wörtern und Doppelwörtern
Bei den byteweise adressierten Operanden
EINGÄNGE; AUSGÄNGE, MERKER; DATEN
wird beim Transferieren von Wörtern und Doppelwörtern die Nummer des jeweils niedrigeren
Bytes angegeben. Der Informationsgehalt des Akkumulators 1 wird zu diesem Byte und zu den
nächsten Bytes transferiert.
Beispiel:
Mit der Anweisung „T AW 2" werden der Inhalt von Bit 0 bis 7 des Akkumulators 1 zum 3. Byte
und der Inhalt von Bit 8 bis 15 des Akkumulators 1 zum 2. Byte der Ausgänge transferiert.
Transferbefehle:
T EW 0 transferiere zu den Eingängen 0.0 bis 0.7 und 1.0 bis 1.7
T AW 4 transferiere zu den Ausgängen 4.0 bis 4.7 und 5.0 bis 5.7
T MW 10 transferiere zu den Merkern 10.0 bis 10.7 und 11.0 bis 11.7
Doppelwort
Akkumulator 1
Byte 1 Byte 2 Byte 3 Byte 4
7 0 7 0 7 0 7 0
AB 0 AB 1 AB 2 AB 3
SPS-Fachkraft
Aufbaustufe 1
AKKU-
Operationen
Kapitel 3
Seite 40
3. 2. Vergleicher in S7
Mit den Vergleichsanweisungen können folgende Paare von numerischen Werten verglichen
werden:
Ergibt der Vergleich die Aussage „wahr", so ist das VKE der Operation „1", ansonsten „0".
Verglichen werden AKKU 2 und AKKU 1 (1. geladener Wert mit 2. geladenem Wert)
entsprechend der gewählten Vergleichsart:
Programmierbeispiel:
I Ganze Zahlen vergleichen (auf Basis 16-bit-
Festpunktzahl)
D Ganze Zahlen vergleichen (auf Basis 32-bit-
Festpunktzahl)
R Gleitpunktzahlen vergleichen (auf 32-Bbit-
Realzahlenbasis = IEEE Gleitkommazahlen).
== AKKU 2 ist gleich AKKU 1
<> AKKU 2 ist ungleich AKKU 1
> AKKU 2 ist größer als AKKU 1
< AKKU 2 ist kleiner als AKKU 1
>= AKKU 2 ist größer gleich AKKU 1
<= AKKU 2 ist kleiner gleich AKKU 1
L L#65789
L MD 20
>=D
= A 8.0
AWL
KOP / FUP
SPS-Fachkraft
Aufbaustufe 1
AKKU-
Operationen
Kapitel 3
Seite 41
3. 3. Rechenoperationen
Bei Rechenoperationen wird immer der Inhalt von AKKU 2 mit dem Inhalt von AKKU 1
verknüpft. Das Ergebnis wird in AKKU 1 abgelegt (AKKU 2 bleibt bei CPU’s mit 2 AKKU’s
unbeeinflusst).
Programmierbeispiel:
+ addiert eine Ganzzahl zum Inhalt von AKKU 1 und schreibt das
Ergebnis in AKKU 1
+ - * / I addiert, subtrahiert, multipliziert oder dividiert den Inhalt von AKKU 2
mit bzw. durch den Inhalt von AKKU 1 und schreibt das Ergebnis in
AKKU 1 (als Ganzzahl 1 Wort breit)
+ - * / D wie oben, nur werden diese Operationen mit Ganzzahlen in
Doppelwortbreite ausgeführt
+ - * / R Wie oben, nur werden diese Operationen mit Realzahl (Kommazahl) in
Doppelwortbreite ausgeführt
L 3.200000e+001
L MD 20
*R
T MD 24
AWL
KOP / FUP
SPS-Fachkraft
Aufbaustufe 1
AKKU-
Operationen
Kapitel 3
Seite 42
3. 4. Fragen zur Wiederholung
1. Wie viele Zahlenwerte lassen sich maximal mit einem Byte darstellen?
a) 255;
b) 512;
c) 256;
d) 1024;
e) 126
2. Welche Folge hat nachstehende Anweisung?
U E 0.0
L MW 20
a) das Merkerwort 20 wird linksbündig in den AKKU 1 gelegt;
b) das Merkerwort 20 wird linksbündig in den AKKU 2 gelegt;
c) das Merkerwort 20 wird rechtsbündig in den AKKU 1 gelegt, wenn das VKE „1“ ist;
d) das Merkerwort 20 wird rechtsbündig in den AKKU 1 gelegt, unabhängig vom
VKE;
e) das Merkerwort 20 wird rechtsbündig in den AKKU 2 gelegt, unabhängig vom
VKE;
3. Welche Folge hat nachstehende Anweisung?
L EW 0
T AB 8
a) der Wert des EB0 wird ins AB8 und vom EB1 ins AB9 transferiert;
b) der Wert des EB1 wird ins AB8 transferiert;
c) der Wert des EB0 wird ins AB8 transferiert;
d) der Wert des EB0 wird ins AB9 und vom EB1 ins AB8 transferiert;
e) der Wert des EW0 wird ins AW8 und vom EW1 ins AW9 transferiert;
SPS-Fachkraft
Aufbaustufe 1
Erweiterte
Zeit- und
Zählfunktionen
Kapitel 4
4. Erweiterte Zeit- und Zählfunktionen
4. 1. S5-Zeitfunktionen
Es gibt mehrere Möglichkeiten einem S5 Timer in S7 einen Zeitwert vorzugeben:
1. feste Zeitwerte über Zeitkonstanten (Bsp.: S5T#110ms, S5T#36s, S5T#5m4s200ms,
S5T#2h4m2s).
2. vom Anlagenbediener zu verändernde Zeitwerte über Zifferneinsteller.
3. Prozess- oder Rezeptabhängige Zeitwerte über Merker- oder Datenwörter.
4. 1. 1. Aufbau des S5-Zeitwortes
Zeitglieder haben einen eigenen reservierten Speicherbereich in der CPU. Dieser
Speicherbereich reserviert ein 16-bit-Wort für jeden Zeitoperanden.
Die Bits 0 bis 11 des Timerworts enthalten den Zeitwert BCD-codiert. Das Aktualisieren der Zeit
vermindert den Zeitwert um jeweils eine Einheit in einem Intervall, das von der Zeitbasis
festgelegt wurde.
Die Bits 12 und 13 des Timerworts enthalten die Zeitbasis binär codiert:
Die Zeitbasis definiert das Intervall, in dem der Zeitwert um eine Einheit vermindert wird.
Bei der Zeitvorgabe über eine Konstante (S5T#...) wird die Zeitbasis vom System automatisch
vergeben, bei der Zeitvorgabe über Zifferneinsteller oder eine Datenschnittstelle, muss der
Anwender auch die Zeitbasis vorgeben.
Zeitbasis:
Zeitwert: 0 . . . 999
0,01s
0,1 s
1 s
10 s
0 0
0 1
1 0
1 1
0 = 10 ms
1 = 100 ms
2 = 1 s
3 = 10 s.
SPS-Fachkraft
Aufbaustufe 1
Erweiterte
Zeit- und
Zählfunktionen
Kapitel 4
Seite 44
4. 1. 2. Format für die Zeitwertvorgabe
:
So steht der Zeitwert im Systemdatenspeicher
So sieht der Akkuinhalt nach dem Befehl „Lade Timer“ (z.B. L T1) aus:
:
So sieht der Akkuinhalt nach dem Befehl „Lade codiert“ Timer (z.B. LC T1) aus:
Zeitbasis
Zeitwert (Dualzahl)
X X X X
Zeitbasis
10
2
10
1
10
0
Zeitwert (BCD-codiert)
X X
Zeitwert (Dualzahl)
X X X X X X
Zeitbasis
10
2
10
1
10
0
Zeitwert (BCD-codiert)
X X
SPS-Fachkraft
Aufbaustufe 1
Erweiterte
Zeit- und
Zählfunktionen
Kapitel 4
Seite 45
4. 2. IEC Timer (Zeiten)
In der S7 werden IEC Timer mit Systemfunktionsbausteinen (SFB's) verwirklicht. In der Folge
sollen die möglichen Bausteine vorgestellt werden.
Es sind Zeiten im IEC-Format „Time“ von 1ms bis 24d 29h 31m 23s 647ms möglich.
4. 2. 1. SFB 3 (Verlängerter Impuls [ohne nachtasten])
Der SFB 3 „TP" erzeugt einen Impuls der Länge „PT“. Die Zeit läuft nur in den
Betriebszuständen ANLAUF und RUN.
Eine steigende Flanke am Eingang „IN“ bewirkt den Start des Impulses.
Der Ausgang „Q“ bleibt für die Zeitdauer „PT“ gesetzt, unabhängig vom weiteren Verlauf des
Eingangssignals (d. h. auch dann, wenn der Eingang „IN“ erneut von „0“ auf „1“ wechselt, bevor
die Zeit „PT“ abgelaufen ist).
Der Ausgang „ET“ liefert die Zeit, während der Ausgang „Q“ bereits gesetzt ist. Er kann maximal
den Wert des Eingangs „PT“ annehmen. Er wird zurückgesetzt, wenn der Eingang „IN“ nach „0“
wechselt, jedoch frühestens nach Ablauf der Zeit „PT“.
Der SFB 3 „TP" entspricht der Norm IEC 1131-3.
Das Betriebssystem setzt die Instanzen des SFB 3 „TP" bei Kaltstart zurück. Falls Instanzen
dieses SFB nach Neustart (Warmstart initialisiert sein sollen, müssen Sie im OB 100 die zu
initialisierenden Instanzen mit PT = 0 ms aufrufen. Falls Instanzen dieses SFB innerhalb eines
anderen Bausteins enthalten sind, erreichen Sie das Rücksetzen dieser Instanzen z. B. durch
Initialisierung des übergeordneten Bausteins.
Parameter Deklaration Datentyp Speicherbereich Beschreibung
IN INPUT BOOL E, A, M, D, L, Konst. Starteingang
PT INPUT TIME E, A, M, D, L, Konst.
Die Zeitdauer des Impulses. PT muss positiv sein
Q OUTPUT BOOL E, A, M, D, L Status der Zeit
ET OUTPUT TIME E, A, M, D, L abgelaufene Zeit
SPS-Fachkraft
Aufbaustufe 1
Erweiterte
Zeit- und
Zählfunktionen
Kapitel 4
Seite 46
4. 2. 2. SFB 4 (Einschaltverzögerung)
Der SFB 4 „TON" verzögert eine steigende Flanke um die Zeit „PT“. Die Zeit läuft nur in den
Betriebszuständen ANLAUF und RUN.
Eine steigende Flanke am Eingang „IN“ hat nach Ablauf der Zeitdauer „PT“ eine steigende
Flanke am Ausgang „Q“ zur Folge. „Q“ bleibt dann so lange gesetzt, bis der Eingang „IN“ nach
„0“ wechselt. Falls der Eingang „IN“ nach „0“ wechselt, bevor die Zeit „PT“ abgelaufen ist, bleibt
der Ausgang „Q“ auf „0“.
Der Ausgang „ET“ liefert die Zeit, die seit der letzten steigenden Flanke am Eingang „IN“
vergangen ist, jedoch höchstens bis zum Wert des Eingangs „PT“. „ET“ wird zurückgesetzt,
wenn der Eingang „IN“ nach „0“ wechselt.
Der SFB 4 „TON" entspricht der Norm IEC 1131-3.
Das Betriebssystem setzt die Instanzen des SFB 4 „TON" bei Kaltstart zurück. Falls Instanzen
dieses SFB nach Neustart (Warmstart initialisiert sein sollen, müssen Sie im OB 100 die zu
initialisierenden Instanzen mit PT = 0 ms aufrufen. Falls Instanzen dieses SFB innerhalb eines
anderen Bausteins enthalten sind, erreichen Sie das Rücksetzen dieser Instanzen z.B. durch
Initialisierung des übergeordneten Bausteins.
Parameter Deklaration Datentyp Speicherbereich Beschreibung
IN INPUT BOOL E, A, M, D, L, Konst. Starteingang
PT INPUT TIME E, A, M, D, L, Konst.
Zeitdauer, um die, die steigende Flanke am Eingang „IN“ verzögert wird.
„PT“ muss positiv sein.
Q OUTPUT BOOL E, A, M, D, L Status der Zeit
ET OUTPUT TIME E, A, M, D, L abgelaufene Zeit
SPS-Fachkraft
Aufbaustufe 1
Erweiterte
Zeit- und
Zählfunktionen
Kapitel 4
Seite 47
4. 2. 3. SFB 5 (Ausschaltverzögerung)
Der SFB 5 „TOF" verzögert eine fallende Flanke um die Zeit „PT“. Die Zeit läuft nur in den
Betriebszuständen ANLAUF und RUN.
Eine steigende Flanke am Eingang „IN“ bewirkt eine steigende Flanke am Ausgang „Q“. Eine
fallende Flanke am Eingang „IN“ hat nach Ablauf der Zeitdauer „PT“ eine fallende Flanke am
Ausgang „Q“ zur Folge. Falls der Eingang „IN“ wieder nach „1“ wechselt, bevor die Zeit „PT“
abgelaufen ist, bleibt der Ausgang „Q“ auf „1“ (nachtriggerbar).
Der Ausgang „ET“ liefert die Zeit, die seit der letzten fallenden Flanke am Eingang „IN“
vergangen ist, jedoch höchstens bis zum Wert des Eingangs „PT“. „ET“ wird zurückgesetzt,
wenn der Eingang „IN“ nach „1“ wechselt.
Der SFB 5 „TOF" entspricht der Norm IEC 1131-3.
Das Betriebssystem setzt die Instanzen des SFB 5 „TOF" bei Kaltstart zurück. Falls Instanzen
dieses SFB nach Neustart (Warmstart) initialisiert sein sollen, müssen Sie im OB 100 die zu
initialisierenden Instanzen mit PT = 0 ms aufrufen. Falls Instanzen dieses SFB innerhalb eines
anderen Bausteins enthalten sind, erreichen Sie das Rücksetzen dieser Instanzen z. B. durch
Initialisierung des übergeordneten Bausteins.
Parameter Deklaration Datentyp Speicherbereich Beschreibung
IN INPUT BOOL E, A, M, D, L, Konst. Starteingang
PT INPUT TIME E, A, M, D, L, Konst.
Zeitdauer, um die, die fallende Flanke am Eingang „IN“ verzögert wird.
„PT“ muss positiv sein.
Q OUTPUT BOOL E, A, M, D, L Status der Zeit
ET OUTPUT TIME E, A, M, D, L abgelaufene Zeit
SPS-Fachkraft
Aufbaustufe 1
Erweiterte
Zeit- und
Zählfunktionen
Kapitel 4
Seite 48
4. 3. Zählfunktionen
Es gibt mehrere Möglichkeiten einem S5 Zähler in S7 einen Zählwert vorzugeben:
1. feste Zählwerte über Zählkonstanten (z.B..: L C#5 )
2. vom Anlagenbediener zu verändernde Zählwerte über Zifferneinsteller.
3. prozess- oder rezeptabhängige Zählwerte über Merker- oder Datenwörter.
4. 3. 1. Aufbau des Zählwortes
Zähler haben einen eigenen reservierten Speicherbereich in der CPU. Dieser Speicherbereich
reserviert ein 16-bit-Wort für jeden Zähloperanden.
Die Bits 0 bis 11 des Timerwortsenthalten den Zeitwert BCD-codiert.
So steht der Zählwert im Systemdatenspeicher:
So sieht der Akkuinhalt nach dem Befehl Lade Zähler (z.B. L Z1) aus:
So sieht der Akkuinhalt nach dem Befehl Lade codiert Zähler (z.B. LC Z1) aus:
Zählwert: 0 . . . 999
Zählwert (Dualzahl)
X X X X X X
10
2
10
1
10
0
Zählwert (BCD-codiert)
X X X X
Zählwert (Dualzahl)
X X X X X X
SPS-Fachkraft
Aufbaustufe 1
Erweiterte
Zeit- und
Zählfunktionen
Kapitel 4
Seite 49
4. 4. IEC Counter (Zähler)
In der S7 werden IEC-Counter mittels Systemfunktionsbausteinen (SFB's) verwirklicht. In der
Folge sollen die möglichen Bausteine vorgestellt werden.
4. 4. 1. SFB 0 (Vorwärtszähler)
Mit dem SFB 0 „CTU" können Sie vorwärts zählen. Der Zähler wird bei einer steigenden Flanke
am Eingang „CU“ (gegenüber dem letzten SFB-Aufruf) um „1“ erhöht. Erreicht der Zählwert die
obere Grenze 32.767, wird er nicht mehr erhöht. Jede weitere steigende Flanke am Eingang
„CU“ bleibt dann ohne Wirkung.
Der Pegel „1“ am Eingang „R“ bewirkt das Rücksetzen des Zählers auf den Wert „0“
unabhängig davon, welcher Wert am Eingang „CU“ anliegt.
Am Ausgang „Q“ wird angezeigt, ob der aktuelle Zählwert größer oder gleich dem
Vorbesetzwert „PV“ ist.
Der SFB 0 „CTU" entspricht der Norm IEC 1131-3.
Das Betriebssystemsetzt die Instanzen des SFB 0 „CTU" bei Kaltstart zurück. Falls Instanzen
dieses SFB nach Neustart (Warmstart) initialisiert sein sollen, müssen Sie im OB 100 die zu
initialisierenden Instanzen mit R = 1 ms aufrufen. Falls Instanzen dieses SFB innerhalb eines
anderen Bausteins enthalten sind, erreichen Sie das Rücksetzen dieser Instanzen z.B. durch
Initialisierung des übergeordneten Bausteins.
Parameter Deklaration Datentyp Speicherbereich Beschreibung
CU INPUT BOOL E, A, M, D, L, Konst. Zähleingang
R INPUT BOOL E, A, M, D, L, Konst.
Rücksetzeingang. R dominiert gegenüber „CU“
PV INPUT INT E, A, M, D, L, Konst.
Vorbesetzwert. Zur Wirkung von „PV“ siehe Parameter „Q“
Q OUTPUT BOOL E, A, M, D, L
Status des Zählers: „Q“ hat den Wert· „1“, falls „CV“ >= „PV“; sonst
„0“
CV OUTPUT INT E, A, M, D, L
aktueller Zählwert (mögliche Werte: 0 bis 32.767)
SPS-Fachkraft
Aufbaustufe 1
Erweiterte
Zeit- und
Zählfunktionen
Kapitel 4
Seite 50
4. 4. 2. SFB 1 (Rückwärtszähler)
Mit dem SFB 1 „CTD" können Sie rückwärts zählen. Der Zähler wird bei einer steigenden
Flanke am Eingang „CD“ (gegenüber dem letzten SFB-Aufruf) um „1“ erniedrigt. Erreicht der
Zählwert die untere Grenze -32.768, so wird er nicht mehr erniedrigt. Jede weitere steigende
Flanke am Eingang „CD“ bleibt dann ohne Wirkung.
Der Pegel „1“ am Eingang „LOAD“ bewirkt, dass der Zähler auf den Vorbesetzwert „PV“
voreingestellt wird. Dies geschieht unabhängig davon, welcher Wert am Eingang „CD“ anliegt.
Am Ausgang „Q“ wird angezeigt, ob der aktuelle Zählwert kleiner oder gleich „Null“ ist.
Der SFB 1 „CTD" entspricht der Norm IEC 1131-3.
Das Betriebssystem setzt die Instanzen des SFB 1 „CTD" bei Kaltstart zurück. Falls Instanzen
dieses SFB nach Neustart (Warmstart) initialisiert sein sollen, müssen Sie im OB 100 die zu
initialisierenden Instanzen mit LOAD = 1 und PV = gewünschter Anfangswert für „CV“ aufrufen.
Falls Instanzen dieses SFB innerhalb eines anderen Bausteins enthalten sind, erreichen Sie
das Rücksetzen dieser Instanzen z.B. durch Initialisierung des übergeordneten Bausteins.
Parameter Deklaration Datentyp Speicherbereich Beschreibung
CD INPUT BOOL E, A, M, D, L, Konst. Zähleingang
LOAD INPUT BOOL E, A, M, D, L, Konst.
Ladeeingang. „LOAD“ dominiert gegenüber „CD“
PV INPUT INT E, A, M, D, L, Konst.
Vorbesetzwert. Der Zähler wird auf „PV“ voreingestellt, wenn am Eingang
„LOAD“ „1“-Pegel anliegt.
Q OUTPUT BOOL E, A, M, D, L
Status des Zählers: „Q“ hat den Wert „1“, falls „CV“ <=“0“; sonst „0“
CV OUTPUT INT E, A, M, D, L
aktueller Zählwert (mögliche Werte: -32.768 bis 32.767)
SPS-Fachkraft
Aufbaustufe 1
Erweiterte
Zeit- und
Zählfunktionen
Kapitel 4
Seite 51
4. 4. 3. SFB 2 (Vor- /Rückwärtszähler)
Mit dem SFB 2 „CTUD" können Sie vorwärts und rückwärts zählen. Der Zähler wird bei einer
steigenden Flanke (gegenüber dem letzten SFB-Aufruf) am Eingang
„CU“ um 1 erhöht
„CD“ um 1 erniedrigt.
Erreicht der Zählwert
die untere Grenze -32.768, so wird er nicht mehr erniedrigt
die obere Grenze 32.767, so wird er nicht mehr erhöht.
Falls in einem Zyklus sowohl am Eingang „CU“ als auch am Eingang „CD“ eine steigende
Flanke vorliegt, behält der Zähler seinen aktuellen Wert. Dieses Verhalten weicht von der Norm
IEC 1131-3 ab. Dort dominiert beim gleichzeitigen Anliegen der Signale „CU“ und „CD“ der
„CU“- Eingang. Dieser Änderungsvorschlag wurde bei der IEC eingereicht.
Der Pegel „1“ am Eingang „LOAD“ bewirkt, dass der Zähler auf den Vorbesetzwert „PV“
voreingestellt wird. Dies geschieht unabhängig davon, welche Werte an den Eingängen „CU“
und „CD“ anliegen.
Der Pegel „1“ am Eingang „R“ bewirkt das Rücksetzen des Zählers auf den Wert „0“
unabhängig davon, welche Werte an den Eingängen „CU“, „CD“ und „LOAD“ anliegen. Am
Ausgang „QU“ wird angezeigt, ob der aktuelle Zählwert größer oder gleich dem Vorbesetzwert
„PV“ ist; am Ausgang „QD“ wird angezeigt, ob er kleiner oder gleich Null ist.
Das Betriebssystem setzt die Instanzen des SFB 2 „CTUD" bei Kaltstart zurück. Falls Instanzen
dieses SFB nach Neustart (Warmstart) initialisiert sein sollen, müssen Sie im OB 100 die zu
initialisierenden Instanzen mit PT = 0 ms aufrufen.
bei Verwendung als Vorwärtszähler mit R = 1
bei Verwendung als Rückwärtszähler mit R = 0 und LOAD = 1 und PV = gewünschter
Anfangswert für CV
Falls Instanzen dieses SFB innerhalb eines anderen Bausteins enthalten sind, erreichen Sie
das Rücksetzen dieser Instanzen z. B. durch Initialisierung des übergeordneten Bausteins.
Parameter Deklaration Datentyp Speicherbereich Beschreibung
CU INPUT BOOL E, A, M, D, L, Konst. Vorwärtszähleingang.
CD INPUT BOOL E, A, M, D, L, Konst. Rückwärtszähleingang
R INPUT BOOL E, A, M, D, L, Konst.
Rücksetzeingang. „R“ dominiert gegenüber „LOAD“
LOAD INPUT BOOL E, A, M, D, L, Konst.
Ladeeingang. „LOAD“ dominiert gegenüber „CU“ und „CD“
PV INPUT INT E, A, M, D, L, Konst.
Vorbesetzwert. Der Zähler wird auf „PV“ voreingestellt, wenn am Eingang „LOAD“
1-Pegel anliegt.
QU OUTPUT BOOL E, A, M, D, L
Status des Vorwärtszählers: „QU“ hat den Wert „1“, falls „CV“ >= „PV“; sonst 0
QD OUTPUT BOOL E, A, M, D, L
Status des Rückwärtszählers: „QD“ hat den Wert „1“, falls „CV“ <= 0; sonst 0
CV OUTPUT INT E, A, M, D, L
aktueller Zählwert (mögliche Werte: -32.768 bis 32.767)
SPS-Fachkraft
Aufbaustufe 1
Erweiterte
Zeit- und
Zählfunktionen
Kapitel 4
Seite 52
4. 5. Fragen zur Wiederholung
1. Welche Funktionsarten werden bei Zeitgliedern unterschieden?
2. Welche Flankenauswertung wird bei welchen Zeitgliedern angewendet?
3. Welche Möglichkeiten der Zeitwertvorgabe kennen Sie?
4. Welche Möglichkeit der Zählerstandsabfrage kennen Sie?
5. Wie wird die Zeitkonstante in Step 7 dargestellt?
6. Ein S5-Timer hat eine Zeitwertvorgabe von 3 ½ Minuten, die im MW 50 abgelegt ist. Wie
sieht der Aufbau des Merkerwortes im Datenformat HEX aus? Erklären Sie die Bedeutung
der Bits Nr. 13 und 14!
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 53
5. Fehlersuche in S7
5. 1. Übersicht
Die Fehlersuche ist wichtig bei der Inbetriebnahme von Anlagen oder Maschinen bzw. bei
Störungen und Stillstand dieser.
Je nachdem, ob auftretende Fehler von der SPS erkannt werden oder nicht, kann man diese in
zwei Gruppen unterteilen:
- Fehler, die vom Betriebssystem (bei SIEMENS oft als „BESY“ bezeichnet) der
CPU erkannt werden und die normalerweise zum Stopp-Zustand führen
- Funktionelle Fehler im Programm wobei eine gewünschte Funktion überhaupt
nicht oder nicht korrekt ausgeführt wird.
Die Suche nach diesen Fehlern ist meist viel schwieriger, da sie oft erst nach
einer gewissen Zeit und bei äußerst seltenen Anlagenzuständen auftreten oder
auch durch Fehlfunktionen von Sensoren, die an der Prozesssteuerung beteiligt
sind, zur Auswirkung kommen.
Übersicht über Step 7-Testwerkzeuge
Fehler
Es ist weiterhin möglich unabhängig von der Fehlerursache einzusetzen:
• Forcen
• Haltepunkte setzen
CPU in Stop:
(z.B. Zugriff auf einen nicht vorhandenen
Baustein; Diagnosealarm einer
Signalbaugruppe)
Testwerkzeuge:
• Baugruppenzustand
Diagnosepuffer
U-Sack
B-Stack
L-Stack
• Hardwarediagnose
CPU in Run:
(z.B. Prozessfehler wie Drahtbruch;
Programmierfehler wie Doppelzuweisung)
Testwerkzeuge:
• PA frei schalten (Ausgänge steuern)
• Variablen beobachten / steuern
• Bausteine beobachten (Bausteinstatus)
• Referenzdaten
Querverweisliste
Belegung E/A/M/T/Z
Programmstruktur
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 54
5. 2. Anzeigen von CPU-Meldungen
.
Eine Möglichkeit bei auftretenden Fehlern, sofort eine Meldung an einem Programmier-,
Bedien-, oder Beobachtungsgerät anzuzeigen, ist die Funktion CPU-Meldungen. Wenn eine
angeschlossene CPU durch einen Fehler in Stopp geht, wird umgehend ein Meldefenster am
PG oder OP eingeblendet (Bild links unten). Es lassen sich auch Anwendermeldungen mit
Systemfunktionen ausgeben.
In der Liste sind alle CPUs aufgeführt, für welche im SIMATIC-Manager „CPU-Meldungen“
aufgerufen wurde.
1. In der ersten Spalte wird angezeigt, wenn eine Verbindung durch den externen Partner
abgebrochen wurde.
2. In der Spalte „W“ werden Systemdiagnose- bzw. Anwendermeldungen
aktiviert / deaktiviert.
3. In der Spalte „A“ wird das Melden von Alarmen aktiviert / deaktiviert. Die Applikation
überprüft, ob die jeweilige Baugruppe überhaupt Alarm-Meldungen unterstützt und
meldet dies gegebenenfalls.
4. In der Spalte „Baugruppe“ ist der Name der Baugruppe bzw. der Pfad des Programms
eingetragen.
Unter „Ansicht“ kann eingestellt werden, eine eingehende Meldung im Bildschirmvordergrund
angezeigt werden soll, im Hintergrund belassen und nur bei Bedarf angezeigt werden soll
(Meldung wird archiviert) oder ignoriert wird (nicht angezeigt und nicht archiviert).
In den Einstellungen kann die Archivgröße (40 ... 2000 Meldungen) angepasst und geleert
werden.
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 55
5. 3. Programmierschnittstelle einstellen
Bei Problemen mit der Kommunikation bzw. wenn eine neue Schnittstelle in Betrieb genommen
werden soll, wechseln Sie als erstes im SIMATIC-Manager in das Untermenü „PG/PC-
Schnittstelle einstellen“. In diesem Menü können Sie dann auswählen, ob eine neue
Schnittstelle installiert werden soll z.B. eine PC-Card, oder Sie können die vorhandenen
Einstellungen überprüfen bzw. auch ändern.
5. 4. Programm und Einstellungen aus dem AG sichern
Nachdem das PG mit dem AG
verbunden wurde, kann in der
SIMATIC-Software unter
„SIMATIC-Manager Zielsystem
Station laden in PG“ das im AG
vorhandene Programm sowie die
Systemdaten ausgelesen werden.
Im SIMATIC-Projekt erscheint eine
neue Hardware-Station mit den
aktuellen Hardware-Einstellungen
und dem unter der CPU
gespeichertem Programm.
Bei unbekannten Stationen sollte vor jeder Arbeit am AG auf diesem Weg eine Sicherheitskopie
der Steuerung angelegt werden.
1
2
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 56
5. 5. Referenzdaten
Die Anzeige der Referenzdaten wird im
SIMATIC-Manager (bei offline geöffnetem
Behälter „Bausteine") über die
Menüpunkte Extras Referenzdaten
Anzeigen oder Filtern und Anzeigen
angestoßen.
Die Referenzdaten werden gefiltert
angezeigt (unabhängig davon, ob im
Menü Extras der Punkt Anzeigen oder
Filtern und Anzeigen gewählt wurde.
Je enger der Filter definiert ist, desto
größer ist die Geschwindigkeit bei der
Anzeige der Referenzdaten.
Nach Programmänderungen sollten alle
Bausteine geschlossen werden und über
den SIMATIC-Manager die
Referenzdaten neu generiert werden.
5. 5. 1. Die Querverweisliste
Die Querverweisliste wird im Fenster „Referenzdaten anzeigen" über die Menüpunkte
Ansicht Querverweise oder durch einen Mausklick auf das entsprechende Symbol geöffnet.
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 57
Die Querverweisliste ist eine einem Anwenderprogramm zugeordnete Liste der verwendeten
Operanden: Eingänge; Ausgänge; Merker, Zähler; Zeiten
Die Querverweisliste ist tabellarisch aufgebaut. Ein Querverweislisteneintrag belegt eine Zeile
über folgende Spalten:
Wenn ein Operand in der Querverweisliste markiert ist, kann über die Menüpunkte Ansicht
Querverweise für Operand ein neues Fenster geöffnet werden, das nur die Querverweise für
den markierten Operanden enthält.
Spalte Inhalt / Bedeutung
Operand absolute Adresse des Operanden
Symbol Name des Operanden
Baustein Bausteins, in dem der Operand verwendet wird
Art lesender (Read) oder schreibender (Write) Zugriff
Verwendungsstelle Ort an dem der Operand verwendet wird
rechte Maustaste
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 58
Der Filterbereich legt den anzuzeigenden Adressbereich fest. Es können auch mehrere
Teilbereiche angegeben werden. Die Filterbereich-Einträge „0;2 und 0-8" bedeuten, dass die
Eingangsbytes 0 und 2 sowie die Ausgangsbytes von 0 bis 8 angezeigt werden sollen.
Die einzuhaltende Schreibweise ist oben angegeben.
Sollen die vorgenommenen Einstellungen für den nächsten Start der Applikation
„Referenzdaten anzeigen" übernommen werden, muss das Kontrollkästchen „Als
Standardvorgabe speichern" aktiviert sein.
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 59
5. 5. 2. Belegung der E/A/M/T/Z
Der Belegungsplan der Eingänge / Ausgänge / Merker wird über die Menüpunkte
Ansicht Belegung oder durch einen Mausklick auf das entsprechende Symbol aufgerufen.
Dieser Belegungsplan liefert eine Übersicht, welches Bit in welchem Byte der Speicherbereiche
Eingang (E), Ausgang (A), und Merker (M) verwendet wird.
Jede Zeile beinhaltet ein Byte des Speicherbereichs, in dem die acht Bits je nach Zugriff
gekennzeichnet werden. Zusätzlich wird noch angegeben, ob der Zugriff durch einen Byte-,
Wort- oder Doppelwort-Zugriff erfolgt.
.
Im rechten Teil des Fensters werden die Timer und Zähler je nach Verwendung gelistet.
Auch in diesem Fenster kann durch Filterbedingungen die Anzeige begrenzt werden.
Wortzugriff
MW 0
Merker 0.7
separat verwendet
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 60
5. 5. 3. Programmstruktur
Die Programmstruktur beschreibt die Aufrufhierarchie der Bausteine innerhalb eines S7-
Anwenderprogramms.
Entsprechend den Einstellungen des Filters erfolgt die Darstellung in Programmpfaden in einer
Baumstruktur oder als "paarweise Aufrufbeziehung" (es wird jeweils der aufrufende und
aufgerufene Baustein dargestellt).
Folgende Symbole sind nur bei Darstellung in Baumstruktur möglich:
Über die Menüpunkte Ansicht Nicht verwendete Operanden oder durch einen Mausklick
auf das entsprechende Symbol wird eine Liste der Operanden aufgeblendet, die in der
Symboltabelle definiert sind aber innerhalb des S7-Anwenderprogramms nicht verwendet
werden.
Über die Menüpunkte Ansicht Operanden ohne Symbol oder durch einen Mausklick auf
das entsprechende Symbol wird eine Liste der Operanden aufgeblendet, die im S7-
Anwenderprogramm verwendet wurden, in der Symboltabelle aber nicht definiert sind.
Eine Zeile besteht aus dem Operanden und der Angabe, wie oft er verwendet wurde.
Über „Filtern" werden Detailinformationen für die Anzeige der nichtverwendeten Symbole
vorgenommen.
Rekursionen innerhalb der Aufrufhierarchie
[ nnn ] In der Spalte (im Pfad) wird der maximale Speicherbedarf der
Lokaldaten (in Byte) angegeben
In der letzten Spalte wird Speicherbedarf der Lokaldaten (in Byte) je
Baustein angegeben
Unbedingt aufgerufener Baustein (z.B.: CALL FB10)
Bedingt aufgerufener Baustein (z.B.: CC FB10)
Nicht aufgerufene Bausteine werden am unteren Ende der Baumstruktur
angezeigt und mit einem schwarzen Kreuz markiert.
Datenbaustein
?
<
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 61
5. 6. Diagnosepuffer
Möglichkeiten der Fehlerdiagnose:
Mit Diagnose werden die integrierten Erkennungs- und Aufzeichnungsfunktionen der CPU
bezeichnet. Der Bereich, in dem die Fehlerinformationen aufgezeichnet werden, heißt
Diagnosepuffer. Die Größe des Puffers ist von der CPU abhängig (z.B. CPU 314 = 100
Meldungen).
Der Diagnosepuffer ist ein als Ringpuffer organisierter, Speicherbereich in der CPU, der
auch durch Urlöschen nicht gelöscht werden kann. Er beinhaltet alle Diagnoseereignisse in der
Reihenfolge, in der sie aufgetreten sind.
Am Programmiergerät können alle Ereignisse im Klartext und in der Reihenfolge ihres
Auftretens angezeigt werden.
Wenn ein Fehler oder ein Ereignis, beispielsweise ein Betriebsartenwechsel eintritt, geschieht
folgendes:
Im Diagnosepuffer wird eine mit Datum und Uhrzeit versehene Meldung eingetragen.
Die zuletzt eingegangene Meldung wird am Anfang des Puffers gespeichert. Wenn der
Speicher voll ist, werden frühere Einträge gelöscht.
Der Puffer zeichnet die Beschreibung des Diagnoseereignisses auf. Gegebenenfalls
aktiviert das Ereignis einen zugehörigen Fehler-OB (Organisationsbaustein).
OB121
OB122
Asynchron Synchron
OB87
OB80
Störungsbehandlung
Meldungen Fehler OBs Fehlerdiagnose
Leistungsdaten
Kommunikation
Stacks
Speicher
Zykluszeit
Zeitsystem
Diagnosepuffer
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 62
Mit Hilfe der CPU-Diagnose können folgende Arten von Fehlern diagnostiziert werden:
Systemfehler in der CPU
Fehler einer Baugruppe
Programmfehler in der CPU.
Zu dem selektierten Ereignis werden in dem Feld „Details zum Ereignis" noch einige
Zusatzinformationen geliefert:
Bezeichnung des Ereignisses und Ereignisnummer,
Zusatzinformationen, abhängig vom Ereignis, wie z.B. die Adresse des Befehls, der das
Ereignis verursacht hat,
usw.
Über die Schaltfläche „Hilfe zum Ereignis" wird die Hilfe zu dem in der Liste selektierten
Ereignis geöffnet.
Über die Schaltfläche „Baustein öffnen" kann der referenzierte Baustein in der CPU geöffnet
werden. (Online!)
Für die Anzeige der Stack-Informationen muss die CPU in den STOP- Zustand gewechselt
haben:
wegen eines Programmfehlers
wegen eines STOP- Befehls
bei Erreichen eines Haltepunktes (S7-400).
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 63
Der Baustein-Stack (B-Stack) ist eine graphische Darstellung der Aufrufhierarchie, d.h. der
Reihenfolge und Schachtelung der aufgerufenen Bausteine bis zur Unterbrechungsstelle.
Der B-Stack enthält ebenso alle Interrupts durch Alarm-OBs und Fehler-OBs sowie die offenen
DB‘s.
Im zuletzt angezeigten Baustein ist die unmittelbare Ursache des Betriebszustands STOP zu
finden.
Mit der Schaltfläche „Baustein öffnen" kann der in der B-Stack-Liste angewählte Baustein online
geöffnet und bearbeitet werden. Der Cursor steht nach der fehlerhaften Anweisung (am Anfang
der nächsten Anweisung) – bei AWL bzw. bei KOP / FUP wird das Netzwerk mit der
fehlerhaften Anweisung geöffnet.
Der Unterbrechungs-Stack (U-Stack) bezieht sich immer auf eine Bearbeitungsebene. Vor
dem Aufruf des U-Stack muss im B-Stack der betreffende Organisationsbaustein angewählt
sein.
In der U-Stack-Maske werden die Inhalte aller relevanten Register zum Zeitpunkt der
Unterbrechung dargestellt:
Akkumulatoren Das Zahlenformat für die Darstellung der AKKU-
Inhalte kann in dem Listenfeld „Anzeigeformat"
ausgewählt werden.
Adressregister Das Zahlenformat für die Darstellung der
Adressregister-Inhalte kann in dem Listenfeld
„Anzeigeformat" ausgewählt werden.
Statuswort Die Bits 0 bis 8 des Statuswortes werden dargestellt.
Sie sind mit Abkürzungen gemäß ihrer Bedeutung
gekennzeichnet.
Unterbrechungsstelle
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 64
Das Feld „Unterbrechungsstelle" liefert Hinweise zu:
Unterbrochener Baustein, mit der Option diesen direkt zu öffnen (der Cursor steht dann direkt vor
der fehlerhaften Anweisung),
Prioritätsklasse des OB, dessen Bearbeitungsebene unterbrochen wurde, aufgeschlagene
Datenbausteine mit der Angabe von Nummer und Größe.
Der Lokaldaten-Stack (L-Stack) enthält die aktuellen Werte aller Lokaldaten der zum Zeitpunkt
der Unterbrechung noch nicht beendeten Bausteine.
Die Bausteine, die im Moment des Wechsels in den Betriebszustand STOP noch nicht beendet
waren, sind im Baustein-Stack (B-Stack) aufgelistet.
2.
1.
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 65
5. 7. Variable beobachten / steuern:
Die Testfunktion „Variable beobachten und steuern“ kann vom SIMATIC-Manager oder vom
KOP/FUP/AWL-Editor aus gestartet werden und dient zum Beobachten und / oder Steuern von
Variablen in frei wählbarem Format.
Variablentabelle:
Die Variablentabelle (VAT) kann gleichzeitig mit dem Status-Baustein aufgeblendet werden. Sie
kann auch permanent (parallel zu Status beobachten) auf dem Bildschirm postiert werden.
Die anzuzeigenden Variablen werden unter „Operand“ eingetragen.
Unter „Anzeigeformat“ kann das jeweils zur Verfügung stehende Format der Variablen
eingetragen werden. Manchmal ist es sinnvoll den gleiche Operanden / Operandenbereich in
mehreren Darstellungen gleichzeitig anzuzeigen. Dazu wird dieser mehrfach eingetragen und
bei jedem Eintrag ein anderes Anzeigeformat gewählt.
Hinweis: Zur Überprüfung der Ein- und Ausgangsverdrahtung unabhängig vom
Anwenderprogramm kann das Werkzeug „Variable beobachten steuern“ auch direkt
aus dem Werkzeug „HW-Konfig“ aufgerufen werden.
rechte Maustaste
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 66
Triggerpunkte festlegen:
Mit dem Festlegen der Triggerpunkte wird das Verhalten bestimmt, wann die Werte der
Variablen auf dem Bildschirm aktualisiert werden. Praktischer Weise sollten deshalb z.B.
Eingänge zum Zyklusbeginn und Ausgänge zum Zyklusende getriggert werden.
Durch das Festlegen der „Triggerpunkte für Steuern“ kann zu Testzwecken z.B. das Signal
eines angeschlossenen Ein-/Ausgangs überschrieben werden. Soll ein Ein- oder Ausgang
permanent gesteuert werden, muss dies hier eingestellt werden, da sonst das Steuern nur
einmalig (für einen Zyklus) ausgeführt wird.
Hinweis: Die Funktion „permanent Steuern“ lässt sich aus Sicherheitsgründen jederzeit mit
der ESC-Taste der PG-Tastatur wieder beenden.
Zyklische
Programm-
bearbeitung
PAE
PAA
Trigger
einstellen
Beobachten / Steuern
entsprechend der
Triggerbedingung
Status- / Steuerwerte
aktualisieren einmaliges
beobachten / steuern
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 67
5. 8. Triggerbedingungen für Baustein beobachten
Um parametrierbare Bausteine (FCs, FBs), die im Anwenderprogramm mehrfach aufgerufen
werden, beobachten zu können, muss der zu beobachtende Aufruf ausgewählt werden.
Eine Möglichkeit ist, im aufrufenden Baustein den entsprechenden Aufruf mit der rechten
Maustaste auszuwählen.
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 68
5. 9. Organisationsbausteine
Organisationsbausteine (OB‘s) bilden die Schnittstelle zwischen dem Betriebssystem der CPU
und dem Anwenderprogramm.
Der OB1 enthält oder organisiert (durch den Aufruf anderer Bausteine) das zyklische
Programm.
Organisationsbausteine können nicht von anderen Bausteinen aufgerufen werden. Sie werden
vom Betriebssystem aufgerufen, um auf bestimmte Ereignisse zu reagieren, wie z.B.:
Organisationsbausteine werden entsprechend der ihnen zugeordneten Priorität bearbeitet (1 =
niedrigste und 29 = höchste Priorität).
Wenn ein anderer OB vom Betriebssystem aufgerufen wird, unterbricht er die zyklische
Programmbearbeitung, da der OB 1 die niedrigste Priorität hat. Jeder andere OB kann also das
Hauptprogramm unterbrechen und sein eigenes Programm bearbeiten; anschließend wird die
Bearbeitung es OB 1 an der Unterbrechungsstelle fortgesetzt.
Wenn ein OB mit höherer Priorität als der momentan ausgeführte aufgerufen wird, erfolgt die
Unterbrechung nach der gerade bearbeiteten Anweisung. Das Betriebssystem speichert dann
den kompletten Register-Stack für den unterbrochenen Baustein. Diese Register-Information
wird wiederhergestellt, wenn das Betriebssystem die Bearbeitung des zuvor unterbrochenen
Bausteins fortsetzt.
Anlauf der CPU
bestimmte Uhrzeit
konstante Zeitintervalle
Ablauf einer vorgegebenen Zeitdauer
Auftreten von Fehlern
Auftreten von Prozessalarmen
Übersicht der Organisationsbausteine
Anlauf
OB 100
OB 101
OB 102
OB 1
Zyklische
Programm-
bearbeitung
"Alarm-OBs" "Fehler-OBs"
Periodische
Programm-
unterbrechung
OB 10 ... 17
(Uhrzeitalarme)
OB 30 ... 38
(Weckalarme)
OB 20 ... 23
(Verzögerungsalarme)
OB 40 ... 47
(Prozessalarme)
OB 80 ... 87
(Asynchronfehler)
OB 121, 122
(Synchronfehler)
Ereignisgesteuerte
Programm-
unterbrechung
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 69
Unterbrechung des zyklischen Programms:
Prioritäten der OB‘s:
OB-Nr.
OB 1
OB 10
OB 20
OB 35
OB 40
OB 82
OB-Typ
Zyklisches Programm
Uhrzeitalarm
Verzögerungsalarm
Weckalarm
Prozessalarm
Priorität
1
2
3
12
16
26 / 28 Fehler-Bearbeitung
OB1 wird endlos ausgeführt
bis zu einer Unterbrechung
durch einen anderen OB
Bsp.: OB 10 (Priorität 2)
Uhrzeitalarm.
Bearbeitung
jede Minute ab 9:
00
Bsp.: OB 82 (Priorität 26)
Fehlerbehandlung.
Bearbeitung bei Draht-
bruch am Analog-
eingang PEW 304
Bsp.: OB 20 (Priorität 3)
Verzögerungsalarm.
Bearbeitung wird 5 sec nach
der Teile-Erkennung gestartet.
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 70
5. 9. 1. Funktionsbeschreibung der OB‘s in Step7
5. 9. 1. 1. Uhrzeitalarme
Uhrzeitalarme werden verwendet, um ein bestimmtes Programm, das im OB 10 aufgerufen
wird, zu einem bestimmten Zeitpunkt einmalig oder ab diesem Zeitpunkt periodisch (minütlich,
stündlich, täglich, wöchentlich, monatlich, jährlich) zu bearbeiten.
Uhrzeitalarme werden mit dem Werkzeug „HW-Konfig" projektiert. Über die Menüpunkte
CPU Objekteigenschaften Register „Uhrzeitalarme" wird eingestellt, wann und wie die
OB‘s (OB 10 bis 17) aktiviert werden sollen.
Ist das Kontrollkästchen „Aktiv“ aktiviert, wird der zugehörige OB bei jedem Neustart der CPU
automatisch gestartet.
Außerdem können die Uhrzeitalarme auch mit Systemfunktionen gesteuert werden.
SFC 28 SET_TINT Startdatum, Uhrzeit und Periode einstellen
SFC 29 CAN_TINT Uhrzeit löschen
SFC 30 ACT_TINT Uhrzeit aktivieren
SFC 31 QRY_TINT Uhrzeitalarm abfragen
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 71
5. 9. 1. 2. Weckalarme
Mit einem Weckalarm lässt sich ein Baustein in festen Zeitabständen bearbeiten. Die S7-300
bietet als Weckalarm-OB den OB 35 an. Die Default-Vorgabe für sein Aufrufintervall beträgt
100ms, der einstellbare Bereich von 1ms bis 1 Minute.
Bei der Aktivierung einer zeitgesteuerten Unterbrechung wird das Intervall in Bezug auf eine
„Startzeit" festgelegt. Diese Startzeit beginnt bei jedem CPU-Betriebsartenwechsel von STOP
nach RUN.
Es muss darauf geachtet werden, dass das festgelegte Intervall größer ist, als die zur
Ausführung benötigte Zeit. Das Betriebssystem ruft den OB 35 zu der angegebenen Zeit auf;
wenn der OB 35 zu diesem Zeitpunkt noch aktiv ist, ruft das Betriebssystem den OB 80
(Weckalarm-Fehler) auf.
Weckalarme können zur Laufzeit nicht mit Systemfunktionen gesteuert werden.
Einstellung von Weckalarmen:
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 72
5. 9. 1. 3. Verzögerungsalarme
Die Bearbeitung des Programms eines Verzögerungsalarm-OBs (OB 20) wird nach Eintreten
eines bestimmten Ereignisses zeitverzögert gestartet.
Der OB 20 kann nur durch einen Aufruf der Systemfunktion SFC 32 (SRT_DINT) aktiviert
werden. Sie übernimmt auch die Einstellung der Verzögerungszeit.
SFC 32 – SRT_DINT
OB_NR = Nummer des mit Zeitverzögerung zu bearbeitenden OB‘s.
DTIME = Verzögerungszeit (1 ... 60.000ms)
SIGN = anwenderspezifisches Kennzeichen für den Start des Verzögerungs-
alarm- OB‘s
RET_VAL = Fehlercode, falls bei der Bearbeitung des Verzögerungsalarm-OB‘s ein
Fehler aufgetreten ist (Bedeutung der Fehler-Nummern, siehe Online-
Hilfe).
Außer der SFC 32 stehen zur Behandlung von Verzögerungsalarmen auch noch die folgenden
SFC’s zur Verfügung:
SFC 33 (CAN_DINT) = Verzögerungsalarm löschen und
SFC 34 (QRY_DINT) = Verzögerungsalarm abfragen.
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 73
5. 9. 1. 4. Prozessalarme
Die Bearbeitung des Programms eines Prozessalarm-OBs (OB 40) wird sofort nach Eintreten
eines bestimmten Ereignisses gestartet.
Prozessalarme können von verschiedenen baugruppenspezifischen Signalen ausgelöst
werden:
Bei parametrierbaren Signalbaugruppen (DI, DO, AI, AO) wird mit dem Werkzeug „HW-
Konfig" festgelegt, welches Signal den Prozessalarm auslösen soll.
Bei CP- und FM-Baugruppen wird das Alarmverhalten mit Hilfe der Konfigurations-
software der entsprechenden Baugruppe festgelegt.
+27.648 (10V)
0
(+1.5V)
(+8.2V)
Analogeingabebaugruppe
Einstellung von Prozessalarmen
HW-Konfig
Eigenschaften
der CPU
Eigenschaften der Analogbaugruppe
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 74
5. 9. 1. 5. Diagnosealarm, Asynchrone Fehler
Asynchronfehler sind Fehler in der Funktionalität der SPS. Sie treten asynchron zur
Programmbearbeitung auf und können nicht einer bestimmten Programmstelle zugeordnet
werden (z.B. ein Diagnosealarm von einer Baugruppe).
Wenn im RUN-Zustand ein Fehler erkannt wird und ein entsprechender Fehler-OB
programmiert war, so wird dieser aufgerufen und sein Programm abgearbeitet. Dieses
Programm enthält z.B.:
- Einschalten einer Warnleuchte / Sirene
- Datensicherungsanweisungen und einen abschließenden STOPP-Befehl
- Programm zur Registrierung der Häufigkeit mit welcher der Fehler auftritt, ohne die
CPU in den STOP- Zustand zu versetzen.
Wenn der dem Fehler zugeordnete Fehler-OB nicht vorhanden ist, geht die CPU automatisch in
den STOPP-Zustand über.
+27.648 (10V)
0
Analogeingabebaugruppe
Diagnosealarm, Asynchronfehleralarm
HW-Konfig
Eigenschaften
der CPU
Eigenschaften der Analogbaugruppe
Drahtbruch
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 75
Übersicht der Asynchronen Fehler OB’s:
5. 9. 1. 6. Synchrone Fehler
Diese Fehler lassen sich einer bestimmten Stelle im Programm zuordnen, wenn der Fehler
während der Ausführung einer bestimmten Anweisung auftrat. Die von synchronen Fehlern
aufgerufenen Fehler-OBs werden als Teil des Programms bearbeitet, und zwar mit der gleichen
Priorität wie der Baustein, der bei Erkennung des Fehlers gerade ausgeführt wurde.
Übersicht der Synchronen Fehler OB’s:
Stromversorgungsfehler
Diagnosealarm
Ziehen- / Stecken-
Alarm
Fehlerart
Zeitfehler
CPU-Hardware-Fehler
Programmablauf-Fehler
Baugruppenträger-
ausfall
Ausfall der Pufferbatterie
Drahtbruch am Eingang einer diagnosefähigen
Baugruppe
Ziehen einer Signalbaugruppe bei S7-400 im
laufenden Betrieb
Beispiel
Überschreiten der max. Zykluszeit
Fehlerhafter Signalpegel an der
MPI-Schnittstelle
Fehler bei der Prozessabbild-Aktualisierung
(Baugruppe defekt)
Ausfall der Stromversorgung im dezentralen
Baugruppenträger
Falsche Telegrammerkennung Kommunikations-Fehler
OB81
OB82
OB83
Priorität
OB
OB80
26 / 28
OB84
OB85
OB86
OB87
26
Fehlerart
Programmierfehler
Beispiele
im Programm wird ein Baustein aufge-
rufen, der in der CPU nicht vorhanden
ist
Fehler- OB
OB121
Zugriffsfehlerfehler
im Programm wird eine defekte oder
nicht vorhandene Baugruppe ange-
sprochen (z.B. Direktzugriff auf nicht
vorhandene Peripherie-Baugruppe)
OB122
Priorität
entsprechend
dem OB, der
durch den
Fehler
unterbrochen
wurde
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 76
5. 10. Umverdrahten
Anwendungsfälle: An einer Baugruppe wird ein defekter Kanal festgestellt. Wenn an derselben
Baugruppe noch nicht alle Kanäle belegt sind, kann der entsprechende Geber bzw. das
Stellglied auf den freien Kanal umgeklemmt werden.
Ein weiterer Fall – das Programm soll an einen anderen Prozess angepasst werden, bei dem
die Geber bzw. Stellgeräte auf andere Adressen verdrahtet sind.
In jedem Fall muss das Programm durch Umverdrahten (Einsetzen der neuen Adressen im
Programm) an die neuen Gegebenheiten angepasst werden.
5. 10. 1. Umverdrahten mit dem SIMATIC-Manager
Beim Umverdrahten mit dem SIMATIC-Manager muss bei den Objekteigenschaften des
Bausteinbehälters „Operandenvorrang: Absolutwert“ eingestellt sein.
Es können nur bestimmte Bausteine (durch Markieren dieser) oder alle Bausteine (durch
Markieren des Baustein-Behälters) umverdrahtet werden.
Gestartet wird die Funktion im SIMATIC-Manager Extras Umverdrahten. Tragen Sie in der
Maske die alten und die neuen Operanden ein und aktivieren Sie bei Bedarf „Alle Zugriffe
innerhalb der angegebenen Operanden“ (z.B. bei ganzen Bytes).
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 77
5. 10. 2. Umverdrahten über „führende Symbolik“
Vorraussetzung für diese Funktion ist eine vorhandene Symboltabelle .
Beim Umverdrahten über „führende Symbolik“ muss bei den Objekteigenschaften des
Bausteinbehälters „Operandenvorrang: Symbol“ eingestellt sein.
Achtung: Das Anpassen der Absolut-Adressen in der Symboltabelle darf erst vorgenommen
werden, nachdem in den Objekteigenschaften des Baustein-Behälters als Operandenvorrang
„Symbol“ eingestellt worden ist! Vorher vorgenommene Änderungen werden als solche nicht
anerkannt!
Nachdem die Absolut-Adressen in der Symboltabelle angepasst worden sind, kann das
Umverdrahten mit dem KOP/FUP/AWL-Editor durch Öffnen der Bausteine vorgenommen
werden. Nach dem Quittieren der Meldung „Mindestens eine Symbolzuordnung geändert“
werden die veränderten Adressen vom Editor automatisch eingefügt.
Das Umverdrahten wird nur in Bausteinen durchgeführt, die explizit mit dem Editor geöffnet
werden! Außerdem ist das Umverdrahten eines Bausteins nur dann wirksam, wenn dieser
anschließend gespeichert wird.
Vorgehensweise für das Umverdrahten:
2.
1.
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 78
5. 10. 3. Quellen
Über Quellen können auch einzelne Bausteine kopiert bzw. gesichert werden. Als Quellen
generierte Bausteine können außerdem mit jedem Texteditor wie z.B. Notepad bearbeitet
werden.
Die Funktion Quelle generieren finden Sie im KOP/FUP/AWL-Editor unter Datei Quelle
generieren. Es sollte dabei kein Baustein mehr geöffnet sein, da der letzte gespeicherte
Zustand des Bausteins generiert wird.
Umgekehrt können Sie im SIMATIC-Manager unter Bearbeiten Übersetzen, bzw. im
KOP/FUP/AWL-Editor unter Datei Übersetzen die Quellen wieder in das Programm
einbinden.
SPS-Fachkraft
Aufbaustufe 1
Fehlersuche
in Step 7
Kapitel 5
Seite 79
5. 10. 3. 1. Umverdrahten über Quellen
Eine weitere Funktion, die Sie über Quellen verwenden können, ist die Möglichkeit des
Umverdrahtens.
Generieren Sie dazu von den umzuverdrahtenden Bausteinen eine Quelle. Achten Sie dabei
darauf, dass Sie beim Generieren „symbolisch“ anwählen (eine Symbolik muss
selbstverständlich vorhanden sein). Ändern Sie anschließend in der Symbolik die
entsprechenden Einträge (Eingänge, Ausgänge usw.) und übersetzen Sie die Quelle zurück.
5. 10. 3. 2. Baustein über Quellen schützen
Eine weitere Funktion, die Sie über Quellen verwenden können, ist der „Know-How-Schutz“ von
Bausteinen. Sie können damit Programme in Bausteinen vor unauthorisierten Zugriffen und
Einblicken schützen.
Generieren Sie dazu von dem zu schützenden Baustein eine Quelle. Fügen Sie danach im
Bausteinkopf die Zeile Know_How_Protect ein. Nachdem Sie die Quelle wieder übersetzen,
lässt sich der Baustein nur noch über die Originalquelle durch Löschen bzw. Auskommentieren
der Zeile Know_How_Protect und anschließendem zurück Übersetzen wieder öffnen.
SPS-Fachkraft
Aufbaustufe 1
Stich-
wort-
verzeichnis
Seite 80
Stichwortverzeichnis:
A
Abfrageoperation................................................... 14
Ablaufkette.............................................................. 5
linear ................................................................. 5
ODER-verzweigt ................................................ 6
Überwachung .................................................... 8
UND-verzweigt................................................... 7
Verhalten nach Stopp......................................... 8
Ablaufsteuerung...................................................... 4
Adressbereich....................................................... 58
AKKU .................................................. 36, 37, 39, 44
Akkumulator.......................................................... 36
Aktion ..................................................................... 4
Aktionsblock............................................................ 4
Aktualoperand....................................................... 26
Alternativ-Verzweigung............................................ 6
Anfangswert.......................................................... 28
Anwenderprogramm
Struktur............................................................ 11
zyklische Bearbeitung ...................................... 12
Anzeigeformat....................................................... 65
Arbeitsspeicher ..................................................... 21
Array..........................................................22, 23, 28
Aufrufhierarchie..................................................... 60
Automatisierungsgerät........................................... 13
B
Baustein ....................................................12, 13, 60
Bausteinaufruf....................................................... 13
absolut ............................................................ 13
bedingt ............................................................ 13
Bausteinende
bedingt ............................................................ 12
Bausteinstack.................................................. 13, 63
Belegungsplan ...................................................... 59
Betriebsartenwechsel ............................................ 61
Betriebssystem ...................12, 27, 45, 47, 49, 68, 71
Bool...................................................................... 22
B-Stack........................................................... 53, 63
Byte...........................................................22, 39, 59
C
Call....................................................................... 13
Char ............................................................... 22, 38
Codebaustein........................................................ 21
CPU.............................. 21, 27, 30, 43, 48, 53, 61, 68
CPU-Meldungen.................................................... 54
D
Date...................................................................... 22
Daten
statische.......................................................... 26
temporäre.................................................. 26, 27
Datenbausteine..................................................... 21
Aufruf...............................................................25
Daten eingeben ................................................24
Erstellung.........................................................21
globale.............................................................21
Instanz-......................................................21, 29
Multiinstanz-...............................................21, 31
schreibgeschützt ..............................................21
Unlinked...........................................................21
Zugriff auf Daten...............................................25
Datenbausteinregister ............................................30
Datenbreite............................................................38
Datentyp..........................................................28, 58
Datentypen............................................................23
Datum ...................................................................61
DAY_AND_TIME ...................................................22
DB-Editor ..............................................................21
Default-Wert ..........................................................28
Deklarationstabelle .................................... 26, 28, 29
Diagnosepuffer ......................................................61
DInt .......................................................................22
Doppelwort ............................................................39
Doubbleinteger ................................................38, 40
DWord.............................................................22, 59
F
Fehler....................................................................62
Fehlerdiagnose......................................................61
Fehlersuche in S7..................................................53
Feld.......................................................................23
Filter......................................................................60
Filterbereich...........................................................58
Flussdiagramm................................................15, 20
Forcen...................................................................53
Formaloperand ......................................................26
Funktionsbaustein..................................................28
G
Ganzzahl...............................................................38
Gleitpunktzahl........................................................38
globale Symbolik....................................................32
Grundrechenoperationen .......................................41
H
Hardware-Station...................................................55
I
IEC 1131-3.....................................45, 46, 47, 49, 50
IEC-Counter ..........................................................49
CTD (SFB 1) ....................................................50
CTU (SFB 0) ....................................................49
CTUD (SFB 2)..................................................51
IEC-Timer..............................................................45
TOF (SFB 5) ....................................................47
TON (SFB 4) ....................................................46
TP (SFB 3) .......................................................45
SPS-Fachkraft
Aufbaustufe 1
Stich-
wort-
verzeichnis
Seite 81
Informationsaustausch .......................................... 36
Initialschritt.............................................................. 4
Instanzen .............................................................. 45
Int (Ganzzahl) ....................................................... 22
Integer ............................................................ 38, 40
Interrupt .......................................................... 63, 69
K
Kaltstart .....................................................46, 47, 49
Kommazahl........................................................... 38
Kommunikation ..................................................... 55
Komplement
2er- ................................................................. 38
L
Laden ............................................................. 36, 37
Lokaldaten .................................................37, 39, 64
Lokaldatenstack .........................................26, 27, 64
lokale Bausteindaten ............................................. 26
lokale Symbolik ..................................................... 32
Longinteger........................................................... 38
L-Stack ......................................................26, 27, 53
M
Marke ................................................................... 17
Multi-Instanzmodell ............................................... 31
N
Neustart............................................... 45, 46, 47, 49
O
OB 1..................................................................... 68
OB 10 ............................................................. 69, 70
OB 100 .......................................... 45, 46, 47, 49, 68
OB 101 ................................................................. 68
OB 102 ................................................................. 68
OB 121 ................................................................. 68
OB 122 ................................................................. 68
OB 20 ............................................................. 69, 72
OB 35 ............................................................. 69, 71
OB 40 ............................................................. 69, 73
OB 80 ................................................................... 71
OB 82 ................................................................... 69
Operand ......................................................... 36, 57
Operanden............................................................ 60
Operandenbereich ................................................ 37
Operation.............................................................. 14
bedingt ............................................................ 14
unbedingt ........................................................ 14
Operationen.......................................................... 23
Organisationsbaustein..................................... 12, 63
Organisationsbausteine......................................... 68
Anlauf-............................................................. 68
Asynchronfehler-........................................ 68, 74
Diagnosealarm................................................. 74
Prozessalarme........................................... 68, 73
Synchronfehler-..........................................68, 75
Uhrzeitalarme.............................................68, 70
Verzögerungsalarme ..................................68, 72
Weckalarme...............................................68, 71
P
Parameter .............................................................26
Parametrierbare Bausteine.....................................26
parametrierbare Funktionsbausteine.......................29
Peripherie........................................................37, 39
PG/PC-Schnittstelle ...............................................55
Priorität........................................................ 6, 68, 69
Programm .............................................................76
Programmablauf ....................................................12
Programmierschnittstelle........................................55
einstellen..........................................................55
Programmstruktur ............................................15, 60
Prozesssignale ......................................................31
Q
Quellen............................................................78, 79
Querverweise ........................................................56
Querverweisliste ........................................ 53, 56, 57
R
Real .......................................................... 22, 38, 40
Realzahl ................................................................38
Rechenoperationen................................................41
rechtsbündig..........................................................36
Referenzdaten .................................................53, 56
Register..................................................... 30, 36, 63
Register-Stack.......................................................68
Richtimpuls............................................................. 6
S
S5Time..................................................................22
S5-Zeitfunktionen...................................................43
S5-Zeitwort............................................................43
Aufbau .............................................................43
Schachtelungstiefe ..........................................13, 31
Schnittstelle.....................................................26, 55
Schritt..................................................................... 4
Schrittkette ............................................................. 7
Sensoren...............................................................53
SFC 32 - SRT_DINT..............................................72
SIMATIC-Manager............................... 55, 56, 65, 76
Simultanverzweigung.............................................. 7
Speicherbereich...............................................48, 59
Sprung ..................................................................16
Marke...............................................................17
statische Variable ..................................................31
Steuerungsprogramm ............................................12
String ..............................................................22, 23
Struct ........................................................ 22, 23, 24
Struktur ...........................................................24, 29
strukturierten Programmierung ...............................11
Symbolik ...............................................................77
SPS-Fachkraft
Aufbaustufe 1
Stich-
wort-
verzeichnis
Seite 82
führende.......................................................... 77
global .............................................................. 32
lokal ................................................................ 32
Symbolikdatei........................................................ 32
Symbolikeditor ...................................................... 32
Symbolliste ........................................................... 32
Symboltabelle ................................................. 60, 77
Systemdatenspeicher ............................................ 44
Systemfunktionsbausteine..........................45, 49, 70
T
temporäre Variablen.............................................. 27
Time............................................................... 22, 45
Time_Of_Day........................................................ 22
Timerwort.............................................................. 48
Transferieren .................................................. 36, 39
Transition............................................................ 4, 6
Trigger .................................................................. 66
Triggerpunkte........................................................ 66
U
UDT...................................................................... 22
Uhrzeit .................................................................. 61
umverdrahten........................................................ 76
führende Symbolik ........................................... 77
Unterbrechungsstack............................................. 63
Unterbrechungsstelle .............................................68
U-Stack ...........................................................53, 63
V
Variablendeklarationstabelle ..................................26
Variablentabelle.....................................................65
Vergleicher ............................................................40
Verknüpfungsergebnis .............. 12, 13, 14, 18, 36, 40
Verriegelung........................................................... 6
W
Warmstart............................................ 45, 46, 47, 49
Word ...............................................................22, 59
Z
Zahlenformate .......................................................38
Zähler....................................................................48
Zählfunktionen.......................................................48
Zählkonstante........................................................48
Zählwert ..........................................................48, 51
Zählwort ................................................................48
Zeitbasis................................................................43
Zeitwert .................................................................43
Quellen:
Siemenshandbücher
„Automatisieren mit SPS“ Wellenreuther/Zastrow
Lehrgangsunterlagen ZWH