Hallo zusammen,
bei einer Zykluszeitoptimierung bin ich auf folgende Problem gestoßen:
Der Roboter macht während einer Bewegung über mehrere Punkte einen zwischen drin ist ein Handshake mit der SPS. Obwohl das Handshake schon lange durchlaufen ist habe ich das Gefühl, dass genau diese Handshake mir einen Stoppunkt beschert.
Programmcode mit Stop, Siehe Bild:
Code
MoveL\Conc, RelTool(pPickUpFixture{ProductCode},200,200,-300),vStep4,z50,tVacuumGripper\WObj:=wActFixture;
SetDo doR2PartFinishedRel,1;
mvHome\Zone:=z200;
SetGo goStepMerker,22;
WaitDi diR2PartFinishedAck,1;
SetDo doR2PartFinishedRel,0;
Programmcode ohne Stop:
Code
MoveL\Conc, RelTool(pPickUpFixture{ProductCode},200,200,-300),vStep4,z50,tVacuumGripper\WObj:=wActFixture;
SetDo doR2PartFinishedRel,1;
mvHome\Zone:=z200;
IF diR2PartFinishedAck=1 THEN
SetDo doR2PartFinishedRel,0;
ELSE
SetGo goStepMerker,22;
WaitDi diR2PartFinishedAck,1;
SetDo doR2PartFinishedRel,0;
ENDIF
Alles anzeigen
Wenn ich es wie im zweiten Code-Teil mache laufe ich Sauber durch.
Sollte WaitDi nicht wenn das Signal beim erreichen von WaitDi schon 1 ist, keine Stop auslösen?
Ich meine es läuft, aber irgendwie finde ich es nicht sehr schön.
Gruß Christian