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

注意
以下章节中的文档仅供参考。有关限制以及安全或认证信息,请查阅您所编程设备的制造商提供的安全文档。
要求
场景:
此场景的前提条件是已成功完成 “使用现场总线进行虚拟” 场景:vPLC + 许可证服务器 + 边缘网关 + 现场总线 的设置。
硬件
还需要以下设备:
台式电脑配备 CODESYS Development System 已安装
安装了虚拟边缘网关、虚拟 PLC 1 和许可证服务器的 Linux 主机 PC
还需要以下附加设备:
时间提供程序的主机(图中标记为“Linux Host PC 2”)。该主机的要求:必须安装 Linux 操作系统和 Docker,并配置 SSH。
与 Linux 主机 PC 建立实时网络,确保数据包的确定性传输。
具备实时功能的 Linux 系统,特别是“Linux 主机 PC”和“Linux 主机 PC 2”:实时发送时间提供程序的时间戳与在安全控制器上处理应用程序同样重要。
注意
如果无法满足实时性要求,将导致安全应用程序出现可用性问题("Safety Exceptions")。要设置所涉及的 Linux 系统,请按照 性能优化 中的步骤操作。
附加产品
CODESYS Virtual Safe Control SL必须安装在台式电脑上。
Linux 主机 PC 2
在 Linux 主机 PC 2 上,设置时间提供商。
时间提供器将当前时间发送到已配置的目的地,可用于提供虚拟安全控制 SL 所需的第二次时间。
执行命令 工具 → 部署控制 SL 并建立与 Linux 主机 PC 2 的连接 (沟通 选项卡)。
有关更多信息,请参阅: 建立连接
安装以下镜像的最新版本 (部署 选项卡):
CODESYS 虚拟安全时间提供商
有关更多信息,请参阅: Installing an image
点击 部署 选项卡。
在 产品 列表框,选择 CODESYS 虚拟安全时间提供商 SL。
在 版本 列表框中,选择最新版本。
点击 安装 按钮。
CODESYS 虚拟安全时间提供商 SL 图像显示在 已安装的映像 部分。
创建所需的实例。
在 Linux Host PC 2 上需要
timeprovider实例,请在 操作 选项卡上按如下方式创建该实例:在 VPLC 部分,单击
按钮。这个 添加新实例 对话框打开。
请指定
timeprovider作为名字。在列表框中,选择
Safety Timeprovider过滤器。选择最新版本的
CODESYS Virtual Safe Timeprovider SL图片,然后点击 好吧。新实例列在 VPLC 部分。
配置实例。
必须为
timeprovider实例配置目标 IP 地址和目标端口。默认情况下,目标为vHost,端口为60000。通用命令
-e TARGET_IP=[IP oder Hostname des Linux Host PC]-e TARGET_PORT=6000060000 是虚拟安全控制 SL 从计时器接收外部时间源的默认端口。
自动启动
是的
什么时候 是的 选中后,每次启动系统时都会自动启动实例。
通用命令可用于配置 Time Provider 实例的其他方面,例如与日志记录或优化相关的设置。
通用命令
默认值
解释
-e STAT_PRINT_TIME60
时间提供者统计数据的输出间隔(以秒为单位)
-e PIN_CPU0
运行 Time Provider 的内核
-e DEBUGFALSE启用或禁用调试输出
-e SYSLOGFALSE启用或禁用将日志输出写入 syslog
-e PRIORITY55
SCHED_FIFO调度优先级-e REDUNDANCYFALSE/TRUE启用或禁用时间提供者的冗余功能。(需要额外的 CODESYS Safe Time Provider)
-e CYCLETIME3
时间提供者发送时间戳包的时间间隔
在 VPLC 部分,单击
timeprovider实例。timeprovider实例的设置显示在右侧。在Genericcommands下,TARGET_IP和TARGET_PORT字段已预先分配了值vSafePLC1和60000。更改
TARGET_IP到 Linux 主机 PC 的主机名或 IP 地址 1.有关更多信息,请参阅: 检测网络地址
在 自动启动 列表框中,选择值 是。
单击 保存 按钮保存更改。
有关更多信息,请参阅: 创建和配置新实例
在 VPLCs 区域中选择
timeprovider实例,然后单击
启动选中的 按钮以启动该实例。在 州 列,所有实例的状态更改为 跑步。
Linux 主机
在 Linux 主机 PC 上,设置 CODESYS Virtual Safe Control for Linux SL。
执行命令 工具 → 部署控制 SL 并建立与 Linux 主机 PC 2 的连接 (沟通 选项卡)。
切换到 操作 选项卡。
安装以下镜像的最新版本 (部署 选项卡):
CODESYS 虚拟安全控制 SL
创建所需的实例。
在 Linux Host PC 1 上需要
vSafePLC实例。请在 操作 选项卡上按如下方式创建该实例:在 VPLC 部分,单击
按钮。这个 添加新实例 对话框打开。
请指定
vSafePLC作为名字。在 筛选 列表框,选择 安全运行系统。
然后选择最新版本的 CODESYS Virtual Safe Control for Linux SL 图片。
最后,单击 确定。
新实例列在 VPLC 部分。
连同您在上一个场景中在此设备上创建的实例一起,以下实例现在应该在
VPLCs部分:实例
州
产品
虚拟网关
已停止
网关
vPLC
已停止
运行时系统
vSAFEPLC
已停止
安全运行系统
检查以下条目是否可用
Services部分:产品
州
适用于 Linux 的 CODESYS 许可证服务器 SL
跑步
在重新配置之前,单击 停止全部 按钮停止实例。
所有实例的状态将变为 停止。
在 VPLC 部分,单击
vSafePLC实例。的设置
vSafePLC实例显示在右侧。配置
vSafePLC实例如下:端口:
60000:60000/udp这是 Virtual Safe Control SL 从 Time Provider 接收外部时间源的默认端口
Ipc:
shareable为此容器创建一个其他容器也可以访问的 IPC 命名空间。在本例中,vPLC 实例应加入该命名空间,以便两者能够通过 Linux IPC(例如共享内存)进行通信。
除了可以配置实例本身的实例参数外,还有实例的运行时系统的设置选项 CODESYS Virtual Safe Control。的标准配置 CODESYS Safe Control SL 最初应该可用于大多数应用程序。
您可以调整以下参数以满足您的需求:
参数
默认值
解释
应用程序优先级
35
应用程序任务的运行时系统优先级(不是 Linux 或 IEC 优先级)
中央处理器
0
将 cmpsil3 任务固定到指定内核
外部时间任务优先级
9
外部时间任务的运行时系统优先级(不是 Linux 或 IEC 优先级)
端口
60000
用于外部时间提供商的 UDP 端口
在 VPLC 部分,单击
vPLC实例。vPLC实例的设置显示在右侧。配置
vPLC实例如下:IPC
container:vSafePLC访问 vSafePLC 实例的 IPC 命名空间,以便这两个实例之间进行通信。
依赖
vSafePLC必须先启动 vSafePLC,因为这会创建此实例想要加入的 IPC 命名空间。依赖关系将确保正确的起始顺序。
在 VPLCs 区域中,单击
启动全部 按钮以启动所有实例。在 州 列,所有实例的状态更改为 跑步。
检查配置。
要确保 Time Provider 的时间按预期和配置到达 vSafePLC,可以在该实例的日志中进行检查。
要执行此操作,请选择
vSafePLCs中的实例 VPLC 部分。在 行动 右上角的部分,单击 显示日志 按钮。
这个 运行时系统日志 窗口打开。
这条消息
External Time Provider found存在于日志中。
所有必需的设备现已准备就绪。中描述了创建项目和集成 ProfiSafe 的后续步骤 CODESYS 安全扩展 文档。