Hinweise zur Dokumentation

Diese Beschreibung wendet sich ausschließlich an ausgebildetes Fachpersonal der Steuerungs- und Automatisierungstechnik, das mit den geltenden nationalen Normen vertraut ist.
Zur Installation und Inbetriebnahme der Komponenten ist die Beachtung der nachfolgenden Hinweise und Erklärungen unbedingt notwendig.

Das Fachpersonal hat sicherzustellen, dass die Anwendung bzw. der Einsatz der beschriebenen Produkte alle Sicherheitsanforderungen, einschließlich sämtlicher anwendbaren Gesetze, Vorschriften, Bestimmungen und Normen erfüllt.

Disclaimer

Diese Dokumentation wurde sorgfältig erstellt. Die beschriebenen Produkte werden jedoch ständig weiter entwickelt.
Deshalb ist die Dokumentation nicht in jedem Fall vollständig auf die Übereinstimmung mit den beschriebenen Leistungsdaten, Normen oder sonstigen Merkmalen geprüft.
Falls sie technische oder redaktionelle Fehler enthält, behalten wir uns das Recht vor, Änderungen jederzeit und ohne Ankündigung vorzunehmen.
Aus den Angaben, Abbildungen und Beschreibungen in dieser Dokumentation können keine Ansprüche auf Änderung bereits gelieferter Produkte geltend gemacht werden.

Marken

Beckhoff®, TwinCAT®, EtherCAT®, Safety over EtherCAT®, TwinSAFE®, XFC® und XTS® sind eingetragene und lizenzierte Marken der Beckhoff Automation GmbH.
Die Verwendung anderer in dieser Dokumentation enthaltenen Marken oder Kennzeichen durch Dritte kann zu einer Verletzung von Rechten der Inhaber der entsprechenden Bezeichnungen führen.

Patente

Die EtherCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente:
EP1590927, EP1789857, DE102004044764, DE102007017835
mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

Die TwinCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente:
EP0851348, US6167425 mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

Copyright

© Beckhoff Automation GmbH & Co. KG, Deutschland.
Weitergabe sowie Vervielfältigung dieses Dokuments, Verwertung und Mitteilung seines Inhalts sind verboten, soweit nicht ausdrücklich gestattet.
Zuwiderhandlungen verpflichten zu Schadenersatz. Alle Rechte für den Fall der Patent-, Gebrauchsmuster- oder Geschmacksmustereintragung vorbehalten.


TwinCAT NC SLAVES Universelle Fliegende Säge

Hinweis:

Ab der TwinCat-Version 2.9 Build 248 steht die hier beschriebene fliegende Säge mit erweiterter Funktionalität zur Verfügung. Diese wird als "Universelle Fliegende Säge" im Gegensatz zur bisherigen "Fliegenden Säge" bezeichnet. In Projekten, die neu erstellt werden, sollten ausschließlich die neuen Funktionalitäten der "Universellen Fliegenden Säge" eingesetzt werden.

Allgemein

Die Fliegende Säge ist eine Slave-Achse mit der Funktionalität, auf eine fahrende Masterachse aufzusynchronisieren. Für einen Bearbeitungsvorgang fährt die Slave-Achse synchron zu der Masterachse. Durch diese synchrone Bewegung zur Masterachse wird die Bearbeitung eines Werkstücks auch während des Transports möglich.

Ein wesentlicher Unterschied zwischen der "Fliegenden Säge" und der "Universellen Fliegenden Säge" besteht in dem, für die Synchronisation geforderten Anfangszustand der Slave-Achse. Bei der "Universellen Fliegenden Säge" ist der Start der Synchronisation im Gegensatz zur "Fliegenden Säge" auch dann möglich, wenn die Slave-Achse bereits gestartet ist und somit nicht im Stillstand ist. Weiterhin werden bei der "Universellen Fliegenden Säge" verbesserte Sollwertprofile berechnet, die vom Benutzer über verschiedenste Randbedingungen beeinflusst werden können.

Das Verhältnis der Mastergeschwindigkeit zur Slave-Geschwindigkeit in der Synchronphase wird mit einem variablen Koppelfaktor parametriert. Dieser Koppelfaktor wird beispielsweise bei einer Diagonalsäge ungleich 1 gewählt. damit die Geschindigkeitskomponente der Slave-Achse in Richtung der Masterachse ( v Slave parallel zu v Master ) in der Synchronphase gleich der Mastergeschwindigkeit ( v Master ) ist. (siehe Bild)

Grundsätzlich stellt die Universelle Fliegende Säge zwei verschiedene Synchronisierungsmöglichkeiten zur Verfügung. Bei der Synchronisation auf Geschwindigkeit wird der Slave unter Berücksichtigung des Koppelfaktors schnellstmöglich auf den Master synchronisiert. Die Koppelpositionen der Master- und Slave-Achse ergeben sich hierbei durch die Zielsetzung der schnellmöglichen Synchronisation. Im Gegensatz hierzu werden die Koppelpositionen der Master- und Slave-Achse bei der Synchronisation auf Position von dem Benutzer parametriert. Die Master- und Slave-Achse bewegen sich hierbei also spätestens ab den vorgegebenen Positionen synchron.

Bei beiden beschriebenen Synchronisierungsmöglichkeiten besteht die Möglichkeit, verschiedene Randbedingungen für die Synchronisierungsphase vorzugeben. Mit diesen Randbedingungen kann der Synchronisierungsvorgang an die Anforderungen der Maschine angepasst werden.

Interfaces

Die Bedienung und Überwachung der Universellen Fliegende Säge erfolgt aus der SPS mit entsprechenden Funktionsbausteinen. Zu Inbetriebnahmezwecken kann die Universelle Fliegende Säge aber auch direkt aus dem TwinCAT-System Manager gestartet werden. Als unterlagerte Schnittstellen wird hierbei das zyklische NC-SPS-Achs-Interface sowie die ADS-Kommunikation verwendet.

Synchronisation auf Geschwindigkeit

Bei der Synchronisation auf Geschwindigkeit wird die Slave-Achse mit den angegebenen Dynamikparametern schnellst möglich auf die Master-Achse synchonisiert. In der Synchronphase ist die Slave-Geschwindigkeit proportional zu der Mastergeschwindigkeit, so dass gilt:

Ablauf der Synchronisierung

Die Synchronisation der Slave-Achse mit der Master-Achse erfolgt nach dem folgenden Ablauf:

  1. Start der Universellen Fliegenden Säge. Dieses entspricht dem logischen Ankoppeln an die Master-Achse. Dieser Zeitpunkt wird als Koppelzeitpunkt bezeichnet.
  2. Synchronisierungsphase: Der Slave wird aus seinem Anfangszustand auf die Mastergeschwindigkeit beschleunigt, wobei die vom Benutzer angegebenen Randbedingungen für die Slavebewegung eingehalten werden. Der Zeitpunkt, bei dem von der Synchronisierungsphase in die Synchronphase gewechselt wird, wird als Synchronisierungszeitpunkt bezeichnet.
  3. Synchronphase: Der Slave bewegt sich synchron zu dem Master.
  4. Abkoppeln der Universellen Fliegenden Säge. Dieses entspricht einer Onlinewandlung und der gekoppelte Slave wird wieder zum eigenständigen Master, der sich mit der aus der Onlinewandlung ergebenden Geschwindigkeit endlos weiter bewegt.
  5. Beispielsweise Nachstarten oder Stopp des ehemaligen Slaves. Es steht wieder die volle Funktonalität einer TwinCAT NC Master-Achse zur Verfügung.

Synchronisation auf Position

Bei der Synchronisation auf Position wird die Slave-Achse mit den angegebenen Dynamikparametern an der angegebenen Synchronposition auf den Master synchronisiert. Das heißt, die Slave-Achse erreicht exakt in den Synchronpositionen von Master und Slave die Synchrongeschwindigkeit und bewegt sich ab dieser Position synchron zu dieser. Für die Slave-Geschwindigkeit gilt in der Synchronphase:

Ablauf der Synchronisierung

Die Synchronisation der Slave-Achse mit der Master-Achse erfolgt nach dem folgenden Ablauf:

  1. Start der Universellen Fliegenden Säge, dieses entspricht dem logischen Ankoppeln an die Master-Achse. Dieser Zeitpunkt wird als Koppelzeitpunkt bezeichnet.
  2. Synchronisierungsphase: Der Slave wird aus seinem Anfangszustand auf die Mastergeschwindigkeit beschleunigt und erreicht exakt in der vorgegebnen Synchronposition des Masters die Slave-Synchronposition und die Synchrongeschwindigkeit., wobei die vom Benutzer angegebenen Randbedingungen der Slavebewegung eingehalten werden. Der Zeitpunkt, bei dem von der Synchronisierungsphase in die Synchronphase gewechselt wird, wird als Synchronisierungszeitpunkt bezeichnet.
  3. Synchronphase: Der Slave bewegt sich synchron zu dem Master.
  4. Abkoppeln der Universellen Fliegenden Säge. Dieses entspricht einer Onlinewandlung und der gekoppelte Slave wird wieder zum eigenständigen Master, der sich mit der aus der Onlinewandlung ergebenden Geschwindigkeit endlos weiter bewegt.
  5. Beispielsweise Nachstarten oder Stopp des ehemaligen Slaves. Es steht wieder die volle Funktonalität einer TwinCAT NC Master-Achse zur Verfügung.

Parametrierbare Randbedingungen der Synchronisierung

Grundsätzlich dürfen für die Berechnung des Synchronisierungsprofils die Master- und Slave-Achse beliebige Anfangsbedingungen besitzen.

Der Übergang der Slavebewegung aus dem Ausgangszustand in den Synchronzustand wird so berechnet, dass die vom Benutzer parametrierbaren Randbedingungen der Slavebewegung eingehalten werden. Mit diesen Randbedingungen kann beispielsweise die maximale Slave-Geschwindigkeit limitiert, oder ein Überschwingen in der Position verhindert werden.

Die Berechnung und Überprüfung der parametrierbaren Randbedingungen erfolgt auf Basis der ermittelten charakteristischen Kennwerte der Synchronisierungsphase. Bei der Ermittlung der charakteristischen Kennwerte wird idealisiert vorausgesetzt, dass sich die Master-Achse ab dem Koppelzeitpunkt beschleunigungsfrei mit konstanter Geschwindigkeit weiterbewegt. Somit ist die exakte Berechnung und Überprüfung der parametrierten Randbedingungen nur unter dieser Vorraussetzung möglich. Eine andere sinnvolle Annahme bezüglich der zukünftigen Masterbewegung ist nicht möglich, da zum Koppelzeitpunkt die zukünftige Masterbewegung nicht bekannt ist.

Eine mögliche zukünftige Masterbeschleunigung wirkt sich durch die Kopplung auch auf die Slave-Dynamik aus. Eine solche Masterbeschleunigung führt dazu, dass die berechneten und überprüften Kennwerte teilweise in Abhängigkeit der Masterbeschleunigung über- oder unterschritten werden. Der tabellarischen Beschreibung der charakteristischen Kennwerte kann entnommen werden, welche charakteristischen Kennwerte von einer Masterbeschleunigung beeinflusst werden.

Charakteristische Kennwerte der Slavebewegung

Nach dem Start der Universellen Fliegenden Säge stehen dem Benutzer die charakteristischen Kennwerte der Slavebewegung, die dieser in der Synchronisierungsphase durchläuft, zur Verfügung. Diese Kennwertstruktur enthält Größen wie die maximale Slave-Beschleunigung, die mini- und maximale Slave-Position usw. Dies Werte werden unter der Annahme eines unbeschleunigten Masters berechnet und sind somit teilweise nur für einen solchen exakt richtig.

Achtung:

Die Masterbeschleunigung zum Startzeitpunkt der "Universellen Fliegenden Säge“ geht maßgeblich in die Profilberechnung und dessen Optimierungen ein. D.h. für eine Encoderachse als Master müssen die Geschwindigkeit und die Beschleunigung sorgfältig gefiltert, oder sogar die Berechnung der Istbeschleunigung abgewählt werden (siehe. „Encoder Mode“).


Synchronisation auf Geschwindigkeit

Bei der Synchronisation auf Geschwindigkeit wird eine Slave-Achse schnellst möglich aus einem beliebigen Anfangszustand auf eine fahrende Masterachse synchronisiert, wobei sich die Synchrongeschwindigkeit des Slaves aus der Mastergeschwindigkeit multipliziert mit dem Koppelfaktor ergibt.

Die Synchronisationsphase der Slave-Achse wird so berechnet, dass die vom Benutzer parametrierten Randbedingungen eingehalten werden. Die Berechnung und Überprüfung dieser Randbedingungen erfolgt unter der Annahme, dass sich die Master-Achse ab dem Koppelzeitpunkt unbeschleunigt bewegt. Bei einer nicht kräftefreien Master-Achse können die parametrierten Randbedingung teilweise über- oder unterschritten werden.

Beispiel 1:

In der im Bild dargestellten Phase 0 (links) bewegen sich die beiden Achsen vollkommen unabhängig voneinander. Die zukünftige Master-Achse wird auf 500 mm/s beschleunigt und die zukünftige Slave-Achse wird auf -250 mm/s beschleunigt. In dem Phasenwechsel von 0 auf 2 wird die Synchronisation auf Geschwindigkeit der Universellen Fliegende Säge gestartet (StartSync = 1) und das Sollwertprofil zur Synchronisation berechnet. Dieses berechnete Slave-Sollwertprofil wird in der Phase 2 der Slave-Achse vorgegeben. Am Ende der Phase 2 erreicht die Slave-Achse exakt die Synchrongeschwindigkeit, welche der Geschwindigkeit der Master-Achse multipliziert mit dem Koppelfaktor entspricht. Ab diesem Zeitpunkt befinden sich die Achsen in der Synchronphase (Phase 3). In dieser Synchronphase bewegen sich beide Achsen unter Berücksichtigung des Koppelfaktors synchron. Die Synchronphase wird durch das Abkoppelkommando beendet. Dieses entspricht in dem Bild dem Übergang von der Phase 3 in die Phase 0. Ab diesem Zeitpunkt handelt es sich wieder um 2 unabhängige Masterachsen. Zum Zeitpunkt der Abkopplung erfolg eine Onlinewandlung der Slave-Achse zu einer Master-Achse. Bei dieser Onlinewandlung wird eine mögliche Beschleunigung oder Verzögerung des Slaves abgebaut und hierduch die Geschwindigkeit des ehemaligen Slaves bestimmt, mit der sich dieser endlos weiter bewegt.

Die aktuelle Phase der Slave-Achse kann der Variablen nAxisState im zyklischen Achsinterfaces entnommen werden. (Die Bezeichnung der einzelnen Phasen in den Bildern stimmt nicht mit den Werten der Variablen nAxisState überein.)

(* Startparameter *)
fMasterVelo := 500;
fSlaveVelo := -250;

(* Koppelparameter *)
fGearRatio := 1.0;
fSlaveAcc := 2500;
fSlaveDec := 2500;
fSlaveJerk := 5000;

Beispiel 2:

Wie Beispiel 1, nur mit dem Koppelfaktor 1.5.

(* Startparameter *)
fMasterVelo := 500;
fSlaveVelo := -250;

(* Koppelparameter *)
fGearRatio := 1.5;
fSlaveAcc := 2500;
fSlaveDec := 2500;
fSlaveJerk := 5000;

Beispiel 3:

Start der Kopplung in der Beschleunigungsphase des zukünftigen Slaves.

(* Startparameter *)
fMasterVelo := -500;
fSlaveVelo := 400;

(* Koppelparameter *)
fGearRatio := 1;
fSlaveAcc := 2500;
fSlaveDec := 2500;
fSlaveJerk := 5000;

SPS Funktionsbausteine

Die Kopplung erfolg mit dem Funktionsbaustein MC_GearInVelo. Zum Beenden der Synchronphase, also zum Entkoppeln (Onlinewandlung), wird der Funktionsbaustein MC_GearOut verwendet.


NC

Synchronisation auf Position

Bei der Synchronisation auf Position wird die Slave Achse aus einem Anfangszustand so auf die Masterachse synchronisiert, dass sie die geforderte Synchrongeschwindigkeit (=vMaster·Koppelfaktor) und Synchronposition exakt in der Synchronposition des Masters erreicht.

Die Synchronisierungsphase der Slave-Achse wird so berechnet, dass die vom Benutzer parametrierten Randbedingungen eingehalten werden. Die Berechnung und Überprüfung dieser Randbedingungen erfolgt unter der Annahme, dass sich die Master-Achse ab dem Koppelzeitpunkt unbeschleunigt bewegt. Bei einer nicht kräftefreien Master-Achse können die parametrierten Randbedingung teilweise über- oder unterschritten werden.

Beispiel 1:

In dem dargestellten Beispiel werden die zukünftige Master- und Slave-Achse unabhängig voneinander in positive Richtung gestartet. Zum Zeitpunkt des dargestellten Phasenwechsels von 0 auf 2 wird die Universelle Fliegende Säge mit einer Synchronisation auf Position gestartet (StartSync = 1). Eine Synchronisation auf Position bedeutet, dass die Slave-Achse exakt an der Master-Synchronposition (Master-Sync-Position) die Synchrongeschwindigkeit erreicht und sich an der Slave-Synchronposition (Slave-Sync-Position) befindet. Die Synchrongeschwindigkeit entspricht der Mastergeschwindigkeit multipliziert mit dem gewählten Koppelfaktor. In dem dargestellten Beispiel ist die Master-Sync-Position identisch mit der Slave-Sync-Position, so dass die Master- und Slave-Position bei der positiven Flanke des InSync-Signals identisch sind. Der Koppelfaktor in diesem Beispiel ist zu 1 gewählt worden, so dass die Master- und Slave-Geschwindigkeit in der Synchronphase (3) identisch sind. Zum Zeitpunkt des Phasenwechsels von 3 auf 0 wird die Slave-Achse von der Master-Achse abgekoppelt (Onlinewandlung) und bewegt sich ab diesem Zeitpunkt wieder als unabhängige Masterachse. Zum Zeitpunkt der Abkopplung erfolg eine Onlinewandlung der Slave-Achse zu einer Master-Achse. Bei dieser Onlinewandlung wird eine mögliche Beschleunigung oder Verzögerung des Slaves abgebaut und somit die Geschwindigkeit des ehemaligen Slaves bestimmt, mit der sich dieser endlos weiter bewegt.

Die aktuelle Phase der Slave-Achse kann der Variablen nAxisState im zyklischen Achsinterfaces entnommen werden. (Die Bezeichnung der einzelnen Phasen in den Bildern stimmt nicht mit den Werten der Variablen nAxisState überein.)

(* Startparameter *)
fMasterVelo := 500;
fSlaveVelo := 250;
fMasterStartPos := -500;
fSlaveStartPos := -250;

(* Koppelparameter *)
fGearRatio := 1;
fMasterSynchronPos := 1000;
fSlaveSynchronPos := 1000;
fSlaveAcc := 2500;
fSlaveDec := 2500;
fSlaveJerk := 5000;

Beispiel 2:

(* Startparameter *)
fMasterVelo := 500;
fSlaveVelo := -250;
fMasterStartPos := -500;
fSlaveStartPos := -500;

(* Koppelparameter *)
fGearRatio := 1.5;
fMasterSynchronPos := 1000;
fSlaveSynchronPos := 500;
fSlaveAcc := 10000;
fSlaveDec := 10000;
fSlaveJerk := 50000;

SPS Funktionsbausteine

Die Kopplung erfolg mit dem Funktionsbaustein MC_GearInPos. Zum Beenden der Synchronphase, also zum Abkoppeln (Onlinewandlung des Slaves in einen eigenständigen Master), wird der Funktionsbaustein MC_GearOut verwendet.


NC

Charakteristische Kennwerte

Nach dem erfolgreichen Start der Universellen Fliegenden Säge können mit dem SPS-Funktionsbaustein MC_ReadFlyingSawCharacteristics die charakteristischen Kennwerte des für die Synchronisierungsphase berechneten Slave-Sollwertprofils ausgelesen werden. Diese Kennwerte beziehen sich also nicht auf Synchron- oder Vorphase und gelten nur für die Synchronisierunsphase!

Die einzelnen charakteristischen Kennwerte sind in der unten dargestellten Tabelle beschrieben.

Achtung!

Bei der Berechnung der dynamischen charakteristischen Kennwerte wird davon ausgegangen, dass sich der Master ab dem Start der Universellen Fliegenden Säge (ab dem Koppelzeitpunkt) unbeschleunigt weiterbewegt. Folglich sind die berechneten Kennwerte nur für einen unbeschleunigten Master exakt richtig und werden gegebenenfalls teilweise über- oder unterschritten, wenn der Master beschleunigt oder verzögert wird.

Struktur der charakteristischen Kennwerte

Die charakteristischen Kennwerte werden in der umfangreichen Struktur MC_FlyingSawCharacValues abgelegt, in der die folgenden Größen enthalten sind:

Anmerkungen:

Der in der Tabelle beschriebene Startzeitpunkt bezieht sich immer auf den Start der Synchronisierungsphase und der Endzeitpunkt auf das Ende der Synchronisierungsphase (nicht auf das Ende der Synchronphase)! Es steht hier also immer die Synchronisierungsphase im Mittelpunkt.
In der 3. Spalte der Tabelle wird angegeben, ob eine mögliche Masterbeschleunigung den charakteristischen Kennwert beeinflusst oder nicht.

Bezeichnung | Beschreibung | Unabhängig von einer Masterbeschleunigung
fMasterVeloNom | Master-Geschwindigkeit im Startzeitpunkt der Universellen Fliegenden Säge | nein
fMasterPosStart | Masterposition im Startzeitpunkt der Universellen Fliegenden Säge | ja
fSlavePosStart | Slaveposition im Startzeitpunkt der Universellen Fliegenden Säge | ja
fSlaveVeloStart | Slave-Geschwindigkeit im Startzeitpunkt der Universellen Fliegenden Säge | nein
fSlaveAccStart | Slave-Beschleunigung im Startzeitpunkt der Universellen Fliegenden Säge | nein
fSlaveJerkStart | Ruck des Slaves im Startzeitpunkt der Universellen Fliegenden Säge | nein
fMasterPosEnd | Masterposition am Ende der Synchronisierungsphase | ja
fSlavePosEnd | Slaveposition am Ende der Synchronisierungsphase | ja
fSlaveVeloEnd | Slave-Geschwindigkeit am Ende der Synchronisierungsphase | nein
fSlaveAccEnd | Slave-Beschleunigung am Ende der Synchronisierungsphase | nein
fSlaveJerkEnd | Ruck des Slaves am Ende der Synchronisierungsphase | nein
fMPosAtSPosMin | Masterposition zum Zeitpunkt der minimalen Slaveposition | nein
fSlavePosMin | Minimale Slaveposition | ja
fMPosAtSVeloMin | Masterposition zum Zeitpunkt der minimalen Slave-Geschwindigkeit | nein
fSlaveVeloMin | Minimale Slave-Geschwindigkeit | nein
fMPosAtSAccMin | Masterposition zum Zeitpunkt der minimalen Slave-Beschleunigung | nein
fSlaveAccMin | Minimale Slave-Beschleunigung | nein
fSVeloAtSAccMin | Slave-Geschwindigkeit zum Zeitpunkt der minimalen Slave-Beschleunigung | nein
fSlaveJerkMin | Minimaler Slave Ruck | nein
fSlaveDynMomMin | Minimales dynamisches Moment des Slaves (NOT SUPPORTED YET !) | nein
fMPosAtSPosMax | Masterposition zum Zeitpunkt der maximalen Slaveposition | nein
fSlavePosMax | Maximale Slave Position | ja
fMPosAtSVeloMax | Masterposition zum Zeitpunkt der maximalen Slavegeschwindigkeit | nein
fSlaveVeloMax | Maximale Slave-Geschwindigkeit | nein
fMPosAtSAccMax | Masterposition zum Zeitpunkt der maximalen Slave-Beschleunigung | nein
fSlaveAccMax | Maximale Slave-Beschleunigung | nein
fSVeloAtSAccMax | Slave-Geschwindigkeit zum Zeitpunkt der maximalen Slave-Beschleunigung | nein
fSlaveJerkMax | Maximaler Ruck des Slaves | nein
fSlaveDynMomMax | Maximales dynamisches Moment des Slaves (NOT SUPPORTED YET !) | nein
fSlaveVeloMean | Mittlere absolute Slave-Geschwindigkeit (NOT SUPPORTED YET !) | nein
fSlaveAccEff | Effektive Slave-Beschleunigung (NOT SUPPORTED YET !) | nein


NC

Parametrierbare Randbedingungen, Festlegung des Operation-Modes

Bei der Universellen Fliegenden Säge ist es möglich, verschiedenste Randbedingungen für die Slavebewegung in der Synchronisierungsphase anzugeben. Mit diesen Randbedingungen ist es möglich, für die in der folgenden Tabelle aufgeführten Slavegrößen Grenzwerte vorzugeben. Eine Überprüfung, ob die einzelnen Grenzwerte eingehalten werden, kann mit der Bitmaske SyncMode aktiviert werden. Mit den Randbedingungen, die für die Synchronisierungsphase angegeben werden, wird auch das Sollwertprofil für die Synchronisierung beeinflusst. Ob und wie die einzelnen Bedingungen das Profil beeinflussen kann dem Diagramm des folgenden Kapitels entnommen werden.

Synchronisierungs-Modus |  |  | Beschreibung
Define: GeaInSyncMode
GEARINSYNCMODE_POSITIONBASED |  |  | In diesem Mode der Universellen Fliegenden Säge wird zur Synchronisierung der Slaveachse auf die Masterachse ein, von der Masterposition abhängiges Profil generiert.
GEARINSYNCMODE_TIMEBASED |  |  | In diesem Mode der Universellen Fliegenden Säge wird zur Synchronisierung der Slaveachse auf die Masterachse ein zeitabhängiges Bewegungsprofil generiert, welches die Einhaltung aller dynamischen Grenzwerte der Slaveachse sicherstellt. Dieser Mode ist zur Zeit nur bei einer Kopplung auf Geschwindigkeit verfügbar.
Bitmasken für den "SyncMode" |  |  | Beschreibung | Randbedingung
Define: GEARINSYNC_CHECKMASK_ | Wert Dezimal | Wert Hexadezimal
MINPOS | 1 | 0x0000 0001 | Prüft, ob die Software Endlage Min (Maschinendaten) der Slave-Achse unterschritten wird. | posSlave ≥ posSlaveMin
MAXPOS | 2 | 0x0000 0002 | Prüft, ob die Software Endlage Max (Maschinendaten) der Slave-Achse überschritten wird. | posSlave ≤ posSlaveMax
MAXVELO | 4 | 0x0000 0004 | Prüft, ob die maximal erlaubte Slavegeschwindigkeit (Maschinendaten) überschritten wird. | | vSlave | ≤ vSlaveMax
MAXACC | 8 | 0x0000 0008 | Prüft, ob die maximale Slavebeschleunigung (Maschinendaten) überschritten wird | accSlave ≤ accSlaveMax
MAXDEC | 16 | 0x0000 0010 | Prüft, ob die maximale Slave-Verzögerung (Maschinendaten) überschritten wird | decSlave ≤ decSlaveMax
MAXJERK | 32 | 0x0000 0020 | Prüft, ob der maximale Slave-Ruck (Maschinendaten) überschritten wird. | jSlave ≤ jSlaveMax
OVERSHOOTPOS | 256 | 0x0000 0100 | Prüft ein Überschwingen der Slaveposition. |
UNDERSHOOTPOS | 512 | 0x0000 0200 | Prüft ein Unterschwingen der Slaveposition.´ |
OVERSHOOTVELO | 1024 | 0x0000 0400 | Prüft ein Überschwingen der Slavegeschwindigkeit. |
UNDERSHOOTVELO | 2048 | 0x0000 0800 | Prüft ein Unterschwingen der Slavegeschwindigkeit. |
OVERSHOOTVELOZERO | 4096 | 0x0000 1000 | Prüft ein Überschreiten der Slavegeschwindigkeit über 0.0. |
UNDERSHOOTVELOZERO | 8192 | 0x0000 2000 | Prüft ein Unterschreiten der Slavegeschwindigkeit unter 0.0 |
Bitmasken für Operationsmodi GEARINSYNC_OPMASK_ |  |  | Beschreibung
ROLLBACKLOCK | 65536 | 0x0001 0000 | Bit = 0: (default) Wenn der Slave die Synchronphase erreicht hat, wird die synchrone Kopplung für alle folgenden Masterbewegungen beibehalten, bis die Kopplung aufgehoben wird. Dieses gilt somit auch für eine Bewegungsumkehr des Masters, wenn der Master rückwärts über die Koppelposition hinaus fährt. (Weitere Erläuterungen)
 |  |  | Bit = 1: Das Setzen dieses Bits aktiviert die Rücklaufsperre, die ein Stillsetzen des Slaves bewirkt, wenn der Master nach einer Bewegungsumkehr rückwärts über die Koppelposition hinaus fährt. (Weitere Erläuterungen)
INSTANTSTOPONROLLBACK | 131072 | 0x0002 0000 | Bit = 0: (default) Bei Erreichen der Koppelposition wird die Slavegeschwindigkeit mit einem Polynom 5. Ordnung stetig abgebaut, wobei dieses Polynom auf ein möglichst schnelles Stillsetzen optimiert ist. (Weitere Erläuterungen)
 |  |  | Bit = 1: Bei Erreichen der Koppelposition wird der Slave innerhalb eines NC-Ticks sollwertseitig stillgesetzt. Die Slavegeschwindigkeit wird auf 0.0 gesetzt und die Position beibehalten. Achtung: Dieses abrupte Stillsetzen kann zum Ansprechen der Schleppabstandsüberwachung führen! (Weitere Erläuterungen)
PREFERCONSTVELO | 1048576 | 0x0010 0000 | Bit = 0: (default) Standardeinstellung
 |  |  | Bit = 1: Es wird versucht anstatt nur eines Polynoms 5ter Ordnung eine Phase mit konstanter Geschwindigkeit zu verwenden. Dadurch kann sich eine Kombination aus einem Polynom 5ter Ordnung, einer Synchronphase und einem weiteren Polynom 5ter Ordnung ergeben (P5-P1-P5), (siehe weitere Erläuterungen). Dabei wird die maximal gegebene Beschleunigung und Verzögerung verwendet. Zur Kontrolle und Beschränkung des Rucks wird empfohlen in der Bitmaske MAXJERK zu setzen.
IGNOREMASTERACC | 2097152 | 0x0020 0000 | Bit = 0: (default) Standardeinstellung
 |  |  | Bit = 1: Bei der Berechnung der Kopplung wird die Beschleunigung des Masters ignoriert, dass heißt auf Null gesetzt. Dadurch werden die internen Optimierungen verwendet. Bei moderaten Beschleunigung führt diese Vorgabe zu tolerierbaren Schleppabständen. Nach dem Abbau des Schleppabstandes ist die relative Positionsgenauigkeit von dieser Einstellung unabhängig.

Achtung!

Die zuvor aufgeführten Checks beziehen sich nur auf die Synchornisierungsphase (GEARINSYNCSTATE_SYNCHRONIZING) und nicht auf die Synchronfahrphase. Ferner sind diese Berechnungen und Checks nur unter der Annahme möglich, dass sich der Master ab dem Koppelzeitpunkt weiter mit konstanter Geschwindigkeit bewegt, also beschleunigungsfrei ist. Andere Annahmen für den Master zu treffen ergibt keinen Sinn, da zum Koppelzeitpunkt allgemein nicht bekannt ist, wie sich der Master in der Zukunft bewegen wird.


NC

Berechnung der Synchronisierungsphase

Bei der Berechnung der Synchronisierungsphase wird versucht, unter Einhaltung der vom Benutzer angegebenen Randbedingungen eine optimale Lösung zu finden. Wenn die vorgegebenen Randbedingungen nicht eingehalten werden können, wird die Kopplung mit einem entsprechenden Fehler abgelehnt.

Optimierungen

Wie in dem unten dargestellten Ablaufdiagramm ersichtlich ist, beeinflussen die einzelnen Bitmasken zum Teil die internen Optimierungsschritte der Profilberechnung, da je nach vorgegebenen Regeln (s. Parametrierbare Randbedingungen ) ein Optimum gesucht wird. Im Wesentlichen wird ein Polynom 5. Ordnung oder eine Kombination aus einem Polynom 5. Ordnung mit einem Polynom 1. Ordnung verwendet. Ein Polynom 5. Ordnung ist im Allgemeinen nicht überschwingungsfrei, die Beschleunigungen sind aber moderater als bei der Kombination aus einem Polynom 5. Ordnung mit einem Polynom 1. Ordnung. Die Kombination der Polynome aus 1. und 5. Ordnung wird so berechnet, das diese immer überschwingungsfrei ist. Bei ihr treten aber höhere Beschleunigungen und Verzögerungen auf. Falls zum Beispiel die Istgeschwindigkeit mit der Synchrongeschwindigkeit übereinstimmt, aber eine bestimmte Positionsdifferenz ausgeglichen werden muss. Dann wird intern die optimale Geschwindigkeit in Abhängigkeit von der maximalen Beschleunigung errechnet. Ergebnis ist ein Polynom 5ter Potenz ein Polynom 1. Ordnung mit der errechneten Geschwindigkeit und ein Polynom 5ter Potenz. Mindestens eines der beiden Polynome 5ter Potenz nutzt die maximale Beschleunigung aus. Damit es dabei nicht zu extremen Ruckwerten kommt, sollte die Überprüfung des Ruckes eingeschaltet sein.

Achtung:
Die dargestellten Optimierungen können nur dann durchgeführt werden, wenn zum Koppelzeitpunkt sowohl die Master- als auch die Slave-Achse beschleunigungsfrei sind. Bei beschleunigten Achsen wird zur Synchronisation ein Polynom 5. Ordnung verwendet, welches auf die Einhaltung der vorgegebenen Randbedingungen geprüft wird, aber nicht optimiert werden kann.

Achtung:

Handelt es sich bei der Masterachse um eine Encoderachse („fremdes Encodersystem“), die üblicherweise mathematisch niemals beschleunigungsfrei ist, muss besondere Sorgfalt auf die Filterung der Istbeschleunigung gelegt werden (oder beim Encoder die Ermittlung der Istbeschleunigung abgewählt werden, d. h. zu Null gesetzt werden). Ferner gibt es für diese Kombination (Masterencoderachse mit der Universellen Fliegenden Säge als Slave) intern in der NC einen Algorithmus, der Masterbeschleunigungen, die betragsmäßig kleiner als (2.0 • Skalierungsfaktor / Zykluszeit2) sind, im Ankoppelmoment zu Null setzt.

Optimierungsschritt 1:

Zielsetzung: “Unter- bzw. überschwingungsfreies Geschwindigkeitsprofil“

Es wird zunächst versucht ein Profil zu berechnen, dass in der Geschwindigkeit über- bzw. unterschwingungsfrei aufsynchronisiert (Kombination aus Polynom 1ter Ordnung und Polynom 5ter Ordnung bzw. umgekehrt, kurz Polynom1+Polynom5 bzw. Polynom5+Polynom1). Wenn hierbei der Check der Beschleunigungen aktiv ist und mindestens einer dieser Grenzwerte (Acc, Dec) überschritten wird, dann wird ein weiteres allgemein nicht-überschwingunsfreies Profil (Polynom5) berechnet. Wenn auch dieses Profil einen der aktiven Grenzwerte (Acc, Dec) überschreitet, wird letztlich das Aufsynchronisierungskommando mit einem Fehlercode abgelehnt.

Optimierungsschritt 2:

Zielsetzung: “Limitierung auf maximal erlaubte Geschwindigkeit“

Wenn der Optimierungsschritt 1 nicht möglich gewesen ist, wird im Optimierungsschritt 2 für ein allgemeines Standardprofil (Polynom5) geprüft, ob die maximal erlaubte Geschwindigkeit der Slave-Achse überschritten wird. Wenn dies der Fall ist, wird versucht ein Profil zu erzeugen, welches als maximale Profilgeschwindigkeit genau die maximal erlaubte Geschwindigkeit der Slave-Achse (Maschinendaten) besitzt (Polynom5+Polynom1+Polynom5). Angemerkt sei, dass dieser Optimierungsversuch in der Regel zu größeren Beschleunigungen bzw. Verzögerungen führt.
Wenn nun der Check der Bescheunigungen aktiv ist und mindestens einer der Grenzwerte überschritten wird, wird dieser Optimierungsschritt 2 verworfen und letztlich ein allgemein nicht-überschwingunsfreies Profil (Polynom5) errechnet. Wenn auch dieses Profil einen der aktiven Grenzwerte (Acc, Dec) überschreitet, wird letztlich das Aufsynchronisierungskommando mit einem Fehlercode abgelehnt.

Ablaufdiagramm der durchgeführten Optimierungen:

Die intern durchgeführten Optimierungen sind in dem folgenden Ablaufdiagramm graphisch dargestellt. Im Wesentlichen wird das Slave-Sollwertprofil als Polynom 5. Ordnung berechnet. Dieses Polynom 5. Ordnung kann mit einem Polynom 1. Ordnung kombiniert werden, um die parametrierten Randbedingungen einzuhalten. Dem unten dargestellten Ablaufdiagramm kann entnommen werden, wie die einzelnen Randbedingungen die Auswahl der Polynome und somit den Verlauf des Sollwertprofils beeinflussen. Mit der Beschriftung "Polynom n und Polynom m" wird zum Ausdruck gebracht, dass in der Synchronisierungsphase erst das Polynom n und danach das Polynom m zum Einsatz kommt.


NC

Interfaces

Zyklisches Achsinterface

Die Variable nAxisState In dem zyklischen Achsinterface gibt den Bewegungszustand der Slave- oder Master-Achse an. In der Tabelle sind die Bewegungszustände der Slave-Achse beschrieben. Bei allen nicht aufgeführten States handelt es sich um Master-States, die separat erläutert sind.

Anmerkung: Die Slave-States gelten vorerst nur für Slaves vom Typ "Universelle Fliegende Säge"!

Bewegungszustand / Fahrphasen der kontinuierlichen Slave-Achse (Servo)
nAxisState | Typ | Beschreibung
0 | Allgemein | Generator nicht aktiv | (INACTIVE)
sonst | Master-State | Erläuterung
11 | Slave-State | Slave befindet sich in einer Bewegungs-Vorphase | (PREPHASE)
12 | Slave-State | Slave befindet sich in der Synchronisierungsphase | (SYNCHRONIZING)
13 | Slave-State | Slave ist aufsynchronisiert und fährt synchron | (SYNCHRON)

Das Bild zeigt eine typische Kopplung mit der Universellen Fliegenden Säge. Vor dem Start der Universellen Fliegenden Säge handelt es sich um 2 unabhängige Masterachsen (nAxisState < 10). Nach dem Start der Kopplung in der Synchronisierungsphase ist der nAxisState = 12. Der Wechsel in die Synchronphase wird durch den nAxisState = 13 signalisiert. Nachdem die Slave-Achse von der Master-Achse abgekoppelt worden ist, ist der nAxisState < 10, es handelt sich also wieder um einen Master-Achsen Bewegungszustand.

ADS-Schnittstelle

Dokumentation der ADS-Schnittstelle.


NC

Bewegungsumkehr der Masterachse / Rücklaufsperre

Das Verhalten der Universellen Fliegenden Säge bei einer Bewegungsumkehr des Masters kann über 2 Bits des SyncModes festgelegt werden. Das Bit GEARINSYNC_OPMASK_ROLLBACKLOCK aktiviert die Rücklaufsperre, die den Slave stillsetzt, wenn der Master nach einer Bewegungsumkehr rückwärts über die Koppelposition (die Position, an der die Universelle Fliegende Säge gestartet worden ist) hinaus fährt. Mit dem zweiten Bit GEARINSYNC_OPMASK_INSTANTSTOPONROLLBACK wird festgelegt, wie der Dynamikabbau der Slave-Achse erfolgt.

Achtung:

Die Wirkung dieser beiden Bits muss danach unterschieden werden, ob die Synchronphase vor der Bewegungsumkehr erreicht wird, oder ob die Bewegungsumkehr schon in der Synchronisierungsphase erfolgt.

In der folgenden Übersicht wird die Wirkung der Bits GEARINSYNC_OPMASK_ROLLBACKLOCK und GEARINSYNC_OPMASK_INSTANTSTOPONROLLBACK ausführlich erläutert.

ROLL
BACK
LOCK

INSTANT
STOP
ON
ROLLBACK

Synchronphase
erreicht ?

Beschreibung

0 0 ja Fall 1:

Bei der links angegebenen Bitkombination wird die synchrone Kopplung für alle Masterbewegungen beibehalten, wenn sich die Universelle Fliegende Säge einmal in der Synchronphase befindet. In dem unten dargestellten Bild erfolgt in der Synchronphase eine Bewegungsumkehr der Master-Achse, so dass diese rückwärts über die Koppelposition hinaus fährt. Die synchrone Kopplung wird hierbei beibehalten, so dass sich auch der Slave rückwärts über die Koppelposition hinaus bewegt.
0 0 nein Fall 2:

Vor dem Erreichen der Synchronphase erfolgt in der Synchronisierungsphase eine Bewegungsumkehr der Master-Achse, so dass diese rückwärts über die Koppelposition hinaus fährt. Da die Synchronphase nicht erreicht wurde, wird in diesem Fall die Geschwindigkeit der Slave-Achse beim Erreichen der Koppelposition mit einem Polynom 5. Ordnung abgebaut und die Achse stillgesetzt.
0 1 nein Fall 3:

Wie Fall 2, nur dass die Geschwindigkeit der Slave-Achse beim Erreichen der Koppelposition innerhalb eines Ticks abgebaut wird.

Achtung: Durch den Geschwindigkeitsabbau in einem Tick kann die Schleppabstandsüberwachung der Achse ausgelöst werden.
0 1 ja Fall 4:

Das Verhalten ist identisch mit dem Fall 1!

1 0 nein Fall 5:

Das Verhalten ist identisch mit dem Fall 2!

1 0 ja Fall 6:

Mit der links angegebenen Bitkombination wird die Rücklaufsperre der Universellen Fliegende Säge aktiviert. In dem unten dargestellten Bild erfolgt in der Synchronphase eine Bewegungsumkehr der Master-Achse, so dass diese rückwärts über die Koppelposition hinaus fährt. Bei dieser rückwärtigen Bewegung der Masterachse wird ab dem Erreichen der Koppelposition die Geschwindigkeit der Slave-Achse mit einem Polynom 5. Ordnung abgebaut. Es wird also ein Rücklaufen der Slave-Achse insofern verhindert, dass ab dem Erreichen der Koppelpositon die Slave-Geschwindigkeit stetig abgebaut wird.
1 1 nein Fall 7:

Das Verhalten ist identisch mit dem Fall 3.

1 1 ja Fall 8:

Mit der links angegebenen Bitkombination wird die Rücklaufsperre der Universellen Fliegende Säge aktiviert. In dem unten dargestellten Bild erfolgt in der Synchronphase eine Bewegungsumkehr der Master-Achse, so dass diese rückwärts über die Koppelposition hinaus fährt. Bei dieser rückwärtigen Bewegung der Masterachse wird ab dem Erreichen der Koppelposition die Geschwindigkeit der Slave-Achse in einem Tick abgebaut. Es wird also ein Rücklaufen der Slave-Achse insofern verhindert, dass ab dem Erreichen der Koppelpositon die Slave-Geschwindigkeit abgebaut wird.

Achtung: Durch den Geschwindigkeitsabbau in einem Tick kann die Schleppabstandsüberwachung der Achse ausgelöst werden.


NC

SPS-Funktionsbausteine

Zur Bedienung der Universellen Fliegenden Säge stehen die folgenden SPS-Funktionsbausteine zur Verfügung.

Funktion | Baustein
Synchronisation auf Geschwindigkeit | MC_GearInVelo
Synchronisation auf Position | MC_GearInPos
Lesen der charakteristischen Kennwerte | MC_ReadFlyingSawCharacteristics
Abkoppeln des Slaves | MC_GearOut


NC

Bedienung aus dem Systemmanager

Die Universelle Fliegende Säge kann zu Inbetriebnahmezwecken auch direkt aus dem System Manager gestartet werden.


NC

Diagonalsäge

Bei der Diagonalsäge handelt es sich im einfachsten Fall um eine Synchronisation auf Geschwindigkeit.

Im Gegensatz zur Fliegenden Säge wird bei der Universellen Fliegenden Säge nicht der Winkel zwischen der Master- und Slavebewegungsrichtung angegeben, sondern der Koppelfaktor. Dieser Koppelfaktor muss so berechnet werden, dass die Geschindigkeitskomponente der Slave-Achse in Richtung der Masterachse in der Synchronphase gleich der Mastergeschwindigkeit ist. Für die Berechnung des Koppelfaktors ergibt sich somit die folgende Gleichung:

Ein Winkel a von 90° kann natürlich nicht realisiert werden, da die Slave-Achse dann keine Geschwindigkeitskomponente in Richtung der Master-Achse besitzt.

Schematische Darstellung einer "Fliegenden Diagonalsäge"


NC

Fehlersituationen und Fehlercodes:

Folgende Situationen bzw. Parameter sind nicht erlaubt und führen zum Fehler:

  • Eine Kopplung mit der Universellen Fliegenden Säge ist zur Zeit nicht möglich, wenn die Mastergeschwindigkeit zum Koppelzeitpunkt Null ist und die Slavegeschwindigkeit ungleich Null ist. Die Kombination aus Master-Geschwindigkeit und Slave-Geschwindigkeit gleich Null ist hingegen erlaubt.
  • Getriebefaktor ist Null (ansonsten darf der Getriebefaktor jeden Wert annehmen)
  • Maximalgeschwindigkeit, Beschleunigung, Verzögerung oder Ruck sind negativ (hierbei wird Bezug auf die Achsdaten (Maschinendaten) des Systemmanagers genommen, die vorzeichenlos als Betrag interpretiert werden)
  • Die Synchronpositionen müssen in Bezug auf die Startpositionen zum Koppelzeitpunkt für den Master immer geometrisch in der Zukunft liegen und
    a.) für den Slave ebenfalls geometrisch in der Zukunft liegen, wenn der Koppelfaktor größer Null ist,
    b) für den Slave geometrisch in der Vergangenheit liegen, wenn der Koppelfaktor kleiner Null ist.
  • Achtung:

    Für die Realisierung der Funktionalität der Universellen Fliegenden Säge wird intern eine Motion Function Tabelle verwendet. Die intern verwendete Tabelle darf nicht durch anderweitige Tabellenfunktionen (z.B. durch eine Kurvenscheibe) belegt sein. Anderenfalls wird die Kopplung mit einem Fehlercode abgelehnt.
    Die Tabellen-Id der intern verwendeten Tabelle kann mit der folgenden Gleichung berechnet werden:

    Beispiel: Die Slave Achse mit der Achs-Id 2 belegt bei einer Kopplung mit der Universellen Fliegenden Säge die Tabellen-Id 254.

    Durch die interne Belegung der Tabellen-Id steht diese folglich auch nicht mehr für anderweitige Funktionalitäten zur Verfügung. Sie kann z. B. nicht mehr für eine Kurvenscheibe genutzt werden.

Beschreibung der Fehlercodes