Ansteuerung einer Schrittmotor-Achse mit Siemens SIMATIC S7-300 SPS

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen


Einleitung

Im Rahmen des Studiengangs Mechatronik der Hochschule Hamm-Lippstadt wird im 7. Fachsemester das Praktikum Produktionstechnik angeboten. Dieses Praktikum ist Teil des Fach-Moduls Global Production Engineering. In diesem Praktikum geht es um die Verwirklichung eines mechatronischen Produktionssystems(MPS) mittels Speicher Programmierbare Steuerung (SPS), sowie die Ansteuerung einer Schrittmotor-Achse im Rahmen des Hauptprojektes "Aufbau einer 3-D-Bearbeitungsmaschine".

Das Thema Ansteuerung einer Schrittmotor-Achse mit Siemens SIMATIC S7-300-CPU313C ist ein Teilthemengebiet des Projekts 3-D-Bearbeitungsmaschine und wurde von Stefan Schweins, Jonas Rüschenschmidt, sowie im darauffolgenden Jahr von Hendrik Pabst und Ziad Abuelkhair bearbeitet.

Aufgabenstellung

Die Aufgabe des Praktikums war es, eine 3-D Bearbeitungsmaschine zu konstruieren und drei Achsen mit verschiedener Steuerungshardware anzusteuern. Ebenfalls sollten Bearbeitungskoordinaten für Werkstücke übermittelt werden können.

Die Aufgabe bestand darin, die Ansteuerung einer Zahnriemenachse mit Schrittmotor durch den Einsatz von einer speicherprogrammierbaren Steuerung, - kurz SPS, SIMATIC S7-CPU300-313C des Unternehmen Siemens zu realisieren.

Zur Ansteuerung des Schrittes, der Bremse und der Fahrtrichtung der Achse wird zusätzlich ein Schrittmotor-Controller names "Gecko-Drive" verwendet .

Vewendete Hardware SIMATIC S7-300-CPU313C

Verdrahtung und Spannungsversorgung der SM-Baugruppen

Spannungsversorgung

In der Steuerungstechnik wird häufig eine Gleichspannung von 24V als "Steuerungsspannung" verwendet. Ein Spannungspegel von 24V an einer Eingangsklemme bedeuten somit den Signalzustand "1" für den Eingang. Entsprechend bedeuten 0V den Signalzustand "0". Das Bild rechts zeigt die Verkablung zur Versorgung der digitalen Ein- bzw. Ausgabebaugruppen mit DC24V. Die digitalen Inputs/Outputs besitzen Anschlüsse für die Spannungsversorgung (Spannung = rot ; Masse = schwarz). Wenn die digitalen Eingänge mit Spannung versorgt sind, kann man z.B. eine Simulation starten in der einige Pins belegt werden. Wenn alles wie beschrieben verkabelt ist, müssten die belegten Pins dann blinken.

Verwendete Software

Siemens Simatic Step7 Manager

Während der Arbeit mit dem S7-300 Baustein wurde für die Programmierung des SPS-Systems die Software Step7 der Firma Siemens verwendet. Diese Software eigenet sich jedoch nicht nur zur Programmierung, sondern bietet zahlreiche weitere, sehr nützliche Features, wie zum Beispiel das Konfigurieren und Parametrieren der Hardware, das Festlegen der Kommunikation, oder auch die Dokumentation und Archivierung, sowie die Durchführung von Betriebs- bzw. Diagnosefunktionen. Die Software bietet darüber hinaus mehrere Programmiersprachen. So ist es möglich in Step7 mit einer Anweisungsliste (AWL), einem Funktionsplan (FUP), oder mit einem Kontaktplan (KOP) zu programmieren. Die Auswahl der Sprache, mit der programmiert werden soll, lässt sich beim Erstellen eines neuen Projektes bzw. Bausteins am Anfang ganz einfach über das Menü auswählen. Innerhalb der Software können verschiedenste Anwederbausteine erstellt und programmiert werden, die folgende Tabelle erläutert diese genauer.

Anwenderbaustein Abkürzung Erläuterung
Oraganisationsbaustein OB Steuerwerk der Programmbausteine, wird zyklisch aufgerufen
Funktionsbaustein FB Zugeordneter Speicherbereich, greift auf Daten aus Datenbaustein zu
Funktion FC keinen Zugeordneten Speicherbereich, lokale Daten gehen nach Aufruf verloren
Datenbaustein DB Stellen Speicherplatz für Datenvariablen bereit, Globale & Instant – DBs
Systemfunktionsbaustein SFB Im Betriebssystem der CPU hinterlegt, vom Anwender aufrufbar
Systemfunktion SFC Im Betriebssystem der CPU hinterlegt, vom Anwender aufrufbar
Systemdaten SDB Datenspeicherung für das Automatisierungssystem

Siemens Simatic Step7 PLCSIM

PLCSIM steht für Programmable Logic Controller Simulation, wobei PLC der englischen Bedeutung von SPS entspricht.
Die PLCSIM Software ist eingebunden in die S7 Manager Software und simuliert den Controller um funktionale Tests von Anwenderbausteinen zu ermöglichen, dadruch können Testfunktionen der Programmierwerkzeuge unter realen Bedingungen getestet werden.

Versuchsaufbau

Benötigte Hardware

Für den Versuchsaufbau wurden mehrere Hardwarekomponenten benötigt, diese werden im Folgenden aufgelistet:

  • Eine Lineare Achse mit Antriebsmotor
  • Das SPS - Modul Siemens Simatic S7-300 inklusive Profilschiene
  • Ein GeckoDrive inklusive Netzteil
  • Zwei Endschalter
  • Ein MPI - Kabel zur kommunikation zwischen PC und dem SPS - Modul

Verschaltung der Bauelemente

Um alle Hardwarekomponenten miteinander verbinden zu können, wurde zunächst ein Schaltplan erstellt, welcher im folgenden Bild dargestellt wird:

Schaltplan

Dimensionierung der Ausgangssignale

Um ein Schritt - bzw. Richtungs - Signal an die Achse zu übertragen ist es notwendig die Signale an den GeckoDrive zu Senden, welcher diese an die Achse weitergibt. Die Signale des SPS Moduls werden mit 24V ausgegeben, diese Spannung ist jedoch als Eingangsspannung für den GeckoDrive nicht geeignet, da dieser mit einer Spannung von 3.3V bis 5.5V arbeitet. Um zu gewährleisten, dass der GeckoDrive nicht beschädigt wird und die Signale richtig verarbeitet werden können, mussten die ensprechenden Ausgangssignale der S7 -300 neu dimensioniert werden. Hierfür wurden Widerstände zwischen den digitalen Ausgang des Step - bzw. Direction - Pins und den Eingang der jeweiligen Pins am GeckoDrive geschaltet. Um die Widerstande richtig bestimmen zu können, wurden Sie durch folgende Berechnung festgelegt:


  • Spannung der digitalen Ausgänge = 24V
  • Benötigte Spannung des Direction - Pins = 3.3V bis 5.5V
  • Benötigte Spannung des Step - Pins = 3.3V bis 5.5V


R = 24V - 3.3V/2.5mA = 7.4kΩ

R = 24V - 5.5V/2.5mA = 8.2kΩ

Somit müssen die zwischengeschalteten Widerstände zwischen 7.4kΩ und 8.2kΩ liegen.

Versuchsdurchführung

Nachdem alle Hardwarekomponenten miteinander verschaltet wurden und die benötigten Ausgangssignale mittels Widerständen dimensioniert wurden, konnte ein Programm zur Steuerung der Achse geschrieben werden.

Einbinden der Hardwarekomponenten in die Software

Beispiel einer Hardwarekonfiguration
Beispiel einer Hardwarekonfiguration

Um die Kommunikation zwischen der Software und der eingesetzten Hardware zu gewährleisten ist es nötig diese zunächt über den Hardwarekonfigurator in die Software einzubinden. Hierzu wird die integrierte "HW Konfig" gestartet und alle benötigten Hardwarekomponenten mittels Pulldown - Menü eingefügt. Anschließend werden diese über den Menüpunkt "speichern und laden" in die Software eingebunden. Wie die HW Konfig nach erfolgreicher Einbindung der Hardware aussehen könnte, zeigt das Bild auf der rechten Seite.

Erstellen einer Symboltabelle

Im nächsten Schritt wird eine Symboltabelle für die Programmierung angelegt. In dieser Symboltabelle werden sowohl alle Ein - bzw. Ausgänge, als auch benötigte Merker und Zeiten definiert, welche für die Programmierung benötigt werden. Die Symboltabelle kann nachträglich ergänzt und erweitert werden. Ein Beispiel für eine Symboltabelle zeigt nachfolgendes Bild:

Symboltabelle

Programmierung

Schrittbaustein

Wie im Abschnitt Siemens Simatic Step7 Manager bereits erwähnt, kann in verschiedenen Sprachen programmiert werden. Um die Programmierung zu beginnen muss zunächst ein neuer Anwenderbaustein erstellt werden. Je nach Vorhaben kann dies einer der im Abschnitt Siemens Simatic Step7 Manager erwähnten Bausteine sein. Eine Funktion wird beispielsweise über einen Funktionsbaustein (FB) programmiert. Hierzu wird einfach ein leerer Funktionsbaustein hinzugefügt. Im Anschluss öffnet sich automatisch ein Fenster in dem verschiedene Einstellungen für den Baustein vorgenommen werden können. Unter anderem lässt sich hier die Programmiersprache auswählen. Nach erfolgreichem Erstellen des Bausteins kann dieser beliebig programmiert werden. Zur Festlegung der einzelnen Parameter und Ein - bzw. Ausgänge des zu programmierenden Bausteins werden die Symbole aus der Symboltabelle verwendet. Das rechts stehende Bild zeigt den programmierten Funktionsbaustein "Schrittbaustein", welcher innerhalb des Praktikums programmiert und verwendet wurde. Der dargestellte Baustein wurde mittels Funktionsbauplan (FUP) programmiert. In der Programmierung mit FUP können verschiedenste logische Operatoren per "Drag and Drop" in das Programm eingefügt und beartbeitet werden. Ist die Programmierung des Bausteins abgeschlossen, so wird dieser abgespeichert und das Programm erstellt automatisch einen Organisationsbaustein. In dem OB werden dann die erstellten Funktionsbausteine abgelegt und automaitsch Datenbausteine eingefügt, welche nötig sind um die erstellten Daten abrufen zu können. Abschließend kann in der Software eine Simulation gestartet werden, welche gleichzeitig als Diagnosetool genutzt werden kann um mögliche Programmierfehler festzustellen und zu beheben.

Tests, Debugging & Ergebnisse

Nachdem das Anwendungsprogramm für die Schritt-Motor-Steuerung gestartet wurde fährt die Achse zwar in die richtige Richtung, aber mit etwas Verzögerung. Das heißt es kommt zu Zykluszeitverzögerung.

Zykluszeit

Die Zykluszeit ist die Zeit, die das Betriebssystem für die Bearbeitung eines Programmdurchlaufes - d. h. eines OB 1-Durchlaufes - sowie aller diesen Durchlauf unterbrechenden Programmteile und Systemtätigkeiten benötigt. Diese Zeit wird überwacht. Die Zykluszeit je Schritt laut Programm ist 2ms, wobei die tatsächliche Zykluszeit dargestellt mit dem Oszilloskop für das Schrittsignal ungefähr 5.4ms beträgt.<br\> Es gibt Einflussfaktoren, die diese Verzögerung verursachen. Im folgenden werden die wichtigsten gennant:

  • Grundlast (K)
  • Anzahl Bytes im Baugruppenträger 0 (A)
  • Anzahl Bytes im Baugruppenträger 1 bis 3 (B)
  • Verlängerung der Anwenderprogramm - Bearbeitungszeit

Das Betriebssystem Ihrer CPU führt neben der eigentlichen Abarbeitung des Anwenderprogramms noch weitere zeitgleiche Prozesse durch (z. B. Timerverwaltung des Kernbetriebssystems). Diese Prozesse verlängern die Bearbeitungszeit des Anwenderprogramms. Daher muss Man bei der Berechnung von Zykluszeit mit dem Bearbeitungszeit-Faktor multiplizieren. Für CPU313C beträgt dieser Faktor 1,10.

Im folgenden sind die Einflussfaktore, die für die Berechnung der Zykluszeit notwendig sind, aufgelistet:

Konstante Anteile CPU313C_Bearbeitungszeit
K Grundlast 100µS
A je Byte in Baugruppenträger 0 35µS
B je Byte in Baugruppenträger1 bis 3 43µs

Berechnung der Zykluszeit mit Einflussfaktoren

tatsächliche Zykluszeit

Auf dem rechten Bild sieht man die tatsächliche Zykluszeit(Z) dargestellt am Oszilloskop Die berechnete Zykluszeit ergibt sich aus der Summe aller folgenden Einflussfaktoren:<br\> Zykluszeit_verzögert(Z_ver)=(Z+A+B+K) . 1,10.<br\> In dieser Formel ist A=0, weil im Versuchsaufbau der Baugruppenträger 0 nicht gebraucht wird. Der Faktor B wird mit 4 multipiziert, da man im Baugruppenträger 32 Bit(digitale Input und Output)=4 Byte hat. Also lautet die Formel jetzt:<br\> Zykluszeit_verzögert \[ Z_ver =(Z+B+K) . 1,10. \]

<br\> Z_ver=(2ms+(4 . 0.0043 ms)+100ms) . 1,10 = 5,192 ms<br\>


Die unterschiedlichen Zykluszeiten variieren aufgrund von folgenden Ursachen:

  • bedingten Befehlen
  • bedingten Bausteinaufrufen
  • unterschiedlichen Programmpfaden
  • Schleifen usw.

Ausblick

Im letzten Arbeitsschritt soll es realisiert werden die übermittelten Daten der Siemens SIMATIC S7-313C mittels, in das System integirerter, RS232-Schnittstelle zu Empfangen. Derzeitiger Arbeitsstand hinsichtlich dieser Arbeitsaufgabe ist die erfolgreiche und vollständige Integration der RS232-Schnittstelle CP340 der Firma Siemens. Das Empfangen von Daten stellt zum jetzigen Zeitpunkt noch Probleme da und ist somit Inhalt der letzten Projektstunden.

Weblinks

Aufbau SIMATIC S7-300

Zykluszeit

Software

Programmierung