I am maintaining and extending a LabVIEW 14.1 app that runs on a cRIO 9067. We developed our own FPGA in LabVIEW as part of this app.
It maintains a bi-directional communication path with an HMI running on a nearby PC (also written in LabVIEW). Regular status and data messages are sent from the cRIO to the HMI on a 10-second cycle. The technology used for both directions of this pipeline is LabVIEW network streams. The messages sent from the cRIO to the HMI are short -- a few hundred bytes each.
Every few hours, the cRIO app also transmits a 15 Mb file to an FTP server. I've observed this process to take 15 seconds or so, whenever it's kicked off. For this operation, the software uses LabVIEW's built-in FTP protocol, first writing the data to a local file, and then requesting it to be sent to the server. The VI that does this operates at background priority.
My question is this: will the LabVIEW TCP/IP protocol overlap these operations? Or, is it possible that when the FTP transmission kicks off, it might disrupt the more routine message flow? What I'm seeing in a network with 4 of these instruments is the cRIO randomly losing contact with the HMI, tossing a variety of seemingly unrelated exceptions.
As it turns out, the FTP server runs on the same machine as one of the HMIs. Would that make any difference?