Grundlagen

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

Eine speicherprogrammierbare Steuerung, im Folgenden nur noch SPS (von Speicherprogrammierbare Steuerung bzw. Englisch Programmable Logic Controller, PLC) genannt, hat die Aufgabe, eine Maschine oder Produktionsanlage nach einem vorgegebenen Funktionsablauf in Abhängigkeit von Gebersignalen 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, z.B. Heizungen, Motore oder Ventile. Auch hier ist die Auswahl vielfältig.

Beispiele von 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]

Optische 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, Vakuum, 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 (hy­draulisch)

Antriebstechnik
Antriebstechnik[7]

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

Signalarten einer SPS
Binäre Signale

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.

In den meisten Fällen wird eine Gleichspannung von 24V als Steuerspannung in der Steuerungs­technik verwendet. Ein Spannungspegel von +24V an einem SPS-Eingang bedeutet demnach einen Signalzustand von „1“ für diesen Eingang. Entsprechend bedeutet 0V ein Signalzustand von „0“. Zusätzlich zum Signalzustand ist auch noch wichtig, ob es sich bei dem angeschlossenen Geber um einen „Öffner“ oder um einen „Schließer“ handelt. Ein Öffner liefert im un­betätigten Zustand den Signalzustand „1“ und im betätigten Zustand das Signal „0“. Bei einem Schließer sind die Signalzustände genau ent­gegengesetzt. Im unbetätigten Zustand ist der Signalpegel „0“, im betätigten Zustand „1“. Ob ein Öffner oder Schließer eingesetzt wird hängt von der Funktion ab die erreicht werden soll. Schließer liefern ein logisch „1“ Signal wenn z.B. eine Position oder ein Druck erreicht ist. Ein Öffnerkontakt liefert im unbetätigten Zustand nicht nur ein logisch „1“ Signal, sondern gibt zusätzlich auch noch Auskunft über den Zustand der An­schlußleitung. Die Leitung muss immer strom­führend sein. Ist sie unterbrochen, kann kein „1“ Signal am SPS-Eingang anstehen. Man nennt dies auch Draht­bruchsicherung. Ein typisches Beispiel für eine Öffner­funktion kann ein Schwimmer­schalter sein, der die Über­füllung eines Behälters überwachen soll. Solange der Schalter logisch „1“ ist, kann der Behälter befüllt werden. Wird der Schalter betätigt (Füllstand erreicht) geht das Signal auf „0“. Ein Drahtbruch hätte ebenfalls diesen Effekt.

Binärstellen
Bit 1   Bit 2    Schalter S1 bzw. S2
0 0   Zustand 1 S1 und S2 offen
1 0 Zustand 2 S1 geschlossen, S2 offen
0 1 Zustand 3 S1 offen, S2 geschlossen
1 1 Zustand 4 S1 und S2 geschlossen
Tab.1: 2 Binärstellen bzw. 2 Bit ergeben 4 Zustände

Ein binäres Signal wird auch als Binärstelle bezeichnet und entspricht 1 Bit. Die Maßeinheit Bit ist eine Wort­schöpfung aus den englischen Worten binary und digit. Mehrere Bits zusammengefasst werden zu einem digitalen Signal. Tabelle 1 zeigt ein digitales Signal mit 2 Binärstellen. Mit 2 Bits kann man also 4 verschiedene Informationen wiedergeben, also 2Informationen. Das Zusammenfassen von n-Binärstellen ermöglicht daher die Darstellung von n verschiedenen Kombinationen.

Analoge Signale

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 beliebig viele Werte annehmen.
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 bis zum Maximum stufenlos eingestellt werden.
Im Fall einer SPS wird eine digitale Information in Form von Bits mit Hilfe eines D/A-Wandler (Digital/Analog-Wandler) in einen analogen Wert umgewandelt. Andersherum wird mit einem Analog/Digital-Wandlers (A/D-Wandler) ein analoges Signal in digitale Bits gewandelt.

Analoge Werte mit einer SPS zu verarbeiten bedeutet, dass die eingehenden Spannungs-, Strom oder Widerstandswerte in digitale Werte umgewandelt werden. Für die Ausgabe eines Analogwertes werden dem­entsprechend digitale Werte in analoge Werte umgewandelt. Die Auflösung, oder auch Ab­stufung der eingelesenen oder ausgegebenen Werte hängt von den Binärstellen des Wandlers ab. Hat der Wandler nur eine Binärstelle (1 Bit), können nur zwei verschiedene Werte dargestellt werden. Bei zwei Binärstellen (2 Bit) sind es schon vier Werte. Daraus folgt, je mehr Binärstellen ein Wandler hat desto mehr verschiedene Werte können dargestellt werden. Die Auflösung eines analogen Wertes wird also feiner, je mehr Binärstellen (Bits) der Wandler hat. Üblich sind Wandler mit einer Auflösung von 11 oder auch 12 Bit.

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 Werte „0“ oder „1“, also nur die bereits erwähnten binären, zweiwertigen Signale.
Zum Verständnis des dualen Zahlensystems wird zunächst das Dezimalsystem betrachtet. Im Beispiel Tab.2 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 Tab.2 dargestellt, so erkennt man, dass jeder Stelle innerhalb der Zahl eine Zehnerpotenz zugeordnet ist.

10 10 10    Zehnerpotenz
Hunderter Zehner Einer
3 1 5   Dezimalzahl
300 + 10 + 5 = 315     
3 * 10 1 * 10 5 * 10
Tab.2: Jeder Ziffer innerhalb der Dezimalzahl ist eine Zehnerpotenz zugeordnet
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 zwei­wertiges Zahlen­system. Die Stellenwerte einer Dualzahl sind den Zweierpotenzen zugeordnet. In Tab.3 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.

2 2 2 2  Zweierpotenz
1 1 0 1 Dualzahl     
1 * 2 1 * 2 0 * 2 1 * 2
8 + 4 + 0 + 1 =  13  Dezimalzahl
Tab.3: Jeder Ziffer innerhalb der Dualzahl ist eine Zweierpotenz zugeordnet
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, dezimal kennt man ja schon als unser bewährtes Zehnersystem. Hexadezimale Zahlen haben also 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.

DEZ 0 1 2 3 4 5 6 7
BIN 0000 0001 0010 0011 0100 0101 0110 0111
HEX 0 1 2 3 4 5 6 7
DEZ 8 9 10 11 12 13 14 15
BIN 1000 1001 1010 1011 1100 1101 1110 1111
HEX 8 9 A B C D E F
Tab.4: Dezimal-, Binär und Hexadezimalzahlen
BCD-Code

Der BCD-Code, eine Binär Codierte Dezimalzahl, wird ebenfalls recht häufig zur übersichtlichen Darstellung von grossen Zahlenwerten verwendet. Die Dezimalzahlen 0 - 9 werden mit dem dualen Zahlensystem dargestellt. Zur Darstellung der Zahl 9 werden Zweierpotenzstellen bis 2benö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  2  2  2
8 4 2 1
 
1 0 0 1 = 9  Dezimalzahl
¦
0 0 0 0 = 0  Dezimalzahl
Begriffe der Informatik
Bit

Bit ist die Wortschöpfung aus Binary digit, englisch für „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 kleingeschrieben. Ü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 6 Binärstellen. Mit diesen 6 Bits konnten 26 = 64 Zustände dar­gestellt werden. Später wurde das Byte auf 8 Bits erweitert, da mit 28 = 256 Zeichen alle Buch­staben und gängigen Sonderzeichen dargestellt werden konnte. Ein Byte hat also die Größe von 8 Bit.

8 Bits
1 0 0 1 0 1 0 1 = 1 Byte
Signalzustand

Das Einheitenzeichen Byte, abgekürzt auch B, wird groß­geschrieben. Natürlich sind auch hier verschiedene Größen­angaben üblich. kByte oder kB für Kilobyte = 1024 bit, Megabyte MB/MByte = 1024 kB/kByte bzw. 1.048.576 Byte/B. Die Größenangaben Gigabyte GB/GByte oder Terabyte TB/TByte sind eher für Speichermedien wie Festplatten o.ä. üblich.

Wort

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

1 Wort
1 Byte 1 Byte
1 0 0 1 0 0 1 1 0 0 0 1 1 1 0 0
Signalzustand
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
Byte
7 6 5 4 3 2 1 0
                                Bitadresse
links rechts

Damit die einzelnen Bits auch richtig angesprochen werden können, wird jedem einzelnen Bit innerhalb eines Bytes 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 0 (Null). Eben­falls ungewohnt ist die Zählrichtung von rechts nach links, da wir im „nor­malen Leben“ von links nach rechts schreiben.

Byteadresse
Byte
E0.7 E0.6 E0.5 E0.4 E0.3 E0.2 E0.1 E0.0
Byteadresse
Eingangsbyte 0
 
 
Byte
A2.7 A2.6 A2.5 A2.4 A2.3 A2.2 A2.1 A2.0
Byteadresse
Ausgangsbyte 2

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, „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.

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.

EW0 EW2 Wortadresse
EB0 EB1 EB2 EB3
EW1 Wortadresse
Doppelwortadresse

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

ED0 Doppelwortadresse
EW0 EW2
EB0 EB1 EB2 EB3
EW1