Kurvenbeschreibung mit dem CAM Editor realisieren

 

Eine komfortable Möglichkeit zum Definieren einer Kurvenbeschreibung ist das Konfigurieren eines Objekts vom Typ "CAM Description" mittels des CAM Editors im MOVIRUN® open Editor.

Objekte vom Typ "CAM Description" hinzufügen

Objekte vom Typ "CAM Description" können im MOVIRUN® open Editor über das Kontextmenü der Applikation hinzugefügt werden. Der CAM Editor öffnet sich nach dem Anlegen eines neuen Objekts automatisch, kann anschließend aber auch jederzeit über einen Doppelklick auf das Objekt Geräte-Baum wieder geöffnet werden.

Kurvensegmente hinzufügen

Kurvensegmente können Im CAM Editor über [Add segment] und [Remove segment] hinzugefügt oder gelöscht werden.

Kurvenbeschreibung konfigurieren

Für die Kurvensegmente können folgende Einstellungen vorgenommen werden. Je nach eingestellter Function und eingestelltem Mode können unterschiedlich viele Parameter eingestellt werden. Die blau hinterlegten Felder sind bei der aktuell gewählten Einstellung nicht editierbar.

Name

Beschreibung

Function

Mathematische Funktion des Kurvensegments:

  • Acceleration trapezoid
  • Polynomial 3
  • Polynomial 5
  • Polynomial 7
  • Modified sinusoid
  • Sine
  • Sinusoid of Bestehorn
  • Linear

Mode

Dynamisches Verhalten an den Segmentgrenzen. Die Buchstaben beschreiben das Verhalten an einer Segmentgrenze. Mit den Einstellungen "R-R", "R-M", "M-R" und "M-I" bezieht sich der 1. Buchstabe immer auf das Verhalten an der linken Segmentgrenze, der 2. Buchstabe auf das Verhalten an der rechten Segmentgrenze.

  • R = Rast: An der Segmentgrenze wird mindestens die 1. Ableitung auf 0 eingestellt. Soweit es die mathematische Funktion erlaubt, werden auch weitere Ableitungen auf 0 eingestellt. Die betreffenden Größen können dann nicht durch den Anwender konfiguriert werden.
  • M = Motion: An der Segmentgrenze kann mindestens die 1. Ableitung durch den Anwender konfiguriert werden. Soweit es die mathematische Funktion erlaubt, können auch weitere Ableitungen durch den Anwender konfiguriert werden.
  • I = Invertierend (Nur mit Function "Sine" verfügbar): An der rechten Segmentgrenze werden die Werte der linken Segmentgrenze übernommen, wobei das Vorzeichen der 1. Ableitung invertiert wird. Die Bewegung an der rechten Segmentgrenze hat dieselbe Position erreicht wie an der linken Segmentgrenze, bewegt sich aber mit demselben Betrag der Geschwindigkeit in die Gegenrichtung.

X1

Master-Position linke Segmentgrenze

Y1

Slave-Position linke Segmentgrenze

1. Ableitung dy / dx an der linken Segmentgrenze

Y´´

2. Ableitung d2y/dx2 an der linken Segmentgrenze

Y´´´

3. Ableitung d3y/dx3 an der linken Segmentgrenze

X2

Master-Position rechte Segmentgrenze

Y2

Slave-Position rechte Segmentgrenze

Y2´

1. Ableitung dy / dx an der rechten Segmentgrenze

Y2´´

2. Ableitung d2y/dx2 an der rechten Segmentgrenze

Y2´´´

3. Ableitung d3y/dx3 an der rechten Segmentgrenze

Diagrammeinstellungen festlegen

Im Bereich "Plotting settings" können die Einstellungen für das Diagramm vorgenommen werden. Um Werte aus dem Diagramm (Plot) anzuzeigen, bewegen Sie den Cursor bei gedrückter linker Maustaste auf der Kurve. Über das Mausrad kann im Diagramm gezoomt werden.

Name

Beschreibung

Positionsverlauf

Postion im Plot anzeigen

Velocity

Geschwindigkeitsverlauf im Plot anzeigen

Acceleration

Beschleunigungsverlauf im Plot anzeigen

Jerk

Ruckverlauf im Plot anzeigen

Scale plot

Skalierung des Diagramms:

  • Ein: Alle Profile werden so skaliert, dass sie den maximal möglichen Bereich (höchste Auflösung) abdecken. In diesem Fall gilt die Skalierung der Y-Achse nur für die Positionswerte.
  • Aus: Alle Profile werden entsprechend der Y-Achse skaliert. In diesem Fall können einige der Darstellungen nahezu unsichtbar erscheinen

Reset Plot

Diagramm auf Standardeinstellung zurücksetzen

Show Tracker

Master-Position im Diagramm als vertikale Linie anzeigen

Velocity limit

Geschwindigkeitsgrenze der Slave-Achse einblenden.
Diese Einstellung ist nur sichtbar, wenn ein Achskontext konfiguriert und ausgewählt ist.

Acceleration limit

Beschleunigungsgrenze der Slave-Achse wird eingeblendet.
Diese Einstellung ist nur sichtbar, wenn ein Achskontext konfiguriert und ausgewählt ist.

Achskontext einstellen

Eine Kurvenbeschreibung kann in beliebigen Kombination von Master- und Slave-Achsen verwendet werden. Einige Eigenschaften wie z. B. die Anwendereinheiten oder die konfigurierten Applikationsgrenzen einer bestimmten Master-Slave-Kombination können durch die Verwendung dieser spezifischen Kombination als "Achskontext" dargestellt werden.

In diesem Beispiel wird "VirtualAxis" als Master-Achse und z. B. "Axis1" als Slave-Achse verwendet. Um diesen Achskontext anzuwenden, wählen Sie die entsprechende Kombination aus der Liste "Current axis context". Voraussetzung zum Anlegen eines Achskontexts ist, dass sich im IEC-Projekt mindestens 2 Achsen in Form eines logischen Geräts befinden.

Um einen neuen Achsenkontext anzulegen, klicken Sie [Add axis context].

Im sich daraufhin öffnenden Dialogfenster können Sie in den Spalten "MasterAxis" und "SlaveAxis" je eine Master- und eine Slave-Achse auswählen.

Über [OK] wird der Achskontext übernommen und kann anschließend ausgewählt werden.

Es können auch mehrere Achskontexte angelegt bzw. über das Papierkorb-Symbol wieder gelöscht werden. Nach dem Auswählen eines Achskontexts werden in der Darstellung die Namen und Anwendereinheiten der jeweiligen Achskombination angezeigt.

Applikationsgrenzen validieren

Die Konfiguration der Applikationsgrenzen (Geschwindigkeit und Beschleunigung) kann mit dem CAM Editor validiert werden. Dazu ist es notwendig, die Dauer eines Kurvenzykluses im Feld "Master-Zykluszeit" anzugeben. Die konfigurierten Grenzen werden angezeigt, wenn sie in den "Plotting settings" über "Show Tracker" aktiviert sind.

In folgendem Beispiel überschreitet das Beschleunigungsprofil (blaue Linie) die konfigurierten Grenzen (gestrichelte blaue Linien), während sich das Geschwindigkeitsprofil (grüne Linie) noch innerhalb der konfigurierten Grenzen (grüne gestrichelte Linie) bewegt.

Werte an einem bestimmten Kurvenpunkt lesen

In einigen Fällen kann es interessant sein, Geschwindigkeiten oder Beschleunigungen an einem bestimmten Kurvenpunkt zu validieren. Klicken Sie dazu in das Diagramm und bewegen Sie die Maus auf den entsprechenden Kurvenpunkt (hier: Master-Position 0.5).

Auf der linken Seite werden die Slave-Werte angezeigt, basierend auf der angegebenen "Master-Zykluszeit" von 100 ms:

  • Slave-Position: 180.0 °
  • Slave-Geschwindigkeit: 6750.0 °/s.
  • Slave-Beschleunigung: 0.0 °/s/s.
Variable im Online-Modus des CAM Editors beobachten

Jedes Objekt vom Typ CAM Description ist mit einer entsprechenden globalen Variable verknüpft, die z. B. innerhalb eines Beobachtungsfensters überwacht werden kann. Gehen Sie zum Beobachten der globalen Variable wie folgt vor:

  1. Öffnen Sie im Menü [View] > [Watch] ein Beobachtungsfenster.
    • Das Dialogfenster zum Konfigurieren des Beobachtungsfensters wirds geöffnet.
  2. Doppelklicken Sie im Konfigurationsmenü des Beobachtungsfensters zum Öffnen des Eingabeassistenten (Input Assistant) auf [...].
  3. Wählen Sie im Eingabeassistenten die betreffende Variable.
    • Um online mit dem CAM Editor arbeiten zu können, muss die entsprechende globale Variable innerhalb des Applikationsprogramm verwendet werden (z. B. als Eingang MC_Camin.CamTableID).

Wenn der CAM Editor online geöffnet wird, ist zunächst eine leere Darstellung sichtbar. Dies liegt daran, dass der CAM Editor die entsprechende globale Variable nicht ständig liest. Außerdem kann der Anwender in diese Variable aus dem Anwendungsprogramm schreiben, so dass der CAM Editor nicht weiß, zu welchem Zeitpunkt es sinnvoll ist, die Variable zu lesen, um konsistente Daten zu erhalten. Deshalb muss der Anwender das Auslesen der Daten über die Schaltfläche [Read CAM Description] anstoßen. Der CAM Editor versucht dann, den Inhalt der entsprechenden globalen Variable anzuzeigen.

Insbesondere wenn die Kurvenbeschreibung aus dem Applikationsprogramm verändert wird, besteht die Gefahr, dass inkonsistente Daten zugewiesen werden. So könnte die Anzahl der in der Kurvenbeschreibung definierten Kurvensegmente CamDescription.uiNumberOfDefinedCamSegments gleich 0 oder größer als die maximal mögliche Anzahl (20) sein oder der rechten Grenze eines Kurvensegments CamSegment[n].Right.lrx wird ein kleinerer Wert zugewiesen als der linken Grenze CamSegment[n].Left.lrX. In diesen Fällen bleibt der Plot auch nach dem Ausführen von [Read CAM Description] leer.

Nach dem Lesen der CAM Description kann der Anwender Änderungen vornehmen. Änderungen werden erst nach Auslösen von [Write CAM Description] wirksam. Dies geschieht aus den gleichen Gründen wie oben beschrieben. Es ist nicht sinnvoll, dauerhaft in die globale Variable zu schreiben oder mit jeder einzelnen Änderung zu schreiben. Nur der Anwender weiß, wann die Änderungen abgeschlossen sind und das Schreiben einer CAM Description erfolgen soll.

Die so konfigurierte Kurvenbeschreibung wird beim Aufruf des Funktionsbausteins MC_CamIn als CamTableID übergeben.