Verwendung von Cam-Daten für Funktionsbausteine

Überblick

Cam-Diagramme werden als Grundlage für die Generierung von cam-Datenstrukturen mit einer entsprechenden Anzahl von cam-Punkten verwendet.

Diese Datenstrukturen können zur Parametrierung der FB_MultiCam / MC_Cam_ID-Funktionsbausteine oder einer POU mit äquivalenter Funktionalität eingesetzt werden.

Cam-Daten werden zur Initialisierung der Funktionsbausteine/Module verwendet, die cam-Datenstrukturen im Anwendungsprogramm verarbeiten.

Angeben des Zielfunktionsbausteins

Die Registerkarte Konfiguration des cam-Bewegungseditors stellt ein Eingabefeld zur Verfügung, in dem Sie eine vorhandene cam-Datenstruktur als Ziel angeben können. Wenn ein Ziel definiert ist, werden cam-Daten automatisch in diese Zielstruktur geschrieben, wenn das Programm initialisiert wird. Kann der Ausdruck nicht bestimmt werden, wird eine Diagnosemeldung generiert.

Ausgehend vom definierten Ziel erkennt EcoStruxure Machine Expert, ob die Datenstrukturen CommonMotionType- oder PacDriveLib-Strukturen sind und die Parametrierung entsprechend durchgeführt wird.

Datenstruktur

Bibliothek

ST_Multicam

PacDriveLib

FB_MultiCam / MC_Cam_ID

CommonMotionType

Generieren von Daten für Cam-Datenstrukturen

Wenn das Projekt generiert wird (mithilfe des Befehls Code generieren im Menü Generieren oder des Tastenkürzels F11), wird der IEC-Quellcode generiert und in die angegebene cam-Datenstruktur geschrieben.

Die Parametrierungsanweisungen für die cam-Datenstrukturen werden in folgendem Format generiert:

MyMultiCam.MultiCamData.diNumberOfCamPoints := 3;
MyMultiCam.MultiCamData.lrYPeriod := 0;
MyMultiCam.MultiCamData.astCamPoint[0].lrX := 0;
MyMultiCam.MultiCamData.astCamPoint[0].lrY := 100;
MyMultiCam.MultiCamData.astCamPoint[0].lrM := 0;
MyMultiCam.MultiCamData.astCamPoint[0].lrK := 0;
MyMultiCam.MultiCamData.astCamPoint[0].lrLambda := 0.5;
MyMultiCam.MultiCamData.astCamPoint[0].lrC := 1;
MyMultiCam.MultiCamData.astCamPoint[0].etCamType := ET_CAMTYPE.Poly5Com;
MyMultiCam.MultiCamData.astCamPoint[1].lrX := 100;
MyMultiCam.MultiCamData.astCamPoint[1].lrY := 0;
MyMultiCam.MultiCamData.astCamPoint[1].lrM := 0;
MyMultiCam.MultiCamData.astCamPoint[1].lrK := 0;
MyMultiCam.MultiCamData.astCamPoint[1].lrLambda := 0.5;
MyMultiCam.MultiCamData.astCamPoint[1].lrC := 1;
MyMultiCam.MultiCamData.astCamPoint[1].etCamType := ET_CAMTYPE.SimplSin;

In diesem Beispiel wird MyMultiCam.MultiCamData als Zieldatenstruktur konfiguriert.

Die generierten Daten basieren auf cam-Diagrammen, die im Offline-Modus bearbeitet wurden. Sie werden im Online-Modus nicht aktualisiert.

Maximale Anzahl an CamPoints

Jedes cam-Segment wird durch einen CamPoint definiert, der die Daten am linken Rand des Segments kennzeichnet. Der rechte CamPoint eines cam-Segments entspricht dem linken CamPoint des nächsten cam-Segments. Um den Endpunkt des cam-Diagramms zu identifizieren, wird das letzte cam-Segment durch einen eigenen rechten CamPoint definiert.

Es sind maximal 32 CamPoints für eine cam-Datenstruktur verfügbar. Wenn eine Zielstruktur mit einem cam-Diagramm mit mehr als 31 Segmenten ausgewählt wurde, wird eine Diagnosemeldung generiert. Um die Bewegung einer Achse mit mehr als 31 Segmenten zu entwerfen, müssen Sie diese in mehrere cam-Diagramme unterteilen.

HINWEIS: Wenn mehrere cam-Diagramme für die Antriebsauslegung mit Motion Sizer integriert werden, stellt Motion Sizer sicher, dass die globale cam-Kennlinie mit allen untergeordneten cam-Diagrammen verwendet wird.

Initialisieren des Funktionsbausteins

Um die konfigurierten cam-Daten für die Zielstruktur bereitzustellen, wird beim Start einmal ein Initialisierungscode ausgeführt. Diese Initialisierungstask wird von einer Programm-POU ausgeführt, die als Initialisierungscode aufgerufen wird, nachdem die Prozesse zur Benutzerinitialisierung abgeschlossen wurden.