Kreisbewegung auf Basis von Kurvenscheiben 109742306_ MoveCircle2D_DOC_v11_de.docx - STEP 7 Projekt...

37
Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" TIA Portal V14 SP1, S7-1500T https://support.industry.siemens.com/cs/ww/de/view/109742306 Siemens Industry Online Support

Transcript of Kreisbewegung auf Basis von Kurvenscheiben 109742306_ MoveCircle2D_DOC_v11_de.docx - STEP 7 Projekt...

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D"

TIA Portal V14 SP1, S7-1500T

https://support.industry.siemens.com/cs/ww/de/view/109742306

Siemens Industry Online Support

Gewährleistung und Haftung

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 2

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

Gewährleistung und Haftung

Hinweis Die Anwendungsbeispiele sind unverbindlich und erheben keinen Anspruch auf Vollständigkeit hinsichtlich Konfiguration und Ausstattung sowie jeglicher Eventualitäten. Die Anwendungsbeispiele stellen keine kundenspezifischen Lösungen dar, sondern sollen lediglich Hilfestellung bieten bei typischen Aufgabenstellungen. Sie sind für den sachgemäßen Betrieb der beschriebenen Produkte selbst verantwortlich. Diese Anwendungsbeispiele entheben Sie nicht der Verpflichtung zu sicherem Umgang bei Anwendung, Installation, Betrieb und Wartung. Durch Nutzung dieser Anwendungs-beispiele erkennen Sie an, dass wir über die beschriebene Haftungsregelung hinaus nicht für etwaige Schäden haftbar gemacht werden können. Wir behalten uns das Recht vor, Änderungen an diesen Anwendungsbeispiele jederzeit ohne Ankündigung durchzuführen. Bei Abweichungen zwischen den Vorschlägen in diesem Anwendungsbeispiel und anderen Siemens Publikationen, wie z. B. Katalogen, hat der Inhalt der anderen Dokumentation Vorrang.

Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem Rechtsgrund, für durch die Verwendung der in diesem Anwendungsbeispiel beschriebenen Beispiele, Hinweise, Programme, Projektierungs- und Leistungsdaten usw. verursachte Schäden ist ausgeschlossen, soweit nicht z. B. nach dem Produkthaftungsgesetz in Fällen des Vorsatzes, der groben Fahrlässigkeit, wegen der Verletzung des Lebens, des Körpers oder der Gesundheit, wegen einer Übernahme der Garantie für die Beschaffenheit einer Sache, wegen des arglistigen Verschweigens eines Mangels oder wegen Verletzung wesentlicher Vertragspflichten zwingend gehaftet wird. Der Schadens-ersatz wegen Verletzung wesentlicher Vertragspflichten ist jedoch auf den vertragstypischen, vorhersehbaren Schaden begrenzt, soweit nicht Vorsatz oder grobe Fahrlässigkeit vorliegt oder wegen der Verletzung des Lebens, des Körpers oder der Gesundheit zwingend gehaftet wird. Eine Änderung der Beweislast zu Ihrem Nachteil ist hiermit nicht verbunden.

Weitergabe oder Vervielfältigung dieser Anwendungsbeispiele oder Auszüge daraus sind nicht gestattet, soweit nicht ausdrücklich von der Siemens AG zugestanden.

Security-hinweise

Siemens bietet Produkte und Lösungen mit Industrial Security-Funktionen an, die den sicheren Betrieb von Anlagen, Systemen, Maschinen und Netzwerken unterstützen.

Um Anlagen, Systeme, Maschinen und Netzwerke gegen Cyber-Bedrohungen zu sichern, ist es erforderlich, ein ganzheitliches Industrial Security-Konzept zu implementieren (und kontinuierlich aufrechtzuerhalten), das dem aktuellen Stand der Technik entspricht. Die Produkte und Lösungen von Siemens formen nur einen Bestandteil eines solchen Konzepts.

Der Kunde ist dafür verantwortlich, unbefugten Zugriff auf seine Anlagen, Systeme, Maschinen und Netzwerke zu verhindern. Systeme, Maschinen und Komponenten sollten nur mit dem Unternehmensnetzwerk oder dem Internet verbunden werden, wenn und soweit dies notwendig ist und entsprechende Schutzmaßnahmen (z.B. Nutzung von Firewalls und Netzwerksegmentierung) ergriffen wurden.

Zusätzlich sollten die Empfehlungen von Siemens zu entsprechenden Schutzmaßnahmen beachtet werden. Weiterführende Informationen über Industrial Security finden Sie unter http://www.siemens.com/industrialsecurity.

Die Produkte und Lösungen von Siemens werden ständig weiterentwickelt, um sie noch sicherer zu machen. Siemens empfiehlt ausdrücklich, Aktualisierungen durchzuführen, sobald die entsprechenden Updates zur Verfügung stehen und immer nur die aktuellen Produktversionen zu verwenden. Die Verwendung veralteter oder nicht mehr unterstützter Versionen kann das Risiko von Cyber-Bedrohungen erhöhen.

Um stets über Produkt-Updates informiert zu sein, abonnieren Sie den Siemens Industrial Security RSS Feed unter http://www.siemens.com/industrialsecurity.

Inhaltsverzeichnis

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 3

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

Inhaltsverzeichnis Gewährleistung und Haftung ...................................................................................... 2

1 Einführung .......................................................................................................... 4

1.1 Überblick............................................................................................... 4 1.2 Funktionsweise ..................................................................................... 4 1.3 Verwendete Komponenten ................................................................... 6

2 Engineering ........................................................................................................ 7

2.1 Schnittstellenbeschreibung .................................................................. 7 2.2 Integration ins Anwenderprojekt ........................................................... 9 2.2.1 Anlegen der virtuellen Master-Achse "AxisMaster" .............................. 9 2.2.2 Anlegen der realen Verfahrachsen "AxisX" und "AxisY" .................... 12 2.2.3 Anlegen der Kurvenscheiben "CamSinus" und "CamCosinus" ......... 15 2.2.4 Integration des Bausteins ................................................................... 15 2.2.5 Aufruf des Bausteins "MoveCircle2D" im Anwenderprogramm ......... 16 2.2.6 Verwaltung der Achsen und Kurvenscheiben .................................... 17 2.3 Bedienung .......................................................................................... 17 2.3.1 Testprogramm .................................................................................... 17 2.3.2 Die Web-Bedienoberfläche des Testprogramms ............................... 18 2.3.3 Bedienung des Testprogramms ......................................................... 21 2.4 Fehlerhandling .................................................................................... 22 2.4.1 Ausgabe der Fehlermeldungen .......................................................... 22 2.4.2 Fehlerkonzept ..................................................................................... 22

3 Wissenswertes ................................................................................................. 24

3.1 Ortsbestimmung eines Punktes in der X-Y-Ebene ............................ 24 3.2 Realisierung einer Kreis- und Ellipsenbewegung .............................. 25 3.2.1 Der Kreis............................................................................................. 25 3.2.2 Die Ellipse .......................................................................................... 26 3.3 Handhabung der Kurvenscheiben ...................................................... 27 3.3.1 Kurvenscheibendefinition über Polynom-Segmente .......................... 27 3.3.2 Erzeugung einer Kurvenscheibe für Sinus und Kosinus .................... 28 3.3.3 Berücksichtigung des Startwinkels ..................................................... 30 3.3.4 Skalierung der Kurvenscheibe ........................................................... 30 3.4 Mögliche Betriebszustände ................................................................ 31 3.5 Ausführungsbeispiele für Kreis- und Ellipsenbahnen ........................ 32 3.5.1 Startpunkt des Kreises bzw. der Ellipse ............................................. 32 3.5.2 Orientierung von Kreis und Ellipse ..................................................... 33 3.5.3 Beispiele für Kreisbewegungen .......................................................... 33 3.5.4 Beispiel für Ellipsenbewegungen ....................................................... 35

4 Anhang.............................................................................................................. 36

4.1 Service und Support ........................................................................... 36 4.2 Links und Literatur .............................................................................. 37 4.3 Änderungsdokumentation .................................................................. 37

1 Einführung

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 4

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

1 Einführung In der Fertigungstechnik gibt es viele Anwendungen, bei denen ein Produkt auf einer Kreis- oder Ellipsenbahn bearbeitet wird, z. B. das Auftragen eines Klebstoffs auf einen Träger.

1.1 Überblick

Dieses Anwendungsbeispiel beschreibt, wie Sie mit einer S7-1500T eine inter-polierte, ebene Kreis- oder Ellipsenbewegung realisieren können. Die einzelnen Schritte der Bewegung sind im Funktionsbaustein (FB) "MoveCircle2D" program-miert. Über die Parameter dieses Bausteins können Sie die gewünschte Kreis- oder Ellipsenbewegung parametrieren. Die Parameter können Sie über eine anwenderdefinierte Webseite vorgeben. Die Funktion können Sie ebenfalls über die Webseite ausführen und beobachten.

Abbildung 1-1: Beispiel einer zweidimensionalen Bewegung

1.2 Funktionsweise

Eine Kreisbewegung in einem kartesischen Koordinatensystem wird durch die Überlagerung einer sinusförmigen Bewegung (X-Achse) und einer kosinusförmigen Bewegung (Y-Achse) erreicht. Die beiden Achsen sind dabei an eine virtuelle Leitachse gekoppelt.

Die Bewegung der beiden Achsen wird über einen Kurvenscheibengleichlauf erzeugt. Die dafür erforderlichen Kurvenscheiben erzeugt der Funktionsbaustein "MoveCircle2D" anhand der Parameter zur Programmlaufzeit.

Tabelle 1-1: Beispiele möglicher Bewegungsbahnen

Kreis Ellipse

Y

X

Y

X

1 Einführung

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 5

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

Eigenschaften des FB "MoveCircle2D"

Folgende Eigenschaften wurden bei der Realisierung des FB berücksichtigt und können beim Einsatz in einem Anwenderprogramm genutzt werden:

Einfache Parametrierung von Kreis- und Ellipsenbahnen Die gewünschte Kreis- oder Ellipsenbahn kann über Parameter des Funktionsbausteins vorgegeben werden.

Beginn an der aktuellen Position Die Kreis- bzw. Ellipsenbahn beginnt stets an der aktuellen Position der beiden Ebenenachsen. Damit entfällt die zusätzliche Parametrierung der Startposition bzw. die gegebenenfalls notwendige Berechnung des Startpunkts der Kreis- bzw. Ellipsenbahn.

Start mit definiertem Startwinkel Die Lage des Kreises bzw. der Ellipse in der Ebene hängt nur von der Orien-tierung der X- und Y-Achse des Koordinatensystems ab. Um an einer definier-ten Stelle auf dem Kreis bzw. der Ellipse starten zu können, kann über die Parameter des FB ein Startwinkel auf dem Kreis bzw. der Ellipse angegeben werden.

Bewegung auf definierbaren Segmenten Ebenfalls über Parameter am Funktionsbaustein kann die gewünschte Bogen-länge des Kreises bzw. der Ellipse als überstrichener Winkel angegeben werden. Somit können sowohl Teilbereiche eines Kreises bzw. einer Ellipse, als auch Kreise und Ellipsen mit mehreren "Umdrehungen" realisiert werden.

Einschränkungen

Folgende Eigenschaften wurden bei der Realisierung des FB "MoveCircle2D" nicht berücksichtigt.

Keine Gewährleistung und Überwachung der Bahntreue Der FB überwacht während der Verfahrbewegung nicht die Einhaltung der vor-gegebenen Bahnkurve. Insbesondere bei Überschreitung der dynamischen Beschränkungen der Achsen kann es zu Abweichung von der vorgegeben Bahnkurve kommen.

Keine absolute Vorgabe der Bahngeschwindigkeit Dem FB kann nicht absolut die Bahngeschwindigkeit auf der Kreis- bzw. Ellipsenbahn vorgegeben werden. Die Parameter Geschwindigkeit, Beschleunigung und Ruck beziehen sich jeweils nur auf die Leitachse der Kurvenscheibenkopplung. Sie definieren somit nur die Verhältnisse der Winkelbewegung auf der Kreis- bzw. Ellipsenbahn.

Einsatzumgebung

Der FB wurde speziell für den Einsatz mit kartesischen Kinematiken entwickelt. Das bedeutet, dass zwei Linearachsen (X- und Y-Achse) angesteuert werden können, die senkrecht zueinander in einer Ebene liegen.

1 Einführung

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 6

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

1.3 Verwendete Komponenten

Dieses Anwendungsbeispiel wurde mit den folgenden Hard- und Software-komponenten erstellt:

Tabelle 1-2: Hard- und Softwarekomponenten

Komponente Anzahl Artikelnummer Hinweis

CPU 1515T-2 PN 1 6ES7515-2TM01-0AB0 Alternativ kann auch je-de andere CPU der Pro-duktfamilie S7-1500T verwendet werden.

Memory Card, 24 Mbyte

1 6ES7954-8LF02-0AA0 -

STEP 7 Professional V14 SP1

1 6ES7822-1..04-.. -

Internet Explorer 11 1 - Erforderlich für anwen-derdefinierte Webseiten dieses Anwendungs-beispiels.

Dieses Anwendungsbeispiel besteht aus folgenden Komponenten:

Tabelle 1-3: Komponenten des Anwendungsbeispiels

Komponente Dateiname Hinweis

Dokumentation 109742306_MoveCircle2D_DOC_v11_de.docx -

STEP 7 Projekt 109742306_MoveCircle2D_CODE_v11.zip Testprojekt und Bibliothek

2 Engineering

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 7

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

2 Engineering

2.1 Schnittstellenbeschreibung

Der Funktionsbaustein "MoveCircle2D" des Anwendungsbeispiels übernimmt die komplette Ausführung einer interpolierten Kreis- oder Ellipsenbewegung. Um diesen Funktionsbaustein zu verwenden, müssen Sie diesen in Ihrem Anwender-programm aufrufen und parametrieren.

Damit Sie die interpolierte Bewegung steuern können, besitzt der Funktions-baustein "MoveCircle2D" folgende Parameter:

Abbildung 2-1: Parameter des Bausteins "MoveCircle2D"

Tabelle 2-1: Parameter der Bausteinschnittstelle

Parameter Datentyp Start-wert

Beschreibung

Eingangsparameter

axisX TO_SynchronousAxis Gleichlaufachse für die Bewegung in der X-Y-Ebene in X-Richtung.

axisY TO_SynchronousAxis Gleichlaufachse für die Bewegung in der X-Y-Ebene in Y-Richtung.

axisMaster TO_PositioningAxis Virtuelle Achse als Master-Achse für die Ausführung der Bewegung über die Kurvenscheiben.

execute BOOL False Mit einer positiven Flanke an diesem Eingang wird die Ausführung der Kreis- bzw. Ellipsenbewegung gestartet.

reset BOOL Einen Fehler rücksetzen.

isEllipse BOOL False Auswahl der gewünschten Bewegungsbahn:

False = Kreisbewegung True = Ellipsenbewegung

Wird die Ellipsenbewegung gewählt, wird zusätzlich zum Parameter "radius1" auch der Parameter "radius2" ausgewertet.

2 Engineering

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 8

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

Parameter Datentyp Start-wert

Beschreibung

radius1 REAL 0.0 Angabe des Kreisradius bei einer Kreisbewegung bzw. des Radius der Ellipse in Y-Richtung bei einer Ellipsenbewegung.

startOffset REAL 0.0 Startwinkel der Kreis- bzw. Ellip-senbewegung im Koordinaten-system des Kreises bzw. der Ellipse.

Die positive Winkelzählung erfolgt im Uhrzeigersinn.

segmentLength REAL 0.0 Winkellänge der Kreis- bzw. Ellip-senbahn vom Startwinkel aus. Die positive Winkelzählung erfolgt im Uhrzeigersinn.

velocity LREAL -1.0 Maximale Winkelgeschwindigkeit der Kreis- bzw. Ellipsenbewegung.

acceleration LREAL -1.0 Maximale Winkelbeschleunigung der Kreis- bzw. Ellipsenbewegung.

jerk LREAL -1.0 Maximaler Winkelruck der Kreis- bzw. Ellipsenbewegung.

camSinus TO_Cam Kurvenscheibe, in der die Sinus-Funktion abgelegt wird.

camCosinus TO_Cam Kurvenscheibe, in der die Kosinus-Funktion abgelegt wird.

radius2 REAL 0.0 Radius der Ellipse in X-Richtung bei Ellipsenbewegung.

Ausgangsparameter

done BOOL False Die Bearbeitung des Bausteins ist beendet.

Die Verfahrbewegung wurde voll-ständig ausgeführt.

busy BOOL False Der Baustein befindet sich in Bearbeitung.

commandAborted BOOL False Die im Baustein genutzten Technologiefunktionen und somit der Baustein selbst wurde durch eine Technologiefunktion außer-halb des Bausteins abgelöst.

error BOOL False Bei der Bearbeitung des Bausteins ist ein Fehler aufgetreten.

Weiterführende Informationen zur Lokalisierung der Fehlerursache erhalten Sie über die Ausgänge "status" und "statusID".

status WORD 0 Fehlercode des Bausteins oder einer intern aufgerufenen Techno-logiefunktion. Der Fehlerort innerhalb des Bausteins kann zusätzlich über den Ausgang "statusID" abgelesen werden.

statusID WORD 0 Angabe eines zusätzlichen Fehlercodes zur Lokalisierung der Fehlerursache innerhalb des Bausteins.

2 Engineering

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 9

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

Zuordnung der Parameter "velocity", "acceleration" und "jerk"

Die Parameter "velocity", "acceleration" und "jerk" wirken direkt auf die Technologiefunktion "MC_MoveAbsolute" der Master-Achse.

Die Master-Achse liefert bei der Kreis- bzw. Ellipsenbewegung den Winkelwert des überstrichenen Segmentwinkels. Damit nehmen die Dynamikparameter "velocity", "acceleration" und "jerk" nur Einfluss auf diese Winkeländerung. Die eigentliche Geschwindigkeit des Bezugspunkts auf der Kreis- bzw. Ellipsenbahn (Bahnge-schwindigkeit) ist dagegen vom vorgegebenen Radius des Kreises bzw. den Radien der Ellipse abhängig.

Hinweis Die aus der Winkelgeschwindigkeit resultierende Bahngeschwindigkeit auf der Ellipsenbahn kann mathematisch nur näherungsweise bestimmt werden.

2.2 Integration ins Anwenderprojekt

Um die Funktion in Ihr STEP 7-Projekt einbinden zu können, müssen Sie die erforderlichen Technologieobjekte(z. B. Achsen und Kurvenscheiben) in der S7-1500T anlegen, konfigurieren und miteinander verschalten.

2.2.1 Anlegen der virtuellen Master-Achse "AxisMaster"

Die virtuelle Achse "AxisMaster" muss folgendermaßen angelegt werden:

Konfiguration

Tabelle 2-2: Konfiguration "AxisMaster"

Parameter Einstellung Hinweis

Technologieobjekt Positionierachse Alternativ können Sie auch eine Gleichlaufachse verwenden.

Achstyp Virtuelle Achse, Linear -

Maßeinheiten - Alle Achsen müssen auf das gleiche Einheitensystem eingestellt werden.

Modulo Inaktiv -

Antriebszuordnung Keinen Die Achse "AxisMaster" muss zwingend als virtuelle Achse angelegt werden.

2 Engineering

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 10

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

Dynamik-Voreinstellung

Die Dynamik-Voreinstellung von "AxisMaster" legt die dynamischen Eigenschaften der Achse fest.

Für "Beschleunigung" ("Acceleration") und "Ruck" ("Jerk") müssen Sie die gewünschten Werte für "AxisMaster" eintragen, unter Beachtung der Kurven-scheiben und der mechanischen Gegebenheiten an den Achsen X und Y.

Abbildung 2-2: Dynamik-Voreinstellung "AxisMaster"

2 Engineering

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 11

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

Begrenzungen

Wenn Sie die Begrenzungen für "Geschwindigkeit" ("Velocity"), "Beschleunigung" ("Acceleration") und "Ruck" ("Jerk") einstellen, müssen Sie auch die mechanischen Gegebenheiten der Achsen X und Y und die Kurvenscheiben berücksichtigen.

Stellen Sie die Begrenzungen der "AxisMaster" so ein, dass die eingestellten Begrenzungen für die Achsen X und Y in keinem Betriebszustand überschritten werden. Sonst kann es zu einem Achsfehler und damit zur Abweichung von der gewünschten Bewegungsbahn kommen.

Abbildung 2-3: Begrenzungen an "AxisMaster"

2 Engineering

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 12

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

2.2.2 Anlegen der realen Verfahrachsen "AxisX" und "AxisY"

Legen Sie die Verfahrachsen folgendermaßen an:

Konfiguration

Tabelle 2-3: Konfiguration Verfahrachsen "AxisX" und "AxisY"

Parameter Einstellung Hinweis

Achstechnologie Gleichlaufachse Notwendig für die Kurven-scheibenkopplung als Slave-Achse.

Achstyp Linear

Einheiten Alle Achsen müssen auf das gleiche Einheitensystem ein-gestellt werden.

Modulo Inaktiv

Antriebszuordnung Antriebsmodul

(Reale Achse)

Die Verfahrachsen können alternativ auch als virtuelle Achsen betrieben werden (Siehe Testprogramm).

Leitwertverschaltungen

Nachdem die Achsen "AxisX" und "AxisY" als Gleichlaufachsen angelegt wurden, muss die Leitachse für die Gleichlaufkopplung festgelegt werden. Folgende Tabelle zeigt mögliche Einstellungen für die virtuellen und die realen Achsen:

Tabelle 2-4: Mögliche Einstellungen der Achsen

Achse Achstechnologie Achstyp Modulo Antrieb

Drehzahl Position Gleich-lauf

Real Virtuell

Master - ja ja Linear - - ja

X - - ja Linear - ja ja

Y - - ja Linear - ja ja

Als Kopplungsart zwischen Leit- und Folgeachse ist jeweils die "Sollwertkopplung" ("Setpoint coupling") zu wählen.

Abbildung 2-4: Leitwertverschaltung an "AxisX"

2 Engineering

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 13

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

Dynamik-Voreinstellung

Befinden sich die Verfahrachsen beim Aufruf des Bausteins "MoveCircle2D" in Bewegung, werden diese vom Baustein angehalten, um einen definierten Ausgangszustand zu schaffen. Um die Achsen in diesem Zustand anzuhalten, werden die Dynamikwerte verwendet, die in der Dynamik-Voreinstellung definiert sind.

Abbildung 2-5: Beispiel zur dynamischen Voreinstellung der Verfahrachsen

Passen Sie die Einstellungen Ihrer Applikation an. Die Einstellungen haben auf das Verhalten der Achsen während der interpolierten Bewegung keinen Einfluss.

2 Engineering

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 14

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

Begrenzungen

Die Einstellungen für die Begrenzungen von "Geschwindigkeit" ("Velocity"), "Beschleunigung" ("Acceleration") und "Ruck" ("Jerk") sind anhand der mechanischen Gegebenheiten der Achsen X und Y zu wählen.

Abbildung 2-6: Beispiel zu den dynamischen Begrenzungen der Verfahrachsen

VORSICHT Wird die Bewegung von mindestens einer Achse begrenzt, so kann es zu einer Abweichung von der gewünschten Bewegungsbahn kommen. Achten Sie des-halb darauf, dass die Begrenzungen der Verfahrachsen während der interpolier-ten Bewegung nicht erreicht werden.

2 Engineering

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 15

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

2.2.3 Anlegen der Kurvenscheiben "CamSinus" und "CamCosinus"

Die Kurvenscheiben müssen nur als Technologieobjekte angelegt werden. Die Definition der eigentlichen Kurvenscheiben wird vom FB "MoveCircle2D" anhand der vorgegebenen Parameterwerte an den Eingangsvariablen zur Laufzeit erzeugt.

Abbildung 2-7: Konfiguration der KurvenScheibe "CamSinus"

2.2.4 Integration des Bausteins

Um die Funktion in Ihr Anwenderprogramm zu übertragen, gehen Sie wie folgt vor:

1. Öffnen Sie die Bibliothek "LMC2D" im TIA Portal.

2. Ziehen Sie den Baustein "MoveCircle2D" aus der Bibliothek per Drag & Drop in den Ordner "Programmbausteine".

2 Engineering

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 16

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

2.2.5 Aufruf des Bausteins "MoveCircle2D" im Anwenderprogramm

Der Funktionsbaustein "MoveCircle2D" wird durch einen Bausteinaufruf und die Übergabe der erforderlichen Parameter in den Bearbeitungsablauf des Anwender-programms integriert. Der Funktionsbaustein muss in einem zyklisch startenden OB oder FB aufgerufen werden. Eine Timer-Interrupt gesteuerte Abarbeitung (z. B. im OB 35) ist möglich.

Abbildung 2-8: Aufruf des Bausteins "MoveCircle2D"

Hinweis Für jede interpolierte Verfahrbewegung mit zwei Achsen, die parallel zu einer anderen interpolierten Verfahrbewegung abläuft, müssen Sie dem Funktions-baustein "MoveCircle2D" einen eigenen Instanzdatenbaustein bzw. eine eigene Multiinstanz zuordnen.

2 Engineering

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 17

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

2.2.6 Verwaltung der Achsen und Kurvenscheiben

Bewegungsachsen "AxisX" und "AxisY"

Der Baustein "MoveCircle2D" übernimmt die vollständige Ansteuerung der Achsen für die Ausführung der Kreis- oder Ellipsenbewegung. Die Achsen müssen Sie in Ihrem Anwenderprogramm selbst verwalten.

Um die Achsen zu verwalten, benötigen Sie folgende Technologiefunktionen im Anwenderprogramm:

Freigabe der Achsen über "MC_Power"

Quittierung von Fehlern an den Achsen über "MC_Reset"

Referenzieren der Achsen über "MC_Home"

Das Anwenderprogramm behält so die Kontrolle über alle Achsen und Kurven-scheiben und kann in Notsituationen gezielte Maßnahmen einleiten und durch-führen (z. B. Not-Stopp, Aufhebung der Achsfreigabe).

Hinweis Im Testprogramm verwaltet der Baustein "ControlAxis" die Achsen.

Virtuelle Leitachse "AxisMaster"

Der Funktionsbaustein "MoveCircle2D" übernimmt vollständig die Verwaltung der virtuellen Leitachse.

Der Funktionsbaustein "MoveCircle2D" übernimmt die Freigabe der Achse und das Quittieren von Fehlern an der Achse.

Die virtuelle Leitachse darf nicht aus dem Anwenderprogramm beeinflusst werden.

Kurvenscheiben "CamSinus" und "CamCosinus"

Der Funktionsbaustein "MoveCircle2D" übernimmt die Verwaltung der beiden notwendigen Kurvenscheiben.

Die Kurvenscheiben dürfen nicht aus dem Anwenderprogramm beeinflusst werden.

2.3 Bedienung

2.3.1 Testprogramm

Die Funktionalität können Sie mit dem Projekt "MoveCircle2D_V11" testen. Über eine Web-Bedienoberfläche geben Sie die Werte an der Schnittstelle des Funktionsbausteins "MoveCircle2D" vor. Damit können Sie die Reaktionen und Möglichkeiten des Bausteins testen.

Für das Testprogramm benötigen Sie keine realen Maschinenachsen. Das Pro-gramm ist sofort auf einer S7-1500T lauffähig. Die Achsen werden als virtuelle Achsen in der Steuerung simuliert.

2 Engineering

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 18

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

ACHTUNG Mit dem Testprogramm können Sie sich mit der Funktionsweise und den Reaktionen des Bausteins "MoveCircle2D" vertraut machen.

Für den Einsatz in realen Maschinen ist das Testprogramm nicht vorgesehen und deshalb nicht freigegeben.

Im Testprogramm sind folgende Technologieobjekte (Achsen und Kurvenscheiben) bereits angelegt:

Tabelle 2-5: Technologieobjekte (Achsen und Kurvenscheiben)

Technologieobjekt Funktion Hinweis

"AxisX" Gleichlaufachse Folgeachsen der X-Y-Ebene zur Ausführung der Kreisbewegung.

"AxisY" Gleichlaufachse

"AxisMaster" Positionierachse Leitachse, die im Baustein "MoveCircle2D" verwaltet wird.

"CamSinus" Kurvenscheibe Kurvenscheibe zur Erzeugung des Sinus durch den Baustein "MoveCircle2D".

"CamCosinus" Kurvenscheibe Kurvenscheibe zur Erzeugung des Kosinus durch den Baustein "MoveCircle2D".

2.3.2 Die Web-Bedienoberfläche des Testprogramms

Überblick

Die folgende Abbildung zeigt Ihnen die anwenderdefinierte Webseite, mit der Sie das Testprogramm bedienen können.

Abbildung 2-9: Web-Bedienoberfläche des Testprogramms

2 Engineering

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 19

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

Für die Bedienung des Testprogramms stehen Ihnen verschiedene Bedien-bereiche zur Verfügung.

Der rote Punkt im Koordinatensystem zeigt die aktuelle Position der Verfahrachsen X und Y an.

Im Bereich "Control area" stehen Ihnen folgende Funktionen zur Verfügung:

Freigeben, Zurücksetzen und Referenzieren der Achsen

Parametrieren des Funktionsbausteins "MoveCircle2D"

Ansteuern des Funktionsbausteins

Im Bereich "Status area" werden Ihnen folgende Informationen angezeigt:

Status der Bausteinausgänge

Aktuelle Position der Verfahrachsen in X und Y

Bedienung der Achsen

Über den Bedienbereich der Achsen können Sie die Achsen aktivieren, zurücksetzen und auf eine vorgegebene Position referenzieren.

Abbildung 2-10: Bedienung der Achsen

Bedienung und Parametrierung des Bausteins "MoveCircle2D"

Über die weiteren Bedienelemente können Sie auf die Parameter des Bausteins "MoveCircle2D" Einfluss nehmen.

Abbildung 2-11: Bedienung und Parametrierung des Bausteins

2 Engineering

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 20

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

Hier können Sie zwischen Kreis und Ellipse umschalten und die Radien vorgeben. Den Startwinkel und die Segmentlänge können Sie ebenfalls vorgeben. Wenn Sie auf die Schaltfläche "Start" klicken, werden die Kurvenscheiben erzeugt und die Ausführung der interpolierten Bewegung gestartet.

Die folgende Abbildung zeigt den Status des Bausteins "MoveCircle2D" und die aktuelle Position der Achsen.

Abbildung 2-12: Status des Bausteins

Beobachtung der Verfahrbewegung

Die Ausführung der Verfahrbewegung können Sie in der X-Y-Ebene direkt auf der Weboberfläche beobachten.

Über konzentrische Kreise auf der Bewegungsfläche können Sie die Einhaltung der definierten Radien für die Kreis- und Ellipsenbewegung leicht überprüfen.

Abbildung 2-13: Darstellung der Verfahrbewegung in der X-Y-Ebene

2 Engineering

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 21

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

2.3.3 Bedienung des Testprogramms

Um den Funktionsbaustein "MoveCircle2D" zu testen, gehen Sie folgendermaßen vor:

Tabelle 2-6: Bedienung des Testprogramms

Vorgehen Anmerkung

1. Laden Sie das Testprogramm in die Steuerung und setzen Sie diese in RUN

2. Starten Sie einen Webbrowser, z. B. den Internet Explorer.

Geben Sie als Adresse die IP-Adresse der CPU an, z. B. http://192.168.0.1

Es öffnet sich die anwenderdefinierte Webseite des Testprogramms. (Siehe Abbildung 2-9: Web-Bedienoberfläche des Testprogramms)

3. Aktivieren Sie die beiden Achsen über die jeweiligen Schaltflächen "Power X" bzw. "Power Y".

Siehe Abbildung 2-10: Bedienung der Achsen

4. Wenn Fehler vorhanden sind, setzen Sie diese mit der Schaltfläche "Reset" zurück.

Siehe Abbildung 2-10: Bedienung der Achsen

5. Geben Sie die gewünschte Startposition über die Eingabefelder "HomePosition Axis X" und "HomePosition Axis Y" ein. Referenzieren Sie die Achsen auf diese Position über die Schaltfläche "Home".

Siehe Abbildung 2-10: Bedienung der Achsen

6. Parametrieren Sie die Kreisbewegung mit den gewünschten Werten.

Beispiel:

Radius 1 = 100,000

StartAngle = 0,000

SegmentLength = 360,000

(Siehe Abbildung 2-11: Bedienung und Parametrierung des Bausteins)

7. Starten Sie die Kreisbewegung über die Schaltfläche "Start" und beobachten Sie die Verfahrbewegung.

Siehe Abbildung 2-13: Darstellung der Verfahrbewegung in der X-Y-Ebene

8. Aktivieren Sie die Ellipsenbewegung mit der Schaltfläche "is Ellipse".

9. Parametrieren Sie die Ellipsenbewe-gung mit den gewünschten Werten.

Beispiel:

Radius 1 = 50,000

Radius 2 = 100,000

StartAngle = 0,000

SegmentLength = 360,000

(Siehe Abbildung 2-11: Bedienung und Parametrierung des Bausteins)

10. Starten Sie die Ellipsenbewegung über die Schaltfläche "Start" und beobachten Sie die Verfahrbewegung.

Siehe Abbildung 2-13: Darstellung der Verfahrbewegung in der X-Y-Ebene

Hinweis Weitere Beispiele für Kreis- und Ellipsenbewegung finden Sie im Kapitel 3.5 Ausführungsbeispiele für Kreis- und Ellipsenbahnen

2 Engineering

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 22

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

2.4 Fehlerhandling

2.4.1 Ausgabe der Fehlermeldungen

Über die Ausgänge "error", "status" und "statusID" des Bausteins "MoveCircle2D" werden auftretende Fehler innerhalb des Bausteins signalisiert.

Abbildung 2-14: Schnittstellen für Fehlermeldungen am "MoveCircle2D"

Die markierten Parameter geben die Informationen zu den aufgetretenen Ereignis-sen an das Anwenderprogramm weiter, um im Bedarfsfall geeignete Maßnahmen ergreifen zu können.

2.4.2 Fehlerkonzept

Der Ausgabe von Fehlermeldungen liegt folgendes Konzept zu Grunde:

Ausgang "error": Ist dieser Ausgang gesetzt, handelt es sich bei dem aufgetretenen Ereignis um einen Fehler. Die Fehlerursache wird an den Ausgängen "status" und "statusID" ausgegeben.

Ausgang "status": An diesem Ausgang wird der Fehlercode ausgegeben. Dabei kann es sich um folgende Fehlercodes handeln:

– Fehler an einer Technologiefunktion: Tritt bei der Verwendung einer Technologiefunktion innerhalb des Bau-steins ein Fehler auf, so wird der Fehlercode der Technologiefunktion (ErrorID) direkt an den Ausgang "status" des Bausteins "MoveCircle2D" weitergegeben. Die Fehlercodes der Technologiefunktionen und deren Abhilfe sind in der TIA Portal V14 Onlinehilfe beschrieben.

– Fehler im Baustein "MoveCircle2D": Tritt im Baustein "MoveCircle2D" selbst ein Fehler auf, der nicht auf die Verwendung einer Technologiefunktion zurückzuführen ist, dann wird der Fehlercode "16#8200" ausgegeben.

2 Engineering

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 23

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

Ausgang "statusID": An diesem Ausgang wird die zugehörige Fehlerquelle des Fehlercodes am Ausgang "status" ausgegeben. Mit dem Fehlercode können Sie die Fehler-ursache lokalisieren.

In der folgenden Tabelle sind die Fehlerquellen beschrieben.

Tabelle 2-7: Fehlerquelle am Ausgang "statusID"

statusID Bedeutung Hinweis

0 Kein Fehler -

1 Interner Fehler des FBs. Fehler bei der Plausibilitätsprüfung der Bausteinparameter.

-

2 Fehler beim Zurücksetzen bzw. bei der Fehlerquittierung der Kurvenscheibe "camSinus".

"MC_Reset"

3 Fehler beim Zurücksetzen bzw. bei der Fehlerquittierung an der Kurvenscheibe "camCosinus".

"MC_Reset"

4 Fehler beim Interpolieren der Kurve der Kurvenscheibe "camSinus".

"MC_InterpolateCam"

5 Fehler beim Interpolieren der Kurve der Kurvenscheibe "camCosinus".

"MC_InterpolateCam"

6 Fehler beim Aktivieren der virtuellen Achse "AxisMaster".

"MC_Power"

7 Fehler beim Zurücksetzen bzw. bei der Fehlerquittierung an der Achse "AxisMaster".

"MC_Reset"

8 Fehler beim referenzieren der virtuellen Achse "AxisMaster".

"MC_Home"

9 Fehler bei der Kurvenscheibenkopplung der Achse "AxisX".

"MC_CamIn"

10 Fehler bei der Kurvenscheibenkopplung der Achse "AxisY".

"MC_CamIn"

11 Fehler bei der Verfahrbewegung der virtuellen Achse "AxisMaster".

"MC_MoveAbsolute"

12 Fehler beim Anhalten der Achse "AxisX". "MC_Halt"

13 Fehler beim Anhalten der Achse "AxisY". "MC_Halt"

14 Fehler bei der Verfahrbewegung der virtuellen Achse "AxisX".

"MC_MoveAbsolute"

15 Fehler bei der Verfahrbewegung der virtuellen Achse "AxisY".

"MC_MoveAbsolute"

16 Fehler beim Auslesen des Folgewerts aus der Kurvenscheibe der Achse "AxisX".

"MC_GetCamFollowingValue"

17 Fehler beim Auslesen des Folgewerts aus der Kurvenscheibe der Achse "AxisY".

"MC_GetCamFollowingValue"

3 Wissenswertes

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 24

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

3 Wissenswertes

3.1 Ortsbestimmung eines Punktes in der X-Y-Ebene

Sie können den Ort eines Punktes in der X-Y-Ebene auf zwei Wege bestimmen:

Ortsbestimmung über die X-Y-Koordinaten Der Ort des Punktes wird durch Angabe der Koordinaten in X- und Y-Richtung des Koordinatensystems bestimmt. Diese Darstellung bildet die übliche Dar-stellungsweise für Punkte in einer Ebene.

Ortsbestimmung über Radius und Winkel Der Ort des Punktes kann auch über den Radius "R" und den Winkel "a" bestimmt werden. "R" ist der Abstand zwischen dem Punkt und dem Ursprung des Koordinatensystems. "a" ist der Winkel zwischen positiver Y-Achse und der Verbindungslinie vom Koordinatenursprung zum Punkt. Diese Darstellung eignet sich, um einen Punkt auf einer Kreisbahn zu bestimmen.

Abbildung 3-1: Ortsbestimmung eines Punktes in der Ebene

X

Y

X

Y

R

a

Einheitensystem der Achsen in der X-Y-Ebene

Um eine definierte Bewegung auf einer Kreis- oder Ellipsenbahn ausführen zu können, müssen alle verwendeten Achsen über das gleiche Einheitensystem verfügen. Außerdem müssen die Achsen so ausgelegt werden, dass die Bewegung die eingestellten Grenzwerte nicht erreicht.

3 Wissenswertes

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 25

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

3.2 Realisierung einer Kreis- und Ellipsenbewegung

Um den Aufbau und die Funktion des Anwendungsbeispiels verstehen zu können, wird in diesem Kapitel die Realisierung einer Kreis- und Ellipsenbewegung grund-legend erklärt.

3.2.1 Der Kreis

Eine Kreisbewegung in der X-Y-Ebene wird durch die überlagerte Bewegung der X- und Y-Achse einer Maschine erreicht, indem die X-Achse eine sinusförmige Bewegung ausführt, während die Y-Achse sich nach einer kosinusförmigen Bahn bewegt.

Abbildung 3-2: Kreisbewegung

AngleX

YY

a

a

a

R

R

-R

R-R

X

Angle

Die Überlagerung der beiden Bewegungen basiert dabei auf dem Segmentwinkel (Angle), der bei der Bewegung auf der Kreisbahn überstrichen wird. Die Winkel-zählung beginnt dabei auf der positiven Y-Achse des Koordinatensystems und läuft im Uhrzeigersinn entlang der Kreisbahn. Je nach Größe der Winkelangabe kann entweder nur ein Abschnitt des Kreisbogens abgefahren oder bis zu mehrere "Umdrehungen" des Kreises erreicht werden.

Die Amplituden (die maximalen Auslenkungen des Sinus und Kosinus) sind bei der Kreisbahn abhängig vom Radius des Kreises.

3 Wissenswertes

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 26

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

Realisierung in der SIMATIC

In der SIMATIC wird diese Überlagerung durch zwei Kurvenscheiben realisiert, welche die Achsen X und Y an eine Master-Achse koppeln. Die Master-Achse repräsentiert dabei den Winkel, der während der Kreisbewegung überstrichen wird.

Abbildung 3-3: Realisierung einer Kreisbewegung mit der Technologie-CPU

Master

Sinus

Cosinus

R1

R1

X

Y

Sinus und Kosinus werden jeweils über Kurvenscheiben gebildet. Die Master-Achse liefert dazu als Eingangswert den aktuellen Winkel. Die Multiplikation der Ausgangswerte der Kurvenscheiben mit dem Radius "R" des Kreises wird über die Skalierung der Slave-Werte der Kurvenscheiben beim Einkuppeln über die Tech-nologiefunktion "MC_CamIn" erreicht.

3.2.2 Die Ellipse

Die Ellipse unterscheidet sich vom Kreis dadurch, dass für die X- und die Y-Achse jeweils ein anderer Radius angegeben werden kann.

Abbildung 3-4: Radien der Ellipse

Y

a

R2

X-R1

-R2

R1

3 Wissenswertes

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 27

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

Realisierung mit der SIMATIC

Somit kann in der SIMATIC für die Realisierung einer Ellipsenbahn die gleiche Anordnung aus Achsen und Kurvenscheiben verwendet werden. Lediglich die Skalierung der beiden Kurvenscheiben muss bei der Kopplung über die Techno-logiefunktion "MC_CamIn" mit den entsprechenden Radien durchgeführt werden.

Abbildung 3-5: Realisierung einer Ellipsenbewegung mit der Technologie-CPU

Master

Sinus

Cosinus

R2

R1

X

Y

3.3 Handhabung der Kurvenscheiben

3.3.1 Kurvenscheibendefinition über Polynom-Segmente

Bei dieser Form der Kurvenscheibendefinition wird die Kurvenscheibe über die Koeffizienten eines mathematischen Polynoms mit linearem und trigonometri-schem Anteil vorgegeben. Das Polynom lautet wie folgt:

))sin(( 210

6

6

5

5

4

4

3

3

2

210

BXBB

XaXaXaXaXaXaaY

mit a0 bis a6 Koeffizienten des linearen Anteils

B0 = sineAmplitude Amplitude der Sinus-Kurve

B1 = sinePeriod Periode der Sinus-Kurve

B2 = sinePhase Phase der Sinus-Kurve

Der Kurvenverlauf für die Bestimmung der Koeffizienten des linearen und trigono-metrischen Anteils muss dabei immer in normierter Form angegeben werden. Das bedeutet, dass die Koeffizienten des Polynoms so bestimmt werden müssen, dass sich der gewünschte Kurvenverlauf im Wertebereich der X-Variablen von 0 ≤ X ≤ 1

ergibt.

Die Transformation der normierten Kurven in den gewünschten Ziel-Wertebereich wird dann durch Vorgabe der Anfangs- und Endkoordinate "xmin" und "xmax" des Segments erreicht.

Hinweis Der trigonometrische Anteil des Polynoms muss im Bogenmaß angegeben wer-den. Der Umrechnungsfaktor zwischen Grad- und Bogenmaß beträgt:

2π / 360° ≈ 0,01745329

3 Wissenswertes

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 28

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

Abbildung 3-6: Beispiel zur Transformation des Segments in die Kurvenscheibe

Y

X

0 1

-1

+1

0

Y

X

0 360

-1

+1

0

Segment CamDisc

Die Variablenstruktur eines Segments ist folgendermaßen definiert.

Tabelle 3-1: Variablenstruktur für ein Segment der Kurvenscheibe

Variable Beschreibung

xmin Anfangskoordinate des Segments

xmax Endkoordinate des Segments

a0 Koeffizient A0 für 𝑥0 des Polynoms für das Segment (linearer Anteil)

a1 Koeffizient A1 für 𝑥1 des Polynoms für das Segment (linearer Anteil)

a2 Koeffizient A2 für 𝑥2 des Polynoms für das Segment (linearer Anteil)

a3 Koeffizient A3 für 𝑥3 des Polynoms für das Segment (linearer Anteil)

a4 Koeffizient A4 für 𝑥4 des Polynoms für das Segment (linearer Anteil)

a5 Koeffizient A5 für 𝑥5 des Polynoms für das Segment (linearer Anteil)

a6 Koeffizient A6 für 𝑥6 des Polynoms für das Segment (linearer Anteil)

sineAmplitude Amplitude des Sinuselements (trigonometrischer Anteil )

sinePeriod Periodenlänge des Sinuselements im Bogenmaß (trig. Anteil )

sinePhase Phasenversatz des Sinuselements im Bogenmaß (trig. Anteil )

Die Definition der Koeffizienten für den linearen Anteil und den trigonometrischen Anteil des Polynoms erfolgt segmentweise in der oben dargestellten Variablen-struktur. Dort wird für das entsprechende Segment auch der Zielbereich durch Definition der Anfangs- und Endkoordinate "xmin" und "xmax" des Segments in X-Richtung angegeben.

Anschließend muss das Segment aktiviert werden. Dazu wird die Variable "ValidSegment[n]" des genutzten Segments "n" auf "True" gesetzt.

3.3.2 Erzeugung einer Kurvenscheibe für Sinus und Kosinus

Zur Erzeugung einer Kreisbewegung werden Kurvenscheiben in Form eines Sinus und eines Kosinus benötigt. Diese Kurvenscheiben können über die Polynom-Segmente einer Kurvenscheibe erzeugt werden.

Die Sinus-Kurvenscheibe kann direkt über den trigonometrischen Teil eines Polynom-Segments definiert werden.

)sin( 10 XBBY 02 B

3 Wissenswertes

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 29

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

Die Kosinus-Kurvenscheibe wird durch eine Verschiebung der Sinus-Kurve in X-Richtung um 90° erzeugt, was durch Angabe der Phase B2 des Sinus erreicht werden kann.

)2

)sin(()cos( 1010

XBBXBBY

22

B

mit B0 = sineAmplitude Amplitude der Sinus-Kurve

B1 = sinePeriod Periode der Sinus-Kurve

B2 = sinePhase Phase der Sinus-Kurve

Abbildung 3-7: Erzeugung der Kurvenscheibe für Sinus und Kosinus

X

Y

Y

sin

cos

90° 180° 270° 360°-90°

+90°

90° 180° 270° 360°X

Die Kurven für Sinus und Kosinus müssen im trigonometrischen Anteil des Segments jeweils normiert für den Bereich 0 ≤ X ≤ 1 angegeben werden. Der Funktionswert der beiden Winkelfunktionen muss dabei im Bereich -1 ≤ Y ≤ +1 liegen. Damit ergeben sich für die beiden noch fehlenden Parameter der Winkel-funktionen folgende Zuordnungen:

10 B und 21 B

Hinweis Der trigonometrische Anteil des Polynoms muss im Bogenmaß angegeben wer-den. Der Umrechnungsfaktor zwischen Grad- und Bogenmaß beträgt:

2π / 360° ≈ 0,01745329.

3 Wissenswertes

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 30

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

3.3.3 Berücksichtigung des Startwinkels

Soll die Bewegung auf der Kreis- bzw. Ellipsenbahn ab einem definierten Startwin-kel ausgeführt werden, muss dieser Startwinkel bereits bei der Erzeugung der Kurvenscheiben für Sinus und Kosinus berücksichtigt werden. Die Leitachse wird dann nur um die gewünschte Segmentlänge, von Null beginnend, voranbewegt.

Die Kurvenscheiben müssen dafür um den vorgegebenen Startwinkel verschoben werden. Dies geschieht über den Parameter "sinePhase" des Polynom-Segments der Kurvenscheibe. Über diesen Parameter kann, wie bei der Bildung des Kosinus, eine Verschiebung der Kurvenscheibe erreicht werden. Der Winkel "startOffset" wird dazu ins Bogenmaß umgerechnet und zum Wert des Parameters "sinePhase" hinzuaddiert.

Für den Sinus berechnet sich der Phasenversatz "sinePhase" wie folgt:

𝑠𝑖𝑛𝑃ℎ𝑎𝑠𝑒 = 0 + 𝑠𝑡𝑎𝑟𝑡𝑂𝑓𝑓𝑠𝑒𝑡 ∙ 2𝜋

360°

Für den Kosinus berechnet sich der Phasenversatz "sinePhase" wie folgt:

𝑠𝑖𝑛𝑃ℎ𝑎𝑠𝑒 = 𝜋

2 + 𝑠𝑡𝑎𝑟𝑡𝑂𝑓𝑓𝑠𝑒𝑡 ∙

2𝜋

360°

Abbildung 3-8: Startwinkel der Kreisbewegung

Y

a

X

45°

w

w

X

Y

a

Sinus:

Cosinus:

Master-Axis

3.3.4 Skalierung der Kurvenscheibe

Über die Skalierung der Kurvenscheibe wird die Kreisbewegung an den gewünsch-ten Kreisradius angepasst. Dazu wird am Parameter "SlaveScaling" der Technolo-giefunktion "MC_CamIn" (Kurvenscheibengleichlauf) der gewünschte Kreis- bzw.

Ellipsenradius als Skalierungsfaktor für die Folgeachse angegeben.

Dabei gilt:

Skalierung X-Achse: camInX.SlaveScaling = radius1

Skalierung Y-Achse: camInY.SlaveScaling = radius2

3 Wissenswertes

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 31

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

Abbildung 3-9: Skalierung der Kurvenscheibe "CamSinus"

0 360

+R

-R

SlaveScaling

0 360

+1

-1

3.4 Mögliche Betriebszustände

Zur Ausführung einer interpolierten Bewegung auf einer Kreis- oder Ellipsenbahn führt der Baustein "MoveCircle2D" mehrere Funktionen schrittweise hintereinander aus, die in der folgenden Abbildung dargestellt sind.

Abbildung 3-10: Mögliche Betriebszustände des FB "MoveCircle2D"

Start

1

Error

2 Init & Check Parameter

3

Halt Axes

4 Generate

Cam Discs

6 Connect Axes

to Cams

7Move

Master Axis

8 Disconnect Axes

from Cams

Stop

5 Reset

Master Axis

Mo

ve A

xes

Init

ializ

eG

en

era

teC

amD

isc

0

Idle

3 Wissenswertes

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 32

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

Die einzelnen Schritte des Bausteins haben folgende Funktion:

Tabelle 3-2: Beschreibung der Betriebszustände des FB "MoveCircle2D"

Schritt

0 Idle Keine Aktion.

1 Error Tritt während der Abarbeitung der einzelnen Funktionen des Bausteins ein Fehler auf, oder wird eine Technologiefunktion des Bausteins abgelöst, so verzweigt der Baustein in diesen Zustand und gibt einen Fehlercode zur genauen Lokalisierung der Fehlerursache aus.

2 Initialize & Check Parameter

In diesem Schritt werden die internen Variablen des Bausteins und die im Baustein aufgerufenen Funktionen auf definierte Werte gebracht und die Eingangsparameter des Bausteins überprüft.

3 Halt Axes Vor der Bearbeitung der folgenden Funktionen werden die Achsen in einen definierten Zustand gebracht.

4 Generate Cam Discs

In diesem Schritt werden die für die interpolierte Bewegung benötigten Kurvenscheiben anhand der Modus-Auswahl und der Eingangsparameter in der integrierten Technologie der CPU erzeugt.

5 Reset Master Axis

Die Master-Achse wird zurückgesetzt und für die Ausführung der gewünschten Bewegung in einen definierten Zustand gebracht.

6 Connect Axes to Cams

Die X- und Y-Achse werden über den Basis-Gleichlauf mit den erzeugten Kurvenscheiben an die Master-Achse gekoppelt.

7 Move Master Axis

Die Master-Achse wird gestartet und verfährt die parametrierte Segmentlänge, so dass die gewünschte Kreis- oder Ellipsenbewegung ausgeführt wird.

8 Disconnect Axes from Cams

Die Kurvenscheibenkopplung zwischen den Achsen X und Y und der Master-Achse wird aufgehoben.

9 End Die Bewegung auf der Kreis- oder Ellipsenbahn ist beendet und der Baustein wartet auf einen neuen Fahrauftrag.

Ermittlung des aktuellen Bausteinzustands

Der aktuelle Bausteinzustand bzw. der aktuelle Schritt, in dem sich der Baustein "MoveCircle2D" gerade befindet, kann über die Integer-Variable "sequencer" im Instanzdatenbaustein des FBs "MoveCircle2D" ermittelt werden.

3.5 Ausführungsbeispiele für Kreis- und Ellipsenbahnen

In diesem Kapitel werden einige Beispiel vorgestellt, die mit dem Baustein "MoveCircle2D" realisiert werden können.

3.5.1 Startpunkt des Kreises bzw. der Ellipse

Der Kreis bzw. die Ellipse beginnt stets an der aktuellen Position der X- und Y-Achse. Über den Startwinkel des Kreises kann der Kreis bzw. die Ellipse am Start-punkt ausgerichtet werden.

3 Wissenswertes

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 33

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

3.5.2 Orientierung von Kreis und Ellipse

Die Winkelzählung innerhalb des Kreises bzw. der Ellipse beginnt an der positiven Y-Achse der X-Y-Ebene. Die positive Drehrichtung läuft im Uhrzeigersinn von der positiven Y-Achse zur positiven X-Achse.

Abbildung 3-11: Orientierung von Kreis und Ellipse

Y

a

X

Y

a

X

90°

180°

270°

90°

180°

270°

3.5.3 Beispiele für Kreisbewegungen

Hier sind einige Beispiele für Kreisbewegungen gegeben, die mit dem Baustein "MoveCircle2D" ausgeführt werden können.

Einfache Bewegungen

Eine einfache Bewegung wird über die Schaltfläche "Start" der Web-Oberfläche ausgeführt.

Tabelle 3-3: Beispiele für einfache Kreisbewegungen

Beschreibung Abbildung

Parameter:

Radius = 100 mm

Startwinkel = 0°

Segmentlänge = +270°

Bewegung:

Beginnend am aktuellen Standpunkt der Achsen wird eine Bewegung auf einem ¾-Kreis im Uhrzeigersinn ausgeführt.

Y

X

Parameter:

Radius = 100 mm

Startwinkel = 0°

Segmentlänge = -270°

Bewegung:

Beginnend am aktuellen Standpunkt der Achsen wird eine Bewegung auf einem ¾-Kreis gegen den Uhrzeigersinn ausgeführt.

Y

X

3 Wissenswertes

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 34

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

Beschreibung Abbildung

Parameter:

Radius = 100 mm

Startwinkel = 0°

Segmentlänge = +540°

Bewegung:

Vom Startpunkt der Kreisbewegung beginnend wird ein 1,5-facher Umlauf um den Mittelpunkt des Kreises ausgeführt.

Y

X

Verkettete Bewegungen

Eine verkettete Bewegung wird durch mehrfachen Start des Bausteins "MoveCircle2D" über die Schaltfläche "Start" der Web-Oberfläche ausgeführt. Zwischen den einzelnen Bewegungen halten die Achsen an. Jede Bewegung wird über einen eigenständigen Start des Bausteins realisiert.

Tabelle 3-4: Beispiele für verkettete Kreisbewegungen

Beschreibung Abbildung

Parameter:

Radius = 100 mm

Startwinkel = 0°

Segmentlänge = +90°

Bewegung:

Am Ende der vorhergehenden Bewegung wird ein ¼-Kreis im Uhrzeigersinn angehängt.

Y

X

Parameter:

Radius = 100 mm

Startwinkel = +90°

Segmentlänge = +90°

Bewegung:

Durch Ankopplung eines ¼-Kreises im Uhrzeigersinn wird eine Halbkreis-Bewegung mit Haltepunkt in der Hälfte der Strecke ausgeführt.

Y

X

Parameter:

Radius = 100 mm

Startwinkel = 0°

Segmentlänge = +90°

Bewegung:

Die vorher beschriebene Bewegung kann auch durch Drehung des Koordinatensystems erreicht werden. Dabei kann die Grund-Parametrierung der vorhergehenden Kreisbewegung beibehalten werden und es muss nur die Drehung des Koordinatensystems angepasst werden.

Y

X

3 Wissenswertes

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 35

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

3.5.4 Beispiel für Ellipsenbewegungen

In diesem Abschnitt ist ein Beispiel für eine Ellipsenbewegung gegeben, die mit dem Baustein "MoveCircle2D" ausgeführt werden kann.

Sobald die Funktion "Ellipsenbewegung" ausgewählt ist, können zwei Radien für die beiden Hauptachsen der Ellipse am Baustein bzw. der Web-Oberfläche vorge-geben werden.

Tabelle 3-5: Beispiel für Ellipsenbewegung

Beschreibung Abbildung

Parameter:

Radius X = 100 mm

Radius Y = 50 mm

Startwinkel = 0°

Segmentlänge = +270°

Bewegung:

Beginnend am aktuellen Standpunkt der Achsen wird eine Bewegung auf einer Ellipse im Uhrzeigersinn zu ¾ ausgeführt.

Y

X

4 Anhang

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 36

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

4 Anhang

4.1 Service und Support

Industry Online Support

Sie haben Fragen oder brauchen Unterstützung?

Über den Industry Online Support greifen Sie rund um die Uhr auf das gesamte Service und Support Know-how sowie auf unsere Dienstleistungen zu.

Der Industry Online Support ist die zentrale Adresse für Informationen zu unseren Produkten, Lösungen und Services.

Produktinformationen, Handbücher, Downloads, FAQs und Anwendungsbeispiele – alle Informationen sind mit wenigen Mausklicks erreichbar: https://support.industry.siemens.com/ .

Technical Support

Der Technical Support von Siemens Industry unterstützt Sie schnell und kompetent bei allen technischen Anfragen mit einer Vielzahl maßgeschneiderter Angebote – von der Basisunterstützung bis hin zu individuellen Supportverträgen.

Anfragen an den Technical Support stellen Sie per Web-Formular: www.siemens.de/industry/supportrequest .

Serviceangebot

Unser Serviceangebot umfasst u. a. folgende Services:

Produkttrainings

Plant Data Services

Ersatzteilservices

Reparaturservices

Vor-Ort und Instandhaltungsservices

Retrofit- und Modernisierungsservices

Serviceprogramme und Verträge

Ausführliche Informationen zu unserem Serviceangebot finden Sie im Servicekatalog: https://support.industry.siemens.com/cs/sc

Industry Online Support App

Mit der App "Siemens Industry Online Support" erhalten Sie auch unterwegs die optimale Unterstützung. Die App ist für Apple iOS, Android und Windows Phone verfügbar. https://support.industry.siemens.com/cs/de/de/sc/2067

4 Anhang

Kreisbewegung auf Basis von Kurvenscheiben "MoveCircle2D" Beitrags-ID: 109742306, V1.1, 04/2017 37

S

iem

en

s A

G 2

01

7 A

ll ri

gh

ts r

ese

rve

d

4.2 Links und Literatur

Tabelle 4-1

Nr. Thema

\1\ Siemens Industry Online Support

https://support.industry.siemens.com

\2\ Link auf den Beitrag

https://support.industry.siemens.com/cs/ww/de/view/109742306

\3\ STEP 7 Professional V14.0 Systemhandbuch

https://support.industry.siemens.com/cs/ww/de/view/109742272

4.3 Änderungsdokumentation

Tabelle 4-2

Version Datum Änderung

V1.0 11/2016 Erste Ausgabe

V1.1 04/2017 Upgrade auf STEP 7 Professional V14 SP1

Konstanten für "statusID"

Home-Position Master vor MasterStartDistance

Disconnect mit MC_MoveAbsolute anstatt MC_Halt

Berechnungen mit Sollpositionen anstatt den aktuellen Positionen.