LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to latch TCP/IP waveform data

Hello LabView community,

 

I designed a LabView to communicate with a custom FPGA board using TCP/IP.  The communication is simple:

 

1. During normal condition, LabView VI sends 1032 bytes command data to the FPGA. The FPGA send back 520bytes data to report status, including the blink LED.

2. Then the "Read" button is pushed, the FPGA receives this command bit and sends back 3.27MB (3276808 bytes) waveform data to LabView VI. The VI display last section of the data. 

3. Then the VI return to the normal mode: sending 1032 command and receives 520 status bytes data. 

 

The VI is attached.  The strange behavior is:

1. When the  "Read" is pushed second time, the waveform data changed, even the FPGA is sending back exactly the same data to the VI. I confirmed the data using Wireshark.  When the "Read" is pushed again, the data changed again.  The data seems shift by 520 bytes or so. 

2. When I closed and re-started the VI, the first push of the VI always gave the correct data. 

 

In the VI, the received byte number is checked. If the received bytes is larger than 525, then the data goes to the waveform. Otherwise, it goes to status (in the simplified case, toggle the LED). When the second "Read" is pushed, I assume the same data goes to the waveform. But it is not. 

 

Any suggestions are appreciated.

 

Thanks

Charlie

 

Charlie_68_70_0-1637731810463.png

 

 

Charlie_68_70_1-1637731844062.png

 

 

 

0 Kudos
Message 1 of 1
(717 Views)