シナリオ:VLAN による仮想制御
必要条件
シナリオ
のセットアップが成功しました 「仮想プレイグラウンド」シナリオ:vPLC + ライセンスサーバー + エッジゲートウェイ
少なくとも 2 つのインスタンス CODESYS Virtual Control for Linux SL (この例では、
vPLC1
とvPLC2
)
ハードウェア
VLAN 対応のスイッチ
Profinet などのフィールドバスデバイス (イーサネットベース)
スイッチの設定
重要
デバイスを正しく構成しないと、デバイスにアクセスできなくなる可能性があります。
アダプター(VLAN を定義する必要がある場所)をスイッチに接続します。この例では、2 つの VLAN インターフェースが次のアダプターに追加されています
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
スイッチの設定インターフェイスを開きます。インターフェイスと認証情報を開く方法については、ベンダーの指示を参照してください。
ログインしたら、VLAN の設定ページを開きます。スイッチが別のプロトコルをサポートしている場合は、以下を選択してください
802.1Q VLAN
。で
Port Config
ページで、を設定します。Link Type
以前に接続したポートのTrunk
。すべてのフィールドバスデバイスをスイッチに接続します。
で
VLAN Config
ページで、2 つの新しい VLAN を追加します。この例では、VLAN ID 100 と 200 を使用して作業しています。以前に接続したポートを追加し、次のように設定します。Trunk
各 VLAN に。フィールドバスデバイスのポートを各 VLAN に追加します
次の設定例では、コントローラからスイッチへの接続がポート 14 で確立されています。 Link Type
このポートは、次のように設定されています。 Trunk
。フィールドバスデバイスはポート 11 とポート 12 にそれぞれ接続されています
VLAN ID | [説明] | ポート |
---|---|---|
100 | VLAN 100 | 11, 14 |
200 | VLAN 200 | 12, 14 |
VLAN インターフェースの設定
ネットワーク構成に恒久的な変更を加える前に、設定をテストし、必要に応じて変更する必要があります。
タイプの新しいアダプタを作成
VLAN
。コマンドの形式は次のとおりです。
sudo ip link add link <physical_adapter> name <virtual_adapter_name> type vlan id <vlan_id>
慣習では、仮想アダプタの名前に VLAN ID を追加します。上記のアダプタとスイッチの設定の場合、コマンドは次のようになります
sudo ip link add link enp1s0 name enp1s0.100 type vlan id 100
置換
enp1s0
そして VLAN ID とシステム上の値を指定します。今、あなたが走るとき
ip a
、次のような出力が表示されるはずです。enp1s0.100@enp1s0: <BROADCAST,MULTICAST,PROMISC> mtu 1500 qdisc noop state DOWN group default qlen 1000
このコマンドは 2 番目の VLAN に対しても実行します。
構成をテストする
を開きます CODESYS Control SL Deploy Tool そして、コントローラとの接続を確立します。
詳細については、以下を参照してください。 接続を確立する。
に切り替え オペレーション タブをクリックして選択します。
vPLC1
インスタンス。右側の構成ビューで、をクリックします
Nic
と入力し、右端の [...] をクリックします。ボタン。
Nic 設定ダイアログが開きます。
使用可能なアダプタのリストで、をクリックします。
enp1s0.100
そして選択してください [インスタンスにマッピング] オプション。必要に応じて、IP アドレスとネットワークマスクを設定します。ネットワークマスクは CIDR 表記の形式です (例
24
)。詳細については、以下を参照してください。 https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
をクリックします OK そして [保存] ボタン。
選択してください
vPLC2
インスタンスを作成し、ステップ 3 ~ 6 を実行します。enp1s0.200
アダプター。コントローラーのインスタンスとゲートウェイを起動します。
詳細については、以下を参照してください。 ランタイム システムの起動
2 つのインスタンスのそれぞれに小さなアプリケーションをロードして、ネットワークの機能を確認します。詳細については、以下を参照してください。 のダウンロードと起動 CODESYS コントローラ上のアプリケーション
アダプターの構成を永続化する
設定が正しい場合でも、永続的に保存する必要があります。スイッチの設定を永続的に保存する方法については、ベンダーの指示を参照してください。2 つのインスタンスの設定 vPLC1
と vPLC2
すでに永続化されています。ここでは、以下を設定するだけで済みます オートスタート に設定 はい。
次の手順では、コントローラの 2 つの VLAN アダプタを設定して、システムの起動時に使用できるようにする方法について説明します。
重要
これらの設定は、システムに害を及ぼす可能性があります。
すべての重要なファイルのバックアップを作成します。
変更を簡単に元に戻すことができるように、事前に変更されたすべてのファイルのコピーを作成してください。
[開く]
/etc/network/interfaces
エディターで (例:sudo nano /etc/network/interfaces
)。次の行を追加します (コントローラのアダプタ名と VLAN ID を変更してください)。
# 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
このファイルの詳細については、以下を参照してください。 https://wiki.debian.org/NetworkConfiguration
システムを再起動するか、コマンドを実行してください
sudo systemctl restart networking
変更を適用するためのものです。
注記
この設定方法は Debian 12 でテストされました。設定を永続的に保存するには、お使いのデバイスやオペレーティングシステムに合わせて別の方法を選択する必要があるかもしれません
その他の例はネットプランです (https://netplan.readthedocs.io/en/stable/structure-id/) またはネットワークマネージャ (https://networkmanager.dev/)。コントローラーの適切な説明は、それぞれのマニュアルに記載されています。