Hello, I Treid to use the function ML_KinContMotionP but I could not see any blend. Below you have the code I used. It seems that with the code below the normal blending function shoul be Off. Regarding this point related to what is written in the help and in your comment I have a question: If the blend is off what does it mean "Additionally, the blending lengths should be set to significant smaller values than the length of the commanded motion, when this option is active." ? What blending lenghts should be smaller than the lenght of the commanded motion ??? Please let me know if you find something wrong in the code below and if you have any advce about the right way to set this functione Many Thanks Giuseppe CODE: IF I_SlopeMode = CONT_SLOPE THEN // Set Block Slope OFF stKinBlendData.In.KinName := I_strKinName; stKinBlendData.In.Source := 'Kin MoveLinAbs function Block Slope '; stKinBlendData.In.D1 :=I_TransitionParameter[0]; stKinBlendData.In.D2 :=I_TransitionParameter[1]; stKinBlendData.In.SwitchOff :=TRUE; IF NOT ML_KinBlendP(Data:= stKinBlendData) THEN iKinState := 999; END_IF O_CmdOptResult := stKinBlendData.Out; // Set Poly C2 OFF stKinBlendPolySlopeData.In.KinName := I_strKinName; stKinBlendPolySlopeData.In.Source := 'Kin MoveLinAbs function Poly C2 Slope '; stKinBlendPolySlopeData.In.D1 :=I_TransitionParameter[0]; stKinBlendPolySlopeData.In.D2 :=I_TransitionParameter[1]; stKinBlendPolySlopeData.In.SwitchOff:=TRUE; IF NOT ML_KinPolyTransP(Data:= stKinBlendPolySlopeData) THEN iKinState := 999; END_IF O_CmdOptResult := stKinBlendPolySlopeData.Out; IF NOT stKinMoveLin.Out.Error THEN stKinBlendContSlopeData.In.KinName := I_strKinName; stKinBlendContSlopeData.In.Source := 'Kin MoveLinAbs function Continous Slope'; stKinBlendContSlopeData.In.SwitchOff:=FALSE; IF ML_KinContMotionP(Data:= stKinBlendContSlopeData) THEN iKinState := 5; ELSE iKinState := 999; END_IF O_CmdOptResult := stKinBlendContSlopeData.Out; END_IF END_IF
... View more