賈得山,劉云,梁小娟
(寧夏民族職業技術學院,寧夏吳忠,751100)
隨著我國勞動力成本快速上漲,企業進行經濟結構調整、產業優化升級的愿望更加迫切。因此,各個行業都在進行“機器換人”,一些具有重復性、高強度的低端工作崗位正逐步被機器人取代,越來越多的工廠利用自動化控制系統獲得了更低的成本和更高的效率。在傳統制造企業中,工件的碼垛大多數是通過人工完成,人工操作存在的問題主要是員工勞動強度高、效率低、存在安全風險,阻礙企業的進一步發展。為了解決以上問題,通過對西門子PLC和ABB 機器人的學習,設計了一條以西門子PLC控制器為主,ABB機器人為輔的自動碼垛生產線控制系統,以達到更好的生產管理,降低生產成本,提升企業競爭力[1]。
自動碼垛生產線控制系統包含供料單元、同步輸送帶、變頻器、三相異步電動機、碼垛工作臺等組成。通過PLC程序控制落料機構進行工件毛坯供料,待供料工件推出后,PLC通過變頻器驅動同步輸送帶,待到工件移動至輸送帶末端。輸送帶末端傳感器檢測到工件以后,機器人運行至工件上方,將工件進行碼垛。系統利用PLC進行邏輯控制,完成對同步輸送帶、光電傳感器、電磁閥、機器人、人機界面等各種外圍設備的通信控制工作。人機界面采用威綸通觸摸屏實現生產管理、狀態管理和維護管理等工作[2]。整個系統以PLC為核心,通過工業以太網來實現PLC與機器人以及其他設備的信號交互。通過相互建立通信,使得機器人可以接收工件信息,同時結合傳感器的信號,自動完成工件的碼垛工作,并實時將工作相關信息反饋給PLC[3]。控制系統結構圖如圖1 所示。

圖1 控制系統結構圖
自動碼垛生產線系統的運行流程為:系統啟動后,控制系統控制供料單元進行12 個工件的供料、推料工作,待工件輸送至輸送帶末端,末端傳感器檢測到工件后,機器人依次到達預定位置抓取工件進行縱橫交錯式碼垛。碼垛完成后機器人回到預定位置,繼續等待啟動信號進行下一次碼垛[4]。
本系統中,機器人及安全防護門、工作站檢測/執行信號等,均由控制柜內可編程序控制器對系統進行集成控制。根據系統設計要求,整個系統有16 點數字輸入和21 點數字輸出共有37 點數字I/O 量。經查閱各主流小型PLC硬件手冊和編程軟件可知,西門子S7-200smart 系列PLC與其他同類型PLC相比點數更多、擴展性更強、運算速度更快、自帶以太網接口、內部集成功能更好,故本系統選用西門子6ES7-288-1ST60-0AA0 S7-200smart CPUST60(DC/DC/DC)作為主控制器,CPU 上的串口用于與觸摸屏通信,同時RS-485/RS-232 背板的RS-485 端口連接485-232 轉換器,與機器人的RS-232 通信接口傳遞數據。PLC輸入信號I2.6~I3.7 對應機器人輸出信號DO1~DO10,PLC輸出信號Q2.6~Q8.7 對應機器人輸入信號DI1~DI10。
系統中工業機器人選用額定負載3kg、小型六自由度的ABBIRB120 型工業機器人。它由機器人本體、控制器、示教器和連接電纜組成。根據系統控制要求對機器人I/O 信號System In-put、System Output 進行配置。首先進入示教器“控制面板”,選擇“配置”中的 “System Input”,對所需要的系統控制信號Motors On、Start、StartMain、ResetEStop、Stop 進行關聯,等系統輸入和系統輸出全部都關聯好后重啟控制器。
在本系統中,PLC要控制系統進行自動供料和工件的輸送。系統啟動后,驅動頂料信號、驅動推料信號、輸送帶驅動變頻器先進行復位,復位完成后料筒工件檢測傳感器檢測工件。當檢測到料筒中有工件時,置位驅動頂料信號,系統檢測到頂料閥到位后,置位驅動推料信號,系統檢測到推料閥推出工件后,置位輸送帶驅動變頻器信號,輸送帶啟動進行工件的輸送。延時0.3s 后,復位驅動推料信號,檢測到推料閥復位后,再復位驅動頂料信號,檢測到頂料閥復位后,系統完成一個工件的供料。輸送帶末端傳感器檢測到工件以后,復位輸送帶驅動變頻器信號,輸送帶停止,等待下一個工件的輸送。
在系統供料、工件輸送和機器人吸盤控制程序的設計過程中,為了讓程序邏輯更加嚴密,添加了一個狀態數據IndexFeed 進行順序控制,該數據為num 型數據。當IndexFeed 為0 時,復位頂料閥控制信號、推料閥控制信號、驅動變頻器信號和供料完成信號;當IndexFeed為1 時,復位供料完成信號,傳感器檢測到料筒中有工件時,觸發定時器tFeed01 延時1s,延時時間到后將2 賦值給IndexFeed,狀態數據IndexFeed 接收到2 之后控制頂料閥頂料,頂料閥到位后將3 賦值給IndexFeed,狀態數據IndexFeed 接收到3 之后,觸發定時器tFeed02 延時0.3s,延時時間到后控制推料閥推料,推料閥到位后將驅動變頻器信號置位為1,控制輸送帶運行,同時將4 賦值給IndexFeed,狀態數據IndexFeed 接收到4 之后,觸發定時器tFeed03 延時0.3s,延時時間到后將5 賦值給IndexFeed,狀態數據IndexFeed 接收到5 之后復位推料閥控制信號,同時觸發定時器tFeed04 延時0.8s,延時時間到后將6 賦值給IndexFeed,狀態數據IndexFeed 接收到6 之后復位頂料閥控制信號,同時觸發定時器tFeed05延時0.5s,輸送帶末端料臺傳感器檢測到工件之后,將7賦值給IndexFeed,狀態數據IndexFeed 接收到7 之后觸發定時器tFeed06 延時1s,延時時間到后復位驅動變頻器控制信號,輸送帶停止運行,此時完成一次供料,同時將8 賦值給IndexFeed;狀態數據IndexFeed 接收到8之后,當輸送帶末端料臺傳感器檢測到工件,將1 賦值給IndexFeed,依次循環運行,實現自動供料。機器人末端吸盤用一個數字量輸出信號DO_06 控制電磁閥W5_YA01 線圈通電,實現對吸盤的控制。圖2 為系統供料PLC程序,圖3 為機器人末端吸盤控制PLC程序。

圖2 系統供料PLC程序

圖3 機器人末端吸盤控制PLC程序
工業機器人常見的程序編程方法有示教編程方法和離線編程方法。示教編程方法是由操作人員引導,控制機器人運動,記錄機器人作業的程序點,并插入所需的機器人命令來完成程序的編寫。離線編程方法是操作人員不對實際作業的機器人直接進行示教,而是在離線編程系統中進行編程或在模擬環境中進行仿真,生成示教數據,通過計算機間接對機器人進行示教。示教編程方法包括示教、編輯和軌跡再現,可以通過示教器示教再現,由于示教方式使用性強,操作簡便,因此大部分機器人都常用這種方法。
根據任務要求,工業機器人需要依次從輸送帶末端指定位置抓取12 個工件進行縱橫交錯式碼垛,每層2 個工件,共計6 層。主要分為主程序、系統復位程序、取料程序、碼垛程序。對系統工作流程分析發現,自動化碼垛系統主要由PLC控制供料機構進行供料后由變頻驅動同步輸送帶傳送工件至輸送帶末端。機器人由輸送帶末端把工件整齊碼放至托盤上。
根據機器人運動軌跡編寫機器人程序時,首先根據控制流程編寫機器人主程序和子程序。編寫子程序前要先設計機器人運行軌跡及定義機器人示教點。根據機器人的運動軌跡,定義Get 點為輸送帶末端工件抓取點,定義Place1 點為縱向第一個工件放置點,定義Place2 點為橫向第一個工件放置點。程序采用子程序調用形式,主程序主要完成各示教點的賦值和子程序的調用,由于工作過程需要抓取工件和放置工件的兩個動作循環12 次,因此采用FOR 循環指令優化程序。每個工件在固定的輸送帶末端抓取,依次進行縱橫交錯式碼垛,碼垛過程中,每層放置兩個工件,為了減少示教點數量,提高機器人運行精度,運用offs 偏移功能對每個工件的放置位置進行自動計算,進而提高機器人運行精度,所以在碼垛過程中只需示教兩個放置點Place1 和Place2。每一層工件的放置方向相對于之前一層需進行90度旋轉,為了準確識別不同的層數,采用IF 條件判斷指令,結合DIV 和MOD 運算符,對不同的層數進行識別,進而控制機器人將工件按要求進行碼垛。
編程如下。
PROC main()
fw;//系統復位
FOR i FROM 0 TO 11 DO//循環12 次
MoveJ Offs(Get,0,0,50),v200,fine,tool0;
//到達工件抓取上方點
MoveL Get,v200,fine,tool0;//到達工件抓取點
SET DO_06;//打開吸盤
WaitTime 0.3;//等待0.3s,確保工件抓取可靠MoveL Offs(Get,0,0,50),v200,Z20,tool0;
//到達工件抓取上方點
X:=0;//清空X 方向的偏移數據
Y:=0;//清空Y 方向的偏移數據
Z:=0;//清空Z 方向的偏移數據
IF ((i DIV 2) MOD 2)=0 THEN//判斷是否為縱向
X:=i MOD 2*30;//縱向碼垛的X 方向偏移量計算
Z:=i DIV 2*10;//縱向碼垛的Z 方向偏移量計算
MoveJ Offs(Place1,X,0,Z+50),v200,fine,tool0;
//到達縱向碼垛的工件放置上方點
MoveL Offs(Place1,X,0,Z+2),v100,fine,tool0;
//到達縱向碼垛的工件放置點
RESET D652_DO_06;//關閉吸盤
WaitTime 0.5;//等待0.5s,確保工件可靠放置
MoveL Offs(Place1,X,0,Z+50),v200,fine,tool0;
//到達縱向碼垛的工件放置上方點
ELSEIF ((i DIV 2) MOD 2)=1 THEN//判斷是否為橫向
Y:=(i-2) MOD 2*30;//橫向碼垛的Y 方向偏移量計算
Z:=(i-2) DIV 2*10;//橫向碼垛的Z 方向偏移量計算
MoveJ Offs(Place2,0,Y,Z+50),v200,fine,tool0;
//到達橫向碼垛的工件放置上方點
MoveL Offs(Place2,0,Y,Z+2),v100,fine,tool0;
//到達橫向碼垛的工件放置點
RESET DO_06;//關閉吸盤
WaitTime 0.5;//等待0.5s,確保工件可靠放置
MoveL Offs(Place2,0,Y,Z+50),v200,fine,tool0;
//到達橫向碼垛的工件放置上方點
ENDIF
ENDFOR//結束循環
MoveAbsJ rPos_ReadyNoEOffs,v200,fine, tool0;
//機器人復位
ENDPROC
文中設計的自動碼垛生產線控制系統采用RobotStudio軟件進行虛擬工作站仿真驗證。從碼垛工作站的搭建,到 I/O 信號的設置以及Smart 組件的設計,包括動作類子組件如Source、Attacher 及Detacher,對象的隊列組件Queue,本體子組件LinearMover,傳感器組件Planesensor 等;然后根據工件碼垛要求編制程序;最后進行虛擬仿真,仿真界面如圖4 所示。最終仿真結果驗證了文中所設計自動碼垛生產線控制系統的正確性[5]。

圖4 RobotStudio 仿真界面
自動生產線機械部件固定在模型實驗平臺的合適位置,要求固定牢靠穩定,安裝電動機和輸送帶連接部分時需調同軸度。工業機器人夾具采用真空吸盤夾具對物料進行吸取,首先將與機器人的連接法蘭安裝至機器人六軸法蘭盤上,然后再把吸盤夾具安裝至連接法蘭上,吸盤手爪、真空發生器、電磁閥之間用合適的氣管連接好,并用扎帶固定。設備安裝示意圖如圖5 所示。

圖5 設備安裝示意圖
通過硬件安裝和接線,將所設計的系統控制程序下載到PLC中,同時在機器人示教器中編寫碼垛控制程序,經過實際調試驗證發現,所設計的自動碼垛生產線控制系統能夠按照系統設計要求完成工件輸送和自動碼垛。
自動碼垛生產線控制系統源于企業典型的生產案例,通過設計主站PLC程序、機器人程序等,能夠高效率、高質量完成工件輸送和自動碼垛,控制系統結構嚴謹、可靠性高、適應性強,為同類控制系統的設計提供了技術借鑒和推廣依據。