LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Is it possible to interface with an FPGA VI on a PXI target using something other than LabVIEW?

Solved!
Go to solution

Hello!

 

I have a setup that consists of PXI-1036 chassis with a PXI-8108 controller and a 7851R FPGA card in it. There is also a host computer (PC) that I use to run the VIs on target. My problem is that the project codebase is a nightmare to support. I inherited it from another person, I already spent over a month on the refactoring, and I feel that LabVIEW is just not the best choice of the environment for this project. For this reason, I want to move the part that runs on the PC to something else, like C# or Python. I want to keep the LabVIEW code on the FPGA primarily because it makes the DMA transfers and reading/writing variables easy.

 

The question is, what is the best way to interface the new code and the LabVIEW FPGA code? 

 

Here is what I've been able to come up with so far:

1) There is a NI library that allows to interface C code with the LabVIEW FPGA, so the most straightforward solution would be to set up an RPC server that supports the basic FPGA functions on the chassis controller and call them remotely.

2) It seems that the chassis controller is already running an RPC server (so that the LabVIEW can run the VIs remotely). It would be great to connect to that with say C# code, but I couldn't find any documentation or libraries for doing so.

3) There is a "VI server" and "Web server" options in the properties of the chassis controller, but again I couldn't find any documentation and libraries for using those.

 

Could you please offer any suggestions on the best way to approach it?

 

Thank you!

0 Kudos
Message 1 of 6
(2,765 Views)

Is this what you are looking for?

 

Interface C API Introduction to the FPGA Interface C API
http://www.ni.com/product-documentation/9036/en/
FPGA Interface Python API
https://forums.ni.com/t5/NI-Linux-Real-Time-Discussions/Introducing-the-FPGA-Interface-Python-API/td...

 


Certified LabVIEW Architect, Certified Professional Instructor
ALE Consultants

Introduction to LabVIEW FPGA for RF, Radar, and Electronic Warfare Applications
Message 2 of 6
(2,754 Views)

My problem is that the FPGA is installed in the chassis that I access over the network and not the computer that is running the code.

But thank you for letting me know about the Python library, it's very helpful!

0 Kudos
Message 3 of 6
(2,734 Views)
Solution
Accepted by topic author atomtrainers

You can also use both the C API and Python API to open sessions to remote machines by formatting your resource string like "rio://ip_or_hostname/RIO#".  

 

You can find info on how to enable the RIO server here: http://digital.ni.com/public.nsf/allkb/43F81436B97AEE28862573D40069F440

Message 5 of 6
(2,708 Views)

That's exactly what I need! Thank you!

0 Kudos
Message 6 of 6
(2,676 Views)