!...! 平行處理

在動作中平行執行I/O等輸入輸出處理。

格式
動作命令 !平行處理陳述式!

參數

動作命令
描述以下任一個可進行平行處理的命令。
Arc、Arc3、Go、Jump、Jump3、Jump3CP、Move、BGo、BMove、TGo、TMove
平行處理陳述式
描述在動作中可進行平行處理的I/O陳述式。(參照下表)

說明
在開始動作的同時,開始執行被夾在「!」標記中的陳述式。例如,I/O無須在機器人停止運作前等待執行,而可在手臂動作時執行。備有手臂動作時對I/O催促執行的陳述式。(參照下表「Dn」)

下表匯總所有可使用的平行處理陳述式。表中的陳述式皆可單獨使用。此外,還可組合多項,在1個動作命令中執行多項I/O陳述式。

Dn

用於執行下一個平行處理陳述式前指定移動量的%值並與動作命令取得同步。「n」是以0~100的整數指定的%值,用於指定開始位置(從該動作的哪個位置開始執行平行處理陳述式)。也就是說,當動作達到所有移動量的n%時,執行Dn以後的陳述式。

與Jump命令組合使用時,移動量的%值中不包含第3關節(上下軸)的垂直移動動作。進行Jump動作時,只對非第3關節(上下軸)的平行移動動作取得同步。完成第3關節垂直移動動作之後,請在陳述式的開頭加入D0(零),以執行陳述式。

與Jump3命令組合使用時,移動量的%值中不包含閃避/接近動作。執行Jump3動作時,只對Span動作取得同步。請在陳述式的開頭輸入D0(零),以便在完成閃避動作時執行陳述式。

在1次平行處理陳述式中,最多可使用16次「Dn」。

On / Off n 用於開啟或關閉輸出位元編號「n」。
MemOn / MemOff n 用於開啟或關閉記憶體I/O位元編號「n」。

Out p,d

OpBCD p,q

OutW p,d

用於向輸出連接埠「p」輸出資料「d」。

MemOut p, d

MemOutW p,d

用於向記憶體I/O連接埠「p」輸出資料「d」。
Signal s 用於發出同步信號。
WaitSig s 用於在等待信號「s」後處理下一個陳述式。
Wait t 用於等待「t」秒鐘後,執行下一個平行處理陳述式。
Wait Sw(n) = j 用於等待執行下一個平行處理陳述式,直到輸入位元「n」與以「j」定義的條件(On或Off)一致。
Wait MemSw(n) = j 用於等待執行下一個平行處理陳述式,直到記憶體I/O位元「n」與以「j」定義的條件(On或Off)一致。
Wait 其它條件 也可執行上述2種以外的Wait。詳細內容請參閱Wait。
Print 用於向顯示裝置輸出資料。
Print# 用於向指定的通訊連接埠輸出資料。
外部函式 執行Declare陳述式所宣告的外部函式。

Hand_On n

Hand_Off n

執行末端夾具編號“n”的Hand_On/Hand_Off動作。

注意


  • 在結束所有I/O命令之前動作就結束時

    即便完成針對特定命令的動作,但未結束所有平行處理的陳述式時,則在全部完成後執行下一個程式。尤其在必須對多個I/O命令進行平行處理的短距離移動動作時就預測到這種情況。

  • 依據停止手臂的Till陳述式,在中途結束動作時

    倘若在移動中途使用停止手臂的Till陳述式,即視為已100%完成動作,並執行到D100。在完成執行所有平行處理陳述式之前,不會移到動作命令的下一個陳述式。

  • 依據AbortMotion陳述式或Trap,在中途結束動作時

    不執行結束動作以後的D陳述式。

  • 設定為接近100% 的「n」值時的路徑運動的減速

    已在路徑運動中設定較高的「n」值時,機器人有可能減速,以便完成執行中的動作。CP On通常用於在開始減速的同時開始下一個動作命令的加速。然而,減速中若有指定Dn,則在尚未結束該命令前,無法開始下一個加速。為了避免減速,將處理陳述式留在動作命令之後。以下列為例,將On 1陳述式位置從Jump P1動作中的平行處理移到Jump P1之後。

    CP On
    Jump P1 !D96; On 1!
    Go P2
    
    CP On
    Jump P1
    On 1
    Go P2
    
  • Jump陳述式和平行處理

    在結束上升移動後,開始執行連同Jump陳述式一起使用的平行處理陳述式,在開始下降移動之前結束。

    在結束閃避移動後,開始執行連同Jump3陳述式一起使用的平行處理陳述式,在開始接近移動之前結束。

  • Here陳述式和平行處理

    1個動作命令中不可同時存在Here陳述式和平行處理。

    Go Here :Z(0) ! D10; MemOn 1 !
    

    不接受上述用法。

    P999 = Here
    Go P999 Here :Z(0) ! D10; MemOn 1 !
    

    請變更為上述程式。


參照
Arc、Arc3、Go、Jump、Jump3、Jump3CP、Move、BGo、BMove、TGo、TMove

!...! 平行處理範例
如下所述是連同動作命令一起使用平行處理功能的範例。

連同Jump命令一起使用平行處理。在第3關節結束上升移動,第1、2、4關節開始動作的階段,開啟輸出位元1。在完成50%Jump動作的階段,再度關閉輸出位元1。

Function test
   Jump P1 !D0; On 1; D50; Off 1!
Fend

連同Move命令一起使用平行處理。在已完成10%移至P1的階段,開啟輸出位元5,0.5秒過後關閉輸出位元5。

Function test2
   Move P1 !D10; On 5; Wait 0.5; Off 5!
Fend