Ich habe genau dasgleiche Problem am Anfang gehabt.
Hab mir mal erlaubt den Code etwas zu bearbeiten.
Musst nur noch im Menü.ini die entsprechenden Buttons erstellen,dann sollte es funktionieren.
Decl PARAM G_Set={VALUE {NUMBER: min 1, max 6,DEFAULT 1, AUTOLIMIT FALSE},Shortname[] "Greiferpos:" , Shortcut[] "POS" , USERMODE 0}
Decl PARAM D_Way={VALUE {NUMBER: min -1, max 1,DEFAULT 1, AUTOLIMIT FALSE},SHORTNAME[] "Distance:" , SHORTCUT[] "DST" , USERMODE 0}
Decl PARAM D_Time={VALUE {REAL:MIN -60,MAX 60, Step 0.1,Default 0.0},Shortname[] "Delay:" , UNIT [] "sec" , Shortcut[] "DLY"}
DECL FOLD SETZUU[3]
SETZUU[1]="SET (%G_Set ,#CONT ,%D_Way ,%D_Time )"
SETZUU[2]="TRIGGER WHEN DISTANCE=%D_Way DELAY=%D_Time DO Greiferpos_SOLL=%G_Set PRIO=-1 "
SETZUU[3]="TRIGGER WHEN DISTANCE=%D_Way DELAY=%D_Time DO _Start=TRUE PRIO=-1 "
DECL FOLD SETPG[8]
SETPG[1]="SET(%G_Set )"
SETPG[2]="REPEAT"
SETPG[3]="Greiferpos_SOLL=%G_Set "
SETPG[4]="_Start=TRUE"
SETPG[5]="UNTIL (Greiferpos_ref==%G_Set )"
SETPG[6]="REPEAT"
SETPG[7]="_Start=FALSE"
SETPG[8]="UNTIL (_Start==FALSE)"
DECL FOLD CHKUU[3]
CHKUU[1]="CHECK (%GrpposCHK )"
CHKUU[2]="CONTINUE "
CHKUU[3]="WAIT FOR Greiferpos_ref==%GrpposCHK "
DEFTP Set_Grp ={SOC FALSE , SOT FALSE}
DECL InlineForm _Cont = {FOCUS 1,PARAM[1] G_Set , PARAM[2] D_Way , PARAM[3] D_Time , FOLD[1] SETZUU }
DECL InlineForm _Fine = {FOCUS 1,PARAM[1] G_Set , FOLD[1] SETPG }
ENDTP
DEFTP Chk_Grp = {SOC FALSE , SOT FALSE}
DECL InlineForm _State = {FOCUS 1,PARAM[1] G_Set , FOLD[1] CHKUU }
ENDTP