關(guān)一帆,谷剛,王志平
(1.廣東工業(yè)大學(xué)自動(dòng)化學(xué)院,廣東廣州510006;2.廣東省自動(dòng)化研究所廣東廣州510070)
基于S3C2440和Linux3.4.2的壓鑄企業(yè)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
關(guān)一帆1,谷剛1,王志平2
(1.廣東工業(yè)大學(xué)自動(dòng)化學(xué)院,廣東廣州510006;2.廣東省自動(dòng)化研究所廣東廣州510070)
文中針對(duì)國(guó)內(nèi)壓鑄行業(yè)生產(chǎn)過(guò)程監(jiān)控難,質(zhì)量問(wèn)題追溯困難,生產(chǎn)設(shè)備利用率低等問(wèn)題,設(shè)計(jì)出一種基于ARM9處理器和嵌入式linux OS的數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)以三星公司的S3C2440處理器為核心,軟件平臺(tái)移植了Linux3.4.2內(nèi)核,利用QT-Embedded技術(shù)完成人機(jī)交互界面開發(fā),并實(shí)現(xiàn)了Socket網(wǎng)絡(luò)應(yīng)用程序。該系統(tǒng)在壓鑄企業(yè)的現(xiàn)場(chǎng)應(yīng)用表明,企業(yè)生產(chǎn)調(diào)度的工作量減少了50%,生產(chǎn)設(shè)備利用率提高37%,每年為壓鑄企業(yè)節(jié)省了13%的成本支出。該系統(tǒng)顯著提高企業(yè)管理水平,降低企業(yè)用工成本,增加企業(yè)生產(chǎn)效益。
ARM9;linux;QT-Embedded;數(shù)據(jù)采集;壓鑄行業(yè)
國(guó)內(nèi)的壓鑄加工企業(yè),普遍存在生產(chǎn)過(guò)程監(jiān)控難,生產(chǎn)數(shù)據(jù)混亂,品質(zhì)控制不科學(xué),生產(chǎn)設(shè)備利用率低等問(wèn)題,造成壓鑄行業(yè)利潤(rùn)空間縮小,資源消耗增大。所以一個(gè)可靠、實(shí)時(shí)的數(shù)據(jù)采集系統(tǒng)對(duì)于壓鑄企業(yè)的科學(xué)管理顯得尤為重要。傳統(tǒng)數(shù)據(jù)采集系統(tǒng)采用單片機(jī)作為控制核心,數(shù)據(jù)的存儲(chǔ)、傳輸以及顯示都需要額外的PC的輔助來(lái)實(shí)現(xiàn),其成本高、穩(wěn)定性低、體積大、不方便壓鑄生產(chǎn)現(xiàn)場(chǎng)安裝。文中針對(duì)壓鑄行業(yè)的特點(diǎn),基于嵌入式Linux和QT,設(shè)計(jì)出一套具有生產(chǎn)及管理信息交互的數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)利用32位微處理器提供的資源與處理能力,實(shí)時(shí)采集在崗員工、模具、生產(chǎn)數(shù)量、開機(jī)時(shí)間等信息,并且由Linux管理系統(tǒng)資源。下面分為系統(tǒng)總體設(shè)計(jì)、硬件設(shè)計(jì)、軟件設(shè)計(jì)、系統(tǒng)測(cè)試、結(jié)論5個(gè)部分進(jìn)行介紹。
結(jié)合壓鑄企業(yè)生產(chǎn)管理的特點(diǎn)和數(shù)據(jù)采集的基本組成與功能要求,本系統(tǒng)設(shè)計(jì)包括以ARM微控制器為中心的硬件和基于嵌入式Linux操作系統(tǒng)的軟件兩個(gè)部分。這兩個(gè)部分均采用模塊化方法設(shè)計(jì)。硬件設(shè)計(jì)模塊主要包括CPU模塊、LCD顯示與觸摸屏輸入模塊、串口通訊模塊、開關(guān)量采集模塊、以太網(wǎng)模塊、USB接口模塊和電源模塊。軟件設(shè)計(jì)模塊主要包括操作系統(tǒng)移植和設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)模塊、QT-Embedded圖形應(yīng)用程序設(shè)計(jì)模塊兩部分。系統(tǒng)結(jié)構(gòu)圖如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)圖
硬件系統(tǒng)采用核心板加擴(kuò)展板的設(shè)計(jì)方案,將CPU模塊獨(dú)立設(shè)計(jì)在核心板中,擴(kuò)展板包括開關(guān)量采集與輸出模塊、以太網(wǎng)通信模塊、LCD顯示與觸摸屏輸入模塊、串口通訊模塊、USB接口模塊和電源模塊。擴(kuò)展板上主要是提供了外設(shè)模塊及其相關(guān)的擴(kuò)展接口。S3C2440集成3個(gè)UART接口,UART0供開發(fā)程序調(diào)試使用,超高頻RFID讀寫器、ID卡讀寫器分別接UART1、UART2。S3C2440集成了一個(gè)USB1.1設(shè)備控制器,并有兩個(gè)USB接口。設(shè)置一個(gè)為USB主接口USB Host,可以連接USB無(wú)線網(wǎng)卡。設(shè)置一個(gè)為USB從接口USB Device,供下載程序使用[1]。我們還保留了RJ45網(wǎng)絡(luò)接口,以便多種場(chǎng)合應(yīng)用。硬件總體框圖如圖2所示。
2.1CPU模塊
CPU模塊包含最基本的電源電路(5 V供電)、復(fù)位電路、標(biāo)準(zhǔn)JTAG調(diào)試口、用戶調(diào)試指示燈、以及核心的CPU和存儲(chǔ)單元等。其中以S3C2440芯片為核心,64M 32bit位寬的SDRAM為系統(tǒng)內(nèi)存,256MB的Nand Flash為系統(tǒng)存儲(chǔ)設(shè)備。64M的SDRAM保證了系統(tǒng)運(yùn)行流暢,256M的Nand Flash也為u-boot引導(dǎo)程序、Linux內(nèi)核、文件系統(tǒng)、Qt-Embedded應(yīng)用程序以及數(shù)據(jù)提供了足夠的存儲(chǔ)空間[2]。此外,模塊中配置了工作頻率為32.768k的晶振電路,為CPU提供基準(zhǔn)的振蕩脈沖,實(shí)現(xiàn)系統(tǒng)的準(zhǔn)確計(jì)時(shí)。
2.2開關(guān)量采集與輸出模塊
模塊有4路直流開關(guān)量采集輸入通道和4路開關(guān)量輸出通道,24 V的采集和輸出電壓適用于絕大部分的工業(yè)現(xiàn)場(chǎng)。采集輸入信號(hào)信號(hào)經(jīng)過(guò)4.6 kΩ的限流電阻,再經(jīng)過(guò)光電耦合器TL627隔離并轉(zhuǎn)換成標(biāo)準(zhǔn)的邏輯電平供CPU讀取。二極管IN4007防止了反向電流擊穿光電耦合器,進(jìn)一步提高電路的可靠性。開關(guān)量輸出電路可接24 V的負(fù)載,如指示燈等等。開關(guān)量采集與輸出電路如圖3所示(以其中一路為例)。
圖2 系統(tǒng)硬件結(jié)構(gòu)圖
圖3 關(guān)量采集與輸出電路
2.3串行通訊電平轉(zhuǎn)換模塊
S3C2440內(nèi)部集成UART控制器,模具RFID讀寫器、員工ID卡讀寫器通過(guò)串行方式與CPU進(jìn)行通訊。但是讀寫器串行通訊接口均采用標(biāo)準(zhǔn)的RS-232C電平,而S3C2440串行接口采用TTL電平,顯然它們通訊電平不匹配。為此需要設(shè)置專門的電路來(lái)進(jìn)行電平轉(zhuǎn)換。該電路采用TI公司的MAX3232芯片作為電平轉(zhuǎn)換芯片,其中4個(gè)0.1 μF的去耦電容用來(lái)提高抗干擾能力。具體連線圖如圖4所示。
圖4 串行通訊電平轉(zhuǎn)換電路
系統(tǒng)的主程序是QT-Embedded圖形應(yīng)用程序,其開發(fā)采用目標(biāo)機(jī)/宿主機(jī)模式進(jìn)行,在宿主機(jī)上的交叉編譯環(huán)境下進(jìn)行編譯,生成目標(biāo)上可執(zhí)行的二進(jìn)制文件,在通過(guò)串口下載到目標(biāo)板上運(yùn)行。開發(fā)環(huán)境采用ARM-Linux交叉編譯環(huán)境arm-linux-gcc-4.4.3,Linux內(nèi)核是linux-3.4.2。有關(guān)內(nèi)核linux-3.4.2內(nèi)核編譯和移植的資料很多,在此不作詳細(xì)論述。軟件部分著重介紹開關(guān)量采集驅(qū)動(dòng)程序的編寫以及QT-Embedded圖形應(yīng)用程序編寫。系統(tǒng)軟件設(shè)計(jì)結(jié)構(gòu)圖如圖5所示。
圖5 系統(tǒng)軟件設(shè)計(jì)結(jié)構(gòu)圖
3.1開關(guān)量采集與輸出驅(qū)動(dòng)程序
該驅(qū)動(dòng)程序分為開關(guān)量采集和開關(guān)量輸出兩部分。利用S3C2440的中斷資源,以中斷方式采集開關(guān)量。4路開關(guān)量通路對(duì)應(yīng)著CPU的4個(gè)中斷引腳,分別是EINT0、EINT2、EINT4、EINT6。由于這4路的采集電路原理是完全相同的,所以在此以第一路采集為例。當(dāng)輸入引腳的電平發(fā)生變化時(shí),進(jìn)入中斷模式,并在中斷服務(wù)函數(shù)中判斷電平的變化[3]。由低電平變?yōu)楦唠娖綍r(shí),返回?cái)?shù)值0x01;由高電平變?yōu)榈碗娖綍r(shí),返回?cái)?shù)值0x81。其他3路采集程序,以此類推。應(yīng)用程序根據(jù)返回的數(shù)值,判斷的狀態(tài)。開關(guān)量輸出部分,輸出引腳是輸出引腳依次是:GPG3、GPG6、GPG9、GPG11。要輸出開關(guān)量的時(shí)候往數(shù)據(jù)寄存器寫入數(shù)值10,關(guān)閉的時(shí)候?qū)懭霐?shù)值1。驅(qū)動(dòng)程序向應(yīng)用程序提供設(shè)備接口函數(shù),主要完成用戶與設(shè)備的讀、寫及打開等功能,其函數(shù)結(jié)構(gòu)設(shè)計(jì)為:
設(shè)備打開函數(shù)MesIO_open完成以下操作:使能EINT0、EINT2、EINT4、EINT6中斷模式,配置GPG3、GPG6、GPG9、GPG11為輸出引腳。設(shè)備釋放函數(shù)MesIO_close完成的操作與設(shè)備打開函數(shù)MesIO_open相反。IO操作函數(shù)MesIO_write根據(jù)傳進(jìn)來(lái)的參數(shù)對(duì)輸出引腳進(jìn)行操作。讀設(shè)備函數(shù)MesIO_ read判斷采集引腳的電平是否有變化。如果沒(méi)有變化,進(jìn)程休眠。如果有變化,進(jìn)程根據(jù)電平變化的情況返回?cái)?shù)值[4]。
3.2QT/Embedded圖形應(yīng)用程序設(shè)計(jì)
進(jìn)行QT圖形應(yīng)用程序開發(fā)的首要步驟就是要在裝有Linux操作系統(tǒng)的PC機(jī)和嵌入式系統(tǒng)上進(jìn)行Qt-Embedded移植。為了提高開發(fā)效率,安裝Qt Designer工具是很有必要的。有關(guān)Qt-Embedded移植的資料很多,在此不作詳細(xì)論述。應(yīng)用程序新建3個(gè)線程實(shí)時(shí)進(jìn)取磨具信息、員工信息、生產(chǎn)數(shù)量等信息。此外完成了socket通訊程序,實(shí)現(xiàn)有線無(wú)線傳輸數(shù)據(jù)[5]。圖形應(yīng)用程序流程圖如圖6所示。程序開發(fā)分以下3個(gè)步驟進(jìn)行。
圖6 圖形應(yīng)用程序流程圖
3.2.1建立窗體
程序一共需要開發(fā)7個(gè)窗體,分別是現(xiàn)場(chǎng)數(shù)據(jù)采集系統(tǒng)主窗體、員工上崗工種選擇窗體、碑工崗位選擇窗體、QC檢查輸入窗體、非生產(chǎn)人員崗位選擇窗體、碑工下崗原因選擇窗體、非生產(chǎn)人員下崗原因選擇窗體。除主窗體選擇mainwindow對(duì)話框外,其余的6個(gè)窗體均選擇dialog對(duì)話框。根據(jù)實(shí)際需求選擇控件加入到窗體中。
3.2.2建立信號(hào)與槽的映射
根據(jù)實(shí)際的需求,當(dāng)用戶點(diǎn)擊一個(gè)按鈕或打卡時(shí),應(yīng)用程序會(huì)執(zhí)行相應(yīng)的代碼。由于系統(tǒng)建立了多個(gè)映射,在這里不一一闡述,僅以員工上崗操作為例。員工上崗打卡后系統(tǒng)會(huì)由主界面跳轉(zhuǎn)到員工上崗工種選擇界面,員工再根據(jù)自己的崗位在工種選擇界面按下相對(duì)應(yīng)的按鈕反饋給系統(tǒng)。這里涉及到多個(gè)信號(hào)與槽的映射,其信號(hào)與槽連接抽象圖如圖7所示。
圖7 信號(hào)與槽連接抽象圖
3.2.3編寫窗體函數(shù)
Qt/Embedded應(yīng)用程序應(yīng)包含一個(gè)主函數(shù),這是應(yīng)用程序的入口點(diǎn)。當(dāng)系統(tǒng)切換窗體后,就會(huì)執(zhí)行窗體對(duì)應(yīng)的*.cpp代碼。根據(jù)需求編寫函數(shù),篇幅有限,不做詳細(xì)闡述。
3.2.4編譯生成可執(zhí)行文件
應(yīng)用程序通常對(duì)應(yīng)一個(gè)工程文件,用命令qmake?╞project產(chǎn)生一個(gè)工程項(xiàng)目文件,用命令qmake處理這個(gè)工程文件,生成一個(gè)Makefile文件。成功生成Makefile文件后,執(zhí)行命令make,就可以生成可執(zhí)行文件[6]。
系統(tǒng)主界面見圖8。測(cè)試表面該采集系統(tǒng)的軟硬件運(yùn)行十分穩(wěn)定、可靠,能夠?qū)⑺杉臄?shù)據(jù)實(shí)時(shí)的在LCD上顯示,以供操作人員查看分析,具有良好的交互,使用起來(lái)十分方便,并且支持無(wú)線的數(shù)據(jù)傳輸避免了現(xiàn)場(chǎng)布線等問(wèn)題。
圖8 系統(tǒng)主界面
文中提出的基于S3C2440和Linux3.4.2的的壓鑄企業(yè)數(shù)據(jù)采集系統(tǒng)已經(jīng)投入到壓鑄行業(yè)使用,實(shí)現(xiàn)了對(duì)壓鑄車間進(jìn)行數(shù)據(jù)采集和分析功能,通過(guò)以太網(wǎng)技術(shù)把數(shù)據(jù)傳輸?shù)胶笈_(tái)服務(wù)器。通過(guò)實(shí)際應(yīng)用表明,本系統(tǒng)使現(xiàn)場(chǎng)信息統(tǒng)計(jì)及生產(chǎn)調(diào)度的工作量減少了2/3,顯著提高企業(yè)的生產(chǎn)效率,每年可以為企業(yè)節(jié)省幾十萬(wàn)管理成本。而且本系統(tǒng)相比于傳統(tǒng)單片機(jī)數(shù)據(jù)采集系統(tǒng),具有性能強(qiáng),成本低,體積小,更可靠等優(yōu)點(diǎn),在后PC時(shí)代的今天具有廣闊的市場(chǎng)價(jià)值。
[1]付海嚴(yán),韓山,郭云.ARM微處理器應(yīng)用開發(fā)技術(shù)詳解與實(shí)例分析[M].北京:清華大學(xué)出版社,2007.
[2]鄒思軼.嵌入式Linux設(shè)計(jì)與應(yīng)用[M].北京:清華大學(xué)出版社,2002.
[3]韋東山.嵌入式Linux應(yīng)用開發(fā)完全手冊(cè)[M].北京.人民郵電出版社,2008.
[4]劉淼.嵌入式系統(tǒng)接口設(shè)計(jì)與Linux驅(qū)動(dòng)程序開發(fā)[M].北京:北京航空航天大學(xué)出版社,2006.
[5]周明天,汪文勇.TCP/IP網(wǎng)絡(luò)原理與技術(shù)[M].北京:清華大學(xué)出版社,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稿件編號(hào):201506243
2014年廣東省科學(xué)院青年科學(xué)研究基金(qnjj201408);2014年廣東省自動(dòng)化研究所所長(zhǎng)基金(A201404);2014年廣州市對(duì)外合作項(xiàng)目(2014J450002)
關(guān)一帆(1990—),男,廣東羅定人,碩士研究生。研究方向:嵌入式系統(tǒng)、計(jì)算機(jī)測(cè)控。