Beckhoff RT Linux®

Initialisieren des TwinCAT HMI Servers

1. Nutzen Sie die CLI direkt an Ihrem Gerät. Alternativ können Sie sich auch über SSH verbinden.
2. Melden Sie sich als Administrator an.
3. Initialisieren Sie den Server.
sudo TcHmiSrv --initialize --password=<Passwort>
4. Sie können folgende Parameter zusätzlich übergeben
--endpoint=http://127.0.0.1:2010 / Erstellt einen lokalen Endpoint für http auf Port 2010
--name=MyProject / Erstellt die Server Instance mit dem entsprechenden Namen
Beckhoff RT Linux® 1:
Der Server wurde initialisiert.
/etc/TwinCAT/Functions/TF2000-HMI-Server/service (Server < 14.5.73)
/var/lib/tchmisrv/service (Server >= 14.5.73)
Um weitere Einstellungen anzuzeigen, nutzen Sie den Befehl
TcHmiSrv --help

Whitelisting von weiteren Pfaden

1. Nutzen Sie die CLI direkt an Ihrem Gerät. Alternativ können Sie sich auch über SSH verbinden.
2. Melden Sie sich als Administrator an.
3. Öffnen Sie die Konfiguration vom TcHmiSrv Service
sudo systemctl edit TcHmiSrv
4. Tragen Sie die benötigten Pfade in der Konfiguration ein.
Beispiel Eintrag:
[Service]
ReadWritePaths=/path/to/your/extension_files
ExecPaths=/path/to/your/executables
5. Speichern und schließen Sie die Datei.
Die Konfiguration wurde erfolgreich angepasst.

Firewall

1. Erstellen Sie eine Konfigurationsdatei im Verzeichnis /etc/nftables.conf.d/  beispielsweise mit dem Namen 20-hmi.conf
sudo nano /etc/nftables.conf.d/20-hmi.conf
2. Fügen Sie folgenden Inhalt ein und passen Sie die Werte an Ihre Netzwerkanforderungen an:
table inet filter {
  chain input {
    # accept TcHmi
    tcp dport 2020 accept
  }
}
3. Speichern und schließen Sie die Konfigurationsdatei.
4. Laden Sie die neue Regel mit dem Befehl
sudo systemctl reload nftables
5. Überprüfen Sie die Einstellungen und stellen Sie sicher, dass die Konfiguration korrekt angewendet wurde.
Der Port 2020 wurde für den HMI-Server freigegeben.
sudo nft list ruleset

Port Besonderheiten

Als Default ist das Erstellen von Ports kleiner als 1024 nicht erlaubt. Um den HMI-Server auf einem kleineren Port laufen lassen zu können, muss die Service Konfiguration angepasst werden.

1. Nutzen Sie die CLI direkt an Ihrem Gerät. Alternativ können Sie sich auch über SSH verbinden.
2. Melden Sie sich als Administrator an.
3. Öffnen Sie die Konfiguration vom TcHmiSrv Service
sudo systemctl edit TcHmiSrv
4. Fügen Sie folgende Einträge hinzu, damit der Server auch auf kleineren Ports laufen kann.
[Service]
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_BIND_SERVICE
5. Speichern und schließen Sie die Datei.
Die Konfiguration wurde erfolgreich angepasst.