前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇vb程序設計論文范文,相信會為您的寫作帶來幫助,發現更多的寫作思路和靈感。
一、學情分析
學情分析是教學設計系統中“影響學習系統最終設計”的重要因素之一。在教學設計中,依據教學設計理論,認真研究學生的實際需要、能力水平和認知傾向,“為學習者設計教學”,可優化教學過程,更有效地達成教學目標,提高教學效率。vb的開課學期一般在大一第二學期,按照專業培養計劃,計算機網絡技術等專業在新生入學的第一學期就開設了《C語言程序設計》這門課。對于從未接觸過語言類課程的大一新生來說,C語言的學習,顛覆了大部分學生的思維方式,學生普遍感到很吃力,有相當一部分同學開始對程序類課程感到害怕。
二、教學方法探討
1.消除學生的畏難情緒
為了打消學生的畏難情緒,對于VB教學,應首先與學生談VB,而不是教VB。首先,要讓學生明白VB和C語言是完全不同的兩種編程方式,不要因為害怕C語言,而害怕VB。教學中,通過演示一個簡單的例子,向學生演示只需要兩行代碼便可制作出美觀的界面和可愛的功能。比如:示例1:制作美觀的界面,實現窗體上的文字自動或手動的向下移動。突現VB相對于C語言的簡單易懂,引導學生一步步完成所需功能。最后,啟發學生:如果想讓文字上移,如何修改程序?如果想讓文字左移或右移,如何修改程序?如果想讓文字左右交替移動,又要如何修改程序?通過上述示例的講解,使得學生對VB有一個全新的認識——直觀、簡單、易學、易用。其次,要讓學生了解為什么學習VB,VB對于他們有多么重要。這門課的開設除了承上啟下其他專業課程外,還有一個重要的作用就是為了讓學生能夠參加計算機二級考證,VB在二級考證中相對比較易學易用。再次,告訴學生,有了C語言的基礎,代碼的編寫會更為容易。從而激發學生學習的信心。
2.提高學生的學習興趣
在教學過程中應盡量使用簡單易懂的語言和示例,提高學生的學習興趣,幫助學生理解知識點。比如,在講屬性、方法和事件這三個很枯燥的概念時,可以通過生活中有趣的示例來進行解釋。示例2:通過“蟑螂從女生腳上爬過”的事例,講解屬性、方法和事件的概念。蟑螂從女生腳上爬過時,女生的臉色變紅,臉的顏色為紅色就是屬性;女生尖叫起來,女生跳起來,這是女生本身做出的動作就是方法;蟑螂爬過女生的腳,這是外部事物對女生做出的動作,就是事件。通過這種類型的示例,成功吸引了學生的注意力,也幫助學生理解了這幾個難懂的概念。在講屬性、方法、事件的書寫格式時,也可將這個示例寫成VB偽代碼的形式:屬性的表示方法:女生.臉的顏色=紅色方法的表示方法:女生.尖叫啊事件的表示方法:女生_蟑螂爬過至此,學生對VB程序一下就理解了。
3.實踐中學習,項目中鞏固
要想學好程序設計類的課程,大量的練習是必不可少的。因此,將所有知識點都融入到一個個的項目實例中。課堂上邊演示邊制作,課后布置一些舉一反三的題目,讓學生自己在課后完成。
關鍵詞:程序設計;教學方法;能力
中圖分類號:G642文獻標識碼:A文章編號:1009-3044(2008)31-0922-02
An Exploration of VB Program Design Teaching Methods
REN Hong-jian
(Nantong University, Nantong 226019, China)
Abstract: In teaching program design, finding new ways to solve the dryness and complexity of program design has always been a fascinating subject for many computer science educators. This article provides several ideas on the following aspects of teaching VB program design: how toimprove course quality, how to enhance the teaching effectiveness, how to nurture and strengthen students’ ability and creativity in analyzingand solving a design problem, etc.
Key words: program design; teaching methods; aptitude
1 引言
掌握和應用好計算機知識是當代大學生必須具備的基本條件,為此,國家教育部根據高等院校非計算機專業計算機培養目標提出了“計算機文化基礎”、“計算機技術基礎”、“計算機應用基礎”三個層次的教育體系。VB屬于第二層次范疇的計算機編程語言,已被列為公共必修課程。
程序設計語言類課程的指導思想是:使學生通過學習既掌握高級編程語言的知識、編程技術和基本算法,又掌握程序設計的思想和方法,更具備利用計算機求解實際問題的能力,能靈活運用高級語言進行程序設計。其重點是培養學生掌握程序設計的思想和方法,難點是作為程序設計的入門課程,應當如何引導學生突破傳統的思維方式,培養程序設計的新思想。本文結合教學實踐與理論思考,談談在教學上的一些經驗和體會。
2 VB教學中存在的問題
第一,課堂教學模式單一。目前,Visual Basic 課程的教學模式主要是使用多媒體教室,教師采用Powerpoint課件加實例演示的教學模式,該模式比以前的“粉筆”+“黑板”教學模式有了很大的提高,加大了課堂的信息量,更直觀形象了。但如果僅采用這樣單一的教學模式,學生的學習過程還是以教師為中心,課件的信息量很大,授課速度又快,學生的自主學習和協作學習的積極性仍然沒有得到充分調用;第二,上機實驗過程中,學生是自主學習,忽視教師的引導作用。首先,在上機實驗中,教師布置上機的任務后,學生自行練習,教師就忙于解答學生提出的問題,而不引導全局。在這種放任學生自主練習的狀況下,整個上機實驗過程節奏松散,而實驗任務對大部分同學來說臺階過高,于是學生感到很茫然,便很快就喪失了學習興趣,甚至厭惡上機。其次,上機人數又多,學生遇到的問題往往得不到教師的及時解決,于是挫折感增加,產生厭煩心理。
3 教學方法的探索
3.1 實例教學,培養學生的學習興趣
程序設計是一種構造性的技術,對于學生來說,程序設計的思維方式和概念都是全新的,學生接受起來很困難,因此必須研究程序設計的教學方法。教學的過程是師生交往、共同發展的互動過程。在程序設計教學中要從學生的興趣入手,利用學生對事物的好奇心,選擇一些有趣的、有實際意義的程序,激發學生的學習興趣。俗話說:教無定法,學無定法。打破課本原有以知識的邏輯結構體系為順序組織課堂教學的方式,以學生的已有知識為基礎,按照學生的認知規律,遵循先易后難、先具體后抽象的原則,通過觀看、模仿、理解、總結、提高五個階段進行教學。讓學生成為學習的主人。
興趣是最好的老師,興趣決定了教學效果的好壞。讓學生明確學習目的很重要,而教師還要在教學過程中去提高學生的學習興趣,使學生對學習本身或過程有興趣,而不是在外界剌激下只關心學習的結果,這直接影響到學生對這門課程的學習效果。教學中僅僅單純地傳遞教材內容是不夠的,在第一堂課中,教師應從學生的興趣入手,利用其對事物的好奇心,選擇一些有趣的、有實際意義的程序,從一開始便激發學生的學習興趣。
3.2 創設問題情境,激發學生學習的主動性
在教學過程中提出問題,集中學生的注意力,促進學生主動思考、主動探索,可以使學生在學習的過程中成為主體。實際上,問題是最好的老師,是學生學習的引導者,沒有問題便沒有深入,老師要引導學生在解決問題中學習,即提出問題,留給學生時間思考、討論、解決問題,從而更深入地展開學習。實踐證明,這種教學方法充分調動了學生學習的積極性和主動性。
例如,在講數組的概念時,老師先設置問題編程計算10個數的和。根據以前所學,學生會想到需要定義10個變量用于存放這10個數。再進一步要求計算50個數的和。這時候如果再定義50個變量,則會非常麻煩,學生此刻開始思考該如何合理地聲明變量。再深人一步求100個數的和。此時,當教師引出數組的概念、分析數組的性質時,學生不僅能夠很容易記住數組的性質,還能夠知道在什么情況下使用數組,事半功倍。
3.3 舉一反三,培養學生的創新思維
編程教學的根本目的是要使學生能夠獨立地編寫程序,而這正是編程教學中最大的難點。在實際教學中,筆者采用以下幾步措施來逐漸使學生能夠獨立編一些簡單的程序:第一步精講例題,詳細分析其算法,逐一列出解題步驟,給出完整程序;第二步精心挑選很多程序題,讓學生閱讀程序,寫出程序執行結果,這一步十分關鍵,讀懂理解人家的程序是以后自行獨立編程的前提;第三步是讓學生做程序填充題和程序改錯題,即給出相應程序,把其中一些關鍵地方留空,讓學生填充,或在程序中提供一些錯誤語句,要求學生修改正確;第四步出一些類似例題的編程問題,讓學生模仿完成;第五步讓學生獨立編寫簡單的程序。例如,為了讓學生獨立解決求s=1-1/2+1/3-1/4+...+1/99-1/100的程序,首先詳細分析了求s=1+2+3+...+99+100 的編程,程序如下:
Dim i As Integer
Dim sum As Integer
sum=0
For i=1 to 100 step 1
sum=sum+i
Next i
Print "sum="; sum
然后,將上題中“For i=1 to 100 step 1”這一語句略作改動:①For i=1 to 100 step 2;②For i=0 to 100 step 2;其余不變,讓學生閱讀程序并分析。程序①實際上是求100 以內奇數之和,程序②實際上是求100 以內偶數之和。再將上題中sum=sum+i 這一語句改成sum=sum+1/i,其余不變,那又如何呢?學生很容易得出程序實際上是求s=1+1/2+1/3+...+1/100,進一步引導學生,這個程序有什么問題?答案是由于求和結果不可能是整數,故語句Dim sum As Integer 應該改成Dim sum As Single。再引導學生思考,要求s=1-2+3-4+...+99-100的編程,上題中循環體sum=sum+I 應該怎樣改動? 結合相關數學知識,學生很自然得到正確結sum=sum+i*(-1)^(i+1)。有了上述的層層鋪墊,相信學生是能夠獨立完成s=1-1/2+1/3-1/4+...+1/99-1/100 的程序代碼設計的。
能獨立編程后,還應善于總結。有些編程題,表面上看起來好象不一樣,它們實質上可以用一道通用的程序來實現,只要改變其中的一條語句就可以了。如:
例1:編程求任意三個數中的最小數。
例2:編程求任意三個數中的最大數。
例3:編程求任意三個數中的中間數。
例4:編程將任意三個數從大到小輸出。
例5:編程將任意三個數從小到大輸出。
這五個編程題,雖然不一樣,但只要會編寫其中的一道題程序,其它題目只要在這道題程序的墓礎上,修改最后的PRINT語句就可以了。
4 根據課程特點,做好歸納小結
程序設計的教學,一般都是從局部分散地講,如果不歸納總結,學生則難以形成完整、清晰的框架,因此,教學中要及時歸納、做好小結。歸納可以是一個控件多方面(如事件、屬性設置等)的歸納,也可以是對一種結構的歸納(如分支結構的歸納)。總結可以是一課的總結,也可以是幾課的總結。歸納總結的形式也可以多種多樣,可以使用文字概括,也可以使用圖示總結,重難點要著重強調。這種歸納總結,一方面有利于學生理解知識、融會貫通,順利實現知識遷移,另一方面對于提高學生的學習效率也有很大的幫助。
總之,教學方法在程序設計教學中舉足輕重,它制約著程序設計教學的效率。雖然教無定法,但萬變不離其宗,絕不能離開程序設計的教學內容和教學目標、脫離學生的知識背景和認知規律。采取符合學生認知規律的、科學的教學方法,必然會提高教學效率,取得事半功倍的效果。
5 不斷培養學生的自學能力
在教學中筆者還注意不斷培養學生的自學能力。自學能力在大學生能力層次當中屬于最重要最基本的,首先,有了自學能力就可以通過課外閱讀,學到課本里沒有的東西,知識豐富了,眼界也開闊了,對于活躍學生的思想,提高科學思維能力大有好處:它可以使學生打破老師和課堂的限制,在學習上獲取更大的自由。其次,學生在學校里生活畢竟是短暫的,現在提倡終身教育,將來不論他們從事哪種工作,都需要在工作中不斷提高文化科學水平,這種提高主要靠自學,即自已閱讀有關書籍和報刊,運用已掌握的知識,去認知新知識,自覺發現問題,再歸納概念,作出判斷,進而解決問題。再次,針對計算機的飛速發展、日新月異的特點,自學能力的成長和提高,顯得更為重要。
在不斷的教改實踐中,筆者始終堅持一個指導思想,即充分相信學生的學習潛力,減少學生對教師和教材的依賴性,激發學生的學習興趣,提高學生學習的主動性,培養學生的好奇心,從而發展學生的分析能力,觀察能力和獨創能力,使學生真正成為課堂的主體。
參考文獻:
[1] 牛又奇,孫建國.新編Visual Basic 程序設計教程[M].蘇州:蘇州大學出版社,2002.
[2] 沈國珍.《VB 程序設計》課堂教學的探索與實踐[J].福建電腦,2007(4).
[論文摘要]針對目前學校在程序設計類課程教學中普遍存在的一些現象,分析教學過程中存在的問題,并以《VB程序設計》課程的教學為例,結合教學實踐,提出相應的改進方法,經實踐證明,有效地提高了教學質量。
程序設計類課程是計算機專業和其他相關專業學生必修課程之一,對學生鍛煉抽象思維、增強對后續課程的理解能力有著不可或缺的作用。現在無論是計算機專業還是非計算機專業,大部分都開設了《VB程序設計》的課程。本課程的目的與任務是使學生通過本課程的學習,掌握使用VB開發Windows應用程序的一般方法和特點,理解Windows應用程序的基本概念、主要功能和Windows應用程序開發的基本思想,能夠根據實際需要自行開發簡單的Windows應用程序,并為今后進一步使用其他面向對象的可視化開發工具開發Windows應用程序打下良好的基礎。但在教學中,會出現這種現象學生可以很快完成和例題相似的題目,但對一些稍微復雜些的程序設計,根本不知道怎么樣進行設計。怎樣才能調動學生學習的積極性和提高程序設計的能力?本文討論了在VB程序設計課程中使用一種基于軟件開發、整體實現的“項目教學法”的一些實踐與探索。
一、程序設計課教學面臨的問題
在程序設計課教學中,多數教師采用的是傳統的教學模式,即:以編程語言的語法教學為主線,教師只是告訴學生那種語言有些什么命令,語言的各種語法,學生只是被動地接受,大量的新專業名詞使學生難以掌握,在具體的編程及上機操作時,往往出現無從下手、錯誤百出、不會調試等情況,還有些學生照著書上能做,脫離書本什么也不會。長期以往,會使學生認為程序設計課程十分深奧、那樣的可望而不可及,最終會導致學生對課程產生厭倦的思想,即使學習完課程,學生的程序設計思路非常狹窄,解決實際問題的能力較差,不利于學生學習興趣的培養以及學生思維能力、創新能力、獨立分析問題和解決問題的能力的提高。
二、“項目教學法”的實踐與探索
“項目教學法”是以一個較完整的軟件開發案例為中心,整個學期的教學都圍繞這個案例的設計進行講解,通過對案例的講解,將程序設計中需要學習的各個知識點融入到案例中,這樣就將理論和實踐完全結合起來,加深了學生對知識點的理解和培養了學習的學習興趣,并引導學生自行對案例進行完善和修改,使學生程序設計能力得到提高。具體實施方案如下:
(一)軟件開發案例的選擇。要準備好一個具有實際應用功能,適合學生掌握的軟件開發案例,案例不能選擇太大太復雜的設計,并且案例中涉及的內容要是學生比較熟悉的,軟件功能不能過于復雜,但必須覆蓋課程中所有的知識點,在講解時選用有代表性的功能模塊。可選用學生成績管理系統、學生選課管理系統、酒店管理系統等MIS系統。
(二)以項目開發形式制定教學計劃和教學進度。在制定課程教學進度的時候要結合項目來進行,教學計劃和教學進度的設計應按軟件設計過程的順序來進行,在課程中可講解有關軟件工程方面的相關知識。
(三)精心準備教案。根據已經制訂的教學計劃和教學進度,將課程中的各知識點較完整地總結歸納,做成電子教案。在講解軟件設計的時候,涉及到某知識點的時候,便可打開該知識點的電子教案進行演示講解,便于學生理解掌握知識點。
(四)鼓勵學生變換代碼。學生在許多情況下只會模仿老師講解的程序完成,并沒有真正理解程序代碼的應用,不知道為什么要這樣寫,在講解過程中,應該鼓勵學生使用其他代碼來完成某些功能,促進學生對程序的理解,提高學生的創新能力。
(五)作業的設計。在知識點講授完后,應設計一個與講的例子難度相當的作業,讓學生思考獨立完成作業,學生完成作業后會有一種成就感和強烈的繼續學的愿望。教師可以通過學生的設計,給他們正確的引導。 轉貼于
(六)課程教學后期讓學生參與項目開發。在課程的基本知識點講授完,學生也掌握比較透徹后,可讓學生參與到項目開發中,將項目中一些功能分成多個模塊,以實驗的形式分配給學生,讓學生也可以在課余的時間進行開發。
(七)改變考核方式。考核方式應該靈活多樣,要甩掉“學為所考”的思想包袱。程序設計課程本身是理論學習與動手操作于一體的課程,不能一味地追求理論知識,而忽視動手操作能力,因此,應對學生的評價貫穿到整個學期的課程學習中。考核應該由平時作業、實驗設計作業、期末考試等幾項組成,平時考核可分階段進行,要讓學生注重學習的過程,而不是考試的結果。
(八)課程實訓。在課程的知識點全部講授完成后,安排2-4周的實訓,讓學生分組自由選題來進行項目的開發,學生在開發時應分組進行,讓學生分組進行開發可以發發揚團隊合作精神,便于優勢互補,有助于學生以后走上工作崗位,適應開發工作。在實訓中,應以學生的設計意見為主,充分發揮學生的能力,教師只給予相應的建議。
三、實施過程
這里以設計管理系統的登陸窗體為例,介紹“項目教學法”中一個模塊教學的具體實施過程。登陸窗體的功能是輸入正確的用戶名和密碼通過身份驗證,進入主窗體。登陸窗體涉及到的知識點如下:1.窗體(Form)、標簽(Label)、文本框(TextBox)、命令按鈕(Command)等控件的常用屬性的設置。2.窗體、標簽、文本框、命令按鈕的常用方法。3.變量與數據類型。4.IF語句及一些常用的函數的使用。
四、總結
系統登陸窗體的設計分下面幾個階段進行:第一階段,對登陸窗體的設計和各控件的屬性進行講解。第二階段,引入新知識點。針對新知識點在本例中的應用對的各個新知識點進行詳細的講解。第三階段,上機練習。1.讓學生模仿教師的設計過程做一遍,輸入程序代碼,加深印象。2.鼓勵學生提出問題,用新的方法來完成程序代碼,同時提出加強程序代碼功能的方案,讓學生來完成,使學生加強對新知識點的理解和運用。例如,能不能在輸入密碼時限定輸入密碼次數。3.布置作業,布置與知識點相關的作業,讓學生通過查資料自己完成作業,對作業進行批改。第四階段,對程序提出新的方案,如用戶名和密碼的存儲采用數據庫,密碼的加密等,為以后的知識講授做準備,同時給學生留下印象,在講到這些知識點的時候再來改進程序。
“項目教學法”被應用到程序設計類課程的教學中,使教學與生產結合起來,學以致用,注重培養學生動手操作能力,學生普遍反映采用了“項目教學法”的教學模式后開發能力提升很快,專業知識得以鞏固,相關知識點的運用印象特別深刻,在比較真實的工作環境下,既學到了知識,又學會了分析問題、解決問題的方法。在《VB程序設計》課程應用“項目教學法”的教學模式的教學過程,也發現了一些問題,雖然運作難度較傳統教學模式較大,但值得進一步的實踐和探索。
參考文獻:
關鍵詞:SolidWorks;VisualBasic;圓錐齒輪;實體造型
一、設計的主要內容及技術指標和技術路線
一)主要內容
基于Solidworks軟件使用VB高級語言程序,對常用件齒輪進行參數化設計,實現給定參數的圓錐齒輪的自動化生成系統。
二)技術指標
1、設計參數要符合實際生產要求;
2、生成圖形要符合國家標準規定;
3、技術路線
對基于Solidworks圓錐齒輪參數化設計的研究,準備從以下幾個方面著手:
(1)系統界面模塊
該模塊的作用是采集直齒圓錐齒輪實體造型所需的具體參數。
(2)三維CAD軟件接口模塊
該模塊提供在OLE Automation層上所有與三維CAD軟件SolidWorks通訊的函數。CAD軟件的API函數以類的形式封裝起來,在直齒圓錐齒輪造型時,通過這些函數驅動CAD軟件生成直齒圓錐實體。
(3)結構計算模塊
根據界面模塊的用戶輸入的參數,計算直齒圓錐齒輪的結構參數。
(4)齒形計算模塊
該模塊是整個系統的核心,可以完成直齒圓錐齒輪齒形計算。通過計算得到特定截面的齒廓參數,為齒形生成模塊準備所需的數據。
(5)結構實體生成模塊
該模塊應用三維CAD軟件Solidworks的基本特征,如拉伸(Extrude)、旋轉(Revolve)和圓周陣列(Circular Pattern)等操作,按照結構類型計算模塊輸出的參數,生成圓錐齒輪的結構實體部分。該操作的結果類似生成直齒圓錐齒輪的毛坯。
(6)齒形生成模塊
該模塊應用三維CAD軟件Solidworks的基本特征,如放樣切割(Template Knifing)、圓周陣列(Circular Pattern) 、拉伸(Extrude)和旋轉(Revolve)等操作,按照結構類型計算模塊輸出的參數,生成直齒圓錐齒輪的結構實體部分。然后利用圓周陣列可畫出全部齒形。
2 圓錐齒輪實體造型系統
參數化三維實體造型設計是以變量幾何和生成歷程樹為基礎,以尺寸驅動為特征的一種三維建模方法。其基本過程是:首先利用草圖功能勾畫零件基本形狀,然后根據設計要求標注必要的尺寸,最后修改尺寸值,驅動模型變化以生成需要的零件模型。參數化三維實體建模的目的是,通過修改尺寸而快速生成新的三維實體模型。
圓錐齒輪的輪齒有直齒和曲齒兩種類型。直齒圓錐齒輪易于制造,適用于低速、輕載傳動的場合,而曲齒圓錐齒輪傳動平穩,承載能力強,常用于高速、重載的場合,但其設計和制造較為復雜。本論文只討論直齒圓錐齒輪。
(3)齒形計算模塊
漸開線齒廓的數學模型。我們在直角坐標系下,用漸開線的直角坐標方程式,計算漸開線輪廓上各點坐標值,然后在用樣條曲線繪出齒輪的一個齒廓。
(4)結構實體生成模塊
該模塊應用Solidworks的拉伸、旋轉和圓周陣列等操作命令,按照結構類型計算模塊輸出的參數,生成直齒圓錐齒輪的結構實體部分。該操作的結果類似生成直齒圓錐齒輪的毛坯。
1)齒輪各基本尺寸計算
如圖4所示,以點1為坐標原點,軸線為一坐標軸建立直角坐標系,依次求出2、3、4、5、6、7的坐標,由1—2—3—4—5—1的連線構成直齒圓錐齒輪的二維結構,再用旋轉輪廓線的方法既可生成圓錐齒輪的實體。
2)圓錐齒輪的實體建模
再用旋轉輪廓線的方法生成圓錐齒輪的實體
3)結構實體生成模塊
2.2 系統運行窗體的創建和應用
1) 窗體的建立
2)程序的連接
用VB編程進行的二次開發,要將VB和SolidWorks連接來,編寫VB代碼前,創建SolidWorks和VB對象,啟動運行SolidWorks。這樣就可以在VB的環境下利用SolidWorks對象及其下級對象的屬性和方法,完成用VB語言在環境中草圖和三維模型圖的繪制。下面給出VB語言在SolidWorks環境中繪制圓錐齒輪三維圖的部分子程序代碼:
2.3 程序的調試及運行
1)運行程序過程
在SolidWorks中,單擊[工具]/[宏]/[運行],選擇*.swp出現程序運行界面。通過在VB窗口中填寫圓錐齒輪參數后,單擊‘生成’按鈕,發現錯誤代碼91(對象變量或with塊變量未設置)。
經過調試發現系統默認的part語句類型出現錯誤,原因是程序中的part為完全定義造成運行錯誤,經過重新定義Part As object ‘對象型變量’,重新逐句調試,更改變量類型,最終解決了問題。
2)運行結果
3 結束語
(1)系統完成了圓錐齒輪實體的變量化自動生成。
(2)建立了VB界面窗口連接Solidworks應用程序,進入Solidworks設計環境;從設計窗口中直接輸入參數,可直接運行參數化造型設計程序,得到所需的三維圓錐齒輪實體。
參考文獻
[1]王隆太,戴過洪.機械CAD /CAM技術[M].北京:機械工業出版社,2005.
[2]王文彬,.用VB實現SolidWorks對零件的參數化設計[J].機械報,2003,30(6)
[3]曹巖.solidworks機械設計實例精解[M].機械工業出版社,2006.
【關鍵詞】VB編程;汽車衡軟件;VB應用
1.引言
Visual Basic(簡稱VB)是Win-
dows環境下簡單、易學、高效的編程語言開發系統,以其所見即所得的可視化界面設計風格和32位面向對象的程序設計等特點,已廣泛地應用于各個領域,是很多計算機軟件開發人員采用的開發工具。VB提供了良好的界面設計能力,提供了強大的數據庫訪問功能和微機串口通信功能。完全能夠滿足汽車衡管理系統的數據采集、處理和存儲要求。下面以SCS微機汽車衡稱重軟件為例,敘述VB軟件對系統中幾個重要功能程序的設計。
2.管理軟件功能需求
SCS微機汽車衡稱重系統主要通過計算機串口連接汽車衡稱重儀表,處理儀表所獲取的汽車重量信息,達到管理汽車稱重數據的目的。系統軟件要求達到的功能主要有:
(1)設置管理權限,達到操作人員分級登錄操作。
(2)記錄、貯存并打印每一次稱重結果。包括車號、貨物名稱、運貨單位、駕駛員、毛皮重、凈重、進出廠過磅時間、司磅員等內容。
(3)查詢打印功能。可按車號、時間范圍、司磅員、貨物種類、駕駛員等或任意組合查詢過去稱重記錄,并可打印輸出。
(4)統計打印功能。可對稱重結果自動進行統計,并打印各種報表,如月報、年報、分類報表等。
(5)數據維護功能。包括記錄限制修改和刪除,數據備份和導出。
在這個系統軟件中,重點是編寫數據采集的串口通信模塊和數據庫操作訪問功能程序。用Visual Basic編程語言來編制這些程序,也就要充分理解串口通信和數據庫訪問相關的控件特點和應用技術。
3.數據采集程序模塊的設計
3.1 選擇MSComm控件實現串口通信
用VB開發串口通信程序常用兩種方法,一種是利用WINDOWS的通信API函數實現,另一種是采用VB內集成的MSComm通信控件實現。在實例中選用MSComm控件實現串口通信的編程,該控件具有豐富的與串口通信密切相關的屬性和事件,提供了對串口的各種操作。在通信過程中,當發送數據、收到數據或產生傳輸錯誤時,觸發MSComm控件的OnComm事件,然后可以通過判斷CommEvent屬性值獲得事件類型,再根據事件類型進行相應數據處理。因此用其實現微機串口的數據通信相當簡單,以很少的程序代碼就可以輕松實現串口的訪問和數據通信。
3.2 儀表參數及其數據通信協議
以微機管理系統連接汽車衡XK3
190-A9稱重顯示器為例。該儀表可連接8個350Ω或12個700Ω的高精度稱重傳感器,用于測量汽車重量數據。儀表測量準確度為Ⅲ級(N=3000)按顯示分度值設置不同,測量范圍最大值100噸。該儀表具有RS-232/RS422(選配)串行通訊接口,能與微機進行串口數據通信,實時傳送檢測數據。
該儀表串口數據通信協議是:數據傳輸速率為600/1200/2400/9600bps
(可選),數據格式(10位):1位開始位,8位數據位(ASCⅡ編碼),1位停止位,無奇偶校驗位。通訊方式有連續方式和指令方式兩種,這里只列舉連續通訊方式中的格式。
所傳送的數據為儀表顯示的當前稱量(毛重或凈重)。每幀數據由10組數據組成。格式如表1。
3.3 部分參數的技術說明
(1)為滿足各種儀表參數和計算機不同運行環境的需要,把串口通信的一些參數用數據庫的表進行存放,程序通過讀取表數據來進行通信環境參數的設置。這樣做用戶可以修改數據表的數據來改變運行參數,以滿足實際需要。
(2)為了提高接收數據的讀取速度,實現實時監測功能,設置MSComm1的屬性RThreshold=4,接收緩沖區收到四個字節產生OnComm事件;InputLen=1,每次讀取一個字節。設置接收數據模式采用二進制形式,即InputMode=comInputModeBinary。設置InBufferSize=50(設置接收緩沖區為50字節),OutBufferSize=2(設置發送緩沖區為2字節)。
(3)定義一個Byte類型數組變量來存放重量數據值。注意用Input屬性讀取數據時,還要看儀表輸出數據位格式的編碼方式。壓縮的BCD碼存入Byte類型變量,VB系統只按十進制數處理,這要通過一個簡單算法換算,解壓BCD碼才能還原成十進制表示數值。本例ASCⅡ編碼直接賦值給數組Byte類型變量。
3.4 源程序代碼
系統數據庫db1.mdb建立一個名為“串口”的表,字段分別為串口、波特率、校驗、停止位、數據位、流控制,記錄串口運行參數設置信息。在窗體中添加名為MSComm1的MSComm控件,名為Label7顯示重量數據的標簽控件,名為Text3、Text4存貯毛重、皮重的文本框控件等。
串口初始化模塊:
Private Sub Form_Load()
mPort = rec(“串口”)‘賦值串口端口號,本例為COM1
MSComm1.Settings = rec(“波特率”) & ",n,8,1" ‘無奇偶校驗,8位數據位,1位停止位
MSComm1.InputLen = 1
MSComm1.RThreshold = 4
If MSComm1.PortOpen = False Then ‘判斷串口端口是否打開
MSComm1.PortOpen = True ‘打開端口
Else
MsgBox “串行端口號已被占用,請選擇其它端口!”, vbCritical + vbOKOnly, “系統信息”
Exit Sub
數據讀取、轉換及顯示模塊:
Private Sub MSComm1_OnComm()
Dim buf() As Byte
‘定義一個數據變量
If mEvent = 2 Then ‘判斷接收緩沖區內字符數達到Rthreshold指定的值
buf = MSComm1.Input
‘讀取一個字節
If buf(0) = 2 Then
‘判斷是否為開02(XON) 開始
c2 = buf(1)
‘以下讀取各位重量數據分別賦值
c3 = buf(2)
c4 = buf(3)
c5 = buf(4)
c6 = buf(5)
c7 = buf(6)
c8 = buf(7)
以下為對各位字節數據進行轉換和組合顯示
shuju = Chr(c2) + Chr(c3) + Chr(c4) + Chr(c5) + Chr(c6) + Chr(c7) + Chr(c8) Label7.Caption = shuju ‘賦值顯示
If Option1.Value=True Then
‘Option1為毛重選項。判斷是否Option1被選中
Text3.Text = Val(Label7.Caption) ‘賦值給毛重文本控件
End If
If Option2.Value = True Then ‘Option21為皮重選項。判斷是否Option2被選中
Text4.Text = Val(Label7.Caption) ‘賦值給皮重文本控件
End If
Label10.Caption= “數據穩定!"
Else
Label10.Caption = “連接正常,但數據不穩定...!"
MSComm1.PortOpen = False ‘重新關閉和開啟串口端口一次
MSComm1.PortOpen = True
End If
End If
End Sub
4.數據庫程序模塊設計
4.1 數據庫表結構設計
本例以Microsoft Access數據庫進行稱重數據的管理,建立db1.mdb數據庫。汽車衡完成一個稱重過程一般是某車號汽車稱毛重,再過皮重(或者稱重順序反調)得出凈重后,數據存入數據表,打印報表。在實際稱重中稱毛重和過皮重的過程并不連續,有時要連續稱幾臺汽車的毛重或皮重,因此必須建立一個用于存貯稱重暫存數據的表。在db1.mdb數據庫中建立報頭、帳戶、本地表、稱重、單位設置、歷史皮重、串口、物質類別等數據表。“本地表”用于存貯歷史稱重數據,“稱重”表存貯稱重暫存數據,本例重點介紹“本地表”和“稱重”兩個關鍵表的結構設計,如表2,表3所示。
4.2 數據庫編程
SCS微機汽車衡稱重軟件建立了“系統登錄”、“稱重管理”、“報表管理”等多個窗體,都涉及到對db1.mdb數據庫的編程,主要應用了Visual Basic對Access數據庫操作的編程語言。如:
dim conn as new adodb.connection
dim rs as new adodb.recordset
連接數據庫
with conn
If .Stateadstateclosed Then .Close
.ConnectionString = “pro
-vider=Microsoft.Jet.OLEDB.4.0;
Data Source=” & App.path & “\數據庫名.mdb;Mode=ReadWrite;Persist Security Info=False”
.Open
End With
查詢記錄
if rs.stateadstateclosed then rs.close
rs.open “select * from 表名”,conn,adopenkeyset,adlockreadonly
set mshflexgrid1.datasource
=rs
rs.close
新增記錄
conn.execute “insert into 表名(...) values(...)”
修改記錄
conn.execute “update 表名 set ... where ...”
刪除記錄
conn.execute “delete from 表名 where...”等等,鑒于論文篇幅的限制本例數據庫編程源代碼略。
參考文獻
[1]劉樂善,歐陽明星,等.微型計算機接口技術及應用[M].武漢:華中理工大學出版社,2001.
[2]龔沛曾,等.Visual Basic程序設計教程[M].北京:高等教育出版社,1998.
[3]XK3190—A9稱重顯示器使用說明書.上