Ansteuerung einer Schrittmotor-Achse mit PHOENIXCONTACT AXC 1050

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Abb.1:Phoenix Contact AXC 1050 mit dem Kommunikationsmodul

Autoren: Niklas Rohlfs; Connor Royle

→ zurück zur Übersicht: 3-D-Bearbeitungsmaschine (Projekt des Schwerpunkts GPE im Studiengang MTR)

Einleitung

Im Studiengang Mechatronik der Hochschule Hamm-Lippstadt findet im 7. Semester im Studienschwerpunkt „Global Production Engineering“ das Modul „Global Production Engineering III“ statt. Einen Teil dieses Moduls bildet das Praktikum Produktionstechnik. Im Praktikum sollen die Achsen einer 3D-CNC-Bearbeitungsmaschine mit unterschiedlichen Automationshardwares angesteuert werden. Der folgende Artikel beschäftigt sich mit der Ansteuerung der Achsen mittels einer SPS von Phoenix Contact, nämlich der Phoenix Contact AXC 1050 (vgl. Abb.1[1]). Das Thema wurde im Wintersemester 2019/2020 erstmalig von Niklas Rohlfs und Connor Royle bearbeitet.

Aufgabenstellung

Die Aufgabe des Projektes war es, die Achsen der 3D-CNC-Bearbeitungsmaschine mit der Phoenix Contact AXC 1050 anzusteuern. Hierzu sollten von einer anderen Gruppe Koordinaten durch einen zentralen Steuerungsalgorithmus in Matlab als String per RS232 an die AXC 1050 gesendet werden. Die Verarbeitung der Koordinaten mitsamt der Berechnung der Verfahrwege sollte dann durch die AXC 1050 geschehen, welche dann zudem die entsprechenden Ausgangssignale an die Schrittmotortreiber der 3D-CNC-Bearbeitungsmaschine weitergeben sollte. Die Aufgabenstellung gliederte sich in diverse Teilaufgaben:

  • Allgemeines
    • Einarbeitung in das Projekt (Datenblätter lesen etc.)
    • Umsetzbarkeit mit vorhandenem Material prüfen
    • Benötigte Materialien bestellen
    • Bearbeitung der Aufgaben nach dem V-Modell
  • Aufbau
    • Hardwareaufbau mit Kommunikationsmodul erstellen
    • Aufbau der Optokopplerschaltung zur Umwandlung von 24V auf 5V
    • Beschriften aller Kabel
  • Datenübertragung
    • RS232-Datenübertragung herstellen
    • Strings über RS232 empfangen und einlesen
  • Programmierung
    • Einlesen der Koordinaten aus dem empfangenen String
    • String zerlegen (Trennung von Soll- und Ist-Position sowie Vorschub)
    • Berechnung der Schritt- und Richtungswerte aus der Differenz von Ist zu Soll
    • Schalten der digitalen Ausgänge
    • Diagonalfahrten ermöglichen (x und y sollen auch bei unterschiedlicher Fahrstrecke gleichzeitig ankommen)
  • Dokumentation
    • Dokumentation des eigenen Projektfortschritts in SVN (Anforderungsliste, Funktionaler Systementwurf, etc.)
    • HSHL-Wiki-Eintrag erstellen

Versuchsdurchführung

Das Vorgehen des Projekts hat sich am V-Modellorientiert. Dementsprechend sollten, nachdem die Anforderungen und Teilaufgaben definiert wurden, Systementwürfe erstellt werden. Erst dann folgte die Entwicklungsphase und nach dieser sollten Tests der Komponenten und des Systems anstehen. Mit dieser Vorgehensweise wird verhindert, dass zu Beginn bereits voreilig entwickelt wird, weshalb viele vermeidbare Fehler gar nicht erst enstehen.

Funktionaler Systementwurf

Beim funktionalen Systementwurf (vgl. Abb.2[2])soll das Gesamtsystem lösungs- und hardwareneutral dargestellt werden. Somit erhält man eine gute erste Übersicht über die Zusammenhänge der einzelnen Komponenten im Gesamtsystem. In diesem Fall wird ein erstelltes CAD-Modell in eine CAM-Software geladen, welche G-Code Befehle erzeugt. Mit dem jeweiligen Steuerungsprogramm, in diesem Fall der Phoenix Contact SPS, werden die übergebenen Strings dann eingelesen und geben die notwendigen Informationen über die zu tätigen Verfahrwege und Geschwindigkeiten dann an die Schrittmotortreiber weiter, welche die Schrittmotoren der jeweiligen Achsen ansteuern.

Abb. 2: Funktionaler Systementwurf

Originaldatei: Datei:Funktionaler Systementwurf Phoenix Original.pptx

Technischer Systementwurf

Nach dem funktionalen Systementwurf wird zudem ein technischer Systementwurf (vgl. Abb.3[3]) erstellt. Bei diesem werden die Schnittstellen zwischen den Systemen konkretisiert.

Abb. 3: Technischer Systementwurf

Originaldatei: Datei:Technischer Systementwurf Phoenix Original.pptx

Einarbeitung in Hard- und Software

Um den funktionalen und technischen Systementwurf erstellen zu können und die Entwicklung zu starten, war es zu Beginn des Projekts wichtig, sich mit der verwendeten Hardware und Software vertraut zu machen. Die Einarbeitung erfolgte hierbei zu einem großen Teil über die vorhandenen Datenblätter und Beispielprogramme in SVN, in denen Informationen über die SPS und deren Module sowie über PCWorx zu finden waren. Die wichtigsten Dokumente sind in folgendem SVN-Ordner zu finden:

Hardware

Im Produktionstechnik-Labor war zu Beginn des Praktikums bereits eine funktionsfähige SPS-Station vorhanden. Eine genauere Beschreibung der Station zeigt der Artikel Phoenix Contact AXC Trainer 1050 PN. Dort finden sich zudem die Datenblätter der Steuerung sowie des Digitaleingabe- und Digitalausgabemoduls.
Mit dem vorhandenen Aufbau konnte das Projekt allerdings nicht vollständig realisiert werden, sondern es mussten noch einige wenige Teile zusätzlich beschafft werden. Hierbei handelte es sich zum einen um ein Kommunikationsmodul der Firma Phoenix Contact. Dieses Modul soll die Kommunikation über RS232 mit anderen Geräten ermöglichen. Zum anderen handelte es sich um Optokoppler, mit denen eine Optokopplerschaltung gebaut werden kann. Diese Schaltung wird benötigt, um die Schrittmotorentreiber anzusteuern. Sie dient dazu, die Ausgangssignale richtig zu dimensionieren, da die Ausgänge der SPS 24V betragen, die Schrittmotortreiber jedoch mit einer Spannung von 3,3V-5V arbeiten.
Nähere Informationen zum Kommunikationsmodul und den Optokopplern lassen sich in den folgenden Datenblättern finden:

Software

Zur Programmierung der AXC 1050 wird das Software-Tool PCWorx genutzt. PCWorx ist die durchgängige Engineering-Software für alle Steuerungen von Phoenix Contact. Sie vereint die Programmierung nach IEC 61131 mit der Feldbuskonfiguration sowie der Anlagendiagnose.

Weil es zu Projektbeginn einige Schwierigkeiten bei der Verbindungsherstellung zwischen PCWorx und der SPS gab, erfolgt hier ein Tipp:
Wir empfehlen bei der Einarbeitung nicht das Dokument PC_WORX_Quickstart.pdf zu verwenden, da dieses sehr ausführlich ist und viele für das Projekt nicht benötigte Informationen beinhaltet. Stattdessen empfehlen wir die Einarbeitung mit dem Artikel Erstellen eines Projektes in PC Worx. Im Artikel wird ein schneller und verständlicher erster Einblick in die Arbeit mit der Software PCWorx gegeben.

Hilfestellung für Studenten die sich gar nicht mit einer SPS auskennen:
Erstellt zunächst ein Projekt in PCWorx und geht dort die alten Digitaltechnik-Aufgaben oder das Quickstart_Lauflicht bzw. Quickstart_Moving_Light (SVN Link) von Phoenix Contact durch, um ein Gefühl für PCWorx und die SPS zu entwickeln.

Aufbau von PCWorx

PCWorx ist in fünf Arbeitsbereiche (vgl. Abb.4[4])aufgeteilt:

Abb.4: Arbeitsbereiche in PCWorx






(Von links nach rechts)

1. Arbeitsbereich IEC-Programmierung,
2. Arbeitsbereich Buskonfiguration,
3. Arbeitsbereich Prozessdatenzuordnung,
4. Arbeitsbereich Projektvergleich und
5. Arbeitsbereich FDT (Field Device Tool).

Die drei wichtigen Arbeitsbereiche hierbei sind:

  • Die IEC-Programmierung zum Programmieren, Funktionen erstellen, etc.
  • Die Buskonfiguration für die Kommunikation mit der SPS und den angeschlossenen Modulen
  • Die Prozessdatenzuordnung für das Zuweisen der vorher definierten Variablen an die Steckplätze der Module

HTerm

Mit der kostenfreien Software HTerm wird eine serielle Kommunikation über die RS232-Schnittstelle ermöglicht. Die Software hilft beim Einrichten und Prüfen der Schnittstelle.

Entwicklung

Hardwareaufbau

Abb.5:Pinbelegung am Kommunikationsmodul

Anschließend galt es, den Hardwareaufbau fertig zu stellen und das beschaffte Kommunikationsmodul in das Board zu integrieren und anzuschließen, um eine RS232-Kommunikation zu ermöglichen. Das Kommunikationsmodul und das zugehörige Bussockelmodul, mit welchem die interne Busverbindung aufgebaut wird, konnten mittels eines Push-In-Anschlusses in das Board integriert werden. Mit Hilfe der im Datenblatt vorgegebenen Pinbelegung (vgl. Abb.5[5])konnten die benötigten Datenleitungen zur RS232-Kommunikation (RxD, TxD, CTS, DTR, GND) in die jeweiligen Pins im Kommunikationsmodul platziert werden (Originaldatei: Datei:Pinbelegung am Kommunikationsmodul Original.pptx). Mit einem Nullmodelkabel konnte dann der Anschluss an den PC hergestellt werden, sodass der Hardwareaufbau komplett war (vgl. Abb.6[6]).

Abb.6:Anordnung der Komponenten auf dem Board

Die Originaldatei findet sich in der gleichen Datei wie der technische Systementwurf: Datei:Technischer Systementwurf Phoenix Original.pptx


Nach der Fertigstellung des Aufbaus ist es zu einem internen Kommunikationsfehler (Busfail) innerhalb der SPS gekommen. Es bestand laut Fehlermeldung keine Kommunikationsverbindung der Module untereinander. Als erste Maßnahme wurde das komplette Board nochmals auseinandergebaut und die internen Verbindungen der Bussockelmodule überprüft. Nach dem erneuten Zusammenbau trat das Problem allerdings weiterhin auf. Als nächste Maßnahme wurde die SPS mittels des Reset-Buttons auf Werkseinstellungen zurückgesetzt. Somit konnte das Problem gelöst werden.

Zudem sollte wie bereits erwähnt eine Optokopplerschaltung entworfen und gebaut werden, um die Schrittmotortreiber ansteuern zu können. Die Planung hierzu erfolgte gemeinsam mit der Gruppe Ansteuerung einer Schrittmotor-Achse mit Siemens SIMATIC S7-300 SPS, da diese eine solche Schaltung ebenfalls benötigt. Der Aufbau und Test der Schaltung erfolgte durch die Siemens-Gruppe, da diese im Projekt bereits weiter fortgeschritten war. Ein Bild der Schaltung ist im Artikel dieser Gruppe zu finden.

Programmablaufplan

Bevor mit der Programmierung begonnen wurde, wurde ein Programmablaufplan (vgl. Abb.7[7]) erstellt. Hier wurden erste Ideen zur Gestaltung und Ablauf des Programms zusammengefasst .
Zunächst wird eine RS232-Verbindung benötigt, um den benötigten G-Code zu erhalten. Danach soll der G-Code in Soll- und Istpostion unterschieden werden, um die Referenzen für den Verfahrweg der Fräse zu berechnen. Anschließend sollen diese weiter an die einzelnen Motortreiber der Achsen weitergeleitet werden.

Abb.7:Programmablaufplan

Orginaldatei in PAP

Funktionsbausteine zur seriellen Datenübertragung

Abb.8:Programm zur RS232-Kommunikation

Da beim Projekt eine Datenübertragung per RS-232 gewünscht wurde, musste zuerst rausgefunden werden, wie dies in PCWorx zu realisieren ist. Leider war hierzu nur sehr wenig Literatur vorhanden, glücklicherweise konnte Prof. Göbel im Laufe des Projekts ein Beispielprogramm von Phoenix Contact erhalten, welches nun auch in SVN zur Verfügung steht (PCWORX_Beispiell).
Mit Hilfe dieses Programms konnte das in Abbildung 8 [8] zu sehende Programm zur geplanten RS232-Kommunikation erstellt werden.

Das Programm enthält jeweils einen Block zum Senden (RS232_SEND), Empfangen (RS232_RECEIVE) und zum Initiieren (RS232_INIT) der Daten (Infos zu den Blöcken sind über den Hilfe-Reiter in PCWorx zu finden).
Außerdem gibt es noch das Parameterungs-Einstellungsfeld (oben rechts), um die Daten in dem gewünschten Format zu senden, werden die Werte in der Bibliothek rs232-types rs232types verändert.

Probleme:
Die Idee war, dem SEND- und RECEIVE-Block über den ONBOARD_INPUT_BIT0 (Schalter) ein HIGH zu geben, um die Daten zu initiieren und dann per HTerm eine Nachricht zu senden, welche auf dem gleichen Weg wieder empfangen wird. Dies funktionierte nicht.
Als nächste Idee wurde dann versucht, jeweils nur den RS232_SEND und den RS232_RECEIVE Block zu betrachten. Indem man den jeweiligen DATA_COUNT auf einen beliebigen digitalen Ausgang der SPS setzt,sollte kontrolliert werden, ob eine Nachricht auch wirklich versendet bzw. empfangen wird. Dies klappte nur bedingt. Bei dem SEND-Block wurde die Nachricht laut HTerm mit dem gewünschten Feedback gesendet und teilweise war dies auch auf der entsprechenden LED der SPS zu sehen. Die LEDs werden über der Klemmpunkten-Einheit eingeschaltet wenn ein Signal ankommt. Beim RECEIVE-Block funktionierte dies nicht.

Zusammenfassung und Ausblick

Insgesamt lässt sich festhalten, dass das Projekt eine interessante und sehr herausfordernde Aufgabe war für uns war. Da das Projekt erstmals durchgeführt wurde, gab es keine Vorarbeiten vorheriger Jahrgänge, weshalb eine lange und intensive Einarbeitungsphase benötigt wurde, um die Phoenix Contact AXC 1050 SPS und ihre dazugehörigen notwendigen Module zu verstehen.

Die größte Herausforderung stellte für uns der Kommunikationsaufbau über RS232 dar, hier konnte wie beschrieben keine fehlerfreie Kommunikation aufgebaut werden. Die Aufgabenstellung des Projekts konnte somit nicht vollständig erfüllt werden, nachfolgende Gruppen finden allerdings einen fertigen Hardwareaufbau sowie eine angefangene Programmierung und einen Programmablaufplan vor.

Das Projekt kann von nachfolgenden Gruppen insofern fortgeführt werden, dass eine funktionsfähige RS232 Kommunikation aufgebaut wird, sodass Strings fehlerfrei eingelesen und verarbeitet werden können. Zudem steht noch die Berechnung der Verfahrwege sowie das entsprechende Schalten der Ausgänge und die abschließenden Tests aus.

Trotz des nicht fertigen Arbeitsergebnisses konnten einige Lernerfolge verbucht werden. Insbesondere sind hierbei die Erfahrungen im Umgang mit einer SPS zu nennen, welche vorher nicht vorhanden waren. Zudem konnte die Arbeit mit dem V-Modell erlernt werden und es wurde der Umgang mit SVN aufgefrischt und verbessert.

Weblinks und Literatur

SVN Links
HSHL-Wiki

Quellen

  1. Abbildung 1: eigene Quelle
  2. Abbildung 2: eigene Quelle
  3. Abbildung 3: eigene Quelle
  4. Abbildung 4: eigene Quelle
  5. Abbildung 5: https://www.phoenixcontact.com/online/portal/de?uri=pxc-oc-itemdetail:pid=2688666&library=dede&tab=1 (Screenshot vom Datenblatt des Kommunikationsmoduls AXL F RS UNI 1H - 2688666 (S.4))
  6. Abbildung 6: eigene Quelle
  7. Abbildung 7: eigene Quelle
  8. Abbildung 8: eigene Quelle




→ zurück zur Übersicht: 3-D-Bearbeitungsmaschine (Projekt des Schwerpunkts GPE im Studiengang MTR)