Hallo,
als Persistent müssen nur Tool und Wobj übergeben.
Robtargets benötigen keinen Festlegung des Datentyps, da ansonsten nur Robtargets, die als PERSISTENT deklariert sind, verwendet werden können, d.h. Du kannst weder das Ergebnis einer Funktion noch eine Konstante übergeben.
WObj ist normalerweise ein optionaler Parameter und muss in Deinem Fall immer übergeben werden.
Optionale Parameter könnnen durch die Verwendung eines "?" anstelle von ":=" weitergeben werden, falls der Parameter verwendet wird.
Siehe nachfolgendes Beispiel:
PROC Test_Move2Pos(robtarget pTarget,PERS tooldata tTool\PERS wobjdata wWobj,...)
MoveJ Offs(pTarget,offset{1},offset{2},offset{3}),TravelSpeed,z5,tTool,\WObj?wWobj;
Da deine Zone kein optionaler Parameter ist, macht die Abfrage "IF Present(Zone)" keinen Sinn, da dieser Parameter immer vorhanden ist.
Mfg
Micky