Robot 為自動化設備,但在自動化運轉之前,必須先告訴Robot 要自動完成哪些動作,透過「撰寫Robot 程序」可達到此目的。
Robot 程序主要由「動作指令」構成,只要熟悉手動操作Robot 的方式,將Robot 移動到欲記錄的位置,即可在「教點」的同時完成動作指令與Robot 程序。
本單元將介紹如何撰寫簡單的Robot 程序。
一、建立新程序(CREATE)
與許多計算機軟件一樣,首先需要「開新檔案」,建立一個新的Robot 程序。
按下進入Robot 程序選擇一覽表。
此時功能應顯示為CREATE,若不是,請按
切F1~F5的功能鍵至下一列,即可出現CREATE。
上圖畫面中,的右方有「>」符號,代表F1~F5 功能鍵有其他功能可
供換。按下CREATE 以建立一個新的Robot程序,此時顯示以下畫面等待輸入程序名稱:
程序名稱有以下限制:
1. 不可與其他已存在的程序名稱相同。
2. 由英文大寫字母、數字、_(底線)組成。
3. 共1~8 個字符。
4. 第1個字必須是英文字母。
5. 中間不可有空格。
請先將教示盤的開關切換到ON的位置,程序名稱輸入完成請按兩次,進入程序編輯畫面。
出現此畫面代表新程序建立完成。
二、點位教導(Teaching)
此時功能應顯示為POINT,若不是,請按
切換F1~F5 的功能鍵至下一列,即可出POINT。
切換到手動模式,將Robot 手動移動到需求的位置。按下POINT,將出現4 個選項。
雖然這些選項各有其不同意義,但目前請任意選其中一個,例如選。
即可記錄現在Robot 的位置,并同時撰寫一行動作指令。如上圖。接下來繼續手動移動Robot 到下一個位置,按下+
POINT,即可記錄第2 個位置,并撰寫第2行動作指令。
+
POINT 代表上述4 個選項中,沿用上次選擇的選項。如此重復進行每一個位置的點位教導,即可完成如下的程序。
此程序會使Robot 執行如下的動作,從Robot現在位置移動到第1 個記錄位置,然后移動到第2個記錄位置,再移動到第3 個記錄位置。
三、手動測試
我們可以在撰寫Robot 程序的過程中,隨時手動測試此程序。(不一定要整個程序完成后才測試)基于安全的考量,建議測試時將Robot 總速度Override 放慢,或切換到T1 慢速教導模式。測試時請先進行STEP 單段狀態測試,按下鍵可切換狀態:
接著把光標移到程序第一行,也就是行號「1」為反白。按下+
,即可進行單段測試,
也就是Robot 程序每次只執行一行。所謂的+
是指:
按著不放,
單擊放開,即開始執行程序動作,此時程序會進入「運轉中」的狀態。
程序執行完畢時,即使不放開,動作也會停止。
若程序未執行完成就放開,則動作暫停,程序進入PAUSED「暫停狀態」。
只單段執行完某行程序,也會進入「暫停狀態」。暫停狀態下,再次按下+
即可繼續執行程序,例如把未完成的該行程序動作做完,或者繼續下一行程序。程序全部執行完成后,就不再出現暫停狀態,而是呈現ABORTED「已終止狀態」。
STEP 單段狀態測試沒有問題的話,按鍵切換為連續狀態,重新測試此程序連續動作。
若連續測試也沒有問題,則可以將Robot 總速度Override 調整為自動生產時需要的速度,并切換到T2 全速教導模式,繼續測試。
四、動作指令之說明
接下來詳細說明所謂動作指令的意義。動作指令除了程序行號之外分為四個部分:
動作型式有下列三種:
·
J Joint 關節動作
·
·
L Linear 直線動作
·
·
C Circular 圓弧動作
·
關節動作J是指,藉由6個關節各自獨立轉動,6軸同時開始并同時停止動作,以到達目標位置的姿勢,因此其路徑通常不是直線。
直線動作L 是指,工具中心點TCP從起始位置到目標位置的路徑強制為直線,除了瞬間的加速度、減速度之外,基本上是等速運動。另一種情況也可以使用直線動作L,如下圖所示。
在此例中Robot 并未產生任何直線路徑,TCP 維持在原來位置,僅將Robot 末端工具繞著TCP 做旋轉。需要注意的是這種情況可使用不同的速度單位deg/sec(每秒多少度),來決定Robot 的等速旋轉角速度。稍后我們會再詳細介紹「速度」。
圓弧動作C是指,工具中心點TCP 從起始位置,中途繞到「經過位置」,到目標位置的路徑強制為圓弧。所以點位教導時要多教一個「經過位置」。除了切割用途之外,圓弧動作C 比較少用。
如需更詳細的資料,請參閱FANUC 原廠手冊,或洽詢發那科工程師。
P[1]指的是此Robot 程序中的第1 個教導位置,同樣的道理,第2 個教導位置就是P[2]、第3個教導位置就是P[3]。但是P[1]不一定要在第1 行程序裡,而且在不同行中,P[1]也可以重復出現,這樣可以移動到同樣的位置上。在一個動作指令中,只記錄了一個教導位置
(圓弧動作C 除外),這表示動作指令儲存的是「位置」而非「路徑」,例如:
1: J P[1] 100% FINE
這個動作指令,指的是從「現在位置」(或上個動作指令的結束位置)移動到P[1]。
所以 Robot 在不同的位置上執行這一行程序時,會顯現不同的動作路徑。
動作指令的第3部份是速度,當動作形式為J的時候,速度通常是以%來表示。100%代表最快的速度,若動作不需要太快,可將速度降為50%、20%、5%、1%等速度,可接受1~100 的整數%。
當動作形式為L或C 的時候,速度通常是以mm/sec(每秒多少公厘)來表示。最高速度各機種略有不同,但絕大部分機種至少可輸入2000 mm/sec之速度??梢佬枨筝斎? 以上的整數速度值。
動作指令的第4部份是連續性,基本上有「FINE 精確」、「CNT連續」兩種選項。FINE 指的是此動作指令會精確停頓在此教導位置上,相對地CNT 則會以連續動作為優先,不一定精確經過該點,如下圖所示。
此圖是顯示以下幾種不同情況的路徑:
L P[2] 500 mm/sec FINE
L P[2] 500 mm/sec CNT0
L P[2] 500 mm/sec CNT50
L P[2] 500 mm/sec CNT100
FINE 的路徑在P[2]會有明顯的停頓,且精確停留在P[2]的教導點位上。
CNT0 雖然與FINE 的路徑相同,但在P[2]不會停頓,繼續往P[3]移動。
CNT100 是最遠離P[2]的路徑,但動作的連續性最佳,
而CNT50 則是介于CNT0、CNT100 中間的路徑。
CNT 值可輸入0~100 的整數。
基本上像是夾取位置、加工位置、放置位置這種精確性高的點位,建議使用FINE。而路徑的經過位置、附近無干涉碰撞的疑慮時,則建議用CNT,以增加Robot 動作的平順度,同時循環周期時間(Cycle Time)也會略快一些。以下是幾個動作指令的范例與意義。
1: J P[1] 100% FINE
精確地以關節動作100%的速度
由現在位置移動到P[1]
2: L P[2] 500mm/sec CNT100
優先考慮100%
連續性以直線路徑500mm/sec
的速度由前一位置移動到P[2]
3: L P[3] 500mm/sec FINE
精確地以直線路徑500mm/sec 的速度
由前一位置移動到P[3]
另外動作指令的后面也可以追加「附加命令」,例如加速度的控制等。
五、動作指令的修改
動作指令的內容可以修改。若要變更數值,只要將光標移動到數值上,直接輸入數字,按
下即可。
例如將J P[1] 100% FINE 的速度100%變更為50%,只要把光標移動到數值100 處,按下,
,即可變更。同樣的方式也可以修改P[ ]的位置號碼、CNT 值等。
此外文字內容也可以修改,只要將光標移動到文字上,按[CHOICE]選擇即可。
例如將J P[1] 100% FINE 的動作型式的J并更為L,只要將光標移動到J 處……
并選擇第2 個選項Linear,即可變更。同樣的方式也可以修改速度單位、連續性等。
前面「點位教導」的部分提到,POINT有4 個默認選項。
此時按下ED_DEF 則可修改此預設選項的形式,修改完成后再按
DONE,即可完成。
六、點位修正(TOUCHUP)
已經完成的動作指令如需要修改點位,可依以下方式進行。
先將光標移動到欲修正點位的行號上,接著將Robot 手動移動到新位置,按下
+
TOUCHUP 即可。若不是顯
示TOUCHUP,請按切
換F1~F5 的功能鍵至下一列。
如上圖,當P[1]前面出現「@」的符號時,表示現在Robot 的位置與P[1]相同。(或者非常接近P[1])
七、加入批注
前述的點位教導均是以「自動編號」方式表示不同的位置,當程序中有許多點位時,將難以理解該位置的意義,此時可將位置加入批注。
將光標移動到位置編號上,按,此時可輸入批注內容。
<span style="font-family: 'Microsoft YaHei UI';color: rgb(62, 62, 6
互動留言
WRITE A MESSAGE TO US


版權所有:長沙鵬聚機器人有限公司 網站備案號:湘ICP備2023005493號-1