!...! 平行處理
在動作中平行執行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# | 用於向指定的通訊連接埠輸出資料。 |
外部函式 | 執行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