Ich habe von 2014 bis 2018 neben meinem Studium bei einem Softwareentwickler für Automatisierungslösungen gearbeitet. Meist hatte ich irgendwelche spezial Aufgaben wie Bibliotheken schreiben oder Bussysteme konfigurieren. Mein damaliger Chef hatte auch immer wieder Anforderungen wie Datenlogger oder Prüfsysteme mit Protokollen.
Die Frage war immer wie bekommen wir diese Protokolle ohne viel Aufwand auf einen anderen Rechner. Es gibt gerade auf kleinen SPS-Steuerungen kaum Möglichkeiten. Entweder über ein gutes HMI oder einen FTP-Upload. Mein Chef fragte mich also „Warum kann ich das nicht wie bei Windows auf einem Netzwerklaufwerk ablegen“.
Darauf kam ich dann 2017/18 auf die Idee meiner BA. Ich habe das „Server Message Block“- Protokoll für einen Client auf einer CoDeSys-SPS implementiert.
Implementiert wurde aus Mangel an Hardware auf einer Raspberry Pi Soft-SPS. Dies Plattform ist aber am Ende egal solange sie einen Standard TCP/IP Stack zur Verfügung stellt. Darauf aufbauend kam SMB in Version 2 zum Einsatz.
Mit der Implementierung kann man beliebig Große Dateien von einem Netzlaufwerk abholen und senden. Im Rahmen der BA habe ich dies auf mehrere Rechnern getestet. Allerdings hat man hier auch die üblichen Konfigurationsprobleme, die man auch aus privaten Netzwerken kennt. Zusätzliche gab es auf dem internen HMI noch eine Browser Funktion. Diese wurde aber nur „Quick & Dirty“ implementiert.
Die ganze Projekt liegt auf Github und meine BA kann hier runtergeladen werden.