LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Which vi is best to use from pid toolkit to control 8 temperature zones?

Hi:

I recently bought LabVIEW 8.5 w/ PID toolkit but I can't find the "pid.vi" in its examples. Although I have never used this pid.vi, I heard  that this one is a good vi to control multiple  temperature zones. Help me if I am not searching this vi in a right way or place.  I am using NI 9264 module kit for the output power. My input is two NI 9211 thermocouple temperature module.

However my question is the same as of subject: Which vi is best to use from pid toolkit to control 8 temperature zones?

I also see in the readme file of NI 9264 that it can give a current drive of +/- 16mA for all channels. What does that mean? Since I'll be using a solid state relay which drives on 30mA/per channel.

Thanks for any help in advance.
0 Kudos
Message 1 of 4
(3,905 Views)
The PID VIs can be found on your functions palette under the Add-ons section. You can also search the VI palettes for PID to find the VI group. The files themselves can be found in LabVIEW 8.5\vi.lib\addons\control\pid\pid.llb

The PID VI can accept array inputs for process variables and setpoints and then will output a corresponding array, so you can do that to feed in all 8 input values.

As for current limits, the NI 9264 can only do +/- 16 mA max for all channels on the device together, or typically +/- 4 mA per channel. If your relay requires a 30 mA switching current, a 9264 will not be able to drive even a single channel of your relay.
0 Kudos
Message 2 of 4
(3,878 Views)
Thanks Vijay, Smiley Happy

I found the pid.vi. I thought that that would be a example vi. But I see that it is just a function and need to be programmed. I am new to PID. So could you please tell me which vi to use from the example if I need to control my temeratures in 8 different zones. Also I am using NIcDAQ 9172 and NI 9264 for my A/O and two NI 9211 for my 8 thermocouple input. I am using the vi (cont acq thermocouple samples.vi) for my temperaure measurement.

Please also tell me how to integrate these two VIs (PID and Thermocouple one). I am looking into
"pid control-multi channel.vi" and "Ready-to-Run Temperature Controller" from NI website.
But the input here is A/O voltage for the first example. The second one I  am yet to look.  However according to my understanding I still have to play with VIs.

This is making it very complicated for me to re-adjust or re-program the VIs to make it work ("measure and control 8 temp"). Isn't there a "simple"  way to do this job?

Best Regards 🙂
HS

0 Kudos
Message 3 of 4
(3,843 Views)
Hi HopeS,
Unfortunately, PID control theory is not a simple subject, and there is no single answer on parameters, because every system differs in their response to inputs. That's why the P, I, and D parameters are adjustable. We do have a PID autotuning VI found in the same palette which will launch the AutoTuning wizard to help you get mor precise parameters once you have reasonable values to work with already. But again, you need to know a reasonable set of values to operate with for P, I, and D. Once you use the Autotuning Wizard to get new PID values, I would recommend replacing the VI with the normal PID VI and manually entering in the values you found through autotuning. Then you can use an array of all your temperatures (process variables) as the input to the VI. The "simulated" case of the Ready-to-Run Temperature Controller example you found is about as simple as it can get.

And the output of the VI is just going to be based on the mathematical transformations going on within the VI. Since you want a analog output current, you'd rescale that output if necessary and wire it into a DAQ Assistant VI (or DAQmx Write). I'm not sure I understand what you mean with not having to "play with the VIs" - this application will require some small amount of modification to fit your hardware.
0 Kudos
Message 4 of 4
(3,812 Views)