SPS für Dummies - Oliver Tonn - E-Book

SPS für Dummies E-Book

Oliver Tonn

0,0
23,99 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

SPS ohne Stress

Wenn Sie Maschinen oder Anlagen mithilfe einer SPS auch ohne Vorkenntnisse steuern möchten, dann ist dieses Buch für Sie gemacht. Ob Aufbau der Hardware, Installation und Verdrahtung oder Erstellung von Programmen: Jederzeit leicht verständlich erläutert Ihnen Oliver Tonn Grundlagen und fortgeschrittene Techniken der SPS-Programmierung. Dabei lernen Sie SPS sowohl herstellerunabhängig kennen als auch Besonderheiten der verschiedenen Hersteller. Mit zahlreichen Praxisbeispielen vertiefen Sie Ihr Wissen und wenden es schon bald in komplexeren Szenarien erfolgreich an.

Sie erfahren

  • Wie Sie ein SPS-Projekt und -Programm erstellen
  • Wie Sie einen Antrieb steuern
  • Wie Sie mit TwinCAT 3 und TIA visualisieren
  • Wie Sie Fehler vermeiden und beheben

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 553

Veröffentlichungsjahr: 2023

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



SPS für Dummies

Schummelseite

Das in diesem Buch behandelte Thema SPS gibt leider sehr wenig Gelegenheiten zum Schummeln, ich bitte für diesen Umstand um Entschuldigung. Ich versuche hier dennoch, so viele wichtige Inhalte wie möglich zusammenzustellen, die Sie vermutlich sonst wiederholt nachschlagen müssten. So können Sie mal schnell spicken, wenn es nötig ist. Und wenn Spicken nicht Schummeln ist, was dann? Also los!

PROGRAMMIERUNG

Variablen belegen je nach Typ eine unterschiedliche Menge an Speicherplatz.

Variablentyp

Speicherbedarf

Wertebereich

BOOL

1 Byte, manchmal 1 Bit

FALSE/TRUE, 0/1

BYTE

1 Byte

N/A

WORD

2 Byte

N/A

DWORD (Double Word)

4 Byte

N/A

SINT (Short Integer)

1 Byte

–128 bis 127

USINT (Unsigned Short Integer)

1 Byte

0 bis 255

INT (Integer)

2 Byte

–32768 bis 32767

UINT (Unsigned Integer)

2 Byte

0 bis 65535

DINT (Double Integer)

4 Byte

–2147483648 bis 2147483647

Tabelle 0.1: Variablentypen

Zahlen werden unterschiedlich im Speicher abgelegt. Dabei wird zwischen Fließkommazahlen und Ganzzahlen unterschieden. Bei Ganzzahlen gibt es bei der Ablage im Speicher noch einen Unterschied zwischen Zahlen von Variablen, die positive und negative Werte aufnehmen können, und welche nur für positive Werte (und der 0).Beim Zugriff auf die Elemente eines Arrays müssen Sie insbesondere beim schreibenden Zugriff darauf achten, dass nur auf vorhandene Elemente zugegriffen wird. Sonst kann es zu fatalen Fehlern kommen.Mit der IF-Anweisung und einer dahinterstehenden Bedingung kann eine bedingte Anweisung realisiert werden. Mit dem Schlüsselwort ELSE wird aus der bedingten Anweisung eine Verzweigung, wobei der Programmteil hinter dem ELSE immer ausgeführt wird, wenn die Bedingung hinter dem Schlüsselwort IF nicht erfüllt ist. Sollen mehrere bedingte Anweisungen bei unterschiedlichen Bedingungen definiert werden, spricht man von einer Mehrfachverzweigung. Für jede weitere bedingte Verzweigung wird das Schlüsselwort ELSIF genutzt, hinter dem, wie beim Schlüsselwort IF, eine Bedingung steht. Bei der Mehrfachverzweigung kann zusätzlich auch das Schlüsselwort ELSE wie bei der Verzweigung genutzt werden. Der Programmteil hinter dem ELSE wird ausgeführt, wenn keine der vorhergehenden Bedingungen erfüllt ist.Eine Alternative zu Mehrfachverzweigungen ist die CASE-Anweisung. Sie nutzt aber nicht direkt Bedingungen, sondern eine numerische Variable. Je nach deren Wert wird ein anderer Programmteil ausgeführt, wobei ein Programmteil nicht nur bei einem Wert, sondern auch bei mehreren verschiedenen Werten der numerischen Variablen ausgeführt werden kann.Eine FOR-Schleife kann genutzt werden, um einen Programmteil mit einer festgelegten Anzahl von Wiederholungen auszuführen.Eine WHILE-Schleife wird genutzt, um einen Programmteil so oft wiederholt auszuführen, wie die Bedingung der WHILE-Schleife erfüllt ist.Bei einer REPEAT-Schleife wird ein Programmteil mindestens einmal und danach – solange die Bedingung erfüllt ist – wiederholt.

WICHTIGE GRUNDLAGEN ZUR SPEICHERPROGRAMMIERBAREN STEUERUNG (SPS)

Eine SPS führt ein Programm nicht einmalig aus, sondern startet dieses nach der Abarbeitung zyklisch neu.In einem SPS-Programm darf man nicht länger an einer Stelle stehen bleiben, um auf ein Ereignis zu warten.Es gibt verschiedene Programmiersprachen zur Erstellung von SPS-Programmen, sowohl grafische als auch textbasierte.Ein neues SPS-Projekt sollten Sie zunächst gründlich planen, ehe Sie mit der eigentlichen Programmierung beginnen.Soweit es die entsprechende Entwicklungsumgebung zulässt, sollte eine sinnvolle Ordnerstruktur angelegt werden, in der Sie dann die zugehörigen Elemente anlegen.Ein SPS-System besteht aus verschiedenen Komponenten, zum Beispiel der CPU, auch Controller genannt. Die CPU ist sozusagen der Computer der Anlage. Darüber hinaus besteht ein SPS-System aus Ein- und Ausgangsmodulen zum Anschluss von Sensoren wie Lichtschranken oder Schaltern und Aktoren wie Lampen oder Spulen von Ventilen.Es gibt Geräte zur Ansteuerung von Motoren, die auch SPS-Funktionen bieten.Zur Verarbeitung von digitalen und analogen Signalen gibt es entsprechende Baugruppen.

ELEKTRISCHE GRUNDLAGEN

Beim Anschluss eines Verbrauchers an einen Ausgang muss darauf geachtet werden, dass die Stromaufnahme des Verbrauchers den maximalen Strom nicht überschreitet, den der Ausgang liefern kann.Wird ein sogenannter induktiver Verbraucher, zum Beispiel die Spule eines Ventils, an einem Ausgang betrieben, so entsteht beim Abschalten eine sehr hohe Spannung, die um ein Vielfaches höher ist als die eigentliche Betriebsspannung und deren Polung entgegengesetzt zur Betriebsspannung ist. Achten Sie darauf, dass entweder der Ausgang eine Schutzschaltung gegen diese Spannung integriert hat, oder sorgen Sie dafür, dass eine solche am Verbraucher montiert wird. Eine Möglichkeit, eine solche Schutzschaltung zu realisieren, ist, eine Diode am Verbraucher zu montieren. Dabei müssen Sie darauf achten, dass diese im normalen Betrieb in Sperrrichtung montiert ist, also beim normalen Betrieb durch sie kein Strom fließt. Eine solche Diode wird bei dieser Verwendung als Freilaufdiode bezeichnet.Analoge Signale werden über einen Analog/Digital-Wandler eingelesen.Analoge Signale werden über einen Digital/Analog-Wandler ausgegeben.Um mit den in die SPS eingelesenen analogen Signalen sinnvoll zu arbeiten, müssen diese bei Bedarf skaliert werden.Analoge Signale werden in bestimmten Stufen eingelesen. Je mehr Stufen verarbeitet werden können, desto feiner aufgelöst ist das Signal. Man spricht hier auch von der Auflösung.Die Daten der Eingänge und die Daten für die Ausgänge werden in einem bestimmten Speicherbereich abgelegt. Dieser nennt sich Prozessabbild.Beim Anschluss einer SPS an Spannung muss neben der korrekten Spannung auch auf die richtige Verdrahtung geachtet werden. Dabei ist neben der richtigen Polung auch zu beachten, dass verschiedene Komponenten, zum Beispiel Ausgangsmodule, mit einer zusätzlichen Spannung versorgt werden müssen.Eine SPS kann über einen sogenannten Feldbus mit anderen Geräten kommunizieren und zyklisch und azyklisch Daten austauschen.Bei manchen Bussystemen muss der Bus am Anfang und am Ende mit einem Widerstand abgeschlossen werden.Zur Ermittlung der aktuellen Position eines Antriebs gibt es mehrere Möglichkeiten. Bei einer rotativen Achse, also einer Achse, die sich dreht, gibt es sogenannte Drehgeber. Sie gibt es in zwei Sorten. Die eine Sorte kann die aktuelle Position der Achse auch nach dem Aus- und Wiedereinschalten der Anlage ermitteln. Dabei gibt es Modelle, die dies nur für eine, und andere, die dies auch für mehrere Umdrehungen machen können. Bei der anderen Sorte werden bei einer Bewegung nur Impulse ausgegeben, aus denen die SPS oder entsprechende Module die zurückgelegte Distanz feststellen und bei Vorgabe einer »Startposition« die aktuelle Position ermitteln können. Bei einer linearen Achse gibt es entsprechende Geräte ebenfalls dieser beiden Gruppen, also einer, die die aktuelle Position auch nach dem Aus- und Wiedereinschalten ermitteln kann, und einer anderen, die auch hier bei einer Bewegung nur Impulse ausgibt.Über bestimmte Befehle können die Achsen von einer SPS gesteuert werden. Es gibt zum Beispiel Befehle zum Ein- und Ausschalten der Achse, zur Durchführung einer Referenzfahrt, zum Fahren auf eine bestimmte Position, zum Fahren einer vorgegebenen Distanz oder zum Halt der Achse.Mit einer SPS können Sicherheitsfunktionen wie zum Beispiel die sichere Überwachung von Not-Stopp-Schaltern realisiert werden. Je nach Hersteller muss hierfür jedoch anstatt der »normalen« CPU eine spezielle CPU montiert werden, oder zu dem System muss neben der vorhandenen CPU eine weitere CPU hinzugefügt werden.Vor der Realisierung von Sicherheitsfunktionen muss eine Risikoanalyse durchgeführt werden.Personen, die Sicherheitsfunktionen implementieren, müssen speziell geschult sein und eine gewisse Erfahrung haben.Mit einer SPS können Reglerfunktionen realisiert werden, zum Beispiel zur Regelung einer Ofentemperatur auf einen bestimmten Wert.

SPS für Dummies

Bibliografische Informationder Deutschen Nationalbibliothek

Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.

1. Auflage 2024

© 2024 Wiley-VCH GmbH, Boschstraße 12, 69469 Weinheim, Germany

All rights reserved including the right of reproduction in whole or in part in any form. This book published by arrangement with John Wiley and Sons, Inc.

Alle Rechte vorbehalten inklusive des Rechtes auf Reproduktion im Ganzen oder in Teilen und in jeglicher Form. Dieses Buch wird mit Genehmigung von John Wiley and Sons, Inc. publiziert.

Wiley, the Wiley logo, Für Dummies, the Dummies Man logo, and related trademarks and trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United States and other countries. Used by permission.

Wiley, die Bezeichnung »Für Dummies«, das Dummies-Mann-Logo und darauf bezogene Gestaltungen sind Marken oder eingetragene Marken von John Wiley & Sons, Inc., USA, Deutschland und in anderen Ländern.

Das vorliegende Werk wurde sorgfältig erarbeitet. Dennoch übernehmen Autoren und Verlag für die Richtigkeit von Angaben, Hinweisen und Ratschlägen sowie eventuelle Druckfehler keine Haftung.

Coverfoto: mrdeeds – stock.adobe.comKorrektur: Claudia Lötschert

Print ISBN: 978-3-527-71819-1ePub ISBN: 978-3-527-83141-8

Über den Autor

In diesem Buch soll es ja um SPSen und nicht um mich gehen, dennoch hier ein paar Infos zu meiner Person.

Wie Sie auf dem Cover schon sehen konnten, lautet mein Name Oliver Tonn.

Von 1986 bis 1989 habe ich (erfolgreich) eine Ausbildung zum Chemiefacharbeiter absolviert. Wie dieser Beruf sich zu der Zeit nennen wird, zu der Sie dieses Buch lesen, müssten Sie bitte selbst recherchieren. In diesem Beruf war ich jedoch leider nie wirklich tätig.

Anfang der 1990er folgte dann eine zweijährige Umschulung zum Kommunikationselektroniker Fachrichtung Informationstechnik. Ende der 1990er folgte eine vierjährige Weiterbildung zum staatlich geprüften Elektrotechniker Fachrichtung Datentechnik an der Abendschule.

Seit Ende der 1990er bin ich im Maschinenbau als Elektriker/Elektroniker, Servicetechniker und Programmierer tätig. Außerdem habe ich Schulungen für Mechatronik-Azubis zum Thema TwinCAT 3 durchgeführt.

Sie sehen also, es muss nicht immer der direkte Weg sein, der zum Ziel führt, und manche Leute, so auch ich, benötigen schon mal zwei Anläufe. Allerdings sollten Sie, auch wenn Sie sich einmal umentscheiden sollten, erst eine Sache zu Ende bringen, bevor Sie etwas Neues beginnen.

Ich wollt´ noch danke sagen

Nein, keine Angst, auch wenn ich den Titel eines Liedes einer deutschen Gruppe zitiere, werde ich hier nicht anfangen zu singen.

Zunächst möchte ich mich herzlich bei meinen Lektoren Frau Andrea Baulig, Herrn Sebastian Kestel und Herrn Marcel Ferner für die Unterstützung während der Manuskripterstellung bedanken, sowie bei Frau Claudia Lötschert für die Sprachkorrektur.

Als Nächstes bedanke ich mich bei Herrn Michael Knipprath für die Fachkorrektur dieses Buchs und den einen oder anderen hilfreichen Schubs in die richtige Richtung. Besonderer Dank gebührt ihm bezüglich seiner Tipps zu den Steuerungen S7 aus dem Hause Siemens. Er hat damit schon eher Wissenskrater und nicht nur Wissenslücken gefüllt.

Ein Dank gebührt Herrn Helmut Holtapel für die Unterstützung bei der Erstellung von E-Plänen.

Dann gilt mein Dank den zahlreichen Mitgliedern des SPS-Forums für die Unterstützung bei der Auffüllung der einen oder anderen Wissenslücke. Ein besonderer Dank gilt dabei dem Mitglied »ADS_0x1« für seinen Vorschlag, den Abschnitt zur Signalverarbeitung »Alles IO!« zu nennen.

Des Weiteren gebührt mein Dank Firmen und deren Mitarbeitern für Ihre Unterstützung.

Ich danke Herrn Markus Friedrich von der Firma Ing.-Büro Friedrich für die Verfügbarkeit einer vergünstigten Lizenz für das Schaltplan- und Leiterplatten-CAD-Programm TARGET 3001!.

Ein Dankeschön geht an Herrn Hendrik Hartenbach von Siemens für die Bereitstellung von Bildern und die Erlaubnis, diese zu nutzen, sowie die Bereitstellung von vergünstigter Hard- und Software. Dank auch an die Siemens-Mitarbeiter Herrn Manfred Jung und Herrn Jannik Steinbreder für die Unterstützung bei der Kaufabwicklung.

Danken möchte ich auch der Firma Kistler Instrumente in Urbach für die leihweise Zurverfügungstellung von Beckhoff-Safety-Hardware.

Vielen Dank an Frau Dipl.-Fachübersetzerin Ute Drescher vom Vogel Verlag für die Bereitstellung einer Abbildung der Siemens-S3-Steuerung und zusätzlich an Frau Dipl.-Ing. Ines Stotz für die Unterstützung bei der Beschaffung dieser Abbildung.

Dank gebührt auch Frau Silke Franke aus der PR-Abteilung von Beckhoff für die Erlaubnis, Bilder aus dem Hause Beckhoff nutzen zu dürfen, sowie deren Zurverfügungstellung.

Vielen Dank an Frau Kira Bremer und Herrn Adrian Reinboth von der Firma WAGO für die Bereitstellung von Abbildungen und der Erteilung der Erlaubnis, diese nutzen zu dürfen.

Auch Herrn Shi Gu von der Firma Nidec ein Dankeschön für die Zusendung von Bildern und die Nutzungserlaubnis.

Danke sehr an Herrn Michael Zander für die Bereitstellung von Produktbildern der Firma H. Zander und der Genehmigung, diese nutzen zu dürfen.

Zum Schluss geht noch ein besonderer Dank an meine Familie, meine Frau und meine beiden Kinder. Ich bin, auch als ich das Buch noch nicht erstellt hatte, seit mehreren Jahren aus beruflichen Gründen leider wochentags nicht zu Hause, und an diesen Tagen erfolgte die Erstellung des Buchs. Dennoch musste meine Familie leider damit leben, dass ich an so manchem Wochenende oder bei dem einen oder anderen Telefonat mit meinen Gedanken nicht bei ihnen, sondern beim Buch war.

Inhaltsverzeichnis

Cover

Titelblatt

Impressum

Über den Autor

Ich wollt´ noch danke sagen

Inhaltsverzeichnis

Einleitung

Über dieses Buch

Wie dieses Buch aufgebaut ist

Was Sie nicht lesen müssen

Beispieldateien zum Download

Symbole, die in diesem Buch verwendet werden

Der Einführung zweiter Teil

Was ist eine speicherprogrammierbare Steuerung (SPS) eigentlich genau?

Teil I: Weiche Ware

Kapitel 1: Das 1×1 des Bitverbiegens

Einführung

Was sind Variablen und wie nutzt man sie?

Wissenswerts zu Arrays

Vieles zum Thema Strukturen und User Defined Types

Informationen zur Typkonvertierung

Wichtige Programmkonstrukte

Was sind ENUMs?

Weitere Objekte, beispielsweise Funktionen

Kapitel 2: Immer schön im Kreis, ohne Pause und bitte gleichmäßig

Kapitel 3: Die babylonische Sprachverwirrung

Einführung

Der Kontaktplan (KOP/LD)

Der Funktionsplan (FUP/FBD)

Continuous Function Chart (CFC)

Die Ablaufsprache (AS/SFC)

Der strukturierte Text

Kapitel 4: Die Steuerzentrale

Wissenswertes zu CODESYS

Vorstellung von TwinCAT 3

Interessantes zu WAGO e!COCKPIT

Einige Infos zu Siemens TIA

Kapitel 5: Bitverbiegen von A–Z

Gute Planung ist nicht alles, aber ein Anfang

Wie Sie Elemente, beispielsweise Variablen, benennen sollten

Anlage des Projekts

Kapitel 6: Ich kam, sah und bediente

Erstellung einer Visualisierung in TwinCAT 3

Erstellung einer Visualisierung in TIA

Teil II: Etwas Handfestes

Kapitel 7: Alles zurück auf Anfang

Das Zeitalter vor der SPS

Das SPS-Zeitalter

Kapitel 8: Elektronen bändigen leichtgemacht

Lernen Sie wichtige Begriffe kennen

Vorstellung wichtiger Schaltzeichen

Vorstellung von Schaltungen

Wissenswertes zum Thema Stromlaufpläne

Kapitel 9: Das Gehirn und der Rest

Wichtige Details zum Controller

Übersicht über Ein-, Ausgangs- und Kommunikationsmodule

Kapitel 10: Alles IO!

Alles oder nichts

Darf es ein bisschen mehr sein?

Kapitel 11: Elektriker sucht Kontakt

Verdrahtung von Beckhoff-Komponenten

Verdrahtung von Siemens-Komponenten

Wichtiger Hinweis zur Verdrahtung von Ein- und Ausgangsmodulen

Kapitel 12: Fahren Sie Bus?

Einführung in Bussysteme

Ab in den Dschungel: Relevante Bussysteme im Detail

Teil III: Und es bewegt sich doch!

Kapitel 13: Die treibende Kraft

Wichtige Begriffe der Antriebstechnik kurz erklärt

Was ist ein Antriebssystem?

Frequenzumrichter im Detail

Erklärung des Servoumrichters

Der Relativwert- oder Inkrementalgeber

Lineargeber

Kapitel 14: Erst loslaufen, wenn ich es sage!

Einbindung einer Achse in Beckhoff TwinCAT 3

Einbindung einer Achse in Siemens TIA

Weitere Hinweise zur Ansteuerung von Achsen

Teil IV: Berühren verboten!

Kapitel 15: Gefahr erkannt, Gefahr gebannt

Die Risikobeurteilung

Finger weg: Ohne Profi-Know-how geht es nicht

Kapitel 16: Das funktioniert ganz sicher!

Fehlersichere Hardware bei Siemens

Fehlersichere Hardware bei Beckhoff

Kapitel 17: Sicher bitverbiegen

Erstellung eines Safety-Programms in Beckhoff TwinCAT

Erstellung eines Safety-Programms im Siemens-TIA-Portal

Teil V: Die Tücken des Alltags und wie man sie umschifft sowie fast letzte Worte

Kapitel 18: Hier läuft etwas schief!

Probleme bei der Ausführung von SPS-Programmen

Mögliche Fehler beim Anschluss einer SPS

Stolpersteine bei der Verwendung von Zahlen

Probleme bei der Durchführung von Berechnungen

Fehler bei der (falschen) Verwendung von Objekten

No-Go bei der Einbindung der SPS in Netzwerke

Kapitel 19: Ein Rettungsanker und ein nahes Ende

Hilfeee!

Fast geschafft!

Teil VI: Der Top-Ten-Teil

Kapitel 20: Zehn Dinge, die beim Arbeiten mit einer SPS schiefgehen können

Kapitel 21: Zehn Dinge, die Sie mit einer SPS tun können

Abbildungsverzeichnis

Stichwortverzeichnis

End User License Agreement

Tabellenverzeichnis

Schummelseite

Tabelle 0.1: Variablentypen

Kapitel 1

Tabelle 1.1: Übersicht über Variablentypen

Kapitel 13

Tabelle 13.1: Gegenüberstellung von Binärzahl und Gray-Code

Illustrationsverzeichnis

Kapitel 1

Abbildung 1.1: Variablendeklaration bei CODESYS-basierten Steuerungen

Abbildung 1.2: Variablendeklaration in Siemens TIA

Abbildung 1.3: Globale Variablenliste

Abbildung 1.4: Globaler Datenbaustein

Abbildung 1.5: Rundungsfehler bei Fließkommazahlen

Abbildung 1.6: Fehler beim Rechnen mit Fließkommazahlen

Abbildung 1.7: Deklaration eines Strings bei Siemens

Abbildung 1.8: Deklaration eines Pointers

Abbildung 1.9: Programm mit Pointer

Abbildung 1.10: Laufendes Programm mit Pointern

Abbildung 1.11: Die Folgen bei der Wahl des falschen Variablentyps bei Pointern

Abbildung 1.12: Pointer in TIA

Abbildung 1.13: Deklaration eines Arrays in TIA

Abbildung 1.14: Deklaration einer Struktur in TIA

Abbildung 1.15: Deklaration einer Struktur in TIA zur einzelnen Nutzung

Abbildung 1.16: Implizite Typkonvertierung bei CODESYS-basierter Steuerung

Abbildung 1.17: Implizite Typkonvertierung bei TIA

Abbildung 1.18: Definition eines ENUMs

Abbildung 1.19: Definition eines ENUMs mit zusätzlichem Variablentyp

Abbildung 1.20: Das Objekt »Programm«

Abbildung 1.21: Programm mit verschiedenen Variablengruppen

Abbildung 1.22: Aufruf eines Programms

Abbildung 1.23: Funktionsbaustein bei CODESYS-basierter Steuerung

Abbildung 1.24: Nutzung von FBs bei CODESYS-basierter Steuerung

Abbildung 1.25: Funktionsbaustein bei TIA

Abbildung 1.26: Instanz-DB

Abbildung 1.27: Multiinstanz-DB

Abbildung 1.28: Nutzung von FBs bei Siemens TIA

Abbildung 1.29: Funktion bei CODESYS-basierter Steuerung

Abbildung 1.30: Aufruf einer Funktion bei CODESYS-basierter Steuerung

Kapitel 3

Abbildung 3.1: KOP-Programmbeispiel

Abbildung 3.2: KOP-Programmbeispiel in TIA

Abbildung 3.3: Kontakt mit Schließer-Verhalten

Abbildung 3.4: Kontakt mit Öffner-Verhalten

Abbildung 3.5: Spule

Abbildung 3.6: Laufendes KOP-Programmbeispiel

Abbildung 3.7: KOP-Beispiel mit zusätzlichem Element

Abbildung 3.8: FUP-Programmbeispiel

Abbildung 3.9: FUP-Programmbeispiel mit abgesetztem Inverter

Abbildung 3.10: FUP-Programmbeispiel in TIA

Abbildung 3.11: FUP-Programmbeispiel mit gelöschter Zuweisung

Abbildung 3.12: Erweitertes FUP-Programmbeispiel

Abbildung 3.13: FUP-Beispiel mit Einschaltverzögerung

Abbildung 3.14: CFC-Beispiel von CODESYS-basierter Steuerung

Abbildung 3.15: CFC-Beispiel erstellt mit TIA

Abbildung 3.16: Beispielprogramm in AS

Abbildung 3.17: Beispielprogramm in GRAPH

Abbildung 3.18: Schritt in AS mit fünf Aktionen

Abbildung 3.19: Schritt in GRAPH

Abbildung 3.20: Detailansicht GRAPH-Schritt mit fünf Aktionen

Abbildung 3.21: Einstellmöglichkeiten bei einem Objekt in GRAPH

Abbildung 3.22: Auswahl des Duplizierungsmodus

Abbildung 3.23: Fenster nach Auswahl der Option »Referenz kopieren...

Abbildung 3.24: Fenster nach Auswahl der Option »Implementierung kopieren«

Abbildung 3.25: Schrittsymbol mit enthaltener Schrittaktion

Abbildung 3.26: Schritt Init, implementiert in ST

Abbildung 3.27: Aktion mit Eingangs- und Ausgangsaktion

Abbildung 3.28: Schritt im TIA-Portal mit Eingangs- und Ausgangsaktion

Abbildung 3.29: Transition in AS

Abbildung 3.30: Fenster zur Anlage einer Transition

Abbildung 3.31: Beispiel für eine programmierte Transition in AS

Abbildung 3.32: Transition mit Transition-Programm in AS

Abbildung 3.33: Transition in GRAPH mit einer Bedingung

Abbildung 3.34: Transition in GRAPH mit zwei Bedingungen

Abbildung 3.35: Simultanverzweigung in AS

Abbildung 3.36: Simultanverzweigung in GRAPH

Abbildung 3.37: Alternativverzweigung in AS

Abbildung 3.38: Alternativverzweigung in GRAPH

Abbildung 3.39: Sprung in AS

Abbildung 3.40: Sprung in GRAPH

Kapitel 4

Abbildung 4.1: Startfenster von CODESYS

Abbildung 4.2: Fenster zum Anlegen eines neuen Projekts in CODESYS

Abbildung 4.3: Auswahlfenster in CODESYS bei Anlage eines Projekts

Abbildung 4.4: Struktur eines Standardprojekts in CODESYS

Abbildung 4.5: Bibliotheksverwalter in CODESYS

Abbildung 4.6: Programm-Editor in CODESYS

Abbildung 4.7: Auswahlfenster von Visual Studio

Abbildung 4.8: Vorlagenauswahl für neues Projekt in Visual Studio

Abbildung 4.9: Vorlagenoption für ein TwinCAT-3-Projekt

Abbildung 4.10: Eingabe von Projektdetails in Visual Studio

Abbildung 4.11: Hauptfenster von Visual Studio

Abbildung 4.12: Kontextmenü, um ein SPS-Projekt hinzuzufügen

Abbildung 4.13: Eingabefenster mit Details für ein SPS-Projekt

Abbildung 4.14: SPS-Knoten, nachdem das SPS-Projekt hinzugefügt wurde

Abbildung 4.15: Bibliotheksverwalter in Visual Studio

Abbildung 4.16: Programm-Editor in Visual Studio

Abbildung 4.17: Startfenster von e!Cockpit

Abbildung 4.18: Startfenster von e!Cockpit mit Eingabefeldern

Abbildung 4.19: Hauptfenster von e!Cockpit

Abbildung 4.20: Ansicht der Programmstruktur in e!Cockpit

Abbildung 4.21: Bibliotheksverwalter im e!Cockpit

Abbildung 4.22: Programm-Editor im e!Cockpit

Abbildung 4.23: Hauptfenster von TIA in Portalansicht

Abbildung 4.24: Hauptfenster von TIA in der Projektansicht

Abbildung 4.25: Fenster zur Eingabe der Projektdetails in TIA

Abbildung 4.26: Projektbaum nach Projekterstellung

Abbildung 4.27: Auswahlfenster zum Hinzufügen neuer Geräte in TIA

Abbildung 4.28: Einstellfenster in TIA zum Schutz vertraulicher PLC-Daten

Abbildung 4.29: Einstellfenster in TIA für die Betriebsart der Kom...

Abbildung 4.30: Einstellfenster in TIA für den PLC-Zugriffsschutz

Abbildung 4.31: Projektbaum in TIA nach dem Hinzufügen eines Geräts

Abbildung 4.32: Programm-Editor in TIA

Kapitel 5

Abbildung 5.1: Struktur in TIA nach dem Anlegen des Projekts

Abbildung 5.2: Struktur in TwinCAT 3 nach dem Anlegen des Projekts

Abbildung 5.3: PLC-Knoten in TwinCAT 3

Abbildung 5.4: Dialogfenster in Visual Studio zum Bestätigen des Löschens

Abbildung 5.5: Ordnerstruktur in Visual Studio

Abbildung 5.6: Ordnerstruktur in e!Cockpit

Kapitel 6

Abbildung 6.1: Beispielprogramm für die Visualisierung mit TwinCAT 3

Abbildung 6.2: Kontextmenü, um eine Visualisierung hinzuzufügen

Abbildung 6.3: Eingabefenster für die Visualisierungsdaten

Abbildung 6.4: Editorfenster mit leerer Visualisierung und Toolbox

Abbildung 6.5: Eigenschaftenfenster vor der Schriftauswahl

Abbildung 6.6: Einstellungsfenster für die Schriftart in TwinCAT 3

Abbildung 6.7: Eigenschaftengruppe »Radiobuttoneinstellungen«

Abbildung 6.8: Variablenliste von IntelliSense

Abbildung 6.9: Eingabehilfe

Abbildung 6.10: Fenster zum Festlegen der Eingabekonfiguration

Abbildung 6.11: Eingabekonfiguration

Abbildung 6.12: Beckhoff-Visu nach Erstellung

Abbildung 6.13: Fenster zum Aktivieren der Konfiguration in TwinCAT

Abbildung 6.14: Hinweisfenster in TwinCAT wegen fehlender Lizenz

Abbildung 6.15: Eingabefenster für Sicherheitscode in TwinCAT

Abbildung 6.16: Auswahlfenster zum Start des SPS-Diensts

Abbildung 6.17: Auswahlfenster in TwinCAT zum Laden eines Projekts

Abbildung 6.18: Beckhoff-Visu nach dem Start des SPS-Programms

Abbildung 6.19: Beckhoff-Visu nach einem Druck auf »Start«

Abbildung 6.20: Deklarationsteil des Beispielprogramms in TIA

Abbildung 6.21: Implementationsteil des Beispielprogramms in TIA

Abbildung 6.22: Netzsicht in TIA

Abbildung 6.23: Hardwarekatalog in TIA

Abbildung 6.24: Netzsicht nach Erstellung der Verbindung

Abbildung 6.25: Variablenliste

Abbildung 6.26: Variablentabelle

Abbildung 6.27: Entwicklungsumgebung nach dem Hinzufügen eines Bilds

Abbildung 6.28: Werkzeuge für die Visualisierung

Abbildung 6.29: Einstellungsfenster »Schriftart« in TIA

Abbildung 6.30: Textliste in TIA nach dem Hinzufügen

Abbildung 6.31: Fenster in TIA zum Hinzufügen von Ereignissen

Abbildung 6.32: TIA-Visu nach der Erstellung in der Entwicklungsansicht

Abbildung 6.33: Warnmeldung in TIA nach dem Start von PLCSIM

Abbildung 6.34: Fenster von PLCSIM

Abbildung 6.35: Fenster von TIA bei fehlender Lizenz

Abbildung 6.36: Fenster in TIA zur Hardwareauswahl

Abbildung 6.37: Hinweisfenster in TIA zur Verbindungssicherheit

Abbildung 6.38: Auswahlfenster in TIA zur Festlegung des Verbindungswegs

Abbildung 6.39: Vorschaufenster beim Laden des Programms

Abbildung 6.40: Auswahlfenster, was TIA nach dem Laden tun soll

Abbildung 6.41: TIA-Visu in Betrieb

Abbildung 6.42: TIA-Visu nach einem Druck auf »Start«

Kapitel 7

Abbildung 7.1: Nockenschaltwerk (Copyright: H. ZANDER GmbH & Co. KG)

Abbildung 7.2: Programmiergerät für Siemens S3 (Copyright: Siemens AG)

Abbildung 7.3: Siemens-S3-SPS und Programmiergerät (Copyright: Siemens AG; zur Ve...

Abbildung 7.4: Siemens-S5-Steuerung mit Modulen und Programmiergerät (Copyright S...

Kapitel 8

Abbildung 8.1: Schaltzeichen

Abbildung 8.2: Einfacher Stromkreis

Abbildung 8.3: Stromkreise mit Schalter und Taster

Abbildung 8.4: Schaltung (fehlerhaft) mit Lichtschranke

Abbildung 8.5: Schaltung mit Lichtschranke

Abbildung 8.6: Seite aus E-Plan mit Einspeisung

Abbildung 8.7: Einspeiseklemme

Abbildung 8.8: Hauptschalter

Abbildung 8.9: Symbole beim Verlassen der E-Plan-Seite

Abbildung 8.10: Seite aus E-Plan mit Netzteil

Abbildung 8.11: Kabel

Abbildung 8.12: Einstellbarer Leistungsschalter

Abbildung 8.13: 24-V-Netzteil für Steuerspannung

Abbildung 8.14: Elektronischer Schutzschalter

Abbildung 8.15: Seite 3 des E-Plans mit SPS

Abbildung 8.16: Siemens-SPS S7-1214C

Abbildung 8.17: Siemens Signal Board SB 1232

Abbildung 8.18: Siemens Signal-Modul SM 1222

Abbildung 8.19: Siemens Signal-Modul SM 1231

Abbildung 8.20: Seite 4 des E-Plans mit Ein-/Ausgängen

Abbildung 8.21: Eingang für Antriebsstörung

Abbildung 8.22: Eingänge für die Taster Band vorwärts/rückwärts

Abbildung 8.23: Motoransteuerung

Abbildung 8.24: Beispiel für 3-phasige Wechselspannung (Copyright: Adobe Stock)

Abbildung 8.25: Ansteuerung der Motorschütze

Abbildung 8.26: Seite 5 des E-Plans mit Ventil, Lampe und Sensoren

Abbildung 8.27: Anbindung der Lichtschranke

Abbildung 8.28: Ansteuerung der Relais

Abbildung 8.29: Ansteuerung des Ventils

Abbildung 8.30: Anbindung des Initiators/Näherungsschalters

Abbildung 8.31: Ansteuerung der Lampe

Abbildung 8.32: Seite 6 des E-Plans mit Buchse

Kapitel 9

Abbildung 9.1: Unidrive M700 (Copyright: Nidec ACIM Germany GmbH)

Abbildung 9.2: Unidrive M700 mit geöffneter Abdeckung (Copyright: Nidec ACIM Germ...

Abbildung 9.3: Siemens S7-1515-2PN (Copyright: Siemens AG)

Abbildung 9.4: Siemens S7-1512C-1PN (Copyright: Siemens AG)

Abbildung 9.5: Siemens S7-1214C (Copyright: Siemens AG)

Abbildung 9.6: Siemens S7-1214FC (Copyright: Siemens AG)

Abbildung 9.7: WAGO PFC100 (Copyright: WAGO GmbH & Co.KG)

Abbildung 9.8: WAGO PFC200 (Copyright: WAGO GmbH & Co.KG)

Abbildung 9.9: Beckhoff CX5120 (Copyright: Beckhoff Automation GmbH & Co. KG)

Abbildung 9.10: Beckhoff C6030 (Copyright: Beckhoff Automation GmbH & Co. KG)

Abbildung 9.11: Siemens SM 521 (Digitaleingabemodul) (Copyright: Siemens AG)

Abbildung 9.12: Siemens SM 531 (Analogeingabemodul) (Copyright: Siemens AG)

Abbildung 9.13: Siemens-Kommunikationsmodul CM1542-5 für PROFIBUS (Copyright: Sie...

Abbildung 9.14: Digitales Eingangsmodul von WAGO mit 16 Eingängen (Copyright: WAG...

Abbildung 9.15: Digitales Ausgangsmodul von WAGO mit 16 Ausgängen (Copyright: WAG...

Abbildung 9.16: Beckhoff-Modul EL6731 für PROFIBUS (Copyright: Beckhoff Automatio...

Abbildung 9.17: Beckhoff-Modul EM3702 zum direkten Messen von Drücken (Copyright:...

Abbildung 9.18: Beckhoff-Modul ELM3002 zum Messen von Spannungen (Copyright: Beck...

Kapitel 10

Abbildung 10.1: Rechtecksignal

Abbildung 10.2: Bereiche eines digitalen Eingangs

Abbildung 10.3: Prellendes digitales Eingangssignals

Abbildung 10.4: Karte mit 3 ms Filterzeit (Copyright: Beckhoff Automation GmbH & ...

Abbildung 10.5: Karte mit 10 μs Filterzeit (Copyright: Beckhoff Automation GmbH &...

Abbildung 10.6: Datenblatt EL2004 (Copyright: Beckhoff Automation GmbH & Co. KG)

Abbildung 10.7: Schaltsymbol Relais mit Freilaufdiode

Abbildung 10.8: Auszug aus dem Datenblatt der EL1084 und EL1088 (Copyright: Beckh...

Abbildung 10.9: Innenschaltung eines n-schaltenden Eingangs (Copyright: Beckhoff ...

Abbildung 10.10: Einlesen eines Analogsignals

Abbildung 10.11: Datenblatt der EL3001 und ES3001 von Beckhoff (Copyright: Beckho...

Abbildung 10.12: Datenblatt der 750-457 von WAGO (Copyright: WAGO GmbH & Co.KG)

Abbildung 10.13: IO-Variablen in TIA von einer Eingangskarte

Abbildung 10.14: Variablenliste der Eingangsvariablen

Abbildung 10.15: IO-Variablen in TIA von einer Ausgangskarte

Abbildung 10.16: Variablenliste der Ausgangsvariablen

Abbildung 10.17: Eigenschaften von Eingängen in Visual Studio

Abbildung 10.18: Eigenschaften von Eingängen in Visual e!Cockpit

Abbildung 10.19: Beispiel für Ein- und Ausgangsvariablen in Visual Studio

Abbildung 10.20: Beispiel für Ein- und Ausgangsvariablen in e!Cockpit

Abbildung 10.21: Hardwarekonfiguration in Visual Studio

Abbildung 10.22: Geöffneter Baum der Eingangsklemme in Visual Studio

Abbildung 10.23: Daten des Kanals in Visual Studio vor der Verknüpfung

Abbildung 10.24: Fenster in VS zur Auswahl der zu verknüpfenden Variablen

Abbildung 10.25: Daten des Kanals in Visual Studio nach der Verknüpfung

Abbildung 10.26: Baum der Eingangsklemme nach der Verknüpfung

Abbildung 10.27: Hardwarekonfiguration in e!Cockpit

Abbildung 10.28: Geöffneter Baum der Ausgangsklemme in e!Cockpit

Abbildung 10.29: Fenster zur Auswahl der zu verknüpfenden Variablen

Abbildung 10.30: Baum der Ausgangsklemme nach der Verknüpfung

Kapitel 11

Abbildung 11.1: Beckhoff CX5120 (Copyright: Beckhoff Automation GmbH & Co. KG)

Abbildung 11.2: Symbole von Beckhoff EL3004 und EL3751 (Copyright: Beckhoff Autom...

Abbildung 11.3: Versorgung einer S7-1500er-CPU (Copyright: Siemens AG)

Abbildung 11.4: 16-kanaliges digitales Eingangsmodul von Siemens (Copyright: Siem...

Abbildung 11.5: Siemens-Modul mit montierten Potenzialbrücken (Copyright: Siemens...

Kapitel 12

Abbildung 12.1: EtherCAT-Telegrammbearbeitung im Durchlauf (Copyright: Beckhoff A...

Abbildung 12.2: Beckhoff-EtherCAT-Abzweig CU1128 (Copyright: Beckhoff Automation ...

Kapitel 13

Abbildung 13.1: Zeitlicher Verlauf der Signale A und B

Kapitel 14

Abbildung 14.1: Beispielprojekt in Visual Studio ohne Motion-Klemme

Abbildung 14.2: Auswahlfenster in Visual Studio zur Wahl des Achstyps

Abbildung 14.3: Projektbaum in TwinCAT nach dem Hinzufügen der EL7037

Abbildung 14.4: Eigenschaftenseite einer Achse in Visual Studio

Abbildung 14.5: Deklarationsteil des FB zur Achssteuerung in Visual Studio

Abbildung 14.6: Auswahlfenster in Visual Studio für die Achsreferenz

Abbildung 14.7: Eigenschaftenseite der Achse in Visual Studio nach Auswahl

Abbildung 14.8: Verknüpfung in Visual Studio zur Positionserfassung

Abbildung 14.9: Projektbaum in TwinCAT 3 nach dem Hinzufügen der SPS

Abbildung 14.10: Bibliotheksverwalter in TwinCAT 3

Abbildung 14.11: Bibliotheksverwalter mit aufgeklapptem Baum

Abbildung 14.12: Bibliotheksverwalter nach dem Hinzufügen der Bibliothek

Abbildung 14.13: Eingabefenster zur Eingabe der Daten des POUs

Abbildung 14.14: Implementierungssteil des FB (Achssteuerung) in Visual Studio

Abbildung 14.15: Programm Main nach den durchgeführten Änderungen

Abbildung 14.16: Fenster zur Wahl der Motion Konfiguration

Abbildung 14.17: MOTION-Knoten nach dem Hinzufügen

Abbildung 14.18: Eingabefenster zur Eingabe der Achsdaten

Abbildung 14.19: Onlineansicht der Achse in Visual Studio

Abbildung 14.20: Onlineansicht des Funktionsbausteins FB_Achse

Abbildung 14.21: Onlineansicht der Achse nach dem Einschalten

Abbildung 14.22: Onlineansicht der Achse nach dem Referenzieren

Abbildung 14.23: Beschleunigungsphase einer Achse in TwinCAT

Abbildung 14.24: Konstantfahrphase einer Achse in TwinCAT

Abbildung 14.25: Projektbaum in TIA mit Knoten »Technologieobjekte«

Abbildung 14.26: Fenster zum Hinzufügen eines Technologieobjekts

Abbildung 14.27: »Fehlermeldungen« in TIA nach dem Hinzufügen der Achse

Abbildung 14.28: Erster Teil der Grundparameter der Achse in TIA

Abbildung 14.29: Zweiter Teil der Grundparameter der Achse in TIA

Abbildung 14.30: Antriebsparameter der Achse in TIA

Abbildung 14.31: Geberparameter der Achse in TIA

Abbildung 14.32: Datenaustauschparameter (Antrieb) der Achse in TIA

Abbildung 14.33: Datenaustauschparameter (Geber) der Achse in TIA

Abbildung 14.34: Deklarationsteil des FB zur Achssteuerung in TIA

Abbildung 14.35: Implementationssteil des FB (Achssteuerung) in TIA

Abbildung 14.36: Eingabefenster für Daten vom Funktionsbaustein

Abbildung 14.37: Eingabefenster für Daten des Organisationsbausteins

Abbildung 14.38: Fenster zum Ändern der Zykluszeit

Abbildung 14.39: Hinweisfenster beim Start der Simulation

Abbildung 14.40: Diagnoseansicht der Achse mit hervorgehobenem Button

Abbildung 14.41: Fenster von Datenbaustein mit hervorgehobenem Button

Abbildung 14.42: Fenster bei aktivierter Beobachtungsfunktion

Abbildung 14.43: Fenster zur Umschaltung von Variablen

Abbildung 14.44: Fenster zum Setzen der Variablen auf einen Wert

Abbildung 14.45: Onlineansicht des Achsstatus in TIA

Abbildung 14.46: Onlineansicht des Achsstatus nach dem Einschalten in TIA

Abbildung 14.47: Onlineansicht des Status nach dem Referenzieren in TIA

Abbildung 14.48: Onlineansicht des Achsstatus beim Verfahren in TIA

Abbildung 14.49: Onlineansicht des Bewegungsstatus beim Verfahren in TIA

Kapitel 16

Abbildung 16.1: Fehlersicheres digitales Eingangsmodul von Siemens (Copyright: Si...

Abbildung 16.2: Fehlersicheres digitales Ausgangsmodul von Siemens (Copyright: Si...

Abbildung 16.3: TwinSAFE-Logikklemme EL6910 (Copyright: Beckhoff Automation GmbH ...

Abbildung 16.4: TwinSAFE-Eingangsklemme EL1904 (Copyright: Beckhoff Automation Gm...

Abbildung 16.5: TwinSAFE-Ausgangsklemme EL2904 (Copyright: Beckhoff Automation Gm...

Abbildung 16.6: Seitliche Ansicht einer EL2904

Abbildung 16.7: DIP-Schalter an einer EL2904

Kapitel 17

Abbildung 17.1: Beispielkonfiguration für Safety in TwinCAT

Abbildung 17.2: Vorlagenliste für Safety-Projekte

Abbildung 17.3: Safety-Assistent

Abbildung 17.4: Safety-Knoten nach Hinzufügen des Projekts

Abbildung 17.5: Dem Fenster »Safety« Hardware hinzufügen

Abbildung 17.6: Fenster mit Liste der Beckhoff-Safety-EtherCAT-Klemmen

Abbildung 17.7: Liste mit Standard-I/Os

Abbildung 17.8: Liste mit Alias Devices

Abbildung 17.9: Nicht fehlersicheres SPS-Programm

Abbildung 17.10: Zielsystem-Eigenschaftenfenster vor Änderung

Abbildung 17.11: Auswahlfenster für Safety-Logikklemme

Abbildung 17.12: Eigenschaftenfenster für Safety-Klemmen

Abbildung 17.13: Auswahlfenster für Safety-Klemmen

Abbildung 17.14: Eigenschaftenfenster für Standard-I/Os

Abbildung 17.15: Auswahlfenster für Standard-I/Os

Abbildung 17.16: Programm-Editor für Safety-Programm

Abbildung 17.17: Registerkarte »Toolbox«

Abbildung 17.18: Programm-Editor nach dem Hinzufügen von »safeEstop«

Abbildung 17.19: Registerkarte »Variable Mapping«

Abbildung 17.20: Auswahlfenster der Variablenverknüpfung

Abbildung 17.21: Registerkarte nach dem Hinzufügen einer Variablen

Abbildung 17.22: Registerkarte nach dem Hinzufügen der Variablen

Abbildung 17.23: Fenster zur Zuordnung von Variablen zu Group Ports

Abbildung 17.24: Auswahlfenster zur Zuordnung von Variablen zu E/As

Abbildung 17.25: Registerkarte nach der Zuordnung der Variablen

Abbildung 17.26: Programm-Editor nach dem Verknüpfen der Variablen

Abbildung 17.27: Programmierfenster und Eigenschaftenfenster

Abbildung 17.28: Konfigurierter »safeEstop«-Baustein

Abbildung 17.29: Login-Fenster (Download Safety-Projekt)

Abbildung 17.30: Auswahl der zu übertragenden Safety-Daten

Abbildung 17.31: Ergebnisseite des Downloads (Download Safety-Projekt)

Abbildung 17.32: Bestätigungsfenster (Download Safety-Projekt)

Abbildung 17.33: Aktivierung des heruntergeladenen Safety-Programms

Abbildung 17.34: Fragefenster zum Neustart des SPS-Diensts

Abbildung 17.35: Hinweisfenster, wenn kein Programm auf der Steuerung ist

Abbildung 17.36: Gruppenfehler nach Aktivierung der Konfiguration

Abbildung 17.37: Zustand des SPS-Programms bei Gruppenfehler

Abbildung 17.38: Safety-Gruppe nach dem Löschen des Gruppenfehlers

Abbildung 17.39: SPS-Programm nach dem Löschen des Gruppenfehlers

Abbildung 17.40: Safety-Programm nach dem Löschen des FB-Fehlers

Abbildung 17.41: SPS-Programm nach dem Löschen des FB-Fehlers

Abbildung 17.42: Safety-Programm nach Auslösung eines Not-Stopps

Abbildung 17.43: SPS-Programm nach Auslösung eines Not-Stopps

Abbildung 17.44: Safety-Programm nach Entriegelung des Not-Stopps

Abbildung 17.45: SPS-Programm nach Entriegelung des Not-Stopps

Abbildung 17.46: Safety-Programm, Eingang »EstopIn1« hat falsches Signal

Abbildung 17.47: SPS-Programm, Eingang »EstopIn1« hat falsches Signal

Abbildung 17.48: »safeEstop«-FB nach dem Löschen des Gruppenfehlers

Abbildung 17.49: SPS-Programm nach dem Löschen des Gruppenfehlers

Abbildung 17.50: Safety-Programm, Eingang »EstopIn1« hat falsches...

Abbildung 17.51: Beispielkonfiguration für Safety im TIA-Portal (1. Teil)

Abbildung 17.52: Beispielkonfiguration für Safety im TIA-Portal (2. Teil)

Abbildung 17.53: Auswahlfenster für ein neues Gerät in TIA

Abbildung 17.54: Einstellfenster in TIA zum Schutz vertraulicher PLC-Daten

Abbildung 17.55: Einstellfenster in TIA für die Betriebsart der Kommunikation

Abbildung 17.56: Einstellfenster in TIA für den PLC-Zugriffsschutz

Abbildung 17.57: Zusammenfassung der durchgeführten Einstellungen in TIA

Abbildung 17.58: Allgemeine Eigenschaften des Eingangsmoduls in TIA

Abbildung 17.59: Eigenschaften der Kanäle 0 und 8 in TIA

Abbildung 17.60: Baustein für das nicht fehlersichere SPS-Programm hinzufügen

Abbildung 17.61: Fenster zur Erstellung einer Instanz für den FB

Abbildung 17.62: Leerer Safety-FB »Main_Safety_RTG1« in TIA

Abbildung 17.63: Markiertes Zuweisungssymbol

Abbildung 17.64: Aufrufoptionen für »ESTOP1«

Abbildung 17.65: Safety-Funktionsbaustein in TIA der nach Bearbeitung

Abbildung 17.66: Kontextmenü in TIA zur Übersetzung der Hardware

Abbildung 17.67: Kontextmenü in TIA zur Übertragung der Hardware

Abbildung 17.68: Fenster in TIA zur Hardwareauswahl

Abbildung 17.69: Auswahlfenster in TIA zur Festlegung des Verbind...

Abbildung 17.70: Vorschaufenster beim Laden der Hardwarekonfiguration

Abbildung 17.71: Auswahlfenster, was TIA nach dem Laden tun soll

Abbildung 17.72: Vorschaufenster beim Laden der Hardwarekonfiguration

Abbildung 17.73: Auswahlfenster, was TIA nach dem Laden tun soll

Abbildung 17.74: Vorschaufenster beim Laden des Programms

Abbildung 17.75: Auswahlfenster, was TIA nach dem Laden tun soll

Abbildung 17.76: Kontextmenü in TIA zum Onlinegehen

Abbildung 17.77: Projektbaum, wenn eine Verbindung zur SPS besteht

Abbildung 17.78: Zustand des DB direkt nach dem Laden und Starten des Programms

Abbildung 17.79: Dialogfenster zum Ändern einer booleschen Variablen

Abbildung 17.80: Zustand des DB nach Reset des Not-Stopp-Bausteins

Abbildung 17.81: Zustand des DB nach einem Diskrepanz-Fehler

Kapitel 18

Abbildung 18.1: Beckhoff-IPC CX5120 (Copyright: Beckhoff Automation GmbH & Co. KG...

Abbildung 18.2: Beckhoff-analoge Eingangsklemmen EL3004 und EL3751 (Copyright: Be...

Abbildung 18.3: Beispielfunktion mit Zählern

Abbildung 18.4: Beispielfunktion (Zähler) vor der Ausführung

Abbildung 18.5: Beispielfunktion (Zähler) nach der Ausführung

Abbildung 18.6: Beispielfunktion (Zähler) vor der nächsten Ausführung

Abbildung 18.7: Beispielfunktion mit Flankenerkennung

Abbildung 18.8: Beispielfunktion (Flankenerkennung) vor der Ausführung

Abbildung 18.9: Beispielfunktion (Flanke) nach der Ausführung

Abbildung 18.10: Beispielfunktion (Flanke) vor der nächsten Ausführung

Abbildung 18.11: Beispielfunktion (Flanke) nach der nächsten Ausführung

Orientierungspunkte

Cover

Titelblatt

Impressum

Über den Autor

Inhaltsverzeichnis

Einleitung

Fangen Sie an zu lesen

Abbildungsverzeichnis

Stichwortverzeichnis

End User License Agreement

Seitenliste

1

2

3

4

7

8

9

10

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

240

241

242

243

244

245

246

247

248

249

250

251

252

253

254

255

256

257

258

259

260

261

262

263

264

265

266

267

268

269

270

271

272

273

274

275

276

277

278

279

280

281

282

283

285

286

287

288

289

290

291

292

293

294

295

296

297

298

299

300

301

302

303

304

305

306

307

308

309

310

311

312

313

314

315

316

317

318

319

320

321

322

323

324

325

326

327

328

329

330

331

332

333

334

335

336

337

338

339

340

341

342

343

344

345

346

347

348

349

350

351

352

353

354

355

356

357

358

359

360

361

362

363

364

365

366

367

368

369

370

371

372

373

374

375

376

377

378

379

380

381

382

383

384

385

386

387

388

389

390

391

392

393

394

395

396

397

398

399

400

401

402

403

404

405

406

407

408

409

410

411

412

413

414

415

416

417

418

419

420

421

422

423

424

425

426

427

429

431

433

435

436

437

438

439

440

441

442

443

444

447

448

449

450

451

452

453

Einleitung

Über dieses Buch

In diesem Buch vermittle ich Ihnen, hoffentlich erfolgreich, möglichst herstellerunabhängig verschiedenes Wissen zum Thema SPS. Es wird dabei sowohl Wissen über die Software- als auch die Hardwareseite vermittelt.

Wie dieses Buch aufgebaut ist

Dieses Buch besteht aus mehreren, meist vorne und hinten bedruckter Seiten, auf denen Buchstaben zu Wörtern und diese zu Sätzen zusammengesetzt sind. Die bevorzugte Leserichtung sollte von oben nach unten und je Zeile von links nach rechts sein. Aber im Ernst: Dieses Buch enthält sechs nummerierte Teile, die ich Ihnen hier kurz vorstellen möchte.

Teil I: Weiche Ware

In diesem Teil erhalten Sie eine kurze allgemeine Einführung in die Programmierung. Hier zeige ich Ihnen, wie eine SPS Programme ausführt. Sie erfahren, welche Programmiersprachen es bei einer SPS gibt, und ich stelle Ihnen die Entwicklungsumgebung verschiedener Hersteller vor. Nach Anleitung werden Sie die Schritte zur Erstellung eines Projekts nachvollziehen. Und zum Schluss beschäftigen Sie sich mit dem Thema Visualisierung.

Teil II: Was Handfestes

Nach der Software folgt in diesem Abschnitt die Hardware. Zunächst hänge ich in diesem Teil ein wenig der Vergangenheit nach und gehe, so weit das für das Verständnis wichtig ist, auf die Geschichte von Steuerungen ein. Dann vermittele ich Ihnen wichtige Grundlagen aus dem Bereich Elektrik und Elektronik. Anschließend stelle ich Ihnen verschiedene Komponenten einer SPS vor, bevor Sie erfahren, wie eine SPS Signale zum Beispiel von Sensoren verarbeitet. Die richtige Verdrahtung ist dann das nächste Thema in diesem Teil. Am Ende stelle ich Ihnen noch kurz verschiedene Feldbusse vor.

Teil III: Und es bewegt sich doch!

In diesem Teil dreht sich alles um das Thema Antriebe. Hier lernen Sie die verschiedenen Komponenten der Antriebstechnik kennen. Erfahren Sie, wie Sie ein SPS-Programm zur Ansteuerung von Antrieben erstellen.

Teil IV: Berühren verboten!

Dieser Teil beschäftigt sich mit der Sicherheit von Anlagen. In diesem erhalten Sie eine Einführung in funktionale Sicherheit. Dann stelle ich Ihnen SPS-Hardware für Sicherheitsfunktionen vor. Und schließlich erfahren Sie, wie Sie ein fehlersicheres SPS-Programm erstellen.

Teil V: Die Tücken des Alltags und wie man sie umschifft sowie ein paar (fast) letzte Worte

In diesem Teil erläutere ich Ihnen, was bei der Arbeit mit SPSen alles schiefgehen kann, was mir dabei selbst schon passiert ist und wie Sie solche Fehler vermeiden. Außerdem finden Sie Tipps, wo Sie bei Bedarf Hilfe erhalten. Des Weiteren richte ich ein paar (fast) letzte Worte an Sie.

Teil VI: Der Top-Ten-Teil

Hier erhalten Sie nach Gruppen sortiert eine Anzahl von Tipps. Wie viele Tipps pro Gruppe gegeben werden, das verrate ich aber nicht. Das müssen Sie selbst herausfinden …

Was Sie nicht lesen müssen

Dies ist eine schwer zu beantwortende Frage für mich, denn ich kenne weder Sie, noch weiß ich etwas über Ihre eventuell schon vorhandenen Kenntnisse im Bereich SPS. Da Sie diese Aussage aber nicht weiterbringt, versuche ich mich hier einmal an einer Antwort.

Soweit Sie schon Kenntnisse im Bereich der Elektrik/Elektronik und/oder Programmierkenntnisse besitzen, brauchen Sie das Kapitel »Elektronen bändigen leichtgemacht« oder das Kapitel »Das 1x1 des Bitverbiegens« nur zu überfliegen, Sie könnten es in dem Fall sogar überspringen. Ich werde Ihnen das nicht übelnehmen.

Sollten Sie beispielsweise aus dem Bereich der E-Konstruktion kommen und in die Programmierung von SPSen einsteigen wollen und sich schon mit der Hardware einer SPS samt deren Zubehör relativ gut auskennen, dann reicht es, wenn Sie den Abschnitt »Was Handfestes« – wenn überhaupt – überfliegen.

Beispieldateien zum Download

Sie können sich eine Menge Tipparbeit sparen, wenn Sie möchten. Die Beispielprojekte zum Buch laden Sie sich bei Bedarf ganz einfach auf der Seite zum Buch unter https://www.wiley-vch.de/ISBN9783527718191 herunter.

In dem ZIP-Archiv ist eine Datei mit dem Namen »Liesmich.txt« enthalten, in der Sie Hinweise zu den einzelnen Projekten finden.

Symbole, die in diesem Buch verwendet werden

Hier zeige ihn Ihnen wichtige Beispiele.

Hier werden neue Begriffe näher erläutert.

Hier finden Sie zusätzliche Informationen für bestimmte Situationen oder Vorhaben. Es lohnt sich immer, einen Blick darauf zu werfen.

Hier erhalten Sie wichtige Hinweise, zum Beispiel wie Sie gewisse Dinge verwenden sollten und was dabei zu beachten ist oder zu bestimmten Vorgehensweisen.

Hier quäle ich Sie mit Fragen.

Warnungen sollten Sie immer lesen. Sie weisen zum Beispiel auf mögliche Fehler hin, die auftreten, wenn Sie die dort gegebenen Hinweise nicht beachten.

Hier wiederhole ich wichtige Fakten, damit dieses Wissen vertieft wird.

Hier gebe ich Ihnen Hinweise aus Sicht eines Technikers.

Hier gibt es was Wichtiges aus meinem Berufsleben zu lernen.

Der Einführung zweiter Teil

Sie werden sich vielleicht wundern, warum es bei einem Buch, das eine Einführung in das Themengebiet der SPS geben soll, zusätzlich zu einer Einleitung eine Einführung gibt. Auf den ersten Blick ist diese Verwunderung auch verständlich. Deswegen möchte ich hier zunächst kurz darauf eingehen, warum es diesen Abschnitt geben muss, bevor ich mit der eigentlichen Einführung beginne.

Ein Hauptgrund ist der, dass es in jedem »… für Dummies«-Buch eine Einführung gibt, aber in diesem Fall gibt es noch eine weitere Begründung.

Ich hatte für das Ihnen vorliegende Buch ursprünglich eine andere Aufteilung vorgesehen. In der ursprünglichen Version dieses Buchs kam der Hardwareteil vor dem Softwareteil. Auch hier wäre ich nicht sofort auf den im Titel verwendeten Hauptbegriff »SPS« näher eingegangen, allerdings erfolgte die nähere Erläuterung da nicht erst nach weit über 100 Seiten so wie jetzt. Aber auch bei der alten Reihenfolge bin ich nicht sofort auf das Thema eingegangen, da, je nach Ihrem Kenntnisstand, erst eine Einführung in die Elektrik/Elektronik notwendig ist und ich vor dieser noch auf die Entwicklung von Steuerungen eingegangen bin.

Während der Erstellung fiel mir jedoch auf, dass ich im Hardwareteil sehr viele Begriffe aus dem Softwarebereich verwenden musste, umgekehrt aber im Softwareteil nur sehr wenige Begriffe aus dem Hardwareteil Verwendung fanden. Außerdem liegt der Schwerpunkt bei der Arbeit mit einer SPS nicht auf der Hardware, die natürlich auch wichtig ist, sondern auf der Erstellung der Programme für die jeweilige SPS. Aus diesem Grund vertauschte ich den Hardware- und den Softwareteil.

Um nun zu verhindern, dass Sie nach dem Lesen von vielen Seiten anfangen, die Stirn zu runzeln, weil Sie praktisch noch nichts zum Thema SPS erfahren haben, und sich fragen, ob Sie aus Versehen statt des eigentlich gewünschten Buchs mit einer Einführung in das Thema der SPS ein Buch über die Einführung in die Programmierung erwischt haben, haben der Verlag und ich uns entschieden, diesen Abschnitt einzufügen. Doch genug der Vorgeschichte, lassen Sie uns beginnen.

Das Ihnen vorliegende Buch trägt den Titel »SPS für Dummies«, doch bitte: »Was ist ein Dummie«? Oh, ´tschuldigung, falsches Thema. Die Frage lautet natürlich: »Was bitte ist eine SPS«? SPS ist eine Abkürzung und steht ausgeschriebenen für »SpeicherProgrammierbare Steuerung«. Nun, ich gebe zu, jetzt wissen Sie auch nicht wirklich mehr. Das möchte ich mit den folgenden Abschnitten ändern.

Was ist eine speicherprogrammierbare Steuerung (SPS) eigentlich genau?

Vereinfacht ausgedrückt kann man eine SPS als Computer für Maschinen bezeichnen. Und etwas weniger einfach ausgedrückt? Das lesen Sie in den nächsten Abschnitten.

SPS: Hardware mit Ein- und Ausgängen plus Software

»Computer für Maschinen« bedeutet, dass es auf der einen Seite den Computer gibt und auf der anderen Seite eine Maschine, mit der der Computer interagiert. Zwei Dinge also, die zueinander in Beziehung stehen und zusammenarbeiten. Der Computer besteht dabei aus physischen Komponenten, der Hardware. Das ist sicher so weit nichts Neues für Sie, Sie kennen das vermutlich schon lange von Ihrem Notebook, Ihrem Smartphone oder anderen Geräten. Auf der Hardware einer SPS lassen sich Programme ausführen – also Software. Auch das ist im Grunde nicht neu für Sie – in der einen oder anderen Form kommen Sie täglich mit Software in Berührung. Entscheidend ist, dass der Computer über Ein- und Ausgänge mit der Maschine verbunden wird. Er kann also Informationen von der Maschine erhalten, verarbeiten und der Maschine dann Informationen schicken, was sie zu tun oder zu lassen hat. Aber schauen wir uns das einmal noch etwas genauer an.

Hardware

… eines »normalen« Computers

Ein Computer besteht unter anderem aus

dem

Hauptprozessor

, auch

CPU

genannt,

dem

Arbeitsspeicher

, der als

RAM

bezeichnet wird,

einem

Massenspeicher

, zum Beispiel einer Festplatte,

USB-Anschlüssen, zum Beispiel für eine Tastatur und eine Maus.

Des Weiteren enthält ein Computer

eine Grafikkarte und eine

Soundkarte …,

wobei Grafik- und Soundkarten bei aktuellen Geräten in der Regel direkt auf der Hauptplatine sitzen und nicht, wie früher, als separate Steckkarte ausgeführt sind.

… einer SPS

Die meisten dieser Komponenten sind auch bei einer SPS zu finden, wobei es herstellerspezifische Unterschiede gibt. Eine CPU und RAM gibt es auch bei einer SPS. Als Massenspeicher wird wegen der deutlich geringeren Vibrationsempfindlichkeit allerdings keine Festplatte mit beweglichen Teilen eingesetzt. USB-Anschlüsse gibt es bei den meisten Herstellern an einer SPS nicht, da der Anschluss von Geräten mit dieser Schnittstelle, beispielsweise einer Maus, nicht erforderlich ist. Auch eine Grafikkarte und eine Soundkarte suchen Sie bei den meisten Herstellern vergeblich.

Sollen grafische Elemente, zum Beispiel eine Visualisierung, ausgegeben werden, so erfolgt dies beispielsweise über ein extra Gerät, das je nach Hersteller unterschiedlich bezeichnet wird. Eine mögliche Bezeichnung kann beispielsweise HMI-Panel sein. Die Abkürzung HMI steht in der Langform für »Human Machine Interface«. Auf dem Panel läuft dann unter anderem eine spezielle Software, die die Visualisierung anzeigt, auf dieser Daten von der SPS darstellt und die Daten, zum Beispiel von betätigten Elementen, an die SPS sendet. Eine weitere Möglichkeit, ein HMI darzustellen, besteht in der Nutzung eines regulären PCs, auf dem eine HMI-Software ausgeführt wird. Soundkarten kommen nur bei wenigen Herstellern zum Einsatz. Auch bei HMI-Programmen, die auf regulären PCs ausgeführt werden, wird die meist vorhandene Soundkarte nur von wenigen Herstellern genutzt. Audioausgaben in Form von Musik oder Sprache kommen selten zur Anwendung, teilweise gibt es über einen internen Lautsprechereine Rückmeldung bei Tastendrücken. Sollen Signaltöne an verschiedenen Stellen gut hörbar erzeugt werden, zum Beispiel für Warnungen, nutzt man im industriellen Bereich spezielle Geräte, beispielsweise eine Sirene. Diese wird dann über einen Ausgang der SPS angesteuert. Womit wir beim Begriff »Ausgang« bei der Gruppe von Komponenten gelandet sind, die es bei einem »normalen« PC so nicht gibt.

Ein- und Ausgänge

Eine Steuerung soll ja, wie der Name es vermuten lässt, etwas steuern. Dabei ist wichtig zu wissen, dass diese nicht nur steuern kann, sondern auch regelt. Damit sie dies tun kann, muss sie den Zustand der Anlage ermitteln, zum Beispiel durch Abfrage des Zustands von Lichtschranken oder Schaltern oder dem Messen von Temperaturen und der Ermittlung weiterer Werte. All diese Signale und Werte müssen irgendwie in die Steuerung kommen, damit die Steuerung die Werte prüfen und entsprechend darauf reagieren kann. Und der Weg der Signale in die SPS erfolgt über sogenannte Eingänge.

Nun kann und muss die Steuerung auf diese Signale reagieren, zum Beispiel indem sie ab einer bestimmten Temperatur einen Lüfter einschaltet oder einen Motor ausschaltet, wenn eine bestimmte Lichtschranke ausgelöst hat, oder indem sie die Leistung einer Heizung nachregelt, weil eine bestimmte Zieltemperatur noch nicht erreicht ist.

Die SPS schickt also Steuersignale an verbundene andere Geräte. Alle diese Geräte werden über Ausgänge entweder direkt oder über zusätzliche Geräte, beispielsweise ein Schütz, an die SPS angeschlossen.

Steuerungssoftware

Auf der SPS läuft schließlich das sogenannte SPS-Programm. Das SPS-Programm enthält die Logik der Anlage, sprich: Es definiert unter anderem, wie die Steuerung auf bestimmte Ereignisse reagiert.

Wie Sie nun bereits erfahren haben, sind es im Wesentlichen drei Bereiche, die das Thema SPS umfasst. Und alle diese Bereiche lernen Sie in diesem Buch kennen. Heißt konkret:

Eine detailliertere Erklärung, wie eine SPS aufgebaut ist, erhalten Sie in

Kapitel 9

»Das Gehirn und der Rest«.

In

Kapitel 10

»Alles IO!« erfahren Sie alles zum Thema Signalverarbeitung einer SPS.

Wie eine SPS ein Programm abarbeitet, gehört zum Softwareteil, dies vermittele ich Ihnen in

Kapitel 2

»Immer schön im Kreis, ohne Pause und bitte gleichmäßig«.

Dies soll an dieser Stelle als Einleitung genügen. Mit diesem Hintergrundwissen werden Sie besser verstehen, warum Sie auf den nächsten Seiten erst einmal scheinbar wenig zum Thema SPS erfahren. In Wirklichkeit dreht sich hier von Beginn an alles um jeweils einen der drei genannten Bereiche einer SPS.

Es wird bereits in Kapitel 1 »Das 1×1 des Bitverbiegens« und in Kapitel 2 »Immer schön im Kreis, ohne Pause und bitte gleichmäßig« das Thema SPS behandelt, wenngleich vielleicht nicht ganz so offensichtlich. Grundlagen also, die jede Person benötigt, die sich mit speicherprogrammierbaren Steuerungen befasst.

Teil I

Weiche Ware

IN DIESEM TEIL …

Erhalten Sie eine Einführung in die ProgrammierungErhalten Sie einen Überblick, wie eine SPS Programme ausführtGebe ich Ihnen einen Überblick über die verschiedenen ProgrammiersprachenZeige ich Ihnen verschiedene Entwicklungsumgebungen, mit denen die Programme für eine SPS erstellt werdenErläutere ich die Vorgehensweise bei der Erstellung eines ProgrammsVermittele ich Ihnen alles Notwendige, um Feldbusse zu verstehen

Kapitel 1

Das 1×1 des Bitverbiegens

IN DIESEM KAPITEL

Erfahren Sie, was Variablen sind und wie man diese nutztLernen Sie, welche verschiedenen Typen von Variablen es gibtBekommen Sie vermittelt, wie Zahlenwerte dargestellt werden könnenErläutere ich Ihnen, wie Zahlen im Speicher abgelegt werdenVermittele ich Ihnen, welche Konstrukte es beim Programmieren gibtZeige ich Ihnen verschiedene Objekte, die Ihnen beim Programmieren begegnen können

Einführung

Wenn Sie noch nie ein Programm erstellt haben, dann vermittelt Ihnen dieses Kapitel eine gute Basis, um selbst erste kleine Programme zu schreiben, auf die Sie künftig aufbauen können. Selbst wenn Sie sich anfangs an der einen oder anderen Stelle schwertun sollten: Bleiben Sie dran! Aus persönlicher Erfahrung sage ich Ihnen: Es lohnt sich!

Bevor es richtig mit diesem Kapitel losgeht, ein Hinweis: Zur Erstellung eines SPS-Programms stehen Ihnen verschiedene Programmiersprachen zur Verfügung, von denen Sie eine oder auch mehrere in Ihrem Programm nutzen können. Näheres zu dem Thema erfahren Sie in Kapitel 3 »Die babylonische Sprachverwirrung«. Hier in diesem Kapitel nutze ich dagegen nur eine textbasierte Programmiersprache, und zwar ST oder in Langform Strukturierter Text genannt. Im Englischen lautet die Abkürzung ebenfalls ST und steht dort entsprechend für structured text. Bei Siemens gibt es auch eine textbasierte Programmiersprache, diese wird mit SCL abgekürzt, was in der Langform für Structured Control Language steht, eine deutsche Variante des Namens gibt es bei Siemens nicht.

Was sind Variablen und wie nutzt man sie?

Die Hauptaufgabe einer SPS liegt darin, Daten zu empfangen, die Zustände einer Anlage einzulesen, diese zu verarbeiten und anschließend entsprechend der Verarbeitung Ausgänge zu setzen oder Daten zu verschicken. Bei den Zuständen können dies binäre Werte sein wie beispielsweise der Zustand einer Lichtschranke, die genau zwei (daher »binär«) Zustände, nämlich auf (offen bzw. 1) oder zu (geschlossen bzw. 0) haben kann, oder Messwerte wie zum Beispiel eine Temperatur. Diese Werte müssen für die weitere Bearbeitung nach dem Einlesen erst mal abgelegt werden. Dies erfolgt in sogenannten Variablen.

Eine Variable kann man als einzelnen Behälter betrachten, der einen Namen (den Variablennamen), eine Adresse im Speicher der SPS und, je nach Typ, eine unterschiedliche Größe, sprich einen unterschiedlich großen Speicherbedarf, hat. Eine Ausnahme davon bilden die sogenannten Pointer, die immer dieselbe Größe haben. Doch dazu später in diesem Kapitel mehr.

Wie Variablen deklariert werden

Bevor ich mit der eigentlichen Erklärung beginne, hier ein wichtiger Hinweis: Dieses Buch ist herstellerübergreifend angelegt, allerdings werden im Laufe des Buchs einige Hersteller explizit erwähnt, zum Beispiel Siemens mit der Entwicklungsumgebung TIA. Neben Siemens werden weitere Hersteller erwähnt, die alle etwas gemeinsam haben, deren Systeme basieren auf der Software CODESYS.

Gerade wurden die Variablen als Behälter beschrieben, in dem Daten aufbewahrt werden können. Doch bevor eine Variable als Behälter dienen kann, muss sie erst einmal erstellt werden.

Bei SPS-Programmen ist eine Variable nicht einfach so vorhanden und kann genutzt werden. Sie muss zunächst angelegt werden, was als Deklaration bezeichnet wird.

In Abbildung 1.1 ist die Deklaration mehrerer Variablen bei einer CODESYS-basierten Steuerung zu sehen und in Abbildung 1.2 dasselbe für TIA von Siemens.

Abbildung 1.1 Variablendeklaration bei CODESYS-basierten Steuerungen

Abbildung 1.2 Variablendeklaration in Siemens TIA

In beiden Abbildungen werden die gleichen Variablen deklariert. Bei CODESYS-basierten Steuerungen und auch bei Siemens in TIA kann eine Deklaration in Text- oder Tabellenform erfolgen. Bei CODESYS nutze ich die Textform, bei Siemens TIA die tabellarische Form.

Bei CODESYS-basierten Steuerungen ist eine Deklaration wie folgt aufgebaut:

Zunächst wird der Name der zu deklarierenden Variablen angegeben und

danach folgt der Typ.

Bei Bedarf kann die Variable anschließend noch einen Startwert bekommen, den diese bei jedem Start der SPS erhält.

Bei Siemens in TIA wird in der ersten Spalte der Tabelle zunächst

der Name der Variablen vergeben, in der nächsten Spalte

dann der Typ und danach

der Startwert.

Welche Variablentypen es gibt und welche Eigenschaften sie haben, erfahren Sie im Verlauf dieses Kapitels im Abschnitt »Vieles zum Thema Variablentypen«.

In beiden Beispielen wurden jeweils vier Variablen deklariert. Die Variable xTaste01 vom Typ BOOL, die Variable bFlags01 vom Typ BYTE, die Variable uiCounter01 vom Typ UINT und die Variable sText01 vom Typ STRING. Die letzte deklarierte Variable wurde mit dem Startwert »Test123« initialisiert.

Variablen Werte zuweisen

Neben der Zuweisung eines Startwerts bei der Deklaration einer Variablen können Sie einer Variablen natürlich auch im Programm einen Wert zuweisen, sonst wäre das Ganze ja auch relativ sinnlos. Schließlich steht der Begriff »Variable« ja für veränderlich …

Sowohl bei CODESYS-basierten Steuerungen in ST als auch bei Siemens TIA in SCL erfolgt die Zuweisung eines Werts zu einer Variablen mit dem sogenannten Zuweisungsoperator:=. Sie können einer Variablen auch den aktuellen Wert einer anderen Variablen zuweisen.

Im Folgenden sind hier mal ein paar Beispiele aufgeführt, wie die Zuweisung eines Werts zu einer Variablen erfolgen kann.

xBoolVar01 := TRUE;iIntVar01 := -512;iIntVar02 := iIntVar03;

Die Deklaration der Variablen bei CODESYS-basierten Steuerungen erfolgte zwischen den SchlüsselwörternVAR und END_VAR, bei Siemens im Bereich STATIC. In beiden Fällen handelt es sich um sogenannte lokale Variablen. Diese sollten auch nur lokal verwendet werden, also nur innerhalb des Objekts, zum Beispiel eines Funktionsbausteins, in dem sie deklariert wurden. Näheres zum Thema Objekte erfahren Sie in diesem Kapitel im Abschnitt »Weitere Objekte, beispielsweise Funktionen«.

Bei CODESYS-basierten Steuerungen ist von außerhalb nur ein lesender, aber kein schreibender Zugriff möglich, man kann also den Wert zwar woanders verarbeiten, aber nicht von woanders ändern. Ein Versuch, ein Programm zu übersetzen, das einen schreibenden Zugriff enthält, führt zu einer Fehlermeldung. Bei Siemens ist sowohl der lesende als auch der schreibende Zugriff theoretisch möglich, beides sollten Sie aber nicht tun.

Was sind globale Variablen und globale Datenbausteine

Soll von verschiedenen Objekten auf bestimmte Variablen zugegriffen werden, sollten Sie sogenannte globale Variablen verwenden. Diese Variablen stehen in Listen, in denen eine oder mehrere Variablen hinzugefügt werden können.

Bei CODESYS-basierten Steuerungen heißt diese Liste »Globale Variablenliste«. Es können mehrere Listen vorhanden sein, wobei jede Liste einen individuellen Namen hat.

In Abbildung 1.3 ist eine solche Liste zu sehen.

Abbildung 1.3 Globale Variablenliste

Die globale Variablenliste in Abbildung 1.3 hat den Namen GVLGLOBALE_VARIABLEN01 und enthält vier Variablen. Der Befehl in Zeile 1 ist ein sogenanntes Pragma. Es gibt Pragmas für verschiedene Aufgaben. Es gibt zum Beispiel Pragmas, mit denen erreicht werden kann, dass nur bestimmte Teile eines Programms übersetzt werden. Das Pragma in diesem