999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于EVC 的數(shù)據(jù)存儲(chǔ)管理算法實(shí)現(xiàn)

2014-01-21 00:52:32石常興
電子設(shè)計(jì)工程 2014年20期
關(guān)鍵詞:施工

石常興,周 浩

(北京市三一重機(jī)有限公司 研究本院 北京102202)

擴(kuò)孔鉆機(jī)是在旋挖鉆機(jī)的基礎(chǔ)上加裝擴(kuò)孔功能,即當(dāng)樁孔達(dá)到一定深度后,利用擴(kuò)孔鉆頭,通過(guò)油缸來(lái)擴(kuò)大樁孔底部空間進(jìn)而增加整樁承載力的一種工法。國(guó)內(nèi)使用的工程實(shí)例表明,采用擴(kuò)底樁一般能節(jié)約工程總投資的15%~35%不等[1]。在擴(kuò)孔鉆機(jī)研發(fā)過(guò)程中,需要通過(guò)顯示器對(duì)施工過(guò)程中樁孔的相關(guān)規(guī)格參數(shù)進(jìn)行實(shí)時(shí)監(jiān)測(cè)控制,同時(shí),相關(guān)尺寸的變化還要在人機(jī)界面圖形上動(dòng)態(tài)顯示出來(lái)。另外,當(dāng)施工一段時(shí)間后,客戶可利用U盤或SD卡[2]將顯示器內(nèi)存儲(chǔ)的施工數(shù)據(jù)拷貝出來(lái),以便在上位機(jī)軟件上顯示還原或打印出來(lái)。

在樁基礎(chǔ)施工行業(yè),對(duì)施工的規(guī)格參數(shù)和施工標(biāo)準(zhǔn)有著較高的要求,它直接影響到整個(gè)工程的安全性和可靠性。在整個(gè)施工管理過(guò)程當(dāng)中,對(duì)參數(shù)的有效管理和存儲(chǔ)記錄就顯得尤為重要。本文設(shè)計(jì)了一套在EVC軟件平臺(tái)上針對(duì)該工法特點(diǎn)的施工數(shù)據(jù)存儲(chǔ)管理算法,有效管理了施工過(guò)程中的參數(shù)和施工數(shù)據(jù)。

1 平臺(tái)構(gòu)架

SYLD顯示器是一款基于ARM9平臺(tái)和EVC開(kāi)發(fā)環(huán)境的顯示器,SYLD顯示與PLC控制器的數(shù)據(jù)采集存儲(chǔ)管理實(shí)現(xiàn)的硬件構(gòu)架如圖1所示。顯示器通過(guò)CAN總線[3]與PLC控制器相連,用于在接收傳感器數(shù)據(jù)的同時(shí)發(fā)送相關(guān)控制命令;利用工業(yè)USB插座將顯示器的USB信號(hào)電源線進(jìn)行引出,即 D+、D-、5V+和 GND。

圖1 系統(tǒng)構(gòu)架Fig.1 Structure diagram of system

2 算法實(shí)現(xiàn)

在嵌入式系統(tǒng)中,我們更加迫切的需要通過(guò)文件來(lái)存儲(chǔ)應(yīng)用程序配置信息或存儲(chǔ)應(yīng)用程序所需資源數(shù)據(jù)[4],因此在本系統(tǒng)中對(duì)文件的操作也是主要內(nèi)容。在對(duì)整個(gè)施工過(guò)程中參數(shù)及施工數(shù)據(jù)的管理總流程如圖2所示,首先在程序中的最先運(yùn)行的程序段內(nèi)創(chuàng)建一個(gè)參數(shù)配置文件。參數(shù)配置文件中的數(shù)據(jù)為擴(kuò)孔工法中樁孔的典型規(guī)格參數(shù)。然后當(dāng)系統(tǒng)上電時(shí)首先讀取參數(shù)配置文件,然后根據(jù)讀取的參數(shù)繪制樁孔及鉆頭規(guī)格圖形并顯示相關(guān)信息。當(dāng)施工時(shí),設(shè)定當(dāng)前預(yù)擴(kuò)孔的擴(kuò)孔數(shù)據(jù)并保存到施工數(shù)據(jù)文件夾中。當(dāng)施工完畢后,將施工實(shí)際參數(shù)保存到對(duì)于的樁孔數(shù)據(jù)文件中。需要拷貝時(shí),將U盤插入顯示器的USB擴(kuò)展接口中便可將施工數(shù)據(jù)文件夾拷貝到U盤當(dāng)中。通過(guò)設(shè)計(jì)上位機(jī)解析軟件,可將U盤中的施工數(shù)據(jù)還原出來(lái),并進(jìn)行管理打印等操作。

圖2 算法運(yùn)行流程圖Fig.2 Flow chart of the software design

在軟件的實(shí)現(xiàn)過(guò)程當(dāng)中,對(duì)文件的操作和數(shù)據(jù)存儲(chǔ)算法等是核心。文件通常分為二進(jìn)制文件和文本文件。二進(jìn)制文件是包含在ASCII及擴(kuò)展ASCII字符中編寫的數(shù)據(jù)或程序指令文件。一般是可執(zhí)行的程序、圖形、聲音等文件[5]。文本文件(也稱為ASCII文件):它的每一個(gè)字節(jié)存放的是可表示為一個(gè)字符的ASCII代碼的文件。可用任何文字處理程序閱讀的簡(jiǎn)單文本文件。對(duì)文件的操作主要有文件的創(chuàng)建、文件的寫入讀取和拷貝,主要程序?qū)崿F(xiàn)代碼如下:

workdata_file=CreateFile (_T("\StorageCard\workdata.txt"),GENERIC_READ|GENERIC_WRITE,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);

/*注釋*在顯示器的儲(chǔ)存器“StorageCard”中創(chuàng)建txt數(shù)據(jù)文件,若該文件已經(jīng)存儲(chǔ)則更新。*注釋*/

假設(shè)施工過(guò)程中需要存儲(chǔ)的施工數(shù)據(jù)有20項(xiàng)目即20個(gè)參數(shù),則預(yù)先存儲(chǔ)在臨時(shí)緩存數(shù)組中uint workdata_buf,本文在處理時(shí)采用了以文本文件的格式進(jìn)行存儲(chǔ)。即把每一位的數(shù)字轉(zhuǎn)換成字符,并在每個(gè)參數(shù)前添加字母和冒號(hào)以示區(qū)分這一串字符中各個(gè)參數(shù)。如第一個(gè)參數(shù)為年份2013第二個(gè)參數(shù)為月份12,則按上述方法轉(zhuǎn)換為字符格式后為A:2013B:0012……,將轉(zhuǎn)換后的所有字符分別存入數(shù)組para_write_buff中。相應(yīng)程序代碼為:

para_temp=para_buffer[0];/★注釋★第一個(gè)參數(shù)賦給緩沖變量 ★注釋 ★/

for (uchar para_wei= 0,para_num=0;para_wei<140;para_wei++)

/*注釋*para_num=7個(gè)數(shù)字為一個(gè)參數(shù)分割*注釋*/

{

if((para_wei%7)==2)

para_temp=workdata_buf[(para_num++)%20];

if((para_wei%7)==0)//字母

para_write_buff[para_wei]=para_char_num++;

else if( (para_wei%7)==1)

para_write_buff[para_wei]=58;//":"

else

{

para_write_buff[para_wei]=(uchar)((para_temp%10)+'0');//+'0'變?yōu)?ASCII碼 para_temp=(para_temp/10);

}

}

WriteFile(workdata_file,para_write_buff,sizeof(para_write_buff),&fact_writebyenum,NULL);

//寫入文件,將para_write_buff數(shù)組中緩存的施工數(shù)據(jù)記錄數(shù)值字符存入所創(chuàng)建的數(shù)據(jù)文件workdata_file中,在首次啟動(dòng)顯示系統(tǒng)時(shí),配置文件的寫入與此相同。之后,無(wú)特殊情況不需要每次啟動(dòng)時(shí)再寫入配置參數(shù),只需要讀取即可,算法與寫入過(guò)程互為逆過(guò)程。讀取參數(shù)的相關(guān)程序代碼如下:

configfile =CreateFile (_T ("\StorageCard\para_config.txt"),GENERIC_READ |GENERIC_WRITE,0, NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);SetFilePointer(configfile,0,NULL,FILE_BEGIN);

do

{

ReadFile(configfile,para_write_buff,sizeof(para_write_buff),&fact_readbyenum,NULL);

//指向要讀取的文件句柄//接受數(shù)據(jù)的緩沖區(qū)//從文件中讀取的字節(jié)數(shù)//實(shí)際從文件中讀取的字節(jié)數(shù)//空

}

while(fact_readbyenum==sizeof(para_write_buff));

//已完全存入para_write_buff

for(uchar read_num=0,tem_num=0,para_num=0;read_num

{

uint para_temp=0;//緩存讀出數(shù)值

uchar char_temp=0;//緩存讀出字符

if((read_num%7)==0)

{

for(tem_num=6;tem_num>1;tem_num--)

{

char_temp=(para_write_buff[read_num+tem_num]-'0');//-'0'還原成數(shù)值

para_temp=(para_temp*10+char_temp);

}

para_num_buffer[para_num]=para_temp;

para_num=(++para_num);

if(para_num==20)

para_num=0;

}

}

CloseHandle(configfile);

//配置文件中的字符信息已經(jīng)還原為參數(shù)數(shù)值并存儲(chǔ)在para_num_buffer數(shù)組當(dāng)中,可供程序使用。

CreateDirectory (L"\StorageCard \syworkdata ",NULL)//在StorageCard中創(chuàng)建名為syworkdata的文件夾

CopyFile(strSrcFile,strDstFile,FALSE);//將路徑為strSrcFile的源文件拷貝到路徑為strDstFile的目標(biāo)文件中。

上述程序算法是實(shí)現(xiàn)了一個(gè)數(shù)據(jù)文件的讀寫拷貝等操作,在進(jìn)行施工數(shù)據(jù)文件的存儲(chǔ)時(shí),由于數(shù)據(jù)量大需要對(duì)所有文件定義一個(gè)命名規(guī)則,因此設(shè)計(jì)一個(gè)在保存時(shí)能夠自動(dòng)按順序命名的算法程序有一定的實(shí)用價(jià)值。本文采用的是一種數(shù)字命名的方法,經(jīng)過(guò)驗(yàn)證也可以達(dá)到自動(dòng)順序命名的目的。當(dāng)按下要保存的數(shù)據(jù)文件時(shí),文件名稱的數(shù)字形式自動(dòng)加一合成文件名稱(例如文件名稱以“31001”開(kāi)頭),接著將施工數(shù)據(jù)存入經(jīng)過(guò)合成的文件名稱對(duì)應(yīng)的文件中。程序主要代碼如下:

haves_pilecnt++;//施工數(shù)據(jù)文件個(gè)數(shù)再按下保存后自加for(unsigned int k=0;k

//SAVE_SUM_NUM為預(yù)設(shè)能存入的數(shù)據(jù)文件最大數(shù)

{

m_name[k]=31000+k;//形成數(shù)據(jù)文件名稱,并存入數(shù)組中

}

str.Format(_T ("\Storage Card\syworkdata\%d.txt"),m_name[haves_pilecnt]);//合成當(dāng)前施工數(shù)據(jù)文件的路徑及名稱

……

jobdatafile=CreateFile(str,GENERIC_READ|GENERIC_WRITE,0,

NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);

//創(chuàng)建當(dāng)前施工數(shù)據(jù)文件(str所指)

……

WriteFile (jobdatafile,para_write_buff,sizeof(para_write_buff),&fact_writebyenum,NULL);//將施工數(shù)據(jù)緩存數(shù)組para_write_buff存入當(dāng)前施工數(shù)據(jù)文件jobdatafile句柄

利用VB[6]進(jìn)行上位機(jī)軟件開(kāi)發(fā),由上位機(jī)軟件對(duì)施工數(shù)據(jù)進(jìn)行解析顯示等操作,上位機(jī)界面如圖3所示。

圖3 上位機(jī)測(cè)試界面圖Fig.3 Interface chart of the test system

3 結(jié)論

經(jīng)過(guò)程序反復(fù)調(diào)試測(cè)試,最后應(yīng)用于產(chǎn)品顯示控制系統(tǒng)中并且運(yùn)行穩(wěn)定。實(shí)踐證明該算法能夠?qū)崿F(xiàn)施工數(shù)據(jù)的存儲(chǔ)和管理。因此該方法具有一定典型性,可以在相關(guān)平臺(tái)上推廣應(yīng)用。

[1]王磊,高春華,盧英明.擴(kuò)底灌注樁的旋挖鉆機(jī)成孔工法[J].建筑機(jī)械,2011(8):49-51.WANG Lei,GAO Chun-hua,LU Yin-ming.Dilled working method of enlarging base and casting stake by rotary drilling rig[J].Construction Machinery,2011(8):49-51.

[2]李寧.基于MDK的STM32處理器開(kāi)發(fā)應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2008.

[3]周立功等.項(xiàng)目驅(qū)動(dòng)—CAN-BUS現(xiàn)場(chǎng)總線基礎(chǔ)教程[M].北京:北京航空航天大學(xué)出版社,2012.

[4]汪兵,李存斌,陳鵬,等.EVC高級(jí)編程及其應(yīng)用開(kāi)發(fā)[M].北京:水利水電出版社,2005.

[5]孫鑫.VC++深入詳解(修訂版)[M].北京:電子工業(yè)出版社,2006.

[6]鄒麗明.Visual Basic 6.0程序設(shè)計(jì)與實(shí)訓(xùn)[M].北京:電子工業(yè)出版社,2008.

猜你喜歡
施工
后澆帶施工技術(shù)在房建施工中的運(yùn)用
鋁模板在高層建筑施工中的應(yīng)用
后澆帶施工技術(shù)在房建施工中的踐行探索
新型環(huán)保建筑材料在土木工程施工中的應(yīng)用
防滲漏技術(shù)在民用建筑施工中的應(yīng)用
后澆帶施工技術(shù)在房建施工中的應(yīng)用
后澆帶施工技術(shù)在房建施工中的應(yīng)用
土木工程施工技術(shù)創(chuàng)新探討
防滲漏施工技術(shù)在房建施工中的應(yīng)用
上海建材(2017年4期)2017-10-16 01:33:34
土木工程施工實(shí)習(xí)的探討與實(shí)踐
主站蜘蛛池模板: 欧美 亚洲 日韩 国产| 国产交换配偶在线视频| 在线观看国产精品第一区免费| 五月天久久综合国产一区二区| 99re66精品视频在线观看| 欧美专区在线观看| 综合色在线| 香蕉在线视频网站| 毛片免费在线| 国产永久在线视频| 免费一级毛片不卡在线播放| 亚洲精品欧美日本中文字幕| 日韩福利在线视频| 国产精品美女免费视频大全| 欧美日韩国产系列在线观看| 国产在线观看91精品亚瑟| 美女无遮挡被啪啪到高潮免费| 亚洲成av人无码综合在线观看| 亚洲成人黄色在线| 久久亚洲黄色视频| 日本不卡在线播放| 国产97公开成人免费视频| 欧美性猛交xxxx乱大交极品| 国产美女91视频| 一级高清毛片免费a级高清毛片| 欧美成人亚洲综合精品欧美激情| 国产无码在线调教| 国产精品深爱在线| 亚洲中文字幕在线一区播放| 在线观看国产精品日本不卡网| 日韩精品一区二区三区swag| 久久国产精品影院| 无码专区在线观看| 亚洲中文字幕无码爆乳| 最新国产网站| 98超碰在线观看| 亚洲精品无码在线播放网站| 日韩亚洲综合在线| 在线亚洲小视频| 青青青草国产| 国产成人综合日韩精品无码首页| 毛片免费在线| 国产综合色在线视频播放线视| 国产成人三级| 欧美日韩国产高清一区二区三区| 日本a∨在线观看| 亚洲码一区二区三区| 欧美一级在线| 在线观看的黄网| 国产精品黄色片| 天堂岛国av无码免费无禁网站| 青青久视频| 黄色网页在线播放| 亚洲自拍另类| 成年免费在线观看| 国产美女精品在线| 456亚洲人成高清在线| 中文字幕资源站| 欧美国产菊爆免费观看 | 欧美日韩一区二区三| 免费99精品国产自在现线| 久久国产av麻豆| 亚洲精品国产乱码不卡| 亚洲不卡影院| 最新日韩AV网址在线观看| 婷婷六月综合网| 欧美区一区二区三| 国产成人av大片在线播放| 日韩天堂视频| 欧美日韩中文字幕在线| 亚洲丝袜中文字幕| 国产丰满大乳无码免费播放| 国产丝袜第一页| 亚洲天堂久久新| 国产精品亚洲а∨天堂免下载| 亚洲精品动漫| 日韩美一区二区| 黄色网站在线观看无码| 97国产成人无码精品久久久| 国产欧美日韩另类精彩视频| 亚洲国产综合自在线另类| 亚洲天堂精品视频|