Move

將手臂從目前位置到指定位置之間進行直線內插動作。

格式
Move 目標坐標 [ROT] [ECP] [CP] [Till | Find] [!平行處理!] [SYNC]

參數

目標坐標
以點數據指定目標位置。
ROT
以工具姿態變化為優先,決定動作速度和加減速度。可省略。
ECP
用於指定外部控制點的動作。可省略。(唯有使用ECP選項時方可啟用)
CP
指定路徑運動。可省略。
Till | Find
用於記述Till或Find運算式。可省略。

Till | Find
Till Sw(運算式) = {On | Off}
Find Sw(運算式) = {On | Off}
! 平行處理 !
可增加平行處理陳述式,以便在動作中可執行I/O等命令。可省略。
SYNC
用於預約動作命令。在以SyncRobots開始動作之前,機器人不進行動作。

說明
Move用於將手臂從目前位置直線移動至目標坐標。Move可讓所有關節同時開始動作、同時停止。執行Move命令前,應事先對目標坐標進行教導。以AccelS命令控制Move的加減速。以SpeedS命令控制Move的速度。若用SpeedS設定的值超過任何一個各關節容許速度,則關閉馬達勵磁,並停止機器人。

Move的速度和加減速度分別使用SpeedS和AccelS的設定值。關於速度和加減速度的關係,請參閱「注意」項目中的「連同CP使用Move」。但是,指定ROT修飾參數時的速度和加減速度分別使用SpeedR和AccelR的設定值。此時,SpeedS和AccelS的設定值即呈停用狀態。附加ROT修飾參數時,若姿態無變化且移動距離不是「0」,會發生錯誤。

機器人的工具中心點位置固定為特定坐標,僅改變工具姿態時,或者相對於工具中心點的移動距離,工具姿態變化較大時,工具姿態變化速度可能會明顯變快。為防止這種情形,工具姿態變化速度大時,自動限制動作速度的功能就會啟用。

想要手動設定CP動作時的工具姿態變化速度的上限值時,請啟用SpeedRLimitation。啟用SpeedRLimitation時,CP動作時的工具姿態變化速度超過設定的SpeedR時,工具姿態變化速度會變為SpeedR來限制動作速度。工具姿態變化速度超過設定的SpeedR時,以設定的SpeedS進行動作。工具姿態變化速度的上限值,請事先在SpeedR設定。

使用ECP時,工件會在與指定ECP編號因應的外部控制點上直線移動。此時的尖端關節中心不會沿著直線。

若要讓機器人在尚未完成Move動作前減速並停止,使用者可使用Till修飾詞指定該條件。在此指定的條件為,使用Sw命令檢查其中一項輸入位元。使用者檢查輸入為ON/OFF,並按照指定的條件停止手臂。此功能類似於輸入條件成立後便停止Move這樣的插斷。如果在Move動作期間輸入條件未成立,手臂就會到達以目標坐標指定的位置。

可省略Till修飾詞。關於Till修飾詞的詳細內容,請參閱Till命令。

注意


  • 無法用Move進行的動作

    無法在執行動作之前確認動作範圍。因此,即便目標坐標位置在容許動作範圍之內,當來到此處的軌道通過容許動作範圍之外時,手臂就會突然停止,對伺服施加衝擊,而有發生障礙的危險。為防止發生這種情況,在高速執行Move前,請先以低速確認動作範圍。也就是,即便目標坐標在手臂動作範圍之內,以Move動作來到此處的軌道位於手臂容許動作範圍之外時,便無法運作手臂。

  • 連同CP一起使用Move

    若使用CP參數,則在開始減速的同時,移至下一個陳述式控制動作命令。其便利之處在於,使用者可連接數個動作命令,以恆定的速度執行連續動作。在未指定CP的Move命令時,手臂一定會減速,並停於指定的目標坐標上。

  • 向Move指示適當的速度和加減速度

    請注意,SpeedS和AccelS命令雖用於指定Move動作中的機械手速度和加減速度,但SpeedS和AccelS屬於對直線以及曲線動作的命令。Speed和Accel命令適用於PTP動作。


常見錯誤

  • 欲執行直線移動距離為0的動作時

    Move若執行僅變更4自由度機器人(水平多關節型(包含RS系列)等)的U坐標值或6自由度機器人(垂直6軸型(包含N系列))的U、V、W坐標值的動作,則會發生錯誤。此時,請使用ROT參數。

  • 超過關節限制速度的錯誤

    在指示動作中,只要有1個關節超過容許速度,就會發生超速錯誤。發生馬達超速錯誤時手臂即停止動作,並關閉馬達勵磁。

  • RS系列執行了通過原點附近的動作時

    RS系列若用Move執行通過原點附近的動作,可能會發生超速錯誤。針對通過原點附近這樣的動作,請執行以下對策。

    • 請降低SpeedS的設定速度。
    • 請變更為不通過原點附近的路徑。
    • 請使用Go等PTP動作,以代替Move。

參照
AccelS, Arc, CP, Go, Jump, Jump3, Jump3CP, SpeedS, Sw, Till, SpeedR, SpeedRLimitation

Move範例
以下範例是讓手臂執行P0~P1的PTP動作,然後再以直線返回到P0的簡易範例。在程式下半段輸入位元2變為ON之前,手臂朝P2直線移動。若在動作中輸入位元2變成ON,即便手臂尚未到達P2,也會減速並停止,然後執行以下程式命令。

Function movetest
  Home
  Go P0
  Go P1
  Move P0
  Move P2 Till Sw(2) = On
  If Sw(2) = On Then
    Print "Input #2 came on during the move and"
    Print "the robot stopped prior to arriving on"
    Print "point P2."
  Else
    Print "The move to P2 completed successfully."
    Print "Input #2 never came on during the move."
  EndIf
Fend

以下是連同CP一起使用Move的範例。下圖所示為從P100開始的圓弧軌道。P100~P101為直線移動,從P101開始進行圓弧移動,通過P102向P103繼續繪製圓弧。P103~P104呈直線動作,在此期間減速並停止。請注意,在P104停止之前,不會在中途點減速。在以下函式中編寫這種動作的程式。

Function CornerArc
   Go P100
   Move P101 CP       '不在P101停止
   Arc P102, P103 CP  '不在P103停止
   Move P104          '在P104減速並停止
Fend