国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

儀表指針壓制嵌入式控制軟件設(shè)計(jì)

2013-02-20 05:37戴路廖一鵬
計(jì)算機(jī)時(shí)代 2013年2期

戴路 廖一鵬

摘 要: 汽車電子配件的生產(chǎn)制造逐漸由自動(dòng)化步入智能化,汽車儀表指針的智能壓制也成了眾多汽車生產(chǎn)企業(yè)研究的對(duì)象。介紹了基于S3C6410的Windows CE平臺(tái)的汽車儀表指針壓制系統(tǒng)的整機(jī)工作流程、硬件結(jié)構(gòu)原理、人機(jī)界面和SQLite數(shù)據(jù)庫的設(shè)計(jì)開發(fā)過程。進(jìn)行了整機(jī)測(cè)試,試驗(yàn)結(jié)果表明,本壓制系統(tǒng)與老式壓制機(jī)相比,具有良好的人機(jī)界面,操作靈活方便,且有較高的精確度和效率,完全能滿足汽車配件廠的生產(chǎn)要求。

關(guān)鍵詞: Windows CE; S3C6410; 指針壓制; SQLite

中圖分類號(hào):TP273 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2013)02-01-03

Embedded control software design of instrument pointer pressure

Dai Lu, Liao Yipeng

(College of physics and information engineering, Fuzhou University, Fuzhou, Fujian 350001, China)

Abstract: With the development of automobile industry, the manufacture of electronic auto parts has developed gradually from automation to intelligence. The intelligent pressure of automobile instrument pointer has become the research object of many car manufacturers. The whole workflow, hardware structure, human-computer interface and SQLite database design process of the automobile instrument pointer pressure system based on the Windows CE platform built by S3C6410 are described in this article. The whole system test is completed. The test result shows, compared with traditional pressure machines, that the system has better human-computer interface, higher precision and efficiency, and the operation was more flexible and convenient.

Key words: Windows CE; S3C6410; intelligent pressure; SQLite

0 引言

本文介紹一種基于Windows CE平臺(tái)的嵌入式儀表指針壓制系統(tǒng),該系統(tǒng)通過S3C6410處理器操作伺服電機(jī)控制壓制頭向下行進(jìn)一定的距離,當(dāng)接觸到壓針時(shí)通過采集壓力進(jìn)行壓制判定。若壓制頭行進(jìn)的距離與壓制時(shí)的壓力在設(shè)定范圍內(nèi),則判定該次壓制成功,其余都判定壓制失敗。若壓制成功則通過標(biāo)簽機(jī)把當(dāng)前的SN碼打印出來。使用Windows CE平臺(tái)能制作出人性化十足的操作界面;S3C6410的運(yùn)算速度,以及自帶的ADC的采集精度都遠(yuǎn)遠(yuǎn)超過了現(xiàn)今其他常用的指針壓制機(jī)。

1 系統(tǒng)硬件結(jié)構(gòu)介紹

工業(yè)現(xiàn)場(chǎng)常用的指針壓制儀器通常只采用8位的CPU,其外部電路也相對(duì)簡(jiǎn)單:8位的A/D采集模塊,實(shí)現(xiàn)對(duì)壓力的采樣;單色液晶屏幕,為用戶提供操作界面;鍵盤輸入,給用戶提供操作平臺(tái);E2PROM,實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ);實(shí)時(shí)時(shí)鐘,用于顯示與記錄時(shí)間。8位的CPU與8位的ADC,無論速度,還是采集精度都無法達(dá)到現(xiàn)今的技術(shù)要求,單色的液晶屏幕不能提供優(yōu)質(zhì)的用戶體驗(yàn),E2PROM無法記錄大量的數(shù)據(jù)。因此需要一種先進(jìn)的指針壓制機(jī)。

本系統(tǒng)是由三星公司的S3C6410作為主控芯片,最高運(yùn)算速度可達(dá)667MHz;8路12位的ADC,其最高轉(zhuǎn)化率可達(dá)到500kSPS;支持高速USB2.0(全速480MBPS);4通道UART 具有基于DMA或基于中斷操作;支持5位,6位,7位,或8位串行數(shù)據(jù)傳輸/接收。其優(yōu)秀的性能和豐富的外設(shè),完全符合系統(tǒng)的需求,且價(jià)格便宜[1-2]。

[標(biāo)簽機(jī)][伺服電機(jī)][ USB接口

UART2接口

AD采集 UART1接口 RJ45接口][S3C6410] [EXCEL導(dǎo)出] [Ethernet] [PC機(jī)] [128M DDR][256M FLASH][7寸觸摸屏] [RS422] [壓力采集]

圖1 系統(tǒng)硬件框圖

外圍接口電路:UART接口(控制伺服電機(jī)、標(biāo)簽機(jī))、USB2.0接口(進(jìn)行數(shù)據(jù)導(dǎo)出)、RJ45接口(進(jìn)行遠(yuǎn)程數(shù)據(jù)操作);并由通過總線連接LCD觸摸屏(人機(jī)交互),芯片自帶的ADC(進(jìn)行壓力采集)、DDR、FLASH組成。

系統(tǒng)與飼服電機(jī)之間的串行通信采用RS-422總線,由于RS-422是差模傳輸,抗干擾能力比RS-232強(qiáng),理論傳輸距離達(dá)到1200米,且是全雙工通信,更適合在復(fù)雜的工控環(huán)境中使用。

2 系統(tǒng)軟件設(shè)計(jì)

Windows CE是一個(gè)開放的、可升級(jí)的32位嵌入式操作系統(tǒng)。其體積小巧,最小配置的Windows CE .NET可以小至200KB。且系統(tǒng)可裁剪,通過裁剪可針對(duì)系統(tǒng)專門定制出所需的最精簡(jiǎn)系統(tǒng)。Windows CE的圖形用戶界面相當(dāng)出色,因此本設(shè)計(jì)選用Windows CE作為操作系統(tǒng)。采用Microsoft Visual Studio 2005開發(fā)平臺(tái),編寫Windows CE下基于MFC架構(gòu)的GUI界面[3]。

SQLite是D.Richard Hipp開發(fā)的一個(gè)基于C庫的輕量級(jí)嵌入式關(guān)系數(shù)據(jù)庫引擎,支持多表和索引、事務(wù)、視圖、觸發(fā)和一系列的用戶接口及驅(qū)動(dòng)。且SQLite在Windows CE下無需安裝,可通過API直接訪問數(shù)據(jù)庫,具有代碼量小,免費(fèi)、開源等優(yōu)點(diǎn),因此本設(shè)計(jì)采用SQLite數(shù)據(jù)庫對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)和管理,并可導(dǎo)出數(shù)據(jù)方便管理者進(jìn)行生產(chǎn)統(tǒng)籌[4-5]。

系統(tǒng)通過7寸的觸摸屏進(jìn)行人機(jī)交互,系統(tǒng)軟件由用戶管理、參數(shù)設(shè)置、手動(dòng)模式、自動(dòng)模式、記錄查詢、系統(tǒng)幫助等幾個(gè)模塊組成。

2.1 用戶管理

在用戶管理菜單下可進(jìn)行用戶注冊(cè)、登錄、刪除及密碼的修改。對(duì)系統(tǒng)進(jìn)行操作時(shí)需要進(jìn)行系統(tǒng)登錄,管理員可進(jìn)行員工的添加、刪除及時(shí)間的設(shè)置。員工及管理員的數(shù)據(jù)存在SQLite數(shù)據(jù)庫中,調(diào)用方便、迅速。

2.2 手動(dòng)模式

手動(dòng)模式主要是方便技術(shù)人員對(duì)壓制參數(shù)進(jìn)程更改,該模式下有點(diǎn)動(dòng)、寸動(dòng)兩種模式,控制壓制機(jī)上升與下壓,技術(shù)人員可在該模式下調(diào)試好參數(shù),之后再進(jìn)入?yún)?shù)設(shè)置模式進(jìn)行新建、修改機(jī)型參數(shù)。

2.3 參數(shù)設(shè)置

在參數(shù)設(shè)置模式下可直接新建、修改、刪除機(jī)型參數(shù),以及將已有的機(jī)型參數(shù)設(shè)置成當(dāng)前手動(dòng)模式或自動(dòng)模式壓制的參數(shù)。所有機(jī)型參數(shù)存儲(chǔ)在SQLite數(shù)據(jù)庫中,等需要時(shí)再對(duì)數(shù)據(jù)進(jìn)行存取。參數(shù)設(shè)置界面如圖2所示。

圖2 參數(shù)設(shè)置界面

機(jī)型名稱:當(dāng)前機(jī)型的名稱。

打印簡(jiǎn)碼:當(dāng)前機(jī)型的打印簡(jiǎn)碼。

最大/小壓力:當(dāng)前機(jī)型在壓制時(shí)成功的最大/小壓力值。

懸空最大壓力:在不接觸壓制物體時(shí)的最大壓力(在自動(dòng)模式下,壓制頭若還未到壓針最大位移時(shí)的實(shí)時(shí)壓力,大于懸空最大壓力時(shí),系統(tǒng)判定壓力超限)。

接觸最小壓力:在接觸到壓制物體時(shí)的最小壓力(在自動(dòng)模式下,壓制頭若到了壓針最大位移時(shí)的實(shí)時(shí)壓力,小于接觸最小壓力時(shí),系統(tǒng)判定壓力超限)。

回歸位置:當(dāng)壓制完成時(shí),壓制頭會(huì)上升到回歸位置方便操作人員取出壓制物。

壓針最大/小位移:當(dāng)前機(jī)型在壓制成功時(shí)的壓針最大/小位移值。

系統(tǒng)密碼:若要修改參數(shù)值,新建機(jī)型,刪除機(jī)型時(shí)需要輸入系統(tǒng)密碼。

機(jī)型選擇:系統(tǒng)中所有注冊(cè)的機(jī)型都會(huì)出現(xiàn)在機(jī)型選擇框中以方便選擇。

2.4 自動(dòng)模式

壓制的自動(dòng)模式是提高壓制效率的手段之一,在此模式下操作人員只要將壓件擺好,按動(dòng)自動(dòng)壓制按鈕就能實(shí)現(xiàn)自動(dòng)壓制。

老式的壓制機(jī)在壓制過程中,若操作員不正常操作則時(shí)常會(huì)出現(xiàn)安全事故,智能壓制系統(tǒng)在壓制過程中為了防止此類事故發(fā)生,特在下位機(jī)增加了兩個(gè)按鍵,必須當(dāng)操作人員的兩只手同時(shí)按住兩個(gè)按鍵才能進(jìn)行壓制,以防止發(fā)生危險(xiǎn)(如肢體被碾壓的情況)。

自動(dòng)壓制過程中顯示屏右側(cè)的當(dāng)前壓力與當(dāng)前位移數(shù)據(jù)實(shí)時(shí)刷新,上次壓力與上次位移則顯示上次壓制過程最后的壓力與位移。當(dāng)壓制完成時(shí),當(dāng)前的壓力與位移數(shù)據(jù)會(huì)顯示到上次壓力與位移中,同時(shí)當(dāng)前壓力與位移數(shù)據(jù)清零。且在曲線上畫出當(dāng)次的壓制曲線,存入數(shù)據(jù)庫中。若壓制成功,則自動(dòng)生成系列碼,并通過標(biāo)簽打印機(jī)進(jìn)行打印。若壓制失敗,則進(jìn)行下一次壓制。自動(dòng)模式如圖3所示。

圖3 自動(dòng)模式

壓力與位移用兩個(gè)C2Dgraph類[6]分開進(jìn)行顯示。根據(jù)現(xiàn)場(chǎng)環(huán)境,將壓力坐標(biāo)定為0~15KG,位移坐標(biāo)定為5~12mm。根據(jù)機(jī)型的不同,壓制的最大壓力、最小壓力,最大位移、最小位移會(huì)在曲線顯示框中用綠色的虛線繪制出來。若是曲線超出了綠色的虛線范圍,便代表了該次壓制出錯(cuò)。在壓制過程中每壓制一個(gè)設(shè)備,都會(huì)將最后的值繪制在曲線中。當(dāng)曲線繪滿300個(gè)點(diǎn)時(shí)只將第一個(gè)點(diǎn)刪除,在末尾添加新的點(diǎn),實(shí)現(xiàn)的部分代碼如下:

C2DGraph m_2DGraph_p,m_2DGraph_s; //二維曲線對(duì)象

if(m_pointCount > 300 ) //當(dāng)曲線的點(diǎn)大于300時(shí)刪除第一個(gè)點(diǎn)

{ m_2DGraph_p.DeleteFirstPoint(); //刪除壓力曲線的第一個(gè)點(diǎn)

m_2DGraph_s.DeleteFirstPoint(); //刪除位移曲線的第一個(gè)點(diǎn)

m_pointCount--; //曲線點(diǎn)數(shù)減一

}

m_2DGraph_p.AppendPoint_P((DWORD)f_kg); //繪制壓力曲線

m_2DGraph_s.AppendPoint((DWORD)f_mm); //繪制位移曲線

m_pointCount++; //曲線點(diǎn)數(shù)加一

在自動(dòng)壓制過程中,除了實(shí)時(shí)顯示當(dāng)前數(shù)據(jù)并繪制壓制曲線外系統(tǒng)還能記錄當(dāng)前壓制完成時(shí)的壓力與位移值,存入SQLite數(shù)據(jù)庫中[7]以方便數(shù)據(jù)查詢、傳輸。

當(dāng)壓制成功時(shí),數(shù)據(jù)存入數(shù)據(jù)庫的代碼如下:

CppSQLite3DB db;

db.open(L"\\Program Files\\PointerDB.db"); //打開數(shù)據(jù)庫

db.execDML(L"insert into record values ('OK', 'OK','"+

tmp_data+L"','"+Machine_Id+L"','"+ C_tmp_mg+L"','"+

C_tmp_mm+L"','" +L"','"+tmp_sn+L"','"+tmp_time+L"','"+

User_Id+L"');");

//將成功的壓制信息、壓制日期、壓制機(jī)型、壓力、位移、生成碼、壓制時(shí)間、員工信息等存入數(shù)據(jù)庫

db.close(); //關(guān)閉數(shù)據(jù)庫

自動(dòng)模式流程如圖4所示。

[開始?jí)褐芣 [數(shù)據(jù)儲(chǔ)存,繪制曲線] [壓制是否成功?] [生成、存儲(chǔ),打印序列碼] [N][Y] [壓制直至完成]

圖4 自動(dòng)模式流程圖

2.5 數(shù)據(jù)查詢

數(shù)據(jù)查詢是智能儀表壓制系統(tǒng)里的一項(xiàng)重要功能,利用ClistCtrl列表控件編程,顯示查詢壓制過程的機(jī)型、員工、日期、時(shí)間等壓制相關(guān)數(shù)據(jù)。且查詢可以通過條件篩選,方便管理者了解所關(guān)心的信息。

數(shù)據(jù)導(dǎo)出可將SQLite數(shù)據(jù)庫中的壓制信息轉(zhuǎn)換成Excel的格式,并將轉(zhuǎn)換后的數(shù)據(jù)導(dǎo)出到U盤,也可通過以太網(wǎng)將轉(zhuǎn)換后的數(shù)據(jù)傳到遠(yuǎn)端的計(jì)算機(jī)上,這樣大大方便了管理者對(duì)生產(chǎn)數(shù)據(jù)的了解,方便其對(duì)生產(chǎn)的統(tǒng)籌。數(shù)據(jù)查詢?nèi)鐖D5所示。

3 系統(tǒng)測(cè)試

本次實(shí)驗(yàn)在寧波汽車廠進(jìn)行,用標(biāo)準(zhǔn)電子稱進(jìn)行壓力檢測(cè)。通過表1可以看出:本壓制機(jī)壓力采集精度比傳統(tǒng)壓制機(jī)精度略高。

圖5 數(shù)據(jù)查詢

表1 壓力測(cè)試結(jié)果分析

[標(biāo)準(zhǔn)電子稱測(cè)量(KG)\&本壓制機(jī)測(cè)試值(KG)\&測(cè)量誤差/(KG)\&傳統(tǒng)壓制機(jī)(KG)\&測(cè)量誤差(KG)\&2.5\&2.4\&-0.1\&2.6\&+0.1\&4\&4.1\&+0.1\&3.8\&-0.2\&6.5\&6.5\&0\&6.3\&-0.2\&8\&8\&0\&7.9\&-0.1\&10.5\&10.4\&-0.1\&10.5\&0\&12.5\&12.5\&0\&12.7\&+0.2\&14.5\&14.6\&+0.1\&14.4\&-0.1\&]

用千分尺對(duì)壓制機(jī)頭進(jìn)行距離檢測(cè)。通過表2可以看出:本壓制機(jī)行進(jìn)精度比傳統(tǒng)壓制機(jī)精度略高。

表2 距離測(cè)試結(jié)果分析

[千分尺測(cè)量(MM)\&本壓制機(jī)測(cè)試值(MM)\&測(cè)量誤差/(MM)\&傳統(tǒng)壓制機(jī)(MM)\&測(cè)量誤差(MM)\&5.5\&5.6\&+0.1\&5.4\&-0.1\&6.5\&6.5\&0\&6.2\&-0.3\&7.5\&7.6\&+0.1\&7.3\&-0.2\&8.5\&8.4\&-0.1\&8.5\&0\&9.5\&9.5\&0\&9.4\&-0.1\&10.5\&10.6\&+0.1\&10.5\&0\&11.5\&11.4\&-0.1\&11.8\&+0.3\&]

4 結(jié)束語

隨著經(jīng)濟(jì)社會(huì)的不斷發(fā)展,汽車越來越普及,人們對(duì)汽車的生產(chǎn)工藝要求也越來越高,因此對(duì)儀表指針壓制系統(tǒng)的要求也越來越高。老式壓制機(jī)將漸漸被淘汰。本控制系統(tǒng)已在寧波某汽車裝配廠投入使用,并取得了良好的效果,實(shí)際應(yīng)用表明,該儀表壓制系統(tǒng)大大提高了儀表壓制的效率與安全性,且操作簡(jiǎn)單方便,測(cè)量數(shù)據(jù)準(zhǔn)確,并能及時(shí)讓管理者了解生產(chǎn)數(shù)據(jù),方便其統(tǒng)籌管理。但由于時(shí)間關(guān)系有一些問題還有待進(jìn)一步深入研究,如:由于各工廠生產(chǎn)環(huán)境不同,還應(yīng)通過增加外圍電路進(jìn)一步提高系統(tǒng)的抗干擾能力,以適應(yīng)不同的生產(chǎn)環(huán)境。

參考文獻(xiàn):

[1] 尹成,黃永兵,胡耀文.Windows CE開發(fā)實(shí)戰(zhàn)詳解[M].人民郵電出版社,2012.

[2] 周立功.ARM&WinCE; 實(shí)驗(yàn)與實(shí)踐[M].北京航空航天大學(xué)出版社,2007.

[3] 王浩.Windows CE嵌入式應(yīng)用開發(fā)實(shí)訓(xùn)教程[M].中國水利水電出版社,2010.

[4] 廖一鵬.嵌入式SQLite在溫濕度巡檢儀中的應(yīng)用研究[J].光電技術(shù)應(yīng)用,2010.5:61-64

[5] 戴昱.SQLite的SQL語句高速緩存技術(shù)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2012.1:183-186

[6] 汪兵.Windows CE嵌入式高級(jí)編程及其實(shí)例詳解[M].中國水利水電出版社,2008.

[7] 胡偉.SQLite在嵌入式系統(tǒng)上的實(shí)現(xiàn)研究[J].計(jì)算機(jī)與數(shù)字工程,2009.2:46-47

朝阳市| 崇信县| 娄底市| 衡阳县| 邹平县| 安泽县| 丁青县| 湖南省| 陇南市| 广水市| 邯郸县| 竹溪县| 虹口区| 南靖县| 老河口市| 安西县| 苏尼特右旗| 通化县| 焦作市| 衡南县| 长宁区| 灵丘县| 延安市| 秭归县| 临安市| 武乡县| 五峰| 类乌齐县| 桐城市| 酒泉市| 余干县| 平罗县| 孟津县| 棋牌| 东平县| 大理市| 元氏县| 高邮市| 南昌市| 阳信县| 抚州市|