MC_CamIn

Funktionsbeschreibung

Dieser Funktionsbaustein aktiviert die Kopplung einer Masterachse und einer Unterachse mit dem in einer Kurventabelle angegebenen Profil für eine elektronische Kurve.

Die Bibliothek unterstützt die folgenden Kurventypen (Bewegungsgesetze) über die CommonMotionTypes-Bibliothek (weitere Informationen finden Sie unter ST_MultiCam und ET_CamType im CommonMotionTypes-Bibliothekshandbuch):

  • Gerade

  • Einfacher Sinus

  • Allgemeines Polynom fünften Grades

  • Standard-Polynom fünften Grades

ST_MultiCam ist die gleiche Datenstruktur, die von PacDrive3 verwendet wird und kann daher mit demselben Cam-Editor erstellt werden.

 WARNUNG
UNBEABSICHTIGTER GERÄTEBETRIEB
Prüfen Sie die physische Position der Unterachse am Anfang der Kurve und vergewissern Sie sich, dass sie mit der Position in der Kurvendefinition übereinstimmt.
Die Nichtbeachtung dieser Anweisungen kann Tod, schwere Verletzungen oder Sachschäden zur Folge haben.

Beim absoluten Startmodus der untergeordneten Achse kann das Umschalten zwischen zwei Kurven mit bestimmten Kombinationen von Master- und Unterachsskalierung über die Eingänge MasterScaling und SlaveScaling zu Sprüngen in der Position der untergeordneten Achse führen, wenn am Umschaltpunkt kein geeignetes Offset der Position der untergeordneten Achse eingestellt wird.

 WARNUNG
UNBEABSICHTIGTER GERÄTEBETRIEB
Stellen Sie sicher, dass Sie das korrekte Offset der Position der Unterachse eingestellt haben, wenn Sie im absoluten Unterachs-Startmodus zwischen zwei Kurven wechseln und die Master- und Unterachsskalierung über die Eingänge MasterScaling und SlaveScaling verwenden.
Die Nichtbeachtung dieser Anweisungen kann Tod, schwere Verletzungen oder Sachschäden zur Folge haben.
HINWEIS: Der Gesamtarbeitsbereich der Achse ist von ihrer Parametrierung abhängig. Um mechanische Schäden durch Überschreiten eines definierten eingeschränkten Arbeitsbereichs zu vermeiden, empfiehlt es sich, die Bewegung durch die Integration von Endschaltern in Ihre Konstruktion zu begrenzen, um die Achse bei Bedarf anzuhalten.

Rampenmechanismus (Ramp-in)

Der Funktionsbaustein stellt einen Rampenmechanismus (Ramp-in) zur Verfügung. Der Rampenmechanismus wird aktiviert, indem der Eingang SlaveStartMode auf RampIn gesetzt und über die Eingänge VelocityOffsetRampIn, AccelerationOffsetRampIn, DecelerationOffsetRampIn und JerkOffsetRampIn konfiguriert wird. Die Rampenrichtung einer Modulo-Achse kann über den Eingang RampInDirection festgelegt werden.

Interpolierte Kurve

Mit dem Funktionsbaustein können Sie interpolierte Kurven implementieren. Es sind vier Typen von interpolierten Kurven verfügbar:

  • Lineare Interpolation

  • Interpolation mit Poly5-Kurvengesetz

  • Lineare, nicht äquidistante Interpolation

  • Kubische Interpolation

Die Kurve wird aus einem Array von Kurvenpunkten interpoliert. Um eine interpolierte Kurve zu verwenden, erstellen Sie in Ihrer Anwendung ein Array mit mindestens 3 und höchstens 10000 Punkten.

Lineare Interpolation:

Das Array beschreibt die Funktion der Kurve (Y = f(X)). Die Werte, die Sie für das Array angeben, sind die Y-Koordinaten der Kurvenpunkte. Diese Y-Werte werden in gleichen Abständen entlang der X-Achse verteilt. (Das bedeutet, dass die X-Koordinaten durch den Funktionsbaustein bestimmt werden). Die Array-Werte sind den einzelnen Punkten von links nach rechts in aufsteigender Reihenfolge zugeordnet, beginnend mit dem niedrigsten Array-Index als niedrigstem X-Wert.

Interpolation mit Poly5-Kurvengesetz:

Das Array beschreibt die Funktion der Kurve in Bezug auf die Masterposition (X), die Position der Unterachse (Y), die Geschwindigkeit am Kurvenpunkt (V, entspricht der Steigung) und die Beschleunigung am Kurvenpunkt (A, entspricht der Krümmung). Verwenden Sie für X streng monoton ansteigende Werte.

Lineare, nicht äquidistante Interpolation:

Mit der linearen, nicht äquidistanten Interpolation können Sie eine Kurve mit Punkten definieren, die unterschiedliche X-Koordinatenabstände zwischen zwei aufeinander folgenden Punkten aufweisen. Verwenden Sie für X streng monoton ansteigende Werte.

Kubische Interpolation:

Im kubischen Interpolationsmodus können Sie nicht äquidistante Interpolationspunkte definieren, die für die Interpolation mit kubischen Splines verwendet werden. Äquidistante Interpolationspunkte können durch die explizite Definition von X- und Y-Werten angegeben werden. Verwenden Sie streng monoton ansteigende Werte für X. Ein natürlicher kubischer Standard-Spline wird für bis zu 100 Interpolationspunkte verwendet (Krümmung an Grenzpunkten ist gleich null). Dieser vorberechnete Algorithmus liefert eine kontinuierliche Krümmung. Bei mehr als 100 Interpolationspunkten wird eine kubische Spline-Interpolation von Hermite verwendet (keine kontinuierliche Krümmung). Vorberechnungen sind nicht erforderlich.

Um eine interpolierte Kurve zu starten, setzen Sie den Eingang InterpolationPoints auf die Adresse des Arrays, in dem die Kurvenpunkte gespeichert sind. Wenn der Eingang InterpolationPoints bei einer positiven Flanke des Eingangs Execute ungleich null ist, startet der Funktionsbaustein MC_CamIn eine interpolierte Kurve wie über den Eingang InterpolationParameter parametriert. Über den Eingang CamTableID bereitgestellte Daten werden ignoriert. Wenn der Eingang InterpolationPoints bei einer positiven Flanke des Eingangs Execute gleich null ist, startet der Funktionsbaustein die Kurve und ignoriert die über den Eingang InterpolationParameter bereitgestellten Daten.

Der Datentyp MC_Interpolation_Parameter dient zur Parametrierung der interpolierten Kurve. Er ist ein Alias für die Struktur ST_Interpolation_Parameter der MotionInterface-Bibliothek. Parametrierung:

  • udiNumCamPoints

    Anzahl der mit Kurvenpunkten gefüllten Array-Einträge. Wenn das Array größer als die Anzahl der gefüllten Kurvenpunkte ist, werden zusätzliche Array-Elemente ignoriert.

  • lrMinMasterPosition und lrMaxMasterPosition

    Für ein Array zur linearen Interpolation wird der Positionsbereich des Masters über lrMinMasterPosition und lrMaxMasterPosition festgelegt. Der Kurvenpunkt im niedrigsten Array-Index entspricht lrMinMasterPosition. Der Kurvenpunkt im über udiNumCamPoints festgelegten Array-Index entspricht lrMaxMasterPosition. Die anderen Kurvenpunkte sind gleichmäßig auf diese Masterpositionen verteilt. lrMinMasterPosition und lrMaxMasterPosition werden bei der Poly5-Interpolation und der kubischen Interpolation ignoriert.

  • etInterpolationMode

    Diese Enumeration gibt den Interpolationstyp an.

    • YArrayLinear (Die Kurve ist eine gerade Linie zwischen jedem der Kurvenpunkte.)

    • XYVAArrayPoly5 (Polynom 5. Grades)

    • XYArrayLinear (Die Kurve ist eine gerade Linie zwischen jedem der Kurvenpunkte, der X-Wert kann nicht äquidistant sein.)

    • XYArrayCubic (Kubische Interpolation)

 WARNUNG
UNBEABSICHTIGTER GERÄTEBETRIEB
  • Stellen Sie sicher, dass die Afestlegennzahl der Interpolationspunkte, die Sie für den Eingang InterpolationPoints festlegen, mit dem Wert übereinstimmt, den Sie für udiNumCamPoints der Struktur ST_InterpolationParameter angeben, die für den Eingang InterpolationParameter verwendet wird, wenn Sie eine interpolierte Kurve verwenden.
  • Vergewissern Sie sich, dass die Werte für X der Strukturen ST_InterpolationPointXYVA und ST_InterpolationPointXY strikt monoton ansteigen.
  • Stellen Sie sicher, dass die Daten im Array der Kurvenpunkte nicht geändert werden, während die Kurve gepuffert oder ausgeführt wird.
  • Stellen Sie sicher, dass keine Online-Änderungen ausgelöst werden, während die Kurve ausgeführt wird.
  • Stellen Sie sicher, dass ein potenzielles Positionsüberschwingen nach der Synchronphase der Achsen keine Bewegungen über den zulässigen Bewegungsbereich hinaus zur Folge hat, z. B. durch die Integration von Hardware-Endschaltern in Ihr Maschinendesign.
Die Nichtbeachtung dieser Anweisungen kann Tod, schwere Verletzungen oder Sachschäden zur Folge haben.

Detaillierte Informationen zur Parametrisierung einer interpolierten Kurve über ST_InterpolationParameter finden Sie im MotionInterface-Bibliothekshandbuch.

Starten einer Kurve an einer bestimmten Master-Position

Der Eingang MasterStartPosition ist für den Start einer Kurve an der angegebenen Masterposition vorgesehen. Dieser Eingang wird ignoriert, es sei denn, der Puffermodus ist über MC_BufferMode auf StartAtMasterPosition eingestellt.

Wenn MC_CamIn mit dem Puffermodus StartAtMasterPosition gestartet wird, muss die Unterachse eine andere Kurve ausführen. Ist dies nicht der Fall, erkennt MC_CamIn einen Fehler, ohne die Bewegung der untergeordneten Achse zu beeinträchtigen. Der über den Eingang MasterStartPosition bereitgestellte Wert muss innerhalb des von der aktuell laufenden Kurve definierten Bereichs von MasterAsSeenBySlave liegen. Ist dies nicht der Fall, erkennt MC_CamIn einen Fehler, ohne die Bewegung der untergeordneten Achse zu beeinträchtigen.

Wenn bereits ein anderer Auftrag hinter der aktuell laufenden Kurve gepuffert ist, während MC_CamIn mit dem Puffermodus StartAtMasterPosition gestartet wird (Eingang Execute auf TRUE gesetzt), wird der gepufferte Auftrag auf CommandAborted gesetzt, so als hätte der Funktionsbaustein mit dem Puffermodus StartAtMasterPosition die laufende Kurve mit dem Puffermodus Aborting unterbrochen.

Verhalten in Verbindung mit Ausgang EndOfProfile:
  • Wenn die laufende Kurve ihr letztes Segment beendet (Ausgang EndOfProfile wird auf TRUE), bevor die Position MasterStartPosition eines Funktionsbausteins mit dem Puffermodus StartAtMasterPosition erreicht ist, verhält sich die laufende Kurve so, als würde kein anderer Befehl gestartet.

  • Wenn die Position MasterStartPosition eines Funktionsbausteins mit Puffermodus StartAtMasterPosition erreicht wird, bevor die laufende Kurve ihr letztes Segment beendet, verhält sich die laufende Kurve so, als ob sie durch den gepufferten Funktionsbaustein abgebrochen wurde (CommandAborted wird auf TRUE gesetzt, EndOfProfile bleibt FALSE).

Verhalten von StartAtMasterPosition bei laufender periodischer Kurve:
  • Wenn ein Funktionsbaustein MC_CamIn mit dem Puffermodus StartAtMasterPosition während der Ausführung einer laufenden periodischen Kurve ausgelöst wird und die laufende Kurve ihren EndOfProfile-Wert erreicht, bevor die Position MasterStartPosition erreicht wird, „dreht sich die laufende Kurve um“ und setzt ihren Ausgang EndOfProfile für einen Zyklus auf TRUE.

  • Im nächsten Zyklus der laufenden periodischen Kurve wird die Position MasterStartPosition erreicht, bevor die laufende periodische Kurve ihren EndOfProfile-Wert erreicht. Dies ist der Fall, wenn die neue Kurve mit dem Puffermodus StartAtMasterPosition gestartet wird.

Die folgende Abbildung stellt dieses Verhalten dar:

Legende:

  • MSP = Position MasterStartPosition

  • SAMP = MC_CamIn mit Puffermodus StartAtMasterPosition ausgelöst

  • EOP = Position bei EndOfProfile

Verhalten von StartAtMasterPosition bei laufender Einmalkurve:
  • Wenn ein Funktionsbaustein MC_CamIn mit dem StartAtMasterPosition Puffermodus während der Ausführung einer laufenden einmaligen Kurve ausgelöst wird und die laufende Kurve ihren EndOfProfile-Wert erreicht, bevor die Position MasterStartPosition erreicht wird, setzt die laufende Kurve ihren Ausgang EndOfProfile auf TRUE und bleibt auf der Position, als würde keine andere Kurve ausgelöst.

  • Wenn der Master sich „umdreht“ und die Position MasterStartPosition erreicht ist, wird der Funktionsbaustein MC_CamIn mit dem Puffermodus StartAtMasterPosition gestartet. CommandAborted wird auf TRUE gesetzt, EndOfProfile bleibt FALSE.

Die folgende Abbildung stellt dieses Verhalten dar:

Legende:

  • MSP = Position MasterStartPosition

  • SAMP = MC_CamIn mit Puffermodus StartAtMasterPosition ausgelöst

  • EOP = Position bei EndOfProfile

  • MTA = Master “wendet”

Grafische Darstellung

Eingänge

Eingang

Datentyp

Beschreibung

Master

Axis_Ref

Verweis auf die Achse, für die der Funktionsbaustein ausgeführt werden soll.

Slave

Axis_Ref

Verweis auf die Achse, für die der Funktionsbaustein ausgeführt werden soll.

Execute

BOOL

Wertebereich: FALSE, TRUE.

Standardwert: FALSE.

Eine steigende Flanke des Eingangs Execute startet den Funktionsbaustein. Der Funktionsbaustein setzt die Ausführung fort, und der Ausgang Busy wird auf TRUE gesetzt.

Dieser Funktionsbaustein kann während seiner Ausführung neu gestartet werden. Die Zielwerte werden zum Zeitpunkt des Auftretens der steigenden Flanke durch die neuen Werte überschrieben.

CamTableID

MC_CAM_ID

Der Bezeichner der zu verwendenden Kurventabelle.

Der Datentyp MC_CAM_ID ist ein Alias ST_MultiCam der CommonMotionTypes-Bibliothek. Detaillierte Informationen finden Sie im CommonMotionTypes-Bibliothekshandbuch.

BufferMode

MC_Buffer_Mode

Standardwert: Aborting

Puffermodus.

Mögliche Werte:

  • Wert Aborting

  • Wert Buffered

Eine Beschreibung der Werte finden Sie unter MC_Buffer_Mode.

Periodic

BOOL

Wertebereich: FALSE, TRUE.

Standardwert: FALSE.

TRUE startet den periodischen Modus für MC_CamIn. In diesem Modus wird die Ausführung der Kurve kontinuierlich wiederholt.

FALSE startet die Kurve im Single-Shot-Modus. Die Position der untergeordneten Achse der nächstgelegenen Flanke (erster oder letzter Kurvenpunkt) wird eingefroren, wenn sie außerhalb des definierten Bereichs liegt, d. h. die untergeordnete Achse befindet sich im Stillstand (aber immer noch im Zustand SynchronizedMotion), wenn die Kurve außerhalb des definierten Bereichs liegt.

HINWEIS: Unabhängig davon, ob eine Kurve im periodischen Modus oder im Single-Shot-Modus gestartet wird, signalisiert sie EndOfProfile, und ein gepufferter Fahrauftrag (sofern ein solcher Auftrag vorhanden ist) wird aktiv, wenn EndOfProfile erreicht wird (selbst wenn die Kurve als periodisch definiert ist).

MasterOffset

LREAL

Wertebereich: -2147483648 bis 2147483647

Standardwert: 0

Das MasterOffset wird für interpolierte und Multi-Kurven verwendet. Wenn die Kurve im periodischen Modus gestartet wird (Eingang Periodic auf TRUE), wird das Offset nur in der ersten Periode angewendet.

Das Offset wird mit MasterStartMode Relative nicht unterstützt.

Berechnung, wenn MC_CamIn mit MasterStartMode Absolute, MasterScaling und MasterOffset ausgeführt wird:

  • stMotionOfMaster.lrPosition = MasterScaling * MasterPosition + MasterOffset

Ein Master-Offset ungleich null kann nur mit dem Puffermodus Aborting verwendet werden.

Die Master- und die Unterachse müssen entkoppelt werden, wenn ein Master-Offset ungleich null verwendet wird. Das bedeutet, dass beim Start einer Kurve mit einem Master-Offset MC_CamIn nicht dieselbe Master- und Unterachse aktiv sein kann.

SlaveOffset

LREAL

Wertebereich: -2147483648 bis 2147483647

Standardwert: 0

Eine mechanische Analogie zu einem Unterachsenversatz ist eine Nockenverschweißung mit zusätzlicher konstanter Schichtdicke.

Das SlaveOffset wird für interpolierte und Multi-Kurven verwendet. Wenn die Kurve im periodischen Modus gestartet wird (Eingang Periodic auf TRUE), wird das Offset nur in der ersten Periode angewendet.

Das Offset wird mit SlaveStartMode Relative nicht unterstützt.

Bei einer Modulo-Achse muss der Offset-Wert der Unterachse kleiner als die Modulo-Periode sein.

MasterScaling

LREAL

Wertebereich: Ein positiver LREAL-Wert

Standardwert: 1

Der MasterScaling-Faktor dient zur Berechnung der Position des Masters aus Sicht der Unterachse durch Multiplikation der Masterposition (bei absolutem Startmodus) oder des Offsets der Masterposition (bei relativem Startmodus).

SlaveScaling

LREAL

Wertebereich: -2147483648 bis 2147483647

Standardwert: 1

Der SlaveScaling-Faktor wird durch Multiplikation der Position der Unterachse, die aus der Kurve (im absoluten Startmodus) erhalten wurde, oder des Offsets der Unterachsposition (im relativen Startmodus) angewendet.

MasterStartMode

MC_Master_Start_Mode

Standardwert: Absolute

Mögliche Werte:

  • Wert Absolute

  • Wert Relative

Eine Beschreibung der Werte finden Sie unter MC_Master_Start_Mode.

SlaveStartMode

MC_Slave_Start_Mode

Standardwert: Relative

Mögliche Werte:

  • Wert Relative

  • Wert RampIn

  • Wert Absolute

Eine Beschreibung der Werte finden Sie unter MC_Slave Start_Mode.

RampInDirection

MC_Direction

Richtung der Rampe für die Kopplung, wenn die untergeordnete Achse eine Modulo-Achse ist. Die Richtung ist die Richtung zum absoluten Ziel des Rampenmechanismus (wobei angenommen wird, dass MC_CamIn = InSync) aus der Position der untergeordneten Achse, nicht die Y-Periode des Kurvenprofils.

Wenn die untergeordnete Achse keine Modulo-Achse ist, haben die Werte für diesen Eingang keine Auswirkung.

Standardwert: PositiveDirection

Mögliche Werte:

  • Wert PositiveDirection:

  • Wert NegativeDirection

  • Wert ShortestWay

Eine Beschreibung der Werte finden Sie unter MC_Direction.

VelocityOffsetRampIn

LREAL

Wertebereich: -2147483648 bis 2147483647

Standardwert: 0

Geschwindigkeits-Offset für Rampenmechanismus (Ramp-in) in Benutzereinheiten.

AccelerationOffsetRampIn

LREAL

Wertebereich: Ein positiver LREAL-Wert

Standardwert: 0

Beschleunigungs-Offset für Rampenmechanismus (Ramp-in) in Benutzereinheiten.

DecelerationOffsetRampIn

LREAL

Wertebereich: Ein positiver LREAL-Wert

Standardwert: 0

Verzögerungs-Offset für Rampenmechanismus (Ramp-in) in Benutzereinheiten.

JerkOffsetRampIn

LREAL

Wertebereich: Ein positiver LREAL-Wert und null

  • Positive Werte: Ruckbegrenzung (in Einheiten/s3) (maximaler Ruck, mit dem die Beschleunigung geändert wird).

  • Null: Ruckbegrenzung deaktiviert. Die Beschleunigung springt von null auf die maximale Beschleunigung (unendlicher Ruck).

Standardwert: 0

InterpolationPoints

POINTER TO BYTE

Speicheradresse eines Arrays mit einer Länge von 3 bis 10.000. Der Array-Typ hängt vom Wert von etInterpolationMode für den Eingang InterpolationParameter ab, entweder ARRAY OF LREAL oder ARRAY OF ST_InterpolationPointXYVA.

Wertebereich: 0 und 3 ... 10000

Standardwert: 0

HINWEIS: Der Wert muss derselbe sein wie der vom Eingang InterpolationParameter verwendete udiNumCamPoints-Wert von ST_InterpolationParameter. Detaillierte Informationen finden Sie im MotionInterface-Bibliothekshandbuch.

InterpolationParameter

MC_Interpolation_Parameter

Verwendet MC_InterpolationParameter zur Parametrierung einer interpolierten Kurve. Detaillierte Informationen finden Sie unter MC_InterpolationParameter.

MasterStartPosition

LREAL

Wertebereich: -2147483648 bis 2147483647

Standardwert: 0

Position des Masters (aus Sicht der Unterachse) einer vorherigen Kurve, wenn eine neue Kurve aktiv wird.

Dieser Eingang wird ignoriert, es sei denn, StartAtMasterPosition wird für MC_BufferMode verwendet.

Ausgänge

Ausgang

Datentyp

Beschreibung

InSync

BOOL

Wertebereich: FALSE, TRUE.

Standardwert: FALSE.

  • FALSE: Wenn die Achsen nicht gekoppelt sind und die Kurve nicht verarbeitet wird.

  • TRUE: Wenn die Achsen gekoppelt sind und die Kurve verarbeitet wird.

Busy

BOOL

Wertebereich: FALSE, TRUE.

Standardwert: FALSE.

  • FALSE: Der Funktionsbaustein wird nicht ausgeführt.

  • TRUE: Der Funktionsbaustein wird ausgeführt.

Active

BOOL

Wertebereich: FALSE, TRUE.

Standardwert: FALSE.

  • FALSE: Der Funktionsbaustein steuert die Bewegung der Achse nicht.

  • TRUE: Der Funktionsbaustein steuert die Bewegung der Achse.

CommandAborted

BOOL

Wertebereich: FALSE, TRUE.

Standardwert: FALSE.

  • FALSE: Die Ausführung wurde nicht abgebrochen.

  • TRUE: Die Ausführung wurde durch einen anderen Funktionsbaustein abgebrochen.

Error

BOOL

Wertebereich: FALSE, TRUE.

Standardwert: FALSE.

  • FALSE: Der Funktionsbaustein wird ausgeführt. Während der Ausführung wurde kein Fehler erkannt.

  • TRUE: Bei der Ausführung des Funktionsbausteins ist ein Fehler aufgetreten.

ErrorID

ET_Result

Diese Aufzählung stellt Diagnoseinformationen zur Verfügung.

EndOfProfile

BOOL

Wertebereich: FALSE, TRUE.

Standardwert: FALSE.

  • FALSE: Das letzte Segment der Kurve wurde nicht abgeschlossen.

  • TRUE: Nachdem das letzte Segment der Kurve abgeschlossen wurde.

RampInDuration

TIME

Gibt die verbleibende Zeit an, bis der Rampenvorgang abgeschlossen ist und der Ausgang InSync auf TRUE gesetzt wird.

Hinweise

Im Gegensatz zu den PLCopen Motion Control Part 1, Version 2.0-Spezifikationen stellt die Bibliothek keinen separaten Funktionsbaustein MC_CamTableSelect zur Verfügung. Die Kurventabelle wird als Eingang von MC_CamIn angegeben.

Die Bibliothek stellt keinen separaten Funktionsbaustein MC_CamOut zur Verfügung. Ein ausgeführter Funktionsbaustein kann durch einen anderen Funktionsbaustein ersetzt werden.

Dieser Funktionsbaustein bietet eine hohe Flexibilität für absolute und relative Bewegungen. So besteht beispielsweise nicht unbedingt eine Beziehung zwischen dem Modulo einer Master- (oder einer untergeordneten) Achse und der Anwendungsperiode einer Kurve in X- (oder Y-) Richtung. Daher können Offset-Korrekturen bei laufendem Betrieb vorgenommen werden, indem die Anwendungsperiode des Kurvenprofils leicht in X- oder Y-Richtung korrigiert wird. Dies wäre mit dem Achsen-Modulo nicht möglich, das nicht geändert werden kann, während die Achse einen Funktionsbaustein ausführt.

Die Funktionen FC_GetCamSlaveMovementFromGivenMasterForInterpolatedCam und FC_GetCamSlaveMovementFromGivenMasterForMultiCam der MotionInterface-Bibliothek unterstützen Sie bei der Wiederherstellung der Achsposition nach einer Unterbrechung oder einem Stopp einer Bewegung aufgrund eines erkannten Fehlers. Diese Funktionen berechnen die Zielposition, Geschwindigkeit und Beschleunigung einer untergeordneten Achse zum Zeitpunkt der Ausführung der Funktion, wenn diese Achse mit der Bewegung einer Masterachse durch eine Kurve gekoppelt ist. Die Unterachse wird nicht bewegt oder ist anderweitig betroffen. Diese Funktionen können nur einmal aufgerufen werden, um die Startbedingungen für die untergeordnete Achse zu bestimmen, damit diese nicht rampenförmig wird. Sie können nicht zyklisch verwendet werden, um die Werte der untergeordneten Achsen fortlaufend zu lesen.

Mit den Funktionen FC_GetMasterPositionFromGivenSlavePositionForInterpolatedCam und FC_GetMasterPositionFromGivenSlavePositionForMultiCam der MotionInterface-Bibliothek können Sie die Masterposition aus einer gegebenen Unterachsposition berechnen.