NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

How do you use a R Series Card w Teststand?

Solved!
Go to solution

Do you put the "Host" vi in Teststand as say a Numeric Limit tests?  Does the host load the FPGA VI everytime its called in TS??  Does the FPGA VI have to compile each time so that the user has to wait??

 

Thanks

0 Kudos
Message 1 of 5
(3,046 Views)

The way I did it was I had a VI to talk to the FPGA card.  This VI was ran in a new thread (you may have to put it in its own sequence to do this).  I then used queues to send commands to the interface VI and back.  So a test step would send a command to the FPGA via the queue, recieve data back via a second queue, and then return the data to TestStand for limit checks.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
Message 2 of 5
(3,042 Views)

From what I found out about Labview and FPGA ( assume you have all the required FPGA components) is that you create a Project , create a Host Vi then a FPGA VI.  The FPGA is complied when you hit the run button and auto downloads onto the FPGA.  You communicate w the FPGA via the Host.vi. I have gotten expierence w Run VI Asynchronously so I assume you would run the Host vi in this thread using Run VI Asynchronously.  After that you lost me w the queueing.  Are there any examples of how to do that?  Do you have to use queues because the vi is still running when you pass it parameters??  My question still is when you run the Host vi in Teststand does the FPGA VI compile EVERY TIME??  This, in my case, takes over 10 mins.

0 Kudos
Message 3 of 5
(3,039 Views)
Solution
Accepted by topic author clint100

You should compile the FPGA into a bit file.  You can then load the bit file in the host VI.  This loading should only happen when the host VI is ran.

 

10 minutes to compile?  That is quick!!!  I had one that took 2 hours and I've heard stories of some taking a lot longer.

 

The Producer/Consumer architecture is the closest thing I can compare my setup to.  Yes, I use the queues because the host VI is constantly running.  You have to use some kind of messaging in order to pass data into the host VI.  I used an Action Engine to keep my queues in order, but you could probably just use named queues to accomplish the same task.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 4 of 5
(3,036 Views)

Yeah, FPGA is new to me.  10 min seemed like an eternity especially when you are constantly updating your vi.

0 Kudos
Message 5 of 5
(3,033 Views)