ユーティリティ ネットワークには、サブネットワークが更新またはトレースされたときに使用される、属性の伝達と呼ばれる高度な機能があります。
プロパゲーターは、トレース中にフィーチャを通過する際に、サブネットワーク コントローラーの下流にあるフィーチャのネットワーク属性から値を取得します。 伝達される値のネットワーク属性は、トポロジの有効化または検証が行われるとネットワーク トポロジ内に保持され、ネットワーク フィーチャの属性に格納された値に関連付けられます。
注意:
ネットワーク属性が NULL 値をサポートしている場合、伝達時に発生した NULL 値は無視され、伝達される値には影響を及ぼしません。
プロパゲーターは、ネットワーク属性のサブネットワーク トレース構成の一部として層レベルで定義されます。 この操作は、ユーティリティ ネットワーク管理者がユーティリティ ネットワーク内の層の構成時に [サブネットワーク定義の設定 (Set Subnetwork Definition)] ツールを使用して行うか、[トレース (Trace)] の実行時に行います。 propagators パラメーターは、Python を使用する場合または ModelBuilder のパラメーターから変数を作成する場合にのみ使用できます。
プロパゲーターの構成は、[ネットワーク プロパティ] タブに層のトレース構成の一部として表示されます。 サブネットワークが更新またはトレースされるときに、operator が使用されて、考慮されるフィーチャをフィルターします。 複数のパラメーターが伝達の構成に関連付けられます。 詳細については、「サブネットワーク定義の設定 (Set Subnetwork Definition)」をご参照ください。
ネットワーク属性値の伝達に使用できる 3 種類の Functions があります。
- Propagated_MIN
- Propagated_MAX
- Propagated_BITWISE_AND
注意:
伝達は常にサブネットワーク コントローラーから開始します。
次の例は、ソースベースのネットワークのシナリオを示します。ただし、シンクベースのネットワークに応用する際には、上流と下流が入れ替わることがあります。
Propagated_MIN
Propagated_MIN 関数は、比較対象の 2 つの数値の最小値を求めます。 この関数は、現在のフィーチャの数値を前のフィーチャの値以下に維持する必要がある場合に使用する必要があります。
電気ネットワークの下流解析トレースを一例として考えてみましょう。ここでは、ネットワーク属性 MOV をフィールド maxoperatingvoltage に割り当てます。 トレースは、35 kV の MOV で開始します。これが最初に伝達される値です。 25 kV の値が発生すると、次に別の最小値が発生するまでは、この最小値が伝達されます。 サブネットワーク全体がトレースされるか、演算子で設定された条件が満たされるまで、この操作が下流に向かって行われ、最小値が伝達されます。
次に示すサンプル関数は MOV PROPAGATED_MIN IS_GREATER_THAN 15 MAXVOLTAGE です。
この構成では、MOV が 15 kV より大きい値を維持している場合に伝達を続行するようシステムに指示しています。 この例では、MAXVOLTAGE は [サブネットワークの更新 (Update Subnetwork)] ツールの実行中に更新される属性であり、15 kV 以下の値がバリアとしての役割を担い、トレースを停止します。
Propagated_MAX
Propagated_MAX 関数は、比較対象の 2 つの数値の最大値を求めます。 この関数は、現在のフィーチャの数値を前のフィーチャの値以上に維持する必要がある場合に使用します。
ここで、同じ電気ネットワークにおいて、MOV が maxoperatingvoltage フィールドに割り当てられるネットワーク属性とします。 回線の電圧をアップグレードしようと検討しているエンジニアは、トレースを実行して、プロジェクトの一環として交換が必要な機器の数量を把握する可能性があります。 これはプロパゲーターを使用し、トレースによってライン上の MAXVOLTAGE を更新することで行えますが、MOV PROPAGATED_MAX IS_LESS_THAN_OR_EQUAL_TO 30 MAXVOLTAGE のように、ネットワーク属性 MOV で PROPAGATED_MAX 関数を使用して 30 kV を超過しないことが条件となります。
この構成では、MOV が 30 kV より小さい値を維持している場合に伝達を続行するようシステムに指示しています。 この例では、MAXVOLTAGE は [サブネットワークの更新 (Update Subnetwork)] ツールの実行中に更新される属性であり、30 kV より大きい値がバリアとしての役割を担い、トレースを停止します。
Propagated_BITWISE_AND
Propagated_BITWISE_AND 関数は、bitset を表す 2 つの数値の差を求めます。 たとえば、電気ドメインでは、フェーズは 3 つのビット (それぞれフェーズ A、フェーズ B、フェーズ C を表す) を使用してモデル化できます。 これら 3 つのビットを合わせて 2 進数 111 が形成されます。これを 10 進数に変換すると 7 という数値になります。 いずれかのビット (たとえばビット B) が非通電の場合、残り 2 つのビット (たとえばビット A と C) に通電され、2 進数は 101 になります (真ん中の 0 は B が非通電であることを示します)。これを 10 進数に変換すると数値 5 になります。
ここで、電気ネットワークの下流解析トレースで、フェーズを更新するように伝達が構成されており、ネットワーク属性 Phases Current がフィールド phasescurrent に割り当てられているとします。
ソース回線遮断機は ABC です。 B フェーズが上流で非通電である場合、フィーチャのネットワーク属性がフェーズ B を示していても、プロパゲーターは下流フィーチャでもフェーズ B を非通電にするようフェーズ値を計算します。 この操作は、演算子が True である限り、トレースとともに下流方向に続行されます。
次に示すサンプル関数は Phases Current PROPAGATED_BITWISE_AND INCLUDES_ANY ABC PHASEENG です。
この例では、Phaseseng は [サブネットワークの更新 (Update Subnetwork)] の実行後に更新される属性です。 フェーズ B のラインはプロパゲーターによって非通電になり、トレースのバリアとなります。
属性の伝達設定の概要
属性の伝達は、ユーティリティ ネットワークの管理者が構成します。 属性の伝達を構成するには、次の手順を実行する必要があります。
- 伝達を使用するネットワーク内のクラスごとに、計測可能または変化するアセット情報を格納するためのフィールドを作成します。 たとえば、電気ネットワークでの Phases Current です。
- コード値ドメインを構成し、ステップ 1 で作成したフィールドに割り当てます。
これは、さまざまな組み合わせの値を含む初期値の役割を果たします (例: A = 4、B = 2、C = 1)。 3 ビットのシステムでのコード値ドメインの構成例を次に示します。
コード 説明 0
非通電
1
C
2
B
3
BC
4
A
5
AC
6
AB
7
ABC
- インライン ネットワーク属性を作成し、[ネットワーク属性の追加 (Add Network Attribute)] ツールを使用してステップ 2 のドメインを指定します。
- [ネットワーク属性の設定 (Set Network Attribute)] ツールを使用して、ネットワーク属性をステップ 1 で作成したフィールドに割り当てます。
- 必要に応じて、ステップ 1 のクラスごとに別のフィールドを作成し、伝達されたフェーズ値 (通常、電気ネットワークでは Phases Energized と呼ばれる) を取得して格納します。
- ステップ 2 で作成したドメインをステップ 5 で作成したフィールドに割り当てます。
- [サブネットワーク定義の設定 (Set Subnetwork Definition)] ツールを使用して、解析イベントの実行中の伝達の動作を定義します。
このためには、[サブネットワーク定義の設定 (Set Subnetwork Definition)] ツールを ModelBuilder のモデルに追加します。
- モデル内の [サブネットワーク定義の設定 (Set Subnetwork Definition)] ツールを右クリックして [変数の作成] > [パラメーターから] > [プロパゲーター] の順に選択します。
- モデルに追加した [プロパゲーター] パラメーターをダブルクリックして、属性を適切に追加します。