驱动器位置开关 (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)

位置区域 (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)
基本位置开关
创建在特定区域激活的简单位置开关:
- 在 GameObject 上添加 Drive 组件
- 在同一 GameObject 上添加 Drive Position Switch 组件
- 在检视器中展开 Areas 列表并点击 + 按钮
- 为所需激活区域设置 Start Position 和 End Position
- 添加 PLCInputBool 信号或将 Output Signal 连接到您的逻辑
- 当驱动器在定义范围内时信号将为 true
多区域 (Multiple Zones)
在多个独立区域激活信号:
- 在 Areas 列表中添加多个元素
- 为每个区域配置不同的 Start 和 End 位置
- 如果驱动器在任一定义区域内,输出将为 true(或逻辑)
示例:在位置 100-150mm 和 300-350mm 处激活信号:
- 区域 1:Start=100, End=150
- 区域 2:Start=300, End=350
带回绕的旋转驱动器
对于从上限跳转到下限的旋转驱动器(例如 360° 到 0°):
- 确保 Drive 启用了 Use Limits 和 Jump To Lower Limit On Upper Limit
- 通过设置 Start Position > End Position 创建可以回绕限位的区域
- 组件自动检测和处理回绕区域
示例:在 0-360° 驱动器上 350° 到 10° 之间激活:
- 区域:Start=350, End=10
- 信号在 350° 到 360° 以及 0° 到 10° 之间为 true
使用区域反转的安全区域
定义信号为 false 的安全区域(其他地方为 true):
- 启用 Invert Areas 复选框
- 定义您希望信号为 FALSE 的区域
- 当在所有定义区域之外时输出将为 true
示例:创建 100-200mm 的安全区域,输出为 false:
- 启用 Invert Areas
- 区域:Start=100, End=200
- 结果:信号在 100-200mm 时为 false,其他地方为 true
位置偏移 (Position Offset)
使用位置偏移来偏移坐标系而不修改所有区域:
- 将 Position Offset 设置为所需的偏移值
- 驱动器的位置在检查区域之前进行调整
- 对于回绕驱动器,偏移会自动归一化
示例:检查驱动器是否在 0-50mm 位置,偏移 100mm:
- 区域:Start=0, End=50
- Position Offset:100
- 结果:当驱动器在 -100 到 -50mm 时信号为 true(调整为 0-50mm)
另请参阅 (See Also)
- Drive - 主驱动器组件
- Drive Behaviors - 所有 Drive Behavior 组件概述
- PLCInputBool - 到 PLC 的布尔信号
- Sensor - 基于接近检测的替代方案