Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Technologie industrielle

Enregistrement de données dans CEI 61131-3 :téléchargement SFTP basé sur la puissance de Curl

Il y a quelques semaines, j'ai reçu la question suivante. Vous devez télécharger un fichier de journalisation vers un serveur SFTP, en utilisant un programme qui s'exécute dans l'ESM.
Le protocole de transfert de fichiers SSH (également le protocole de transfert de fichiers sécurisé ou SFTP) est un protocole réseau qui fournit l'accès aux fichiers, le transfert de fichiers et la gestion des fichiers sur n'importe quel flux de données fiable. Il a été conçu par l'IETF (Internet Engineering Task Force) comme une extension du protocole Secure Shell (SSH) version 2.0 pour fournir des capacités de transfert de fichiers sécurisé.

SFTP est inclus dans le firmware PLCnext, cela ne devrait donc pas poser de problème.

Étape 1 :J'ai commencé à créer un fichier de journalisation en utilisant du texte structuré. Des exemples sur la façon de procéder peuvent être trouvés ici :

https://www.plcnext-community.net/en/hn-makers-blog/438-datalogging-in-iec-61131-3-the-basic-principle.htmlhttps://www.plcnext-community.net/ fr/hn-makers-blog/447-datalogging-in-iec-61131-3-create-your-own-file-manager.html

Étape 2 :J'avais besoin d'un serveur SFTP pour tester mon application PLC. J'ai utilisé CrushFTP, que j'ai installé sur une machine virtuelle qui fonctionnait sur mon ordinateur portable.

Après l'installation du logiciel, vous devez créer un utilisateur administrateur pour l'interface Web. Une fois cela fait, vous pouvez créer un utilisateur pour l'accès à l'automate.

Pour cet exemple :utilisateur =PLCnext, mot de passe =123456789

Étape 3 :Téléchargez un fichier à l'aide de la ligne de commande.

Dans la capture d'écran ci-dessus, vous pouvez voir que nous donnons d'abord une commande et dans un deuxième temps, nous entrons le mot de passe. Si nous voulons automatiser cette procédure en utilisant le FB "PBCL_SysLinuxShell_1", nous avons besoin d'une seule ligne de commande.

Ce FB se trouve dans la bibliothèque PLCnextBase. (https://www.plcnextstore.com/#/720)

Nous avons donc besoin d'une autre commande pour effectuer le téléchargement du fichier. Jetons un coup d'œil à Curl.

La version installée avec le firmware 2020.6.1 ne prend pas en charge SFTP. Grâce à Oliver Warneke, j'ai pu installer une autre version de Curl. Nous n'allons pas parcourir le processus d'installation complet, mais le résultat est une version prenant en charge SFTP. Avec le firmware 2021.0.0 LTS, vous pourrez utiliser la version suivante.

Grâce à Curl, nous pouvons maintenant utiliser une autre commande.

curl -k -sS –key ~/.ssh/id_rsa –max-time 25 –connect-timeout 10 "sftp://192.168.1.50:22/test/Upload/" -user "PLCnext:12345679" -T "/ opt/plcnext/Test.pdf” –ftp-create-dirs

Lorsque vous utilisez cette commande pour le Shell FB, vous pouvez voir le résultat dans le fichier de journalisation suivant pour vérifier votre programme.

/opt/plcnext/PLCnextBase.ServiceProvider.log

Quelques explications sur les arguments :

-k, –non sécurisé

(TLS) Par défaut, chaque connexion SSL établie par curl est vérifiée comme étant sécurisée. Cette option permet à curl de continuer et de fonctionner même pour les connexions au serveur autrement considérées comme non sécurisées. La connexion au serveur est vérifiée en s'assurant que le certificat du serveur contient le bon nom et vérifie avec succès à l'aide du magasin de certificats.

-S, –show-error

Lorsqu'il est utilisé avec -s, –silent, curl affiche un message d'erreur en cas d'échec.

-s, –silencieux

Mode silencieux ou silencieux. N'affiche pas la jauge de progression ni les messages d'erreur. Rend Curl muet. Il affichera toujours les données que vous demandez, potentiellement même vers le terminal/stdout, sauf si vous le redirigez. Utilisez -S, –show-error en plus de cette option pour désactiver la jauge de progression mais toujours afficher les messages d'erreur.

–key

(TLS SSH) Nom du fichier de clé privée. Vous permet de fournir votre clé privée dans ce fichier séparé. Pour SSH, s'il n'est pas spécifié, curl essaie les candidats suivants dans l'ordre :"~/.ssh/id_rsa", "~/.ssh/id_dsa", "./id_rsa", "./id_dsa".

-m, –max-time

Temps maximum en secondes que vous accordez à l'ensemble de l'opération. Ceci est utile pour éviter que vos travaux par lots ne soient suspendus pendant des heures en raison de réseaux lents ou de liens en panne.

–connect-timeout

Temps maximum en secondes que vous autorisez la connexion de curl à prendre. Cela ne fait que limiter la phase de connexion, donc si curl se connecte dans le délai imparti, il continuera - sinon, il se terminera.

-T, –upload-file

Cela transfère le fichier local spécifié vers l'URL distante. S'il n'y a pas de partie de fichier dans l'URL spécifiée, curl ajoutera le nom du fichier local.

–ftp-create-dirs

(FTP SFTP) Lorsqu'une URL/opération FTP ou SFTP utilise un chemin qui n'existe pas actuellement sur le serveur, le comportement standard de curl est d'échouer. En utilisant cette option, curl tentera à la place de créer les répertoires manquants.

Références :

https://en.wikipedia.org/wiki/SSH_File_Transfer_Protocolhttps://www.crushftp.com/index.htmlhttps://curl.se/docs/manpage.html

Technologie industrielle

  1. Libérer la puissance de l'Internet des objets industriel
  2. 4 tests qui déterminent l'efficacité des transformateurs de puissance
  3. Coupures de courant :5 façons de prévenir les effets négatifs
  4. Brownout Vs Blackout :quelle est la différence ?
  5. Ce qui affecte la fréquence de maintenance du générateur diesel
  6. La recherche d'un groupe électrogène de rechange :4 questions vitales
  7. Centrale électrique virtuelle de Teslas :repenser le réseau électrique
  8. Webinaire :La puissance de la surveillance de l'énergie dans l'industrie 4.0
  9. La puissance du travail d'équipe dans la gestion d'usine