SIMATIC S7: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
(28 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 19: | Zeile 19: | ||
== Unterlagen und Dokumentation zur CPU 313C == | == Unterlagen und Dokumentation zur CPU 313C == | ||
*[http://support.automation.siemens.com/WW/llisapi.dll/csfetch/12996906/s7300_cpu_31xc_and_cpu_31x_manual_de-DE_de-DE.pdf?func=cslib.csFetch&nodeid=12963439&forcedownload=true CPU 31xC und CPU 31x: Technische Daten] | |||
*[http://support.automation.siemens.com/WW/llisapi.dll/csfetch/13008499/s7300_cpu_31xc_and_cpu_31x_operating_instructions_de-DE_de-DE.pdf?func=cslib.csFetch&nodeid=12997330&forcedownload=true CPU 31xC und CPU 31x: Aufbauen] | |||
*[http://support.automation.siemens.com/WW/llisapi.dll/csfetch/12429336/s7300_cpu_31xc_technological_functions_operating_instructions_de-DE_de-DE.pdf?func=cslib.csFetch&nodeid=12436781&forcedownload=true CPU 31xC: Technologische Funktionen] | |||
== Beispielprojekt == | |||
In einem kleinen Beispiel soll der Umgang mit SIMATIC Manager und die Programmierung der SPS geübt werden. In diesem Projekt wird eine einfache Jalousiesteuerung realisiert. Die Ausgangslage wird in der Abbildung beschrieben. | |||
Starten Sie SIMATIC Manager. | |||
=== Neues Projekt erstellen === | |||
*'''Datei''' -> '''Neu'''. | |||
*Projektname und -Pfad eingeben. | |||
Es erscheint die Projektstrukur in einem Fenster. | |||
=== Anlage Konfigurieren === | |||
Zunächst fügen Sie eine Station ein. | |||
*Rechtsklick auf dem Projekt | |||
*'''Neues Objekt einfügen'''->'''SIMATIC 300-Station''' | |||
*Gehen Sie auf die Station im Projektbaum. | |||
*Doppelklick auf '''Hardware'''. Das Fenster '''HW Konfig''' erscheint. | |||
Nun muss die Station aufgebaut werden. | |||
*Unter '''SIMATIC 300''' -> '''RACK-300''' -> Doppelklick auf '''Profilschiene''' kann eine Schiene eingefügt werden. Ohne eine Profilschiene kann kein System zusammengesetzt werden. Auf der Schiene sind Steckplätze für die Baugruppen. | |||
*'''SIMATIC 300''' -> '''PS-300''' -> z.B. '''PS 307 2A''' für die Stromversorgung. Dafür muss immer der erste Steckplatz auf der Schiene ausgewählt sein. | |||
*Unter '''SIMATIC 300''' -> '''CPU-300''' -> '''CPU xxx''' -> '''xxx''' wird die richtige SPS-Station ausgewählt und in das System eingefügt. | |||
Durch das Auswählen weiterer Baugruppen wird die Station aufgebaut. | |||
Abspeichern und Fenster schließen. | |||
=== Erstellen der Symboltabelle === | |||
Wichtiger Aspeckte bei der Programmierung sind die Lesbarkeit und Protierbarkeit von Code. Es ist wichtig, dass das Programm an Änderungen in z.B. der Hardwareaufbau einfach angepasst werden kann. Dafür wird die sogenannte '''Symboltabelle''' eingesetzt. Die Symboltabelle ordnet I/Os symbolische Namen zu, die im Programm benutzt werden können. Soll nun beispielhaft die Ausgabe eines Pegels von Pin 1 auf 2 umverdratet werden, reicht dafür eine Änderung in der Symboltabelle aus. | |||
Für das Erstellen einer Symboltabelle gehen Sie folgend vor: | |||
*Wählen Sie im Projektbaum die CPU -> '''S7-Programm(1)''' | |||
*Doppelklick auf '''Symbole'''. Es erscheint die Symboltabelle. | |||
Für die Jalousiesteuerung sind folgende Signale/Symbole zu verwenden: | |||
{|class="wikitable" | |||
!Name | |||
!Adresse | |||
|- | |||
|Knopf Öffnen | |||
|Eingang 0.0 | |||
|- | |||
|Knopf Schließen | |||
|Eingang 0.1 | |||
|- | |||
|Sonnendetektor | |||
|Eingang 0.2 | |||
|- | |||
|Endschalter Oben | |||
|Eingang 0.4 | |||
|- | |||
|Endschalter Unten | |||
|Eingang 0.5 | |||
|- | |||
|Motor rauf | |||
|Ausgang 0.0 | |||
|- | |||
|Motor runter | |||
|Ausgang 0.1 | |||
|} | |||
Nun werden diese Symbole in der Symboltabelle eingetragen. | |||
=== Programm erstellen === | |||
Die SPS führt die Programme in Form von Tasks durch. Tasks sind als '''OB (Organisation Block)''' bezeichnet. Es existieren mehrere OBs, die ihren Aufgaben nach in Kategorien aufgestellt werden können. | |||
*Idle-Task | |||
*Weckeralarm | |||
*Uhrzeitalarm | |||
*Prozessalarm (Ereignis-Steuerung) | |||
*Fehlerabarbeitung | |||
Neben OBs sind auch '''FB (Function Block)''' und '''FC (Function)'''. FCs sind Module, in denen Logik realisiert ist. FB beinhalten eine FC und den dazugehörigen Datensatz. Analog zur OOP in C++ sind FC Klassen und FB Klasseninstanzen. | |||
Jede FC, die Daten verarbeitet, benötigt ein Datensatz. Dieser wird in einer '''DB (Data Block)''' gespeichert. | |||
Für das aktuelle Projekt benutzen wir die OB35. Dies ist ein Weckeralarm-Task. Die Aufrufzeit / Zykluszeit wird später angepasst. | |||
==== Erstellen einer OB ==== | |||
*Im Baumstrucktur wählen Sie '''SIMATIC xxx''' -> '''S7-Programm''' -> '''Bausteine''' | |||
*Mit Rechtsklick -> '''Neues Objekt einfügen''' -> '''Organisationsbaustein''' | |||
*Geben Sie den Baustein ein Namen. Achten Sie auf die Namenkonvention für die jeweilige SPS. | |||
*Unter '''Erstellsprache''' die Sprache auswählen. | |||
*Mit Doppelklick auf das neu erstelle OB öffnet sich das Programm-Code | |||
==== Netzwerke erstellen ==== | |||
Logik in einem OB wird '''Netzwerk''' genannt. Ein OB kann aus mehreren Netzwerken bestehen, die unterschiedliche Operationen realisieren. | |||
*Das erste Netzwerk ist automatisch hinzugefügt. Jedes Netzwerk besizt ein Titel, Kommentar und Rumpf. der Rumpf ist die weiße Fläche unmittelbar nach dem Kommentarbereich. | |||
*In der Spalte Links sind alle vorhandenen Programmbausteine in einer Baumansicht angeordnet. Durch einfaches Drag'n'Drop oder Doppelklicks können diese eingefügt werden. | |||
*Die Ein- und Ausgänge der Blöcke können entweder mit Hardware-Adressen oder Symbole aus der Symboltabelle beschrieben werden. | |||
*In dem Netzwerk können zusätlich zu Logikblöcke auch FC aufgerufen werden (Kapselung der Logik). | |||
==== Programm übertragen ==== | |||
Nachdem das Programm fertig geschrieben ist, kann es wie folgt auf die SPS übertragen werden: | |||
*Rechtsklick auf Station -> '''Zielsystem''' -> '''Laden''' | |||
Sollte danach nur Änderungen in Programm übertragen werden, reicht es, wenn nur das entsprechende Baustein übertragen wird. | |||
=== Simulieren === | |||
Das geschriebe Programm lässt sich auch simulieren. | |||
*Simulator starten | |||
*Programm übertragen. | |||
Sollte keine Verbindung zur Simulator möglich sein, so muss im tool '''PG/PC-Schnittstellen einstellen''' die Schnittstelle parametriert werden (Hier hat '''PLCSIM(MPI)''' gut funktioniert). Die gleiche Schnittstelle sollte auch im Simulator eingestellt sein. | |||
*Im Simulator die SPS auf '''Run''' umschalten. | |||
*Ein- und Ausgänge können über die Symbolleiste angezeigt und manipuliert werden. | |||
*Es ist auch möglich, die Programmausführung Zyklusweise durchzugehen. | |||
Um einen Blick im Programmablauf zu erhalten, kann man während der Simulation das betroffene Baustein öffnen und im Editor den Knopf '''Beobachten ein/aus''' klicken. | |||
= Siemens SPS CPU 313 C 2DP Step7 Programme = | |||
== AIS-Bus == | |||
Im ASI-Bus lassen sich 62 Geräe ansteuern. | |||
Dieser findet im Förderband Programm unter FB60, DB60 anwendung | |||
Diese werden in zwei Grupen aufgeteilt 0.. 31 ..62. | |||
Diese bilden ein Array [1..31] vom Datentyp ASI_DEF, welches aus einem struct besteht. | |||
{|class="wikitable" | |||
!Name | |||
!Bit | |||
!Dattentyp | |||
|- | |||
|0.0 | |||
|1 | |||
|Bool | |||
|- | |||
|0.1 | |||
|2 | |||
|Bool | |||
|- | |||
|0.2 | |||
|3 | |||
|Bool | |||
|- | |||
|0.3 | |||
|4 | |||
|Bool | |||
|- | |||
|} | |||
=== AIS-Bus Module === | |||
=== Auslesen von Sensoren im AIS-Bus === | |||
Der in der Produktionstechnik am Förderband verbaute AIS - Bus lässt sich z. B. so auslesen. | |||
Alle Daten werden aus dem Bus in DB80 geschrieben. | |||
mit "ASI1".IN[X].BIT1 | |||
mit X = {2, 5, 8, 11, 14, 17} | |||
kann dann auf die Daten zugegriffen werden. | |||
Die am Förderband verbauten Sensoren sind beschriftet. | |||
Diese Beschriftung lässt sich folgendermaßen lesen | |||
am Beispiel des Wagens ID Zähler-Sensor 40B4 | |||
{|class="wikitable" | |||
|- | |||
!Beispiel Sensor | |||
|4 | |||
|0 | |||
|B | |||
|4 | |||
|- | |||
!Bedeutung | |||
|Stationen 1 bis 6. | |||
| | |||
| | |||
|Steckplatz am ASI-Modul | |||
|} | |||
=== ausgeben von Signalen über AIS-Bus === | |||
== Weitere Links == | |||
*[[RS232-Kommunikation mit SIMATIC 300|Serielle Kommunikation mit dem CP340-Modul]] |
Aktuelle Version vom 14. Januar 2022, 11:45 Uhr
Die SIMATIC S7 ist eine Geräteserie der Firma SIEMENS für die Steuerung von technischen Anlagen.
Ausbildungsunterlagen von Siemens
Die Firma SIEMENS stellt eine große Menge an Lehr- und Ausbildungsunterlagen für die SIMATIC S7-Steueurng inklusive Einführung in verschiedene Programmiersprachen. Hier finden Sie eine Übersicht der Ausbildungsunterlagen
Für das Projekt "3D-Bearbeitungsmaschine" wird der CPU SIMATIC S7-300 313C eingesetzt. Hier empfiehlt es sich, sich in folgenden Unterlagen einzuarbeiten:
Unterlagen und Dokumentation zur CPU 313C
- CPU 31xC und CPU 31x: Technische Daten
- CPU 31xC und CPU 31x: Aufbauen
- CPU 31xC: Technologische Funktionen
Beispielprojekt
In einem kleinen Beispiel soll der Umgang mit SIMATIC Manager und die Programmierung der SPS geübt werden. In diesem Projekt wird eine einfache Jalousiesteuerung realisiert. Die Ausgangslage wird in der Abbildung beschrieben.
Starten Sie SIMATIC Manager.
Neues Projekt erstellen
- Datei -> Neu.
- Projektname und -Pfad eingeben.
Es erscheint die Projektstrukur in einem Fenster.
Anlage Konfigurieren
Zunächst fügen Sie eine Station ein.
- Rechtsklick auf dem Projekt
- Neues Objekt einfügen->SIMATIC 300-Station
- Gehen Sie auf die Station im Projektbaum.
- Doppelklick auf Hardware. Das Fenster HW Konfig erscheint.
Nun muss die Station aufgebaut werden.
- Unter SIMATIC 300 -> RACK-300 -> Doppelklick auf Profilschiene kann eine Schiene eingefügt werden. Ohne eine Profilschiene kann kein System zusammengesetzt werden. Auf der Schiene sind Steckplätze für die Baugruppen.
- SIMATIC 300 -> PS-300 -> z.B. PS 307 2A für die Stromversorgung. Dafür muss immer der erste Steckplatz auf der Schiene ausgewählt sein.
- Unter SIMATIC 300 -> CPU-300 -> CPU xxx -> xxx wird die richtige SPS-Station ausgewählt und in das System eingefügt.
Durch das Auswählen weiterer Baugruppen wird die Station aufgebaut.
Abspeichern und Fenster schließen.
Erstellen der Symboltabelle
Wichtiger Aspeckte bei der Programmierung sind die Lesbarkeit und Protierbarkeit von Code. Es ist wichtig, dass das Programm an Änderungen in z.B. der Hardwareaufbau einfach angepasst werden kann. Dafür wird die sogenannte Symboltabelle eingesetzt. Die Symboltabelle ordnet I/Os symbolische Namen zu, die im Programm benutzt werden können. Soll nun beispielhaft die Ausgabe eines Pegels von Pin 1 auf 2 umverdratet werden, reicht dafür eine Änderung in der Symboltabelle aus.
Für das Erstellen einer Symboltabelle gehen Sie folgend vor:
- Wählen Sie im Projektbaum die CPU -> S7-Programm(1)
- Doppelklick auf Symbole. Es erscheint die Symboltabelle.
Für die Jalousiesteuerung sind folgende Signale/Symbole zu verwenden:
Name | Adresse |
---|---|
Knopf Öffnen | Eingang 0.0 |
Knopf Schließen | Eingang 0.1 |
Sonnendetektor | Eingang 0.2 |
Endschalter Oben | Eingang 0.4 |
Endschalter Unten | Eingang 0.5 |
Motor rauf | Ausgang 0.0 |
Motor runter | Ausgang 0.1 |
Nun werden diese Symbole in der Symboltabelle eingetragen.
Programm erstellen
Die SPS führt die Programme in Form von Tasks durch. Tasks sind als OB (Organisation Block) bezeichnet. Es existieren mehrere OBs, die ihren Aufgaben nach in Kategorien aufgestellt werden können.
- Idle-Task
- Weckeralarm
- Uhrzeitalarm
- Prozessalarm (Ereignis-Steuerung)
- Fehlerabarbeitung
Neben OBs sind auch FB (Function Block) und FC (Function). FCs sind Module, in denen Logik realisiert ist. FB beinhalten eine FC und den dazugehörigen Datensatz. Analog zur OOP in C++ sind FC Klassen und FB Klasseninstanzen.
Jede FC, die Daten verarbeitet, benötigt ein Datensatz. Dieser wird in einer DB (Data Block) gespeichert.
Für das aktuelle Projekt benutzen wir die OB35. Dies ist ein Weckeralarm-Task. Die Aufrufzeit / Zykluszeit wird später angepasst.
Erstellen einer OB
- Im Baumstrucktur wählen Sie SIMATIC xxx -> S7-Programm -> Bausteine
- Mit Rechtsklick -> Neues Objekt einfügen -> Organisationsbaustein
- Geben Sie den Baustein ein Namen. Achten Sie auf die Namenkonvention für die jeweilige SPS.
- Unter Erstellsprache die Sprache auswählen.
- Mit Doppelklick auf das neu erstelle OB öffnet sich das Programm-Code
Netzwerke erstellen
Logik in einem OB wird Netzwerk genannt. Ein OB kann aus mehreren Netzwerken bestehen, die unterschiedliche Operationen realisieren.
- Das erste Netzwerk ist automatisch hinzugefügt. Jedes Netzwerk besizt ein Titel, Kommentar und Rumpf. der Rumpf ist die weiße Fläche unmittelbar nach dem Kommentarbereich.
- In der Spalte Links sind alle vorhandenen Programmbausteine in einer Baumansicht angeordnet. Durch einfaches Drag'n'Drop oder Doppelklicks können diese eingefügt werden.
- Die Ein- und Ausgänge der Blöcke können entweder mit Hardware-Adressen oder Symbole aus der Symboltabelle beschrieben werden.
- In dem Netzwerk können zusätlich zu Logikblöcke auch FC aufgerufen werden (Kapselung der Logik).
Programm übertragen
Nachdem das Programm fertig geschrieben ist, kann es wie folgt auf die SPS übertragen werden:
- Rechtsklick auf Station -> Zielsystem -> Laden
Sollte danach nur Änderungen in Programm übertragen werden, reicht es, wenn nur das entsprechende Baustein übertragen wird.
Simulieren
Das geschriebe Programm lässt sich auch simulieren.
- Simulator starten
- Programm übertragen.
Sollte keine Verbindung zur Simulator möglich sein, so muss im tool PG/PC-Schnittstellen einstellen die Schnittstelle parametriert werden (Hier hat PLCSIM(MPI) gut funktioniert). Die gleiche Schnittstelle sollte auch im Simulator eingestellt sein.
- Im Simulator die SPS auf Run umschalten.
- Ein- und Ausgänge können über die Symbolleiste angezeigt und manipuliert werden.
- Es ist auch möglich, die Programmausführung Zyklusweise durchzugehen.
Um einen Blick im Programmablauf zu erhalten, kann man während der Simulation das betroffene Baustein öffnen und im Editor den Knopf Beobachten ein/aus klicken.
Siemens SPS CPU 313 C 2DP Step7 Programme
AIS-Bus
Im ASI-Bus lassen sich 62 Geräe ansteuern. Dieser findet im Förderband Programm unter FB60, DB60 anwendung Diese werden in zwei Grupen aufgeteilt 0.. 31 ..62. Diese bilden ein Array [1..31] vom Datentyp ASI_DEF, welches aus einem struct besteht.
Name | Bit | Dattentyp |
---|---|---|
0.0 | 1 | Bool |
0.1 | 2 | Bool |
0.2 | 3 | Bool |
0.3 | 4 | Bool |
AIS-Bus Module
Auslesen von Sensoren im AIS-Bus
Der in der Produktionstechnik am Förderband verbaute AIS - Bus lässt sich z. B. so auslesen. Alle Daten werden aus dem Bus in DB80 geschrieben.
mit "ASI1".IN[X].BIT1 mit X = {2, 5, 8, 11, 14, 17} kann dann auf die Daten zugegriffen werden. Die am Förderband verbauten Sensoren sind beschriftet. Diese Beschriftung lässt sich folgendermaßen lesen am Beispiel des Wagens ID Zähler-Sensor 40B4
Beispiel Sensor | 4 | 0 | B | 4 |
---|---|---|---|---|
Bedeutung | Stationen 1 bis 6. | Steckplatz am ASI-Modul |