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".

Aufgabenstellung

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.

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 .

Aufbau Siemens SIMATIC S7-300-CPU313C

Aufbau SPS-Siemens SIMATIC S7-300-CPU313C

Die SIMATIC S7-300 SPS ist speziell für innovative Systemlösungen in der Fertigungsindustrie konzipiert – z. B. in der Automobil- oder Verpackungsindustrie. Hier ist der modulare Controller als universelles Automatisierungssystem die optimale Lösung für Anwendungen im zentralen und dezentralen Aufbau. Neben der Standard-Automatisierung, z.B. die Steuerung von Aktoren an Produktions- und Fertigungsanlagen, lassen sich auch Sicherheitstechnik und Motion Control Systeme integrieren.

Die SIMATIC S7-300 Serie ermöglicht einen Platz sparenden und modularen Aufbau. Das vielfältige Baugruppenspektrum kann aufgabenspezifisch für zentrale Erweiterungen oder den Aufbau dezentraler Strukturen verwendet werden und ermöglicht eine kostengünstige Ersatzteilhaltung.

Bei der Programmierung einer SPS ist es von entscheidender Bedeutung, die CPU313C mit der Software STEP 7 bekannt zu machen. Das ist wichtig, damit die Software weis welche Hardware (SPS) im Einsatz ist um zum Beispiel mögliche Adressen für Ein- und Ausgänge freizugeben . Bevor eine Steuerung (SPS), in Verbindung mit der Software STEP 7, in Betrieb genommen werden kann, muss die vorhandene Hardware in dieser konfiguriert werden. Das SPS-System kann ohne eine Hardwarekonfiguration der SPS und der dazugehörigen Baugruppen nicht in Betrieb genommen werden. Informationen zur ganzheitlichen Hardwarekonfiguration sind unter folgendem Link zu finden: http://www.sps-lehrgang.de/hardwarekonfiguration/

SIMATIC S7-300 besteht grundsätzlich aus folgenden Baugruppen wie Das Bild rechts zeigt:

Stromversorgung PS

Die PS setzt die Netzspannung (AC 120/230V) in DC 24V-Betriebsspannung um und ist für die Versorgung der S7-300 so wie derLaststromversorgung DC 24V-Laststromkreise zuständig.

Zentralbaugruppe CPU

Die CPU führt das Anwendungsprogramm aus, versorgt den S7-300 Rückwandbus mit 5V, kommuniziert über die MPI-Schnittstelle mit anderen Teilnehmern eines MPI-Netzes. Außerdem verfügt die CPU313C über ٍStatusanzeigeelemente die wichtigsten werden in der folgenden Tabelle beschrieben.

Anzeige-LEDs
Anzeige Bedeutung Erläuterung
SF(rot) Fehlersammlung diagnosefähige Baugruppen zeigen hier einen Sammelfehler an
BF(rot) Busfehler(falls vorhanden) Anzeige von Störungen am BROFIBUS DP
BAF(rot) batteriefehler Anzeige, wenn Pufferbatterie nicht genug Spannung liefert oder ganz fehlt
DC5V(grün) DC5V Versorgung für CPU und Rückwandbus Anzeige für funktiostüchtige interne 5V-Versorgung der CPU
RUN(grün) Betriebszustand RUN Blinken bei Anlauf der CPU-statische Anzeige, wenn CPU im RUN-Zustand ist
STOP(gelb) Betriebszustand STOP statische Anzeige, wenn CPU im STOP-Zustand ist

Signalbaugruppen(SM)

Das SM pass unterschiedliche Signalpegel der Prozesssignale an die S7-300 an. Es verfügt über Digitalein-/-ausgabebaugruppen sowie Analogein-/-ausgabebaugruppen. Diese müssen mit 24V Betriebsspannung versorgt werden im folgrndem findet man vertiefendee Links zur verwendeten S7-300

Spannungsversorgung

Verdrahtung und Spannungsversorgung der SM-Baugruppen

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 Digitalein-/-ausgabebaugruppen mit DC-24V. Die digitalen Inputs/Outputs besitzen Anschlüsse für die Spannungsversorgung (Spannung = rot ; Masse = schwarz)

Verwendete Software

Siemens Simatic Step7 Manager

Während der Arbeit mit dem S7-313C 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 313C 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 - 313C 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

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

Tests, Debugging & Ergebnisse

Nachdem das Anwendungsprogramm für die Schritt-Motor-Steuerung gestartet wurde fährt zwar die Achse in die richtigen Schritte aber mit etwas Verzögerung d.h. Es kommt also 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 den Schrittsignal ist ungefähr 5.4ms.<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 dieBearbeitungszeit des Anwenderprogramms.im folgenden ist der Faktor, mit dem die Bearbeitungszeit des Anwenderprogramms multiplizieren müssen.

Verlängerung der Anwenderprogramm - Bearbeitungszeit CPU313C Faktor 1,10
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 Oszilloskope Die berechnet 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 Versuchsaufgabe der Baugruppenträger 0 nicht gebraucht wird und B wird mit 4 multipiziert, da man im Baugruppenträger 32 Bit(digitale Input und Output)=4 Byte. Also lautet jetzt die Formel:<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 unterschiedliche Zykluszeiten variieren aufgrund von folgenden Ursachen:

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

Für Vertiefung ist der folgende Link sehr hilfreich<br\>[https:http://www.automation.siemens.com/doconweb/pdf/SINUMERIK_SINAMICS_02_2012_D/S7_GH31TD.pdf?p=88]

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.