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 cartellalocalFolderPath
. Tramite il parametrooverwriteItemIfExists
è possibile stabilire se eventuali file esistenti vanno sovrascritti o meno.UploadItem
effettua l’upload dell’elemento locale contenuto nel parametrolocalItemPath
nella 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 cheAccessLocalFullFilesystem
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 switchOverwriteExistingItems
si determina se un file esistente deve essere sovrascritto o meno.Transfer files
mostra come connettere/disconnettere il client FTP tramite i metodiConnectFTPClient
/DisconnectFTPClient
e come invocare direttamente i metodi OPCUADownloadItem
eUploadItem
.Periodic backup
permette di abilitare il download periodico di un determinato file tramite lo scriptPeriodicActionLogic
. Lo script è impostato conPeriod
a 30 secondi eAction
impostata conDownloadItem
.
Scarica il progetto di esempio da qui
.