Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

How to use FPGA Multichannel (PID) template

I'm using FPGA PCI-7833R and I'm trying to use the multichannel PID control template coming with Labview examples to control a signal.  How can I use this template?  What are the Dummy Input and Dummy Output vi for?  Are they like polymorphic vi?  I only get a blue straight line at value 0 (supposedly SP line) no matter how I manipulate the setpoint bar and no PV or Output line is shown.  Then I guess I should add some FPGA I/O node to Dummy input and output vis, but I don't really how to connect them.  Could you give me some further descriptions and explanation about this template work?  Thank you very much for your help. 

 

PS: I only have Labview 8.5 so I can't open 8.6 files.

 

Download All
0 Kudos
Message 1 of 7
(5,540 Views)

Hi soljiang,

 

You cannot use that template to do PID on the FPGA because it is a polymorphic VI and FPGA does not support polymorphic. Then only PID control you can do is through the VI avaiable in Programming > FPGA Math and Analysis > Control > PID. However, that VI will only work for one given process variable (signal) at a time. You may need more that one instance to control more than one signal. 

 

Take a look at the examples under Help > Find Examples > Hardware Input and Output > R Series >  FPGA Fundamentals > Analysis and Control > Using Discrete PID

 

Hope this helps!

Misha
0 Kudos
Message 2 of 7
(5,523 Views)
FPGA card needs to be compiled every time I make some change to the FPGA vi and want to do some testing.  How much potential damage could it do to the card with compiling every time?  What's the life cycle of the card?  Where can I find some information on this point?
0 Kudos
Message 3 of 7
(5,503 Views)

Soljiang,

 

You will not damage the card by compiling your code multiple times. The only thing you might want to keep in mind is that the flash memory has a limitation on how many times you can write to it, but that number is in the hundreds of thousands. You can find more info here: Is There a Limit to How Many Times You Can Write to the FPGA on the 783x board?

Misha
Message 4 of 7
(5,485 Views)

Hello Mishkin,

 

I think this example is what I want to use:

Hardware Input and Output > R Series >  FPGA Fundamentals > Analysis and Control > Using Discrete PID

 

However, do you have an example of how to add some Analog IN/OUTPUTs to the FPGA vi?

I am using the 7831R along with the SCB-68 breakout box.

 

My ultimate goal is to have about 10+ closed loop controls (each based on only one Process Variables  i.e. 1 in/1 out per loop)

-Thanks

 

0 Kudos
Message 5 of 7
(5,363 Views)

As a follow up...  using the "Using Discrete PID" example.  I notice that the Front Panel on the HOST vi makes reference to using AO0 and AI0.

 

Am I missing something, but where are these on the FPGA vi?  How would I add them?  (I already added them in the project "Add I/O")

Thanks!

0 Kudos
Message 6 of 7
(5,354 Views)
If you want to use AI0 and AO0 with the Using Discrete PID example you will need to add new FPGA I/O in your project and replace the Input 0 and Output 0 in the false condition on the FPGA VI.
Message 7 of 7
(5,329 Views)