Cannot change acceleration on IRC5/IRB1200/RAPID

DaveRobinson Scarborough, UK
I need to change the acceleration during a few moves but, having attempted with AccSet, PathAccLim and WorldAccLim, with all manners of values for the arguments, there is no change to the motion. The commands were placed within a movement module, the program is T_ROB1, and I also tried placing the commands within the main function code to try and alter acceleration overall, but none of these have been successful. Is there anything that may be overriding or preventing changes to acceleration?


  • VictorAx
    VictorAx Sweden
    Are you testing this in manual or in auto?
    Do you have fine points before changing the AccSet?
  • DaveRobinson
    DaveRobinson Scarborough, UK
    Thanks for the quick response. I've tried in auto, and I believe manual, but shall check again. I have no fine points in any movements, but do have zero crossing.
  • lemster68
    lemster68 United States ✭✭✭
    To view the current setting in the system is a bit obscure.  I will assume IRC5 controller.  Open a data window, view all datatypes, find Motsetdata,  Change scope to either built in or current execution, you will have to page down a bit to see the current accset or others in that data type.
    Lee Justice
  • Are you sure you're adjusting the values you think you are?

    AccSet Acc,Ramp\FinePointRamp:=nRampNormal;

    Acc... is the percentage of total acceleration.  And it only works when you are going from 0 to your programmed speed.  Additionally, any value under 20 is set to 20.  On an IRB1200, the TCP acceleration is 35m/s^2, and using AccSet you can only reduce it to 7.6m/s^2.  Which is still very fast.

    Ramp is used to reduce the jerk of acceleration.  If you want a very smooth acceleration up to your programmed accel and speed use ramp.  And any value under 10 is rounded up to 10%.

    But both of those only are used when going from 0 to your programmed speed.  If you also want to use the ramp while going from your programmed speed to 0, then use \FinePointRamp.

    However, these are only applicable as far as the distance between points and actual maximum speed will allow.  If your points are very close together the robot will have a triangular velocity profile, meaning you won't ever get to your programmed speed.  The distance between points would need to be far enough away that the robot can get up to its programmed speed.  Failing that, the AccSet doesn't really do much for short distances.  You would be better served to use VelSet, or just lowering your programmed speed.

    From the manual:

    The default values (AccSet 100, 100) are automatically set

    • when using the restart mode Reset RAPID

    • when loading a new program or a new module

    • when starting program execution from the beginning

    • when moving the program pointer to main

    • when moving the program pointer to a routine

    • when moving the program pointer in such a way that the execution order is lost.