I have a similar situation and I use something like this:
5: MESSAGE[Waiting for clamp open] ;
6: MESSAGE[or Unload Tank] ;
7: ;
8:J P[1] 40% CNT100 ACC50 ;
9:J PR[11:PERCH] 40% FINE ;
10: ;
11: LBL[10] ;
12: WAIT DI[100:START_HANDLING_OPERATION]=ON OR DO[186:Unload Tank]=ON ;
13: ;
14: IF DO[186:Unload Tank]=ON,CALL B347_UNLOAD_TANK ;
15: ;
16: IF DI[100:START_HANDLING_OPERATION]=OFF,JMP LBL[10] ;
17: ;
21: DO[100:CLAMP CLOSE]=OFF ;
22: ;
23: Clear User Page ;