23,99 €
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
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 553
Veröffentlichungsjahr: 2023
SPS für Dummies
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!
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.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
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.
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.
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
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
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
Cover
Titelblatt
Impressum
Über den Autor
Inhaltsverzeichnis
Einleitung
Fangen Sie an zu lesen
Abbildungsverzeichnis
Stichwortverzeichnis
End User License Agreement
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
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.
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.
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.
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.
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.
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.
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.
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 …
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.
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.
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.
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.
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.
»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.
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.
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.
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.
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
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 verstehenKapitel 1
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önnenWenn 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.
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.
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.
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.
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
