Konkret gesagt möchte ich eine Offstevariable für die Achse 6 hinzufügen. Bisser gibt es nur offsetvariable für die X,Y,Z Achsen. Hier ein paar Auszüge aus dem Prog. mit Vermerk
PROC PalBild_5_L()
VAR num nOffset_x1:=477;
VAR num nOffset_y1:=0;
VAR num nOffset_x2:=237;
VAR num nOffset_y2:=10;
VAR num nOffset_x3:=483;
VAR num nOffset_y3:=260;
VAR num nOffset_x4:=0;
VAR num nOffset_y4:=0;
VAR num nOffset_x5:=242;
VAR num nOffset_y5:=0;
VAR num nAbgabePos_x;
VAR num nAbgabePos_y;
VAR num nAbgabePos_z;
vPalWeg:=v3000;
vmax:=v4000;
TEST aktPosNr

Hier wird aufgrund der aktPosNr entschieden (bei 2,7,9....) daß das Paket gedreht wird.
CASE 2,7,9,14,16,21,23,28:
jAbgabe:=CalcJointT(pAbgabe_5L,Werkzeug);
:!:Hier wird ja die Achse 6 um 180 Grad gedreht wenn ich das richtig sehe!?

Richtig .. Hier wird der Winkel der Achse 6 um 180 Grad gedreht
Wenn du die Position Ablage etwas drehst dann dreht sich auch die Position
jAbgabe.robax.rax_6:=jAbgabe.robax.rax_6+180;
pAbgabe:=CalcRobT(jAbgabe,Werkzeug);
jHome:=jHomePosBevore;
!
?????? Weiß auch nicht was das soll
pBefore_3:=pAbgabe;
pBefore_2:=pAbgabe;
pBefore_1:=pAbgabe;
pBefore:=pAbgabe;
pBefAb:=pAbgabe;
pAfter_1:=pAbgabe;
pAfter:=pAbgabe;
!
Hier wird der X Y Z A6 Anteil einzeln aus der pAblageposition entnommen
nAbgabePos_x:=pAbgabe.trans.x;
nAbgabePos_y:=pAbgabe.trans.y;
nAbgabePos_z:=pAbgabe.trans.z;
nAbgabePos_A6:=pAbgabe.trans.A6;
!
DEFAULT:
pAbgabe:=pAbgabe_5L;
jHome:=jHomePosBevore;
!
pBefore_3:=pAbgabe;
pBefore_2:=pAbgabe;
pBefore_1:=pAbgabe;
pBefore:=pAbgabe;
pBefAb:=pAbgabe;
pAfter_1:=pAbgabe;
pAfter:=pAbgabe;
!
nAbgabePos_x:=pAbgabe.trans.x;
nAbgabePos_y:=pAbgabe.trans.y;
nAbgabePos_z:=pAbgabe.trans.z;
nAbgabePos_A6:=pAbgabe.trans.A6;
ENDTEST
Hier werden die Positionen mit Offset verschoben je Lage
!
TEST aktPosNr
CASE 1:
! 1. Position (1. Lage)
nNext_x:=nAbgabePos_x-nOffset_x1;
nNext_y:=nAbgabePos_y-nOffset_y1;
nNext_z:=nAbgabePos_z;
CASE 2:
! 2. Position (1. Lage)
nNext_x:=nAbgabePos_x-nOffset_x2;
nNext_y:=nAbgabePos_y-nOffset_y2;
nNext_z:=nAbgabePos_z;