Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

Fanuc cell with positioner problem

#1
Hi 
I created a cell in Robodk and  post  LS file for fanuc.
The prolem is that i can not get positioner and robot to work in sync when load LS file in ROBOGUIDE.
Positioner is rotating as it should but path is static does not folow positioner rotation so robot is working on that path.
Everithing is perfect in RoboDk but when I try Ls file in Robogude it does not work.
I think maybe the setting is not correct in roguide or?

Thank
Zoran
#2
You can configure extenal axes or positionners in different ways in RoboDK using post processor. This highly depends on the robot controller and your setup.

Can you provide a sample LS file you created with your controller? We can better give you advice on what setting you should change in your post processor to generate suitable LS files for your Fanuc robot controller.
#3
My setup for roboguide is with two groups robot and positioner so I have 6 axis on robot and one on positioner as a separate group which I think is corect? Uframe is set as dynamic in roboguide.

Should I set it up like 7 axis of a robot (E)?

In RoboDK the robot follows the positioner all the time on to the path, when I post in to the LS robot does not behave the same in Roboguide. The problem is when the positioner is rotating only points end to end are read and everything between does not exist so robot is not following the path.

This is a program.
Code:
/PROG  Cetka2
/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 = Cetka2;
VERSION = 0;
LINE_COUNT = 38;
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,1,*,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL

LINE_TRACK;
LINE_TRACK_SCHEDULE_NUMBER      : 0;
LINE_TRACK_BOUNDARY_NUMBER      : 0;
CONTINUE_TRACK_AT_PROG_END      : FALSE;

/MN
  1:  ! Program generated by ;
  2:  !  RoboDK v5.6.3 for F ;
  3:  ! anuc R-2000iC/165F o ;
  4:  ! n 10/09/2023 18:47:3 ;
  5:  ! 7 ;
  6:  ! Using nominal kinema ;
  7:  ! tics. ;
  8:  MESSAGE[/ ALPHACAM DRAWING F] ;
  9:  MESSAGE[ILE - ROBOTAPT] ;
  10:  MESSAGE[/ NC CODE FILE - ROB] ;
  11:  MESSAGE[OTAPT.apt] ;
  12:  MESSAGE[/ POST-PROCESSED FOR] ;
  13:  MESSAGE[ APT-CL DATA] ;
  14:  MESSAGE[/ CREATED - 10 SEP 2] ;
  15:  MESSAGE[3] ;
  16:  MESSAGE[/ PROGRAMMED BY ALPH] ;
  17:  MESSAGE[ACAM] ;
  18:  MESSAGE[/ CETKA] ;
  19:  UFRAME_NUM=1 ;
  20:  ! UF1:0.0,0.0,0.0,0.0, ;
  21:  ! 0.0,0.0 ;
  22:  UTOOL_NUM=1 ;
  23:  ! UT1:0.0,0.0,220.0,0. ;
  24:  ! 0,0.0,0.0 ;
  25:  ! Show Vibraciona T 1 ;
  26:J P[1] 20% CNT1  ;
  27:L P[2] 1000mm/sec CNT1  ;
  28:L P[3] 1000mm/sec CNT1  ;
  29:L P[4] 50mm/sec CNT1  ;
  30:C P[5]
      P[6] 100mm/sec CNT1  ;
  31:L P[7] 100mm/sec CNT1  ;
  32:C P[8]
      P[9] 100mm/sec CNT1  ;
  33:L P[10] 100mm/sec CNT1  ;
  34:C P[11]
      P[12] 100mm/sec CNT1  ;
  35:L P[13] 100mm/sec CNT1  ;
  36:C P[14]
      P[15] 100mm/sec CNT1  ;
  37:L P[16] 1000mm/sec CNT1  ;
  38:L P[17] 1000mm/sec CNT1  ;
/POS
P[1]{
  GP1:
    UF : 1, UT : 1,   
J1=    29.905 deg, J2=    53.695 deg, J3=    -33.627 deg,
J4=    0.000 deg, J5=    -56.373 deg, J6=    150.094 deg
  GP2:
    UF : 1, UT : 1,
J1=  -63.891 deg
};
P[2]{
  GP1:
    UF : 1, UT : 1,        CONFIG : 'N U T, 0, 0, 0',
X = -1015.000  mm, Y =  612.500  mm, Z =  150.000  mm,
W =  180.000 deg, P =    0.000 deg, R =  -116.109 deg
  GP2:
    UF : 1, UT : 1,
J1=  -63.891 deg
};
P[3]{
  GP1:
    UF : 1, UT : 1,        CONFIG : 'N U T, 0, 0, 0',
X = -1015.000  mm, Y =  612.500  mm, Z =    0.000  mm,
W =  180.000 deg, P =    0.000 deg, R =  -116.109 deg
  GP2:
    UF : 1, UT : 1,
J1=  -63.891 deg
};
P[4]{
  GP1:
    UF : 1, UT : 1,        CONFIG : 'N U T, 0, 0, 0',
X =  1015.000  mm, Y =  612.500  mm, Z =    0.000  mm,
W =  180.000 deg, P =    0.000 deg, R =  126.109 deg
  GP2:
    UF : 1, UT : 1,
J1=    53.891 deg
};
P[5]{
  GP1:
    UF : 1, UT : 1,        CONFIG : 'N U T, 0, 0, 0',
X =  1121.070  mm, Y =  568.566  mm, Z =    0.000  mm,
W =  180.000 deg, P =    0.000 deg, R =  121.893 deg
  GP2:
    UF : 1, UT : 1,
J1=    58.107 deg
};
P[6]{
  GP1:
    UF : 1, UT : 1,        CONFIG : 'N U T, 0, 0, 0',
X =  1165.000  mm, Y =  462.500  mm, Z =    0.000  mm,
W =  180.000 deg, P =    0.000 deg, R =  116.653 deg
  GP2:
    UF : 1, UT : 1,
J1=    63.347 deg
};
P[7]{
  GP1:
    UF : 1, UT : 1,        CONFIG : 'N U T, 0, 0, 0',
X =  1165.000  mm, Y =  -462.500  mm, Z =    0.000  mm,
W =  180.000 deg, P =    0.000 deg, R =    73.347 deg
  GP2:
    UF : 1, UT : 1,
J1=  106.653 deg
};
P[8]{
  GP1:
    UF : 1, UT : 1,        CONFIG : 'N U T, 0, 0, 0',
X =  1121.070  mm, Y =  -568.566  mm, Z =    0.000  mm,
W =  180.000 deg, P =    0.000 deg, R =    68.107 deg
  GP2:
    UF : 1, UT : 1,
J1=  111.893 deg
};
P[9]{
  GP1:
    UF : 1, UT : 1,        CONFIG : 'N U T, 0, 0, 0',
X =  1015.000  mm, Y =  -612.500  mm, Z =    0.000  mm,
W =  180.000 deg, P =    0.000 deg, R =    63.891 deg
  GP2:
    UF : 1, UT : 1,
J1=  116.109 deg
};
P[10]{
  GP1:
    UF : 1, UT : 1,        CONFIG : 'N U T, 0, 0, 0',
X = -1015.000  mm, Y =  -612.500  mm, Z =    0.000  mm,
W =  180.000 deg, P =    0.000 deg, R =  -53.891 deg
  GP2:
    UF : 1, UT : 1,
J1=  233.891 deg
};
P[11]{
  GP1:
    UF : 1, UT : 1,        CONFIG : 'N U T, 0, 0, 0',
X = -1121.070  mm, Y =  -568.566  mm, Z =    0.000  mm,
W =  180.000 deg, P =    0.000 deg, R =  -58.107 deg
  GP2:
    UF : 1, UT : 1,
J1=  238.107 deg
};
P[12]{
  GP1:
    UF : 1, UT : 1,        CONFIG : 'N U T, 0, 0, 0',
X = -1165.000  mm, Y =  -462.500  mm, Z =    0.000  mm,
W =  180.000 deg, P =    0.000 deg, R =  -63.347 deg
  GP2:
    UF : 1, UT : 1,
J1=  243.347 deg
};
P[13]{
  GP1:
    UF : 1, UT : 1,        CONFIG : 'N U T, 0, 0, 0',
X = -1165.000  mm, Y =  462.500  mm, Z =    0.000  mm,
W =  180.000 deg, P =    0.000 deg, R =  -106.653 deg
  GP2:
    UF : 1, UT : 1,
J1=  286.653 deg
};
P[14]{
  GP1:
    UF : 1, UT : 1,        CONFIG : 'N U T, 0, 0, 0',
X = -1121.070  mm, Y =  568.566  mm, Z =    0.000  mm,
W =  180.000 deg, P =    0.000 deg, R =  -111.893 deg
  GP2:
    UF : 1, UT : 1,
J1=  291.893 deg
};
P[15]{
  GP1:
    UF : 1, UT : 1,        CONFIG : 'N U T, 0, 0, 0',
X = -1015.000  mm, Y =  612.500  mm, Z =    0.000  mm,
W =  180.000 deg, P =    0.000 deg, R =  -116.109 deg
  GP2:
    UF : 1, UT : 1,
J1=  296.109 deg
};
P[16]{
  GP1:
    UF : 1, UT : 1,        CONFIG : 'N U T, 0, 0, 0',
X = -1015.000  mm, Y =  612.500  mm, Z =  150.000  mm,
W =  180.000 deg, P =    0.000 deg, R =  -116.109 deg
  GP2:
    UF : 1, UT : 1,
J1=  296.109 deg
};
P[17]{
  GP1:
    UF : 1, UT : 1,        CONFIG : 'N U T, 0, 0, 0',
X = -1015.000  mm, Y =  612.500  mm, Z =  250.000  mm,
W =  180.000 deg, P =    0.000 deg, R =  -116.109 deg
  GP2:
    UF : 1, UT : 1,
J1=  296.109 deg
};
/END
#4
RoboDK automatically exports external axes as a 7th index (and onward) when you use a linear track and a separate motion group for turntables (GP2 or GP3 for example).

I understand you are using a turntable and RoboDK should generate code like the one you shared. What issues do you have?

Can you share the RoboDK project file?
#5
Hi Albert please look at the videos.
They are using the same program but behave different.

Looking forward to hearing from you. 

Thanks


Attached Files
.mp4   VID-20230913-WA0000.mp4 (Size: 2.75 MB / Downloads: 103)
.mp4   VID-20230913-WA0001.mp4 (Size: 8.99 MB / Downloads: 110)
#6
I'm not sure what the issue is but I believe the external axis was not configured properly on the Fanuc controller.

Can you share your RoboDK project file?
#7
Attached is the LS. file as it should look like.
You were right, the setting in roboguide was not right.
How can I change the post-processor to give me the result as in the text below?
Video is also attached.

Code:
/PROG  CETKA2
/ATTR
OWNER = MNEDITOR;
COMMENT = "RoboDK sequence";
PROG_SIZE = 1790;
CREATE = DATE 23-09-15  TIME 06:13:30;
MODIFIED = DATE 23-09-15  TIME 06:34:56;
FILE_NAME = CETKA2;
VERSION = 0;
LINE_COUNT = 20;
MEMORY_SIZE = 2082;
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,1,*,*,*;
CONTROL_CODE = 00000000 00000000;
LOCAL_REGISTERS = 0,0,0;
/APPL

LINE_TRACK;
  LINE_TRACK_SCHEDULE_NUMBER      : 0;
  LINE_TRACK_BOUNDARY_NUMBER      : 0;
  CONTINUE_TRACK_AT_PROG_END      : FALSE;

/MN
  1:  UFRAME_NUM=1 ;
  2:  ! UF1:0.0,0.0,0.0,0.0, ;
  3:  ! 0.0,0.0 ;
  4:  UTOOL_NUM=1 ;
  5:  ! UT1:0.0,0.0,220.0,0. ;
  6:  ! 0,0.0,0.0 ;
  7:  ! Show Vibraciona T 1 ;
  8:J P[1] 20% CNT1    ;
  9:L P[2] 1000mm/sec CNT0    ;
  10:L P[3] 1000mm/sec CNT100 [color=#c10300]COORD[/color]    ;
  11:L P[4] 50mm/sec CNT100 [color=#ff851b]COORD[/color]    ;
  12:C P[5]   
    :  P[6] 100mm/sec CNT100 COORD    ;
  13:L P[7] 100mm/sec CNT100 COORD    ;
  14:C P[8]   
    :  P[9] 100mm/sec CNT100 COORD    ;
  15:L P[10] 100mm/sec CNT100 COORD    ;
  16:C P[11]   
    :  P[12] 100mm/sec CNT100 COORD    ;
  17:L P[13] 100mm/sec CNT100 COORD    ;
  18:C P[14]   
    :  P[15] 100mm/sec CNT100 COORD    ;
  19:L P[16] 1000mm/sec CNT100 COORD    ;
  20:L P[17] 1000mm/sec CNT100 COORD    ;
/POS
P[1]{
  GP1:
UF : 1, UT : 1,
J1=    29.905 deg, J2=    53.695 deg, J3=  -33.627 deg,
J4=    0.000 deg, J5=  -56.373 deg, J6=  150.094 deg
  GP2:
UF : 1, UT : 1,
J1=  -63.891 deg
};
P[2]{
  GP1:
UF : 1, UT : 1, CONFIG : 'N U T, 0, 0, 0',
X = -1015.000  mm, Y =  612.500  mm, Z =  150.000  mm,
W =  180.000 deg, P =    0.000 deg, R =  -116.109 deg
  GP2:
UF : 1, UT : 1,
J1=  -63.891 deg
};
P[3]{
  GP1:
UF : 1, UT : 1, CONFIG : 'N U T, 0, 0, 0',
X = -1015.000  mm, Y =  612.500  mm, Z =    0.000  mm,
W =  180.000 deg, P =    0.000 deg, R =  -116.109 deg
  GP2:
UF : 1, UT : 1,
J1=  -63.891 deg
};
P[4]{
  GP1:
UF : 1, UT : 1, CONFIG : 'N U T, 0, 0, 0',
X =  1015.000  mm, Y =  612.500  mm, Z =    0.000  mm,
W =  180.000 deg, P =    0.000 deg, R =  126.109 deg
  GP2:
UF : 1, UT : 1,
J1=    53.891 deg
};
P[5]{
  GP1:
UF : 1, UT : 1, CONFIG : 'N U T, 0, 0, 0',
X =  1121.070  mm, Y =  568.566  mm, Z =    0.000  mm,
W =  180.000 deg, P =    0.000 deg, R =  121.893 deg
  GP2:
UF : 1, UT : 1,
J1=    58.107 deg
};
P[6]{
  GP1:
UF : 1, UT : 1, CONFIG : 'N U T, 0, 0, 0',
X =  1165.000  mm, Y =  462.500  mm, Z =    0.000  mm,
W =  180.000 deg, P =    0.000 deg, R =  116.653 deg
  GP2:
UF : 1, UT : 1,
J1=    63.347 deg
};
P[7]{
  GP1:
UF : 1, UT : 1, CONFIG : 'N U T, 0, 0, 0',
X =  1165.000  mm, Y =  -462.500  mm, Z =    0.000  mm,
W =  180.000 deg, P =    0.000 deg, R =    73.347 deg
  GP2:
UF : 1, UT : 1,
J1=  106.653 deg
};
P[8]{
  GP1:
UF : 1, UT : 1, CONFIG : 'N U T, 0, 0, 0',
X =  1121.070  mm, Y =  -568.566  mm, Z =    0.000  mm,
W =  180.000 deg, P =    0.000 deg, R =    68.107 deg
  GP2:
UF : 1, UT : 1,
J1=  111.893 deg
};
P[9]{
  GP1:
UF : 1, UT : 1, CONFIG : 'N U T, 0, 0, 0',
X =  1015.000  mm, Y =  -612.500  mm, Z =    0.000  mm,
W =  180.000 deg, P =    0.000 deg, R =    63.891 deg
  GP2:
UF : 1, UT : 1,
J1=  116.109 deg
};
P[10]{
  GP1:
UF : 1, UT : 1, CONFIG : 'N U T, 0, 0, 0',
X = -1015.000  mm, Y =  -612.500  mm, Z =    0.000  mm,
W =  180.000 deg, P =    0.000 deg, R =  -53.891 deg
  GP2:
UF : 1, UT : 1,
J1=  233.891 deg
};
P[11]{
  GP1:
UF : 1, UT : 1, CONFIG : 'N U T, 0, 0, 0',
X = -1121.070  mm, Y =  -568.566  mm, Z =    0.000  mm,
W =  180.000 deg, P =    0.000 deg, R =  -58.107 deg
  GP2:
UF : 1, UT : 1,
J1=  238.107 deg
};
P[12]{
  GP1:
UF : 1, UT : 1, CONFIG : 'N U T, 0, 0, 0',
X = -1165.000  mm, Y =  -462.500  mm, Z =    0.000  mm,
W =  180.000 deg, P =    0.000 deg, R =  -63.347 deg
  GP2:
UF : 1, UT : 1,
J1=  243.347 deg
};
P[13]{
  GP1:
UF : 1, UT : 1, CONFIG : 'N U T, 0, 0, 0',
X = -1165.000  mm, Y =  462.500  mm, Z =    0.000  mm,
W =  180.000 deg, P =    0.000 deg, R =  -106.653 deg
  GP2:
UF : 1, UT : 1,
J1=  286.653 deg
};
P[14]{
  GP1:
UF : 1, UT : 1, CONFIG : 'N U T, 0, 0, 0',
X = -1121.070  mm, Y =  568.566  mm, Z =    0.000  mm,
W =  180.000 deg, P =    0.000 deg, R =  -111.893 deg
  GP2:
UF : 1, UT : 1,
J1=  291.893 deg
};
P[15]{
  GP1:
UF : 1, UT : 1, CONFIG : 'N U T, 0, 0, 0',
X = -1015.000  mm, Y =  612.500  mm, Z =    0.000  mm,
W =  180.000 deg, P =    0.000 deg, R =  -116.109 deg
  GP2:
UF : 1, UT : 1,
J1=  296.109 deg
};
P[16]{
  GP1:
UF : 1, UT : 1, CONFIG : 'N U T, 0, 0, 0',
X = -1015.000  mm, Y =  612.500  mm, Z =  150.000  mm,
W =  180.000 deg, P =    0.000 deg, R =  -116.109 deg
  GP2:
UF : 1, UT : 1,
J1=  296.109 deg
};
P[17]{
  GP1:
UF : 1, UT : 1, CONFIG : 'N U T, 0, 0, 0',
X = -1015.000  mm, Y =  612.500  mm, Z =  250.000  mm,
W =  180.000 deg, P =    0.000 deg, R =  -116.109 deg
  GP2:
UF : 1, UT : 1,
J1=  296.109 deg
};
/END


Attached Files
.mp4   VID-20230915-WA0000.mp4 (Size: 5.8 MB / Downloads: 101)
#8
Hi,

Remember that synchronizing complex motions between a robot and positioner can be challenging, and it may require careful configuration and testing. Be patient and methodical in your troubleshooting process, and don't hesitate to seek support from the software and hardware providers if needed.
#9
It looks like RoboDK already outputs the turntable joint values using a separate motion group GP2 the same way your controller needs.

Can you better describe the issues you currently experience? We may need the RoboDK project to better help you.
#10
In the attachment.

Thanks.

I had to add COORD in to the program  in each line so that the controller would recognize the coordinated movement.

 8:J P[1] 20% CNT1    ;
  9:L P[2] 1000mm/sec CNT0    ;
  10:L P[3] 1000mm/sec CNT100 COORD    ;
  11:L P[4] 50mm/sec CNT100 COORD    ;
  12:C P[5]   
    :  P[6] 100mm/sec CNT100 COORD    ;
  13:L P[7] 100mm/sec CNT100 COORD    ;

Everithin is ok in RoboDK only if you can help with postprocesor so I do not need to edit after post.

First and second point must not have COORD.


Attached Files
.rdk   Fanuc 2000 165f krevet.rdk (Size: 373.81 KB / Downloads: 114)
  




Users browsing this thread:
1 Guest(s)