FTP Client

Nella libreria dei template di UNIQO sono disponibili uno script di runtime ed un widget che permettono di effettuare connessioni a server FTP.

Nota

al momento non sono supportate connessioni FTPS.

Deve essere installato il seguente pacchetto NuGet:

Per l’installazione dei pacchetti NuGet vedere Aggiungere pacchetti NuGet.

Si consiglia l’installazione dei pacchetti nelle versioni stabili.

FTP client script

FTPClientLogic è uno script di runtime che espone dei metodi OPCUA per ottenere l’elenco ed effettuare il trasferimento dei file da/a un server FTP.

Impostazioni

I parametri configurabili sono i seguenti:

  • FtpServerIPAddress: indirizzo IP del server FTP.

  • FtpServerPort: porta del server FTP.

  • FtpServerUsername: username dell’utente con cui ci si vuole autenticare sul server FTP.

  • FtpServerUserPassword: password dell’utente con cui ci si vuole autenticare sul server FTP.

  • OverwriteFileIfExists: stabilisce se eventuali file esistenti vanno sovrascritti o meno.

I seguenti parametri espongono invece lo stato interno del client (da utilizzare in sola lettura):

  • FtpClientIsRunning: indica se il client è attualmente connesso ad un server FTP.

  • FtpClientOperationInProgress: indica se il client sta eseguendo delle operazioni (elenco/trasferimento di file).

I metodi esposti sono i seguenti:

  • ConnectFtpClient effettua una connessione ad un server FTP.

  • DisconnectFtpClient effettua la disconnessione dal server FTP.

  • DownloadItem effettua il download dell’elemento remoto contenuto nel parametro (file/cartella) remoteItemPath all’interno della cartella localFolderPath. Tramite il parametro overwriteItemIfExists è possibile stabilire se eventuali file esistenti vanno sovrascritti o meno.

  • UploadItem effettua l’upload dell’elemento locale contenuto nel parametro localItemPath nella cartella remota remoteFolderPath. Tramite il parametro overwriteItemIfExists è possibile stabilire se eventuali file esistenti vanno sovrascritti o meno.

FTP client widget

FTPClientWidget è un widget che permette di ottenere l’elenco ed effettuare il trasferimento di file da/a un server FTP tramite interfaccia grafica.

Impostazioni

I parametri configurabili sono i seguenti:

  • FtpServerIPAddress: indirizzo IP del server FTP.

  • FtpServerPort: porta del server FTP.

  • Username: username dell’utente con cui ci si vuole autenticare sul server FTP.

  • Password: password dell’utente con cui ci si vuole autenticare sul server FTP.

  • ExtensionFilter: è possibile impostare uno o più filtri per visualizzare solo determinati file in base alla loro estensione. Nel caso siano specificate più estensioni, è necessario separarle tramite “;”. Ad esempio impostare “.txt;.csv” per visualizzare solo i file con estensione .txt e .csv. Di default vengono mostrati tutti i file (tramite “.”).

  • ShowHiddenFiles: indica se si intende mostrare o meno i file nascosti (non si applica su filesystem remoti di server FTP Windows).

  • StartLocalFilesystemPath: cartella di partenza per navigare il filesystem locale.

  • AccessLocalFullFilesystem: consente di decidere se permettere una navigazione completa del filesystem. Questa opzione è supportata solo per sistemi Windows e Debian. In questi casi si può navigare a partire dalla radice dei dischi su Windows e dalla cartella “/” (root) su Debian.

  • AccessLocalNetworkDrives: su Windows permette di accedere ai dischi di rete (necessario che AccessLocalFullFilesystem sia abilitato).

Trasferimento periodico di un file via FTP

Combinando gli script di runtime FTPClientLogic e PeriodicActionLogic è possibile automatizzare il trasferimento (upload/download) di file/cartelle in maniera periodica e non interattiva. Può essere utile nel caso si debbano automatizzare dei trasferimenti di file/cartelle tra dispositivi diversi.

Per una corretta esecuzione dell’esempio è richiesta la seguente configurazione di un server FTP:

  • creare la cartella “C:/FtpServer” e al suo interno un file chiamato “myDocument.txt”.

  • impostare “C:/FtpServer” come cartella di partenza sul server FTP.

  • configurare i parametri del server FTP (indirizzo IP, porta, utente e password).

  • avviare il server FTP.

Per utilizzare il server FTP presente nella libreria dei template vedere FTPServer.

Vanno poi configurati i parametri di connessione al server FTP sullo script FTPClientLogic.

Tramite gli oggetti FileTransferDownload e FileTransferUpload vengono configurati i file/le cartelle da trasferire.

Le pagine presenti nel progetto sono le seguenti:

  • FTP client configuration permette di cambiare i parametri di configurazione del client FTP. Tramite lo switch OverwriteExistingItems si determina se un file esistente deve essere sovrascritto o meno.

  • Transfer files mostra come connettere/disconnettere il client FTP tramite i metodi ConnectFTPClient/DisconnectFTPClient e come invocare direttamente i metodi OPCUA DownloadItem e UploadItem.

  • Periodic backup permette di abilitare il download periodico di un determinato file tramite lo script PeriodicActionLogic. Lo script è impostato con Period a 30 secondi e Action impostata con DownloadItem.

Scarica il progetto di esempio da qui.