RobotStudio event

Missing External Axis Value error

TomásPT
TomásPT
edited June 2020 in RobotStudio
Hello!

I developed a simulation and this error appears to me ( 40512: Missing External Axis Value). When I have the three path's in the main, the error appears, but if I remove path 10 ( the left one) the rest execute normally. I already moved the track and I already changed the position where it stops to execute path 10 but it still didn't solve ... suggestions?

thanks!


Best Answer

  • TomásPT
    TomásPT
    Answer ✓
    Well thanks to you guys I manage to solve the error!

    I just needed to synchronize with the station before synchronizing with RAPID because the values ​​were reset to 0.

    thank you ;)

Answers

  • Hi.

    I think it would be easier to find an issue if you posted Rapid code.

    However, maybe this will help. I think I had the same error message when in the station I had activated external axes but did not assign them values (i.e. I left with default 9e+09, instead of putting e.g. 0).

    The position of external values arguments is highlighted in the attached image. 



    Greetings,

    E. 
  • It seems that you are doing the same part on each station.  :)

    Look into - RAPID Instructions, Functions and Data Types - ":=" - Assigns a value.

    It will be easy to do the following with your rapid code.

    For example if :
    Stn 1 = External Axis is 0mm.
    Stn 2 = External Axis is 1000mm.
    Stn 3 = External Axis is 2000mm.

    So your code will be the same for all except you add the following to Stn 2 and Stn 3 External Axis and Robot Targets:

    For Stn 2
    +1000 or -1000 depending on which way your track is moving. Should be +1000 if I am correct.

    "yourRTname2".extax.eax_a:="yourRTname1".extax.eax_a+1000; 
    "yourRTname2".trans.x:="yourRTname1".trans.x+1000;
    "yourRTname2".trans.y:="yourRTname1".trans.y;
    "yourRTname2".trans.z:="yourRTname1".trans.z;
    "yourRTname2".rot:="yourRTname1".rot;
    "yourRTname2".robconf:="yourRTname1".robconf;

    For Stn 3
    "yourRTname3".extax.eax_a:="yourRTname2".extax.eax_a+1000;
    "yourRTname3".trans.x:="yourRTname2".trans.x+1000;
    "yourRTname3".trans.y:="yourRTname2".trans.y;
    "yourRTname3".trans.z:="yourRTname2".trans.z;
    "yourRTname3".rot:="yourRTname2".rot;
    "yourRTname3".robconf:="yourRTname2".robconf;

    OR 

    "yourRTname3".extax.eax_a:="yourRTname1".extax.eax_a+2000;
    "yourRTname3".trans.x:="yourRTname1".trans.x+2000;
    "yourRTname3".trans.y:="yourRTname1".trans.y;
    "yourRTname3".trans.z:="yourRTname1".trans.z;
    "yourRTname3".rot:="yourRTname1".rot;
    "yourRTname3".robconf:="yourRTname1".robconf;


    But as evasiliauskaite said, post your code then we can help you better.

  • Here is my RAPID code :)


    Thanks!
  • As mentioned by evasiliauskaite you haven't any values set for the external axis for the targets in Path10. Copy the external axis values from the target "inicio1" to all the targets between target10 - target 80. 
    In order to get the external axis values when teaching targets the external axis must be marked as active.
    You can do this by checking the box for your external axis here:

  • Add the following to your Path_10 Code underneath the ConfL/Off:

    Target_10.extax.eax_a:=inicio1.extax.eax_a; 
    Target_20.extax.eax_a:=inicio1.extax.eax_a; 
    Target_30.extax.eax_a:=inicio1.extax.eax_a; 
    Target_40.extax.eax_a:=inicio1.extax.eax_a; 
    Target_50.extax.eax_a:=inicio1.extax.eax_a; 
    Target_60.extax.eax_a:=inicio1.extax.eax_a; 
    Target_70.extax.eax_a:=inicio1.extax.eax_a; 
    Target_80.extax.eax_a:=inicio1.extax.eax_a; 

    This should sort out problem.

    Basically what this does is it takes inicio1's external axis value and replaces the targets external axis values with it.

    So everytime you modpos inicio1 and run the program, it will always use the same external axis value as inicio1 for the rest of the targets.

    You can even add this instruction to the rest of your other paths too and it will do the same for them. Just change the targets as to their respective targets for each path.