驱动器位置开关 (Drive Position Switch)

ℹ️

此功能在 realvirtual 6.0.9 beta 中添加

概述 (Overview)

Drive Position Switch 组件根据驱动器位置控制布尔 PLC 信号。它监控一个或多个位置范围,当驱动器进入这些区域中的任何一个时激活输出信号。该组件完全支持线性驱动器和旋转驱动器,包括具有回绕行为的驱动器(例如 0-360° 旋转驱动器)。

此组件在自动化系统中创建位置相关逻辑特别有用,例如激活传感器、在特定区域触发操作,或在线性或旋转轴上创建安全区域。

主要功能 (Key Features)

  • 多个位置区域 - 定义多个信号应激活的范围
  • 或逻辑 (OR Logic) - 当驱动器在任一定义区域内时激活信号
  • 区域反转 (Area Inversion) - 可选择将区域定义为"假区"而非"真区"
  • 位置偏移 (Position Offset) - 在检查区域之前对驱动器位置应用全局偏移
  • 回绕支持 (Wrap-Around Support) - 自动检测和处理具有位置回绕的旋转驱动器
  • 回绕区域 (Wrapped Areas) - 支持在限位间回绕的区域(例如 0-360° 驱动器上的 350-10°)

属性 (Properties)

Drive Position Switch Inspector

位置区域 (Position Areas)

Areas(列表)控制输出信号的位置范围列表。每个区域包含:

  • Name - 区域的描述性名称
  • Start Position - 范围起始位置(毫米或度)
  • End Position - 范围结束位置(毫米或度)

当驱动器位置在任一这些区域内时,输出信号设置为 true(或逻辑)。对于启用了回绕的旋转驱动器,区域可以通过设置 Start Position > End Position 来回绕限位(例如 0-360° 驱动器上的 350-10)。

设置 (Settings)

Invert Areas(布尔值)启用时,定义的区域变为"假区"而非"真区"。输出信号在区域内时为 false,在所有区域外时为 true。这对于定义排除区域或安全区域很有用。

Position Offset(浮点数)以毫米或度为单位的全局偏移,在检查区域之前应用于驱动器的当前位置。对于启用了回绕的驱动器,偏移会自动归一化以保持在驱动器的限位内。这允许您偏移所有区域而无需修改每个单独的区域范围。

PLC IOs

Output Signal (PLCInputBool) 发送到 PLC 的布尔信号。当驱动器位置(应用偏移后)在任一定义区域内时此信号为 true,如果启用了 Invert Areas 则反转。将此连接到您的 PLC 逻辑或其他需要基于位置触发的组件。

用法 (Usage)

基本位置开关

创建在特定区域激活的简单位置开关:

  1. 在 GameObject 上添加 Drive 组件
  2. 在同一 GameObject 上添加 Drive Position Switch 组件
  3. 在检视器中展开 Areas 列表并点击 + 按钮
  4. 为所需激活区域设置 Start PositionEnd Position
  5. 添加 PLCInputBool 信号或将 Output Signal 连接到您的逻辑
  6. 当驱动器在定义范围内时信号将为 true

多区域 (Multiple Zones)

在多个独立区域激活信号:

  1. Areas 列表中添加多个元素
  2. 为每个区域配置不同的 Start 和 End 位置
  3. 如果驱动器在任一定义区域内,输出将为 true(或逻辑)

示例:在位置 100-150mm 和 300-350mm 处激活信号:

  • 区域 1:Start=100, End=150
  • 区域 2:Start=300, End=350

带回绕的旋转驱动器

对于从上限跳转到下限的旋转驱动器(例如 360° 到 0°):

  1. 确保 Drive 启用了 Use LimitsJump To Lower Limit On Upper Limit
  2. 通过设置 Start Position > End Position 创建可以回绕限位的区域
  3. 组件自动检测和处理回绕区域

示例:在 0-360° 驱动器上 350° 到 10° 之间激活:

  • 区域:Start=350, End=10
  • 信号在 350° 到 360° 以及 0° 到 10° 之间为 true

使用区域反转的安全区域

定义信号为 false 的安全区域(其他地方为 true):

  1. 启用 Invert Areas 复选框
  2. 定义您希望信号为 FALSE 的区域
  3. 当在所有定义区域之外时输出将为 true

示例:创建 100-200mm 的安全区域,输出为 false:

  • 启用 Invert Areas
  • 区域:Start=100, End=200
  • 结果:信号在 100-200mm 时为 false,其他地方为 true

位置偏移 (Position Offset)

使用位置偏移来偏移坐标系而不修改所有区域:

  1. Position Offset 设置为所需的偏移值
  2. 驱动器的位置在检查区域之前进行调整
  3. 对于回绕驱动器,偏移会自动归一化

示例:检查驱动器是否在 0-50mm 位置,偏移 100mm:

  • 区域:Start=0, End=50
  • Position Offset:100
  • 结果:当驱动器在 -100 到 -50mm 时信号为 true(调整为 0-50mm)

另请参阅 (See Also)