Einschieben eines NC-Programms (C15)

1.1 Einschieben eines Programms (jog of path) PAGEREF _Toc304469982 \h3

1.1.1 Konfiguration der Achsen und Kanäle 3

1.1.2 Ablauf beim Umschalten 3

1.1.3 Positionsoffset 3

1.1.4 Beispiele 3

1.2 SPS-Schnittstelle 3

1.3 HMI-Schnittstelle 3

1.4 Parameter 3

1.4.1 Überblick 3

1.4.2 Beschreibung 3

Mehr:

button Einschieben eines Programms (jog of path)

button SPS-Schnittstelle

button HMI-Schnittstelle

button Parameter


Einschieben eines Programms (jog of path)

Anforderung

Umschalten

Positionsverschiebung

Lizenzen

Schnittstellen

Oft hat der Anwender die Anforderung, den Programmablauf auf ein Ereignis, z.B. der SPS hin, zu unterbrechen, eine beliebige Verfahrbewegung einzuschieben und danach das unterbrochene Programm fortzusetzen.

Das Einschieben einer beliebigen Verfahrbewegung kann durch einen zweiten Hilfskanal umgesetzt werden, welcher mit den gleichen physikalischen Achsen wie der erste Kanals verbunden ist. Hierzu wird gleichen physikalischen Achsen eine weitere logische Achse zugeordnet.

Der exklusive Zugriff auf die physikalischen Achsen durch die Kanäle wird durch ein Steuerbit jedes Kanals auf der SPS-Schnittstelle geregelt.

Das Fortsetzen der Bewegung kann mit, durch das eingeschobenen Programm, verschobenen Achsen erfolgen. Ist dies nicht gewünscht, so muss dass eingeschobene Programm die Achsen wieder auf die Position zum Zeitpunkt des Programmstarts zurückfahren.

Ein reiner Hilfskanal (alle Achsen verlinkt) benötigt keine zusätzliche Kanallizenz.

Folgende Schnittstellen stehen zur Verfügung:

q Konfiguration der Achse über die Achsparameterliste

q Umschalten des Kanals über HLI durch SPS

q Anzeige der logischen / physikalischen Achskonfiguration auf HLI

q Anzeige der Achsoffsets (physikalisch <-> logisch) auf HLI

Abbildung 1-1: Bewegen der Achse durch unterschiedliche Kanäle

Mehr:

button Konfiguration der Achsen und Kanäle

button Ablauf beim Umschalten

button Positionsoffset

button Beispiele


Konfiguration der Achsen und Kanäle

Achsen

Kanäle

Um eine Bearbeitung zu unterbrechen und eine Achse durch einen anderen Kanal zu verfahren, wird eine weitere logische Achse (Nr. 11), die auf eine bereits vorhandenen physikalische Achse (Nr. 1) verbunden ist, konfiguriert. Sämtliche Daten bis auf die neue Achsnummer und die Verbindung können dabei von der ursprünglichen Achse durch einen Clone-Vorgang übernommen werden.

kopf.achs_nr 11

kopf.clone_of 1

kopf.link_to 1

Die Kanäle werden wie gewohnt mit den logischen Achsen entsprechend konfiguriert.

Kanal 1 enthält die Achsen 1 bis 3 als Hauptachsen

gruppe[0].achs_anzahl 3

gruppe[0].achse[0].log_achs_nr 1

gruppe[0].achse[0].bezeichnung X

gruppe[0].achse[1].log_achs_nr 2

gruppe[0].achse[1].bezeichnung Y

gruppe[0].achse[2].log_achs_nr 3

gruppe[0].achse[2].bezeichnung Z

Kanal 2 stellt den Hilfskanal dar und enthält die Achsen 11 bis 13 als Hauptachsen

gruppe[0].achs_anzahl 3

gruppe[0].achse[0].log_achs_nr 11

gruppe[0].achse[0].bezeichnung X

gruppe[0].achse[1].log_achs_nr 12

gruppe[0].achse[1].bezeichnung Y

gruppe[0].achse[2].log_achs_nr 13

gruppe[0].achse[2].bezeichnung Z

Abbildung 1-2:Konfiguration der Achsen

Klonachse

Zur Erzeugung einer Klonachse muss die ursprüngliche Achse zuvor bereits existieren und initialisiert sein. Beim Klonvorgang werden die Parameter der ersten Achse dann nur einmal übernommen. Jede nachfolgende Änderung von Achsparametern hat keine Auswirkung auf den Klondatensatz, sondern es werden nur die individuellen Achsparameter modifiziert oder überschrieben.

Abbildung 1- 3 : Initialisierung einer Klonachse

Die angegebene Klonreferenz kann nach der ersten Initialisierung nicht mehr geändert werden.

Wenn vom Klon keine Masterachse existiert, wird eine Fehlermeldung erzeugt und eine "Klon-"achse ohne echten Klonvorgang angelegt.


Ablauf beim Umschalten

Zugriff auf Achsen

Solange die Ausgabe des Kanals nicht suspendiert ist, sind die physikalischen Achsen mit den logischen Achsen des Kanals verbunden. Fordert eine zweiter Kanal die gleichen physikalischen Achsen wie die des ersten Kanals an, so wird automatisch solange gewartet, bis der erste Kanal seine Ausgabe suspendiert hat.

Bei der Freigabe des Achszugriffs wird eine eventuelle Achsbewegung zunächst durch einen impliziten Vorschubstopp angehalten.

Abbildung 1-4: Handshake der Achsen beim Suspendieren des Kanals

Wird der Zugriff auf eine physikalische Achse durch zwei (oder mehrere) Kanäle konfiguriert, so erhält ein Kanal den Zugriff auf die Achsen erst, wenn alle anderen Kanäle ihren Zugriff aufgehoben haben (suspend_ channel_output = TRUE).


Positionsoffset

NC-Programm

Die Verbindung einer logischen zur physikalischen Achsen kann im laufenden Programm geändert werden. Nach Suspendieren der Achsausgabe können die Achsen durch einen anderen Kanal verfahren werden.

Nach Rückgabe der Achsen an den ursprünglichen Kanal kann die angenommenen und die tatsächliche Sollposition voneinander abweichen. Diese Positionsverschiebung wird bei der physikalischen Achse angezeigt und wird bei jedem Programmneustart abgelöscht.

Offset = command position (of active link)  active position

Abbildung 1-5: Positionsverschiebung durch Hilfskanal

Beispiel: Achse 1 von Kanal 1 und Achse 2 von Kanal 2 sind mit der gleichen physikalischen Achse verbunden. In jedem Kanal wird eine eigene MDI gestartet und die Kanäle nacheinander suspendiert.

Kanal 1: X100 Sollposition | Kanal 2: X-50 Sollposition | Istposition | Offset
0 -> 50 |  | 0 -> 50 | 0
 | 50 -> 15 | 50 -> 15 | 0
50 -> 80 |  | 15 -> 45 | 35
 | 15 -> 0 | 45 -> 30 | -30


Beispiele

Konfiguration

Aktionen

Konfiguration einer weiteren logischen Achse für die physikalischen Achse Nr. 1

kopf.achs_nr 11

kopf.clone_of 1

kopf.link_to 1

· Starten des Handsatzes G01 G90 X20 Y20 F100 im ersten Kanal

· Suspend-Output im ersten Kanal setzen

· Handsatz G91 Y10 im zweiten Kanal starten und Warten bis dieser beendet ist

· Löschen des Suspend-Output im ersten Kanal

· Setzen des Suspend-Output im zweiten Kanal

Abbildung 1-6: Einschieben eines Handsatzen durch weiteren Kanal

Konfiguration

Aktionen

Konfiguration einer weiteren logischen Achse für die physikalischen Achse Nr. 1

kopf.achs_nr 11

kopf.clone_of 1

kopf.link_to 1

· Starten des Automatikprogramms im ersten Kanal

$WHILE 1

N10 G02 I10 F500

$ENDWHILE

· Suspend-Output im ersten Kanal setzen

· Zweiten Kanal in Handbetrieb setzen und Achsen verfahren

· Löschen des Suspend-Output im ersten Kanal

· Setzen des Suspend-Output im zweiten Kanal

Abbildung 1-7: Verschieben der Position durch Handbetrieb bei aktivem NC-Programm durch weiteren Kanal


SPS-Schnittstelle

HLI

Für das Umschalten des Kanalzugriffs auf die Achsen und die Anzeige der Achsen stehen auf der SPS-Schnittstelle entsprechende Werte zur Verfügung.

Kanalausgabe unterbrechen
Beschreibung | Die Ausgabe von Sollwerten des NC-Kanals auf die physikalischen Achsen (Antriebe) wird unterbrochen.
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Besonderheiten | In der Zwischenzeit können die freigegebenen Achsen durch die logischen Achsen eines anderen Kanals bewegt werden.
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pMC[channel_idx]^.addr^.MCControlBahn_Data.MCControlBoolUnit_SuspendAxisOutput
Kommandierter, angeforderter und Rückgabewert
ST-Element | MCControlBoolUnit_SuspendAxisOutput.X_Command MCControlBoolUnit_SuspendAxisOutput.X_Request MCControlBoolUnit_SuspendAxisOutput.X_State
Datentyp | BOOL
Wertebereich | [TRUE = Ausgabe an die Kanalachsen ist unterbrochen, FALSE]
Umleitung
ST-Element | MCControlBoolUnit_SuspendAxisOutput.X_Enable

Positionsoffset
Beschreibung | Anzeige des aktuellen Offsets der Absolutposition zwischen der Lagereglerachse (reale physikalische Achse) und der Interpolatorachse (logische Achse).
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.D_PositionOffsetPhysicalLogicalACS
Datentyp | SGN32
Wertebereich | 0.1 µm
Zugriff | PLC liest
Besonderheiten |

Achsversorgung
Beschreibung | Die Versorgung der physikalischen Achse mit Sollwerten erfolgt durch die logische Achse. Die physikalischen Achse ist mit der logischen Achse verbunden.
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.X_LinkToLogicalAxis
Datentyp | UNS16
Wertebereich | [= 0 - not linked, > 0  logische Nummer der Achse]
Zugriff | PLC liest
Besonderheiten |

Achszuordnung
Beschreibung | Die kommandierten Sollwerte der logischen Achse des Kanals werden auf der physikalische Achse ausgegeben.
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateIPO_Data.X_LinkToPhysicalAxis
Datentyp | UNS16
Wertebereich | [= 0 - not linked, > 0  logische Nummer der Achse]
Zugriff | PLC liest
Besonderheiten |


HMI-Schnittstelle

Der aktuelle Zustand einer Achse kann über folgende kanalspezifischen Achsobjekte ausgelesen werden.

Angeforderte Achszuordnung
Beschreibung | Zeigt die Nummer der angeforderten physikalischen Achse an.
Port | 0x551 (Task GEO)
Index-Group | 0x21.301 (+ 1 pro Kanalindex)
Index-Offset | 0x10.016 (+ 0x10.000 pro Achsindex im Kanal)
Typ | Unsigned 16 Bit
Zugriff | Nur lesen

Aktive Achszuordnung
Beschreibung | Zeigt die aktuell zugeordnete physikalische Achse an.
Port | 0x551 (Task GEO)
Index-Group | 0x21.301 (+ 1 pro Kanalindex)
Index-Offset | 0x10.017 (+ 0x10.000 pro Achsindex im Kanal)
Typ | Unsigned 16 Bit
Zugriff | Nur lesen

Zustand der Achszuordnung
Beschreibung | Zeigt den Zustand der Achsanforderung, d.h. der Zuordnung logischen  physikalische Achse an: 0 : Achslink schon vorhanden 1 : Physikalische Achse ist vom Lageregler angefordert 2 : Warte auf Bestätigung der physikalischen Achse vom Lageregler
Port | 0x551 (Task GEO)
Index-Group | 0x21.301 (+ 1 pro Kanalindex)
Index-Offset | 0x10.018 (+ 0x10.000 pro Achsindex im Kanal)
Typ | Unsigned 16 Bit
Zugriff | Nur lesen

In nachfolgendem Beispiel wartet der Kanal 1 auf die Quittierung der Anforderung der dritten Achse. Die Achsen 1 und 2 sind bereits korrekt verbunden.


Parameter

Mehr:

button Überblick

button Beschreibung


Überblick

ID | Parameter | Bedeutung
P-AXIS-00040 | clone_of | Kopie einer Achse
P-AXIS-00101 | link_to | Verbindung zur physikalischen Achse


Beschreibung

P-CHAN-00040 | Kopie einer Achse
Parameter | clone_of
Beschreibung | Zur einfacheren Konfiguration kann eine Achse als Kopie einer anderen Achse angelegt werden (clone_of). Während der Initialisierung der Klonachse werden dann die Daten der Masterachse als Vorlage übernommen. Lediglich Parameter, die sich bei der Klonachse im Vergleich zu ihrer Masterachse unterscheiden, müssen dann noch speziell belegt werden.
Datentyp | UNS16
Datenbereich | 0 < clone_of < MAX(UNS16)
Dimension | translatorisch: - | rotatorisch: -
Standardwert | -
Anmerkungen | -

P-AXIS-00101 | Verbindung zur physikalischen Achse
Parameter | link_to
Beschreibung | Der Parameter link_to definiert eine Verknüpfung zwischen der logischen Achse des Interpolators und der Achse des Lagereglers (Antrieb). Wenn mehr als eine logische Achse mit dem gleichen Antrieb verbunden werden soll, müssen alle anderen Achsen warten, bis diese Verknüpfung durch eine Kommandierung zeitweilig unterbrochen und für eine neue Verbindung freigegeben ist.
Datentyp | UNS16
Datenbereich | 0 < link_to < MAX(UNS16)
Dimension | translatorisch: - | rotatorisch: -
Standardwert | -
Anmerkungen | -