Beispiel "Planar-Mover mit Group anlegen und verfahren"
Anhand dieser Anleitung werden Sie ein TwinCAT-Projekt anlegen, das zwei Planar-Mover sowie eine Planar-Group enthält. Es werden beide Mover zur Gruppe hinzugefügt und verfahren.
Planar-Mover anlegen
- Siehe Konfiguration.
- 1. Legen Sie zwei Planar-Mover an.
- 2. Versetzen Sie „Parameter (Init)“ in den Simulationsmodus (
TRUE
). Der Parameter ist versteckt und wird nur sichbar, wenn man die Checkbox „Show Hidden Parameters“ aktiviert. - 3. Ändern Sie die Startposition des zweiten Movers auf x=240.
Planar-Group anlegen
- 4. Fügen Sie die Planar-Group über Groups > Add New Item… hinzu, siehe Konfiguration.
PLC anlegen
- Siehe Vorabschritte PLC anlegen.
- 1. Legen Sie über MAIN zwei Mover („MC_PlanarMover“) und eine Planar-Group „MC_PlanarGroup“ an.
- Diese repräsentieren die Mover und die Gruppe in der MC Configuration.

- 2. Legen Sie, wie nachfolgend gezeigt, eine Zustandsvariable für eine Zustandsmaschine an sowie zwei Hilfspositionen für die MoveToPosition-Befehle der Mover.
PROGRAM MAIN
VAR
mover_one, mover_two : MC_PlanarMover;
group : MC_PlanarGroup;
state : UDINT;
pos1, pos2 : PositionXYC;
END_VAR
- 3. Programmieren Sie anschließend in der MAIN einen Ablauf.
- Dieser Programmcode aktiviert die Gruppe und beide Mover. Danach werden beide Mover zur Gruppe hinzugefügt.
CASE state OF
0:
mover_one.Enable(0);
mover_two.Enable(0);
state := 1;
1:
IF mover_one.MCTOPLC.STD.State = MC_PLANAR_STATE.Enabled
AND mover_two.MCTOPLC.STD.State = MC_PLANAR_STATE.Enabled THEN
state := 2;
END_IF
2:
group.Enable(0);
state := 3;
3:
IF group.MCTOPLC_STD.State = MC_PLANAR_STATE.Enabled THEN
state := 4;
END_IF
4:
mover_one.AddToGroup(0, group);
mover_two.AddToGroup(0, group);
state := 5;
5:
IF mover_one.MCTOPLC.STD.GroupOID = group.MCTOPLC_STD.GroupOID
AND mover_two.MCTOPLC.STD.GroupOID = group.MCTOPLC_STD.GroupOID THEN
state := 6;
END_IF
6:
pos1.SetValuesXY(0, 240);
pos2.SetValuesXY(0, 0);
mover_one.MoveToPosition(0, pos1, 0, 0);
mover_two.MoveToPosition(0, pos2, 0, 0);
state := 7;
END_CASE
Befehl abschicken
- 4. Um den Befehl auch abzuschicken, müssen Sie die Mover und die Gruppe zyklisch mit den Update-Methoden triggern:
mover_one.Update();
mover_two.Update();
group.Update();
Durch das Bauen der PLC werden Symbole des „PLC-Movers" und der „-Gruppe“ erzeugt, welche anschließend mit der Mover- bzw. Group-Instanz im MC-Projekt verknüpft werden können.
- 5. Verwenden Sie zum Bauen den Pfad PLC > Untitled1 > Untitled1 Project > Build.
- Anschließend können die Planar-Mover im „MC Project“ mit dem Button Link To PLC… im Reiter Settings verknüpft werden.
- 6. Doppelklicken Sie erst Mover eins, danach Mover zwei.
- Die Gruppe muss über die folgenden Dialogfenster separat verlinkt werden.




Projekt aktivieren und starten
- 1. Aktivieren Sie die Konfiguration über den Button in der Menüleiste
.
- 2. Versetzen Sie das TwinCAT-System in den Zustand „Run“ über den Button
.
- 3. Loggen Sie die PLC über den Button in der Menüleiste ein
.
- 4. Starten Sie die PLC über den Play-Button in der Menüleiste.
Nach Einloggen in die PLC und Starten sehen Sie, dass die Mover am Ende des Zustandsautomaten (state=7) nicht beide auf den Zielpositionen stehen. Mover eins ist nach x=0 und y=240 gefahren. Mover zwei ist nicht zum Ursprung gefahren, da dort noch Mover eins stand und das Kommando daher abgelehnt wurde, weil beide in einer gemeinsamen Gruppe sind.
Da die Dynamik-Limits der Mover per Default recht hoch sind, kann unter Umständen die Änderung der Positionen nach Einloggen mit dem Auge schlecht nachzuverfolgen sein. Zu den Dynamik-Limits siehe Planar-Mover.
