Grundlegendes zur SPS

Aufgabe einer SPS

Eine speicherprogrammierbare Steuerung, im Folgenden nur noch SPS oder PLC (von Speicherprogrammierbare Steuerung bzw. Englisch Programmable Logic Controller) genannt, hat die Aufgabe, eine Maschine oder Produktionsanlage nach einem vorgegebenen Funktionsablauf in Abhängigkeit von Gebersignalen (sogenannte Sensoren) zu steuern.
Gebersignale kommen z.B. von Schaltern, Endschaltern, Näherungsinitiatoren, Durchflusswächter, Drucksensoren oder Temperaturwächter. Die Auswahl an Sensoren für den erforderlichen Zweck ist hier riesig.
Gesteuert werden sogenannte Aktoren wie z.B. Motore, Ventile, Heizungen oder Leuchten. Auch hier ist die Auswahl vielfältig.

SPS-Steuerungsfamilie Simatic S7-1500
SPS-Steuerungsfamilie Simatic S7-1500  [1]

Beispiele Sensoren und Aktoren

Positionsschalter
Positionsschalter  [2]

Auch Endschalter, Endlagenschalter oder Grenztaster genannt. Sie werden mechanisch, d.h. durch den direkten Kontakt betätigt.

Verschiedene Näherungsinitiatoren
Näherungsinitiatoren  [3]

Elektronische Schalter, die Objekte berührungslos erfassen. Induktive reagieren nur auf Metalle, kapazitive auch auf Nichtmetalle.

Lichtschranken
Lichtschranken  [4]

Erfassung von Objekten mit sichtbarem oder unsichtbarem Licht. Lichtquelle und Empfänger können getrennt oder in einem Gehäuse sein.

Prozesssensoren
Prozesssensoren  [5]

Physikalische Größen erfassen wie z.B. Druck, Gewicht, Strömung, Durchfluss, Füllstand, Beschleunigung, Schwingung, Neigung.

Pneumatikzylinder und Ventile
Pneumatik  [6]

Elektrisch betätigte Ventile steuern mechanische Antriebe (Zylinder) mit Druckluft (pneumatisch), Öl oder auch Wasser (hydraulisch).

Antriebstechnik
Antriebstechnik  [7]

U.a. Dreh-, Wechsel- oder Gleichstrommotore für relativ einfache Anwendungen. Gesteuerte Servomotore für größtmögliche Präzision.

Signalarten einer SPS

Binäre Signale

Binäres Signal
Binäres Signal

Binäre (vom lateinischen bini oder bina für “je zwei“, “beide“ oder “paarweise“) Signale können nur zwei Zustände annehmen:
Signalzustand „1“ = Spannung vorhanden = „Ein“ oder „On“ oder „High-Signal
Signalzustand „0“ = Spannung nicht vorhanden = „Aus“ oder „Off“ oder „Low-Signal

Ein Beispiel das jeder kennt ist der Lichtschalter. Schalter „Ein“ = Licht an, Schalter „Aus“ = Licht aus.
Auf diesen zwei (binären) Zuständen „0“ oder „1“ basiert die gesamte Informationstechnik, jeder Computer.
Ein binäres Signal kann also nur die Werte „0“ oder „1“ annehmen und ist im technischen Sprachgebrauch die kleinste Maßeinheit: 1 Bit.


Analoge Signale

Analoges Signal
Beispiel analoges Signal

Im Unterschied zu binären Signalen, die ja nur die beiden Signalzustände „0“ oder „1“ annehmen, können analoge Signale innerhalb eines bestimmten Bereiches theoretisch beliebig viele Werte annehmen.

Vom Prinzip her, und nur vom Prinzip her, ist ein Lichtdimmer, wie er z.B. im Haushalt zur Steuerung der Helligkeit von Lampen eingesetzt wird, ein einfaches Beispiel. Je nach Stellung des Drehknopfes kann die Helligkeit einer Glühlampe von „Zappenduster“ bis zum Maximum an Helligkeit stufenlos eingestellt werden.

Im Fall einer SPS wird für einen analogen SPS-Ausgang eine digitale Information in Form von Bits mit Hilfe eines Digital/Analog-Wandler (D/A-Wandler) in einen analogen Wert umgewandelt.

Andersherum wird für einen analogen SPS-Eingang mit einem Analog/Digital-Wandler (A/D-Wandler) ein analoges Signal in digitale Bits gewandelt.


Binärstellen

Ein binäres Signal wird auch als Binärstelle bezeichnet und entspricht 1 Bit. Die Maßeinheit Bit ist eine Wortschöpfung aus den englischen Worten binary und digit, übersetzt also „binäre Ziffer“. Mehrere Bits zusammengefasst werden zu einem digitalen Signal.

Die Beispieltabelle zeigt ein digitales Signal mit 2 Binärstellen. Mit 2 Bits, die jeweils den Zustand „0“ oder „1“ annehmen, kann man also 4 verschiedene Zustände bzw. Informationen wiedergeben, also 2 2 Informationen. Das Zusammenfassen von n-Binärstellen ermöglicht daher die Darstellung von n 2  verschiedenen Kombinationen.

Beispiel mit 2 Binärstellen: 2 Bit ergeben 4 Zustände
Zustand
Nr.
Bit
1
Bit
2
Schalter
S1
Schalter
S2
1. 0 0 offen offen
2. 1 0 geschlossen offen
3. 0 1 offen geschlossen
4. 1 1 geschlossen geschlossen

Zahlensysteme

Dezimalsystem

Damit Eingänge, Ausgänge, Zeiten usw. richtig von einer SPS angesprochen bzw. verarbeitet werden können, werden sie „adressiert“. Allerdings wird dazu nicht das allseits bekannte und von uns genutzte Dezimalsystem verwendet, sondern das duale Zahlensystem.
Warum ausgerechnet das Dualsystem und nicht unser gewohntes Dezimalsystem?
Die Antwort ist eigentlich recht einfach: Eine SPS erkennt nur die zwei Werte0oder1“, also nur die bereits erwähnten binären, zweiwertigen Signale.
Zum Verständnis des dualen Zahlensystems wird zunächst das Dezimalsystem betrachtet. In der Beispieltabelle wird die Zahl 315 aufgegliedert. Die 3 stellt die Hunderter dar, die 1 steht für die Zehner und die 5 für die Einer. Normalerweise müsste man 315 so schreiben: 300 + 10 + 5.

Schreibt man den Ausdruck 300 + 10 + 5 jedoch mit Hilfe von Zehnerpotenzen wie in der Tabelle dargestellt, so erkennt man, dass jeder Stelle innerhalb der Zahl eine Zehnerpotenz zugeordnet ist.

Jeder Ziffer innerhalb der Dezimalzahl ist eine Zehnerpotenz zugeordnet
10 2  10 1  10 0     Zehnerpotenz 
Hunderter Zehner Einer
3 1 5   Dezimalzahl
300 + 10 + 5 = 315     
 3 • 10 2  +  1 • 10 1   +  5 • 10 0  

Dualsystem

Im normal üblichen Dezimalsystem werden als Zahlen die Ziffern 0 bis 9 verwendet. Das duale Zahlensystem kennt jedoch nur die Ziffern „0“ und „1“. Dies entspricht, wie zuvor beschrieben, den elektrischen Schaltzuständen „Aus“ und „Ein“ und ist in der Datenverarbeitung leicht darstell- und auswertbar.

Es ist ein rein binäres, also ein zweiwertiges Zahlensystem. Die Stellenwerte einer Dualzahl sind den Zweierpotenzen zugeordnet. In der Tabelle ist als Beispiel die Zahl 13 dargestellt.

Wie jetzt zu erkennen ist, verdoppelt sich der Zahlenwert mit jeder Binärstelle bzw. Bit. Moderne SPS-Steuerungen oder handelsübliche PC's arbeiten mit einer 32- oder 64-Bit-Architektur.

Jeder Ziffer innerhalb der Dualzahl ist eine Zweierpotenz zugeordnet
2 3  2 2  2 1  2 0   Zweierpotenz 
1 1 0 1 Dualzahl
 1 • 2 3   +  1 • 2 2   +  0 • 2 1   +  1 • 2 0  
Dezimalzahl
8 + 4 + 0 + 1 = 13

Hexadezimalsystem

Während das Dezimalsystem nur die Ziffern 0 bis 9, also insgesamt 10 Zahlen verwendet, enthält das hexadezimale Zahlensystem insgesamt 16 Zahlen. Hexa kommt aus dem Griechischen und bedeutet 6 (sechs). Dezimal kennt man ja schon als unser bewährtes Zehnersystem. Hexadezimale Zahlen haben dementsprechend eine Basis von 16.

Neben den Ziffern 0-9 werden zur Darstellung auch die Buchstaben A bis F als Zahlzeichen verwendet. Bezogen auf das duale Zahlensystem bedeutet dies, dass mit insgesamt 4 Binärstellen bzw. Bits die Basis 16 dargestellt wird.

Das hexadezimale Zahlensystem ist also nichts weiter als eine Zusammenfassung von mehreren Bits des Binärsystems. Es ist praktisch, weil mit wenigen Zeichen große Zahlen dargestellt werden können.

Die nachfolgenden Tabellen veranschaulichen Dezimal-, Dual- und Hexadezimalzahlen. Die Fortsetzung der Zahlensysteme über 5 Bit hinaus sollte selbsterklärend sein.

Dezimalzahl Dualzahl Hexadezimal
 2  2  2  2  2  2
32 16 8 4 2 1
0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 1
2 0 0 0 0 1 0 2
3 0 0 0 0 1 1 3
4 0 0 0 1 0 0 4
5 0 0 0 1 0 1 5
6 0 0 0 1 1 0 6
7 0 0 0 1 1 1 7
8 0 0 1 0 0 0 8
9 0 0 1 0 0 1 9
10 0 0 1 0 1 0 A
11 0 0 1 0 1 1 B
Dezimalzahl Dualzahl Hexadezimal
 2  2  2  2  2  2
32 16 8 4 2 1
12 0 0 1 1 0 0 C
13 0 0 1 1 0 1 D
14 0 0 1 1 1 0 E
15 0 0 1 1 1 1 F
16 0 1 0 0 0 0 10
17 0 1 0 0 0 1 11
18 0 1 0 0 1 0 12
19 0 1 0 0 1 1 13
20 0 1 0 1 0 0 14
21 0 1 0 1 0 1 15
22 0 1 0 1 1 0 16
23 0 1 0 1 1 1 17
Dezimalzahl Dualzahl Hexadezimal
 2  2  2  2  2  2
32 16 8 4 2 1
24 0 1 1 0 0 0 18
25 0 1 1 0 0 1 19
26 0 1 1 0 1 0 1A
27 0 1 1 0 1 1 1B
28 0 1 1 1 0 0 1C
29 0 1 1 1 0 1 1D
30 0 1 1 1 1 0 1E
31 0 1 1 1 1 1 1F
32 1 0 0 0 0 0 20
33 1 0 0 0 0 1 21
usw...   ...bis
63 1 1 1 1 1 1 3F

BCD-Code

Der BCD-Code ist eine binär codierte Dezimalzahl und wird sehr häufig zur übersichtlichen Darstellung von Zahlenwerten verwendet, ist aber kein Zahlensystem im eigentlichen Sinne. Als praktisches Beispiel sei hier einmal eine elektronische Ergebnistafel in einer Sporthalle genannt. Jede angezeigte Zahl, ob ein-, zwei- oder dreistellig wird höchstwahrscheinlich auf diesem Code basieren.

Die Dezimalzahlen 0 - 9 werden mit dem dualen Zahlensystem dargestellt. Zur Darstellung der höchsten Zahl 9 werden Zweierpotenzstellen bis 2 3 benötigt, insgesamt also 4 Bit.

Für die größte Dezimalziffer werden also grundsätzlich 4 binäre Stellen benötigt.
Von daher ist der BCD-Code ein 4-Bit-Code.

 2 3   2 2   2 1   2 0  Zweierpotenz
8 4 2 1 Dezimalzahl
0 0 0 0 ≙ 0
1 0 0 1 ≙ 9

Begriffe der Informatik

Bit

Bit
Der Signalzustand eines Bit kann nur „0oder1“ sein

Wie bereits erwähnt ist Bit eine Wortschöpfung aus binary und digit, übersetzt heißt es soviel wie „binäre Ziffer“ oder auch „Binärziffer“. Die Maßeinheit heißt Bit, das Einheitenzeichen nach IEC-Norm ist „bit“ und kann nur den Signalszustand „1“ für „Spannung vorhanden“ oder „0“ für „Spannung nicht vorhanden“ annehmen.

Ein Bit ist eine boolesche Variable, benannt nach dem englischen Mathematiker George Bool (1815 - 1864). Seine Algebra beruhte auf die Werte „True“ oder „False“, also auf den binären Werten „1“ oder „0“.

Das Einheitenzeichen bit, alternativ auch nur b, wird nach IEC (der International Electrotechnical Commission) kleingeschrieben. Gebräuchlicher ist jedoch Bit. Üblich sind auch Größenangaben wie kb/kbit für Kilobit = 1024 [210] bit oder Mbit/Mb für Megabit = 1024 [210] kbit bzw. 1.048.576 [220] bit. Natürlich geht es auch noch größer: Gigabit (Gb/Gbit) = 1024 [210] Mbit bzw. 1.048.576 [220] kbit bzw. 1.073.741.824 [230] bit, Terabit = 240 bit usw...


Byte

Das Byte ist wie das Bit eine Wortschöpfung und wurde vermutlich aus dem Englischen bit (zu deutsch „Bißchen“ oder „Häppchen“) und bite („Bissen“ oder „Happen“) gebildet. Zur besseren Unterscheidung von Bit wurde das Bite später (≈1956) zu Byte. Als Schöpfer dieses Kunstwortes gilt der deutsch-amerikanische IBM-Ingenieur Werner Buchholz. Im Ursprung hatte das Byte allerdings eine Einheit von nur 6 Binärstellen. Mit diesen 6 Bit konnten 2 6 = 64 Zustände dargestellt werden. Später wurde das Byte auf 8 Bit erweitert, da mit 2 8 = 256 Zeichen alle Buchstaben und gängigen Sonderzeichen dargestellt werden konnte. Ein Byte hat also die Größe von 8 Bit.

1 Byte entspricht 8 Bit
(Signalzustände beispielhaft)
1 Byte
≙ 8 Bit
1 0 0 1 0 1 0 1

Wort

Ein Wort ist eine Folge mehrerer Binärzeichen, die als eine Einheit betrachtet wird. Die Wortlänge entspricht 2 Bytes oder 16 Bit.
Wörter werden u.a. zur Darstellung von Zahlenwerten oder Steuerungsanweisungen genutzt.

1 Wort entspricht 2 Byte bzw. 16 Bit
(Signalzustände beispielhaft)
1 Wort
1 Byte 1 Byte
1 0 0 1 0 0 1 1 0 0 0 1 1 1 0 0
≙ 16 Bit

Doppelwort

Wie es der Name schon sagt. Ein Doppelwort ist die doppelte Menge von einem Wort, also 2 Worte oder 4 Bytes oder 32 Bit als Einheit.


Bitadresse

Damit jedes einzelne Bit auch richtig angesprochen werden kann, wird jedem einzelnen Bit innerhalb eines Byte eine Zahl, die Bitadresse, zugeordnet. In jedem Byte bekommt das Bit ganz rechts die Bitadresse 0. Mit jedem Bit nach links erhöht sich die Bitadresse um den Faktor 1 und das links stehende Bit erhält die Bitadresse 7.
Auffällig ist, dass die erste Ziffer 0 und nicht 1 ist. Gewohnheitsmäßig fangen wir das Zählen mit 1 an (1, 2 3, 4 usw.), aber in der Elektronik beginnt die Zählung immer bei der Zahl 0 (Null). Ebenfalls ungewohnt ist die Zählrichtung von rechts nach links, da wir in unserem „normalen Leben“ von links nach rechts schreiben.

Adressierung der Bits
1 Byte
← links rechts →
7 6 5 4 3 2 1 0
Bitadresse

Byteadresse

Wie die einzelnen Bits erhalten auch die einzelnen Bytes Nummern, die Byteadressen. Zusätzlich wird noch gekennzeichnet um welchen Operanden es sich bei den Adressen handelt. Ein Operand kann ein „E“ für ein Eingang oder „A“ für ein Ausgang sein. Weitere Operanden können „M“ für Merker (Bits im Speicher der CPU), „Z“ für Zähler oder „T“ für Timer sein. Englisch stehen die Buchstaben I = Input, Q = Output, M = Bit Memory, C = Counter und T = Timer für die Operanden. Es gibt noch ein paar mehr Operanden, doch soll dies hier erst einmal genügen. Übrigens steht das „Q“ für Output und nicht das große „O“ um die Verwechselungsgefahr mit der Zahl „0“ zu minimieren.
Die einzelnen Bits sind durch die Kombination von Bit- und Byteadresse eindeutig adressiert. Die Bitadresse wird von der Byteadresse durch einen Punkt getrennt. Links vom Punkt steht immer die Byteadresse, rechts vom Punkt die Bitadresse.

Beispiel Eingangsbyte 3
Operand E
Byte-Nr. 3
Trennzeichen
Bit-Nr.
7 6 5 4 3 2 1 0
Adress-Nr.
E3.7 E3.6 E3.5 E3.4 E3.3 E3.2 E3.1 E3.0

Wortadresse

EW0 EW2  Wortadresse
EB0 EB1 EB2 EB3  Byteadresse
EW1  Wortadresse

Werden Bits und Bytes eindeutig adressiert, so ist auch die Adressierung der Worte selbstverständlich. Sie heißen dann z.B. Eingangswort (EW), Ausgangswort (AW) oder Merkerwort (MW). Englisch IW, QW oder MW.
Die Wortadresse ist immer die kleinere Adresse der zwei dazugehörigen Bytes. Bei einem Wort bestehend aus EB0 und EB1 ist die Adresse EW0. Bei einem Wort bestehend aus EB1 und EB2 ist die Adresse EW1.


Doppelwortadresse

ED0  Doppelwortadresse
EW0 EW2  Wortadresse
EB0 EB1 EB2 EB3  Byteadresse
EW1  Wortadresse

Die Nummerierung von Doppelwörtern ergibt die Doppelwortadresse.
Bei Doppelwörtern wie z.B. Eingangsdoppelwort (ED), Ausgansdoppelwort (AD) oder Merkerdoppelwort (MD) ist die Doppelwortadresse immer die kleinere Wortadresse der zwei dazugehörigen Worte.

Quellennachweis

  • [1] Bilder P_ST70_XX_07845V + 07851V - © Siemens AG 2018, Alle Rechte vorbehalten
  • [2] Bild 102206 - Euchner GmbH + Co. KG
  • [3] Bild P_F_WH_W_100_0211 - ifm electronic gmbh
  • [4] Bilder 22567/51532/59782/45654/74166 - Sick Vertriebs-GmbH
  • [5] Bild P_F_WH_W_500_0061 - ifm electronic gmbh
  • [6] Bilder Festo AG & Co. KG
  • [7] Bilder © Siemens AG 2018, - Alle Rechte vorbehalten