Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

Usage of buffer in PCI-7344

Hi all,
 
I wanted to know the usage of buffer in PCI-7340 four axis motion control card. I have a text file which contains the co-ordinates of X,Y and Z and the velocity between each points. I am able to extract this data into four 1-D arrays containing X,Y,Z and Velocity. Now I want to load these points into a buffer and initiate the move. Most of the times, the no. of points will be over 20000 points. I have attached the text file and the VI which extracts the co-ordinates from it into arrays. I just need a VI which can load these to a buffer and start the motion. One more issue that will have to be taken care of is that the buffer will have to be updated after the previous data on the buffer is used. For eg. if the buffer capacity is 15000, and if I have to load 25000 points then the new points should come in after the old points are used up.
 
Regards,
Manish Karnik
Application Engineer
Cruiser Controls
India
Download All
0 Kudos
Message 1 of 5
(4,015 Views)

Hi Manish,

There is an example in LabVIEW that shows how to load points for multiple axes into a buffer and do a multiple axis move.

Open the LabVIEW and open the NI Example Finder by click on Help>>Find Examples.
Open the example at Hardware Input and Output>>Motion Control>>Contour Move>>Two-Axis Contouring (Spiral).vi.

The array containing the position points going to the Write Buffer function is a 1-D array.  This 1-D array is actually interlaced with the X and Y axis values.  For example, if the first two points were (0,1) and (4,5), the 1-D array would be (0, 4, 1, 5).

For your constant velocity of 500, you can use the Load Velocity function and connect your velocity value to the Velocity input terminal.

For more information on the maximum size of the buffer and how to load new points into the buffer, please see this KnowledgeBase article and also the Continuous Sine Velocity Profile Example Program link in that article.

Allen H.
Applications Engineer
National Instruments
Message 2 of 5
(3,993 Views)

Hi,

Thanks a lot for your reply. I'll wish to let you know what I have understood from the examples and links that you guided me to.

I have three arrays containing X, Y and Z co-ordinates.

Eg,  X array - 2,5,6,7,8

       Y array - 5,3,7,9,1

       Z array - 1,9,0,5,2

So to do a multiaxis buffered contoured move, I have to first define the vector space1 as Axis1,2 & 3. Now I have to create a single array containing co-ordinates in sets of three, like this 

Combined array - (2,5,1),(5,3,9),(6,7,0),(7,9,5),(8,1,2) as highlighted in the above example. Now the controller will take 2, 5 & 1 as the first set of co-ordinates X, Y and Z axis respectively, then 5,3 & 9 and so on......

To load more points than the limit of PCI-7344 i.e. about 16000 points, I have to keep checking the buffer and once half the points in the buffer are used up, I have to load the next half set of points from the array. Please let me know if my understanding is correct.

Regards,

Giridhar Rajan

Automation Engineer, Design

Cruiser Controls

Mumbai, India

0 Kudos
Message 3 of 5
(3,986 Views)
Hi Giridhar,

Yes, your understanding is correct.  Hope this helped!

Allen H.
Applications Engineer
National Instruments
0 Kudos
Message 4 of 5
(3,972 Views)

Hi allen,

Thanks a lot. Sorry Manish, I did'nt realize that you had logged in and I messaged through your ID.

Regards,

Giridhar Rajan

Automation Engineer, Design

Cruiser Controls

Mumbai, India

0 Kudos
Message 5 of 5
(3,957 Views)