RobotStudio event

Define pose data in RAPID

nezzreth
nezzreth Wheeling, IL USA
I would like a way to add a pose datum to the module I am exporting to the real controller. I am using an older controller (S4C) and the on board memory is quite full. In the module, is there a way to define new pose data like robtargets are defined? This would make saving programs on the PC and simply exporting the individual modules with the defualt naming conventions much easier.

MODULE mPart_1
CONST robtarget p6:=[[-33.02573091,82.073372928,65.417957699],[0.20798075,-0.675828325,-0.558006904,-0.434313686],[0,-1,1,0],[2568.284034729,9E9,9E9,9E9,9E9,9E9]];
CONST robtarget p7:=[[-3.02573091,82.073372928,65.417957699],[0.20798075,-0.675828325,-0.558006904,-0.434313686],[0,-1,1,0],[2568.284034729,9E9,9E9,9E9,9E9,9E9]];
CONST robtarget p8:=[[10.375748183,33.649,60.524804353],[0.008297445,-0.790304194,-0.514987682,-0.331870639],[0,-1,2,0],[2568.284034729,9E9,9E9,9E9,9E9,9E9]];
CONST robtarget p9:=[[10.375748183,63.649,60.524804353],[0.008297445,-0.790304194,-0.514987682,-0.331870639],[0,-1,2,0],[2568.284034729,9E9,9E9,9E9,9E9,9E9]];
CONST robtarget p10:=[[7.904841212,83.730206377,109.226],[0.24402948,-0.633410284,-0.52560271,-0.512818502],[0,-1,1,0],[2568.284034729,9E9,9E9,9E9,9E9,9E9]];
CONST robtarget p11:=[[7.904841212,83.730206377,79.226],[0.24402948,-0.633410284,-0.52560271,-0.512818502],[0,-1,1,0],[2568.284034729,9E9,9E9,9E9,9E9,9E9]];
CONST robtarget p12:=[[0.00026909,31.319660931,44.880339049],[0.27059805,-0.653281482,-0.653281482,-0.27059805],[0,-1,1,0],[2568.284034729,9E9,9E9,9E9,9E9,9E9]];
CONST robtarget p13:=[[0.00026909,66.675,9.525],[0.27059805,-0.653281482,-0.653281482,-0.27059805],[0,-1,1,0],[2568.284034729,9E9,9E9,9E9,9E9,9E9]];
CONST robtarget p14:=[[152.40026909,66.675,9.525],[0.27059805,-0.653281482,-0.653281482,-0.27059805],[0,-1,1,0],[2568.284034729,9E9,9E9,9E9,9E9,9E9]];
CONST robtarget p15:=[[152.40026909,31.319660931,44.880339049],[0.27059805,-0.653281482,-0.653281482,-0.27059805],[0,-1,1,0],[2568.284034729,9E9,9E9,9E9,9E9,9E9]];
CONST robtarget p16:=[[-84.930277019,82.07250455,99.552619775],[0.207981033,-0.675828398,-0.558006604,-0.434313823],[0,-1,1,0],[2568.284034729,9E9,9E9,9E9,9E9,9E9]];
CONST robtarget p17:=[[-40.436539313,59.237789974,90.894837257],[0.207981192,-0.675827383,-0.558007372,-0.434314339],[0,-1,1,0],[2568.284034729,9E9,9E9,9E9,9E9,9E9]];
    CONST robtarget p18:=[[-50.407445616,44.745403819,93.664718473],[0.008297479,-0.790304204,-0.514987164,-0.331871417],[0,-1,-2,0],[2568.284034729,9E9,9E9,9E9,9E9,9E9]];
    CONST robtarget p19:=[[7.904582713,53.734069055,103.031334315],[0.244029393,-0.633410934,-0.52560186,-0.512818612],[0,-1,1,0],[2568.284034729,9E9,9E9,9E9,9E9,9E9]];
PROC Path_1()
   PDispOff;
   ConfJ\Off;
   ConfL\Off;
   MoveJ p16,v1000,z0,tLongNeck\WObj:=wobjTable;
   Search_1D\NotOff,peDispS1,p6,p7,vmax,tLongNeck\WObj:=wobjTable\SearchName:="Search_Weld_1_Search_1";
   MoveJ p17,v1000,z0,tLongNeck\WObj:=wobjTable;
   Search_1D\NotOff,peDispS2,p8,p9,vmax,tLongNeck\WObj:=wobjTable\PrePDisp:=peDispS1\SearchName:="Search_Weld_1_Search_2";
   MoveJ p18,v1000,z0,tLongNeck\WObj:=wobjTable;
   Search_1D peDispS3,p10,p11,vmax,tLongNeck\WObj:=wobjTable\PrePDisp:=peDispS2\SearchName:="Search_Weld_1_Search_3";
   MoveJ p19,v1000,z0,tLongNeck\WObj:=wobjTable;
   PDispSet peDispS3;
        MoveJ p12,v1000,z10,tLongNeck\WObj:=wobjTable;
        MoveL p13,v1000,fine,tLongNeck\WObj:=wobjTable;
        MoveL p14,v100,fine,tLongNeck\WObj:=wobjTable;
        MoveL p15,v1000,z10,tLongNeck\WObj:=wobjTable;
ENDPROC
ENDMODULE

Answers

  • svoldgaard
    svoldgaard Denmark ✭✭
    I'm not sure that I understand you question.

    Do you just want to define a pose, that you can use in a robtarget? 
    like:

    CONST pose pose1:=[[0,50,0],[0.27059805,0.653281482,-0.653281482,0.27059805]];

  • nezzreth
    nezzreth Wheeling, IL USA
    Not a pose, in the search instruction you need a displacement frame (above it uses peDispS1, peDispS2, peDispS3) now I know I can make a new one in the real controller and let this program define the X,Y,Z. I would like to make a new displacement inside the rapid program so I don't need to make new displacement frames by hand on the teachpendant.