Client FTP NJ Guillaume Poirier Juillet 2014
Sommaire Installation de FileZilla Server Démarrage du service Démarrage de l interface Création d un utilisateur Blocs Fonctions NJ Programme NJ
Installation de FileZilla Server
Installation de FileZilla Server La version utilisée lors de ce tutorial est : FileZilla Server 0.9.45 Double cliquez sur le fichier Exécutable Acceptez ensuite les conditions générales
Installation de FileZilla Server Choisir l installation standard puis Next Choisir le répertoire d installation puis Next Choisir ensuite le type de démarrage du service: Si la fonctionnalité FTP Server n est pas souvent utilisée, choisir:
Installation de FileZilla Server Dans le cas contraire, il faut que le serveur démarre en même temps que le PC: Choisir un démarrage de l interface identique au service: ici Utilisation fréquente Ou utilisation temporaire: Finir par le bouton Install
Installation de FileZilla Server Une fois l installation terminée, appuyer sur Close
Démarrage du service
Démarrage du service manuellement Se rendre dans le menu démarrer puis FileZilla Server Vous devriez voir: Cliquez sur «Start FileZilla Server» Pour contrôlez que le server est bien démarré, cliquez droit sur le poste de travail, puis gérez:
Démarrage du service manuellement Dans la nouvelle fenêtre, sur la gauche, dans la rubrique «Services et Applications»: Choisir «Services», puis dans le fenêtre centrale, cherchez le service «FileZilla Server FTP server» Ensuite dans la colonne Statuts, vous devriez voir que le service est bien démarré: Procédez de la même manière pour arrêter le service: Aucun statut signifie que le service est arrêté.
Démarrage de l interface
Démarrage de l interface Se rendre dans le menu démarrer puis FileZilla Server Vous devriez voir: Cliquez sur «FileZilla Server Interface» Vous devriez voir: Si le serveur est démarré sur la machine, il faut renseigner le champs «Server Adress» avec le localhost à savoir 127.0.0.1 sinon spécifiez l adresse Ip du Serveur.
Démarrage de l interface Appuyer ensuite sur le bouton Ok Une nouvelle fenêtre apparait et dans la partie haute, vous pouvez contrôler que la connexion est établie:
Démarrage de l interface Si le serveur ne répond pas ou que le service n est pas démarré, vous devriez voir:
Création d un utilisateur
Création d un utilisateur Depuis l interface, allez dans le menu «Edit» puis «Users»: Dans la partie droite appuyez sur le bouton «Add»:
Création d un utilisateur Dans la nouvelle fenêtre, renseignez le nom d utilisateur: Si aucun répertoire de partage n a été configuré au préalable, FileZilla le signalera:
Création d un utilisateur Appuyez sur le bouton «Add» pour ajouter un répertoire:
Création d un utilisateur Pour un répertoire donné, vous pouvez définir les privilèges: Validez l ensemble avec Ok Dans la fenêtre principale vous devriez voir les changements pris en compte :
Blocs Fonctions NJ
Blocs Fonctions NJ Nous allons nous intéresser ici à 5 FBs depuis Sysmac Studio:
Blocs Fonctions NJ FTPGetFile: Permet de télécharger depuis le serveur un fichier et de le placer sur la carte SD du NJ FTPGetFileList: Permet de récupérer les noms de tous les fichiers et dossiers depuis le répertoire sélectionné du serveur FTP. 1000 items max peuvent être récupérés. FTPPutFile: Permet d envoyer vers le Serveur un fichier situé sur la carte SD. depuis le répertoire sélectionné du serveur FTP. 1000 items max peuvent être récupérés.
Blocs Fonctions NJ FTPRemoveDir: Permet de supprimer un répertoire sur le serveur FTP FTPRemoveFile : Permet de supprimer un Fichier sur le serveur FTP
Blocs Fonctions NJ Chaque blocs fonctions a besoin de connaitre les informations du serveur FTP pour se connecter La structure _sftp_connect_svr permet cela : FTPPutFile, FTPGetFile, etc IP : 192.168.250.1 IP : 192.168.250.220
Blocs Fonctions NJ La structure _sftp_exec_option permet également de fixer quelques règles de communication PassiveMode: permet de spécifier le mode de communication. Mode actif: Le client (NJ) établit une session TCP sur le port 21. Une fois la communication établie, le serveur (PC) établit une session TCP sur le Port 20. Mode Passif: Conseillé lors d une communication via Firewall/NAT. Le client (NJ) établit une session TCP sur le port 21. Une fois la communication établie, la commande FTP «PASV» est envoyée au serveur pourqu il se mette en attente d une autre session TCP. Le client établit alors une seconde session TCP avec un port dynamique. Le client informe le serveur du numéro de port après la commande «PASV».
Blocs Fonctions NJ AsciiMode: Mode de récupération du fichier. Mode binaire: Le fichier est récupéré sans modification. Mode Ascii: Surtout utile pour les fichiers texte. Permet de modifier le fichier pour le transcrire dans le format reconnu par le NJ (cas d un GetFile) ou par le PC (cas d un PutFile). Exemple de modifications: caractère de fin de ligne en UNIX est <LF>, sous windows <CR><LF> FileRemove: Spécifie si le fichier doit être supprimé après la commande OverWrite : Spécifie si le fichier doit être remplacé dans le cas où il existerait déjà.
Blocs Fonctions NJ La structure _sftp_retry_cfg permet de gérer les timeout TimeOut: TimeOut de connexion avec le Serveur FTP en secondes RetryNum: Nombre de tentatives de reconnexion RetryInterval : Temps avant chaque reconnexion en secondes
Blocs Fonctions NJ La structure _sftp_file_result permet de connaitre le résultat de la fonction pour chaques fichiers Le tableau de cet élément ne doit pas dépasser 1000 éléments Name : Nom du fichier transféré TxError: Résultat du transfert RemoveError: Résultat de la suppression
Programme NJ Client_FTP.smc2 disponible sur support-omron.fr
Programmation NJ Dans C: du serveur, créez un répertoire «test_ftp»: Placez à l intérieur un fichier quelconque: Créez un utilisateur «Omron» Affectez le répertoire de partage Importez dans Sysmac Studio, le projet «Test_FTP» Dans le programme Test_FTP.Config, contrôlez le paramétrage: Transférez le projet dans la CPU. Mettre une carte SD dans la CPU
Programmation NJ Récupération d un fichier depuis le Serveur FTP Modifiez si besoin dans la section GetFile, le nom du fichier à récupérer, le répertoire distant et le répertoire local avec les variables SvrDirName, LocalDirName, NomFichier à l aide de la table d animation: Ensuite lancez la commande avec la variable Start_GetFile. Si tous est ok, vous devriez voir: Et sur la carte SD:
Programmation NJ Résultat du transfert à l aide de la variable GetFileResult:
Programmation NJ Effacer un fichier sur le Serveur FTP Modifiez si besoin dans la section RemoveFile, le nom du fichier à effacer, le répertoire distant avec les variable SvrDirName, NomFichier à l aide de la table d animation: Ensuite lancez la commande avec la variable Start_RemoveFile. Si tous est ok, vous devriez voir:
Programmation NJ Résultat du transfert à l aide de la variable RemoveFileResult:
Programmation NJ Transfert d un fichier vers le Serveur FTP Modifiez si besoin dans la section PutFile, le nom du fichier à transférer, le répertoire distant et le répertoire local avec les variables SvrDirName, LocalDirName, NomFichier à l aide de la table d animation: Ensuite lancez la commande avec la variable Start_PutFile. Si tous est ok, vous devriez voir:
Programmation NJ Résultat du transfert à l aide de la variable PutFileResult:
Programmation NJ Récupération de la liste de fichiers depuis le Serveur FTP Modifier si besoin dans la section GetFileList, le répertoire distant avec la variable SvrDirName, à l aide de la table d animation: Pour voir la différence entre répertoire et fichier, créez un répertoire «Dossier» dans le dossier partage du serveur FTP : Ensuite lancer la commande avec la variable Start_GetFileList. Si tous est ok, vous devriez voir:
Programmation NJ Résultat du transfert à l aide de la variable FileList: La fonction fait bien la différence entre un fichier et un dossier L ordre dans le tableau dépend de l entrée SortOrder du FB:
Programmation NJ Suppression d un répertoire sur le Serveur FTP Modifier si besoin dans la section RemoveDir, le nom du répertoire à effacer, le répertoire avec les variables SvrDirName, RemoveDirName à l aide de la table d animation: Ensuite lancez la commande avec la variable Start_RemoveDir. Si tous est ok, vous devriez voir:
Merci de votre attention