Drive 行为 (Drive Behavior)

Drive 行为 (Drive Behavior) 为 Drive 提供详细的行为定义。这赋予了建模各种物体运动方式的灵活性。在 realvirtual.io 中包含了一些标准 Drive 行为,您可以根据实际使用的组件对其进行扩展。

以下是包含的 Drive 行为列表。所有 Drive 行为均以 Drive_ 前缀命名,以便更好区分。

ℹ️

通用驱动行为(Cylinder、Simple、Destination Motor、Follow Position、Gear、Continuous Destination、Speed 等)是每个 realvirtual 版本的一部分。精确镜像真实驱动控制字 (Control Word) / 状态字 (Status Word) 接口的详细驱动配置文件 / 现场总线行为模型 — PROFIdrive (Speed / Pos)、CiA 402、Festo FHPP、SEW MOVILINK、UniDrive 和比例阀 — 属于 realvirtual Professional

添加 Drive 行为

Drive 行为可以通过两种方式添加到带有 Drive 组件的 GameObject 上:

  1. 添加组件菜单:选择带有 Drive 组件的 GameObject,然后使用 Component > realvirtual > Motion > Drive Behaviors 选择所需行为
  2. QuickEdit 覆盖层 (Professional):使用 QuickEdit 覆盖层按钮在场景视图中快速添加驱动行为
QuickEdit 覆盖层,显示驱动行为按钮以便快速访问

本教程说明了信号 (Signal) 与行为模型 (Behavior Model) 之间的关系:

Drive_Cylinder

这是一个简单气缸运动的模型。气缸由相对于零位的最大位置 (MaxPos) 和最小位置 (MinPos)(以毫米为单位)定义。气缸伸出和缩回的速度由 TimeOutTimeIn(以秒为单位)定义。

设置:

  • One Bit Cylinder:启用时,使用单信号控制。Out=false 使气缸缩回,Out=true 使气缸伸出。
  • Invert Output Logic(6.0.9-beta 新增):反转控制逻辑。启用时,Out=false 伸出气缸,Out=true 缩回气缸。适用于常闭阀配置或反转信号需求。
  • Min Pos / Max Pos:定义气缸行程(以毫米为单位)。
  • Time Out / Time In:伸出和缩回时间(以秒为单位)。
  • Stop When Driving To Min/Max:可选传感器,用于在气缸到达终点位置前停止。

气缸可通过在 Behavior Signals 下设置布尔值进行手动控制。在 PLC IOs 下可将 PLC 信号连接到气缸。

Drive_Simple

Simple Drive 通过布尔值控制前进和后退运动,具有可配置的速度和加速度。

设置:

  • Scale Speed:输入/输出速度和加速度值的缩放因子
  • Current Position Scale(6.0.9-beta 新增):位置反馈变换的缩放因子
  • Current Position Offset(6.0.9-beta 新增):应用于位置反馈的偏移量(以毫米为单位)
  • Scale Feedback Position(6.0.9-beta 新增):启用时(默认),将缩放和偏移应用于位置反馈。禁用以接收原始位置值。

缩放和偏移实现对称变换,用于正确的闭环控制:位置反馈使用位置指令的逆变换。

Drive_DestinationMotor

Destination Motor 是一种由目标位置和目标速度控制的驱动。设置目标速度和目标位置后,可通过布尔信号 StartDrive 启动运动。驱动到达目标位置后,信号 IsAtDestination 被置为高电平。

这是一个通用定位模型,使用简单的布尔和数值信号。如果您需要镜像真实定位驱动的精确控制字 (Control Word) / 状态字 (Status Word) 接口,请使用专用行为 — 参见 Drive_UniDriveMotor(通用控制字 / 状态字定位控制器)、Drive_ProfidriveSpeedDrive_ProfidrivePos(Siemens PROFIdrive)。

缩放/偏移属性(6.0.9-beta 新增):

  • Current Position Scale:应用于位置指令和反馈的缩放因子
  • Current Position Offset:应用于位置指令和反馈的偏移量(以毫米为单位)
  • Scale Feedback Position:启用时(默认),应用对称缩放/偏移变换以实现正确的闭环控制

Drive_FollowPosition

这是一种驱动行为模型,驱动精确跟随 PLC 提供的当前位置。这对于将运动控制器和机器人控制器连接到 realvirtual 特别有用。

设置:

  • Offset:添加到输入信号的位置偏移量(以毫米为单位)
  • Scale:应用于位置输入信号的缩放因子
  • Current Position Scale(6.0.9-beta 新增):位置反馈的附加缩放因子
  • Scale Feedback Position(6.0.9-beta 新增):启用时(默认),应用对称变换:feedback = ((CurrentPosition - Offset) / Scale) \* CurrentPositionScale

对称变换确保 PLC 接收正确缩放的反馈值,与指令位置的坐标系匹配。

Drive_Gear

此行为模型用于将两个驱动连接在一起。主驱动将控制齿轮所附加驱动的位置。这对于两个夹爪手指中只有一个由气动模型控制、第二个相应跟随的场景非常有用。齿轮控制驱动的位置公式为:CurrentPosition = MasterDrive.CurrentPosition x GearFactor + Offset

Drive_ContinousDestination

此驱动持续尝试以给定速度跟随给定目标位置。与 Drive_FollowPosition 不同,此驱动不会精确跟随给定位置,因为它可能需要一些时间才能到达目标。您不需要像 Drive_DestinationMotor 那样设置启动信号来开始驱动。此驱动在 SignalDestination 改变后立即开始驶向不同目标。请注意,您需要在连接的驱动上启用 UseAccelearation 才能使用加速度值。

此驱动特别适合重用连接到 NX Mechatronics Concept Designer 的 Simit 模型的用户。在 NX Mechatronics Concept Designer 中,此类型的 Drive 称为 PositionControl

缩放/偏移属性(6.0.9-beta 新增):

  • Current Position Scale:应用于位置指令和反馈的缩放因子
  • Current Position Offset:应用于位置指令和反馈的偏移量(以毫米为单位)
  • Scale Feedback Position:启用时(默认),应用对称缩放/偏移变换

Drive_Speed

Drive_Speed 通过速度控制驱动。您无法直接控制位置。驱动始终以给定速度运行。正速度值表示前进方向,负速度值表示后退方向。请注意,平滑加速度在此驱动中不工作。如果想要停止驱动,需要将速度设置为零。

此驱动特别适合重用连接到 NX Mechatronics Concept Designer 的 Simit 模型的用户。在 NX Mechatronics Concept Designer 中,此类型的 Drive 称为 SpeedControl

位置反馈属性(6.0.9-beta 新增):

  • Current Position Scale:位置反馈变换的缩放因子
  • Current Position Offset:应用于位置反馈的偏移量(以毫米为单位)
  • Scale Feedback Position:启用时(默认),将缩放和偏移应用于位置反馈。禁用以接收原始位置值。

Drive_ErraticPosition

此驱动仅用于测试目的。它会不断移动到 MinPos 和 MaxPos 之间的随机位置。

Drive_Sequence

我们建议不再使用 DriveSequence,而是使用新的 LogicStep 可视化编程,它更简单且更灵活。请查看 LogicSteps

启动序列步骤

Drive_Sequence 行为允许定义简单的运动序列。序列中的每个步骤可以设置 Drive 速度和 Drive 目标位置。

该步骤在前一步骤之后自动启动。如果在 Wait For Signal 中定义了 PLCSignal,则该步骤在信号置为 true 之前不会启动。

结束序列步骤

Wait After Step 中可以定义以秒为单位的时间,该时间为驱动到达目标后、下一步骤启动前的等待时间。Finished Signal 是可选的,可用于启动外部进程或 Drive_Sequence。该信号在步骤完成时被置为 true。

Drive_UniDriveMotor (Pro, Beta)

⚠️

此行为是 realvirtual Professional 的一部分,在 realvirtual 6.3.4 中添加,目前处于 beta 阶段。API 和属性可能仍会变化。

Drive_UniDriveMotor 将 UniDrive 风格的定位控制器映射到 Drive 上,镜像可参数化定位驱动的典型控制字 (Control Word) / 状态字 (Status Word) 信号集。它结合了通用使能、使用整数设定值(位置、速度、加速和减速斜坡)的定位启动以及带设置/手动速度选择的手动点动位。驱动反馈(就绪、已参考、到位、实际位置和实际速度)被写回 PLC。当将 realvirtual 连接到通过整数设定值而非物理单位驱动定位轴的 PLC 块时,此行为非常有用。

设定值以整数传输,并通过缩放属性转换为 Drive 的毫米 / 度单位。信号方向遵循 realvirtual PLC 约定:PLC 输出是行为读取的指令,PLC 输入是写回 PLC 的反馈。

缩放:

  • Position Scale:整数位置单位(PLC)与毫米 / 度(Drive)之间的缩放因子。
  • Position Offset:应用于位置指令和反馈的偏移量(以毫米 / 度为单位)。
  • Speed Scale:整数速度单位与 mm/s 之间的缩放因子。
  • Acceleration Scale:整数加速度单位与 mm/s² 之间的缩放因子。

点动 (Jog):

  • Setup SpeedSpeed Selection 为 false 时使用的降低的点动速度(以 mm/s 为单位)(设置 / 示教速度)。

状态(Inspector 控制):

  • Ready:驱动就绪反馈 (Betriebsbereit)。取消勾选以模拟未就绪驱动。
  • Referenced:编码器已参考反馈 (Referenzieren OK)。取消勾选以模拟未参考驱动。

PLC 输出(来自 PLC 的指令):

  • Run:驱动的通用使能。低电平时驱动保持停止在当前位置。
  • Jog Plus / Jog Minus:手动点动前进 / 后退。如果两个位同时置位,前进优先。
  • Speed Selection:点动速度选择 — false 使用 Setup Speed,true 使用指令 Set Speed
  • Start Positioning:上升沿触发使用 Set SpeedSet Acceleration 移动到 Set Position
  • Set Position / Set Speed / Set Acceleration / Set Deceleration:整数设定值,通过缩放属性转换。
  • Start Calibration / Reset Fault:为接口完整性而保留;仅信号,在仿真中无效果。

PLC 输入(反馈到 PLC):

  • Is Ready / Is Referenced:由 ReadyReferenced 设置驱动。
  • Is At Position 1:当指令位置已到达时为 true(且驱动未点动远离)。
  • Actual Position / Actual Speed:当前驱动位置和速度(以整数单位)。
ℹ️

底层 Drive 使用单一对称斜坡进行加速和制动。Set Acceleration 驱动 Drive 加速度;Set Deceleration 被读取并暴露(参见 Status 折叠面板)以保持透明,但驱动使用相同斜坡制动。在 Drive 上启用 Use Acceleration 以应用斜坡。

下方截图展示了该行为作为具体驱动实现示例,将真实定位控制器的控制字 (Control Word) / 状态字 (Status Word) 信号映射到 Drive 上。

Drive_UniDriveMotor 作为具体驱动实现的示例

Drive_ProfidriveSpeed (Pro, Beta)

⚠️

此行为是 realvirtual Professional 的一部分,在 realvirtual 6.3.4 中添加,目前处于 beta 阶段。API 和属性可能仍会变化。

Drive_ProfidriveSpeed 使用标准报文 1 (Telegram 1) 建模 PROFIdrive 速度控制驱动(Siemens SINAMICS G120、S120、V90 等)。PLC 发送控制字 STW1 和归一化速度设定值 NSOLL_A,驱动返回状态字 ZSW1 和实际速度 NIST_A。该行为运行 PROFIdrive 状态机,因此驱动仅在 PLC 正确使能后才移动 — 与真实 SINAMICS 驱动完全一致。

这使得在没有 SIMIT 或真实硬件的情况下,针对真实驱动测试完整的 PLC 使能序列(ON/OFF1、OFF2、OFF3、使能运行、使能设定值)成为可能。

设定值归一化: NSOLL_A = 0x4000 (16384) = 100 % 的参考速度(驱动参数 p2000)。负值反转方向。实际速度以相同的归一化方式回报。

缩放:

  • Reference Speed:满量程设定值(100%)时的驱动速度,以 mm/s(或 °/s)。对应驱动参考速度 p2000。
  • Setpoint Scale:等于 100% 的原始设定值。Siemens PROFIdrive NSOLL_A 保留为 16384 (0x4000)。设置为 20000 以驱动 ABB 轴:ABB 驱动通信配置文件使用与 PROFIdrive 相同的 OFF1/OFF2/OFF3/Run/Reset 状态机,仅参考 REF1 缩放为 20000 = 100%。
  • Acceleration:驱动加速度,以 mm/s²(或 °/s²)。在 Drive 上启用 Use Acceleration 以实现斜坡速度跟随。

驱动状态(Inspector 控制):

  • Simulate Fault:强制驱动故障 (ZSW1.3)。PLC 必须通过 STW1.7(上升沿)确认以清除。
  • Simulate Warning:强制驱动警告 (ZSW1.7)。

PLC 输出(来自 PLC 的指令):

  • Control Word:PROFIdrive 控制字 STW1。
  • Speed Setpoint:归一化速度设定值 NSOLL_A。

PLC 输入(反馈到 PLC):

  • Status Word:PROFIdrive 状态字 ZSW1。
  • Speed Actual:归一化实际速度 NIST_A。

控制字 STW1 各位解释如下:位 0 ON/OFF1,位 1 OFF2(1 = 无惯性停止),位 2 OFF3(1 = 无快速停止),位 3 使能运行,位 4 使能斜坡函数发生器,位 5 继续斜坡函数发生器,位 6 使能设定值,位 7 确认故障,位 10 PLC 控制,位 11 设定值反转。解码的位和当前状态机状态在 Inspector 中以只读方式显示,便于透明调试。

Drive_ProfidriveSpeed 及控制字 STW1 / 状态字 ZSW1 和解码的 STW1 位

Drive_ProfidrivePos (Pro, Beta)

⚠️

此行为是 realvirtual Professional 的一部分,在 realvirtual 6.3.4 中添加,目前处于 beta 阶段。API 和属性可能仍会变化。

Drive_ProfidrivePos 建模通过原始报文 111 过程数据控制的 PROFIdrive 基本定位器 (Siemens SINAMICS EPOS),与 realvirtual 替代驱动时 PLC I/O 区域中出现的完全一致。PLC 发送控制字 STW1POS_STW1POS_STW2、速度覆盖和 MDI 设定值(目标位置、速度);驱动返回状态字 ZSW1POS_ZSW1POS_ZSW2 以及实际位置 XIST_A 和实际速度 NIST_B。该行为解码控制字位、运行 PROFIdrive 状态机并执行 MDI(直接设定值)定位 — 与真实 S120 / G120 / V90 轴位对位一致。

这是 Siemens SINA_POS (FB284) 功能块的 I/O 级别 (E/A) 对应物:SINA_POS 在 PLC 内部运行并打包/解包这些报文字,而此组件建模同一报文的驱动端。精确的位布局遵循 SINAMICS 功能手册(S120 / G120 / V90)和 SIMIT EPOS 行为库。

支持的 MDI 操作(MDI 模式,POS_STW1.15 = 1):

  • 绝对 / 相对定位(POS_STW1.8)由 STW1.6(激活遍移任务)的上升沿启动
  • 设置模式 / 以速度连续运行(POS_STW1.14)在所选方向(POS_STW1.9 / .10)
  • 点动 通过 STW1.8 / STW1.9(点动 1 / 点动 2)
  • 回参考点 通过 STW1.11 和设置参考点 通过 POS_STW2.1(均将轴标记为已参考)

遍移块模式 (POS_STW1.15 = 0) 未建模,因为块坐标是驱动参数而非报文的一部分。STW2/ZSW2 生命标志、MELDW 和故障/警告代码字未建模。

缩放:

  • Position Scale:每个长度单位 (LU) 的驱动毫米 / 度,用于 MDI_TARPOS 和 XIST_A。
  • Position Offset:应用于位置指令和反馈的偏移量(以毫米 / 度为单位)。
  • Velocity Scale:每个 MDI_VELOCITY 单位的驱动速度 mm/s(MDI_VELOCITY 以 1000 LU/min 给出)。
  • Reference Speed:NIST_B = 0x40000000 (100%) 时的驱动速度,对应参考速度 p2000。
  • Jog Speed:点动模式 (STW1.8 / STW1.9) 使用的驱动速度 mm/s。
  • Acceleration:100% 覆盖时的驱动加速度 mm/s²(或 °/s²)。

驱动状态(Inspector 控制):

  • Simulate Fault:强制驱动故障 (ZSW1.3)。PLC 必须通过 STW1.7(上升沿)确认以清除。
  • Simulate Warning:强制驱动警告 (ZSW1.7)。

PLC 输出(报文 111 发送字 — 来自 PLC 的指令):

  • Control Word:STW1 (PZD1) — ON/OFF1、OFF2、OFF3、使能运行、拒绝/中间停止、激活遍移任务(边沿)、确认故障、点动 1/2、PLC 控制、启动回参考点。
  • Pos Control Word 1:POS_STW1 (PZD2) — MDI 模式选择 (.15)、绝对/相对 (.8)、方向 (.9/.10)、设置 (.14)、传输类型 (.12)。
  • Pos Control Word 2:POS_STW2 (PZD3) — 设置参考点 (.1)、增量点动 (.5)。
  • Override:OVERRIDE (PZD5),速度覆盖,0x4000 = 100%。
  • Mdi Target Position:MDI_TARPOS (PZD6+7),目标位置(以长度单位 LU)。
  • Mdi Velocity:MDI_VELOCITY (PZD8+9),速度(以 1000 LU/min)。

PLC 输入(报文 111 接收字 — 反馈到 PLC):

  • Status Word:ZSW1 (PZD1) — 就绪 / 运行 / 禁止 / 故障 / 警告 / 到达目标 / 已设参考 / 停止 / 加速 / 减速。
  • Pos Status Word 1:POS_ZSW1 (PZD2)。
  • Pos Status Word 2:POS_ZSW2 (PZD3) — 轴前进 (.4) / 后退 (.5) / 遍移指令活动 (.15)。
  • Position Actual:XIST_A (PZD6+7),实际位置(以 LU)。
  • Speed Actual:NIST_B (PZD8+9),实际速度,0x40000000 = 100% 参考速度。

解码的 STW1 / POS_STW1 / POS_STW2 控制位和 ZSW1 状态位在 Inspector 中以只读方式显示,便于透明调试。

Drive_ProfidrivePos 及原始报文 111 控制/状态字和解码位

Drive_ProportionalValve (Pro, Beta)

⚠️

此行为是 realvirtual Professional 的一部分,在 realvirtual 6.3.4 中添加,目前处于 beta 阶段。API 和属性可能仍会变化。

Drive_ProportionalValve 建模控制 Drive 的液压(或电动)比例方向阀。它将模拟指令信号 — 等效于 PLC 通过阀放大器发送的 ±10 V、4–20 mA 或 0–100% 设定值 — 转换为 Drive 的方向速度。与简单的速度设定值不同,它再现了使真实比例阀与理想驱动表现不同的特性:中位附近的死区、可选阀芯迟滞、可配置的流量特性曲线和有限的阀芯响应时间。阀控制流量,流量映射到 Drive 速度;运动方向跟随指令的符号,建模具有中位中位的 4/3 方向阀。

每个仿真步骤的信号链为:


Setpoint (±10V / 4-20mA / %)
  → normalize (Setpoint Zero / Setpoint Full) → command -1..+1
  → dead band (spool overlap)
  → hysteresis (optional spool sticking)
  → response time (amplifier ramp + spool dynamics) → spool position
  → flow curve (linear or progressive) → flow -1..+1Drive.TargetSpeed = |flow| × Max Speed, direction = sign

设定值缩放:

  • Setpoint:原始信号单位的模拟指令设定值,在未连接 PLC 信号时使用。
  • Setpoint Zero:对应零流量 / 中位的原始信号值。±10 V 使用 0,4–20 mA 使用 12,0–100% 使用 0
  • Setpoint Full:对应正向 100% 流量的原始信号值。±10 V 使用 10,4–20 mA 使用 20,0–100% 使用 100

阀特性:

  • Deadband (0–0.9):中位附近建模阀芯重叠的死区。低于此指令分数时不产生流量。
  • Enable Hysteresis:启用时,阀芯在指令变化超过迟滞带之前保持粘连。
  • Hysteresis (0–0.5):作为指令分数的迟滞带。小于此值的变化被忽略。
  • Flow Curve:将归一化指令(X 0–1)映射到归一化流量(Y 0–1)的流量特性曲线。默认线性;可为具有非线性流量增益的阀设置为渐进式。
  • Response Time:阀芯从中位移动到满偏转的时间(以秒为单位)(放大器斜坡加阀芯动态)。设置为 0 以获得瞬时响应。

流量 / 速度映射:

  • Max Speed:100% 流量时的 Drive 速度,以 mm/s(线性)或 °/s(旋转)。
  • Acceleration:Drive 加速度,以 mm/s²(或 °/s²)。在 Drive 上启用 Use Acceleration 以实现平滑速度跟随。

PLC IOs:

  • Signal Setpoint:承载模拟阀设定值的 PLC 输出。
  • Signal Spool Position:带有实际阀芯位置的 PLC 输入(-1..1,其中 1 = 满正向流量)。建模闭环控制阀的 LVDT 反馈。
  • Signal Current Speed:带有当前 Drive 速度的 PLC 输入。
  • Signal Current Position:带有当前 Drive 位置的 PLC 输入。

Valve Status 部分显示实时的 CommandSpool PositionFlow 值,可用于调整死区、响应时间和流量曲线。

Drive_CiA402 (Pro, Beta)

⚠️

此行为是 realvirtual Professional 的一部分,在 realvirtual 6.3.4 中添加,目前处于 beta 阶段。API 和属性可能仍会变化。

Drive_CiA402 建模 CiA 402 / DS402 驱动 (IEC 61800-7) — EtherCAT (CoE) 和 CANopen 驱动配置文件,是非 Siemens 伺服世界中 PROFIdrive 行为的对应物。主站写入控制字 (Control Word)(对象 6040h)和设定值;驱动返回状态字 (Status Word)(对象 6041h)和实际值。它适用于几乎所有 CoE / CANopen 伺服:Beckhoff AX5000/AX8000、Kollmorgen AKD、Omron、Yaskawa、Schneider Lexium、Lenze i700、SEW MOVI-C CiA402 模式、Bosch Rexroth ctrlX DRIVE 等。

该行为运行 CiA 402 电源状态机(Switch-On-Disabled → Ready-To-Switch-On → Switched-On → Operation-Enabled,加上 Quick-Stop-Active 和 Fault),因此驱动仅在主站通过标准 0x06 → 0x07 → 0x0F 使能序列逐步操作后才移动。

支持的操作模式(对象 6060h):

  • 1 – Profile Position (PP):Profile Velocity (6081h) 移动到 Target Position (607Ah),由控制字位 4(新设定点)的上升沿启动,由状态字位 12 确认。
  • 3 – Profile Velocity (PV):Target Velocity (60FFh) 运行,方向跟随符号。
  • 6 – Homing (HM): 位 4 的上升沿将轴标记为已参考(简化回参考点)。

周期同步模式 (CSP/CSV/CST) 和转矩模式未建模。

缩放:

  • Position Scale / Position Offset:每个位置增量的驱动毫米 / 度,用于 Target Position (607Ah) 和 Position Actual (6064h)。
  • Velocity Scale:每个速度单位的驱动速度 mm/s(Profile Velocity 6081h、Target Velocity 60FFh)。
  • Acceleration:驱动加速度 mm/s²(或 °/s²)。

驱动状态(Inspector 控制):

  • Simulate Fault:强制驱动故障(状态字位 3),通过控制字位 7(上升沿)清除。
  • Simulate Warning:强制驱动警告(状态字位 7)。

PLC 输出(来自主站的指令):

  • Control Word (6040h)、Mode Of Operation (6060h)、Target Position (607Ah)、Profile Velocity (6081h)、Target Velocity (60FFh)。

PLC 输入(反馈到主站):

  • Status Word (6041h)、Mode Display (6061h)、Position Actual (6064h)、Velocity Actual (606Ch)。

忠实再现的陷阱:控制字位 2(Quick Stop)和状态字位 5(Quick Stop)为低电平有效;控制字位 4(新设定点)和位 7(故障复位)为边沿触发。解码的控制字 / 状态字位和状态机状态在 Inspector 中以只读方式显示。

Drive_CiA402 及 controlword 6040h / statusword 6041h 接口和解码位
⚠️

此行为是 realvirtual Professional 的一部分,在 realvirtual 6.3.4 中添加,目前处于 beta 阶段。API 和属性可能仍会变化。

Drive_SEWMovilink 使用 MOVILINK 单元配置文件 (MOVIDRIVE B / MOVITRAC B / MOVIMOT) 建模 SEW-EURODRIVE 驱动。PLC 写入控制字 1 (PO1) 和速度设定值 (PO2);驱动返回状态字 1 (PI1) 和实际速度 (PI2)。这是 SEW 在传送带和内部物流应用中使用的原生过程映像,与 PROFIdrive 不同,因此单独建模。

ℹ️

MOVILINK 是旧版 SEW 单元配置文件。MOVI-C 不使用 MOVILINK — 它使用 MOVIKIT 过程数据配置文件或 PROFIdrive / CiA 402。对于 CiA402 模式的 MOVI-C 驱动,请改用 Drive_CiA402

MOVILINK 使用三个优先级排序的低字节命令位而非编号状态机:控制器禁止 > 快速停止 > 停止 > 使能。使能路径要求控制字低字节为 0x06

ℹ️

关键陷阱:控制字位 0 是反相的控制器禁止(1 = 禁止 / 保持,0 = 释放),位 1/2 为低电平有效(0 = 快速停止 / 停止)。使能字节为 0x06,而非 0x07 — 0x07 设置位 0 = 禁止。清零控制字 (0x0000) 是故障安全的"未使能"状态。

缩放:

  • Max Speed:100% / 最大速度时的 Drive 速度 mm/s(或 °/s)。
  • Encoding:速度设定值编码 — SPEED\[%] (0x4000 = 100%) 或 SPEED (0.2 rpm/位)。
  • Max Speed Rpm:最大速度 rpm (nmax),用于转换 0.2 rpm/位编码。
  • Acceleration:Drive 加速度 mm/s²(或 °/s²)。

驱动状态(Inspector 控制):

  • Simulate Fault:强制故障(状态字位 5),通过控制字位 6(上升沿)清除。
  • Fault Code:故障活动时在状态字高字节中报告的代码。

PLC 输出(过程输出数据):

  • Control Word 1 (PO1)、Speed Setpoint (PO2)。

PLC 输入(过程输入数据):

  • Status Word 1 (PI1,高字节含设备状态数字 / 故障代码)、Speed Actual (PI2)。
Drive_SEWMovilink 及 MOVILINK 控制字 1 / 状态字 1 接口和解码位

Drive_FestoFHPP (Pro, Beta)

⚠️

此行为是 realvirtual Professional 的一部分,在 realvirtual 6.3.4 中添加,目前处于 beta 阶段。API 和属性可能仍会变化。

Drive_FestoFHPP 使用 FHPP (Festo Handling and Positioning Profile) 建模 Festo 驱动,Festo 电动处理系列 (CMMP-AS、CMMS-ST/AS、CMMD、CMMO-ST、CPX、Festo 配置文件模式的 CMMT) 的原生配置文件。FHPP 是面向字节的:PLC 写入控制字节 CCON / CPOS 和设定值,驱动返回状态字节 SCON / SPOS 和实际值。

两种操作模式(通过 CCON 位 6/7 选择):

  • Record Select: 字节 2 从 Records 表中选择存储的遍移记录(位置、速度、绝对/相对在 Inspector 中配置)。
  • Direct Mode: 目标位置(字节 4-7)和速度(字节 3,0-100%)内联发送。

定位握手遵循 FHPP 标准 START → ACK → MC:CPOS.START 的上升沿锁存设定值并开始移动,驱动以 SPOS.ACK 应答,到达目标时 SPOS.MC (Motion Complete) 置高。通过 CPOS.HOM 回参考点将轴标记为已参考。

ℹ️

忠实再现的陷阱:CCON.STOP(位 1)和 CPOS.HALT(位 0)为低电平有效(0 = 停止 / 暂停);CPOS.START / HOM 和 CCON.RESET 为上升沿;CPOS.TEACH 为下降沿;速度字节为无符号 %。

缩放:

  • Position Scale / Position Offset:每个位置增量的驱动毫米 / 度(Direct 模式目标 / 实际位置)。
  • Base Velocity:100% 速度时的驱动速度 mm/s(Direct 模式速度字节 = 0-100%)。
  • Jog Speed:CPOS.JOGP / CPOS.JOGN 的驱动速度 mm/s。
  • Acceleration:Drive 加速度 mm/s²(或 °/s²)。
  • Records:Record Select 模式的遍移记录表(位置、速度、绝对/相对)。

PLC 输出(FHPP 输出字节):

  • Ccon(字节 0)、Cpos(字节 1)、Record Or Cdir(字节 2)、Velocity Percent(字节 3)、Target Position(字节 4-7)。

PLC 输入(FHPP 输入字节):

  • Scon(字节 0)、Spos(字节 1)、Record Or Sdir(字节 2)、Position Actual(字节 4-7)。

力 / 转矩模式和 FPC 参数通道未建模。

Drive_FestoFHPP 及 FHPP CCON/CPOS 和 SCON/SPOS 字节接口

© 2025 realvirtual GmbH https://realvirtual.io - 版权所有。未经出版商事先书面许可,不得以任何形式或任何方式(包括打印、保存、复印、录制或其他电子或机械方法)复制、分发或传播本出版物的任何部分。