lineare Bewegung automatisch laufen lassen (mit Codesys)

Fragen zur Software PLC-Lab
Antworten
vtreg
SPSTreff-Fortgeschrittener User
Beiträge: 19
Registriert: 30 Nov 2023, 16:38

lineare Bewegung automatisch laufen lassen (mit Codesys)

Beitrag von vtreg »

hallo,

durch zwei Elemente "Lineare Bewegung" simuliere ich Roboterarm-Bewegung in einer Ebene (XY, von oben gesehen). Dafür habe ich die Möglichkeit durch Eigenschaft "Positionierung" zum ersten Halt in XY-Koordinaten zu Steuern verwendet. Im ersten Schritt funktioniert das auch, wenn zur ersten Position gesteuert werden muss. Dann ändere ich "Positionsvorgabe" und schalte wieder "Positionierung aktivieren" und "Positionsdaten übernehmen" auf TRUE. Die neue Position wird übernommen, aber das Objekt bewegt sich nicht, wenn schon auch die Variablen mit PLC-Lab synchronisiert wurden. Woran könnte das liegen?

---> hier wird zweite Position eingestellt, wenn die erste erreicht wurde:

IF GVL.ST1_RB_PositionReachedX AND GVL.ST1_RB_PositionReachedY THEN
GVL.ST1_RB_xAutomaticMove := FALSE;
GVL.ST1_RB_StartMove := FALSE;

GVL.ST1_RB_iMagnet:=1;

GVL.ST1_RB_iGoToX := 132; // Koordinaten vom 2. Punkt
GVL.ST1_RB_iGoToY := 220;

Robot_Schritt :=2;
END_IF

GVL.ST1_RB_StartMove := TRUE;
GVL.ST1_RB_xAutomaticMove := TRUE;

Benutzeravatar
Weiss_MHJ
Site Admin
Beiträge: 674
Registriert: 13 Apr 2010, 16:34
Kontaktdaten:

Re: lineare Bewegung automatisch laufen lassen (mit Codesys)

Beitrag von Weiss_MHJ »

Hallo,

der Antrieb in PLC-Lab benötigt eine pos. Flanke an der Eigenschaft "Positionierdaten übernehmen". Dies ist wahrscheinlich die Ursache, weshalb die zweite Position nicht angefahren wird.
Sie stellen in Ihrer If-Entscheidung fest, dass die Position erreicht ist und setzen StartMove auf false. Gleich darunter setzen Sie StartMove auf true.
Wie soll da der Antrieb in PLC-Lab eine pos. Flanke spüren, wenn der false-Zustand nicht mindestens ein SPS-Zyklus ansteht?

Sie sollten programmtechnisch gewährleisten, dass nach dem Erreichen der Position z.B. 200ms vergehen, bis erneut der Start zum Anfahren der neuen Position erfolgt. Damit der Antrieb die pos. Flanke auch wirklich "spürt".

vtreg
SPSTreff-Fortgeschrittener User
Beiträge: 19
Registriert: 30 Nov 2023, 16:38

Re: lineare Bewegung automatisch laufen lassen (mit Codesys)

Beitrag von vtreg »

danke! das war genau das Problem mit dem Flanke. Jetzt läuft das. Ich habe aber ein anderes kleines Problem. Man kann bei "Sensor Positionierung abgeschlossen" beobachten, wann Position erreicht wurde, also aktuelle Position mit Positionsvorgabe übereinstimmt und das dauert manchmal sehr lange, bis "TRUE" gemeldet wird, obwohl beide Positionen (ich habe beide als INT deklariert) schon längst erreicht sind. Woran könnte das liegen und wie könnte das Problem beheben?

Benutzeravatar
Weiss_MHJ
Site Admin
Beiträge: 674
Registriert: 13 Apr 2010, 16:34
Kontaktdaten:

Re: lineare Bewegung automatisch laufen lassen (mit Codesys)

Beitrag von Weiss_MHJ »

Hallo,

Sie können die maximale Geschwindigkeit mit welcher der Antrieb seine Position anfährt erhöhen. Dazu stellen Sie in der Eigenschaft "Geschwindigkeit in m/s" der Linearbewegung einen höheren Wert ein.

Antworten