04-21-2020, 09:51 PM
I am hoping to use RoboDK as a substitute for my applied robotics class (due to COVID-19), but I need to be able to let students generate programs that internally loop a controlled number of times. I use older Fanuc robots (R30iA controller) and am wondering if there is a way to get the simulation to a) allow the students to program in variables and looping or b) feed a program that was run through the Fanuc post processor back into the simulation.
My "real" program would look something like this...
/PROG myfirstpro
/ATTR
OWNER = MNEDITOR;
COMMENT = "RoboDK sequence";
PROG_SIZE = 0;
CREATE = DATE 31-12-14 TIME 12:00:00;
MODIFIED = DATE 31-12-14 TIME 12:00:00;
FILE_NAME = myfirstpro;
VERSION = 0;
LINE_COUNT = 18;
MEMORY_SIZE = 0;
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
1: ! Program generated by ;
2: ! RoboDK v4.2.3 for F ;
3: ! anuc LR Mate 200iC o ;
4: ! n 21/04/2020 16:04:3 ;
5: ! 6 ;
6: ! Using nominal kinema ;
7: ! tics. ;
8: PR[9,1]=0.000 ;
9: PR[9,2]=0.000 ;
10: PR[9,3]=0.000 ;
11: PR[9,4]=0.000 ;
12: PR[9,5]=0.000 ;
13: PR[9,6]=0.000 ;
14: R[1] = 0;
15: UFRAME[9]=PR[9] ;
16: UFRAME_NUM=9 ;
16: LBL[1] ;
17:J P[1] 20% FINE ;
18:L P[2] 200mm/sec FINE ;
19:J P[3] 20% FINE ;
20: R[1] = R[1] + 1;
21: IF R[1] = 5, JMP LBL[2];
22: JMP[1] ;
23: LBL[2];
/POS
P[1]{
GP1:
UF : 9, UT : 9,
J1= 0.000 deg, J2= -15.447 deg, J3= -12.559 deg,
J4= -0.000 deg, J5= -21.223 deg, J6= 0.000 deg
};
P[2]{
GP1:
UF : 9, UT : 9, CONFIG : 'N U T, 0, 0, 0',
X = 266.244 mm, Y = -260.276 mm, Z = 107.970 mm,
W = -180.000 deg, P = -48.536 deg, R = -0.000 deg
};
P[3]{
GP1:
UF : 9, UT : 9,
J1= 30.281 deg, J2= 11.570 deg, J3= -37.053 deg,
J4= 69.869 deg, J5= -23.732 deg, J6= -89.317 deg
};
/END
Thanks
Kevin
My "real" program would look something like this...
/PROG myfirstpro
/ATTR
OWNER = MNEDITOR;
COMMENT = "RoboDK sequence";
PROG_SIZE = 0;
CREATE = DATE 31-12-14 TIME 12:00:00;
MODIFIED = DATE 31-12-14 TIME 12:00:00;
FILE_NAME = myfirstpro;
VERSION = 0;
LINE_COUNT = 18;
MEMORY_SIZE = 0;
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
1: ! Program generated by ;
2: ! RoboDK v4.2.3 for F ;
3: ! anuc LR Mate 200iC o ;
4: ! n 21/04/2020 16:04:3 ;
5: ! 6 ;
6: ! Using nominal kinema ;
7: ! tics. ;
8: PR[9,1]=0.000 ;
9: PR[9,2]=0.000 ;
10: PR[9,3]=0.000 ;
11: PR[9,4]=0.000 ;
12: PR[9,5]=0.000 ;
13: PR[9,6]=0.000 ;
14: R[1] = 0;
15: UFRAME[9]=PR[9] ;
16: UFRAME_NUM=9 ;
16: LBL[1] ;
17:J P[1] 20% FINE ;
18:L P[2] 200mm/sec FINE ;
19:J P[3] 20% FINE ;
20: R[1] = R[1] + 1;
21: IF R[1] = 5, JMP LBL[2];
22: JMP[1] ;
23: LBL[2];
/POS
P[1]{
GP1:
UF : 9, UT : 9,
J1= 0.000 deg, J2= -15.447 deg, J3= -12.559 deg,
J4= -0.000 deg, J5= -21.223 deg, J6= 0.000 deg
};
P[2]{
GP1:
UF : 9, UT : 9, CONFIG : 'N U T, 0, 0, 0',
X = 266.244 mm, Y = -260.276 mm, Z = 107.970 mm,
W = -180.000 deg, P = -48.536 deg, R = -0.000 deg
};
P[3]{
GP1:
UF : 9, UT : 9,
J1= 30.281 deg, J2= 11.570 deg, J3= -37.053 deg,
J4= 69.869 deg, J5= -23.732 deg, J6= -89.317 deg
};
/END
Thanks
Kevin