0 引言
隨著我國制造業的飛速發展,對機加配件的加工精度和生產效率的要求越來越高,對企業生產過程的自動化程度也提出了很高的要求。棒料是各種模鍛件、輥鍛件、輾壓件生產用的主要原料,而棒料剪斷機就是為這些鍛壓工藝準備坯料的剪切下料設備。早期的剪切系統電氣控制普遍采用交流接觸器和繼電器進行控制,經過長年使用,部件老化,設備故障頻發。在維護中由于分立元件眾多,集成度差,許多故障不能及時處理,給企業生產帶來諸多不便。
由于PLC伺服控制系統具有定位精度高、響應速度快、抗干擾能力強、運行平穩等特性,采用可編程序控制器(PLC)控制系統的高精度自動剪切生產線的應用越來越廣泛。但PLC還是軟PLC技術,都有實時性不強的缺點,很難實現復雜、快速的時序控制,而且對網絡的支持能力較差,因此,在需要對傳感器信號進行高速A/D轉換、實時采樣以及實現企業生產過程智能化、信息化、網絡化管理時,PLC就不適用了。而基于ARM嵌入式系統的出現,為工業控制提供了更好的開發與應用平臺。它外設資源豐富,具備各種接口,同時提供可擴展接口,擴展方便;采用嵌入式實時操作系統,具有強大的軟件處理能力,可實現復雜控制;具有PC機的諸多特點,同時又比PC機和工控機價格低;軟硬件(包括操作系統)可裁剪、配置靈活;支持大屏幕液晶顯示,可提供可視化界面顯示;具備聯網能力,可通過直接通過網口接入本地局域網或遠程網,為生產的遠程實時監控和管理提供了可能。
基于以上比較,本文提出一種基于ARM的嵌入式棒料剪切生產線數控系統,該系統以ARM處理器為核心,搭載嵌入式Linux操作系統,具有可擴展的輸入、輸出控制I/O節點及多種現場總線接口、能實現剪切自動控制、擋料器控制、自動翻轉送料架控制、提高棒料加工精度;支持大尺寸LCD顯示屏,支持網絡和嵌入式數據庫,智能性、實時性好,方便生產過程協調監管、監控,嵌入式數據庫能夠實現加工數據的有效管理,可自動完成加工軌跡的各種調整與控制,實現自適應的模型參數調整。
1 總體設計
整個剪切生產線系統包括中心控制機、切割系統、擋料器和自動翻轉送料系統。
實際的電氣部件包括操作臺按鈕、顯示燈,各種控制開關及電動機。其中操作臺包括旋轉編碼器、自鎖式按鈕、普通按鈕、鑰匙按鈕、二位置旋轉按鈕、轉換開關、計數器、顯示燈;控制開關包括接近開關,壓力開關,液位開關,行程開關,凸輪開關,光電開關;電磁閥,交流繼電器,交流接觸器;電機包括主電動機、出料電機、擋板電機、潤滑電機。此外還有變壓器、斷路器及噪聲濾波器等部件。
2 中控機系統
該中控系統以ARM9核心板為中心,通過GPIO擴展板將有限的輸入輸出I/O擴展成足夠數量的輸入輸出控制節點,能夠接收系統中各種按鈕、凸輪開關、光電開關等輸入開關信號;根據程序和預先設定的參數,給出輸出開關量,控制電磁閥、繼電器、接觸器的動作,同時通過高速脈沖輸出向伺服驅動器發出一定數量的脈沖數,控制伺服電機的運轉。輸入及輸出接口都使用光電隔離模塊,既實現了抗干擾的目的,又能夠實現對接口部分的電平轉換。根據ARM輸出端信號,變頻器控制電動機的正反轉及轉速,從而實現對卷料的釋放和回收。伺服驅動器根據ARM板高速脈沖輸出端發出脈沖的個數、頻率控制伺服電機的轉動位置及速度,從而精確地給出送料長度。采用10英寸液晶顯示屏,為用戶提供了良好的人機交互界面,用戶可以通過該屏幕直接設定參數,整個剪切系統的工作狀態、動作信息可以直觀地反映給用戶。ARM與變頻器、伺服器之間通過RS232串口通信,實現程序下載、參數設置、狀態查詢等即時的數據交換,最終使整個生產線設備能夠協調運行。
2.1 ARM核心板
ARM核心板基于ARM處理器S3C2410X,采用6層板設計。S3C2410X使用ARM920T核,內部帶有全性能的MMU(內存處理單元),具有高性能、低功耗、接口豐富和體積小等優良特性。該芯片集成了大量的功能單元,包括:內部1.8V,存儲器3.3V,外部I/O3.3V,MMU;內置外部存儲器控制器;LCD控制器,1個LCD專用DMA;4路帶外部請求線的DMA;3個通用異步串行端口,2通道SPI;一個多主IIC總線,一個IIS總線控制器;SD主接口版本1.0和多媒體卡協議版本2.11兼容;2個USBHOST,一個USBDEVICE(V1.1);4個PWM定時器和一個內部定時器;看門狗定時器;117個通用I/O;24個外部中斷;電源控制模式:標準、慢速、休眠、掉電;8通道10位ADC和觸摸屏接口;16/32位RISC體系結構,使用ARM920TCPU核的強大指令集。
該核心板在盡可能小的板面上集成了64MSDRAM、64MNandFlash、1MBootFlash、RJ-45網卡、音頻輸入與輸出、USBHost、USBSlave、標準串口等設備接口,最為重要的是使用2.0mm插針槽引出CPU的大部分信號引腳,包括系統中尚未使用的GPIO引腳。
ARM920T帶MMU的先進的體系結構支持WINCE、EPOC32、LINUX等,文中選擇的是免費開源的嵌入式Linux操作系統?;谠撚布脚_及嵌入式Linux,做了操作系統移植、驅動程序編寫和應用程序開發等軟件工作。
2.2 控制母板
中控機箱內采用母板+ARM核心板+I/O擴展板方式,母板用來與ARM9板連接,實現網口USB、串口、電壓轉換、連接液晶屏等功能,同時在母板上還包括一定數量的可用的GPIO,包括10個輸入,12個輸出。I/O輸入輸出選用DB頭接插件,方便連接。中控機內的開關電源為24V,電流可達4A.電源電路實現24V電壓到12V/9V/5V/3.3V的轉換,滿足不同電路需要,穩壓芯片使用LM338。ARM9核心板自身帶有3個RS232串行接口,考慮到傳輸距離和抗干擾要求,在底板上設計了專門的轉換模塊將RS232轉換為RS485電平。ARM9核心板自帶USBHOST,使用USBHUB將其分為多路,分別可供鍵盤電路和鼠標使用,其他路向外輸出。
2.3 GPIO擴展及隔離
GPIO擴展及隔離電路被設計到獨立的電路板,用來實現I/O端口數量的擴展,可互換。每塊擴展板上包括64個輸入,64個輸出。擴展板放在母板上方,用金屬柱支撐,高度能保證二者不干涉即可。擴展板與母板之間以扁平電纜連接。擴展板的擴展I/O輸入輸出也選用DB頭接插件。GPIO擴展有2種方案。一種是采用CPLD擴展,目前ARM板可使用的I/O口,大約有20個。如果用最簡單的擴展方法,使用8個I/O用作數據線,使用4個I/O產生16個譯碼片選信號,這樣可擴展成128個I/O。如果對外部按鍵采用掃描方式,那么可以節約一部分引腳。該方案只要ARM確保提供一定數量的I/O腳,具有較大可行性。ARM針對普通的I/O口操作既可,編程控制起來較容易,但在CPLD的編程上要花一些時間。第二種方案為使用專用擴展芯片實現擴展。現有ARM板擴展口中有2種串行總線接口:IIC總線和SPI總線。如果選用現成的I/O擴展芯片,如MAX6957,為IIC接口,一片可以擴展28個I/O,如果用4片就可以擴展到100多個I/O。該方案需要開發ARM的針對IIC設備的驅動程序。文中實際選用的是74HC595及74HC166芯片,多片串聯,使用較少的I/O引腳成功實現并入串出和串入并出控制。
GPIO實現擴展后,可提供足夠數量的輸入I/O和輸出I/O。系統中的大量開關或顯示燈,作為開關量輸入或輸出,連接到這些擴展I/O即可。由于這些開關量的電平值大部分不是TTL電平或CMOS電平,需要進行電平轉換;顯示燈需要足夠的驅動電流,繼電器需要一定的驅動電壓和電流;而且,系統中有大量的強電信號,為充分考慮提高系統的抗干擾能力?;谝陨峡紤],設計了電氣隔離及驅動模塊,普通的較慢變換的開關信號采用TLP521隔離光耦,針對高速脈沖采用高速光耦。
2.4 電機控制
根據ARM板輸出端信號,變頻器控制電動機的正反轉及轉速,從而實現對卷料的釋放和回收。
對變頻器來說,輸入控制信號來自于隔離擴展板,通過設置不同的短路和開路組合,可以實現正轉、反轉、高速輸出及低速輸出,其中高速、低速是可以通過速度選擇端口來預設的。其他有關特征、狀態的參數可以通過操作面板預設。
3 數控系統軟件設計
數控系統軟件要實現用戶接口、剪切控制、故障檢測、數據庫管理、聯網等功能,由于系統軟件引入嵌入式操作系統,所以各任務可以并行執行,任務間可以通過消息傳遞、隊列等實現,軟件流程圖見圖3。由于篇幅所限,僅畫出用戶接口、剪切控制、故障檢測3個任務的流程,省略數據庫管理、聯網兩個模塊。為實現用戶接口、剪切控制、故障檢測、數據庫管理、聯網等功能,需要對嵌入式操作系統及Bootloader移植、驅動程序開發、應用層剪切控制程序軟件開發及數據庫開發幾個部分進行研究,從而支撐整個系統軟件流程,實現系統功能。
3.1 嵌入式操作系統及Bootloader的移植
Linux移植就是根據具體目標平臺,對原有Linux的源碼進行必要的改寫,主要是修改體系結構相關部分,安裝到目標平臺,使其正確運行起來。為了引導操作系統,必須依賴Bootloader在上電初始化硬件設備,準備軟件環境,因此,在項目中,以ARM9硬件系統為平臺,選擇VIVI作為Bootloader,完成了Bootloader和嵌入式Linux操作系統的移植。
其基本過程是:
(1)獲得VIVI源碼并對其進行修改;
(2)獲得Linux2.4.18內核源碼及該版本針對ARM的補丁,并對源碼進行必要的修改;
(3)準備交叉編譯環境。交叉編譯環境工具鏈一般包括Binutils工具,ARM-GCC,GLIBC等;
(4)交叉編譯Bootloader,生成映像文件并下載;
(5)增加GPIO等外設驅動;
(6)交叉編譯Linux內核,生成內核映像文件,并下載內核映像文件。
3.2 驅動程序及通訊程序開發
根據實際需要,以ARM9為核心,研制系統主板,并針對實際需求進行硬件驅動程序開發。其中GPIO驅動程序既包括對按鍵、LED顯示的支持,也包括對繼電器控制等I/O的支持。在編譯內核時,選擇在需要時動態插入內核,增加靈活性。針對跨平臺通訊,編制代碼轉換程序,并對Linux操作系統環境進行配置,完成上位機GB2312編碼與下位機AMR9—LinuxQTEUNICODE編碼間代碼格式轉換;系統軟件支持10英寸DSTNLCD及TFT真彩LCD,采用嵌入式圖形系統之Qt/EmbeddedC++進行程序開發,以便于跨平臺移植、方便數據庫連接和開發過程,并增加了產品的可靠性。
3.3 剪切控制程序
3.3.1 系統控制要求
(1)運行方式。生產線各主要設備具有手動/自動兩種工作方式。當采用自動工作方式時,系統將按預先設定的工藝流程不間斷地循環工作。而手動工作方式是在設備單動、調試和檢修階段使用。
(2)實時顯示。系統中各個工序的運行情況、報警信息、送料長度、質量和加工工件數量等信息都要求在屏幕上顯示。
(3)故障檢測。系統能夠自動檢測各個工序的運行是否正常,如果出現異常,在屏幕上顯示錯誤信息,同時生產線停止運行。故障解除后按啟動按鈕生產線繼續運行。
(4)緊急停止。當出現緊急情況時,一按下急停按鈕,所有正在運行的設備全部停止。
(5)安全保護。在程序設計過程中,對關鍵環節設置多重防護,避免人身及設備事故的發生。系統上電后將自動啟動。
3.3.2 基本操作
初次運行,將控制臺的聯機-脫機狀態切換至脫機狀態,手動按控制臺上的定尺+/定尺-,控制擋料器運動到原點。通過系統校零,并輸入棒料直徑、重量補償、比重、擋料原點等值后,系統將自動計算出需要剪切的長度值并顯示出來。當按下自動補償,系統將調整擋料器位置,當計算長度與實際長度一致時,發出同步信號,同步輸出燈變綠,機床可進行剪切動作了。此外,系統還可通過重量補償,使棒料剪切更加精確。系統控制開始為正轉高速工作狀態,當快接近目標時改為低速正轉工作狀態;系統在工作時,實時監控擋料器的位置,每當擋料器發生串動后,數控機自動進行調整,并設有“急停”按鍵,停止機床的工作;系統能夠自動濾掉錯誤操作。
3.4 嵌入式數據庫
嵌入式數據庫采用關系型數據庫的三級模式,支持標準SQL,支持數據查詢、插入、更新、刪除多種標準的SQL語句,充分滿足嵌入式應用開發的需求;具有事務處理功能,自動維護事務的完整性、原子性等特性;支持多種通訊協議,備份和恢復,錯誤日志等;具有高的靈活性、可擴展性及穩定性;同時為嵌入式應用的開發提供了靈活的應用編程接口:C語言例行程序接口,內存需求低,且具有較高的執行效率。目前很多嵌入式設備是依靠數據為中心的,如果只有文件系統,在并發、共享、結構化存取上無結構,全依賴操作系統和文件系統,是遠遠不夠的。因此,采用嵌入式數據庫,完成工業控制數據的采集、存儲,及指令存儲與下達,實現控制機方便快捷移動、大數據量存儲、當前和歷史數據查詢。通過采集數控網絡系統的數據,完成機床加工程序的實時還原,根據反饋信息制定新的解決方案,為質量管理的分析提供原始依據。實現了管理信息與控制信息融合。通過JNI的方式調用C/C++編寫的數據庫驅動動態連接庫(DLL)進行數據操作,解決嵌入式數據庫不提供Java的JDBC數據訪問接口問題。
4 結論
文中采用了高性價比的嵌入式處理器ARM9,替換了老式工業控制微機,進行了Linux操作系統裁剪移植、自主開發硬件控制驅動程序,采用TCP/IP協議,美觀優雅的QT用戶圖形界面以及符合國際標準SQL的嵌入式數據庫。應用了該數控技術的剪切系統,具有較強的高速數據采集和多種直接I/O節點控制能力,可以實現任意設定加工參數,既具備PC數控機床的信息處理、存儲、網絡傳輸能力,又滿足了精度高、體積小、功耗低的現代工控理念,是對現有的數控技術的一次技術革新。
(審核編輯: 智匯張瑜)
分享