hi…
I’m having a hard time understanding something… If anyone can clarify I would be very grateful.
I’m developing an application where I have a routine for heating the robot’s axes (PROC RobotHeating(INOUT robtarget pathsR{*}, bool isSetHeatingPositionsP).
In the application I have the following code (which gives an error) …
PERS robtarget p1:=[[1244.93,-1188.63,726.76],[0.687838,0.00599827,0.725834,0.00287952],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
PERS robtarget p2:=[[31.68,-1328.93,2622.03],[0.745578,0.250734,0.210509,-0.580458],[-1,-2,1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
PERS robtarget p3:=[[-749.23,-100.65,659.10],[0.234719,0.917676,0.157006,-0.279511],[-2,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
PERS robtarget p4:=[[-53.82,593.00,1064.94],[0.492398,-0.492584,0.507578,0.507218],[1,2,-3,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
PERS robtarget p5:=[[1060.64,561.04,438.51],[0.0737323,0.425606,-0.792688,0.430197],[0,1,-2,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
PROC main()
RobotHeating [p1,p2,p3,p4,p5],TRUE;
ENDPROC
PROC RobotHeating(INOUT robtarget pathsR{*},bool isSetHeatingPositionsP)
... CODE
ENDPROC
4600-802640/RAPID/T_ROB1/ModuleMain(884,22): Argument error(5): The argument for INOUT parameter pathsR is not a variable or persistent reference, or it is read-only. 03/07/2023 16:54:34 General
…but not if it’s like this.
PERS robtarget p1:=[[1244.93,-1188.63,726.76],[0.687838,0.00599827,0.725834,0.00287952],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
PERS robtarget p2:=[[31.68,-1328.93,2622.03],[0.745578,0.250734,0.210509,-0.580458],[-1,-2,1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
PERS robtarget p3:=[[-749.23,-100.65,659.10],[0.234719,0.917676,0.157006,-0.279511],[-2,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
PERS robtarget p4:=[[-53.82,593.00,1064.94],[0.492398,-0.492584,0.507578,0.507218],[1,2,-3,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
PERS robtarget p5:=[[1060.64,561.04,438.51],[0.0737323,0.425606,-0.792688,0.430197],[0,1,-2,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
PERS robtarget pathsG{5};
PROC main()
pathsG:=[p1,p2,p3,p4,p5];
RobotHeating pathsG,TRUE;
ENDPROC
PROC RobotHeating(INOUT robtarget pathsR{*},bool isSetHeatingPositionsP)
... CODE
ENDPROC
Checked: 4600-802640/RAPID/T_ROB1: No errors. 03/07/2023 17:04:20 General
Does anyone know why?
thanks.