How Can I Access an FPGA VI From Python, Matlab or External Executable?

Updated Feb 13, 2020

Reported In

Software

  • LabVIEW
  • LabVIEW FPGA Module
  • MATLAB
  • Ethernet/IP Driver

Programming Language

  • Python
  • C# .NET

Issue Details

I am building an FPGA application that I will need to be able to communicate with it using other executables that I build in other programming languages such as Python, MATLAB, and others.

  • Is there a preferred and robust method to be able to do this? 

  • Can I do this using ActiveX or .NET?

Solution

The FPGA in the cRIO is only accessible using the LabVIEW FPGA Module. This discard ActiveX or .NET.

 

There we will create a LabVIEW executable to access the FPGA VI and communicate with the external program. To do that internally, we can have 2 scenarios:
  1. Create a LabVIEW executable to read directly the FPGA Program I/O
  2. Create a LabVIEW executable to read a RT Program I/O and read indirectly the FPGA I/O
Once we have the communication between our LabVIEW Executable and the FPGA VI, we can use TCP, or UDP to communicate our LabVIEW Executable with an External program

We can see a summary in the next picture: