Skip to main content

场景:使用 VLAN 进行虚拟控制

要求

配置交换机

重要

如果您的设备配置不正确,则可能会无法访问该设备。

  1. 将适配器(应在其中定义 VLAN)连接到交换机。在本示例中,向以下适配器添加了两个 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
  2. 打开交换机的配置界面。有关如何打开接口和凭证的说明,请参阅供应商的说明。

  3. 登录后,打开 VLAN 的配置页面。如果您的交换机支持不同的协议,则选择 802.1Q VLAN

  4. Port Config 页面,配置 Link Type 先前连接的端口为 Trunk

  5. 将所有现场总线设备连接到交换机。

  6. VLAN Config 页面,添加两个新 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 接口

在永久更改网络配置之前,应测试设置并根据需要进行修改。

  1. 创建类型为的新适配器 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 执行此命令。

测试配置

  1. 打开 CODESYS Control SL Deploy Tool 并与您的控制器建立连接。

    有关更多信息,请参阅: 建立连接

  2. 切换到 操作 选项卡,然后选择 vPLC1 实例。

  3. 在右侧的配置视图中,单击 Nic 直线,然后在右边缘单击 _visu_icon_three_dots.png 按钮。

    Nic 配置对话框打开。

  4. 在可用适配器列表中,单击 enp1s0.100 然后选择 映射到实例 选项。

  5. 如有必要,配置 IP 地址和网络掩码。网络掩码采用 CIDR 表示法的格式(例如: 24)。

    有关更多信息,请参阅: https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing

  6. 点击 好吧保存 按钮。

  7. 选择 vPLC2 实例并使用执行步骤 3-6 enp1s0.200 适配器。

  8. 在控制器上启动实例和网关。

    有关更多信息,请参阅: 启动运行时系统

  9. 一个小型应用程序加载到两个实例上,以检查网络的功能。有关更多信息,请参阅: 下载并启动 CODESYS 控制器上的应用

保留适配器配置

如果你的配置正确,你仍然需要永久保存。有关如何永久保存交换机配置的说明,请参阅供应商的说明。两个实例的配置 vPLC1vPLC2 已经持续存在了。在这里你只需要设置 自动启动 设置为 是的

以下步骤介绍如何在控制器上配置两个 VLAN 适配器,以便它们在系统启动时可用。

重要

这些设置可能会对您的系统造成损害。

  • 创建所有重要文件的备份。

  • 复制所有事先修改过的文件,这样您就可以轻松撤消更改。

  1. 打开 /etc/network/interfaces 在编辑器中(例如: sudo nano /etc/network/interfaces)。

  2. 添加以下几行(修改控制器的适配器名称和 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

  3. 重启系统或执行命令 sudo systemctl restart networking 以使更改生效。

注意

这种配置方法在 Debian 12 上进行了测试。您可能需要为设备或操作系统选择不同的方法才能永久保存配置

其他例子是 netplan (https://netplan.readthedocs.io/en/stable/structure-id/) 或网络管理器 (https://networkmanager.dev/)。控制器的相应说明可以在相应的文档中找到。