美女胸被狂揉扒开吃奶的网站o_亚洲日韩av中文无码专区_东京热激情无码专区_久久HEZYO久综合亚洲色_欧美成人高清视频_国产精品乡下勾搭老头_欧美一级v片在线播放_成人午夜国产视频_男女猛烈无遮挡免费动态图_亚洲一区国产精品视频

電線電纜網(wǎng) > 線纜設(shè)計|參數(shù)計算 > 用VBA在Excel中快速計算瓦形導(dǎo)體尺寸以及圓形不等芯電纜外徑(完整版)

用VBA在Excel中快速計算瓦形導(dǎo)體尺寸以及圓形不等芯電纜外徑 - 無圖版

mxsf1984 --- 2010-07-27 09:33:15

1

用VBA在Excel中快速計算瓦形導(dǎo)體尺寸以及圓形不等芯電纜外徑

<DIV class="bct fc05 fc11 nbw-blog ztag js-fs2">

摘要:本文詳細介紹了采用牛頓迭代數(shù)學方法及VBA語言在Excel電子表格中快速計算扇形/瓦形導(dǎo)體尺寸及不等芯成纜工藝參數(shù)。

關(guān)鍵詞:Excel  牛頓迭代  VBA語言  

1 引言

電纜制造工藝設(shè)計和計算是一項很繁瑣的工作,特別是有許多工藝設(shè)計和計算(如:扇形/瓦形導(dǎo)體尺寸計算、不等芯成纜外徑計算等)相當復(fù)雜,甚至用手工無法完成精確的計算,利用計算機將某些工藝設(shè)計和計算編程,不僅方便工藝技術(shù)人員的工作,而且可以提高工作效率和計算精確度,實現(xiàn)無法用手工完成的設(shè)計和計算。

2 程序結(jié)構(gòu)

在設(shè)計本程序時考慮到它的實用性和使用的簡單性,采用Visual Basic For Applications (VBA)語言在我們都非常熟悉的Excel電子表格中以自定義函數(shù)的形式存在。在使用時只要點擊Excel電子表格左上角公式編輯欄的[fx]按鈕,在選擇類型中選擇[用戶定義],在函數(shù)中選擇所需的工藝函數(shù)即可計算。操作非常方便易學。

3 程序設(shè)計

   設(shè)計程序過程中,首先根據(jù)正確的理論依據(jù)建立數(shù)學模型,然后設(shè)計程序結(jié)構(gòu)及編寫程序代碼。

3.1 數(shù)學模型建立

    對于電纜工藝參數(shù)的計算數(shù)學模型,前輩們早已提出了相當詳細的書面材料,在這里只是套用前輩們的推導(dǎo)結(jié)果,不作詳細分析。

3.1.1 扇形線芯參數(shù)計算模型

式中:S為計算截面面積;R為瓦形導(dǎo)體大圓弧半徑;為絕緣層的標稱厚度;為二分之一扇角;R1為扇形導(dǎo)體底角圓弧半徑,R1=0.15R;R2為扇形邊角圓弧半徑,R2=0.12R。

緊壓扇形導(dǎo)體其它尺寸,可根據(jù)圓弧半徑R計算得。

扇高:

扇寬:

線芯周長:

3.1.2 瓦形線芯參數(shù)計算模型

式中:R為瓦形導(dǎo)體大圓弧半徑;S為瓦形導(dǎo)體計算截面,

;g1為瓦形導(dǎo)體內(nèi)層線芯單絲根數(shù);g2為瓦形導(dǎo)體外層線芯單絲根數(shù);瓦形導(dǎo)體底弧半徑;瓦形導(dǎo)體邊弧半徑;為緊壓系數(shù);為延伸系數(shù);d為單絲直徑;t為絕緣厚度;為瓦形中心角半角度;R0為地線芯半徑;瓦形導(dǎo)體其它尺寸可根據(jù)大圓弧半徑R值來求得:

線芯高度:

線芯寬度:

線芯周長:

3.1.3 不等芯電纜成纜外徑

對不等截面圓形2+1、3+1、3+2、4+1芯電纜的成纜外徑計算,首先假設(shè)

  

式中:、分別為大小截面圓形芯半徑;a、b為比例系數(shù)。

(1)不等截面圓形2+1芯電纜

      

(2)不等截面圓形3+1芯電纜

(3)不等截面圓形3+2芯電纜

(4)不等截面圓形4+1芯電纜

3.2 分析數(shù)學模型

從以上數(shù)學模型可以看出,以上方程都是一元高次方程,直接求解比較困難,利用VBA語言,通過“牛頓迭代法”計算。迭代公式為:

利用“牛頓迭代法”解方程得思路為先給未知數(shù)設(shè)定一個值,解關(guān)于該未知數(shù)的函數(shù)并得出函數(shù)最后的值,再將該值代入未知數(shù)繼續(xù)重復(fù)計算,直到兩次函數(shù)值的差的絕對值小于0.00001后停止計算。這種計算方法稱為牛頓迭代法,也可以叫做逐漸逼近法。這種方法可以計算比較困難的高次一元方程,但計算起來相當復(fù)雜,一個方程需要重復(fù)計算30次以上。所以人工計算相當麻煩,F(xiàn)在用計算機VBA語言的循環(huán)語句進行計算,可以大大提高計算速度和準確性。

3.2 程序框架圖

3.3 程序代碼

(1)扇形線芯參數(shù)計算程序代碼

計算各參數(shù)

函數(shù)宏

π值

Pi( )

計算截面

Area(g1,g2,d,yt,nu)

大圓弧半徑R

扇形—R(g1.g2,d,yt,nu,r1,r2,R0,t,bata)

扇形高H

扇形—H(t.R, bata)

扇形寬B

扇形—B(t,R, bata)

扇形周長L

扇形—L(t,R, bata)

π值

Function pi()

pi = 3.14159265358979

End Function

'角度弧度轉(zhuǎn)換

Function rad(value)

rad = value * pi() / 180

End Function

'計算截面

Function Area(g1,g2,d,yt,nu)

area = pi() / 4 * (g1 + g2) * d ^ 2 / yt / nu

End Function

大圓弧半徑R

Function扇形—R(g1.g2,d,yt,nu,r1,r2,R0,t,bata)

s = area(g1, g2, d, yt, nu)

half = Application.Radians(bata / 2)

R = (t + Sqr(t ^ 2 * (1 - half / Tan(half)) + half * s + half * (half - sta1) * (r0 + t) ^ 2)) / half

    Do

      sta = asin((r2+t)/(R-r2))

      fx = (R^2-r1^2)*half-(R^2-r2^2)*sta+(r2^2-t^2)/tan(sta)+3.14/2*(r1^2+r2^2)_

          +(t^2-r1^2)/tan(half)-s

      fxn = 2*R*half-2*R*sta

      Rn = R - fx / fxn

      If Abs(Rn - R) <= 0.000001 Then

扇形—R = Rn

      Exit Function

      End If

      R = Rn

    Loop

End Function

扇形高H

Function扇形—H(t.R, bata)

half = Application.Radians(bata / 2)

r1=R*0.15

扇形—H=R-(r1-t)/sin(half)+r1

End Function

扇形寬B

Function扇形—B(t,R, bata)

    half = Application.Radians(bata / 2)

r1=R*0.15

r2=0.12*R

xt=arcsin((r2+t)/(R-r2))

扇形—B=2*(r2+(r-r2)*sin(half-xt))

End Function

扇形周長L

Function扇形—L(t,R, bata)

half = Application.Radians(bata / 2)

r1=R*0.15

r2=0.12*R

xt=arcsin((r2+t)/(R-r2))

扇形—L=(half-xt)*R+r1*(3.14/2-half)+r2*(3.14/2+xt)+(R-r2)_

*sin(3.14/2-xt)/sin(half)-(r1-r2)/tan(half)

End Function

(2)瓦形線芯參數(shù)計算程序代碼

計算各參數(shù)

函數(shù)宏

π值

Pi( )

計算截面

Area(g1,g2,d,yt,nu)

大圓弧半徑R

瓦形—R(g1.g2,d,yt,nu,r1,r2,R0,T,bata)

瓦形高H

瓦形—H(t.R, bata)

瓦形寬B

瓦形—B(t,R, bata)

瓦形周長L

瓦形—L(t,R, bata)

π值

Function pi()

    pi = 3.14159265358979

End Function

'角度弧度轉(zhuǎn)換

Function rad(value)

    rad = value * pi() / 180

End Function

'計算截面

Function area(g1, g2, d, yt, nu)

    area = pi() / 4 * (g1 + g2) * d ^ 2 / yt / nu

End Function

大圓弧半徑R

Function瓦形—R(g1.g2,d,yt,nu,r1,r2,R0,T,bata)

    s = area(g1, g2, d, yt, nu)

    half = Application.Radians(bata / 2)

    sta1 = Atn((r1 + t) / Sqr((r0 + t + r1) ^ 2 - (r1 + t) ^ 2))

    R = (t + Sqr(t ^ 2 * (1 - half / Tan(half)) + half * s + half * (half - sta1) * (r0 + t) ^ 2)) / half

    Do

      sta2 = Atn((t + r2) / Sqr((R - r2) ^ 2 - (r2 + t) ^ 2))

      fx = R ^ 2 * (half - sta2) + r1 ^ 2 * (pi() / 2 - sta1) + r2 ^ 2 * (pi() / 2 + sta2)_ + (r2 ^ 2 - t ^ 2) / Tan(sta2) + (t ^ 2 - r1 ^ 2) / Tan(sta1) - (r0 + t) ^ 2 * (half - sta1) - s

      fxn = 2 * R * (half - sta2) + 2 * r2 * Sqr((R + t) / (R - 2 * r2 - t))

      Rn = R - fx / fxn

      If Abs(Rn - R) <= 0.000001 Then

瓦形—R = Rn

      Exit Function

      End If

      R = Rn

    Loop

End Function

瓦形高H

Function瓦形—H(t.R, r0)

瓦形—H=R-2*t-r0

End Function

瓦形寬B

Function瓦形—B(R, r2, r0, t, bata)

    half = Application.Radians(bata / 2)

    sta2 = Atn((r2 + t) / Sqr((R - r2) ^ 2 - (r2 + t) ^ 2))

瓦形—B= 2 * (r2 + (R - r2) * Sin(half - sta2))

   End Function

瓦形周長L

Function瓦形—L(R, r1, r2, r0, t, bata)

    half = Application.Radians(bata / 2)

    If r1 = 0 Then

    sta1 = half

    Else

    sta1 = Atn((r1 + t) / Sqr((r0 + r1 + t) ^ 2 - (r1 + t) ^ 2))

    End If

    sta2 = Atn((r2 + t) / Sqr((R - r2) ^ 2 - (r2 + t) ^ 2))

瓦形—L = 2 * (R * (half - sta2) + (r0 + t) * (half - sta1) + r1 * (pi() / 2 - sta1)_

+ r2 * (pi() / 2 + sta2) + (r2 + t) / Tan(sta2) - (r1 + t) / Tan(sta1))

End Function

(3)不等芯成纜外徑計算程序代碼

計算各參數(shù)

函數(shù)宏

2+1成纜外徑

2+1成纜外徑—D(D小,D大)

3+1成纜外徑

3+1成纜外徑—D(D小,D大)

3+2成纜外徑

3+2成纜外徑—D(D小,D大)

4+1成纜外徑

4+1成纜外徑—D(D小,D大)

‘2+1成纜外徑

Function  2+1成纜外徑—D(D小,D大)

b = D小/ D

an = (b * (b + 1 + (b ^ 2 + 2 * b) ^ 0.5)) / (b - 1 + (b ^ 2 + 2 * b) ^ 0.5)

2+1成纜外徑—D = an*D

End Function

‘3+1成纜外徑

Function  3+1成纜外徑—D(D小,D大)

b = D小/ D

a = 6

Do

  fx = a ^ 3 - 2 * a ^ 2 - (a ^ 2 - a - 1) * b

fxn = 3 * a ^ 2 - 4 * a - 2 * a * b + b

  an = a - fx / fxn

  If Abs(an - a) <= 0.000001 Then

  3+1成纜外徑—D = an*D

  Exit Function

  End If

  a = an

Loop

End Function

‘3+2成纜外徑

Function  3+2成纜外徑—D(D小,D大)

b = D小/ D

a = 6

Do

  fx = 2 * b * (a ^ 2 - 2 * a) ^ 0.5 + (1 + 2 * a - a ^ 2) * (a ^ 2 - 2 * a * b) ^ 0.5 _

- (a - 1) * (a ^ 2 - a - b - a * b)

  fxn = 2 * b * (a - 1) / (a ^ 2 - 2 * a) ^ 0.5 + ((2 - 2 * a) * (a ^ 2 - 2 * a * b) _

+ (1 + 2 * a - a ^ 2) * (a - b)) / (a ^ 2 - 2 * a * b) ^ 0.5 - (a ^ 2 - a _

- b - a * b) - (a - 1) * (2 * a - 1 - b)

  an = a - fx / fxn

  If Abs(an - a) <= 0.000001 Then

  3+2成纜外徑—D = an*D

  Exit Function

  End If

  a = an

Loop

End Function

‘4+1成纜外徑

Function  4+1成纜外徑—D(D小,D大)

b = D小/ D

a = 6

    Do

      fx = ((3 * a ^ 2 - 6 * a - 1) ^ 2 * (a - b) ^ 2) / (a - 1) ^ 4 - 4 * a * b * (a - b - 1)

      fxn = (2 / (a - 1) ^ 5) * (3 * a ^ 2 - 6 * a - 1) * (a - b) * (3 * a ^ 3 - 9 * a ^ 2 _

+ 13 * a - 8 * b + 1) - 8 * a * b + 4 * b ^ 2 + 4 * b

      an = a - fx / fxn

      If Abs(an - a) <= 0.000001 Then

      4+1成纜外徑—D = an*D

      Exit Function

      End If

      a = an

Loop

End Function

4 結(jié)束語

      采用VBA語言進行編程,可以解決繁雜的工藝設(shè)計和計算,結(jié)果準確。另外該程序可以在Excel電子表格中運行。一方面操作簡單易學,另一方面可以進行大批量的數(shù)據(jù)處理,而且將來數(shù)據(jù)如需改動,一旦改動一已知數(shù)據(jù),結(jié)果立即隨之而變。故通過VBA語言與Excel電子表格相結(jié)合,可以將電纜工藝設(shè)計和計算實現(xiàn)電算化、標準化。

參考文獻:

[1 ]  周世華 , 電力電纜緊壓扇形導(dǎo)體電纜結(jié)構(gòu)設(shè)計 ,成纜信息,1991

[2 ]  趙長令  , 塑力纜瓦形線芯結(jié)構(gòu)和壓輥設(shè)計數(shù)學模型  ,電纜電纜 , 2002

[3 ]  韓中洗  , 電纜工藝原理,上海電纜研究所信息中心

[4 ]  劉子玉  , 電力電纜結(jié)構(gòu)設(shè)計原理,西安交大出版社,1995

</DIV>
ljn9876 --- 2010-07-27 10:04:00

2

牛啊。。。。。。。。。。!
YZS --- 2010-07-28 10:56:07

3

樓主套用別人的資料

-- 結(jié)束 --