/PROG  ALL
/ATTR
OWNER		= MNEDITOR;
COMMENT		= "";
PROG_SIZE	= 3689;
CREATE		= DATE 14-05-13  TIME 17:03:06;
MODIFIED	= DATE 14-05-13  TIME 17:21:44;
FILE_NAME	= ;
VERSION		= 0;
LINE_COUNT	= 118;
MEMORY_SIZE	= 4365;
PROTECT		= READ_WRITE;
TCD:  STACK_SIZE	= 0,
      TASK_PRIORITY	= 50,
      TIME_SLICE	= 0,
      BUSY_LAMP_OFF	= 0,
      ABORT_REQUEST	= 0,
      PAUSE_REQUEST	= 0;
DEFAULT_GROUP	= 1,*,*,*,*;
CONTROL_CODE	= 00000000 00000000;
/MN
  ! motion ;
J P[1:test point] 100% FINE    ;
J P[1] 100.0sec CNT100    ;
J P[1] 100msec CNT R[1]    ;
L P[1] 100/sec FINE    ;
L P[1] 100cm/min CNT100    ;
L P[1] 100.0inch/min CNT100    ;
L P[1] 100deg/sec CNT100    ;
  ! indirect speed ;
L P[1] R[1]sec CNT100    ;
  ! indirect indirect ;
L PR[1] R[R[1]]msec CNT100    ;
  ! indirect destination ;
L PR[R[1]] max_speed CNT100    ;
   ;
  ! assignment ;
  R[1]=R[2]    ;
  ! indirect assignment ;
  R[R[1]]=R[2] ;
  ! system variables ;
  $foo=$bar[100].$baz ;
  R[1]=$FOO.$BAR ;
    ;
  ! various keyword assignments ;
  PR[1]=LPOS    ;
  PR[1]=JPOS    ;
  PR[1]=UFRAME[1] ;
  PR[1]=UTOOL[1] ;
  PR[1]=P[1]    ;
  PR[1,1:component]=5    ;
  SR[1:string reg]=SR[2]+AR[1]    ;
  R[1]=SO[1:Cycle start] DIV SI[2:Remote]    ;
  R[1]=UO[1:Cmd enabled] MOD UI[1:*IMSTP]    ;
  ! mixed logic ;
  DO[1]=(DI[1] AND AR[1] AND F[1] OR TIMER[1]>TIMER_OVERFLOW[1]) ;
  F[1]=(ON) ;
  JOINT_MAX_SPEED[1]=5 ;
  LINEAR_MAX_SPEED=5 ;
  SKIP CONDITION DI[1]=OFF-   ;
  PAYLOAD[R[1]] ;
  OFFSET CONDITION PR[1]    ;
  UFRAME_NUM=1 ;
  UTOOL_NUM=1 ;
  UFRAME[1]=PR[1] ;
  UTOOL[1]=PR[1] ;
  RSR[1]=ENABLE ;
  RSR[AR[1]]=DISABLE ;
  UALM[1] ;
  TIMER[1]=START ;
  TIMER[1]=STOP ;
  TIMER[1]=RESET ;
  OVERRIDE=50% ;
  TOOL_OFFSET CONDITION PR[1]    ;
  LOCK PREG ;
  UNLOCK PREG ;
  COL DETECT ON ;
  COL DETECT OFF ;
  COL GUARD ADJUST R[1] ;
  COL GUARD ADJUST 50 ;
  MONITOR TEST ;
  MONITOR END TEST ;
  R[1]=STRLEN SR[1] ;
  SR[1]=SUBSTR SR[2],R[3],R[4] ;
  R[1]=FINDSTR SR[1],SR[2] ;
  DIAG_REC[1,5,2] ;
   ;
  ! program calls ;
  CALL TEST ;
  CALL TEST(1,'string',SR[1],AR[1]) ;
  RUN TEST ;
  RUN TEST(1,'string',SR[1],AR[1]) ;
   ;
  ! conditionals ;
  IF R[1]=1,JMP LBL[5] ;
  IF R[1]=AR[1],CALL TEST ;
  IF (DI[1]),R[1]=(5) ;
  SELECT R[1]=1,JMP LBL[5] ;
         =2,CALL TEST ;
         ELSE,JMP LBL[100] ;
  FOR R[1]=1 TO R[2] ;
  ENDFOR ;
   ;
  ! wait statement ;
  WAIT   1.00(sec) ;
  WAIT R[5] ;
  WAIT DI[1]=ON    ;
  WAIT DI[1]=ON+    ;
  WAIT ERR_NUM=1    ;
  WAIT (DI[1]=ON) ;
   ;
  ! jumps and labels ;
  JMP LBL[1] ;
  JMP LBL[R[1]] ;
  LBL[100] ;
  LBL[100:TEST] ;
   ;
  ! statements ;
  PAUSE ;
  ABORT ;
  ERROR_PROG=ALL ;
  RESUME_PROG[1]=TEST ;
  END ;
  MESSAGE[ASDF] ;
   ;
  ! comments ;
  --eg:ASDFASDFASDF ;
  // L P[9] 100mm/sec CNT100 ACC100    ;
   ;
  ! motion modifiers ;
L P[1] 100mm/sec CNT100 ACC100    ;
L P[1] 100mm/sec CNT100 ACC R[1]    ;
L P[1] 100mm/sec CNT100 Skip,LBL[1]    ;
L P[1] 100mm/sec CNT100 BREAK    ;
L P[1] 100mm/sec CNT100 Offset    ;
L P[1] 100mm/sec CNT100 PSPD50    ;
L P[1] 100mm/sec CNT100 Offset,PR[1]    ;
L P[1] 100mm/sec CNT100 INC    ;
L P[1] 100mm/sec CNT100 RT_LDR[1]    ;
L P[1] 100mm/sec CNT100 AP_LD50    ;
L P[1] 100mm/sec CNT100 Tool_Offset    ;
L P[1] 100mm/sec CNT100 Tool_Offset,PR[1]    ;
L P[1] 100mm/sec CNT100 Skip,LBL[1],PR[1]=LPOS    ;
L P[1] 100mm/sec CNT100 TB R[5]sec,CALL ALL    ;
L P[1] 100mm/sec CNT100 TA   0.00sec,AO[1]=R[5]    ;
L P[1] 100mm/sec CNT100 DB    0.0mm,CALL ALL    ;
L P[1] 100mm/sec CNT100 PTH    ;
L P[1] 100mm/sec CNT100 VOFFSET,VR[1] ;
/POS
P[1:"test"]{
   GP1:
	UF : 0, UT : 1,		CONFIG : '',
	X =   550.000  mm,	Y =     0.000  mm,	Z =  -685.000  mm,
	W =   180.000 deg,	P =     0.000 deg,	R =     0.000 deg
};
/END