Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

Step Response Subroutine of MAX

Hello everyone,

 

I have a problem about the step response function of the MAX. First let me give some details about the motion controller system I’m using.

 

I need to create a system to control Maxon motor position. I’m using PCI-7358 as controller and MID-7654 as servo driver. I tuned my servo axis using MAX and always checked the step response subroutine under the Servo Tune tab. The servo tune was good I think with the PID values I used because the analysis table showed that the settling time is 6ms and the rising time is 0ms and I have no overshoot.

 

Then I used the jog axis subroutine under the same Servo Tune tab and this time the response of the actuator system becomes ~30ms. (The step response and the jog axis commands are given for 1024 counts.)

 

What is the difference between the jog axis and the step response of the MAX? How do these two subroutines graph the motion defined?

0 Kudos
Message 1 of 7
(4,750 Views)
Step Response:
In this mode the difference between current position and commanded position is set to Step Length in a single step. Thus the board tries to eliminate this difference as quickly as possible. This test mode provides information about the response time and stability of your system.

Jog Axis:
This is just a normal move, where the axis follows a trajectory defined by velocity, accleration, deceleration and move distance. You should use this mode to test if the tuning of your axis is adequate for the requirements of your real-world application.

I hope this helps,

Jochen Klier
National Instruments

Message Edited by Jochen on 09-21-2007 03:30 PM

0 Kudos
Message 2 of 7
(4,740 Views)
Thanks for your kind reply Mr.Klier.
 
I'm not sure I fully understand your reply Mr.Klier. I understand that there is a "step length" notion in this board and by setting a distance to this step the board tries to reach that distance in single step. (sorry but here I can't understand the single step of what?) If Step Response subroutine can change the definition of Step Length can I also program in my programs that Step Length such that the performance shown in Step Response shall be realised?
 
or
 
if the jog axis follows a generated trajectory defined by the velocity, accleration, deceleration and move distance (and maybe the s-curve parameter, velocity filter and all other user defined parameters) there should be some configuration of these parameters that the response of my actuator shall be like the one in Step Response.
 
Also I don't understand how these graphs of Step Response and Jog Axis are drawn? Where the datas are coming? Is there a way we can use the method that these routines call for the graph?
 
Thank you again... 
0 Kudos
Message 3 of 7
(4,720 Views)
Please read my comments.

I'm not sure I fully understand your reply Mr.Klier. I understand that there is a "step length" notion in this board and by setting a distance to this step the board tries to reach that distance in single step. (sorry but here I can't understand the single step of what? [JK: "single step" means that the PID controller gets only one new setpoint which is the target position of the step, defined by step length] ) If Step Response subroutine can change the definition of Step Length can I also program in my programs that Step Length such that the performance shown in Step Response shall be realised? [JK: the best way to do this is to run a relative move and set acceleration, deceleration and velocity to extremely high values]
 
or
 
if the jog axis follows a generated trajectory defined by the velocity, accleration, deceleration and move distance (and maybe the s-curve parameter, velocity filter and all other user defined parameters) there should be some configuration of these parameters that the response of my actuator shall be like the one in Step Response. [JK: see above]
 
Also I don't understand how these graphs of Step Response and Jog Axis are drawn? Where the datas are coming? Is there a way we can use the method that these routines call for the graph? [JK: MAX just uses the standard function call to read the position (flex_read_position()). ]

Jochen
0 Kudos
Message 4 of 7
(4,700 Views)

Hello Jochen Klier,

I was working on our system. I have a very short question and am looking forward your reply.

You said that that the graph in step response is drawn calling standard flex_read_position but also in another thread you said that the register that holds the read position value is updated in 5ms. But as I said the step response graph is much smoother than that update rate.

Thank you for your kind interest.

Gencer Genc

Roketsan Co.

0 Kudos
Message 5 of 7
(4,679 Views)
I'm not aware of another way to read the position quicker, but I'll check with R&D and let you know as soon as I get an answer.

Jochen
0 Kudos
Message 6 of 7
(4,676 Views)
I got the information from R&D. In fact MAX is using another method to acquire position data much faster. Unfortunately this method can't be used for longer moves, so it's not available in the public NI-Motion API. So my former statements are still valid.
The best option is an additional counter/timer board.

Jochen
0 Kudos
Message 7 of 7
(4,663 Views)