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:
|
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.
|
X1 | Master-Position linke Segmentgrenze |
Y1 | Slave-Position linke Segmentgrenze |
Y´ | 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:
|
Reset Plot | Diagramm auf Standardeinstellung zurücksetzen |
Show Tracker | Master-Position im Diagramm als vertikale Linie anzeigen |
Velocity limit | Geschwindigkeitsgrenze der Slave-Achse einblenden. |
Acceleration limit | Beschleunigungsgrenze der Slave-Achse wird eingeblendet. |
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:
- Öffnen Sie im Menü [View] > [Watch] ein Beobachtungsfenster.
- Das Dialogfenster zum Konfigurieren des Beobachtungsfensters wirds geöffnet.
- Doppelklicken Sie im Konfigurationsmenü des Beobachtungsfensters zum Öffnen des Eingabeassistenten (Input Assistant) auf [...].
- 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.

