Professional Documents
Culture Documents
bung -- d001_7-Segmentanzeige
bersicht:
Der Steuerungsablauf fr die Anzeige der Ziffern 0 bis 9 mittels einer 7-Segmentanzeige soll mit einer
speicherprogrammierbaren Steuerung realisiert werden.
Lehrziele:
Sprungfunktionen, bertragungsfunktionen (Laden & Transferieren), Programmorganisation
Quelle:
SIEMENS AG, A&D - www.siemens.com/sce
Fachhochschule Kln - www.fh-koeln.de/ait
Vorraussetzungen:
Grundlagen der SPS-Programmierung mit SIMATIC S7-300 (Anhang I)
und Grundlegende Programmierbefehle (Anhang III), insbesondere:
Zuweisung
UND- und ODER-Verknpfung
Dezimales, Hexadezimales und Duales Zahlensystem
Zeitaufwand:
d001_7-Segmentanzeige_v02
Ausgabestand: 3/2006
Schwierigkeit:
Seite 1 von 9
SIMATIC-bungen
SCE Application Center
Funktionsbeschreibung:
d001_7-Segmentanzeige_v02
Ausgabestand: 3/2006
Seite 2 von 9
SIMATIC-bungen
SCE Application Center
4
0
2
1
1
1
3
1-er
Jeweils eine Zehnerpotenz wird durch eine Tetrade (1, 2, 4, 8) des dualen Systems dargestellt. Das Umwandeln
einer BCD-Zahl in eine Dezimalzahl ist aufgrunnd der bersichtlichkeit der Struktur sehr gut durchfhrbar.
In dieser Programmieraufgabe wird daher die Darstellung der Ziffern einer Tetrade gefordert.
d001_7-Segmentanzeige_v02
Ausgabestand: 3/2006
Seite 3 von 9
SIMATIC-bungen
SCE Application Center
bertragungsfunktion:
Allgemeines:
bertragungsfunktionen werden eingesetzt um Daten in den Akkumulator (Arbeitsregister) zu laden bzw.
auszulesen bzw. Daten zwischen den verschiedenen Akkumulatoren auszutauschen.
Einsatzbereich:
In der vorliegenden Aufgabe werden Sie Lade- und Transfer-Funktionen einsetzen. Auf den folgenden Seiten
wird die Funktionsweise und die programmtechnische Umsetzung dargestellt.
Lade- und Transferfunktionen:
Um Daten von einem Datenbereich (z.B. Eingnge, Merker) in einen anderen Datenbereich (z.B. Ausgnge,
Datenbaustein) zu bertragen, werden die Quelldaten in den Akkumulator geladen und dann in den
Zieldatenbereich transferiert.
Bei der Anwendung der Lade- und Transferbefehlen ist zu beachten, dass sie unabhngig vom
Verknpfungsergebnis (VKE) und den Statusbits ausgefhrt werden.
Da der Akkumulator normalerweise eine Breite von 32 Bit hat knnen nur die folgenden Operandenlnge bzw.
Variablenformate verwendet werden.
Operand:
Variablen:
Byte
Wort
Doppelwort
INT
DINT
REAL
Bei den Lade- und Transfer-Befehlen ist je nach Anwendung darauf zu achten, welche Lnge der Operand hat
und auf welche Art und Weise dieser in den Akku geladen wird, da dieser eine Breite von 4 Bytes (32 Bit) hat.
Stichworte dazu: Rechtsbndiges Laden, Highbyte, Lowbyte.
Bei der Anwendung innerhalb dieser Aufgabe (Laden und Transferieren eins Bytes) spielt dies keine
bedeutende Rolle.
d001_7-Segmentanzeige_v02
Ausgabestand: 3/2006
Seite 4 von 9
SIMATIC-bungen
SCE Application Center
Hinweis:
Die gewhlte Adressierung ist beispielhaft.
Wirkungsweise des Aufrufs:
Hat der Eingang E 5.3 1-Signal, werden die Daten aus der Quelle (IN) an das Ziel (OUT) bertragen. In
diesem Beispiel steht an IN ein Wert in hexadezimalem Format an: 6D.
Der Wert 6D hat den dezimalen Wert 1 * 161 + 13 * 160 = 96 + 13 = 109 (dez).
Der Wert 109 (Dez) hat im dualen Zahlensystem den Wert:
64 + 32 + 8 + 4 + 1 = 1 * 26 + 1 * 25 + 0 * 24 + 1 * 23 + 1 * 22 + 0 * 21 + 1 * 20 = 1101101 als Bitmuster
Dargestellt im 8-Bit-Muster (= 1 Byte): 01101101 (sog. Darstellung mit fhrenden Nullen).
Auch hier wird erst der Wert 6D(hex) rechtsbndig in den Akku 1 geladen, bevor der Wert an das Ausgangsbyte
0 bertragen wird.
d001_7-Segmentanzeige_v02
Ausgabestand: 3/2006
Seite 5 von 9
SIMATIC-bungen
SCE Application Center
Nachfolgende Tabelle zeigt die Parameter, die mglichen Operanden und die Datentypen der MOVE-Box:
Parameter:
EN
Operand:
E, A, M, D, L, T oder Z
IN
E, A, M, D, L, P, Konstante
oder Variable
OUT
E, A, M, D, L oder Variable
EN0
E, A, M, D, L, T oder EN
Datentyp:
BOOL
Alle mit 1 Byte,
2 Bytes (Wort) oder
4 Bytes (Doppelwort)
Alle mit 1 Byte,
2 Bytes (Wort) oder
4 Bytes (Doppelwort)
BOOL
An den Eingang IN und an den Ausgang OUT knnen digitale Operanden mit den elementaren
Datentypen auer BOOL gelegt werden.
Die Variablen am Eingang IN und Ausgang OUT knnen unterschiedliche Datentypen aufweisen.
(Umwandlung von Datentypen beachten!).
Die Operandenbreite am Eingang IN und am Ausgang OUT kann unterschiedlich sein. (Stichwort: Was
passiert, wenn an IN ein Operand mit 4 Byte ansteht, und an OUT nur eine Breite von 2 Byte zur
Verfgung steht. Was geht verloren?).
Der Eingang EN und der Ausgang ENO mssen nicht beschaltet werden.
Mit dem Eingang EN kann die Abarbeitung der MOVE-Box bedingt durchgefhrt werden. (Stichwort:
Nicht nur ein Eingangsbit, sondern logische Verknpfungen knnen hierzu verwendet werden: UND,
ODER,...).
EN-/EN0-Mechanismus:
Die Freigabe (EN) und der Freigabeausgang (ENO) der FUP/KOP-Boxen wird mittels des BIE-Bits (Strungsbit
BIERegister) realisiert.
Wenn EN und ENO beschaltet sind, dann gilt:
ENO = EN AND NOT (Fehler der Box)
Wenn kein Fehler auftritt (Fehler der Box = 0), ist somit ENO = EN.
Der EN-/ENO-Mechanismus wird verwendet fr:
arithmetische Operationen,
bertragungs- und Umwandlungsoperationen,
Schiebe und Rotieroperationen,
Bausteinaufrufe.
Dieser Mechanismus wird nicht verwendet fr:
Vergleicher,
Zhler,
Timer.
Um die eigentlichen Befehle der Box werden fr den EN-/ENO-Mechanismus zustzliche AWL-Befehle in
Abhngigkeit von vorhandenen Vor- und Nachverknpfungen generiert.
d001_7-Segmentanzeige_v02
Ausgabestand: 3/2006
Seite 6 von 9
SIMATIC-bungen
SCE Application Center
Hinweis:
Die gewhlte Adressierung ist beispielhaft.
Die Ladeanweisung (IN) wird in AWL mit einem L gekennzeichnet, die Transferanweisung (OUT) mit einem T.
Die Sprunganweisung SPBNB hat folgende Bedeutung:
Springe bedingt bei VKE = "0" und
Retten des VKE in BIE-Bit
Der Sprung an die angegebene Marke innerhalb des Programms
erfolgt nur, wenn das VKE = "0" ist. Das aktuelle VKE wird im Statuswort
in Bit 8 (*BIE-Bit) gerettet (gespeichert).
SPBNB
MARKE
BIE = Binrergebnisbit: Wenn Sie einen Funktionsbaustein oder eine Funktion in AWL schreiben und in KOP
aufrufen wollen, mssen Sie das VKE im BIE-Bit speichern, um so den Freigabeausgang ENO (Stichwort
MOVE-BOX) fr die MOVE-Box zu liefern.
Die angegebene Sprungmarke _001 wird dabei automatisch erzeugt, wenn die Programmierung in FUP bzw.
KOP erfolgt und anschlieend auf die Darstellung AWL umgeschaltet wird.
d001_7-Segmentanzeige_v02
Ausgabestand: 3/2006
Seite 7 von 9
SIMATIC-bungen
SCE Application Center
Zuordnungsliste:
OPERAND
SYMBOL
KOMMENTAR
E0.0
E0.1
E0.2
E0.3
A0.0
A0.1
A0.2
A0.3
A0.4
A0.5
A0.6
E0.0
S1
S2
S3
S4
a
b
c
d
e
f
g
S1
Dezimalwert 1
Dezimalwert 2
Dezimalwert 4
Dezimalwert 8
Segment a
Segment b
Segment c
Segment d
Segment e
Segment f
Segment g
Dezimalwert 1
SPS-Schema:
Anschluss der Schalter (S1 bis S4) und der einzelnen LED-Segmente (a bis g) an die Steuerung.
d001_7-Segmentanzeige_v02
Ausgabestand: 3/2006
Seite 8 von 9
SIMATIC-bungen
SCE Application Center
Aufgabenstellung:
Erstellen Sie ein SPS-Programm, welches die geforderte Funktion erfllt. Beachten Sie dabei, dass Sie bei
einem undefinierten Zustand der Eingnge, alle Segmente ausschalten.
Verwenden Sie dazu die im Einfhrungsteil dieser Aufgabe behandelten STEP 7-Anweisungen (MOVE-Box).
In der folgenden Tabelle sind die notwendigen Bitmuster (AB0) und die zugehrigen Hex-Zahlen fr den INEingang der MOVE-BOX aufgefhrt.
Ziffer:
0
1
2
3
4
5
6
7
8
9
Segmente:
f, e, d, c, b, a
c, b
a, b, d, e, g
a, b, c, d, g
b, c, f, g
a, c, d, f, g
a, c, d, e, f, g
a, b, c
a, b, c, d, e, f, g
a, b, c, d, f, g
Bitmuster (AB0):
00111111
00000110
01011011
01001111
01100110
01101101
01111101
00000111
01111111
01101111
Hex-Zahl:
3F
6
5B
4F
66
6D
7D
7
7F
6F
ergnzend: Dez-Zahl:
63
6
91
79
102
109
125
7
127
111
d001_7-Segmentanzeige_v02
Ausgabestand: 3/2006
Seite 9 von 9
SIMATIC-bungen
SCE Application Center