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 Programmierbarer Steuerung (SPS), sowie die Ansteuerung von 3 Schrittmotor-Achsen 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. Im Anschluss haben Pascal Siekmann und Gerhard Dick das Projekt fortgeführt.

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 Unternehmens Siemens zu realisieren.

Zur Ansteuerung der Schrittmotoren kommen GeckoDrive-Schrittmotortreiber zum Einsatz. Die Aufgabenstellung gliedert sich in folgende Teilaufgaben:

Aufbau

  • Einlesen und Einregeln der Soll-Position mittels RS232-Schnittstelle
  • Hardwareanalyse und Hardwareaufbau sowie Hinzunahme von Pulldown-Widerständen für die Endschaltersteuerung

Kabelfertigung

Test der Ansteuerung

  • Ausgabe eines digitalen Signals am Ausgang der SPS

Leistungsstufe ansteuern

  • Programmierung
  • Test mit abgeschraubter Verfahreinheit
  • Test und Inbetriebnahme der Endschalter
  • Dateneingabe über Arduino-Monitor
  • Achsenansteuerung für mehrere Achsen duplizieren und einlesen einer definierten Stringfolge

Test mit Steuerungsalgorithmus

  • Kommunikation mit Matlab-Steuerungsalgorithmus testen
  • Programmier-Review

Vewendete Hardware

  • SIEMENS Hutschiene
  • SIMATIC PS307
  • SIMATIC S7-300-CPU313C
  • SIMATIC CP340
  • GeckoDrive G201x
  • Leitung 25-polig
  • Stecker Sub-D 25-polig
  • Endschalter
  • Widerstände 7,2 kOhm – 8,4 kOhm
  • Pulldown-Widerstände


Verwendete Software

Siemens Simatic Step7 Manager

Eine Entwicklungsumgebung von Siemens zur Programmierung von Siemens SPS-Steuerungen.

Siemens Lizenzmanager

Die Verwendung von Siemens Step 7 ist nur unter Nutzung eines aktuellen Lizenzkeys möglich. Dieser muss zunächst über den Siemens Lizenzmanager in das Softwarepaket eingebunden werden.

HTerm

Die kostenfreie Software HTerm ermöglicht eine serielle Kommunikation über den RS232-Bus. Mit dieser wurde die serielle Schnittstelle eingerichtet und auf Ihre Funktion geprüft.


Versuchsaufbau

Verschaltung der Bauelemente

Um alle Hardwarekomponenten miteinander verbinden zu können, wurde ein Schaltplan erstellt, welcher die Verschaltung aller Bauteile veranschaulicht.

Schaltplan

Dimensionierung der Ausgangssignale

Um ein Schritt - bzw. Richtungs - Signal an eine Achse zu übertragen ist es notwendig die Signale an den Schrittmotortreiber zu senden, welcher den Schrittmotor ansteuert. Die Signale des SPS Moduls werden mit 24V ausgegeben, diese Spannung ist jedoch als Eingangsspannung für das GeckoDrive nicht geeignet, da dieser mit einer Spannung von 3.3V bis 5.5V arbeitet. Um zu gewährleisten, dass das 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= U/I Ohmsches Gesetzt

R = (24V - 3,3V)/2,5mA = 8,2kΩ

R = (24V - 5,5V)/2,5mA = 7,4kΩ

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 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. Diese kann gleichzeitig als Diagnosetool genutzt werden, 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 bei der Berechnung der Zykluszeit mit dem Bearbeitungszeit-Faktor multipliziert werden. Für CPU313C beträgt dieser Faktor 1,10.

Im folgenden sind die Einflussfaktoren, 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 folgender Ursachen:

  • bedingte Befehle
  • bedingte Bausteinaufrufe
  • unterschiedliche Programmpfade
  • 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. Die bisherigen Arbeitsinhalte bezüglich der RS232 - Schnittstelle konzentrieten sich auf die Bearbeitung der "Erste Schritte - Datei" von Siemens.

Weblinks ind Literatur

Aufbau SIMATIC S7-300

Zykluszeit

Software

Programmierung

Weitere Links