數(shù)字積分法三四象限順圓插補(bǔ)_第1頁
數(shù)字積分法三四象限順圓插補(bǔ)_第2頁
數(shù)字積分法三四象限順圓插補(bǔ)_第3頁
數(shù)字積分法三四象限順圓插補(bǔ)_第4頁
數(shù)字積分法三四象限順圓插補(bǔ)_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、XX 學(xué) 院課 程 設(shè) 計(jì) 說 明 書 設(shè)計(jì)題目:數(shù)字積分法三、四象限順圓插補(bǔ)計(jì)算 系 (部): xxx 專 業(yè): xxx 班 級: xxx 姓 名: xxx 學(xué) 號: xxx 指導(dǎo)老師(簽名): xxx 起止時(shí)間:2012年12月 24 日至2012年12月 29 日共 1 周20 12 年 12 月 26 日目錄一、課程設(shè)計(jì)題目1二、課程設(shè)計(jì)的目的1三、課程設(shè)計(jì)使用的主要儀器設(shè)備1四、課程設(shè)計(jì)的任務(wù)題目描述和要求1五、數(shù)字積分法插補(bǔ)原理25.1從幾何角度來看積分運(yùn)算25.2數(shù)字積分圓弧插補(bǔ)35.3數(shù)字積分法圓弧插補(bǔ)程序流程圖55.4插補(bǔ)實(shí)例6六、程序清單8七、軟件運(yùn)行效果仿真14八、課程小

2、節(jié)20九、參考文獻(xiàn)20一、課程設(shè)計(jì)題目 數(shù)字積分法第三四象限順圓插補(bǔ)計(jì)算二、課程設(shè)計(jì)的目的數(shù)控原理與系統(tǒng)是自動(dòng)化(數(shù)控)專業(yè)的一門主要專業(yè)課程,安排課程設(shè)計(jì)的目的是通過課程設(shè)計(jì)方式使學(xué)生進(jìn)一步掌握和消化數(shù)控原理基本內(nèi)容,了解數(shù)控系統(tǒng)的組成,掌握系統(tǒng)控制原理和方法,通過設(shè)計(jì)與調(diào)試,掌握各種功能實(shí)的現(xiàn)方法,為今后從事數(shù)控領(lǐng)域的工作打下扎實(shí)的基礎(chǔ)。1) 了解連續(xù)軌跡控制數(shù)控系統(tǒng)的組成原理。2) 掌握數(shù)字積分法(DDA)插補(bǔ)的基本原理。3)掌握數(shù)字積分法(DDA)插補(bǔ)的軟件實(shí)現(xiàn)方法。三、課程設(shè)計(jì)使用的主要儀器設(shè)備1、PC計(jì)算機(jī)一臺 2、數(shù)控機(jī)床實(shí)驗(yàn)裝置一臺3、支持軟件若干(選用VB環(huán)境)四、課程設(shè)計(jì)的

3、任務(wù)題目描述和要求數(shù)字積分法又稱數(shù)字微分分析法DDA(Digital Differential Analyzer)。數(shù)字積分法具有運(yùn)算速度快、脈沖分配均勻、易于實(shí)現(xiàn)多坐標(biāo)聯(lián)動(dòng)及描繪平面各種函數(shù)曲線的特點(diǎn),應(yīng)用比較廣泛。其缺點(diǎn)是速度調(diào)節(jié)不便,插補(bǔ)精度需要采取一定措施才能滿足要求。由于計(jì)算機(jī)有較強(qiáng)的計(jì)算功能和靈活性,采用軟件插補(bǔ)時(shí),上述缺點(diǎn)易于克服。本次課程設(shè)計(jì)具體要求如下:(1)掌握數(shù)字積分插補(bǔ)法基本原理(2)設(shè)計(jì)出數(shù)字積分(DDA)插補(bǔ)法插補(bǔ)軟件流程圖(3)編寫出算法程序清單算法描述(數(shù)字積分法算法在VB中的具體實(shí)現(xiàn)) (4)要求軟件能夠?qū)崿F(xiàn)第三第四象限順圓插補(bǔ)計(jì)算(5)軟件運(yùn)行仿真效果 插補(bǔ)

4、結(jié)果要求能夠以圖形模式進(jìn)行輸出五、數(shù)字積分法插補(bǔ)原理 數(shù)字積分法又稱數(shù)字積分分析法DDA(Digital differential Analyzer),簡稱積分器,是在數(shù)字積分器的基礎(chǔ)上建立起來的一種插補(bǔ)算法。具有邏輯能力強(qiáng)的特點(diǎn),可實(shí)現(xiàn)一次、兩次甚至高次曲線插補(bǔ),易于實(shí)現(xiàn)多坐標(biāo)聯(lián)動(dòng)。只需輸入不多的幾個(gè)數(shù)據(jù),就能加工圓弧等形狀較為復(fù)雜的輪廓曲線。直線插補(bǔ)時(shí)脈沖較均勻。并具有運(yùn)算速度快,應(yīng)用廣泛等特點(diǎn)。 5.1從幾何角度來看積分運(yùn)算如下圖所示,從時(shí)刻到t求函數(shù)曲線所包圍的面積時(shí),可用積分公式表示,如果將0t的時(shí)間劃分成時(shí)間間隔為的有限區(qū)間,當(dāng)足夠小時(shí),可得近似公式 :若t 取“1”,上式簡化為:

5、 這種累加求和運(yùn)算,即積分運(yùn)算可用數(shù)字積分器來實(shí)現(xiàn),若求曲線與坐標(biāo)軸所包圍的面積,求解過程如下:被積函數(shù)寄存器用以存放Y值,每當(dāng)t 出現(xiàn)一次,被積函數(shù)寄存器中的Y值就與累加器中的數(shù)值相加一次,并將累加結(jié)果存于累加器中,如果累加器的容量為一個(gè)單位面積,則在累加過程中,每超過一個(gè)單位面積,累加器就有溢出。當(dāng)累加次數(shù)達(dá)到累加器的容量時(shí),所產(chǎn)生的溢出總數(shù)就是要求的總面積,即積分值。被積函數(shù)寄存器與累加器相加的計(jì)算方法:例:被積函數(shù)寄存器與累加器均為3位寄存器,被積函數(shù)為5,求累加過程。 101 101 101 101+)000 +)101 +)010 +)111 101 010 111 100 101

6、 101 101 101+) 100 +)001 +)110 +) 011 001 110 011 000經(jīng)過23 = 8次累加完成積分運(yùn)算,因?yàn)橛?次溢出,所以積分值等于5。5.2數(shù)字積分圓弧插補(bǔ)圓心為坐標(biāo)原點(diǎn)的圓弧方程式為: 可得圓的參數(shù)方程為: 對t 微分得、方向上的速度分量為: 用累加器來近似積分為:如圖所示,設(shè)加工半徑為R的第一象限逆時(shí)針圓弧AB,坐標(biāo)原點(diǎn)定在圓心上,A(Xo,Yo)為圓弧起點(diǎn),B(Xe,Ye)為圓弧終點(diǎn),Pi(Xi,Yi)為加工動(dòng)點(diǎn)。如下圖所示,可以得到:VR = VxYi = VyXi = K即Vx=K Yi,Vy=K Xi 因而可以得到坐標(biāo)微小位移增量為: X=

7、Vxt = KYit Y=Vyt = KXit 設(shè)t=1,K=1/2 則有:可看出,用DDA法進(jìn)行圓弧插補(bǔ)時(shí),是對加工 動(dòng)點(diǎn)的坐標(biāo)Xi和Yi的值分別進(jìn)行累加,若積分累加器有溢出,則相應(yīng)坐標(biāo)軸進(jìn)給一步,則圓弧積分插補(bǔ)器如圖所示:5.3數(shù)字積分法圓弧插補(bǔ)程序流程圖DDA法插補(bǔ)不同象限圓弧時(shí),算法也有所不同。當(dāng)采用軟件插補(bǔ)時(shí),如果參與積分運(yùn)算的寄存器均采用絕對值數(shù)據(jù),則DDA法插補(bǔ)的積分累加過程完全相同,即JRJVJR,只是進(jìn)給脈沖分配方向和圓弧插補(bǔ)動(dòng)點(diǎn)坐標(biāo)的修正有所不同。5.5插補(bǔ)實(shí)例設(shè)有第象限逆圓弧SE,起點(diǎn)為S(4,0),終點(diǎn)為E(0,4),且寄存器位數(shù)N=3。試用DDA法對該圓弧進(jìn)行插補(bǔ),并

8、畫出插補(bǔ)軌跡。解:插補(bǔ)開始時(shí),被積函數(shù)寄存器初值分別為JVXYS0,JVYXS4,終點(diǎn)判別寄存器JSX|XeXS|4,JSY|YeYS|4。該圓弧插補(bǔ)運(yùn)算過程見下表,插補(bǔ)軌跡如下圖所示的折線。六、程序清單Private Sub 建立坐標(biāo)系_Click()Picture1.ForeColor = vbBlackPicture1.DrawWidth = 2Picture1.Line (500, 1000)-(8500, 1000) 畫直線坐標(biāo)軸Picture1.Line (4500, 1000)-(4500, 5000)Picture1.CurrentX = 230 當(dāng)前位置Picture1.Cu

9、rrentY = 900Picture1.Print -X 坐標(biāo)軸標(biāo)注Picture1.CurrentX = 4300Picture1.CurrentY = 800Picture1.Print (0,0)Picture1.CurrentX = 8650Picture1.CurrentY = 900Picture1.Print XPicture1.CurrentX = 4400Picture1.CurrentY = 5100Picture1.Print -YPicture1.Line (500, 1000)-(600, 950) 箭頭Picture1.Line (500, 1000)-(600,

10、 1050)Picture1.Line (8500, 1000)-(8400, 950)Picture1.Line (8500, 1000)-(8400, 1050)Picture1.Line (4500, 5000)-(4450, 4900)Picture1.Line (4500, 5000)-(4550, 4900)End SubPrivate Sub 畫圓弧_Click()Dim a, b, c, d, n, m As IntegerDim r As Singlea = Val(Text1.Text)b = Val(Text2.Text)c = Val(Text3.Text)d = Va

11、l(Text4.Text)n = a * a + b * bm = c * c + d * dr = Sqr(n)Picture1.ForeColor = vbRedPicture1.DrawWidth = 4If Option1.Value = True ThenConst PI = 3.1415926535Picture1.Circle (4500, 1000), 300 * r, , PI, -3 * -PI / 2End IfIf Option2.Value = True ThenPicture1.Circle (4500, 1000), 300 * r, , -3 * -PI / 2

12、, 0 * PIEnd IfEnd SubPrivate Sub 清除_Click() Text1.Text = Text2.Text = Text3.Text = Text4.Text = Text5.Text = Option1.Value = False Option2.Value = False Picture1.Cls Form1.ClsEnd SubPrivate Sub 插補(bǔ)計(jì)算_Click()If Not (Option1.Value = True Or Option2.Value = True) Then ans = MsgBox(出錯(cuò)了,請選擇象限, 48, 提示信息)En

13、d IfDim a, b, c, d, ni, mi, ai, bi, ci, k, f, g, m, n, l, i, xs, yx, xe, ye, jvx, jvy, xi, yi As IntegerDim r As Singlea = Val(Text1.Text)b = Val(Text2.Text)c = Val(Text3.Text)d = Val(Text4.Text)ni = a * a + b * bmi = c * c + d * dr = Sqr(ni)Form1.Clsci = 2f = 1g = 1k = 0 正X進(jìn)給標(biāo)志 1 正向 -1負(fù)向m = 0 負(fù)Y進(jìn)給標(biāo)

14、志 1 正向 -1負(fù)向n = 0 累加次數(shù)i = CInt(Text5) 寄存器位數(shù)賦給il = 2 ixs = CInt(Text1)ys = CInt(Text2)xe = CInt(Text3)ye = CInt(Text4)jvx = Abs(CInt(Text2)jvy = Abs(CInt(Text1)jrx = 0jry = 0xi = Abs(CInt(Text3) - CInt(Text1) X方向總步y(tǒng)i = Abs(CInt(Text4) - CInt(Text2) Y方向總步長ai = xsbi = ysPicture1.ForeColor = vbGreenPictu

15、re1.DrawWidth = 3Form1.CurrentX = 200Form1.CurrentY = 200Print & X積分器 & Y 積分器 Form1.CurrentX = 100Form1.CurrentY = 400Print 累加次數(shù) n & jvx & Jrx=Jrx+Jvx & X & Jx & Jvy & Jry=Jry+Jvy & Y & Jy Form1.CurrentX = 100Form1.CurrentY = 600Print 開始 & & jvx & & jrx & & k & & xi & & jvy & & jry & & m & & yiwz: k

16、 = 0 X方向進(jìn)給標(biāo)志 1 X正向進(jìn)給 -1負(fù)向進(jìn)給 m = 0 Y方向進(jìn)給標(biāo)志 1 Y正向進(jìn)給 -1負(fù)向進(jìn)給If xi 0 Then X方向判斷 jrx = jrx + jvx If jrx = l Then 判斷寄存器是否溢出 jrx = jrx - l 溢出修正 If jrx = l Then 寄存器位數(shù)判斷 GoTo ww5 End If k = -1 負(fù)X方向進(jìn)給 xi = xi - 1 X方向總步長減1 End IfEnd IfIf yi 0 Then Y方向判斷 jry = jry + jvy If jry = l Then 判斷寄存器是否溢出 jry = jry - l 溢出

17、修正 If jry = l Then 寄存器位數(shù)判斷 GoTo ww5 End If If Option1.Value = True Then 第三象限 m = 1 正Y方向進(jìn)給 ElseIf Option2.Value = True Then 第四象限 m = -1 負(fù)Y方向進(jìn)給 End If yi = yi - 1 Y方向總步長減1 End IfEnd Ifn = n + 1 累加次數(shù)加1Form1.CurrentX = 100Form1.CurrentY = 600 + n * 200If xi = 0 Or yi = 0 Then If xi = 0 And yi 0 And f =

18、0 Then Print & n & & jvx & & 停止 & & & & & & jvy & & jry & & m & & yi GoTo wz2 End If If xi = 0 And yi 0 And f 0 Then Print & n & & jvx & & & & & & & & jvy & & jry & & m & & yi GoTo wz2 End If If xi 0 And yi = 0 And g = 0 Then Print & n & & jvx & & jrx & & k & & xi & & jvy & & 停止 GoTo wz2 End If If x

19、i 0 And yi = 0 And g 0 Then Print & n & & jvx & & jrx & & k & & xi & & jvy GoTo wz2 End If If xi = 0 And yi = 0 And f = 1 And g 0 Then Print & n & & jvx & & jry & & k & & xi & & jvy GoTo wz2 End If If xi = 0 And yi = 0 And f 0 And g = 1 Then Print & n & & jvx & & & & & & & & jvy & & jry & & m & & yi

20、 GoTo wz2 End If If xi = 0 And yi = 0 And f = 0 And g = 0 Then Print & n & & jvx & & 停止 & & & & & & jvy & & 停止 GoTo wz2 End If If xi = 0 And yi = 0 And f = 0 And g 0 Then Print & n & & jvx & & 停止 & & k & & xi & & jvy & GoTo wz2 End If If xi = 0 And yi = 0 And f 0 And g = 0 Then Print & n & & jvx & &

21、 & & & & & & jvy & & 停止GoTo wz2 End IfEnd IfPrint & n & & jvx & & jrx & & k & & xi & & jvy & & jry & & m & & yiwz2: If xi = 0 Then f = f - 1End IfIf yi = 0 Then g = g - 1End IfIf xi = 0 And yi = 0 Then ci = ci - 1 If ci = 0 Then GoTo wz3 End IfEnd IfIf Option1.Value = True Then If k = -1 Then 負(fù)X方向進(jìn)給

22、 jvy = jvy + 1 End If If m = 1 Then 正Y方向進(jìn)給 jvx = jvx - 1 End IfEnd IfIf Option2.Value = True Then If k = -1 Then 負(fù)X方向進(jìn)給 jvy = jvy - 1 End If If m = -1 Then 負(fù)Y方向進(jìn)給 jvx = jvx + 1 End IfEnd IfPicture1.Line (4500 + 300 * ai, 1000 - bi * 300)-(4500 + 300 * (ai + k), 1000 - (bi + m) * 300)ai = ai + kbi = bi + mGoTo wzww3: Text1.Text = Text2.Text = Text3.Text = Text4.Text = Text5.Text = Text1.SetFocusww5: Form1.Cls ans = MsgBox(出錯(cuò)了,寄存器位數(shù)偏小,請輸入, 48, 提示信息) Text5.Text = Text5.SetFocusww4:wz3:End Sub七、軟件運(yùn)行效果仿真 界面設(shè)計(jì)第三象限寄存器位數(shù)為4:第

溫馨提示

  • 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

提交評論