Skip to main content

“安全屋” 场景:vPLC + vSafe + ProfiSafe + 时间提供商 + 许可证服务器

_rtsl_img_scenario_safe_house.png

注意

以下页面上的文档仅供参考。有关限制和安全或认证信息,请查阅您正在编程的设备制造商的安全文档。

要求

  • 场景:

    此场景的要求是成功设置 “使用现场总线进行虚拟” 场景:vPLC + 许可证服务器 + 边缘网关 + 现场总线。

  • 硬件

    还需要以下设备:

    • 台式电脑配备 CODESYS Development System 已安装

    • 安装了虚拟边缘网关、虚拟 PLC 1 和许可证服务器的 Linux 主机 PC

    还需要以下附加设备:

    • 时间提供程序的主机(图中标记为“Linux Host PC 2”)。该主机的要求:必须安装 Linux 操作系统和 Docker,并配置 SSH。

    • 与 Linux 主机 PC 建立实时网络,确保数据包的确定性传输。

    • 具备实时功能的 Linux 系统,特别是“Linux 主机 PC”和“Linux 主机 PC 2”:实时发送时间提供程序的时间戳与在安全控制器上处理应用程序同样重要。

      注意

      无法满足实时性要求会导致安全应用程序出现可用性问题(“安全异常”)。要设置相关的 Linux 系统,请按照以下步骤操作。性能优化。

  • 附加产品

    CODESYS Virtual Safe Control SL必须安装在台式电脑上。

Linux 主机 PC 2

在 Linux 主机 PC 2 上,设置时间提供商。

时间提供器将当前时间发送到已配置的目的地,可用于提供虚拟安全控制 SL 所需的第二次时间。

  1. 执行命令 工具 → 部署控制 SL 并建立与 Linux 主机 PC 2 的连接 (沟通 选项卡)。

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

  2. 安装以下镜像的最新版本 (部署 选项卡):

    • CODESYS 虚拟安全时间提供商

    有关更多信息,请参阅: Installing an image

  3. 点击 部署 选项卡。

  4. 在 产品 列表框,选择 CODESYS 虚拟安全时间提供商 SL。

  5. 在 版本 列表框中,选择最新版本。

  6. 点击 安装 按钮。

    CODESYS 虚拟安全时间提供商 SL 图像显示在 已安装的映像 部分。

  7. 创建所需的实例。

    在 Linux 主机 PC 2 上,需要时间提供者实例,您可以按如下方式在 操作 选项卡:

    1. 在 VPLC 部分,单击 _visu_icon_plus.png 按钮。

      这个 添加新实例 对话框打开。

    2. 请指定 timeprovider 作为名字。

    3. 在 筛选 列表框,选择 Safety Timeprovider。

    4. 选择最新版本的 CODESYS Virtual Safe Timeprovider SL 图片,然后点击 好吧。

      新实例列在 VPLC 部分。

  8. 配置实例:

    必须将目标 IP 地址和目标端口配置为 timeprovider 实例。目标是 vHost 和端口 60000 默认情况下。

    通用命令

    -e TARGET_IP= [Linux 主机 PC 的 IP 或主机名]

    -e TARGET_PORT = 60000

    60000 是虚拟安全控制 SL 从计时器接收外部时间源的默认端口。

    自动启动

    是的

    什么时候 是的 选中后,每次启动系统时都会自动启动实例。

    通用命令可用于配置时间提供者实例的其他方面,例如日志记录或优化。

    通用命令

    默认值

    解释

    -e STAT_PRINT_TIME

    60

    时间提供者统计数据的输出间隔(以秒为单位)

    -e PIN_CPU

    0

    应在其中执行时间提供者的核心

    -e DEBUG

    FALSE

    启用或禁用调试输出

    -e SYSLOG

    FALSE

    启用或禁用将日志输出写入 syslog

    -e PRIORITY

    55

    SCHED_FIFO 调度优先级

    -e REDUNDANCY

    FALSE/TRUE

    启用或禁用时间提供者的冗余功能。(需要额外的 CODESYS Safe Time Provider)

    -e CYCLETIME

    3

    时间提供者发送时间戳包的时间间隔

    1. 在 VPLC 部分,单击 timeprovider 实例。

      的设置 timeprovider 实例显示在右侧。 TARGET_IP 和 TARGET_PORT 已经在 GenericCommands 下使用值预先分配了 vSafePLC1 和 60000。

    2. 更改 TARGET_IP 到 Linux 主机 PC 的主机名或 IP 地址 1.

      有关更多信息,请参阅: 检测网络地址

    3. 在 自动启动 列表框,将值更改为 是的。

    4. 点击 保存 按钮来保存更改。

    有关更多信息,请参阅: 创建和配置新实例

  9. 启动实例。

    启动 timeprovider 通过在中进行选择来实现实例 VPLC 部分,然后单击 _prf_icon_start.png 启动选定项 按钮。

    在 州 列,所有实例的状态更改为 跑步。

Linux 主机

在 Linux 主机 PC 上,设置 CODESYS Virtual Safe Control for Linux SL。

  1. 执行命令 工具 → 部署控制 SL 并建立与 Linux 主机 PC 2 的连接 (沟通 选项卡)。

  2. 切换到 操作 选项卡。

  3. 安装以下镜像的最新版本 (部署 选项卡):

    • CODESYS 虚拟安全控制 SL

  4. 创建所需的实例。

    在 Linux 主机 PC 1 上,需要 vsafePLC 实例,您可以按如下方式在 操作 选项卡:

    1. 在 VPLC 部分,单击 _visu_icon_plus.png 按钮。

      这个 添加新实例 对话框打开。

    2. 请指定 vSafePLC 作为名字。

    3. 在 筛选 列表框,选择 安全运行系统。

    4. 然后选择最新版本的 CODESYS Virtual Safe Control for Linux SL 图片。

    5. 然后点击 好吧。

      新实例列在 VPLC 部分。

  5. 连同您在上一个场景中在此设备上创建的实例一起,以下实例现在应该在 VPLCs 部分:

    实例

    州

    产品

    虚拟网关

    已停止

    网关

    vPLC

    已停止

    运行时系统

    vSAFEPLC

    已停止

    安全运行系统

  6. 检查以下条目是否可用 Services 部分:

    产品

    州

    适用于 Linux 的 CODESYS 许可证服务器 SL

    跑步

  7. 在重新配置之前,单击 全部停止 按钮停止实例。

    所有实例的状态都更改为 已停止。

  8. 在 VPLC 部分,单击 vSafePLC 实例。

    的设置 vSafePLC 实例显示在右侧。

  9. 配置 vSafePLC 实例如下:

    端口:

    60000:60000 /udp

    这是虚拟安全控制 SL 从时间提供者接收外部时间源的默认端口

    Ipc:

    容器:vPLC

    访问 vPLC 实例的 IPC 命名空间,以便在这两个实例之间进行通信。

    依赖关系:

    vPLC

    必须先启动 vPLC,因为这会创建此实例想要加入的 IPC 命名空间。依赖关系将确保正确的起始顺序。

    除了可以配置实例本身的实例参数外,还有 vSafePLC 实例的运行时系统的设置选项。的标准配置 CODESYS Safe Control SL 最初应该可用于大多数应用程序。

    您可以调整以下参数以满足您的需求:

    参数

    默认值

    解释

    应用程序优先级

    35

    应用程序任务的运行时系统优先级(不是 Linux 或 IEC 优先级)

    中央处理器

    0

    将 cmpsil3 任务固定到指定内核

    外部时间任务优先级

    9

    外部时间任务的运行时系统优先级(不是 Linux 或 IEC 优先级)

    端口

    60000

    用于外部时间提供商的 UDP 端口

  10. 在 VPLC 部分,单击 vPLC 实例。

    vsafePLC 实例的设置显示在右侧。

  11. 配置 vPLC 实例如下:

    IPC:

    可共享

    为该容器创建 IPC 命名空间,可供其他容器使用。在这种情况下,vsafePLC 实例应加入以进行这两个实例之间的通信

  12. 启动实例。

    在 VPLC 部分,单击 _prf_icon_start.png 全部启动 按钮启动所有实例。

    在 州 列,所有实例的状态更改为 跑步。

  13. 检查配置。

    为确保时间提供者的时间按照所需和配置到达 vSafePLC,可以在实例日志中进行检查。

    1. 要执行此操作,请选择 vSafePLCs 中的实例 VPLC 部分。

    2. 在 行动 右上角的部分,单击 显示日志 按钮。

      这个 运行时系统日志 窗口打开。

      这条消息 External Time Provider found 存在于日志中。

所有必需的设备现已准备就绪。中描述了创建项目和集成 ProfiSafe 的后续步骤 CODESYS 安全扩展 文档。