TwinCAT Fernwartung weltweit

tKJ

Level-2
Beiträge
11
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Programmier-Kollegen,

Wie geht ihr bei der Fernwartung von TwinCAT-Steuerungen in aller Welt vor?
Direkt über ADS zu programmieren geht meiner Erfahrung nach bei TC2 noch recht akzeptabel, TC3 läuft aber alles andere als gut, wenn Pings >200ms auftreten.

Besonders blöd ist es bei Paketverlusten zwischendurch (wenn z.B. ein Dauerping alle 30sec einen Ausfall von 1 Ping hat) - da das minutenlange Übertragen von Projekten dann oft abgebrochen wird.

Konkret habe ich das Problem, sobald Anlagen z.B. Westküste USA bzw. in Thailand, Japan usw stehen.

Grundsätzlich betreiben wir einen openVPN-Server in Österreich, auf den sich die Kundenanlagen verbinden.
Testweise arbeite ich mit einer Programmierumgebung in Azure (z.B. dann in Thailand gehostet) und Fernwartung über eWon (Thailand-Server) -> Das klappt superschnell, ist aber umständlich.

Da ich mir sicher bin, dass nicht nur ich Fernwartungen in weit entlegene Regionen durchführe, wollte ich um Erfahrungsberichte aus der Branche bitten :)

Vielen Dank im Voraus.
 
Ich kenne das Problem. Darum habe ich auf dem HMI-Rechner die Shell installiert. Ist zwar suboptimal für die Quellcode-Sicherheit - aber wenn man keine andere Lösung hat...

So habe ich 2022, als Reisen nach China noch nicht möglich war, eine komplette (ziemlich groß und komplex) Maschine in China in Betrieb genommen. Test im Büro am digitalen Zwilling und dann an der Maschine per Teamviewer.

Schon im lokalen Netz fällt auf, wenn man keine schnelle Ethernet-Verbindung hat, dauert es. Das ist mein größter Kritikpunkt am TwinCAT. Dafür hat TwinCAT ein paar Sachen drauf, auf die ich nicht verzichten möchte. Also schlucke ich das.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für die schnelle Rückmeldung.
Die Shell hab ich auch drauf - eher als Notfallzugriff, falls eine HW-Verknüpfung geändert gehört, oder dringend was eingespielt werden muss.
Debugging im Betrieb ist halt hier sehr eingeschränkt möglich, da man dem Anlagenbediener das HMI wegnimmt.

Mit Windows 10 ist ja die Möglichkeit der "virtuellen" Desktops am Zielsystem gekommen - aber wie ich z.B. nur einen davon via VNC oder RDP übertrage konnte ich noch nicht rausfinden.

Einen Zweitrechner im Schaltschrank zur Fernwartung hab ich auch schonmal getestet (300€ Mini-PC von Amazon), dort eine zweite Festplatte die per Bitlocker verschlüsselt ist.. so hatte ich ein etwas besseres Gefühl was Quellcode-Sicherheit betrifft - die Mehrkosten und der Aufwand (jemand muss vor Ort den PC einschalten) haben uns bisher davon abgehalten, das System in die Serie auszurollen.
 
Das mit dem Mini-PC ist keine schlechte Idee. Starten kannst Du den ja auch per Wake-On-Lan oder einen SPS-Ausgang. Am besten ist es, wen man den PC nicht als solchen auf den ersten Blick erkennt. ;)

Das mit dem "HMI wegnehmen" ist bei mir nicht so das Problem, da ich (fast) immer mehrere Bildschirme am PC habe.
 
Wake-On-Lan klingt nach einer überraschend simplen Lösung - das wär über den VPN-Router im Schrank ja schnell umgesetzt.

Muss ich direkt mal Probieren - bzw. bin ich grad am überlegen, ob nicht ein zweites Display (im Schrank, nur für Fernwartung) schon ausreicht ..
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Lösung mit einem Mini-PC im Schaltschrank hat sich auch bei uns über Jahren hinweg bewährt. Lediglich bei den Mini-PC Herstellern gab es eine gewisse Lernkurve. Produkte von HP, Lenovo, etc. haben sich im Dauereinsatz nicht bewährt. Seit wir vor Jahren auf SHUTTLE gewechselt sind, gab es nie wieder einen Ausfall. Deren Mini-PC sind für 24/7 Dauerbetrieb ausgelegt und mit hochwertigen Bauteilen ausgerüstet. Wir setzen vor allem die DL Barebone Serie ein: https://www.shuttle.eu/de/products/slim/dl30n es gibt diese Geräte jedoch auch fertig konfiguriert mit Win10 IoT LTSC für weniger als 400 Euro.

Besondere Merkmale der SHUTTLE Mini-PC's:
  • Für 24/7 Dauerbetrieb konzipiert

  • 2 LAN Ports (viele Modelle). Ein Anschluss kann also mit dem internen Netzwerk der Maschine verbunden werden, über den zweiten geht's via Kundennetz zum Internet. So bleiben auch ohne zusätzlichen Router das Maschinen- und Kundennetz sauber getrennt und die Steuerungen selbst sind auch bei Fernwartung nie am Internet, was besonders wenn deren Betriebssysteme mit den Jahren älter werden und häufig ja nicht ohne weiteres aktualisiert werden können, auch ein Vorteil ist.

  • Adapter für Hutschienenmontage

  • Digitaler Eingang, an dem ein Schalter oder Relais angeschlossen werden kann wenn der Power-Button am Gerät selbst nicht zugänglich ist oder es nicht sein soll, oder für Fälle wo das Senden eines WakeOnLan Kommandos aus der Steuerung / HMI nicht möglich ist. Ein Relais kurz einschalten, kann jede SPS ;-)
Wir nutzen die Gerät so, dass im Schrank kein VPN-Router mehr integriert ist. Der Kunde drückt in der HMI einen Button über welchen wir ein Wake-On-Lan Kommando an den PC auslösen. Auf dem Mini-PC ist immer die gesamte Engineering-/Diagnose Software einer Maschine installiert. Meist nutzen wir den PC auch bei lokalen Arbeiten vor Ort, da man so sicher ist immer die zu den Zielsystemen "passende" Softwareversion zu nutzen. Verbindung auf den Shuttle-PC über eines der gängigen Remote-Access Tools (Anydesk, RustDesk, RemoteUtilities, etc.).

Dadurch, dass die Kommunikation zwischen Engineering-Software und den Steuerungen nur im lokalen Netz abläuft, gibt's natürlich auch keine Probleme mit langsamen Netzwerkverbindungen oder hohen Latenzen.

Weil es keine VPN-Router mehr braucht, fahren wir mit dieser Lösung zudem sogar günstiger.
 
Die Lösung mit einem Mini-PC im Schaltschrank hat sich auch bei uns über Jahren hinweg bewährt. Lediglich bei den Mini-PC Herstellern gab es eine gewisse Lernkurve. Produkte von HP, Lenovo, etc. haben sich im Dauereinsatz nicht bewährt. Seit wir vor Jahren auf SHUTTLE gewechselt sind, gab es nie wieder einen Ausfall. Deren Mini-PC sind für 24/7 Dauerbetrieb ausgelegt und mit hochwertigen Bauteilen ausgerüstet. Wir setzen vor allem die DL Barebone Serie ein: https://www.shuttle.eu/de/products/slim/dl30n es gibt diese Geräte jedoch auch fertig konfiguriert mit Win10 IoT LTSC für weniger als 400 Euro.

Besondere Merkmale der SHUTTLE Mini-PC's:
  • Für 24/7 Dauerbetrieb konzipiert

  • 2 LAN Ports (viele Modelle). Ein Anschluss kann also mit dem internen Netzwerk der Maschine verbunden werden, über den zweiten geht's via Kundennetz zum Internet. So bleiben auch ohne zusätzlichen Router das Maschinen- und Kundennetz sauber getrennt und die Steuerungen selbst sind auch bei Fernwartung nie am Internet, was besonders wenn deren Betriebssysteme mit den Jahren älter werden und häufig ja nicht ohne weiteres aktualisiert werden können, auch ein Vorteil ist.

  • Adapter für Hutschienenmontage

  • Digitaler Eingang, an dem ein Schalter oder Relais angeschlossen werden kann wenn der Power-Button am Gerät selbst nicht zugänglich ist oder es nicht sein soll, oder für Fälle wo das Senden eines WakeOnLan Kommandos aus der Steuerung / HMI nicht möglich ist. Ein Relais kurz einschalten, kann jede SPS ;-)
Wir nutzen die Gerät so, dass im Schrank kein VPN-Router mehr integriert ist. Der Kunde drückt in der HMI einen Button über welchen wir ein Wake-On-Lan Kommando an den PC auslösen. Auf dem Mini-PC ist immer die gesamte Engineering-/Diagnose Software einer Maschine installiert. Meist nutzen wir den PC auch bei lokalen Arbeiten vor Ort, da man so sicher ist immer die zu den Zielsystemen "passende" Softwareversion zu nutzen. Verbindung auf den Shuttle-PC über eines der gängigen Remote-Access Tools (Anydesk, RustDesk, RemoteUtilities, etc.).

Dadurch, dass die Kommunikation zwischen Engineering-Software und den Steuerungen nur im lokalen Netz abläuft, gibt's natürlich auch keine Probleme mit langsamen Netzwerkverbindungen oder hohen Latenzen.

Weil es keine VPN-Router mehr braucht, fahren wir mit dieser Lösung zudem sogar günstiger.
Danke für die ausführliche Beschreibung.
Wie geht ihr mit dem Risiko des Quellcode-Diebstahls um?
 
Zu jeder Software gehört eine Maschine und zu jeder Maschine gehören Unmengen Fachwissen und verfahrenstechnisches Knowhow. Was hilf ein die Software, du musst ja die Maschine auch noch nachbauen. Also mein Business sind komplexe Maschinen und Anlagen, teilweise 100 m Lang. Also meine Software liegt unverschlüsselt auf den Kundenrechner. Das Gesamtverständnis habe nur ich im Kopf, deswegen betreue ich einige Anlage auch nach 15 Jahren noch. Ich hatte eher den Vorteil, dass so mancher Kunde später kleine Anpassungen selbst gemacht hat (Instandhaltung oder ein Freiberufler). Aber es mag Anwendungsfälle geben, wo das ein Thema sein kann.
Ich würde dann die PLC Software einfach in eine VeraCrypt packen (schon 1x angewendet). Ist die PLC Software auf dem Anlagenrechner, kann aber der Kunde nicht aufmachen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für die ausführliche Beschreibung.
Wie geht ihr mit dem Risiko des Quellcode-Diebstahls um?
Nutzt ihr die TwinCat Software-Protection nicht, oder haltet ihr sie nicht für sicher genug?

Ich habe in meinen Projekten immer die Software-Protection aktiviert, und habe für die einzelnen Ordner oder Bausteine ein entsprechendes Zugriffslevel hinterlegt (ObjectProtection). So kann das Projekt immer noch sauber in Git verwaltet werden, da das Programm immer noch im Klartext auf der Festplatte abliegt.
Unmittelbar bevor es auf die SPS kommt wird dann das komplette Projekt auf Encrypted umgestellt, dann liegt es im Boot-Ordner der SPS nicht mehr als Klartext vor.

Auf dem Kundenrechner ist die Shell installiert und dort liegt die UserDB ohne die "Developers"-Extension. Damit kann man auf diesem Rechner das Programm öffnen ("Open project from target"), kommt aber nicht auf alles drauf.

Fernzugriff mache ich üblicherweise mit IXON, damit habe ich die Verantwortung für die Trennung zwischen IT und OT nicht selbst. Und da die Kunden dem Thema Fernzugriff eher kritisch gegenübergestellt sind hilft es, wenn man nihct auch noch mit einer selbstgebastelten Lösung mit Mini-PCs kommt.
 
@PatrickSt
Wir nutzen die Software-Protection nicht - Jedes Mal wenn ich mirs im Infosys ansehe, schaut das Einrichten der Benutzerverwaltung auf die schnelle recht komplex aus.
Der Beckhoff-Support hat meine Frage (ca. um 2021) ob dies funktioniert, mit "glaube schon, kenne aber keinen Kunden der das nutzt" beantwortet. -> Das hebt die Motivation auf Experimente natürlich ungemein :)

Um deinen Text oben richtig zu verstehen:
Nach Auslieferung deiner Projekte aktivierst du die Software-Projekte, die dann per Passwort entschlüsselt werden müssen (wie bei TIA nehme ich an).
GIT wird dann vermutlich zwar noch archivieren können, die Ansicht der Änderungen wird wohl nichtmehr funktionieren.
Oder gibts ne Möglichkeit, nur das Zielsystem-Archiv + Bootprojekt zu verschlüsseln, das Projekt am Entwicklungsrechner aber unverschlüsselt zu wählen?
 
Also bei mir hat das ganz gut geklappt. Ich kenne das auch vom alten Arbeitgeber so, da hatten wir es seit 2016 in Benutzung. Was ich allerdings noch nicht geschafft habe ist, dass die Entwickler an ihren Laptops automatisch per Windows-Login angemeldet werden. Das hat beim alten Arbeitgeber funktioniert. Wir haben aber Windows 11 und sind noch auf 4024, der Support meint, dass es deswegen nicht geht.

Zu meinem Text oben:
Man muss zuerst mal unterscheiden zwischen ObjectProtection und Encryption.
ObjectProtection heißt, dass nur Benutzer mit ausreichendem Zugriffslevel die entsprechende Datei in der Shell sehen und betrachten können.
Encryption bedeutet, dass die Datei verschlüsselt auf der Festplatte abgelegt wird.

Das heißt aber auch, dass die ObjectProtection ohne Encryption völlig wirkungslos ist, da ja der Klartext immer noch in der Datei ist.

Ich habe die ObjectProtection immer aktiviert, das stört auch Git nicht.
Unmittelbar vor dem Aktivieren an der Kunden-SPS (oder dauerhaft während mann auf IBN ist) muss ich daran denken die Encryption zu aktivieren. Und bevor ich es wieder vernünftig in Git sichern kann muss ich die Encryption wieder rausnehmen.

Mir ist kein Weg bekannt, der besser funktioniert und gleichzeitig sicher ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mein aktueller Kunde nutzt die Software Protection. Auf dem IPC, auf dem auch die TwinCAT SPS läuft, ist auch die XAE installiert und das Projekt abgelegt, dieses ist verschlüsselt.
Für einen Projektvergleich muss dieses zunächst allerdings entschlüsselt und nach erfolgtem Vergleich wieder verschlüsselt werden. Bisher klappt das einwandfrei. In wie weit die Einrichtung der Benutzerverwaltung kompliziert ist kann ich allerdings leider nicht sagen.
Hier wird TC3 4024.56 eingesetzt.
 
Für einen Projektvergleich muss dieses zunächst allerdings entschlüsselt und nach erfolgtem Vergleich wieder verschlüsselt werden.
Das müsste auch so gehen. Du musst dazu allerdings zunächst die XAE-Shell öffnen, ohne dabei ein Projekt zu laden. Dann oben in der Leiste auf das PC-Icon der Software-Protection einmal klicken
1732810704005.png

und in dem neuen Fenster dann manuell die Benutzerdatenbank auswählen und dich dann entsprechend einloggen.
Und dann von der offenen XAE-Shell heraus das TcProjectCompare öffnen.
Dann sollte es möglich sein trotz encryption den Vergleich durchzuführen. Zumindest für die Bausteine, die deinem Zugriffslevel entsprechen.
 
Das müsste auch so gehen. Du musst dazu allerdings zunächst die XAE-Shell öffnen, ohne dabei ein Projekt zu laden. Dann oben in der Leiste auf das PC-Icon der Software-Protection einmal klicken
Anhang anzeigen 83479

und in dem neuen Fenster dann manuell die Benutzerdatenbank auswählen und dich dann entsprechend einloggen.
Und dann von der offenen XAE-Shell heraus das TcProjectCompare öffnen.
Dann sollte es möglich sein trotz encryption den Vergleich durchzuführen. Zumindest für die Bausteine, die deinem Zugriffslevel entsprechen.
Danke, werde ich morgen mal probieren.
 
Zurück
Oben