畢業(yè)設(shè)計(jì)數(shù)控系統(tǒng)參數(shù)備份研究及軟件的設(shè)計(jì)_第1頁
畢業(yè)設(shè)計(jì)數(shù)控系統(tǒng)參數(shù)備份研究及軟件的設(shè)計(jì)_第2頁
畢業(yè)設(shè)計(jì)數(shù)控系統(tǒng)參數(shù)備份研究及軟件的設(shè)計(jì)_第3頁
畢業(yè)設(shè)計(jì)數(shù)控系統(tǒng)參數(shù)備份研究及軟件的設(shè)計(jì)_第4頁
畢業(yè)設(shè)計(jì)數(shù)控系統(tǒng)參數(shù)備份研究及軟件的設(shè)計(jì)_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、南京信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)論文作者 翁云飛 學(xué)號 20952p33 系部 機(jī)電學(xué)院 專業(yè) 數(shù)控技術(shù) 題目 數(shù)控系統(tǒng)參數(shù)備份研究及軟件的設(shè)計(jì) 指導(dǎo)教師 諶鵬 評閱教師 完成時(shí)間: 2012 年 5月 24 日 數(shù)控系統(tǒng)參數(shù)備份研究及軟件的設(shè)計(jì)摘要:數(shù)控系統(tǒng)的正確運(yùn)行,必須保證各種參數(shù)的正確設(shè)定,不正確的設(shè)置和更改,都可能會造成嚴(yán)重的后果。所以,此時(shí)做好數(shù)控系統(tǒng)參數(shù)的備份顯得尤為重要。目前大部分機(jī)床都配備了rs232c串行通信接口,該接口可以通過一根通信電纜實(shí)現(xiàn)與計(jì)算機(jī)的數(shù)據(jù)通信。參數(shù)備份軟件的設(shè)計(jì)無疑不解決了有效實(shí)現(xiàn)參數(shù)備份的這個(gè)問題。在軟件設(shè)計(jì)的過程中,利用了mscomm控件實(shí)現(xiàn)來自數(shù)控系統(tǒng)

2、數(shù)據(jù)的傳輸與接收。另外通過修改軟件的通信參數(shù)選項(xiàng),可以使該軟件實(shí)現(xiàn)在不同的數(shù)控系統(tǒng)上正常的運(yùn)行,提高了該軟件的通用性。關(guān)鍵詞:數(shù)控系統(tǒng) 參數(shù) 備份 通信畢業(yè)設(shè)計(jì)(論文)中文摘要畢業(yè)設(shè)計(jì)(論文)外文摘要title : the research of the nc systems parameters backup and the design of backup software abstract:for the normal operation of nc system,we must ensure that thenc systems parameters are setted correc

3、tly.wrong settings and changes maybe cause serious consequences.so it is important to ensure the nc systems parameters backup.at present, most machine tools are equipped with rs232c serial communications interface.this interface can date the communication with pc by a communication cable.the backup

4、software solves the problems that the realization of parameters backup causes.in the software design process,we achieve the transmitting and receiving of nc system parameters by mscomm control.this software can work normally in many different nc system by modifying communication parameters options.s

5、o it improves this softwares generality. keywords:nc system parameters backup communications 目錄1 引言52 數(shù)控系統(tǒng)參數(shù)62.1 數(shù)控系統(tǒng)參數(shù)的重要性62.2 數(shù)控系統(tǒng)參數(shù)的類型及分類62.3 數(shù)控系統(tǒng)參數(shù)丟失的原因73 軟件運(yùn)行的流程84 參數(shù)備份軟件的設(shè)計(jì)94.1 程序設(shè)計(jì)中所使用的控件94.2 重要控件功能實(shí)現(xiàn)的設(shè)計(jì)方法104.3 軟件實(shí)用性的優(yōu)化與軟件界面的美化165 參數(shù)備份軟件的打包與安裝176軟件的操作與調(diào)試186.1 軟件的模擬調(diào)試186.2 軟件在機(jī)床上調(diào)試19結(jié)論20致謝20參考

6、文獻(xiàn)211 引言隨著我國制造業(yè)的迅速發(fā)展,數(shù)控機(jī)床在機(jī)械加工行業(yè)得到了廣泛的應(yīng)用,也帶來了巨大的經(jīng)濟(jì)效益。數(shù)控機(jī)床系統(tǒng)參數(shù)是數(shù)控機(jī)床所用軟件的外在裝置,他決定數(shù)控機(jī)床的功能和控制精度,是保證數(shù)控機(jī)床正常工作的關(guān)鍵,一旦某一參數(shù)丟失或誤改動,或者由于某種原因使機(jī)床參數(shù)大量丟失,都會使機(jī)床可能陷入癱瘓的狀態(tài)。所以數(shù)控機(jī)床安裝調(diào)試完畢或者進(jìn)行重大的調(diào)整后,進(jìn)行正確、完整、有效的參數(shù)備份是非常必要的。目前數(shù)控機(jī)床配備了r323c串行通行接口,使用該接口只需投入一根通信電纜線,利用pc機(jī)上運(yùn)行的參數(shù)備份軟件便可實(shí)現(xiàn)數(shù)控系統(tǒng)參數(shù)備份,因此其硬件投入成本較低。同時(shí)備份后的參數(shù)為文本格式,在pc機(jī)上通過記事本

7、軟件即可打開,對于數(shù)控系統(tǒng)參數(shù)的研究也非常方便。本文通過對數(shù)控系統(tǒng)參數(shù)的研究,介紹了數(shù)控系統(tǒng)參數(shù)的基本概念,參數(shù)備份軟件的設(shè)計(jì),包括軟件通信參數(shù)的設(shè)置、程序的開發(fā)、軟件的優(yōu)化,以及數(shù)控系統(tǒng)參數(shù)備份的實(shí)現(xiàn)過程。2 數(shù)控系統(tǒng)參數(shù)2.1 數(shù)控系統(tǒng)參數(shù)的重要性數(shù)控機(jī)床參數(shù)是數(shù)控機(jī)床所用軟件外在的裝置,它對數(shù)控機(jī)床的功能和控制精度有著很大的影響,是保證數(shù)控機(jī)床正常工作的關(guān)鍵。一旦某一參數(shù)修改,或者由于某種原因使機(jī)床參數(shù)大量丟失,都會使機(jī)床可能陷入癱瘓狀態(tài)。無論哪個(gè)公司的數(shù)控系統(tǒng)都有大量的參數(shù),如fanuc公司6t-b系統(tǒng)就有294項(xiàng)參數(shù)。有的一項(xiàng)參數(shù)就有8位,粗略算起來一套cnc系統(tǒng)配置的數(shù)控系統(tǒng)機(jī)床就

8、有近千個(gè)參數(shù)要設(shè)定。這些參數(shù)的設(shè)置正確與否直接影響數(shù)控機(jī)床的使用和其性能的發(fā)揮。特別是用戶能充分掌握和理解這些參數(shù),將會使一臺數(shù)控機(jī)床的使用和性能發(fā)揮一個(gè)新的水平。數(shù)控系統(tǒng)系統(tǒng)中的數(shù)據(jù)文件分為系統(tǒng)文件、mtb(機(jī)床制造廠)文件和用戶文件。其中系統(tǒng)文件和mtb文件存儲在數(shù)控系統(tǒng)的主板上的flash-rom芯片中,該芯片為只讀存儲器,數(shù)據(jù)無需保護(hù),一般不會丟失。用戶文件則存儲在static-ram芯片中,該芯片為靜態(tài)存儲器,需要電池保護(hù),容易丟失。此外,用戶文件包含了系統(tǒng)參數(shù)、螺距誤差補(bǔ)償值、加工程序、宏程序、刀具補(bǔ)償值、工件坐標(biāo)系數(shù)據(jù)、pmc參數(shù)等數(shù)據(jù)。其中加工程序、刀具補(bǔ)償和工件坐標(biāo)系數(shù)據(jù)在零

9、件加工中經(jīng)常由機(jī)床操作者根據(jù)加工情況而做修改,而系統(tǒng)參數(shù)、螺距誤差補(bǔ)償值、宏程序和pmc參數(shù)一般不需要進(jìn)行修改,同時(shí)這些參數(shù)關(guān)系到機(jī)床能否正常運(yùn)行。因此,對數(shù)控系統(tǒng)的參數(shù)進(jìn)行完整、有效的備份是十分有必要的。2.2 數(shù)控系統(tǒng)參數(shù)的類型及分類認(rèn)識了數(shù)控系統(tǒng)參數(shù)重要性之后,如果想實(shí)現(xiàn)其備份,必須對數(shù)控系統(tǒng)參數(shù)的類型、分類更有必進(jìn)行一個(gè)詳細(xì)的認(rèn)識。fanuc系統(tǒng)是一個(gè)比較典型的數(shù)控系統(tǒng),所以本文針對性地對fanuc系統(tǒng)參數(shù)進(jìn)行了研究。無論是哪種型號的數(shù)控系統(tǒng)都有大量的參數(shù),少則幾百個(gè),多則上千個(gè),看起來眼花繚亂。但經(jīng)過仔細(xì)分析,還是有章可循的。按照參數(shù)的表示形式來劃分,數(shù)控機(jī)床的參數(shù)可分為三類:狀態(tài)型

10、參數(shù)、比率型參數(shù)、真實(shí)值參數(shù)。其中狀態(tài)型參數(shù)是指每項(xiàng)參數(shù)的八位二進(jìn)制數(shù)位中,每一位都表示一種獨(dú)立的狀態(tài)或者功能的有無。例如fanuc0-td系統(tǒng)的1號參數(shù)項(xiàng)中所表示的就是狀態(tài)型參數(shù)。另外參數(shù)本身的性質(zhì)可分為兩類:普通型參數(shù)、秘密級參數(shù)。表1 數(shù)控系統(tǒng)參數(shù)的類型數(shù)據(jù)形式位型0或1位軸型字節(jié)型-1281270256有些參數(shù)中不使用符號字節(jié)軸型字形-327683276065535有些參數(shù)中不使用符號字軸型雙字型-9999999999999999雙字軸型總之,不管數(shù)控系統(tǒng)參數(shù)多么的復(fù)雜,歸根結(jié)底,他們都是由一連串的數(shù)字、字母或者字符組成的有意義的數(shù)列。2.3 數(shù)控系統(tǒng)參數(shù)丟失的原因數(shù)控系統(tǒng)參數(shù)丟失的原

11、因的很多,掌握其丟失的原因,不僅對更好使其恢復(fù)至關(guān)重要,更有利于保護(hù)好參數(shù),以防下次的丟失。經(jīng)過分析,數(shù)控系統(tǒng)參數(shù)丟失的原因,一般有以下幾種原因:1、 數(shù)控系統(tǒng)后備電池失效2、 參數(shù)存儲器故障或元器件老化3、 機(jī)床長期閑置不用,沒有定期對機(jī)床上電4、 機(jī)床在dnc狀態(tài)下加工工件或進(jìn)行數(shù)據(jù)通訊過程中電網(wǎng)迅速停電5、 受到外部干擾,使參數(shù)丟失或發(fā)生混亂6、 操作者的誤操作3 軟件運(yùn)行的流程在我們使用軟件的時(shí)候,首先,第一步我們需要對軟件的通信參數(shù)進(jìn)行設(shè)置,不管我們實(shí)在模擬使用,還是在機(jī)床上實(shí)際操作都是一樣。當(dāng)我們將所有的通信參數(shù)設(shè)置完畢之后,接下來軟件將進(jìn)入等待狀態(tài),等待數(shù)據(jù)的輸入。當(dāng)用戶按下【接

12、收】按鈕后,軟件將通過commondialog控件及相關(guān)代碼生成保存文件的對話框,并選擇保存路徑,然后進(jìn)入等待接收狀態(tài),一旦有數(shù)據(jù)進(jìn)入即開始接收,接收完畢后將自動保存文件至相應(yīng)的路徑。當(dāng)數(shù)據(jù)接收完畢之后,軟件也會自動提示用戶,數(shù)據(jù)接收完畢。接下來用戶可以對接收的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)和研究。接收過程的設(shè)計(jì)流程圖見圖1。接收并暫存數(shù)據(jù) 數(shù)據(jù)預(yù)處理 結(jié)束并保存數(shù)據(jù) 等待接收完成通信參數(shù)的設(shè)置 接收數(shù)據(jù) 等待數(shù)據(jù)的輸入顯示數(shù)據(jù)接收狀態(tài) 圖1 數(shù)據(jù)運(yùn)行的流程圖4 參數(shù)備份軟件的設(shè)計(jì)本次軟件設(shè)計(jì)采用了vb編程語言設(shè)計(jì),該語言擁有友好的圖形用戶界面和快速應(yīng)用程序開發(fā)系統(tǒng),可以輕易連接數(shù)據(jù)庫 ,或者輕松的創(chuàng)建 act

13、ivex 控件,正是由于它獨(dú)特的優(yōu)點(diǎn)使其得到了很好的應(yīng)用,被很多人所接受。而且該語言簡潔、易上手,可以用來開發(fā)一些簡易的小程序,用于交流和學(xué)習(xí)。本次所用軟件為visual basic 6.0。該軟件在設(shè)計(jì)的過程中,采用了簡介明了的設(shè)計(jì)風(fēng)格。界面一目了然、操作簡單、使用功能非常方便。軟件界面如圖2:圖2 軟件界面圖4.1 程序設(shè)計(jì)中所使用的控件 為了達(dá)到預(yù)期的設(shè)計(jì)效果和功能,程序設(shè)計(jì)過程中使用了大量的控件,下面介紹幾種設(shè)計(jì)過程中重要的控件。編程中使用的主要控件有richtextbox、combobox、commondialog和mscomm、label、commandbutton、frame等。

14、richtextbox控件的功能為顯示收到的數(shù)據(jù)文本;combobox控件的功能為提供各通信參數(shù)的選擇操作;commondialog控件的功能為產(chǎn)生文件保存的對話框;mscomm控件的功能為通過pc機(jī)的串行通信接口實(shí)現(xiàn)數(shù)據(jù)的接收;label 控件實(shí)現(xiàn)軟件功能分區(qū)和功能的標(biāo)識、信息的提示;frame 控件實(shí)現(xiàn)軟件面板上功能區(qū)的劃分;commandbutton 控件:實(shí)現(xiàn)軟件功能的按鈕。4.2 重要控件功能實(shí)現(xiàn)的設(shè)計(jì)方法4.2.1 通信參數(shù)的選項(xiàng)設(shè)置串行通信過程中通信雙方必須按照相同的通信協(xié)議才能實(shí)現(xiàn)數(shù)據(jù)的正確傳輸。數(shù)控系統(tǒng)是以系統(tǒng)參數(shù)的形式是實(shí)現(xiàn)通信參數(shù)的設(shè)置的。本次研究中所研究的數(shù)控系統(tǒng)通信參

15、數(shù)設(shè)置如下表2:表2 機(jī)床數(shù)控系統(tǒng)串行通信參數(shù)的設(shè)置及含義 參數(shù)號 設(shè)定值 含義 p0.1 1 數(shù)據(jù)輸出是代碼為iso代碼p20 0 i/o通道號為1(rs232c串口為com1口)p100.3 0 iso代碼對eob輸出lf,cr,crp100.5 1 連續(xù)讀取,當(dāng)緩沖器滿時(shí)輸出一個(gè)dc3代碼p101.0 1 停止位為2位p100.3 1 輸入的數(shù)據(jù)為ascii代碼p102 0 握手方式為軟件握手,使用控制代碼dci-dc4p103 11 波特率為9600 串行通信過程中,對于數(shù)據(jù)的數(shù)據(jù)位和奇偶校驗(yàn)也需要進(jìn)行正確的設(shè)置,本次研究所使用的數(shù)控系統(tǒng)對這連個(gè)參數(shù)都有其固定值,無需對其進(jìn)行設(shè)置,但是

16、我們在使用軟件的時(shí)候必須要知道系統(tǒng)的數(shù)控位和奇偶校驗(yàn)的設(shè)置情況,否則將無法進(jìn)行正確的數(shù)據(jù)通信。通過查閱該數(shù)控系統(tǒng)的使用說明書可以知道其數(shù)據(jù)位為7位,可以表示ascii碼0到127的字符,由于用戶文件均為ascii碼0到127的字符,因此在我們的軟件也應(yīng)該使用7位數(shù)據(jù)來傳輸各個(gè)字符,同時(shí),該系統(tǒng)的數(shù)據(jù)校驗(yàn)形式為偶校驗(yàn),所以,在該軟件中數(shù)據(jù)校驗(yàn)形式也應(yīng)該為偶校驗(yàn)。為了提高該軟件的通用性,該軟件在設(shè)計(jì)過程提供了多種通信參數(shù)的選項(xiàng)設(shè)置,使得該軟件更實(shí)用和人性化了。在軟件設(shè)計(jì)過程中,運(yùn)用了additem函數(shù)添加combox的列表,為軟件提供多種通信參數(shù)的選擇。在串口列表中添加了“com1、com2、co

17、m3、com4”;波特率列表中添加了“300、600、1200、2400、4800、9600、19200、38400、57600、115300”;奇偶校驗(yàn)列表中添加了“無none、奇odd、偶even”;數(shù)據(jù)列表中添加了“8、7、6”;停止位列表中添加了“1、2”。軟件中的編程語句如下:private sub form_load()combo1.additem com1、combo2.additem 110、combo2.additem 115200combo3.additem 無none、combo4.additem 8combo4.additem 7combo4.additem 6comb

18、o5.additem 1combo5.additem 2end subdim port$, baudrate$, parity$, databits$, stopbits$port = mid$(combo1.text, 4, 1)baudrate = combo2.textparity = mid$(combo3.text, 2, 1)databits = combo4.textstopbits = combo5.textcomm1.commport = portcomm1.settings = baudrate + , + parity + , + databits + , + stopb

19、itscomm1.portopen = truecomm1.rthreshold = 1 起用oncomm()事件comm1.inbuffercount = 0 清空輸入緩沖區(qū)comm1.outbuffercount = 0 清空輸出緩沖區(qū)comm1.inputmode = cominputmodebinary 以二進(jìn)制方式接收end sub4.2.2 數(shù)據(jù)的預(yù)處理由于數(shù)控系統(tǒng)的參數(shù)中有一部分是控制命令字符,它們的ascii碼值小于34,不能通過richtextbox控件顯示,所以必須對其進(jìn)行過濾。同時(shí)為了實(shí)現(xiàn)數(shù)據(jù)的預(yù)處理功能,我們將接收到的數(shù)據(jù)以二進(jìn)制的形式保存到了我們的字節(jié)型數(shù)組里面。對接

20、收到的數(shù)據(jù)我們還進(jìn)行了計(jì)數(shù)和換行處理。部分程序代碼如下:public function process_data() 數(shù)據(jù)處理函數(shù)dim i%for i = 0 to ubound(bytinput) if bytinput(i) 33 then 過濾不可見字符 strdata = strdata & chr$(bytinput(i) chr函數(shù)是將ascii轉(zhuǎn)化成對應(yīng)的字母 end if if bytinput(i) = &ha then 文本換行處理 a為16進(jìn)制 strdata = strdata & chr$(13) & chr$(10) end ifnext irichtextbox

21、1.text = richtextbox1.text & strdata 預(yù)處理完畢后顯示在文本框中end function數(shù)據(jù)處理舉例:源程序%o1234 ;n10 g54 g90 ;%對應(yīng)的ascii碼:dc2 % sp lf cr cr o 1 2 3 4 lf cr cr n 1 0 g 5 4 g 9 0 lf cr cr % dc4轉(zhuǎn)換成16進(jìn)制:12 25 20 0a 0d 0d 4f 31 32 33 34 0a 0d 0d 4e 31 30 47 35 34 47 39 30 0a 0d 0d 25 14 4.2.3 數(shù)據(jù)的接收與暫存在這個(gè)功能程序部分涉及了很多變量,但是基本

22、的思路還是很明確的。正如本小節(jié)的標(biāo)題一樣,此部分主要實(shí)現(xiàn)的功能是數(shù)據(jù)的接收與暫存兩大塊。其中還涉及了label控件,用來顯示數(shù)據(jù)接收的情況,使用戶對數(shù)據(jù)接收過程更直觀化。此外還對緩存區(qū)的數(shù)據(jù)進(jìn)行了計(jì)數(shù),然后將其結(jié)果賦值給通信控件讀取數(shù)據(jù)的個(gè)數(shù)和字節(jié)數(shù)組的長度。private sub comm1_oncomm()dim slen%dim tmp as variant 定義變體類型dim j%, msgvalue% 定義檢測數(shù)據(jù)是否接受完畢所用到的變量(整形變量)label7.caption = 正在接收數(shù)據(jù)。command1.enabled = falseselect case comm1.co

23、mmeventcase comevreceivecomm1.rthreshold = 0 暫停引發(fā)oncomm()事件slen = comm1.inbuffercount 獲取接收緩沖區(qū)的字符數(shù)comm1.inputlen = slen 設(shè)置讀取數(shù)據(jù)的個(gè)數(shù)為接收的個(gè)數(shù)redim bytinput(slen) 重新定義字節(jié)數(shù)組的長度tmp = comm1.inputbytinput = tmpprocess_data 調(diào)用數(shù)據(jù)預(yù)處理函數(shù)j = instr(strdata, %) 檢測接收的數(shù)據(jù)中是否有%,并對其計(jì)數(shù)if j 0 thencounter_receive = counter_rece

24、ive + 1j = j + 1 if instr(j, strdata, %) 0 then counter_receive = counter_receive + 1 end ifend ifif counter_receive = 2 then 接收完畢后(收到2個(gè)%)關(guān)閉端口并自動保存接收的數(shù)據(jù)msgvalue = msgbox(傳輸完畢, vbokonly + vbinformation, 消息) if msgvalue = vbok then 判斷數(shù)據(jù)是否完整接收,如果完整接收將會檢查到兩個(gè)% comm1.portopen = false comm1.rthreshold = 0

25、richtextbox1.savefile commondlg1.filename, rtftext label7.caption = 請點(diǎn)擊接收按鈕。 command1.enabled = true end ifexit subend ifstrdata = 清空臨時(shí)變量bytinput = 清空臨時(shí)變量dim buf as stringbuf = comm1.inputrichtextbox1.text = richtextbox1.text + buf 以將接收完的數(shù)據(jù)再次顯示在文本接收區(qū)comm1.rthreshold = 1 重新起用oncomm()事件end selectend s

26、ub4.2.4 接收數(shù)據(jù)字?jǐn)?shù)的統(tǒng)計(jì)為了便于我們今后的研究,我們不僅僅只要接收數(shù)控系統(tǒng)的參數(shù),我們還需要對其進(jìn)行保存和統(tǒng)計(jì)。本段程序的編寫主要是為了對軟件接收的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。該功能的實(shí)現(xiàn),主要使用的是邏輯函數(shù)的運(yùn)算,并沒有過多的使用控件。對于最后統(tǒng)計(jì)的結(jié)果,msgbox控件無疑是一個(gè)很好的選擇,一目了然的對話框,簡潔明了。主要統(tǒng)計(jì)的信息有數(shù)字字?jǐn)?shù)、英文字?jǐn)?shù)、漢字字?jǐn)?shù)和字節(jié)數(shù)。private sub command3_click()dim str as string 總字符dim k as long 計(jì)數(shù)器dim tmpstr as string 逐一檢測的字符c = 0: e_word = 0:

27、 num = 0: s = 0 清空變量str = richtextbox1.text & 加一空格便于意外時(shí)計(jì)算最后一個(gè)字符for k = 1 to len(str) - 1tmpstr = mid$(str, k, 1)if asc(tmpstr) = 65 and asc(tmpstr) = 90 then 小寫字母if asc(mid$(str, k + 1, 1) 90 and asc(mid$(str, k + 1, 1) 122 then e_word = e_word + 1if asc(mid$(str, k + 1, 1) = 39 or asc(mid$(str, k +

28、 1, 1) = 45 then e_word = e_word - 1 是符號注釋:或-時(shí)elseif asc(tmpstr) = 97 and asc(tmpstr) = 122 then 大寫字母if asc(mid$(str, k + 1, 1) 90 and asc(mid$(str, k + 1, 1) 122 then e_word = e_word + 1if asc(mid$(str, k + 1, 1) = 39 or asc(mid$(str, k + 1, 1) = 45 then e_word = e_word - 1 是符號注釋:或-時(shí)elseif asc(tmps

29、tr) = 48 and asc(tmpstr) = 57 then 阿拉伯?dāng)?shù)字?jǐn)?shù)字if asc(mid$(str, k + 1, 1) 57 then num = num + 1elseif asc(tmpstr) 127 or asc(tmpstr) 0 then 中文字符c = c + 1end ifnexts = lenb(strconv(richtextbox1.text, vbfromunicode) 全部字符msgbox 本文共有: & vbcrlf & vbcrlf & 漢字字?jǐn)?shù): & c & _ 個(gè) (含全角標(biāo)點(diǎn)) & vbcrlf & 英文單詞: & e_word & 個(gè)

30、(不含半角標(biāo)點(diǎn)) & vbcrlf & _數(shù)字: & num & 個(gè) & vbcrlf & 全部字節(jié): & s & 個(gè), vbinformation, 字?jǐn)?shù)統(tǒng)計(jì)end sub圖3 字?jǐn)?shù)統(tǒng)計(jì)對話框4.2.5 確認(rèn)數(shù)據(jù)接收完的系統(tǒng)提示在我們的數(shù)據(jù)接收接收完成之后,為了提醒用戶,我們設(shè)計(jì)了一個(gè)小的信息提示框,如下:圖4數(shù)據(jù)傳輸完成提示框4.2.6 接收數(shù)據(jù)的保存如果按照功能介紹的先后,本來這部分應(yīng)該放在上面“數(shù)據(jù)的接收與暫存”這一小節(jié)來介紹的,但是考慮到軟件程序運(yùn)行的先后,還是把它放到了最后。其實(shí)這個(gè)數(shù)據(jù)保存的功能,在我們點(diǎn)擊接收按鈕之后就可以實(shí)現(xiàn)了。它主要利用了commondialog這個(gè)控件,實(shí)

31、現(xiàn)了接收數(shù)據(jù)的目標(biāo)保存,正是借助了這一特性才最終實(shí)現(xiàn)了數(shù)控機(jī)床參數(shù)的備份。部分程序代碼如下:commondlg1.filename = commondlg1.filter = nc文件(*.nc)|*.nc|純文本文件(*.txt)|*.txt|所有文件(*.*)|*.*commondlg1.showsaverichtextbox1.savefile commondlg1.filename, rtftext圖5 接收數(shù)據(jù)保存提示界面4.3 軟件實(shí)用性的優(yōu)化與軟件界面的美化4.3.1 軟件實(shí)用性的優(yōu)化為了提高軟件的實(shí)用性,我們對軟件進(jìn)行了更近一步的改善和優(yōu)化。其中有一個(gè)小的變化就是,在用戶使用完

32、軟件的時(shí)候,為了確保用戶不是由于誤操作而將軟件關(guān)閉,我們設(shè)計(jì)了一個(gè)小小的提示框,提示用戶是否真的需要關(guān)閉軟件,對話框的界面如下: 圖6 軟件退出提示框部分程序代碼如下;private sub form_unload(cancel as integer)dim myexit as integermyexit = msgbox(確實(shí)想退出嗎?, vbyesno + vbquestion + vbdefaultbutton2, 退出)if myexit = vbno thencancel = 1end if4.3.2 軟件界面的美化為了增強(qiáng)軟件的美觀性,我們對軟件的主界面進(jìn)行了適當(dāng)?shù)拿阑?,主要是對?/p>

33、口form的外觀屬性picture進(jìn)行了設(shè)置。美化后的界面如圖1:5 參數(shù)備份軟件的打包與安裝一般來說,用vb開發(fā)完成的軟件在開發(fā)環(huán)境所在計(jì)算機(jī)上運(yùn)行是不會有什么問題的,但拷貝到其它計(jì)算機(jī)上就不能保證軟件仍能正常運(yùn)行,原因很簡單:軟件運(yùn)行需要特寫的動態(tài)鏈接庫(包括控件)文件支持,并不是所有計(jì)算機(jī)上都會具備軟件運(yùn)行所需要的這些環(huán)境庫文件。正因?yàn)槿绱?,軟件開發(fā)完成一般都需要制作安裝程序,以便在目標(biāo)計(jì)算機(jī)上安裝這些環(huán)境庫文件。 vb集成開發(fā)軟件提供了一個(gè)叫“package & deployment 向?qū)А钡陌惭b程序制作工具,可以直接把編寫完成的軟件打包為安裝程序。打包的方法:(1)打開vb6.0 i

34、de,加載你的工程,單擊“外接程序”菜單下的“外接程序管理器”。 (2)在彈出的窗體中選擇“打包和展開向?qū)А保ㄗ詈笠豁?xiàng)),在加載行為中選擇“加載/卸載”,確定。 (3)再次單擊“外接程序”菜單項(xiàng),單擊“打包和展開向?qū)А薄?(4)單擊“打包”,選擇“標(biāo)準(zhǔn)安裝包”,一直單擊下一步,最后點(diǎn)“完成”,點(diǎn)“關(guān)閉”。 (5)此時(shí)你的工程文件夾下會有一個(gè)名為“包”的文件夾。 (6)單擊“展開”,單擊下一步(2個(gè)),此時(shí)詢問“您希望在哪里展開這個(gè)包?”,單擊“新建文件夾” 。在電腦中其他位置新建一個(gè)文件夾,單擊下一步,點(diǎn)“完成”,點(diǎn)“關(guān)閉”。 (7)關(guān)閉“打包和展開向?qū)А薄?(8)在剛才建立的文件夾下就是安裝程序了!圖7 軟件打包的界面圖軟件的安裝其實(shí)更簡單,跟一般軟件的安裝步驟相似,甚至更為簡單,找到安裝包,然后在安裝包下面找到一個(gè)名為setup的安裝工具包運(yùn)行程序,點(diǎn)擊之后按照向?qū)Ь涂梢詫?shí)現(xiàn)安裝了。6 軟件的操作與調(diào)試6.1 軟件的模擬調(diào)試在完成參數(shù)備份軟件的設(shè)計(jì)之后,需要對軟件進(jìn)行模擬調(diào)試。調(diào)試過程采用virtual serial port kit軟件(軟件界面見圖8)形成了兩個(gè)虛擬串口,然后再通過串口調(diào)試軟件(軟件界面見圖9),實(shí)現(xiàn)了數(shù)據(jù)的調(diào)試傳輸。調(diào)試操作方法具體如下:1、設(shè)置virtua

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論