關一帆,谷剛,王志平
(1.廣東工業(yè)大學自動化學院,廣東廣州510006;2.廣東省自動化研究所廣東廣州510070)
基于S3C2440和Linux3.4.2的壓鑄企業(yè)數據采集系統設計
關一帆1,谷剛1,王志平2
(1.廣東工業(yè)大學自動化學院,廣東廣州510006;2.廣東省自動化研究所廣東廣州510070)
文中針對國內壓鑄行業(yè)生產過程監(jiān)控難,質量問題追溯困難,生產設備利用率低等問題,設計出一種基于ARM9處理器和嵌入式linux OS的數據采集系統。該系統以三星公司的S3C2440處理器為核心,軟件平臺移植了Linux3.4.2內核,利用QT-Embedded技術完成人機交互界面開發(fā),并實現了Socket網絡應用程序。該系統在壓鑄企業(yè)的現場應用表明,企業(yè)生產調度的工作量減少了50%,生產設備利用率提高37%,每年為壓鑄企業(yè)節(jié)省了13%的成本支出。該系統顯著提高企業(yè)管理水平,降低企業(yè)用工成本,增加企業(yè)生產效益。
ARM9;linux;QT-Embedded;數據采集;壓鑄行業(yè)
國內的壓鑄加工企業(yè),普遍存在生產過程監(jiān)控難,生產數據混亂,品質控制不科學,生產設備利用率低等問題,造成壓鑄行業(yè)利潤空間縮小,資源消耗增大。所以一個可靠、實時的數據采集系統對于壓鑄企業(yè)的科學管理顯得尤為重要。傳統數據采集系統采用單片機作為控制核心,數據的存儲、傳輸以及顯示都需要額外的PC的輔助來實現,其成本高、穩(wěn)定性低、體積大、不方便壓鑄生產現場安裝。文中針對壓鑄行業(yè)的特點,基于嵌入式Linux和QT,設計出一套具有生產及管理信息交互的數據采集系統。該系統利用32位微處理器提供的資源與處理能力,實時采集在崗員工、模具、生產數量、開機時間等信息,并且由Linux管理系統資源。下面分為系統總體設計、硬件設計、軟件設計、系統測試、結論5個部分進行介紹。
結合壓鑄企業(yè)生產管理的特點和數據采集的基本組成與功能要求,本系統設計包括以ARM微控制器為中心的硬件和基于嵌入式Linux操作系統的軟件兩個部分。這兩個部分均采用模塊化方法設計。硬件設計模塊主要包括CPU模塊、LCD顯示與觸摸屏輸入模塊、串口通訊模塊、開關量采集模塊、以太網模塊、USB接口模塊和電源模塊。軟件設計模塊主要包括操作系統移植和設備驅動程序設計模塊、QT-Embedded圖形應用程序設計模塊兩部分。系統結構圖如圖1所示。
圖1 系統總體結構圖
硬件系統采用核心板加擴展板的設計方案,將CPU模塊獨立設計在核心板中,擴展板包括開關量采集與輸出模塊、以太網通信模塊、LCD顯示與觸摸屏輸入模塊、串口通訊模塊、USB接口模塊和電源模塊。擴展板上主要是提供了外設模塊及其相關的擴展接口。S3C2440集成3個UART接口,UART0供開發(fā)程序調試使用,超高頻RFID讀寫器、ID卡讀寫器分別接UART1、UART2。S3C2440集成了一個USB1.1設備控制器,并有兩個USB接口。設置一個為USB主接口USB Host,可以連接USB無線網卡。設置一個為USB從接口USB Device,供下載程序使用[1]。我們還保留了RJ45網絡接口,以便多種場合應用。硬件總體框圖如圖2所示。
2.1CPU模塊
CPU模塊包含最基本的電源電路(5 V供電)、復位電路、標準JTAG調試口、用戶調試指示燈、以及核心的CPU和存儲單元等。其中以S3C2440芯片為核心,64M 32bit位寬的SDRAM為系統內存,256MB的Nand Flash為系統存儲設備。64M的SDRAM保證了系統運行流暢,256M的Nand Flash也為u-boot引導程序、Linux內核、文件系統、Qt-Embedded應用程序以及數據提供了足夠的存儲空間[2]。此外,模塊中配置了工作頻率為32.768k的晶振電路,為CPU提供基準的振蕩脈沖,實現系統的準確計時。
2.2開關量采集與輸出模塊
模塊有4路直流開關量采集輸入通道和4路開關量輸出通道,24 V的采集和輸出電壓適用于絕大部分的工業(yè)現場。采集輸入信號信號經過4.6 kΩ的限流電阻,再經過光電耦合器TL627隔離并轉換成標準的邏輯電平供CPU讀取。二極管IN4007防止了反向電流擊穿光電耦合器,進一步提高電路的可靠性。開關量輸出電路可接24 V的負載,如指示燈等等。開關量采集與輸出電路如圖3所示(以其中一路為例)。
圖2 系統硬件結構圖
圖3 關量采集與輸出電路
2.3串行通訊電平轉換模塊
S3C2440內部集成UART控制器,模具RFID讀寫器、員工ID卡讀寫器通過串行方式與CPU進行通訊。但是讀寫器串行通訊接口均采用標準的RS-232C電平,而S3C2440串行接口采用TTL電平,顯然它們通訊電平不匹配。為此需要設置專門的電路來進行電平轉換。該電路采用TI公司的MAX3232芯片作為電平轉換芯片,其中4個0.1 μF的去耦電容用來提高抗干擾能力。具體連線圖如圖4所示。
圖4 串行通訊電平轉換電路
系統的主程序是QT-Embedded圖形應用程序,其開發(fā)采用目標機/宿主機模式進行,在宿主機上的交叉編譯環(huán)境下進行編譯,生成目標上可執(zhí)行的二進制文件,在通過串口下載到目標板上運行。開發(fā)環(huán)境采用ARM-Linux交叉編譯環(huán)境arm-linux-gcc-4.4.3,Linux內核是linux-3.4.2。有關內核linux-3.4.2內核編譯和移植的資料很多,在此不作詳細論述。軟件部分著重介紹開關量采集驅動程序的編寫以及QT-Embedded圖形應用程序編寫。系統軟件設計結構圖如圖5所示。
圖5 系統軟件設計結構圖
3.1開關量采集與輸出驅動程序
該驅動程序分為開關量采集和開關量輸出兩部分。利用S3C2440的中斷資源,以中斷方式采集開關量。4路開關量通路對應著CPU的4個中斷引腳,分別是EINT0、EINT2、EINT4、EINT6。由于這4路的采集電路原理是完全相同的,所以在此以第一路采集為例。當輸入引腳的電平發(fā)生變化時,進入中斷模式,并在中斷服務函數中判斷電平的變化[3]。由低電平變?yōu)楦唠娖綍r,返回數值0x01;由高電平變?yōu)榈碗娖綍r,返回數值0x81。其他3路采集程序,以此類推。應用程序根據返回的數值,判斷的狀態(tài)。開關量輸出部分,輸出引腳是輸出引腳依次是:GPG3、GPG6、GPG9、GPG11。要輸出開關量的時候往數據寄存器寫入數值10,關閉的時候寫入數值1。驅動程序向應用程序提供設備接口函數,主要完成用戶與設備的讀、寫及打開等功能,其函數結構設計為:
設備打開函數MesIO_open完成以下操作:使能EINT0、EINT2、EINT4、EINT6中斷模式,配置GPG3、GPG6、GPG9、GPG11為輸出引腳。設備釋放函數MesIO_close完成的操作與設備打開函數MesIO_open相反。IO操作函數MesIO_write根據傳進來的參數對輸出引腳進行操作。讀設備函數MesIO_ read判斷采集引腳的電平是否有變化。如果沒有變化,進程休眠。如果有變化,進程根據電平變化的情況返回數值[4]。
3.2QT/Embedded圖形應用程序設計
進行QT圖形應用程序開發(fā)的首要步驟就是要在裝有Linux操作系統的PC機和嵌入式系統上進行Qt-Embedded移植。為了提高開發(fā)效率,安裝Qt Designer工具是很有必要的。有關Qt-Embedded移植的資料很多,在此不作詳細論述。應用程序新建3個線程實時進取磨具信息、員工信息、生產數量等信息。此外完成了socket通訊程序,實現有線無線傳輸數據[5]。圖形應用程序流程圖如圖6所示。程序開發(fā)分以下3個步驟進行。
圖6 圖形應用程序流程圖
3.2.1建立窗體
程序一共需要開發(fā)7個窗體,分別是現場數據采集系統主窗體、員工上崗工種選擇窗體、碑工崗位選擇窗體、QC檢查輸入窗體、非生產人員崗位選擇窗體、碑工下崗原因選擇窗體、非生產人員下崗原因選擇窗體。除主窗體選擇mainwindow對話框外,其余的6個窗體均選擇dialog對話框。根據實際需求選擇控件加入到窗體中。
3.2.2建立信號與槽的映射
根據實際的需求,當用戶點擊一個按鈕或打卡時,應用程序會執(zhí)行相應的代碼。由于系統建立了多個映射,在這里不一一闡述,僅以員工上崗操作為例。員工上崗打卡后系統會由主界面跳轉到員工上崗工種選擇界面,員工再根據自己的崗位在工種選擇界面按下相對應的按鈕反饋給系統。這里涉及到多個信號與槽的映射,其信號與槽連接抽象圖如圖7所示。
圖7 信號與槽連接抽象圖
3.2.3編寫窗體函數
Qt/Embedded應用程序應包含一個主函數,這是應用程序的入口點。當系統切換窗體后,就會執(zhí)行窗體對應的*.cpp代碼。根據需求編寫函數,篇幅有限,不做詳細闡述。
3.2.4編譯生成可執(zhí)行文件
應用程序通常對應一個工程文件,用命令qmake?╞project產生一個工程項目文件,用命令qmake處理這個工程文件,生成一個Makefile文件。成功生成Makefile文件后,執(zhí)行命令make,就可以生成可執(zhí)行文件[6]。
系統主界面見圖8。測試表面該采集系統的軟硬件運行十分穩(wěn)定、可靠,能夠將所采集的數據實時的在LCD上顯示,以供操作人員查看分析,具有良好的交互,使用起來十分方便,并且支持無線的數據傳輸避免了現場布線等問題。
圖8 系統主界面
文中提出的基于S3C2440和Linux3.4.2的的壓鑄企業(yè)數據采集系統已經投入到壓鑄行業(yè)使用,實現了對壓鑄車間進行數據采集和分析功能,通過以太網技術把數據傳輸到后臺服務器。通過實際應用表明,本系統使現場信息統計及生產調度的工作量減少了2/3,顯著提高企業(yè)的生產效率,每年可以為企業(yè)節(jié)省幾十萬管理成本。而且本系統相比于傳統單片機數據采集系統,具有性能強,成本低,體積小,更可靠等優(yōu)點,在后PC時代的今天具有廣闊的市場價值。
[1]付海嚴,韓山,郭云.ARM微處理器應用開發(fā)技術詳解與實例分析[M].北京:清華大學出版社,2007.
[2]鄒思軼.嵌入式Linux設計與應用[M].北京:清華大學出版社,2002.
[3]韋東山.嵌入式Linux應用開發(fā)完全手冊[M].北京.人民郵電出版社,2008.
[4]劉淼.嵌入式系統接口設計與Linux驅動程序開發(fā)[M].北京:北京航空航天大學出版社,2006.
[5]周明天,汪文勇.TCP/IP網絡原理與技術[M].北京:清華大學出版社,1998.
[6]Jasmin Blanchette,Mark Summerfield.C++GUI QT4編程[M].2版.北京:電子工業(yè)出版社,2008.
Design of data acquisition system based on S3C2440 and Linux3.4.2 for Die casting enterprise
GUAN Yi-fan1,GU Gang1,WANG Zhi-ping2
(1.College of automation,Guangdong University of Technology,Guangzhou 510006,China;2.Automation Research Institute of Guangdong Province,Guangzhou 510070,China)
Aiming at some problems in the domestic die-casting industry which the monitoring of the productive process and the investigation into quality problems are difficult,and the utilization rate of production equipment is low,data acquisition system based on ARM9 processor and embedded Linux OS is designed in this paper.The system uses Samsung S3C2440 processor as the core and transplants Linux kernel 3.4.2 as the software platform.Its UI development is completed by QTEmbedded.And it implements the Socket network applications.The application of the system in the ie-casting enterprises shows that the work of the enterprise production scheduling is reduced by 50%,the utilization rate of production equipment is increased by 37%,and the cost of the die-casting enterprise is saved by 13%each year.The system can improve the management level,reduce the labor cost,and increase the production efficiency.
ARM;Linux;QT-Embedded;data acquisition;die casting industry
TN702
A
1674-6236(2016)12-0190-04
2015-06-29稿件編號:201506243
2014年廣東省科學院青年科學研究基金(qnjj201408);2014年廣東省自動化研究所所長基金(A201404);2014年廣州市對外合作項目(2014J450002)
關一帆(1990—),男,廣東羅定人,碩士研究生。研究方向:嵌入式系統、計算機測控。