This post describes the options for transferring files via a FTP from a real time (RT) target such as a Compact RIO to a host PC. There are two ways in which to transfer files, pushing from the RT target or pulling from the host PC application.
Pulling from a host application
With this approach the ftp server is running on the RT target. The user will interact with a host application to request a transfer of files, e.g. press an upload button. Alternatively, you could configure a LabVIEW application to run as a background task, invisible to the user, which periodically pulls the required files.
This functionality could have features such as date range or file type filtering. Below is a sample diagram taken from one of Argenta’s applications, in this instance the code is run in the host application when the user presses an upload button. We also integrated a simple progress bar to inform the user of upload progress.
Pushing from the RT target
With this approach the ftp server is running on the host computer, this would be a third party tool such as FileZilla. The user will have no interaction to determine the transfer of files, all decisions for upload will be made on the RT target. The advantage of this method is that you would not need to have any LabVIEW code running on the host PC.
Below is a sample diagram taken from one of Argenta’s applications, in this instance the code is running periodically in the RT application based on a timeout. It first checks that the host PC is turned on, then send files using the FTP alias and login credentials.