購買設計請充值后下載,,資源目錄下的文件所見即所得,都可以點開預覽,,資料完整,充值下載可得到資源目錄里的所有文件。。?!咀ⅰ浚篸wg后綴為CAD圖紙,doc,docx為WORD文檔,原稿無水印,可編輯。。。具體請見文件預覽,有不明白之處,可咨詢QQ:12401814
南昌航空大學科技學院學士學位論文
多個圓盤濕制動器在潤滑的環(huán)境下
的設計方法的研究
秦大同 孫東葉
( 重慶大學 機械傳動國家中心實驗室,中國重慶 400044 )
摘要:在摩擦副之間發(fā)生的機械熱現(xiàn)象極大地改變多個濕制動器圓盤的襯套壓力和摩擦表面溫度的分配。 它已經(jīng)成為制動失敗的主要因素之一。 為了了解這些機械熱現(xiàn)象, 很多設計和對機械熱現(xiàn)象有很大影響的物質(zhì)因素,例如熱轉(zhuǎn)移系數(shù),摩擦因素, 滑動速度, 最初的襯套壓力等等都應分析。等溫的設計方法是計劃設計一個多個濕制動器圓盤
關鍵字: 濕制動器 機械熱現(xiàn)象 熱轉(zhuǎn)移系數(shù) 摩擦因素
0 介紹
多個濕制動器圓盤主要地有摩擦副, 一個反對板塊和一個活塞。每一個摩擦副包括一個摩擦片和一個鋼片。摩擦片是圓盤中在摩擦材料的兩邊排成一行的金屬軸。正常濕制動器的結(jié)構(gòu)如圖1所示。
圖 1 多個圓盤濕制動器
機械熱現(xiàn)象由非均勻的 墊片熱變形所引起的。因為在徑向的熱發(fā)散,熱轉(zhuǎn)移系數(shù)和摩擦因素的分布不均勻, 所以在濕制動的嚙合期間摩擦表面溫度將會以不同的比率增加。 在較高溫度的分布區(qū)中,比較大的墊片熱變形將會見到。 即使最初的熱發(fā)散是均勻分布的。由于熱移動系數(shù)和摩擦因素效果的變化,變形將變的不均勻。 在變形較高的局部區(qū)域,必然產(chǎn)生較大的壓力。 依次,由于在這些區(qū)域的熱膨脹,從而引起較高的溫度上升和促進局部壓力的增加。 這個過程叫做 機械熱現(xiàn)象。 這個現(xiàn)象將會導致實連接區(qū)域的減少, 表面溫度和摩擦片損壞率的增加。機械熱現(xiàn)象主要是由于濕制動的失敗而造成的。
通過將摩擦襯套的壓力分布的最佳化來減少機械熱現(xiàn)象的效果。 基于有限的元素分析, 等溫的設計方法是計劃設計一個多個濕制動器圓盤。
1 機械熱現(xiàn)象的影響因素
1.1 摩擦因素的影響
摩擦片和鋼板之間的動摩擦因素在機械熱現(xiàn)象 上是影響因素之一。 當滑動速度 v和襯套壓力 p 是常數(shù)的時候,熱發(fā)散 q 可能隨著摩擦因素 f的改變而不同。 因此 , 一個非均勻的熱墊片將會產(chǎn)生變形。
根據(jù)他們的構(gòu)成,用于濕制動器的摩擦材料分為多個類型, 例如sintered青銅-, 石墨- 和以紙為基礎的材料。材料的改變在嚙合期間能極大的影響平均動摩擦因素。 即使相同類型的摩擦材料, 隨著摩擦表面溫度 t , 滑動速度v 和襯套壓力 p的改變,平均動摩擦因素 f 將會極大的不同。
以紙為基礎的摩擦材料在于研究紙。" 紙 " 以它的高動摩擦因素和極低的靜態(tài)的/動態(tài)的系數(shù)比而聞名。 這個特征使得以紙為基礎的摩擦材料在制動期間非常的平滑和安靜。
為了獲得隨著溫度 t變化的摩擦因素, 速度v 和壓力 p 的規(guī)律性, 以紙為基礎的摩擦材料的正交實驗完成的是一個 LBA0049 慣性力。
在這實驗中,摩擦因素被定義為客觀的數(shù)值。 像溫度 t, 速度 v 和壓力 p 這樣的叁數(shù),以一個多線形的衰退方法被分析。 標準的正交表格 L 被采用。參數(shù) x,y, z,k和m 被定義為上限、下限、零界限、變化范圍和可變代碼。所有的叁數(shù)的變化范圍如表 1 所示。代碼變量只能從 -1 到 +1變化.
(1)
(2)
(3)
表 1 代碼變量計劃
變量 溫度(Z1)t/℃ 速度(Z2)v/(m·s-1) 壓強(Z3)p/MPa
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
80 0.3 0.7
90 0.4 0.9
85 0.35 0.8
5 0.05 0.1
函數(shù)
摩擦因素的衰減方程由以下方程給出:
(4)
(5)
這里,, ---------衰減系數(shù)
表 2 摩擦因素的多線性變量衰退分析
i=1,2,3 (6)
j>i (7)
這里 N----實驗數(shù)字,N=8
M----相同實驗中的重復數(shù)字,M=3
衰減方程系數(shù)的測試通過以下方程獲得:
~ (8)
(9)
摩擦因素的衰減方程為:
(10)
如果溫度t,速度v,壓強p代替以變量,則得到摩擦因素新的方程:
(11)
1.2 熱轉(zhuǎn)移系數(shù)的影響
摩擦材料的表面有允許冷卻液流動的凹槽。 熱轉(zhuǎn)移系數(shù)分布將會隨著凹槽式樣和徑向的位置而極大的改變。 即使熱發(fā)散的分布在沿著徑向是均勻的, 熱墊片的變形由于熱轉(zhuǎn)移系數(shù)的變化,也將會是非均勻的。 因此在冷卻液和鋼板之間的熱轉(zhuǎn)移系數(shù)也是機械熱現(xiàn)象影響因素之一。
首先, 拋物線的流程需要被定義。如果在那里存在一個三維空間流量的主方向 , 動力的散布,熱,質(zhì)量,等等,能在這些方向被疏忽。 如果沒相反的流程,這個流程叫做拋物線的流程。
在引進在凹槽熱轉(zhuǎn)移問題上的數(shù)學方程之前,確定簡單假定的描述將會單個凹槽的層流流動和熱轉(zhuǎn)移的數(shù)學分析中給出(圖2)。
圖 2
(1) 在主要的流動方向, 熱發(fā)散和重量都被疏忽,而且對流是冷卻液流動和板塊之間的熱傳遞的主要因素。
(2)因為在鋼板和以紙為基礎的摩擦片之間的熱傳導率極大的不同, 所以大部份在制動期間產(chǎn)生的熱被鋼板吸收。 在摩擦片和冷卻液之間的熱傳導率能被認為等于零。
上述的假定能減少訂單數(shù)目的計算量。 三維空間的流程將會被轉(zhuǎn)化為一系列的二維空間的流程。 在笛卡爾坐標系 中x , y, z(圖 2) 被解決如下。
連續(xù)性
(12)
Navier-stokes 方程:
在 x=0 , 0≤y≤d; u=0,v=0
在 x=b , 0≤y≤d; u=0,v=0
在 y=0 , 0≤x≤b; u=0,v=0
在 y=d , 0≤x≤b; u=0,v=0 (13)
這里 u,v,w ------在x,y,z方向的速度的組成
b,d,l ------凹槽的寬度,深度和長度
ρ -------油液密度
μ ------動態(tài)黏度
pf --------液流壓強
X,Y,Z ------在x,y,z方向的重力
u和 v 的結(jié)果能通過使用有限的不同方法的數(shù)字解決而獲得。速度 w 的整個分布能從下列方程式中獲得。
(14)
在 x=0 或 x=b, 0≤y≤d; w=0
在 y=0 或 y=d, 0≤x≤b; w=0 (15)
當?shù)谝粋€假設滿足,則等于零。溫度分布能從以下方程式中獲得。
在 y=d, 0≤x≤b; t=tm
在 y=0, 0≤x≤b; =0
在 x=0, 0≤y≤d; =0
在 x=b, 0≤x≤b; =0
在 z=0, 0≤x≤b 0≤y≤d; t= (16)
這里----------鋼板的溫度
-----冷卻液的初始溫度
---------平常溫度的斜率
-------液體的具體的熱度
--------冷卻液的導熱率
基于冷卻液的速度場能通過方程 (12) 到 (15)而得到, 每一個相連部分的溫度分布能藉著有限不同方法通過方程(16)獲得。 根據(jù)在表 3 所顯示出的參數(shù), 當 z 等于 35.5 毫米和 71 毫米的時候。 結(jié)果如圖 3 所示。在正常的鋼板和冷卻液之間方向的平均溫度的梯度是由下列圖表給定的。
圖 3 在z = 35.5 mm和z = 71 mm時的溫度域
(17)
表 3 結(jié)構(gòu)和物理參數(shù)
摩擦片的內(nèi)部半徑/mm 160.5
摩擦片的內(nèi)部半徑/mm 231.5
油液凹槽的寬度 b/mm 3.18
油液凹槽的深度 d/mm 0.64
油液凹槽的長度 l/mm 71
在單個凹槽中的油液質(zhì)量流動率m/(kg·s-1 ) 3.24×
冷卻液的初始溫度 50
液體的具體的熱度 2177
-冷卻液的導熱率 0.126
最后,熱傳遞系數(shù)沿著徑向通過方程 (18) 計算的:
(18)
被定義為如性質(zhì)上的溫度并通過下列方程計算:
(19)
圖 4 舉例說明在徑向的多個平行的凹槽熱移動系數(shù)的分布。 它顯示在摩擦片的內(nèi)部附近的冷卻效果顯然地是比較好的超過一在外部附近。 在設計一個濕制動器時,巨大的熱發(fā)散應該在內(nèi)部附近產(chǎn)生來確保沿著板塊的徑向墊片的熱變形是均勻的。
圖 4 制動器的幾何和材料參數(shù)
2 機械熱現(xiàn)象的 FEA 模型
在圖 1 所示的方案能在圖 5描述。它主要地包括摩擦片,鋼板,一個對立板塊和一個活塞。為了要建立有關的 FEA 模型,下列的關鍵點需要被考慮。
(1) 多個圓盤濕制動器的最重要的結(jié)構(gòu)特征是摩擦片和鋼板之間的間隙。 為了計算在摩擦副之間的壓力分布, 間隙被使用。 有間隙的 FEA 模型會成為一個非線性模型。
(2) 摩擦因素不是常數(shù)。 它將會隨著像板塊的表面溫度 t ,滑動速度v 和襯套壓力 p 不同的使用條件而改變。
(3)在冷卻液和鋼板之間的熱轉(zhuǎn)移系數(shù)在徑向不是一個常數(shù)。
在 FEA 模型中,每個部分被假設成一個線性彈性物體。系統(tǒng)的外力包括作用在活塞上的液體的壓力 p'和通過在軸方向的浮液而作用在對立板上的支承力。 液體的壓力 p' 依下列各項被定義無尺寸的量綱。
(20)
這里 F----作用于活塞的應力
A----單個摩擦表面的接觸面積
P----襯套壓力
圖 5 多個圓盤濕制動器的組合圖
當多個圓盤濕制動器的幾何學的和物質(zhì)參數(shù)在表 4 中給出的時候.
表 4 制動器的幾何和材料參數(shù)
鋼板的厚度g/mm 2.4
摩擦片的厚度g+2/mm 2.74+2×1.18
油管的實際半徑/mm 174
鋼的彈性系數(shù) 200
摩擦材料的彈性系數(shù) 2.1
鋼的關比率 0.3
摩擦材料的關比率 0.2
油液壓強 2.5
為了核對 FEA 模型, 在開始的襯套壓力分布方面的實驗被完成。 有限元素的分析和實驗的結(jié)果如圖 6 所示。
圖 6 無綱量襯套壓強的分布
在現(xiàn)實的制動器中,活塞和對立板的幾何參數(shù)是復雜的。 設計活塞和對立板的硬分配的率的方法學是在建立理想的起始壓力分配方面檢索[表] 。
3 設計方法
在濕制動器的操作方面,二個不同的模態(tài)可能被識別。 在緊急制動模態(tài), 摩擦片和鋼板在非常短的時間內(nèi)彼此相互滑動。 它通常從 0.2秒到 2 秒之間變化。 在嚙合期間被產(chǎn)生時期的磨擦熱大都被和流動熱轉(zhuǎn)移的一個附屬角色的凹槽的鋼板吸收。 在持續(xù)不斷的制動模態(tài)中,二個板塊的滑動時間可能長達10 秒到 20 秒。 在這一模態(tài)中,溫度在板塊延伸結(jié)局定態(tài)的各種不同的翎骨針在幾秒之內(nèi)評價。 在哪一個所有的被產(chǎn)生的熱一定被在摩擦片的凹槽中流動的液移動之后。 熱轉(zhuǎn)移的價值 , 鋼板和凹槽之間的液體系數(shù)將會決定制動器的穩(wěn)定的溫度水平。
摩擦副和切線的上升溫暖氣流的溫度 t 的強調(diào)分別地,相同鋼的板塊的被顯示為持續(xù)不斷的制動如圖 7所示。
圖 7 在持續(xù)制動中溫度和切應力的斜坡曲線
在緊急制動過程中,鋼板的表面溫度和切線壓力被一個 LBA0049 慣性動力計的熱和標準度量測量了。 熱和標準度量沿著徑向均勻的分布。 在實驗的和有計劃的結(jié)果之間的比較如圖 8所示。
圖 8 測量和計算結(jié)果的對比
雖然開始的襯套壓力在內(nèi)部的輻部 ( 在圖 6 所示) ,圖 7 和圖 8 表所示的附近比較高高的電動壓力和高的溫度在外面的輻部附近
這是局部熱流出輸入為什么在任何的翎骨是一個正常壓力,摩擦因素和滑動速度。 雖然濕制動器可能被設計到低的平均每單位襯套區(qū)域能源, 當?shù)氐母咭r里壓力地點由于 熱 可能引起摩擦襯里的表面燒-在摩擦雙之間的機械不穩(wěn)定。
鋼板通常在支援板塊附近的活塞和最后的鋼板塊附近的第一鋼板塊被發(fā)現(xiàn)。 失敗的主要因素是由于棒的溫度不同而且熱的毀壞。 因為二個鋼的板塊只有一個摩擦表面, 盤子失敗可能是更多產(chǎn)生超過其他的板塊。
鋼板的破裂失敗由重復的剎周期的疲累損害所引起。 在一個嚙合期間,表面的溫度比鋼板的主要身體劑量更加快速地上升。 它在被張應力平衡的鋼板的外部者引誘壓力在那比較冷的內(nèi)部鋼板塊。 當這剎周期結(jié)束的時候,鋼板的外部溫度由于冷卻油的效果將會變成比鋼板的內(nèi)部溫度冷。 壓力在鋼板的外部者變成鋼板是內(nèi)部的在比較熱人中被壓力平衡的張力。 因此破裂可能在一個周期的無法欣然接受低數(shù)字中發(fā)生。
概述這些分析, 為了要避免由局部高溫和壓力所引起的剎車損壞, 運行動態(tài)壓力的有限元素計算和表面溫度是必需的。 對于濕的剎車適當?shù)脑O計程序能在下列的步驟被描述: 首先,光線的方向的開始的襯里壓力分配在統(tǒng)一發(fā)情流出的情況之下被估計。其次,以熱轉(zhuǎn)移系數(shù)和摩擦因素的非均勻分布的影響力看來,開始的襯套壓力分布根據(jù)動態(tài)的壓迫力和摩擦溫度被校核。 第三, 為了要了解表面溫度的均勻分布和 墊片的熱變形, 活塞的結(jié)構(gòu)而且對立板最佳化。 這是等溫的設計方法。 它將會減少不宜的機械熱現(xiàn)象。
4 結(jié)論
(1) 機械熱現(xiàn)象由非理性的開始的襯套壓力和熱轉(zhuǎn)移系數(shù)和摩擦因素的非均勻分布所引起。機械熱現(xiàn)象導致局部高溫和高壓力是導致多個圓盤濕制動器失效的主要因素。
(2) 在鋼板的表面上的切線壓力比徑向的壓力大。 因此鋼板的表面損壞通常是在徑向產(chǎn)生的。
(3) 如何設計活塞的幾何外型是多個圓盤濕制動器的重點。 活塞在摩擦副之間有在開始的襯套壓力分布上比較大的影響。
(4) 為了避免多個圓盤濕制動器的失效,等溫設計的方法被提出。 換句話說, 濕制動器設計者應該盡全力沿著鋼板的徑向達成均勻的溫度分布。
傳記: 秦大同: 現(xiàn)在是中國重慶大學的機械工程學院的一位教授。 在 1991 年,他獲得中國重慶大學的機械工程博士學位。 他的研究興趣包括齒輪傳輸, CVT(不斷可變的傳輸), 對于汽車的AMT(自動的機械傳輸) 系統(tǒng), 等等。電話: +86-23-65104217; 電子郵件: dtqin@cqu.edu.cn
孫東葉:現(xiàn)在是中國重慶大學的自動化系的一位副教授。 在 1991 年,他獲得中國吉林科技大學博士學位。 他的研究興趣包括 CVT(不斷可變的傳輸), 對于汽車的AMT(自動的機械傳輸) 系統(tǒng), 等等。電話: +86-23-65103566; 電子郵件: dysun@cqu.edu.cn
參考:
[1] Zagrodzki P.多個離合器和剎車的機械熱現(xiàn)象的分析 。Wear,1990:(140) 291 ~ 308
[2]Murali M R Krishna, Douglas Chojecki。結(jié)合使用有限元素對離合器和剎車中心軸的的失效分析。SAE Paper No. 982799, 1998
[3] Tasuhite Miura , Noboru Sekine?;诩埖臐耠x合器的動態(tài)特性的研究 。SAE Paper No. 981102, 1998
[4] Payvar P.在濕離合器的油凹槽中的Laminar熱傳遞。Int. J. Heat Mass Transfer, 1991, 34(7): 1 791~1 798
航空與機械工程學院 第13 頁 共 13 頁
畢 業(yè) 設 計 附 件 四
源程序
專 業(yè) 機械設計制造及其自動化
學生姓名 胡 成
班 級 B機制077
學 號 0710101710
指導教師 盧 倩
完成日期 2011年6月6日
源程序
速度采集AD/轉(zhuǎn)換接口程序
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轉(zhuǎn)換
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
轉(zhuǎn)速顯示編程:
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轉(zhuǎn)換中取數(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; 設暫存拆字結(jié)果臨時單元
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
轉(zhuǎn)速賦初值:
ZSFCZ: MOV DPTR,#34X()H; 設置地址3400H
MOV R4,#02H; 兩個初值分別傳送
MOV R0,#21H; 設暫存單元首地址
LOOP: MOVX A,@DPTR
MOV @R0,A
DEC R0; 指向轉(zhuǎn)速百位、千位
INC DPTR; 指向轉(zhuǎn)速個位、十位
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; 判轉(zhuǎn)速是否為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(jié) ’設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ù)轉(zhuǎn)換為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ù)表的結(jié)構(gòu)。表中存儲了制動壓力、閘間隙、油壓、運行速度和安全回路狀態(tài),以及相應的數(shù)據(jù)采集的時間。
表1 數(shù)據(jù)表結(jié)構(gòu)
字段名稱
數(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