6.3 Code Interfacing between Filters and Mapping Structures

After the signals were filtered in Labview, a layer of code was needed with which to transfer the data to the mappings in C++ on the second computer. Built-in structures within Labview called the "Code Interface Node" initially looked promising, but ultimately were not helpful because they could only support low data rates and couldn’t export the data in a convenient format. Therefore, a unique utility was developed using sockets and TCP/IP over ethernet.

The utility, existing in a file called TCPsending.vi, took multiple lines of data in the form of 8-bit unsigned integers, converted each one to a string, and concatenated all the individual strings into one long string. Then, using a built-in Labview utility called TCPWrite.vi, the data was given a connection ID. A second built-in function provided an ethernet address and a remote port number with which to set up the socket. At the first execution of this function, the socket was opened; at every successive execution, each line of data was concatenated into one long string and sent out to the specified ethernet address.

From the C++ side, special code was written to open up a socket and read data from the same port number. When the expected number of data bytes was received, the C++ application locked onto each segment and printed the number of bytes received to a terminal window. The executable did not launch unless the right amount of data was detected at the socket.

  Chapter 6.4