12-11-2017 01:16 AM - edited 12-11-2017 01:18 AM
Hello,
I'm just getting into lab view, NI hardware and want to set up a system to do some fast motion control.
I'm hoping to use a PCIe6353 to run 3 PID controllers in parallel on a very fast CPU.
I'm hoping to run the loops around 200 - 300hz, with out getting into the fine details, does anyone know if this is within the realm of possibility? 300hz is the max speed of my sensors.
Are there gotchas a noob might not be aware of, that would make these goals difficult/impossible to reach.
Thanks!
12-11-2017 06:16 PM
Hello,
The sampling rate of that controller would be able to handle the speed of your sensors. However, the transfer of data between your DAQ and computer might be a throttle point.
However, for the application you describe, you might want to look into a real-time system. Also, depending on your application you might also want to look into the SoftMotion Module, which is designed for motor applications.
12-12-2017 01:43 PM
Thank you for that info. I was able to come into the aforementioned card for a very good price, so I'm kind of stuck for hardware for now. Although I would like to look into the real-time hardware as my Labview journey progresses.
On the input side, I will be using 3 analog inputs to manipulate the set points of three PID control vi's. 3 more analog inputs will provide feedback for the PID's. There will be a few scaling and normalizing operations in there. My plan is to use 3 of the 4 analog outputs, with external unity gain op-amps, to drive the control signals of my proportional valves which accept 0-5vdc.
Am I missing something when thinking about the PCIe bottle neck?
9 channels of 64bit double numbers + 128bit timestamp for each at 300hz
9ch * (64bits + 128bits) * 300hz = 518400bits/s = .0648mb/s
The bandwidth of PCIe x1 is 500mb/s up and down, so I thought I was way under..?
To focus in deeper on my initial question, I suppose it is the latency I am concerned with?
I'm running the card on a 3.7ghz 6 core i7. I am hoping that this machine will be overpowered and give me lots of time to do the PID's and some other scaling in between each iteration of the 300hz loop.
Thanks very much for the help on this.
12-13-2017 04:40 PM
Each While loop you have in a LabVIEW program will take one core of your computer, if you are running it as fast as it can go (no waits). So, depending on the code structure and other processes on your computer, that's something to be aware of.
Also, make sure you are using hardware timing for your device. Your computer will be using software timing, so the PID loops will be less accurate and could be slowed or interrupted with something like a software update.