Beispiel „Planar-Mover auf Planar-Parts verfahren"

In diesem Beispiel wird ein Planar-Mover auf zwei Planar-Parts verfahren.

Ausgangspunkt

Sie starten mit einer Solution, die eine fertig konfigurierte XPlanar Processing Unit enthält. Unter der XPlanar Processing Unit sind zwei Parts, ein Koordinatensystem und ein Mover angelegt. Unter den beiden Parts ist jeweils eine Kachel angelegt.

Beispiel „Planar-Mover auf Planar-Parts verfahren" 1:

Folgende geometrische Situation ist eingestellt: die beiden Parts liegen nebeneinander und der Mover startet in der Mitte des linken Parts (Position P1). Beide Parts sind nicht beweglich und die Konfiguration ist daher statisch.

Beispiel „Planar-Mover auf Planar-Parts verfahren" 2:

Ausgehend von dieser Konfiguration wird das Beispiel entwickelt.

Beispiel „Planar-Mover auf Planar-Parts verfahren" 3:

Die Erstellung der Ausgangssituation wird in der Dokumentation der XPlanar Processing Unit beschrieben.

Planar-Mover und Planar-Environment anlegen

1. Legen Sie für dieses Beispiel einen Planar-Mover an, siehe Konfiguration.
2. Legen Sie eine Planar-Environment an, siehe Konfiguration.
3. Stellen Sie den Initialparameter XPlanar processing unit OID auf die Objekt Id der XPlanar Processing Unit. Damit ist das Part feature für alle MC Configuration Objekte aktiviert (besonders für den angelegten Planar-Mover).

PLC anlegen

Siehe Vorabschritte PLC anlegen.
1. Legen Sie über MAIN den oder die Mover („MC_PlanarMover“) wie folgt an.
Beispiel „Planar-Mover auf Planar-Parts verfahren" 4:
Diese/r repräsentiert den/die Mover in der MC Configuration.
2. Legen Sie, wie nachfolgend gezeigt, einen Planar-Mover, eine Zustandsvariable für eine Zustandsmaschine und eine Zielposition für einen Fahrbefehl des Movers an.
PROGRAM MAIN
VAR
    mover : MC_PlanarMover;
    state : UDINT;
    target_position : PositionXYC;
END_VAR
3. Programmieren Sie anschließend in der MAIN einen Ablauf.
Dieser Programmcode aktiviert den Mover und verfährt ihn zur Position x=100 und y=100, diese ist im Part-Koordinatensystem des rechten Parts angegeben (dessen Objekt Id ist 16#01010030).
CASE state OF
  0:
    mover.Enable(0);
    state := 1;
  1:
    IF mover.MCTOPLC.STD.State = MC_PLANAR_STATE.Enabled THEN
      state := 2;
    END_IF
  2:
    target_position.SetValuesXYCReferenceId(100, 100, 0, 16#01010030);
    mover.MoveToPosition(0, target_position, 0, 0);
    state := 3;
END_CASE

Befehl abschicken

4. Um den Befehl abzuschicken, müssen Sie den Mover nach dem END_CASE zyklisch mit seiner Update-Methode aufrufen:
mover.Update();

Durch das Bauen der PLC wird ein Symbol des „PLC-Movers" erzeugt, welches anschließend mit der Mover-Instanz im MC-Projekt verknüpft werden kann.

1. Verwenden Sie zum Bauen den Pfad PLC > Untitled1 > Untitled1 Project > Build.
Beispiel „Planar-Mover auf Planar-Parts verfahren" 5:
Anschließend kann der Planar-Mover im „MC Project“ (Doppelklick) mit dem Button Link To PLC… im Reiter Settings verknüpft werden.
Beispiel „Planar-Mover auf Planar-Parts verfahren" 6:
Zusätzlich muss der Planar-Mover im „MC Project“ (Doppelklick) mit dem Button Link To I/O… im Reiter Settings verknüpft werden.
Beispiel „Planar-Mover auf Planar-Parts verfahren" 7:

Projekt aktivieren und starten

1. Aktivieren Sie die Konfiguration über den Button in der Menüleiste Beispiel „Planar-Mover auf Planar-Parts verfahren" 8:.
2. Versetzen Sie das TwinCAT-System in den Zustand „Run“ über den Button Beispiel „Planar-Mover auf Planar-Parts verfahren" 9:.
3. Loggen Sie die PLC über den Button in der Menüleiste ein Beispiel „Planar-Mover auf Planar-Parts verfahren" 10:.
4. Starten Sie die PLC über den Play-Button in der Menüleiste.

Der Mover steht am Ende des Zustandsautomaten (state=3) auf der gewünschten Position. Die Position ist im Koordinatensystem angegeben und nicht wie die target_position im Part-Koordinatensystem des rechten Parts (dessen Objekt Id ist 16#01010030). Beide Systeme sind zueinander um 240 mm in x-Richtung verschoben. Außerdem ist zu sehen, dass die Achsen a, b und z ein leichtes Rauschen aufweisen. Dieses wird durch die Simulation der XPlanar Processing Unit erzeugt und wirkt sich beim Aufstarten auf die initial übernommene Position aus.

Beispiel „Planar-Mover auf Planar-Parts verfahren" 11: