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:
ConnectFtpClienteffettua una connessione ad un server FTP.DisconnectFtpClienteffettua la disconnessione dal server FTP.DownloadItemeffettua il download dell’elemento remoto contenuto nel parametro (file/cartella)remoteItemPathall’interno della cartellalocalFolderPath. Tramite il parametrooverwriteItemIfExistsè possibile stabilire se eventuali file esistenti vanno sovrascritti o meno.UploadItemeffettua l’upload dell’elemento locale contenuto nel parametrolocalItemPathnella cartella remotaremoteFolderPath. Tramite il parametrooverwriteItemIfExistsè 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 cheAccessLocalFullFilesystemsia 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 configurationpermette di cambiare i parametri di configurazione del client FTP. Tramite lo switchOverwriteExistingItemssi determina se un file esistente deve essere sovrascritto o meno.Transfer filesmostra come connettere/disconnettere il client FTP tramite i metodiConnectFTPClient/DisconnectFTPCliente come invocare direttamente i metodi OPCUADownloadItemeUploadItem.Periodic backuppermette di abilitare il download periodico di un determinato file tramite lo scriptPeriodicActionLogic. Lo script è impostato conPerioda 30 secondi eActionimpostata conDownloadItem.
Scarica il progetto di esempio da qui.