MC_MoveVelocity

功能塊 MC_MoveVelocity
下達一個永遠照特定速度移動之運動指令。
VAR_IN_OUT
B AxisIn AXIS_REF 軸的參考。
VAR_INPUT
B Execute BOOL 在上升邊緣開始運動。
E ContinuousUpdate BOOL 若為 TRUE,則當功能塊 (FB) 正在執行且參數值正被更新時,FB 將使用新值;若為 FALSE,則 FB 不會使用新值。
B Velocity LREAL 指定速度的值,[單位/每秒]。
E Acceleration LREAL 加速度值,單位由 MC_ProfileType 決定(馬達的增加能量) [單位/每秒2] 或 [每秒]。
E Deceleration LREAL 減速度值,單位由 MC_ProfileType 決定(馬達的減少能量) [單位/每秒2] 或 [每秒]。
E Jerk LREAL 加加速度值。單位由 MC_ProfileType 決定為 [單位/每秒3] 或 [每秒]。
E Direction MC_Direction 軸的移動方向,無法使用 mcShortestWay
E BufferMode MC_BufferMode 定義如何融合兩功能塊的速度。
VAR_OUTPUT
B InVelocity BOOL 已達到命令之速度。
E Busy BOOL 功能塊尚未完成且預期將有新的輸出值。
E Active BOOL 功能塊正在控制軸。
E CommandAborted BOOL 命令被另一個命令中止。
B Error BOOL 功能塊中出現錯誤的訊號。
E ErrorID MC_Error 錯誤識別。
  • 要停止運動,功能塊 (FB) 必須被另一個發出新命令的 FB 中斷。
  • 當功能塊被另一個功能塊中止時,訊號 InVelocity 必須重置。
  • 更多關於融合模式的運作方式之資訊請見:概念解說 > 融合運動

 

  MC_MoveVelocity  
AXIS_REF   AxisIn   Axis   AXIS_REF
BOOL   Execute   InVelocity   BOOL
BOOL   ContinuousUpdate   Busy   BOOL
LREAL   Distance   Active   BOOL
LREAL   Velocity   CommandAborted   BOOL
LREAL   Acceleration   Error   BOOL
LREAL   Deceleration   ErrorID   MC_Error
MC_Direction   Direction        
MC_BufferMode   BufferMode        
             

下圖兩個範例為兩個 MC_MoveVelocity 功能塊組合:

  1. 時序圖的左側部分說明了在 First 功能塊 (FB) 完成後呼叫 Second 功能塊 (FB) 的情況,若 First 到達命令速度 3000,則輸出 First.InVelocity 與信號 Next 會導致 Second FB 移動到速度 2000。下一個週期 First.InVelocity 為 FALSE 且 First.CommandAborted 為 TRUE,因此第二功能塊的 Execute 為 FALSE,而一旦軸到達速度 2000,Second.InVelocity 即為 TRUE。

  2. 時序圖的右側部分說明了 Second 移動功能塊 (FB) 在 First FB 尚未“InVelocity”時開始執行的情況,將顯示以下順序: GO 在輸入“First.Execute”處再次啟動 First 運動,當 First FB 仍在加速達到速度 3000 時,因 Test 訊號啟動了 Second FB 的 Run,First FB 將被中斷並中止,此時 Second FB 運行並將速度減至 2000。

注意:第二 FB 處於 "mcAborting" 模式(若在緩衝模式,速度將在開始下一個功能塊時達到 3000)。