About GripLoad Loaddata;

Hallo everyone,

i have a Problem. I define an Loaddata Array als PERS.

PERS loaddata Muffe_Load{47}:=[[03.62, [0, 0, 0.4],[1, 0, 0, 0], 0, 0, 0],

[04.66, [0, 0, 0.4],[1, 0, 0, 0], 0, 0, 0], …];

But it is not working with Gripload.

PROC GreiferClose()

Reset DO10_0GripperClose;

Set DO10_1GripperOpen;

WaitTime 0.5;

GripLoad Muffe_Load{12};

ENDPROC

Everytime Shows the follow Message:

41442: Reference Error

Description
Task: T_ROB1The reference in argument Load is not an entire persistent variable. Program Ref. /VenConfig/Greiferspannen/GripLoad/96

Actions
It is not possible to use record component or array element in arg. Load . It is only possible to use entire persistent variables for Tool, WObj or Load in any motion instruction.

Thanks

Hello,

Did you forget to put TASK before creating the loaddata? as in:

TASK PERS loaddata Muffe_Load{47}:=[[03.62, [0, 0, 0.4],[1, 0, 0, 0], 0, 0, 0],

[04.66, [0, 0, 0.4],[1, 0, 0, 0], 0, 0, 0], …];

This works for me…

I got this:

TASK PERS loaddata LoadGripper{2} := [[0.001, [0, 0, 0.001],[1, 0, 0, 0], 0, 0, 0] , [0.001, [0, 0, 0.001],[1, 0, 0, 0], 0, 0, 0]];

GripLoad L0adGripper{1};

This works for me

Hallo B_Baan,

Thank U for your Answer;

I have copy your code. But It does not work for me. It is same error.

Now i define a between-pers loaddata . It called “current_load

Verytime i update this data from my Loaddata-array. It worked!

PERS loaddata current_load:=[5.23, [0, 0, 0.4],[1, 0, 0, 0], 0, 0, 0];

Pers num MuffeNrCurrent:=0;

Proc Gripperclose()

*MuffeNrCurrent:=*DnumToNum (GInputDnum(gi17_22MuffeNr));

current_load:=Muffe_Load{MuffeNrCurrent};

GripLoad current_load;

endproc