共通変数を使う(Public変数を使いこなそう)弛度計算-弛度計算-

サンプルソフト(張力計算)

前へ    メニューに戻る     次へ

Fanctionプロシージャでは計算結果の一つの変数しか返せません。

プロシージャ内で使う変数はPublicで宣言することで共通変数として扱えます。

弛度計算プログラムを例に使い方を見てみましょう。

P0.png (18071 バイト)

標準モジュールの先頭に「Public」の後に変数名を指定していきます。

「Public Const」とした場合は、そのまま値も設定できます。

P1.png (24701 バイト)

弛度計算ブックでは「電線定数シート」があり、計算したい線種を番号で指定する事によりPublic変数にデータを読み込みます。

P2.png (21084 バイト)

「データ読込」のプロシージャは変数にデータを入れるだけで、戻り値を必要としないため「Sub プロシージャ」としています。

Noによって読み込まれる行Noが変わります。

電線定数シートは「Sheet2」のため、「Gyuryo = Sheet2.Cells(2 + No, 2)」のように指定します。Cells(行,列)で指定します。

 セルが変わらないものは「LTmp(0) = Sheet2.Range("J2")」と指定します。

P3.png (8365 バイト)

「乙種張力」は架線時の張力を求めるプロシージャで、電線径種No、スパン、外気温を与えると計算します。

スパン、外気温を変数に読込、データを読み込みます。

「Call」はSubプロシージャを呼び出す宣言ですが、省略可能です。後から見てわかりやすくするため省略していません。

P9.png (145297 バイト)

張力の計算は、電線の張力による伸びとの釣り合いを求める必要があり、赤枠の計算がそれで、繰り返し計算を行ないます。

P5.png (17504 バイト)

繰り返し計算を行なっているのが「f2」プロシージャ

初期値として「f2 = 10」と仮定した後「f2 ^ 2 * (f2 - K_atE) > M」とにる条件にf2値を仮設定します。

その後、誤差が0.001以下になるまで繰り返し計算しますが、最初の仮設定でMの2倍以内にf2を設定しているため、
最初は STp = f2 /2 とし、大小を比較しこれを足したり引いたり、
2回目以降は STp = STp / 2 とすることで最小回数で探しています。

真ん中より大きいか小さいか?、さらに真ん中より大きいか小さいか?、さらに真ん中より大きいか小さいか?・・・・これを繰り返して探します。

P6.png (17995 バイト)

シート上では7行目にあるような形で使用します。

気温や径間長を変数として、グラフを簡単に描くこともできます。

P7.png (13004 バイト)

サンプルソフト(張力計算)

前へ    メニューに戻る     次へ