Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

Read Encoder Position is too slow, why?

I am controlling a telescope using close-loop servo mode of 7342. What I want is to use get current position of my motor using encoder and since the position value is critical to my telescope motion system I need a fast read back of that value. However, the action is very slow, about 20ms a cycle. Is there any specification on the speed of this function? Is there any solution to speed it up? Are there any new products which is faster than this card?
0 Kudos
Message 1 of 4
(3,819 Views)
20ms seems to be way too long for reading the positio. I have done a little benchmark using LabVIEW 7.1, a 7342 and NI-Motion 6.1.5 and my average reading time was about 3 - 4ms. I just put the Read Position.flx into a untimed loop.

If you do something similar do you still get this slow reading performance or do you see this behavior only in your complete application?
Which programming environment are you using? Which driver version are you using?

Best regards,

Jochen Klier
National Instruments Germany
0 Kudos
Message 2 of 4
(3,796 Views)
Do you need to read the position that fast? The card is reading the position and closing the loop at a rate much faster than this, its just that your computer isn't getting it that fast. If you truly need to read the position at a faster rate for some other reason(other than closing the loop), one card that I have used is the Delta Tau PMAC with the Dual Ported RAM option. Certain parameters(including position) can be read from a portion of memory that is not used by the closed loop control. This reduces overhead on the card, and results in faster data transfer to the host computer. Labview drivers are available for the PMAC motion controllers.
0 Kudos
Message 3 of 4
(3,793 Views)
The NI-735x family of motion controllers allows you to read the position much faster. The position is read from a shared register that the motion board updates. Since it is a register read, the host takes very little time to get the position information.

The NI-733x/4x families of motion controllers do send a command to the motion board that the motion board has to process and then return the data. Typically this should only take a few milliseconds or less for a read. But it is dependent on what else the motion board is doing. Things that can effect the time it takes to respond to a host request are number of axes used in arc moves, and short bursts of multiple commands sent to the board. The board has a FIFO that is 16 commands deep. If you send down multiple commands followed by a read position, each command in front of the read command has to be processed first. Which could explain why you are seeing a 20 ms read.

In NI-Motion 6.1.x we have changed the driver software to help load balance the host request with the rest of the processes running on the board. In most cases this helps performance.

What version of our driver software are you using? How fast do you really need to get the position information?

Thanks,


Rodger S.
0 Kudos
Message 4 of 4
(3,788 Views)