Quantcast
Channel: LabVIEW topics
Viewing all articles
Browse latest Browse all 69523

niFPGA - Python api, cRIO FIFO communication

$
0
0

Hi

 

This is going to be highly theoretical questions mainly concerning the python API for LabVIEW's FPGA control - https://nifpga-python.readthedocs.io/en/latest/

 

The programming part is not the main concern here, but only to give you an idea of my needs.

 

My goal is to make a program that by the help of two cRIO-9074 chassis, several digital and analog C-series slots can deliver a signal to a given time. The given values that are to be sent to the C-series slots at the time is to be stored in a matrix send from the computer by the python API. The whole program will then execute at a command. I hope to store something around 50x150 array with True/False and fixed point values, so i hope that the FIFO's will do the job.

 

The questions - All communication is from the python API from a host pc to the target FPGA:

  • How does the session when using the API, establish a connection ? A bitfile is being loaded, and a reference. Is the cRIO's adress saved in that bitfile ?
  • When make use of the example below and a bitfile containing two FIFO's that writes and read into each other (See picture below), how is the communication carried out ? (TCP/IP, shared variables...)
    (When writing to variables through the API, is it done by the same communication, and is it as fast as the FIFO ?)
    from nifpga import Session
    
    # create a list of 100 incrementing values
    data = list(range(0, 100))
    
    with Session("MyBitfile.lvbitx", "rio://hostComputerIP/FPGA_2") as session:
        host_to_target = session.fifos['Host To Target Fifo']
        target_to_host = session.fifos['Target To Host Fifo']
        host_to_target.start()
    
        # stream the data to the FPGA
        host_to_target.write(data, timeout_ms=100)
    Skærmbillede 2019-01-28 kl. 23.24.46.png

 

 

 


Viewing all articles
Browse latest Browse all 69523

Trending Articles