02-22-2012 10:18 AM
I have an USB-6009 DAQ Device. I am using it for reading 5 analogue input voltages to control the movement of a 3D simulated image on LabVIEW.
I have done a little bit research on 3D simulation on LabVIEW. I found that Softmotion module is one of the options for me to create a 3D simulation imgae. However, I am new to Softmotion module, I am wondering if USB-6009 is capable of working with Softmotion module because I have found a tutorial on NI website of using Softmotion with CRio but not with USB DAQ device.
Are there any other tutorials can teach me how to get the USB-6009 to work with Softmotion module?
Thank you very much
02-23-2012 08:30 AM
I'm Oli, an Applications Engineer at NIUK. Thanks for posting your question.
Unfortunately, the Softmotion module only works with a set selection of hardware, which includes Compact FieldPoint, CompactRIO, M Series DAQ devices and R Series DAQ devices. The NI Softmotion module is designed to be run in conjunction with LabVIEW Real-Time and LabVIEW FPGA which cannot run on USB DAQ devices, with the exception of DSP-based motion controllers such as the NI 7330, 7340, 7350 and 7390 series of PCI/PXI cards.
The maximum analogue output rate of the USB-6009 is 150S/s, which is very slow for motion/control tasks and also, you can only use USB DAQ under Windows, which results in non-deterministic timing and also limits your control algorithms to a resolution of 1ms.
You could perhaps make a control system using USB DAQ using PWM generation and the onboard counters, but I'm not sure how well it would perform as 150S/s wouldn't be enough for any reasonable PWM signal, for example, a 50Hz PWM signal combined with the 150S/s timing resolution would allow for only 4 discrete steps (0, 33, 66 and 100%).
I'm sorry that the answer is no, but perhaps I could advise you on more appropriate hardware. For a true motion control system, you need to know the following parameters to choose the appropriate platform and hardware:
Motor Type (servo, stepper etc.)
Number of axes
Mechanical Stage (rotational, screw etc.)
Control Type (position, velocity, torque etc.)
Maximum velocity (rpm)
There are a number of other parameters, but once you know the above, then I can perhaps suggest something more appropriate. The USB-6009 just isn't designed for motion I'm afraid.
I hope that information is useful. Feel free to post back if there is anything I can assist you with further.
02-23-2012 10:56 AM
Thank you very much for your reply, Oli.
I didn't explain my situation well enough in the first post. My aim is simply to take voltage readings from potentiometer via the analogue input ports of USB-6009 DAQ Device. Then I want to control the movement a 3D image with the readings i have measured from the DAQ device, for example, to extend or recoil an industrial robotic arm. Therefore, all I need is to read the data(voltages from the potentiometers), and implementing the data with softmotion module. Basically, I am trying to control the image on the computer with real-time interface. Is this still possible to be achieved with USB-6009 as reading voltages may not require a high sampling rate. Please correct me if I am wrong.
If it is not possible to be achieved, can I use CompactRio to achieve the above task by using both Real-time module and Softmotion module? Are there any tutorial on how to use both modules?
Also, could you confirm that if softmotion module is capable of simulating a 3D image, please.
Thanks very much
02-24-2012 08:07 AM
Sorry it's taken a while to get back to you.
If you are simply using the USB-6009 for data acquisition and 150S/s is enough for you, then you should be able to use it with no issues. I'm not sure I quite understand exactly what you are trying to achieve with the 3D image though.
Are you wanting to simulate the robot arm as an image and make the image move according to the data acquired from the USB-6009? Or are you trying to control a real robot arm? I'm not sure exactly where you anticipate the softmotion module fitting in. The Softmotion module allows you to control motors from your hardware, it doesn't have any functionality to control a 3D picture specifically.
With regards to the 3D picture control. I had a look for some examples on the community portal here. If you could provide me with some more specific information about what you want the application to be able to do, then I can assist you some more.
With regards to the CompactRIO and the Softmotion module, the best place to look for examples and tutorials would be in LabVIEW (Help>Find Examples...) and on the Softmotion page on our website.
02-24-2012 09:08 AM
Thank you very much for your reply, Oli.
Yes, I am using the USB-6009 just for reading or acquring data for potentiometers.
Sorry for the confusion. I am trying to simulate the robot arm as an 3D image and make the 3D image to move according to the acquired data from the USB-6009. Is there a module which shows the 3D image and to control the image, or is it just a series of function blocks?
Thank you very much
02-27-2012 10:25 AM
I was just writing a reply. Sorry for the delay.
The only function in LabVIEW that can deal with 3D images and generate your robot arm model would be a 3D picture control. I don't know if you've come across this example on the community portal, but it sounds like you are trying to do the same thing. The only difference with your application would be that you want to change the manual front panel joint controls with some DAQmx tasks to read from your potentiometers on your USB-6009.
It should be easy to do that, in fact, you could probably use the example as it is, but define your own robot model .dat file (you can do that within the example). You only need to change the input data to the 'Joints' cluster array that is on the block diagram so that it comes from your 6009 DAQ tasks. You could probably even write to the cluster array using Local Variables, that way you can do your DAQ in parallel with the rest of the code.
I hope that helps.