You can use the RAPID instructions PathAccLim and WorldAccLim to limit the acceleration. See example below
here is the code I used
[CODE]MODULE Module1
CONST robtarget Target_10:=[[0,0,0],[1,0,0,0],[-1,0,-1,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
CONST robtarget Target_20:=[[0,47.5,0],[1,0,0,0],[-1,0,-1,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
CONST robtarget Target_30:=[[0,202.5,0],[1,0,0,0],[0,-1,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
CONST robtarget Target_40:=[[0,320,0],[1,0,0,0],[0,-1,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
CONST robtarget Target_50:=[[0,325,0],[1,0,0,0],[0,-1,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
PROC main()
MoveLPath;
ENDPROC
PROC MoveLPath()
MoveJ Target_10,v1000,fine,tool0WObj:=Workobject_1;
WaitTime 1;
WorldAccLimOn:=9.5;
MoveL Target_20,vmax,z5,tool0WObj:=Workobject_1;
WorldAccLimOn:=12;
MoveL Target_30,vmax,z40,tool0WObj:=Workobject_1;
WorldAccLimOn:=19.5;
MoveJ Target_40,vmax,z0,tool0WObj:=Workobject_1;
MoveJ Target_50,vmax,fine,tool0WObj:=Workobject_1;
ENDPROC
ENDMODULE
[/CODE]
You can analyze the actual acceleration and speed in the Signal Analyzer of RobotStudio. Note that the IRC5 robot controller is optimized to follow the path accurately and if you want to maintain a certain acceleration and speed you need to compromise on the path accuracy, hence the zone data I used in my RAPID program (see zone data in the RAPID program). I adjusted the zones to make the robot maintain the speed. If you want more accurate path following, the robot will slow down before reaching the each programmed point.