FANUC機器人:後臺運行邏輯功能介紹與使用方法

本文已經首發在個人微信公衆號:工業機器人仿真與編程(微信號:IndRobSim),歡迎關注!

後臺邏輯概念

PLC是工業自動化領域常用的一種邏輯控制產品,以其性能穩定、兼容性好、可擴展性強、體積小、性價比高而被廣泛應用。在機器人產品中,爲了降低系統集成的難度,很多機器人產品自身也會在控制系統中嵌入一款小型的PLC系統,FANUC機器人也不例外,只是在機器人中它不在被稱爲PLC,而是被稱爲後臺邏輯功能。

顧名思義,後臺邏輯就是機器人前臺運動程序運行過程中,同時後臺也在運行的一種用於處理信號邏輯關係的控制程序,二者在運行關係上相互獨立。後臺邏輯程序可以監視前臺的運行狀態,同時也可以向前臺發送控制信號。當然後臺邏輯也可以通過I/O通信,與外部設備連接對機器人周邊設備進行運行監視與控制。

後臺邏輯功能特點

FANUC機器人後臺邏輯功能具有以下特點:

  1. 使用後臺邏輯時,可以在後臺執行只包含對應後臺邏輯指令的TP程序,程序從頭至尾週而復始的循環掃描,這一點與PLC的運行模式一致的。
  2. 後臺邏輯執行過程中不受急停、暫停、報警的影響。
  3. 可同時執行8個TP程序作爲後臺邏輯,優先運行模式下,程序數目超過最大值時,程序停止執行,併發出錯誤報警。
  4. 在後臺邏輯程序執行期間,不能編輯該程序,不能作爲通常的任務來執行。尚未開啓後臺運行的程序,可以將該程序作爲通常的任務來執行。
  5. 在後臺執行程序時,不能通過改寫相同名稱的程序來加載。
  6. 電源切斷後,在下次通電時,後臺邏輯程序將以相同的執行模式被自動執行。

後臺邏輯運行模式與掃描時間

FANUC機器人後臺邏輯功能具有兩種運行模式:通常運行模式與優先運行模式。

通常運行模式下,可以在後臺邏輯程序中執行所有複合運算指令。對每一個ITP(機器人掃描週期,通常爲8ms),可掃描600個程序數據或者邏輯運算符。數目超過600時,掃描時間延長。比如,一個具有1600個操作邏輯,處理時間大約需要24ms。但是,如果優先運行模式的程序已經在後臺執行時,每個ITP中執行的邏輯操作數量是:600 -優先運行模式的邏輯操作數的合計。

優先運行模式下,可以在後臺執行所有複合運算指令。在優先運行模式下,可以保證每個機器人ITP內後臺邏輯程序都可以被執行一次。優先模式下的最大邏輯操作數爲540個。對需要高週期執行的指令,其將分割爲若干個通常模式的後臺邏輯,然後在優先運行模式下執行。

後臺邏輯運行模式對比

模式

最大數目

掃描時間

通常運行模式

無限制

(通常運行模式的邏輯操作數目/(600-優先運行模式的邏輯操作數目))×ITP,ITP通常爲8ms。

優先運行模式

540

8ms

後臺邏輯程序可運行指令

機器人後臺邏輯程序對指令與數據有一定的要求,與普通的TP程序不同,其不能控制任何運動軸。因此在編程時不能含有任何機器人軸運動指令,比如Joint、Linear、Circular等指令。後臺邏輯程序中可運行的指令與數據如下表所示。

後臺邏輯程序可運行指令與數據

可運行指令

賦值指令,條件表達式JMP LBL[]、LBL[]、Run、SELECT、UALM[]

可使用數據

F[]、M[]、DI[]、DO[]、AI[]、AO[]、GI[].GO[]、SI[]、SO[]、UI[]、UO[]、RI[]、RO[]、WI[]、WO[]、ON、OFF、R[]、PR[i.j]、AR[]、常數、參數、計時器、計時器超時

可使用運算符

(、)、!、AND、OR.、=、<>、<、<=、>、>=、+、-、*、/、DIV、MOD

後臺邏輯程序在使用這些指令與數據時,應注意以下幾點要求:

  1. 不能將數據M[]指定爲後臺邏輯賦值語句等號左邊部分。
  2. 程序中包含有可運行的指令以外的指令時,在執行時會發生錯誤報警。
  3. 在後臺邏輯程序中不能使用脈衝指令,這點和PLC指令有所不同。
  4. 後臺邏輯,可以執行具有條件表達式的賦值語句,條件表達式爲OFF的情況下,賦值語句不予執行。如指令IF(DI[1]),DO[1]=(DI[2]),程序被執行時,當Dl[l]爲ON時,DI[2]被賦值給DO[1];當DI[1]爲OFF時,DO[1]不會改變。
  5. 使用JMP、 LBL指令時,請指定比JMP指令更後面行的LBL,指定前面行的LBL時,程序執行時系統會發生錯誤報警。
  6. 執行包含JMP指令的程序時,由於程序具有分支,因此掃描時間會有變動。
  7. 編寫的條件表達式務必要用括弧圈起來,沒有用括弧圈起來的將不被執行。例如普通TP程序中的條件表達式IF DI[1] =ON,JMP LBL[I],在後臺邏輯程序中要修改爲IF (DI[1]=ON,JMP LBL[1],才能被執行。
  8. 對於在後臺邏輯程序中使用RUN指令執行的程序,要求其暫停時,該程序不會暫停而結束。
  9. 後臺邏輯中執行了用戶報警指令時,後臺邏輯的程序不會停止。

後臺邏輯實現方法

FANUC機器人後臺邏輯功能的實現還是比較簡單的,首先創建一個TP程序,名稱可隨意命名,如這裏使用EXIO1。然後在程序詳細信息中,將程序的組掩碼全部設置爲“*”,即在後臺邏輯程序中將機器人運動軸(運動指令)全部屏蔽,只保留邏輯控制功能,這是使用後臺邏輯的基本條件。

在創建的TP程序中添加需要的後臺運行指令,如下圖所示的指令。指令含義:如果後臺掃描到信號DO[1]爲ON,那麼數值寄存器R[1]執行累加1;當DO[1]爲OFF程序停止執行。如果掃描到DO[1]爲ON時,那麼數值寄存器R[1]被重置爲0。

後臺程序編寫完成後,示教器的操作面板中按“MENU”按鈕,然後依此選擇“6 設置”→“1 後臺邏輯”。

在打開的後臺邏輯界面中,程序列下使用“[選擇]”鍵選擇需要後臺運行的TP程序,如EXIO1。然後按“[運行]”鍵,將後臺運行程序激活運行。

示教器界面中依次打開I/O數字輸出窗口與數值寄存器窗口,在I/O數字輸出窗口中使用“ON”、“OFF”鍵分別置位與復位數字量輸出信號DO[1]、DO[2],可以看到數字寄存器R[1]進行累加1操作、停止累加操作、被重置爲0。

返回後臺邏輯界面,重新將後臺運行程序EXIO1置爲停止狀態。再次切換到I/O數字輸出窗口與數值寄存器窗口,重複上述步驟,可以發現,數值寄存器R[1]不在發生變化。

綜上,可以看出,機器人後臺運行邏輯功能非常類似於獨立運行在機器人外部設備中的PLC,只要機器人處於開機狀態,運行狀態中的後臺邏輯程序就會自動循環運行,來完成一些簡單的信號監視與控制之類的邏輯功能。

The End


上一篇:Roboguide軟件:通過機器人I/O信號控制變位機仿真運行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章