JK,
Using the orientation of the SafePos will force axis 4 to go to zero angle relative to the conveyor. See code example below how the orientation of axis 4 can be adjusted.
PROC Pick(num Index)
VAR num nAnyAngle:=180;
Coordinated;
WObjPick:=ItmSrcData{Index}.Wobj;
GetItmTgt ItmSrcData{Index}.ItemSource,PickTarget;
PickTarget.RobTgt.rot:=SafePos.rot;
PickTarget.RobTgt:=RelTool(PickTarget.RobTgt,0,0,0Rz:=nAnyA ngle);
TriggLConc,RelTool(PickTarget.RobTgt,0,0,-ItmSrcData{Index} .OffsZ),MaxSpeed,ItmSrcData{Index}.VacuumAct1,z20,GripperWO bj:=WObjPick;
MoveLConc,PickTarget.RobTgt,LowSpeed,z5Inpos:=ItmSrcData{I ndex}.TrackPoint,GripperWObj:=WObjPick;
GripLoad ItemLoad;
TriggL RelTool(PickTarget.RobTgt,0,0,-ItmSrcData{Index}.OffsZ),LowS peed,ItmSrcData{Index}.Ack,z20,GripperWObj:=WObjPick;
UnCoordinated;
ENDPROC
!=======================================
PROC Place(num Index)
VAR num nAnyAngle:=0;
Coordinated;
WObjPlace:=ItmSrcData{Index}.Wobj;
GetItmTgt ItmSrcData{Index}.ItemSource,PlaceTarget;
PlaceTarget.RobTgt.rot:=SafePos.rot;
PlaceTarget.RobTgt:=RelTool(PlaceTarget.RobTgt,0,0,0Rz:=nAn yAngle);
MoveLConc,RelTool(PlaceTarget.RobTgt,0,0,-ItmSrcData{Index} .OffsZ),MaxSpeed,z20,GripperWObj:=WObjPlace;
TriggLConc,PlaceTarget.RobTgt,LowSpeed,ItmSrcData{Index}.Va cuumRev1T2:=ItmSrcData{Index}.VacuumOff1,z5Inpos:=ItmSrcDa ta{Index}.TrackPoint,GripperWObj:=WObjPlace;
GripLoad load0;
TriggL RelTool(PlaceTarget.RobTgt,0,0,-ItmSrcData{Index}.OffsZ),Low Speed,ItmSrcData{Index}.Ack,z20,GripperWObj:=WObjPlace;
UnCoordinated;
ENDPROC