Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Industriële technologie

Datalogging in IEC 61131-3:SFTP-upload op basis van de kracht van Curl

Enkele weken geleden ontving ik de volgende vraag. U moet een logbestand uploaden naar een SFTP-server met behulp van een programma dat in de ESM draait.
Het SSH File Transfer Protocol (ook wel Secure File Transfer Protocol of SFTP) is een netwerkprotocol dat bestandstoegang, bestandsoverdracht en bestandsbeheer biedt via elke betrouwbare gegevensstroom. Het is ontworpen door de Internet Engineering Task Force (IETF) als een uitbreiding van het Secure Shell-protocol (SSH) versie 2.0 om veilige bestandsoverdrachtmogelijkheden te bieden.

SFTP is opgenomen in de PLCnext-firmware, dus dit zou geen probleem moeten zijn.

Stap 1:Ik ben begonnen met het maken van een logbestand met behulp van gestructureerde tekst. Voorbeelden hoe u dit kunt doen, vindt u hier:

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

Stap 2:Ik had een SFTP-server nodig om mijn PLC-toepassing te testen. Ik heb CrushFTP gebruikt, dat ik heb geïnstalleerd op een virtuele machine die op mijn laptop draaide.

Na de installatie van de software moet u een admin-gebruiker voor de webinterface aanmaken. Zodra dit is gebeurd, kunt u een gebruiker voor de PLC-toegang maken.

Voor dit voorbeeld:gebruiker =PLCnext, wachtwoord =123456789

Stap 3:Upload een bestand via de opdrachtregel.

In de bovenstaande screenshot kun je zien dat we eerst een commando geven en in een tweede stap het wachtwoord invoeren. Als we deze procedure willen automatiseren met behulp van de "PBCL_SysLinuxShell_1" FB, hebben we een enkele regelopdracht nodig.

Deze FB is te vinden in de bibliotheek PLCnextBase. (https://www.plcnextstore.com/#/720)

We hebben dus een ander commando nodig om de bestandsupload uit te voeren. Laten we eens kijken naar Curl.

De versie die is geïnstalleerd met firmware 2020.6.1 ondersteunt geen SFTP. Dankzij Oliver Warneke kon ik een andere versie van Curl installeren. We zullen niet het volledige installatieproces doorlopen, maar het resultaat is een versie die SFTP ondersteunt. Met firmware 2021.0.0 LTS kunt u de volgende versie gebruiken.

Dankzij Curl kunnen we nu een ander commando gebruiken.

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

Wanneer u dit commando voor de Shell FB gebruikt, kunt u het resultaat zien in het volgende logbestand om uw programma te controleren.

/opt/plcnext/PLCnextBase.ServiceProvider.log

Wat uitleg over de argumenten:

-k, –onveilig

(TLS) Standaard wordt elke SSL-verbinding die wordt gemaakt, geverifieerd als veilig. Met deze optie kan curl doorgaan en werken, zelfs voor serververbindingen die anders als onveilig worden beschouwd. De serververbinding wordt geverifieerd door ervoor te zorgen dat het servercertificaat de juiste naam bevat en met succes wordt geverifieerd met behulp van het certificaatarchief.

-S, –show-error

Bij gebruik met -s, -silent, geeft curl een foutmelding weer als het niet lukt.

-s, –stil

Stille of stille modus. Toon geen voortgangsmeter of foutmeldingen. Maakt Curl gedempt. Het zal nog steeds de gegevens uitvoeren waar u om vraagt, mogelijk zelfs naar de terminal/stdout, tenzij u het omleidt. Gebruik -S, –show-error naast deze optie om de voortgangsmeter uit te schakelen maar toch foutmeldingen weer te geven.

–toets

(TLS SSH) Bestandsnaam privésleutel. Hiermee kunt u uw privésleutel in dit aparte bestand opgeven. Voor SSH, indien niet gespecificeerd, probeert curl de volgende kandidaten in volgorde:'~/.ssh/id_rsa', '~/.ssh/id_dsa', './id_rsa', './id_dsa'.

-m, –max-tijd

Maximale tijd in seconden die u de hele operatie laat duren. Dit is handig om te voorkomen dat uw batchtaken urenlang blijven hangen vanwege trage netwerken of het uitvallen van links.

–connect-timeout

Maximale tijd in seconden die u de curl-verbinding toestaat. Dit beperkt alleen de verbindingsfase, dus als curl binnen de gegeven periode verbinding maakt, zal het doorgaan - zo niet, dan zal het worden beëindigd.

-T, –upload-bestand

Hiermee wordt het opgegeven lokale bestand overgebracht naar de externe URL. Als er geen bestandsgedeelte is in de opgegeven URL, zal curl de lokale bestandsnaam toevoegen.

–ftp-create-dirs

(FTP SFTP) Wanneer een FTP- of SFTP-URL/-bewerking een pad gebruikt dat momenteel niet op de server bestaat, is het standaardgedrag van curl mislukt. Met deze optie zal curl in plaats daarvan proberen ontbrekende mappen aan te maken.

Referenties:

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

Industriële technologie

  1. De opdrachtregelinterface
  2. De kracht van e-commerce maximaliseren om uw bedrijf te laten groeien
  3. De kracht van het industriële internet der dingen ontketenen
  4. 4 tests die de efficiëntie van stroomtransformatoren bepalen
  5. Stroomuitval:5 manieren om de negatieve effecten te voorkomen
  6. Brownout versus Blackout:wat is het verschil?
  7. Wat beïnvloedt de frequentie van het onderhoud van dieselgeneratoren?
  8. De zoektocht naar een reservegenerator:4 essentiële vragen
  9. Tesla's virtuele energiecentrale:een nieuwe kijk op het elektriciteitsnet
  10. Webinar:de kracht van energiemonitoring in Industrie 4.0
  11. De kracht van teamwork in fabrieksbeheer