信号强制设置 (Signal Force Set)(Pro)

ℹ️

此功能在 realvirtual 6.3.4(Professional)中添加。

概述 (Overview)

SignalForceSet 允许您在仿真期间将一个或多个 PLC 信号保持在固定值——不受 PLC 或仿真逻辑写入内容的影响。这相当于 Siemens TIA Portal 或 Beckhoff TwinCAT 中的强制表:强制信号始终优先于任何其他写入器。

典型用例是虚拟调试 (VIB),其中某些边界信号在仿真中没有真实来源,但必须携带定义的值以便 PLC 程序运行:电压存在标志、急停释放、系统压力、操作模式——所有这些都需要在第一个周期执行之前"强制"为其标称值。

您可以根据需要定义多个强制集——每个场景一个。多个集可以同时处于活动状态。

DemoSignalForce 示例场景中的信号力监视器和力设定
💡 提示
专用的 信号强制监控器 (Signal Force Monitor) 窗口显示所有活动的强制集和场景中每个当前强制信号。从 realvirtual DEV > Testing > Signal Force Monitor 或通过任意 SignalForceSet 上的 Open Force Monitor 按钮打开。

属性 (Properties)

保存虚拟调试基准状态边界信号的力设定

常规 (General)

Set Name — 此场景的显示名称(例如 VC_BaseStateTEST_EmergencyStop)。在信号强制监控器中显示以便快速识别。

条目 (Entries)

Entries — 带有强制值的信号列表。每个条目包含:

字段描述
Signal对要强制的 PLC 信号的引用(PLCInputBool、PLCOutputBool、PLCInputFloat 等)
Enabled集活动时是否应用此条目。取消勾选可临时排除信号而无需从列表中移除
Bool / Float / Int / Text Value要强制的目标值。可见字段与信号类型匹配
Comment用于文档说明的自由文本注释(例如 "Voltage present""Automatic mode"

行为 (Behavior)

Apply On Start Sim — 仿真开始时自动应用此强制集。为 VIB 基础状态启用此项,使 PLC 始终以正确的边界条件启动。

Release On Stop Sim — 仿真停止时自动释放所有强制。默认启用作为安全措施,防止强制在未注意的情况下持续存在。

定时活动 (Timed Active)

Timed Active — 仅在仿真开始后的时间窗口内激活集,然后自动释放。用于启动脉冲和复位序列。

Active From Seconds — 集变为活动状态后的仿真开始时间(秒)。

Active To Seconds — 集自动释放后的仿真开始时间(秒)。

状态 (Status)

Is Active (只读) — 显示此强制集当前是否已应用。在运行时的检视器中可见,便于快速状态检查。

检视器按钮 (Inspector Buttons)

按钮操作
Apply立即强制所有已启用的条目
Release立即释放此集的所有强制
Capture Current Values读取所有列出信号的当前实时值并将其存储为强制目标值
Open Force Monitor打开信号强制监控器编辑器窗口

信号强制监控器 (Signal Force Monitor)

信号强制监控器是一个持久的编辑器窗口,提供场景范围内所有活动强制的概览。

realvirtual DEV > Testing > Signal Force Monitor 或通过任意 SignalForceSet 上的 Open Force Monitor 按钮打开。

信号力监视器 —— 顶部是力设定,下方是所有当前被强制的信号

窗口显示:

  • 所有强制集 及其当前活动状态和每个集的 Apply / Release 按钮
  • 监控所有强制 — 每个当前强制信号的实时列表,包括信号类型、当前值、强制值和来源集
  • Release All 按钮可一键移除所有活动强制
  • 任何强制活动时的 持久警告横幅,确保不会遗漏强制信号

快速入门 (Quick Start)

  1. 在任意 GameObject 上添加 SignalForceSet 组件(realvirtual > Professional > Signal Force Set
  2. 设置描述性的 Set Name(例如 VC_BaseState
  3. Entries 列表中点击 + 图标,将要强制的信号拖入 Signal 字段
  4. 为每个条目设置所需的 Value 并添加 Comment 以便清晰
  5. 启用 Apply On Start Sim,使基础状态在仿真开始时始终应用
  6. 在检视器中按 Apply 或启动仿真来激活强制
  7. 打开 信号强制监控器 确认当前哪些信号被强制

常见用例 (Common Use Cases)

  • VIB 基础状态 — 强制边界信号(电压存在、急停释放、系统压力、操作模式),使 PLC 程序可以执行首次扫描而无需等待缺失的反馈
  • 测试场景:急停触发 — 创建一个专用集,将急停信号强制为 false 以验证 PLC 正确响应;在集之间切换以比较行为
  • 测试场景:压力过低 — 将压力信号强制到低于其阈值以测试保护性停机逻辑,无需修改物理硬件
  • 启动脉冲 — 使用 Timed Active 在 0-2 秒窗口内发出程序启动复位脉冲,然后在 PLC 初始化后自动释放
  • 演示场景 — 保持一个启用了 Apply On Start Sim 的强制集,使演示环境始终以定义的、可运行的状态启动

MCP 工具 (MCP Tools)

对于自动化和 AI 代理控制,realvirtual 提供 MCP 工具以编程方式强制和释放信号:

  • signal_force_boolsignal_force_floatsignal_force_int — 按名称强制单个信号
  • signal_unforce — 释放单个信号的强制
  • signal_force_list — 列出所有当前强制信号
  • force_set_applyforce_set_release — 应用或释放命名的强制集
  • force_set_list — 列出场景中所有强制集及其活动状态

另请参阅 (See Also)