客車用盤式制動閘制動性能檢測系統(tǒng)設計
客車用盤式制動閘制動性能檢測系統(tǒng)設計,客車用盤式制動閘制動性能檢測系統(tǒng)設計,客車,用盤式,制動閘,制動,性能,機能,檢測,系統(tǒng),設計
畢業(yè)設計任務書
課題: 客車用盤式制動閘制動性能檢測系統(tǒng)設計
專 業(yè) 機械設計制造及其自動化
學 生 姓 名
班 級
學 號
指 導 教 師
專 業(yè) 系 主 任
發(fā) 放 日 期 2011年2月20日
一、設計內(nèi)容
客車用盤式制動閘是一種應用十分廣泛且成熟的制動方式,但是其制動性能無法
實現(xiàn)在線動態(tài)監(jiān)測,可以借助于單片機構建在線動態(tài)檢測系統(tǒng),實現(xiàn)對盤式制動閘制
動性能的動態(tài)在線檢測,從而為制動性能的評估提供基礎數(shù)據(jù)。
該課題的主要設計內(nèi)容有:
(1) 傳感器的選型設計與計算;
(2) 盤式制動閘制動性能模型研究;
(3) 基于單片機的數(shù)據(jù)采集單元的設計,主要包括檢測傳感器的選型設計、A/D
轉換設計、控制單元設計、系統(tǒng)接口設計及通信交互設計等;
(4) 制動系統(tǒng)軟件程序設計。
二、設計依據(jù)
1.課題來源:課程或實驗室建設
2.產(chǎn)品名稱:客車用盤式制動閘制動性能檢測系統(tǒng)研究
3.設計對象:盤式制動閘制動性能檢測系統(tǒng)
4.研究對象:盤式制動閘制動過程模型,以及利用單片機設計制動參數(shù)檢測系統(tǒng)
5.盤式制動閘制動性能檢測系統(tǒng)的檢測參數(shù)確定及檢測方法
6.盤式制動閘制動性能檢測系統(tǒng)的檢測要求及精度要求
三、設計要求
1.盤式制動閘制動性能檢測系統(tǒng)能滿足檢測要求,保證檢測功能;
2.盤式制動閘制動性能檢測系統(tǒng)應工作平穩(wěn)可靠,結構簡單,裝卸方便,便于調(diào)試;
3.盡量能用通用件以便降低制造成本;
4.對制動過程建立數(shù)學模型進行分析研究;
5.設計圖樣總量:折合成A0幅面在2張以上;工具要求:應用計算機軟件繪圖。
6.畢業(yè)設計說明書按照學校規(guī)定的格式規(guī)范統(tǒng)一編排、打印,字數(shù)不少于1萬字。
7.查閱文獻資料10篇以上,并有不少于3000漢字的外文資料翻譯;
8.到相關單位進行畢業(yè)實習,撰寫不少于3000字實習報告;
9.撰寫開題報告。
四、畢業(yè)設計物化成果的具體內(nèi)容及要求
1.設計成果要求
1)畢業(yè)設計說明書 1 份
2)系統(tǒng)零件圖、電路控制圖 3 張
3)總程序清單 1 份
2.外文資料翻譯(英譯中)要求
1)外文翻譯材料中文字不少于3000字;
2)內(nèi)容必須與畢業(yè)設計課題相關;
3)所選外文資料應是近5年的文章,并標明文章出處。
五、 畢業(yè)設計(論文)進度計劃
起訖日期
工作內(nèi)容
備 注
2月20日~2月21日
布置任務
2月21日~3月5日
調(diào)查研究,畢業(yè)實習
3月5日~3月19日
方案論證,總體設計
3月20日~4月7日
技術設計(部件設計)
4月7日~5月7日
工作設計(零件設計)
5月8日~5月25日
撰寫畢業(yè)設計說明書
5月26日~5月27日
畢業(yè)設計預答辯
5月28日~6月6日
修改資料
6月7日~6月8日
評閱材料
6月9日~6月10日
畢業(yè)答辯
6月11日~6月15日
材料整理裝袋
六、 主要參考文獻:
[1] 王永臣. 單片機制動閘自動調(diào)節(jié)系統(tǒng)[M].沈陽: 沈陽工業(yè)學院學報,2008.
[2] 莊光山. 制動盤對盤形制動摩擦性能的影響[J]. 四川:鐵道車輛,2007.
[3] 趙田臣. 高速列車金屬陶瓷復合材料制動閘片研制[J]. 石家莊:石家莊鐵道學院學報,2007.
[4] 程真啟. 礦井提升機制動閘間隙監(jiān)測儀的設計[J]. 江蘇:煤礦機電, 2007.
[5] 賈福音. 摩擦提升機滑繩安全可靠制動分析[J]. 沈陽:煤炭工程,2008.
[6] 德國XAVER WIRTH. 制動閘片提高了盤形制動器的性能[J].《Heat Treatments of Materials》, 2007.
[7] 趙建明. 半金屬基提速客車盤形制動閘片摩擦特性的研究[J]. 江蘇:機械設計與制造工程, 2006.
[8] 陳磊. 礦井提升機盤式制動閘空動時間測試裝置設計[M].江西:煤礦機械, 2008.
[9] 王宏德. 盤式制動閘制動力矩下降原因分析與對策[J]. 哈爾濱:中州煤炭, 2006.
[10]日本 和田 雄一等新開發(fā)的制動閘片和制動盤[J]. 哈爾濱:車輛工程,2009.
七、其他
八、專業(yè)系審查意見
系主任:
年 月 日
九、機械工程學院意見
院長:
年 月 日
6
1 2 3 4 5 6 A B C D 654321 D C B A Title Number RevisionSize B Date: 29-May-2010 Sheet of File: E:5.29MyDesign.ddb Drawn By: 3DU12 D1 發(fā)發(fā)發(fā)發(fā)發(fā) D2 發(fā)發(fā)發(fā)發(fā)發(fā) R1 430K R2 75K 1 2 3 VCC R2 10K R1 10K 5 4 2 3 1 2 AR1A AR2 OP05 R3 124K R4 2K R9 10K R6 10K R10 10K R7 10K R8 20K A 12V R5 124K 12V + - U0 V1 V2 OP05 VO2 VO1 + _ V0 741
畢業(yè)設計
開題論證報告
專 業(yè) 機械設計制造及其自動化
學生姓名
班 級
學 號
指導教師
完成日期
課題名稱:客車用盤式制動閘制動性能檢測系統(tǒng)設計
一、課題來源、課題研究的主要內(nèi)容及國內(nèi)外現(xiàn)狀綜述
1.課題來源
課程或實驗室建設
2.課題研究主要內(nèi)容
1.產(chǎn)品名稱:客車用盤式制動閘制動性能檢測系統(tǒng)研究
2.設計對象:盤式制動閘制動性能檢測系統(tǒng)
3.研究對象:盤式制動閘制動過程模型,以及利用單片機設計制動參數(shù)檢測系統(tǒng)
4.盤式制動閘制動性能檢測系統(tǒng)的檢測參數(shù)確定及檢測方法
5.盤式制動閘制動性能檢測系統(tǒng)的檢測要求及精度要求
3.國內(nèi)外現(xiàn)狀綜述
1.王永臣 陳剛 王磊 崔秀 在《單片機制動閘自動調(diào)節(jié)系統(tǒng)》中給出單片機制動閘自動調(diào)節(jié)系統(tǒng)的結構,闡明了它的工作原理和特點。系統(tǒng)采用根據(jù)流過電機電樞的電流控制電機啟停的方法和多種抗干擾措施。其控制方案新穎,工作可靠,抗干擾能力較強。
2.莊光山 王成國 姚永強 王海慶在《制動盤對盤形制動摩擦性能的影響》中研究了慣性力矩制動試驗臺。對多種不同石墨形態(tài)的鑄鐵制動盤與混雜纖維增強酚醛基制動閘片配副時的摩擦磨損性能進行了研究。結果表明:制動盤對盤形制動摩擦性能有明顯影響。
3.程真啟 高頂 張曉光 趙番在《礦井提升機制動閘間隙監(jiān)測儀的設計》中紹了基于Meal6單片機的礦井提升機閘間隙監(jiān)測設備的設計方法,通過對煤礦提升機閘間隙和空動時間的測量,能夠實現(xiàn)對盤形閘的監(jiān)測,解決了煤礦提升的安全隱患問題,滿足了煤礦安全生產(chǎn)的需要。
4.賈福音 李志佳 王一賓 孫晉響 在《摩擦提升機滑繩安全可靠制動分析》中析了摩擦提升中繩滑動與繩靜、動張力的關系。通過理論分析、參數(shù)分配提出了滿足系統(tǒng)安全可靠制動的外力制動方式,此方式不僅可以解除滑繩事故,也可以保證制動閘失靈狀態(tài)下,對系統(tǒng)可靠制動。這套設備的研發(fā)成功,可有效控制滑繩事故的發(fā)生,為摩擦提升礦井安全高效生產(chǎn)提供保證。
5.陳磊 任中全 熊雙輝在《礦井提升機盤式制動閘空動時間測試裝置設計》中針對礦井提升機盤式制動閘空動時間偏長對礦井提升機事故的影響,依據(jù)《煤礦安全規(guī)程》對盤式閘空動時間測試方法進行了研究,采用了繼電器的工作原理設計了測試盤式閘空動時間的測試裝置,并使用虛擬儀器測試系統(tǒng),通過Lab VIEW編程語言程序對本測試裝置進行了驗證。
6.王宏德在《盤式制動閘制動力矩下降原因分析與對策》中通過對盤式制動閘制動力矩下降原因的分析, 提出了相應的防范對策, 取得了較好的效果。系統(tǒng)操作簡單快捷, 能夠實現(xiàn)真正的自動排料。可靠性進一步提高, 維護量大大減少, 整個系統(tǒng)控制完全數(shù)字化, 通過操作面板上的數(shù)碼管顯示及幾個觸摸按鈕, 即可完成全部操作。
7.和田雄一等(日)在《新開發(fā)的制動閘片和制動盤》中闡述新開發(fā)的耐磨耗制動閘片和耐熱裂紋制動盤的優(yōu)良性能, 兩者組合使用時, 經(jīng)濟效益頗佳。新開發(fā)的制動閘片, 與各國采用的閘片相比, 其耐磨性較佳, 對制動盤也沒有破壞作用。NCM 制動盤耐熱裂紋性好, 也有減低摩擦副閘片磨耗的效果。新開發(fā)的制動閘片與制動盤組合使用時, 對降低車輛維修成本具有很大的意義。
8. XAVER WIRTH〔德國〕在《制動閘片提高了盤形制動器的性能》中介紹德國鐵路公司的高速列車與早期列車的四個制動盤相比, 它在每根軸上只裝兩個制動盤, 使用一種改善了接觸模式的先進制動片, 可以降低嗓聲并使能全吸收能力提高了。
9. 莊光山 王成國 王海慶 姚永強在《混雜纖維增強制動閘片的制動性能研究》中采用改性酚醛樹脂為基體, 炭纖維與鋼纖維、礦物纖維等混雜材料作為增強材料, 研制了適用于提速列車盤形制動的少金屬制動閘片。在慣性力矩試驗臺上對其制動性能進行了測試。試驗結果表明, 該制動閘片在各種規(guī)定試驗條件下的摩擦性能均能滿足最高運行速度為120 km/ h——160 km/ h 的提速列車的使用要求。
10. 趙建明 吳鵬在《半金屬基提速客車盤形制動閘片摩擦特性的研究》中介紹了一種適用于制造提速客車盤形制動閘片的半金屬基摩擦材料的摩擦磨損特性方法。試驗表明研制的配方半金屬摩擦材料具有穩(wěn)定的摩擦系數(shù)和較好的耐磨性及其抗熱衰退性。實物慣性臺架試驗結果表明, 研制的配方閘片具有較高的摩擦系數(shù), 制動距離較短, 制動性能穩(wěn)定, 完全能滿足提速客車運行的制動要求。
總結:以上文獻中作者從多個思路對盤式制動器的工作原理及條件有詳細描述,多有從材料的角度來闡述車用盤式制動器的摩擦性能,但在檢測動態(tài)性能方面少有闡述尤其未曾涉及傳感器,A/D數(shù)模轉換的內(nèi)容,所以眾論文只是提供了盤式制動器的感性認識和制動狀態(tài)描述。
二、本課題擬解決的問題
(1) 傳感器的選型設計與計算
(2) 盤式制動閘制動性能模型研究
(3) 基于單片機的數(shù)據(jù)采集單元的設計,主要包括檢測傳感器的選型設計、A/D 轉換設計、控制單元設計,電源設計,通信等
(4) 制動系統(tǒng)軟件程序設計
三、解決方案及預期效果
1.制動性能模型研究
主要有施閘及松閘過程中閘瓦運動學分析和制動力矩分析,此分析建立了制動閘的制動動力學模型,得到了制動性能參數(shù)之間的相互影響關系,為檢測系統(tǒng)的設計提供基礎性理論指導,可為傳感器和檢測系統(tǒng)的設計提供基礎性數(shù)據(jù)。
2.檢測系統(tǒng)總體設計
(硬件)主要有傳感檢測部分、數(shù)據(jù)采集部分和系統(tǒng)監(jiān)控部分,傳感器可以選用壓力傳感器、位移傳感器,數(shù)據(jù)采集器主要采集模擬量,分為信號調(diào)理模塊、A/D轉換模塊、單片機、串行通訊模塊和電源。A/D轉換主要考慮轉換速度和精度;本系統(tǒng)選用的單片機要能夠控制轉換芯片、選擇A/D轉換芯片并讀取A/D轉換數(shù)據(jù),同時還應有與上位工控機進行串行通信的功能。數(shù)據(jù)采集器采用12V供電,為了提高系統(tǒng)的可靠性,在系統(tǒng)的硬件、軟件設計上都必須采取相應的抗干擾措施。
(軟件)單片機系統(tǒng)軟件:采集位移、壓力傳感器輸出的模擬信號,并實現(xiàn)單片機和工控機的串行通信;組成:主程序+中斷程序 主程序是完成單片機系統(tǒng)初始化并采集傳感器輸出的信號;串行中斷程序是完成單片機系統(tǒng)與工控機的串行通信。
四、課題進度安排
2月21日~3月5日.畢業(yè)實習階段。
畢業(yè)實習,查閱資料,到多個公司實踐,撰寫實習報告。
3月5日~3月19日.開題階段。
提出總體設計方案及草圖,填寫開題報告。
3月20日~5月7日. 設計初稿階段。
完成總體設計圖、部件圖、零件圖。
5月8日~5月25日. 中期工作階段。
完善設計圖紙,編寫畢業(yè)設計說明書,中期檢查。
5月26日~5月27日.畢業(yè)設計預答辯。
5月28日~6月6日.畢業(yè)設計整改。
圖紙修改、設計說明書修改、定稿,材料復查。
6月7日~6月8日.畢業(yè)設計材料評閱。
6月9日~6月10日.畢業(yè)答辯。
6月11日~6月15日.材料整理裝袋。
五、指導教師意見
簽名
年 月 日
六、專業(yè)系意見
簽名
年 月 日
七、學院意見
簽名
年 月 日
6
鹽城工學院本科生畢業(yè)設計說明書 2011
客車用盤式制動閘制動性能檢測系統(tǒng)設計
摘 要:針對現(xiàn)有的客車用盤式制動閘制動性能無法實現(xiàn)在線動態(tài)監(jiān)測的現(xiàn)狀,本論文借助于單片機構建在線動態(tài)檢測系統(tǒng),實現(xiàn)對盤式制動器制動性能的動態(tài)在線檢測。
首先,在分析了盤式制動閘制動系統(tǒng)國內(nèi)外研究現(xiàn)狀的基礎上,對盤式制動閘制動性能進行數(shù)學建模研究,建立了制動閘的制動動力學模型。
其次,通過傳感器選型和硬件電路設計,給出了盤式制動閘制動性能檢測系統(tǒng)的設計方案,完成了論文的主體設計內(nèi)容:基于單片機的數(shù)據(jù)采集單元的設計,主要包括檢測傳感器的選型設計、A/D 轉換設計、控制單元設計、通信設計等。
最后,通過軟件編程和硬件設計相結合,使硬件功能實現(xiàn)最大化。對數(shù)據(jù)進行分析、處理、融合;對盤式制動閘制動性能進行智能分析與評價。
關鍵詞:盤式制動閘制動系統(tǒng);在線監(jiān)測;單片機;制動特性
Design of Braking Performance of Passenger Vehicles Monitoring System for the Disc Break
Abstract: For existing passenger cars braking performance disc brake line can not achieve the status of dynamic monitoring, with this paper build on-line dynamic testing system microcontroller to make disc brake performance to achieve a dynamic online test.
First, on the analysis of disc brake brake system based on the research status to disc brake on the mathematical modeling of braking performance. Establishing a dynamic model of the brake brake.
Secondly, through the sensor selection and hardware circuit design, gives the performance test system design. Complete contents of the paper are the main design: Microcontroller-based design of data acquisition unit, including the selection of sensor design, A / D converter design, control unit design, communication design, and so on.
Finally, through software programming and hardware design combined, which maximizes the hardware capabilities. Anglicizing, processing, and entertaining the data to make disc brake on the intelligent analysis and evaluation of performance.
Key word: Disc brake system; On-line monitoring; Microcontroller; Braking characteristics.
畢 業(yè) 設 計 附 件 四
源程序
專 業(yè) 機械設計制造及其自動化
學生姓名
班 級
學 號
指導教師
完成日期 2011年6月6日
源程序
速度采集AD/轉換接口程序
ORG 0000H
ADIO: SJMP START
ORG 0013H ; INT1中斷入口
MOV R6,#0AH ; 設置循環(huán)次數(shù),
延時10s
LOOP: LCALL DEL; 調(diào)用1s延時子程序
JMP INDATA
DJNZ R6,LOOP
ORG 0040H; 主程序入口
START: ANL P2,#07FH; 芯片選擇
MOVX A,@R1; 讀一個數(shù)據(jù)并復位ADC中斷觸發(fā)器
ORL P2,80H; 置位P2.7
MOV R0,#20H; 數(shù)據(jù)地址
MOV Rl,0FFH; 虛擬地址
MOV A,#0FFH; 為中斷循環(huán)置位累加器
ANL P2,#07FH; 發(fā)送片選信號
MOVX @Rl,A 發(fā)送寫輸出信號,啟動A/D轉換
SETB EA 中斷開放
SETB EXI 允許INT1中斷
LOOP: JNZ LOOP 中斷等待,判A的內(nèi)容=0,進入中斷后A=0
NOP
NOP
INDATA: MOVX A,@R1; 若片選為低,則輸入數(shù)據(jù)
MOV @R0,A 存儲在存儲器中
CRL A; 清累加器以得到中斷循環(huán)輸出
RET; 返回
SMJZ: ORG 3000H
MOV DPTR,#6000H 8279命令口地址
MOV A,#10H; 8位顯示,右入口
MOVX @DPTR,A; 輸出控制字
MOV A,#14H 分頻數(shù)20
MOVX @DPTR,A; 8279內(nèi)部產(chǎn)生100kHz頻率
MOV A#90H; 寫顯示RAM地址,Al=1遞增
MOVX @DPTR,A
RET
轉速顯示編程:
ORG 3100H
ZSDISP: MOV RO,#43H; 顯示緩沖地址43H
MOV R2, #04H 顯示共4位
MOV DPTR,#4000H; 指向8279數(shù)據(jù)口
LOOP: MOV A,@R0
MOV DPTR,#TAB; 開始查表,TAB=3180H
MOVC A,A+@DPTR
MOVX @DPTR,A
DEC R0
DJNZ R2 ,LOOP
RET
延時lms程序:
DL 1MS: MOV R3, #02H
Ll: MOV R4, #0F8H
L2: DJNZ R4, L2
DJNZ R3, Ll
RET
數(shù)據(jù)處理及拆字程序如下:
ADCP: ORG 1000H
MOV A,@R0; 從AD轉換中取數(shù)據(jù)
MOV 26H,A; 數(shù)據(jù)送26H儲存,作比較用
MOV B,#0FH; 將15的二進制數(shù)0FH送B
DIV AB
MOV 20H,A; 商數(shù)存A
MOV 21H,B; 余數(shù)存B
MOV R4,#02H; 兩個單元均需要拆字顯示
MOV R0,#20H; 從暫存單元取數(shù)
MOV Rl,#40H; 設暫存拆字結果臨時單元
LOOP: MOV A,@R0
MOV B,#0AH; 除以10即可
DIV AB
MOV @R1,B; 存余數(shù)(個位)
INC Rl
MOV @R1,A; 存商(十位)
INC Rl
INC R0
DJNZ R4,LOOP
RET
轉速賦初值:
ZSFCZ: MOV DPTR,#34X()H; 設置地址3400H
MOV R4,#02H; 兩個初值分別傳送
MOV R0,#21H; 設暫存單元首地址
LOOP: MOVX A,@DPTR
MOV @R0,A
DEC R0; 指向轉速百位、千位
INC DPTR; 指向轉速個位、十位
DJNZ R4, L
RET
主程序:
ORG 4200H
MAIN: LCALL SMLZ
LCALL ZSFCZ
MOV R6,#0AH; 置循環(huán)次數(shù),延時10S
LOOP1: LCALL DEL; 調(diào)用1S延時子程序
LCALL ADIO
LCALL ADCP
LCALL DLlms; 調(diào)用lms延時子程序
LCALL ZSDISP
DJNZ R6,LOOP1
LCALL KZYS
MOV P2,#02H;
ORL P2,#80H; 禁止片選信號
LCALL SMLZ
LCALL TOCSH
LCALL MBFCZ
LOOP2: LCALL CX
LCALL MBDISP
LCALL DLlms; 調(diào)用lms延時子程序
MOV R4,26H
CJNE R4,00H,L00P2; 判轉速是否為0,不為0,繼續(xù)
SETB P2.2; 鎖存秒表顯示
END
ATmega16單片機對A/D芯片TLC3545的初始化和采樣程序如下:
?void??Init_TLC3545(?) //初始化程序
?{
CS3545_A?=?0;?
CS3545_A?=?0;//這里是把拉低2us,TLC3545初始化把拉低至少1個SCLK時鐘
CS3545_A?=?1;
?}
?void????Sample_TLC3545(?) //采樣程序
?{
uint8 k;
EA?=?0;
EA?=?1;
CS3545_A?=?0;?
SPIDAT?=?0x77;?? //寫SPIDAT產(chǎn)生SCLK時鐘
while?(!ISPI);?
datah?=?SPIDAT;? //收TLC3545發(fā)出的前8位,第一個字節(jié)
SPIDAT?=?0x77;
while?(!ISPI);
????????datal?=?SPIDAT; //收后8位,第二個字節(jié)??
SPIDAT?=?0x77;? //繼續(xù)給SCLK時鐘,直到24thSCLK之后釋放cs
do?{
k?=?0;
}while(k);???? //拖延時間,讓TLC3545的在24個SCLK周期后才得以釋放
dUw0?=?((datah<<8)?+?(datal&0xfc));
? CS3545_A?=?1;
?}
數(shù)據(jù)采集器的串行口初始化和中斷子程序的代碼如下:
初始化程序:
MOV SCON,#50H ;設置成串口1方式
MOV PCON,#00H
MOV TMOD,#21H ;波特率發(fā)生器T1工作在模式2上
MOV TH1,#0FDH ;T1初始化,設定波特率為38400
MOV TL1,#0FDH
SETB TR1 ;啟動波特率發(fā)生器
SETB EA
SETB ES ;允許串口中斷
串行中斷子程序:
SSERVER: MOV 34H, A ;保護現(xiàn)場
CLR ES
JNB RI, KZHD
CLR RI
MOV A, SBUF
CJNE A, #02H, KZHD ;若地址不匹配,開串口中斷并中斷返回
MOV SBUF, #02H ;若匹配,發(fā)送自身地址
JNB TI, $
CLR TI
MOV R1, #40H ;發(fā)送采集的數(shù)據(jù)
MOV R4, #16
JIXU: MOV SBUF, @R1
JNB TI, $
CLR TI
INC R1
DJNZ R4, JIXU
MOV R1, #40H ;將采集數(shù)據(jù)存儲區(qū)清零
MOV R4, #16
QL: MOV @R1, #00
INC R1
DJNZ R4, QL
KZHD: SETB ES ;開中斷
FANHUI: MOV A, 34H ;還原現(xiàn)場
RETI ;中斷返回
本系統(tǒng)實現(xiàn)串行通訊主要分兩步:MsComm控件屬性的設置和OnComm對事件作出響應。詳細程序如下:
(1)MsComm控件屬性的設置
MsComm1.Settings=“38400,n,8,1”
’數(shù)據(jù)傳輸波特率為38400b/s,無奇偶校驗,8位數(shù)據(jù)位,1位停止位
MsComm1.ComPort=Y ’設Y為1,2,分別代表串行口1,2
MsComm1.Inputlen=0 ’將緩沖區(qū)內(nèi)容一次讀入
MsComm1.InBufferSize = 1024 ’接收緩沖區(qū)大小
MsComm1.InputMode = ComInputModeBinary ’數(shù)據(jù)以二進制的格式取回
MsComm1.RThreshold = 2 ’接收兩個字節(jié)觸發(fā)一次OnComm事件
MsComm1.OutBufferSize = 512 ’傳輸緩沖區(qū)大小
MsComm1.PortOpen = True ’打開串口
(2)OnComm事件響應程序
Private Sub MSComm1_OnComm()
Dim i As Integer
Dim recdata() As Byte
’定義二進制數(shù)組,由緩沖區(qū)接收到的數(shù)據(jù)用二進制格式接收
Dim DataCom As Single ’數(shù)據(jù)轉換為Single格式
’以下程序是comEvReceive事件觸發(fā)后,將數(shù)據(jù)存入相應的數(shù)組
Select Case MsComm1.CommEvent
Case ComEvReceive
recdata = MsComm1.Input
DataCom = (256 * recdata(i) + recdata(i - 1))
Next i
End Select
End Sub
本系統(tǒng)中利用ADO對象編程訪問數(shù)據(jù)庫的具體使用方法如下:
首先,在Access中建立名為Datamb.mdb的數(shù)據(jù)庫,表1為數(shù)據(jù)表的結構。表中存儲了制動壓力、閘間隙、油壓、運行速度和安全回路狀態(tài),以及相應的數(shù)據(jù)采集的時間。
表1 數(shù)據(jù)表結構
字段名稱
數(shù)據(jù)類型
Id (編號)
自動編號
Datadat (日期)
日期/時間(短時間)
Datatim (時間)
日期/時間(長時間)
Dataval1_press (壓力)
數(shù)字(單精度型)
Dataval1_gap (間隙)
數(shù)字(單精度型)
……
……
Dataval24_press (壓力)
數(shù)字(單精度型)
Dataval24_gap (間隙)
數(shù)字(單精度型)
Dataval1_oil
數(shù)字(單精度型)
Dataval2_oil
數(shù)字(單精度型)
Dataval_speed
數(shù)字(單精度型)
Dataval_relay
數(shù)字(布爾型)
其次,通過引用ADO對象建立數(shù)據(jù)庫中的表與數(shù)據(jù)源的連接:
Ado1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=" & DataPath.Text & "; Persist Security Info=False"
Ado1.CommandType = adCmdTable
Ado1.RecordSource = "datamb"
再次,對數(shù)據(jù)表進行操作,包括更新和清空:
Ado1.Refresh
If Ado1.Recordset.RecordCount > 0 Then
Ado1.Recordset.MoveFirst
While Not Ado1.Recordset.EOF
Ado1.Recordset.Delete
Ado1.Recordset.MoveNext
Wend
End If
最后,對數(shù)據(jù)記錄進行操作,包括增加、修改、刪除記錄,以下是增加新記錄的程序代碼:
With Ado1.Recordset
.AddNew ’新增加一條記錄
.Fields(1).Value = Date ’數(shù)據(jù)采集日期
.Fields(2).Value = Time ’數(shù)據(jù)采集時間
For i=3 to 54
.Fields(i).Value = DataCom(i-2)
’將采集到的數(shù)據(jù)值賦給相應的字段
Next i
.MoveNext
End with
形成報表的輸出,實現(xiàn)的主要代碼如下:
'//聲明一個WORD應用程序,使WORD中的APPLICATION對象對自動功能有效
Dim Myword As New Word.Application
'//定義變量,使其代表WORD的一篇文檔
Dim Mydoc As Word.Document
Dim Myrange As Range
Dim Mytable As Table
Dim mybook As Bookmark
Set Mydoc = Myword.Documents.OPEN(App.Path & "\報表模版.doc")
Mydoc.SaveAs (App.Path & "\報表1.doc")
'AppActivate Mydoc.Application.Caption
Set Mytable = Mydoc.Tables(1)
Mytable.Select
7
收藏