Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

Sinusoidal Velocity

What PCI card are you using?  If you use contouring and the One-Axis Contour Move with Position Monitor.vi, you are only limited by your PID loop on your card, which usually runs at 250 microseconds (but can be pushed even faster).
Chris Bolin
LabVIEW Partner Program, CLA
0 Kudos
Message 11 of 21
(2,099 Views)
Actually u r a bit wrong.

It is limited by the time setting of the buffer config vi, min is 10ms i guess...which is huge... 😞
Regards
Sneh@l
0 Kudos
Message 12 of 21
(2,094 Views)
That is correct...with the Contour Move the fastest you can output is 10ms.
0 Kudos
Message 13 of 21
(2,087 Views)
Hi Sneh@l!

Below is the LabVIEW help article for "Configure Buffer".  I've added some comments for clarification.

Requested Interval (10 ms) is additional data for the Position buffer type. The Position buffer type requires a Requested Interval parameter, and indicates the time between contouring data points in milliseconds. For all other buffer types, the Requested Interval parameter is ignored.
 
The controller uses the closest value it can that is greater than or equal to the interval value you requested. Your time interval must be an even multiple of the PID rate [default 250 microseconds, which can be as fast a 62.5 microseconds with one axis]. Refer to the description for the Actual Interval parameter for more information.


Example:
PID control loop update period:
250 µs (as set in Measurement and Automation Explorer)
Run One-Axis Contour Move with Position Monitor.vi
Position Mode: Absolute Contouring
Request Interval: 10ms
Result:
The control will monitor and update the motor's position every 250 µs, or 40 times between each contouring point, resulting in an update frequency of  4000 Hz.
Chris Bolin
LabVIEW Partner Program, CLA
0 Kudos
Message 14 of 21
(2,081 Views)
Hi,

just a little comment on this:
The 73xx boards use a spline algorithm to interpolate between the contouring points provided by the contouring buffer. Thus the PID gets a new setpoint at each iteration of the control loop. This results in a very smooth contouring move even with a timing intervall of 10 ms or above.

Regards,

Jochen Klier
National Instruments
0 Kudos
Message 15 of 21
(2,054 Views)
Hi Jochen

I would like to execute a velocity profile onboard at high frequency 10-15Hz. I would just generalte positions for a single sinewave and it would be executed again and again at high frequency.
Regards
Sneh@l
0 Kudos
Message 16 of 21
(1,998 Views)
Hi Jochen

I would like to execute a velocity profile onboard at high frequency 10-15Hz. I would just generalte positions for a single sinewave and it would be executed again and again at high frequency.
Regards
Sneh@l
0 Kudos
Message 17 of 21
(1,998 Views)
Yeah Bolin,

But still the minimum possible time for loading the next position is 10ms which is a bit large. As I want 10 Hz with 300 samples = 1/(10*300) = .33 ms
Regards
Sneh@l
0 Kudos
Message 18 of 21
(1,995 Views)
Well Sneh@l, this brings me back to my favorite topic: The NI SoftMotion Development Module for LabVIEW.
There is obviously no good way to meet your requirements with a 73xx board and it would be probably hard to find a 3rd party product that provides these timing capabilities, too. A possible solution is using a LabVIEW FPGA target like a PCI-7831R. This device can run PID loops with up to 200 kHz and you could feed contouring data with the same frequency to the control algorithm. 200 kHz control loop rate might be a bit too fast for a motion control application, but as you can define the timing by your own, this board provides enough headroom for your application.

The R-Series boards are general purpose multifunction I/O boards with an FPGA onboard. The before mentioned SoftMotion module makes it quite easy to convert this board into a user defined motion control device.

Regards,

Jochen
0 Kudos
Message 19 of 21
(1,979 Views)
Hi Jochen thanks for the reply

I am now providing analog signal to the board. But when i read out the signal is not that smooth. So I am now installing a new encoder. But will I be able to read out the data so fast using read position VI 73xx.

Also, do tell if there is any way to execute the countouring motion OnBoard. I read in a PDF it speeds up the program a bit..

Thanks

Regards
Sneh@l
0 Kudos
Message 20 of 21
(1,970 Views)