Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

error code -71622 when using read encoder data vi

Solved!
Go to solution

 

 Hi, im using PXI7340 Motion controler and i get error code -71622 which is not defined if i try to search it in the explain error help section. I get this error when i try to use read encoder data vi. I would like to get index data and i cant find another vi thet does that. Any sugestions

0 Kudos
Message 1 of 10
(5,470 Views)

Hi,

 

sorry about this question, but are you really sure about this error number? All NI-Motion errors start with -70xxx andt it's really strange that I can't find any reference to this error in any of our internal databases at NI.

Could you please provide some more information?

 

  • Which NI-Motion version are you using on which OS?
  • Does the board work properly besides this error?
  • Could you please provide a code snippet, that causes the error? Ideally please post a small vi with nothing but the Read Encoder Data vi and the parameters that you have used when the error occurrs.


Thanks and kind regards,

Jochen Klier

National Instruments

0 Kudos
Message 2 of 10
(5,468 Views)
Hi, thank you for the fast reply. Besides this error motion controler seems to be working properly. I am able to "drive" stepper and servo motors in open and close loops. The thing is whenever i include read encoder data vi in my program i get this error. Im using windows xp  and motion version 8.0.0.3001. It doesnt matter what kind of parameters i use with the vi, it always generates that error. Can i use any other vi to obtain encoder indeks data (i cant find any other) or do i have to use digital inputs? The picture of the code is in attachment. Note that i get the data from read encoder position vi.
Message Edited by toni939 on 11-20-2009 05:01 AM
0 Kudos
Message 3 of 10
(5,466 Views)

Thank you for posting the screenshot. According to the NI-Motion help, Read Encoder Data returns the captured index position after a Find Index search (Find Reference). I can't see the Find Reference operation in your screenshot. Is it part of your code and did you make sure to execute it before calling Read Encoder Data? If not, the index position is not captured, yet and the vi might throw an error.

 

Jochen

0 Kudos
Message 4 of 10
(5,459 Views)
I actually didnt used Find Index vi, i included it and still got the same error. 
0 Kudos
Message 5 of 10
(5,457 Views)
Solution
Accepted by topic author toni939

Again, could you please show me how you have implemented that?

Let's step back a bit. What exactly are you trying to accomplish? Do you want to find the index position? Then Find Reference should do the job for you.

0 Kudos
Message 6 of 10
(5,455 Views)
I have implemented that VI completely wrong. Thanks for pointing that out.
I have another problem. One of the motors im using should have max. velocity 3000 RPM. I can only get 2200 RPM out of it. If i asign greater velocity than 2200 RPM the close loop regulations doesnt work and it doesnt reach desired velocity it usualy gets to approximately half the velocity i wanted.
I have looked in other threads and the only thing i got was that the acceleration and deceleration has to be set high enough. I tried to increase both but it didnt help. Any suggestions.
0 Kudos
Message 7 of 10
(5,411 Views)

3000 rpm is typically the upper limit of a stepper motor's specs and at such a high velocity the motor's maximum torque is very limited. The picture below shows a typical torque vs. speed diagram of a stepper motor. This specific diagram contains two curves for two different motor voltages.

torque_vs_speed.png

 

As you can see, at high velocities the maximum torque drops dramatically, so depending on your mechanical setup you may or may not be able to reach the motor's maximum velocity rating. Please note, that also the inertia ratio between the motor's rotor and the load is also very important to reach high velocities. Ideally this ratio is 1:1.

 

If neither the maximum torque nor the inertia ratio is the problem, you might have run into a limitation for the minimum acceleration and deceleration (that's probably the issue you are referring to). Besides increasing these values, you could also increase your board's  PID cycle time. While there is no real PID algorithm running with a closed loop stepper, this timing still has an impact on several internal timings of the 73xx boards and increasing this value allows longer periods for the acceleration and deceleration parts of your trajectory.

 

In your post you are referring to closed loop operation. Do you get a following error? What happens if you run the axis in open loop mode?

 

Jochen

 

Message Edited by Jochen on 11-23-2009 01:23 PM
0 Kudos
Message 8 of 10
(5,408 Views)

 

The thing is, the motor is actually servo, but i have to specify it as stepper because for it to work in position mode i have to send  pulses to it and the only way PXI7340 generates pulses is to configure output as stepper output. I set following error to 0, because it works better that way. It works identically in open and closed loop, which makes sens now that you told me that the PID regulation isnt functional on stepper outputs. For speeds little above 2200 RPM it  rotates much slower and loses accuracy, for speeds around 3000 RPM it completely loses accuracy. 

Message Edited by toni939 on 11-24-2009 07:03 AM
0 Kudos
Message 9 of 10
(5,383 Views)

In this case it sounds like a similar problem, that I have experienced with a Yaskawa servo drive, that was configured in P-Command mode (step/direction commands).

 

With the Yaskawa drive the issue was caused by the limited bandwidth of the frequency input. At some point the frequency of the step pulse train got too high and the drive didn't recognize the pulses correctly anymore. I have resolved this issue by configuring a higher gearing ratio for the drive (e. g. 1 pulse at the step input corresponds to 5 pulses of the drive's internal resolution). If your drive provides gearing, this could be also a solution for you, but of course increasing the gearing ratio means sacrificing some accuracy, so this approach might or might not be applicable.

 

Jochen

0 Kudos
Message 10 of 10
(5,378 Views)