使用java实现类似nc的功能_在FANUC机器人中使用后台运行逻辑实现PLC功能
后臺邏輯概念
PLC是工業自動化領域常用的一種邏輯控制產品,以其性能穩定、兼容性好、可擴展性強、體積小、性價比高而被廣泛應用。在機器人產品中,為了降低系統集成的難度,很多機器人產品自身也會在控制系統中嵌入一款小型的PLC系統,FANUC機器人也不例外,只是在機器人中它不在被稱為PLC,而是被稱為后臺邏輯功能。
顧名思義,后臺邏輯就是機器人前臺運動程序運行過程中,同時后臺也在運行的一種用于處理信號邏輯關系的控制程序,二者在運行關系上相互獨立。后臺邏輯程序可以監視前臺的運行狀態,同時也可以向前臺發送控制信號。當然后臺邏輯也可以通過I/O通信,與外部設備連接對機器人周邊設備進行運行監視與控制。
后臺邏輯功能特點
FANUC機器人后臺邏輯功能具有以下特點:
- 使用后臺邏輯時,可以在后臺執行只包含對應后臺邏輯指令的TP程序,程序從頭至尾周而復始的循環掃描,這一點與PLC的運行模式一致的。
- 后臺邏輯執行過程中不受急停、暫停、報警的影響。
- 可同時執行8個TP程序作為后臺邏輯,優先運行模式下,程序數目超過最大值時,程序停止執行,并發出錯誤報警。
- 在后臺邏輯程序執行期間,不能編輯該程序,不能作為通常的任務來執行。尚未開啟后臺運行的程序,可以將該程序作為通常的任務來執行。
- 在后臺執行程序時,不能通過改寫相同名稱的程序來加載。
- 電源切斷后,在下次通電時,后臺邏輯程序將以相同的執行模式被自動執行。
后臺邏輯運行模式與掃描時間
FANUC機器人后臺邏輯功能具有兩種運行模式:通常運行模式與優先運行模式。
通常運行模式下,可以在后臺邏輯程序中執行所有復合運算指令。對每一個ITP(機器人掃描周期,通常為8ms),可掃描600個程序數據或者邏輯運算符。數目超過600時,掃描時間延長。比如,一個具有1600個操作邏輯,處理時間大約需要24ms。但是,如果優先運行模式的程序已經在后臺執行時,每個ITP中執行的邏輯操作數量是:600 -優先運行模式的邏輯操作數的合計。
優先運行模式下,可以在后臺執行所有復合運算指令。在優先運行模式下,可以保證每個機器人ITP內后臺邏輯程序都可以被執行一次。優先模式下的最大邏輯操作數為540個。對需要高周期執行的指令,其將分割為若干個通常模式的后臺邏輯,然后在優先運行模式下執行。
后臺邏輯程序可運行指令
機器人后臺邏輯程序對指令與數據有一定的要求,與普通的TP程序不同,其不能控制任何運動軸。因此在編程時不能含有任何機器人軸運動指令,比如Joint、Linear、Circular等指令。后臺邏輯程序中可運行的指令與數據如下表所示。
后臺邏輯程序在使用這些指令與數據時,應注意以下幾點要求:
- 不能將數據M[]指定為后臺邏輯賦值語句等號左邊部分。
- 程序中包含有可運行的指令以外的指令時,在執行時會發生錯誤報警。
- 在后臺邏輯程序中不能使用脈沖指令,這點和PLC指令有所不同。
- 后臺邏輯,可以執行具有條件表達式的賦值語句,條件表達式為OFF的情況下,賦值語句不予執行。如指令IF(DI[1]),DO[1]=(DI[2]),程序被執行時,當Dl[l]為ON時,DI[2]被賦值給DO[1];當DI[1]為OFF時,DO[1]不會改變。
- 使用JMP、 LBL指令時,請指定比JMP指令更后面行的LBL,指定前面行的LBL時,程序執行時系統會發生錯誤報警。
- 執行包含JMP指令的程序時,由于程序具有分支,因此掃描時間會有變動。
- 編寫的條件表達式務必要用括弧圈起來,沒有用括弧圈起來的將不被執行。例如普通TP程序中的條件表達式IF DI[1] =ON,JMP LBL[I],在后臺邏輯程序中要修改為IF (DI[1]=ON,JMP LBL[1],才能被執行。
- 對于在后臺邏輯程序中使用RUN指令執行的程序,要求其暫停時,該程序不會暫停而結束。
- 后臺邏輯中執行了用戶報警指令時,后臺邏輯的程序不會停止。
后臺邏輯實現方法
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信號的機器人行走軸添加與配置
總結
以上是生活随笔為你收集整理的使用java实现类似nc的功能_在FANUC机器人中使用后台运行逻辑实现PLC功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: h5 先加载小图_【3dmax】小图渲大
- 下一篇: ddr4 lpddr4区别_iFixit