Scénario : contrôle virtuel avec VLAN
Exigences
Scénario
Configuration réussie du Scénario « terrain de jeu virtuel » : vPLC + serveur de licences + passerelle Edge
Au moins deux cas de CODESYS Virtual Control for Linux SL (dans cet exemple,
vPLC1
etvPLC2
)
Matériel
Un commutateur compatible VLAN
Appareils Fieldbus (basés sur Ethernet), par exemple Profinet
Configuration du commutateur
Important
Si vous ne configurez pas correctement votre appareil, vous risquez de perdre l'accès à celui-ci.
Connectez l'adaptateur (où les VLAN doivent être définis) au commutateur. Dans cet exemple, deux interfaces VLAN sont ajoutées à l'adaptateur suivant :
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
Ouvrez l'interface de configuration du commutateur. Pour savoir comment ouvrir l'interface et les informations d'identification, reportez-vous aux instructions du fournisseur.
Une fois connecté, ouvrez la page de configuration du VLAN. Si votre commutateur prend en charge différents protocoles, sélectionnez
802.1Q VLAN
.Sur le
Port Config
page, configurez leLink Type
du port précédemment connecté en tant queTrunk
.Connectez tous les appareils de bus de terrain au commutateur.
Sur le
VLAN Config
page, ajoutez deux nouveaux VLAN. Dans cet exemple, vous travaillez avec les ID de VLAN 100 et 200. Ajoutez le port précédemment connecté et configuré en tant queTrunk
à chaque VLAN. Ajoutez le port d'un périphérique de bus de terrain à chaque VLAN
Dans l'exemple de configuration suivant, la connexion entre le contrôleur et le commutateur a été établie sur le port 14. Link Type
de ce port a été configuré en tant que Trunk
. Un dispositif de bus de terrain est connecté chacun au port 11 et au port 12
ID VLAN | Descriptif | Ports |
---|---|---|
100 | Réseau VLAN 100 | 11, 14 |
200 | Réseau VLAN 200 | 12, 14 |
Configuration des interfaces VLAN
Avant d'apporter des modifications permanentes à la configuration de votre réseau, vous devez tester les paramètres et les modifier selon vos besoins.
Créez un nouvel adaptateur de type
VLAN
.La commande est au format suivant :
sudo ip link add link <physical_adapter> name <virtual_adapter_name> type vlan id <vlan_id>
La convention consiste à ajouter l'ID VLAN au nom de l'adaptateur virtuel. Dans le cas de la configuration de l'adaptateur et du commutateur illustrée ci-dessus, la commande ressemble à ceci :
sudo ip link add link enp1s0 name enp1s0.100 type vlan id 100
Remplacer
enp1s0
et l'ID VLAN avec les valeurs de votre système.Maintenant, quand tu cours
ip a
, vous devriez voir quelque chose comme le résultat suivant :enp1s0.100@enp1s0: <BROADCAST,MULTICAST,PROMISC> mtu 1500 qdisc noop state DOWN group default qlen 1000
Exécutez également cette commande pour le deuxième VLAN.
Tester la configuration
Ouvrez le CODESYS Control SL Deploy Tool et établissez une connexion avec votre manette.
Pour plus d'informations, voir : Établissement d'une connexion.
Passez au opération onglet et sélectionnez
vPLC1
instance.Dans la vue de configuration sur le côté droit, cliquez sur
Nic
ligne et sur le bord droit, cliquez surbouton.
La boîte de dialogue de configuration de la carte réseau s'ouvre.
Dans la liste des adaptateurs disponibles, cliquez sur
enp1s0.100
et sélectionnez De la carte à l'instance option.Si nécessaire, configurez une adresse IP et un masque réseau. Le masque réseau a le format de la notation CIDR (exemple
24
).Pour plus d'informations, voir : https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
Cliquez sur OK et Enregistrer boutons.
Sélectionnez le
vPLC2
instance et exécutez les étapes 3 à 6 avecenp1s0.200
adaptateur.Démarrez les instances et une passerelle sur votre contrôleur.
Pour plus d'informations, voir : Démarrage du système d'exécution
Chargez une petite application sur chacune des deux instances pour vérifier la fonctionnalité du réseau. Pour plus d'informations, voir : Téléchargement et démarrage du CODESYS Application sur le contrôleur
Persistance de la configuration de l'adaptateur
Si votre configuration est correcte, vous devez tout de même l'enregistrer de manière persistante. Pour savoir comment enregistrer de manière persistante la configuration de votre commutateur, consultez les instructions du fournisseur. La configuration des deux instances vPLC1
et vPLC2
sont déjà persistants. Ici, il vous suffit de régler Démarrage automatique réglage pour Oui.
Les étapes suivantes décrivent comment configurer les deux adaptateurs VLAN de votre contrôleur afin qu'ils soient disponibles au démarrage du système.
Important
Ces paramètres peuvent être dangereux pour votre système.
Créez une sauvegarde de tous les fichiers importants.
Faites une copie de tous les fichiers qui ont été modifiés au préalable afin de pouvoir facilement annuler les modifications.
Ouvrir
/etc/network/interfaces
dans un éditeur (exemple :sudo nano /etc/network/interfaces
).Ajoutez les lignes suivantes (modifiez les noms des adaptateurs et les ID VLAN de votre contrôleur) :
# 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
Pour plus d'informations sur ce fichier, consultez : https://wiki.debian.org/NetworkConfiguration
Redémarrez votre système ou exécutez la commande
sudo systemctl restart networking
pour que les modifications s'appliquent.
Avis
Cette méthode de configuration a été testée sur Debian 12. Vous devrez peut-être sélectionner une méthode différente pour votre appareil ou votre système d'exploitation afin de sauvegarder la configuration de manière persistante.
D'autres exemples sont netplan (https://netplan.readthedocs.io/en/stable/structure-id/) ou NetworkManager (https://networkmanager.dev/). Les instructions appropriées pour votre contrôleur se trouvent dans la documentation correspondante.