柯若維,趙偉杰
(杭州電子科技大學(xué)生命信息與儀器工程學(xué)院,浙江杭州310018)
隨著客戶對(duì)不銹鋼表面色彩需求的不斷提高,真空鍍鈦技術(shù)也在不斷地改進(jìn)。但是在目前的真空鍍鈦控制系統(tǒng)中,還不能有效地提高不銹鋼表面色彩的準(zhǔn)確目標(biāo)值。要得到預(yù)期的不銹鋼板表面色彩值還沒有最佳的控制方法,主要基于操作工人的經(jīng)驗(yàn),因此,由于工人經(jīng)驗(yàn)值的不同而導(dǎo)致在調(diào)不銹鋼板表面色彩時(shí)需要很長的時(shí)間。也許鍍一次就能夠得到需要的色彩值,也許要經(jīng)過數(shù)次甚至數(shù)日的不斷調(diào)試才能鍍出所需的色彩,這中間存在著極大的能源及其他各種資源的浪費(fèi)。為提高鍍鈦目標(biāo)準(zhǔn)確率,設(shè)計(jì)一個(gè)數(shù)據(jù)庫系統(tǒng),可以記錄每次鍍鈦成功的參數(shù)值,從而為下一次鍍同樣色彩做參數(shù)記錄。鍍鈦成功的標(biāo)準(zhǔn)是每款經(jīng)過鍍鈦的不銹鋼板,只要色彩均勻,板的上下、左右色差值小于2即為合格。也許本次鍍鈦結(jié)果和目標(biāo)色彩絕對(duì)值差距很大,但是在未來的鍍鈦當(dāng)中也許用到此顏色,故可以將本次鍍鈦過程的參數(shù)及鍍鈦結(jié)果記錄備用。影響真空離子鍍技術(shù)的因素有很多,主要有真空爐中的爐溫、爐數(shù)、乙炔和氮?dú)獾牧髁?、真空度等。設(shè)計(jì)了基于迪文觸摸屏的操作界面,數(shù)據(jù)庫的存儲(chǔ)及查詢方法。
系統(tǒng)采用TX-2440開發(fā)板作為系統(tǒng)設(shè)計(jì)的硬件平臺(tái)[2]。主控模塊采用嵌入式微處理器 S3C2440,主頻400 MHz,最高可達(dá)533 MHz,片內(nèi)外資源豐富,具有強(qiáng)大的處理能力,從硬件上保證系統(tǒng)得到快速響應(yīng)。系統(tǒng)存儲(chǔ)擴(kuò)展了256MB的NANDFLASH,64MB的SDRAM。擴(kuò)展模塊包括100M DM9000網(wǎng)卡、4個(gè)USB接口、兩個(gè)串口。系統(tǒng)硬件結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)硬件框圖
系統(tǒng)軟件平臺(tái)Linux 2.6.31內(nèi)核和YAFFS2文件系統(tǒng)。數(shù)據(jù)庫中記錄的存儲(chǔ)方法直接關(guān)系到記錄搜索的速度,因此,數(shù)據(jù)存儲(chǔ)的方法極為重要。存儲(chǔ)數(shù)據(jù)記錄的方法有很多,第一種方法是采用順序存儲(chǔ)的方法,每個(gè)記錄按照輸入順序依次存儲(chǔ),此方法的優(yōu)點(diǎn)是占用空間小,但是搜索記錄的時(shí)間就會(huì)比較長。需要逐次比較每個(gè)參數(shù)值,直到出現(xiàn)相近記錄為止,還有可能搜不到相關(guān)記錄。還有一種方法是將記錄信息直接變?yōu)閿?shù)據(jù)存儲(chǔ)的地址,舉例說明如下:本設(shè)計(jì)紅色的參數(shù)值范圍是-2~15,占用空間值是18;黃色范圍是-2~37,占用空間值是40;爐溫范圍是60℃ ~220℃,根據(jù)經(jīng)驗(yàn),溫度每差10℃,對(duì)色彩的影響也可以忽略,故只需占用空間值是16,爐數(shù)范圍是1~400,根據(jù)實(shí)際經(jīng)驗(yàn),每10爐之間的色差可以忽略,因此占用空間可以減少10倍,值是40;真空度范圍是1~15,占用空間值是15。為計(jì)算方便,把負(fù)的參數(shù)值全部調(diào)整為非負(fù)數(shù),及紅色參數(shù)范圍調(diào)整為0~17,黃色參數(shù)范圍調(diào)整為0~39,假設(shè)某次鍍鈦結(jié)果成功,其參數(shù)值如下:紅色14,黃色25,爐溫150℃,爐數(shù)是200,真空度是10,每個(gè)記錄由3部分組成,分別是乙炔流量、氮?dú)饬髁?、記錄存在?biāo)志,占用6個(gè)字節(jié),那么其數(shù)據(jù)存儲(chǔ)的地址為((14+2)×40×16×40×15+(25+2)×16×40×15+((150-60)/10)×40×15+(200/10)×15+10)×6=38453460,這種方式的特點(diǎn)是查詢速度快,但是需要存儲(chǔ)空間大。在本系統(tǒng)中,按此方法,所需空間最大值是41472000B,LINUX系統(tǒng)采用fat格式,支持U盤或者SD卡的空間是4 GB,因此,存儲(chǔ)空間是足夠的。本設(shè)計(jì)采用第二種存儲(chǔ)方法。
3.1.1觸摸屏界面設(shè)計(jì)
觸摸屏是控制整個(gè)儀器工作的重要人機(jī)交互接口。本設(shè)計(jì)采用迪文DMT80480T070_02W觸摸屏,根據(jù)真空鍍鈦的技術(shù)要求,將界面設(shè)計(jì)為如圖2所示。
圖2 界面設(shè)計(jì)圖
選擇對(duì)應(yīng)的參數(shù)即可輸入相應(yīng)參數(shù)數(shù)值,如點(diǎn)擊“紅色”,在紅色后面文本框即可輸入紅色的參數(shù)值?!凹t色”和“黃色”的數(shù)值可根據(jù)客戶提供的樣板用色差機(jī)測(cè)量得出。真空度是可以控制的數(shù)值,也可以輸入。爐數(shù)的含義是當(dāng)前真空爐在鍍鈦過程中,經(jīng)清洗后鍍到第幾爐,是不可改的,爐溫是可控的,各參數(shù)的范圍如表1所示:
表1 各參數(shù)的范圍
3.1.2觸摸屏程序接口
打開與觸摸屏相連串口,用 open_port(fd,1)[3]函數(shù)打開,其中fd為文件類型指針,1為串口端口號(hào);用函數(shù)set_opts()[3]設(shè)置通訊方式,其中波特率為115 200,數(shù)據(jù)位8位,無奇偶校驗(yàn),1位結(jié)束位。具體如下:
if((fd=open_port(fd,1))<0){perror("open_port error");return;}
if((i=set_opt(fd,115200,8,'N',1))< 0){perror("set_opt error");return;}
3.1.3觸摸屏的通信協(xié)議
觸摸屏以幀的方式傳送數(shù)據(jù),觸摸屏返回到上位機(jī)每幀8個(gè)字節(jié),其中第4個(gè)字節(jié)為返回的鍵值。
上位機(jī)發(fā)送到觸摸屏幀的長度可以任意定,其中第一個(gè)字節(jié)為幀頭,值為0xAA,第二個(gè)字節(jié)為觸摸屏顯示方式設(shè)置,第三、四字節(jié)是顯示內(nèi)容的坐標(biāo),第五個(gè)字節(jié)開始為要傳送的內(nèi)容 ,其中漢字要先轉(zhuǎn)換為對(duì)應(yīng)的16進(jìn)制代碼,最后以 4 個(gè)字節(jié)為幀結(jié)束命令,分別是 0xcc、0x33、0xc3、0x3c[4]。
先對(duì)程序中所需的參數(shù)進(jìn)行定義:
#define COLOURBM 40//黃色范圍
#define VM 15//真空度的范圍
#define NM 40//爐數(shù)的范圍
#define TEM 16//爐溫的范圍
#define CABASE(COLOURBM*VM*NM*TM)
#define CBBASE(VM*TM*NM)
#define VMBASE(TM*NM)
#define TMBASE(NM)
利用加權(quán)定義文件存儲(chǔ)的位置,即
position=(V_colA*CABASE+V_colB*CBBASE+(V_vm)*VMBASE+V_tem*TMBASE+V_num)*sizeof(item),其中,V_colA、V_colB、V_vm、V_tem、V_num 分別代表紅色、黃色、真空度、爐數(shù)和爐溫的值。查找時(shí)只要輸入紅色、黃色、真空度、爐數(shù)、爐溫值,就可以通過這個(gè)位置計(jì)算公式找到所需參數(shù)的位置。節(jié)省了很多查找時(shí)間。
(1)利用fseek()函數(shù)[3]來移動(dòng)文件的讀寫位置,fseek()函數(shù)的用法是 fseek(fp,position,SEEK_SET),其中 fp為已打開的文件指針,即data.txt文件;position為根據(jù)SEEK_SET來移動(dòng)讀寫位置的位移數(shù);
(2)當(dāng)查找成功時(shí),輸出乙炔和氮?dú)獾闹?,用fseek()函數(shù)找到所需參數(shù)位置,讀是否有記錄標(biāo)志,如果有,則讀乙炔和氮?dú)獾闹碉@示到觸摸屏,提示查找成功。如果沒有記錄標(biāo)志,則提示查找失敗。流程圖如圖3所示。
圖3 軟件操作流程
數(shù)據(jù)庫系統(tǒng)已成功應(yīng)用于某金屬制品有限公司(實(shí)物圖見圖4),目前的主要工作是對(duì)每次鍍鈦數(shù)據(jù)進(jìn)行記錄,經(jīng)過一段時(shí)間的數(shù)據(jù)積累,可以作為后續(xù)鍍鈦參數(shù)使用。需要進(jìn)一步研究的是將數(shù)據(jù)庫系統(tǒng)與控制系統(tǒng)相結(jié)合,實(shí)現(xiàn)整個(gè)系統(tǒng)的查詢、自動(dòng)控制、自動(dòng)存儲(chǔ)等功能,從而提高不銹鋼表面色彩精確度。
圖4 鍍鈦數(shù)據(jù)庫系統(tǒng)實(shí)物圖
[1]張鈞,趙彥輝.多弧離子鍍技術(shù)與應(yīng)用[M].北京:冶金工業(yè)出版社,2007.12.
[2]天祥電子.TX-2440A arm9開發(fā)板學(xué)習(xí)資料[EB/CD].http://www.txmcu.com/show.asp?id=7.2012.5.
[3]W.Richard Stevens,Stephen A.Rago.UNIX 環(huán)境高級(jí)編程[M].第2版.尤晉元,張亞英,戚正偉,譯.北京:人民郵電出版社,2006.6.
[4]北京迪文科技有限公司.迪文DMT80480T070_02W觸摸屏的學(xué)習(xí)資料[EB/OL].http://www.dwin.com.cn/download.aspx?id=11.2012.5.
[5]賈明,嚴(yán)世賢.Linux下的C編程[M].北京:人民郵電出版社,2001.1.