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.
Beispiele Sensoren und Aktoren | ||||
Auch Endschalter, Endlagenschalter oder Grenztaster genannt. Sie werden mechanisch, d.h. durch den direkten Kontakt betätigt.
Elektronische Schalter, die Objekte berührungslos erfassen. Induktive reagieren nur auf Metalle, kapazitive auch auf Nichtmetalle.
Erfassung von Objekten mit sichtbarem oder unsichtbarem Licht. Lichtquelle und Empfänger können getrennt oder in einem Gehäuse sein.
Physikalische Größen erfassen wie z.B. Druck, Gewicht, Strömung, Durchfluss, Füllstand, Beschleunigung, Schwingung, Neigung.
Elektrisch betätigte Ventile steuern mechanische Antriebe (Zylinder) mit Druckluft (pneumatisch), Öl oder auch Wasser (hydraulisch).
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ä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 | ||||
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.
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 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. 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.
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.
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 | |||||
25 | 24 | 23 | 22 | 21 | 20 | ||
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 | |||||
25 | 24 | 23 | 22 | 21 | 20 | ||
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 | |||||
25 | 24 | 23 | 22 | 21 | 20 | ||
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 | ||||
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 | ⟶ | |||||
⟵ | ≙ 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 | → | |||||||||||||
← | 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.
← | 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.
← | 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