蘇磊,田騰飛
(寶雞機床集團有限公司,陜西 寶雞721000)
隨著生產制造企業人力成本的增加,用戶對自動線的需求越來越迫切。料倉作為自動線的重要組成部分,在自動線中的應用非常廣泛,為了滿足自動生產線對毛坯、成品的倉儲和物流需求,本文介紹了一種基于SIEMENS 840Dsl數控系統自動生產線智能料倉的設計。該智能料倉在生產線中能夠實現工件自動傳輸、存儲的功能,能夠配合外部機械手等自動化設備實現工件的自動流轉加工。利用SIEMENS 840Dsl數控系統的多通道擴展功能進行伺服控制,從而降低了智能料倉的生產成本,達到了對智能料倉集成控制的目的。
毛坯料倉由料盤、料倉機械手、移動平臺3部分組成,如圖1所示。

圖1 智能料倉結構設計圖
1.1.1 料盤
每個料盤有6個工位,碼垛高度按6層設計。料盤底部設計有錐型定位裝置,以保證料盤碼垛位置的精確性。
1.1.2 料倉機械手
由伺服電動機控制,能夠上下(Z向)、左右(X向)進行移動,系統能夠對手爪的夾緊、松開狀態進行檢測,實現對單個料盤的搬運功能。
1.1.3 移動平臺
由伺服電動機控制,能夠實現水平方向移動。桁架機械手從碼垛好的料垛上抓取一個料盤,放在移動平臺后,再由移動平臺水平移動至外部機器人取料位置。
毛坯料倉邏輯控制流程:料倉機械手抓取毛坯料盤至移動平臺→移動平臺平移毛坯料盤到外部機器人取料位置→等待外部機器人取料完成→移動平臺平移空料盤至料倉卸料點→料倉機械手抓取空料盤放到空料盤位。
成品料倉的結構和毛坯料倉完全一樣,只是在移動平臺和桁架機械手的控制邏輯上有所不同,只做簡單介紹如下:料倉機械手抓取空料盤至移動平臺→移動平臺平移至外部機器人抓取位置→等待外部機器人放滿成品→移動平臺平移至料倉卸料點→料倉機械手抓取成品料盤放至成品位。
主控系統采用SIEMENS 840Dsl;伺服電動機采用帶有絕對值編碼器的SIEMENS 1FK7系列電動機;PLC采用840Dsl內置的SIMATIC S7-300PLC[1];方案配置如圖2所示。智能料倉的機械手由氣缸驅動,氣缸自帶磁性檢測傳感器與光電對射傳感器。
2.2.1 系統的組態連接
首先完成整個自動線NC 控制(包括HT8手持控制單元)的連接,如圖3所示[3]。
2.2.2 通道分配
在具有多通道功能的840Dsl數控系統中,為提高自動線智能料倉的工作效率,需要將毛坯料倉、成品料倉的伺服控制分配到不同的通道中,使兩個料倉的控制相互獨立。預先完成控制系統中伺服軸的定義、通道分配等功能,從而完成智能料倉運動及機械手控制畫面的制作,如圖4所示。該畫面可以手動控制料倉機械手、移動平臺的運動和手爪的動作。

圖2 料倉的硬件控制方案配置圖

圖3 SIEMENS 840Dsl中HT8的連接

圖4 智能料倉運動及機械手控制
2.2.3 HMI PRO的設計開發
首先定義NC程序中的變量,完成智能料倉料位狀態設置及顯示畫面的制作,如圖5所示。如果初次人工放置工件,需手動設置料倉狀態,包括料位層數、物料狀態,相當于料倉狀態的錄入,確保其實際狀態與設置相一致;智能料倉在運行中隨著托盤中物料的運動,會實時顯示相對應的料倉狀態。
NC程序變量定義如下:

智能料倉運行程序存儲在NC系統的編譯循環中,程序始終處于運行掃描中,其運行程序主要包括:


圖5 智能料倉料位狀態設置及顯示

在西門子840Dsl通道2中運行毛坯料倉NC主程序;西門子840Dsl通道3中運行成品料倉NC主程序,毛坯料倉和成品料倉設計思路基本相同(通道1由西門子主桁架機械手伺服控制占用)。
料倉控制系統的PLC控制程序基于840Dsl內置的SIMATIC S7-300PLC開發,PLC程序架構采用模塊化程序結構,各個功能的子程序塊由主程序塊OB1調用,從而實現PLC的邏輯控制功能,如圖6所示。

圖6 PLC功能塊的編寫
2.4.1 M代碼功能的編寫
840Dsl數控系統NC程序中的相關功能實現采用讀取相應M代碼,每個M代碼由PLC程序處理,并作相應的M代碼功能信號譯碼,且對應一個PLC地址,當NC程序讀到M代碼時,若PLC地址變為1,即M代碼實現選通,比如上料倉手爪放松控制為M52代碼選通,上料倉手抓夾緊控制為M53代碼選通,如圖7所示。
2.4.2 PLC硬件地址到系統變量的轉換
通過840Dsl數控系統的模塊化輸入輸出接口,硬接完成外部信號的連接,通過PLC程序處理,能夠實現NCK讀取外部信號。建立NC-PLC之間的數據交換,這些變量在NC程序中可以進行讀寫;同時也可由PLC讀取這些變量的值,存放到PLC的地址中;也可由PLC寫入這些變量的值,由NC程序來讀取[2-3]。

圖7 M代碼PLC相關程序
NC和PLC的數據交換在PLC的程序里完成,具體的功能由F21這個功能塊來完成。系統內部有一塊交換數據的獨立的區域用來實現NC、PLC數據的交換,如:NC側使用系統變量$A_DBB[n],$A_DBW[n],$A_DBD[n]和$A_DBR[n]讀/寫數據交換區的數據,不支持位操作;PLC側使用基本程序塊FC21進行讀寫操作[5]。
首先處理料倉傳感器檢測信號,I40.0為料倉料垛工位信號;I41.0和I41.4為機械手夾緊信號;I41.1和I41.5為機械手放松信號,這些檢測信號都是傳感器在PLC中對應的硬件輸入地址。PLC作程序處理,比如I40.0有狀態輸入時,DB200.DBX501.0輸出為1,從而NC程序判斷料垛有料盤存在;當機械手氣缸動作時,I41.0和I41.4同時有狀態輸入時,DB200.DBX510.0變為1,從而NC程序判斷機械手處于夾緊狀態;當機械手氣缸動作時,I41.1和I41.5同時有狀態輸入時,DB200.DBX511.0變為1,從而NC程序判斷機械手處于放松狀態,如圖8所示。
在智能料倉的調試運行過程中,發現料倉桁架機械手有以下不足之處:當機械手抓取料盤往目標料垛放置時,如果最先預設的料盤層數與實際不否,出現料垛實際堆放層數超過目標層數,便會存在撞擊風險,那么就要在機械手下端安裝防撞檢測開關,提前掃描障礙物狀態,若出現異常情況,機械手便會終止運行,控制的伺服軸作軸鎖處理,HMI上顯示故障狀態,提醒現場操作人員及時排除故障,從而保障料倉可靠運行。

圖8 PLC信號處理梯圖
智能料倉是自動線的重要核心組成部分,通過SIEMENS 840Dsl系統的開發和應用,設計出一套使用維護方便、自動化程度較高的智能料倉。目前,該智能料倉經過一段時間的調試運行,已在用戶處整線正常生產加工使用,運行穩定,安全可靠。