Szenario Virtual Control mit VLAN
Voraussetzungen
Szenario
Erfolgreiches Einrichten des Szenarios Szenario "Virtual Playground": vPLC + Lizenzserver + Edge Gateway
Mindestens zwei Instanzen der CODESYS Virtual Control for Linux SL, in diesem Beispiel
vPLC1
undvPLC2
Hardware
Ein VLAN-fähiger Switch
Feldbus-Geräte (Ethernet-basiert), beispielsweise Profinet
Konfigurieren des Switch
Wichtig
Wenn Sie Ihr Gerät falsch konfigurieren, verlieren Sie möglicherweise den Zugriff auf das Gerät.
Verbinden Sie den Adapter, auf dem die VLANs definiert werden sollen, mit dem Switch. In diesem Beispiel werden auf dem folgenden Adapter zwei VLAN-Interfaces hinzugefügt:
enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether f0:b2:b9:11:b8:b3 brd ff:ff:ff:ff:ff:ff inet 192.168.2.2/24 brd 192.168.2.255 scope global noprefixroute enp1s0 valid_lft forever preferred_lft forever inet6 fe80::2e96:178c:586a:b97b/64 scope link noprefixroute valid_lft forever preferred_lft forever
Öffnen Sie die Konfigurationsoberfläche des Switchs. Eine Anleitung zum Öffnen der Oberfläche und die Anmeldedaten entnehmen Sie bitte der Anleitung des Herstellers.
Öffnen Sie nach der Anmeldung die Konfigurationsseite für VLAN. Wenn Ihr Switch unterschiedliche Protokolle unterstützt, wählen Sie
802.1Q VLAN
.Konfigurieren Sie in der Seite
Port Config
denLink Type
des zuvor angeschlossenen Port alsTrunk
.Verbinden Sie alle Feldbusgeräte mit dem Switch.
Fügen Sie in der Seite
VLAN Config
zwei neue VLANs hinzu. In diesem Beispiel arbeiten Sie mit den VLAN-IDs 100 und 200. Fügen Sie in jedes VLAN den zuvor angeschlossenen und alsTrunk
konfigurierten Port hinzu. Fügen Sie in jedes VLAN den Port eines Feldbusgeräts.
In der folgenden Beispielkonfiguration wurde auf Port 14 die Verbindung von der Steuerung zum Switch hergestellt. Der Link Type
dieses Ports wurde als Trunk
konfiguriert. An Port 11 und 12 ist jeweils ein Feldbusgerät angeschlossen.
VLAN ID | Beschreibung | Ports |
---|---|---|
100 | VLAN 100 | 11, 14 |
200 | VLAN 200 | 12, 14 |
Konfigurieren der VLAN-Interfaces
Bevor Sie permanente Änderungen an Ihrer Netzwerkkonfiguration vornehmen, sollten Sie die Einstellungen testen und an Ihre Bedürfnisse anpassen.
Erstellen Sie einen neuen Adapter vom Typ
VLAN
.Der Befehl hat folgendes Format:
sudo ip link add link <physical_adapter> name <virtual_adapter_name> type vlan id <vlan_id>
Es ist Konvention die VLAN-ID an den Namen des virtuellen Adapter anzuhängen. Im Falle des oben gezeigten Adapters und Switch-Konfiguration sieht der Befehl folgendermaßen aus:
sudo ip link add link enp1s0 name enp1s0.100 type vlan id 100
Ersetzen Sie
enp1s0
und die VLAN-ID durch die Werte auf Ihrem System.Wenn Sie jetzt
ip a
ausführen, sollten Sie in etwa folgende Ausgabe sehen:enp1s0.100@enp1s0: <BROADCAST,MULTICAST,PROMISC> mtu 1500 qdisc noop state DOWN group default qlen 1000
Führen Sie diesen Befehl auch für das zweite VLAN durch.
Testen der Konfiguration
Öffnen Sie das CODESYS Control SL Deploy Tool und stellen Sie eine Verbindung zu Ihrer Steuerung her.
Für weitere Informationen siehe: Verbindung herstellen.
Wechseln Sie auf die Registerkarte Operation und wählen Sie die Instanz
vPLC1
.Klicken Sie Im Konfigurationsfenster auf der rechten Seite die Zeile
Nic
und auf die Schaltflächeam rechten Rand.
Es öffnet sich der Nic-Konfigurationsdialog
Klicken Sie in der Liste der verfügbaren Adapter auf
enp1s0.100
und aktivieren Sie die Option Map to Instance.Konfigurieren Sie, falls benötigt, eine IP-Adresse und Netzwerkmaske. Die Netzwerkmaske hat das Format der CIDR-Notation, beispielsweise
24
.Für weitere Informationen siehe: https://de.wikipedia.org/wiki/Classless_Inter-Domain_Routing
Klicken Sie auf die Schaltflächen OK und Speichern.
Wählen Sie die Instanz
vPLC2
und führen Sie die Schritte 3-6 mit dem Adapterenp1s0.200
durch.Starten Sie die Instanzen sowie ein Gateway auf Ihrer Steuerung.
Für weitere Informationen siehe: Laufzeitsystem starten
Laden Sie auf die beiden Instanzen je eine kleine Applikation, mit der Sie die Funktionalität des Netzwerkes überprüfen können. Für weitere Informationen siehe: CODESYS-Applikation auf die Steuerung laden und starten
Persistieren der Adapterkonfiguration
Wenn Ihre Konfiguration korrekt ist, müssen Sie diese noch persistent abspeichern. Eine Anleitung zum persistenten Abspeichern der Konfiguration Ihres Switches entnehmen Sie der Anleitung des Herstellers. Die Konfiguration der beiden Instanzen vPLC1
und vPLC2
sind bereits persistent. Hier müssen Sie lediglich die Einstellung Autostart auf Ja setzen.
Die folgenden Schritte beschreiben, wie Sie die beiden VLAN-Adapter auf Ihrer Steuerung so konfigurieren, dass diese bei Systemstart verfügbar sind.
Wichtig
Diese Einstellungen können potenziell schädlich sein für Ihr System.
Erstellen Sie ein Backup von allen wichtigen Dateien.
Erstellen Sie von allen Dateien, die modifiziert werden, zuvor eine Kopie, damit Sie Änderungen leicht rückgängig machen können.
Öffnen Sie
/etc/network/interfaces
mit einem Editor:sudo nano /etc/network/interfaces
.Fügen Sie folgende Zeilen hinzu (passen Sie die Adapternamen und VLAN-IDs auf Ihre Steuerung an):
# enp1s0.100 vlan (vPLC1) auto enp1s0.100 iface enp1s0.100 inet dhcp vlan-raw-device enp1s0 # enp1s0.200 vlan (vPLC2) auto enp1s0.200 iface enp1s0.200 inet dhcp vlan-raw-device enp1s0
Für weitere Informationen zu dieser Datei siehe: https://wiki.debian.org/NetworkConfiguration
Starten Sie Ihr System neu oder führen Sie den Befehl
sudo systemctl restart networking
aus, damit die Änderungen aktiv werden.
Hinweis
Dieser Weg der Konfiguration wurde auf Debian 12 getestet. Möglicherweise müssen Sie für Ihr Gerät/Betriebssystem eine andere Methode wählen, um die Konfiguration persistent zu speichern.
Andere Beispiele sind netplan (https://netplan.readthedocs.io/en/stable/structure-id/) oder NetworkManager (https://networkmanager.dev/). Die passende Anleitung für Ihre Steuerung finden Sie in der entsprechenden Dokumentation.