又は
「プロジェクトチェック」機能を使用すると、ウィザードの助けを借りて複数のプロジェクトチェックを実行できます。 プロジェクトチェックウィザードでは、一般的なKNX計画および設計ルールに従ってプロジェクトをチェックするプロセスを説明します。
これはオフラインテストです。 ETSとバスの接続は必要ありません。
プロジェクトチェック は、ツールバーの3つのドットから呼び出すことができます。
プロジェクトではチェックされる 5 つの異なるレベルがあります。
- 機器の検証
- グループアドレスの検証
- トポロジーの検証
- 製品情報チェック
- 以前のETSバージョンからインポートされたプロジェクトの検証
機器の検証
「機器の検証」での検証内容
- デバイスの少なくとも1つのグループオブジェクトがグループアドレスに関連付けられている場合
| 前提条件 | 検証項目 | 検証に失敗した場合のレポートへの記録 |
|---|---|---|
| device.ActiveComObjectInstances.Count > 0 | アクティブなグループ・オブジェクトがグループ・アドレスに関連付けられているか。 | 警告:デバイス "{device.DisplayName}" には、グループアドレスに関連付けられたグループオブジェクトがありません。 |
- すべてのデバイス識別子がETS3プラグインと互換性がある場合
| 前提条件 | 検証項目 | 検証に失敗した場合のレポートへの記録 |
|---|---|---|
| device.Description.length > 80? | エラー:説明文の長さが80文字を超えています。 ETS3プラグインで問題が発生する可能性があります。 | |
| device.Name.length > 50? | エラー:名前の長さが50文字を超えています。 これによりETS3プラグインで問題を引き起こす可能性があります。 | |
| foreach comObject.Description.length > 80? | エラー:説明文の長さが80文字を超えています。 これによりETS3プラグインで問題を引き起こす可能性があります。 |
グループアドレスの確認
グループアドレスチェックは何を確認するか?
- すべてのグループ アドレスが使用されている場合(少なくとも 1 つのグループ オブジェクトとリンク)
| 前提条件 | 検証項目 | 検証に失敗した場合のレポートへの記録 |
|---|---|---|
| グループ・アドレスがPLセグメントに関連付けられている | connector.Acknowledgeフラグが設定されているグループアドレスの各コネクタについて、グループ呼び出し元カウントが計算される。 このため、親セグメント(connector.ParentDevice.Segment)のドメインアドレスが保存され、アクノレッジフラグが設定された別のコネクタが存在する場合は、その値がインクリメントされる。 値が1より大きい場合のレポートへの記録 | groupaddress "{groupAddress.DisplayName}" に対して、LL-Ack テレグラムを送信するデバイスが多すぎます。 |
| groupAddress.ObjectSize != null | groupaddress.Connectors.Count < 2 | グループアドレス「{groupAddress.DisplayName}」には、1つのグループオブジェクトのみがリンクされています。 |
| groupAddress.ObjectSize != null | groupAddress.Connectors.Count < 1 | グループアドレス "{groupAddress.DisplayName}" にグループオブジェクトがリンクされていない |
| groupAddress.ObjectSize == null | グループアドレス "{groupAddress.DisplayName}" にグループオブジェクトがリンクされていない |
- 拡張グループアドレスをプラグインデバイスにリンクされているかどうか
| 前提条件 | 検証項目 | 検証に失敗した場合のレポートへの記録 |
|---|---|---|
| GroupAddress.Address >0x7FFF かつ groupAddress.Connectors.Count > 0 かつ groupAddress.Connector.ParentDevice.HasDownloadPlugin |
警告:デバイスオブジェクト {connector.ParentComObjectInstance.Number} は、16 ビットのグループアドレス {groupAddress.AddressString} {groupAddress.Name}に関連付けられています |
- すべてのグループアドレス識別子が ETS3 プラグインと互換性があるかどうか
| 前提条件 | 検証項目 | 検証に失敗した場合のレポートへの記録 |
|---|---|---|
|
groupAddress.Description.length > 80? groupRange.Description.length > 80? |
エラー:説明文の長さが80文字を超えています。 ETS3プラグインで問題が発生する可能性があります。 | |
|
groupaddress.Name.length > 50? groupRange.Name.length > 50? |
エラー:名前の長さが50文字を超えています。 これによりETS3プラグインで問題を引き起こす可能性があります。 |
トポロジーの確認
トポロジーチェックは何を確認するか?
- TP電源によって供給される電流と、デバイスが必要とする電流を比較
- デバイスで消費電力デバイスプロパティが使用可能である場合は、それが使用されます。それ以外の場合は、平均値10mAが使用されます。
- 現在のデバイスプロパティが電源で使用可能な場合、それが使用されます。それ以外の場合、平均値320mAが使用されます。
- TPセグメントの電源とチョーク数
| 前提条件 | 検証項目 | 検証に失敗した場合のレポートへの記録 |
|---|---|---|
| line.MainSegment.IsTpSegmentおよびline.Devices.Any() |
各ラインについて、電源ユニットの数が計算される。 powerSupplyCount == 0の場合、情報メッセージが作成される |
情報:ライン "{line.DisplayName}" に電源ユニットが設定されていません |
| line.MainSegment.IsTpSegmentおよびline.Devices.Any() | 各ラインについて、電源ユニットの数が計算される。 powerSupplyCount > 2の場合、エラーメッセージが作成される | エラー:ライン "{line.DisplayName}" に2つ以上の電源ユニットが設定されています |
| line.MainSegment.IsTpSegmentおよびline.Devices.Any() | 各ラインに対して、電源ユニットとチョークの数が計算されます。 powerSupplyCount != chokeCount の場合、警告メッセージが作成される。 | 警告:ライン{line.DisplayName}" のチョークの数が電源の数と一致していません。 |
- メインセグメントでカプラーが不足しているかどうか
| 前提条件 | 検証項目 | 検証に失敗した場合のレポートへの記録 |
|---|---|---|
| TPメインセグメントとデバイスを持つ複数のライン |
line.MainSegmentにカプラが存在しない場合、エラーメッセージが表示されます。 |
エラー:ライン "{line.DisplayName}" にライン・カプラがありません。 |
| area.MainLine.MainSegment.IsIpSegmentとarea.MainLine.Devices.Any()が複数ある。 | area.MainLine.MainSegmentにカプラが存在しない場合 、エラーメッセージが表示されます | エラー:エリア "{area.DisplayName}" にはエリアカプラがない。 |
| line.MainSegment.IsPlSegment || line.MainSegment.IsRfSegment |
line.MainSegment.IsPlSegment:マスクバージョン0x1900のデバイスが存在するかチェックし、存在しない場合はエラーメッセージを表示する。 line.MainSegment.IsRfSegment:マスクバージョン0x2920のデバイスが存在するかチェックする。 そうでない場合はエラーメッセージが表示される。 |
エラー:if line.IsMainLine エリア "{area.DisplayName}" には、メインライン {line.DisplayName}にメディア・カプラがない。 もしくは: ライン "{line.DisplayName}" にはメディアカプラがない。 |
- サブセグメントに不足しているセグメントカプラーがあるかどうか
| 前提条件 | 検証項目 | 検証に失敗した場合のレポートへの記録 |
|---|---|---|
| TPリピータ(セグメントカプラ機能なし)が存在する場合 | 警告:ライン "{segment.DisplayName}" は、フィルタリング機能を持たないリピータを介して結合されています。 バスのトラフィックを減らすため、セグメントカプラーへの交換を検討してください。 | |
| レガシーメディアカプラ(セグメントカプラ機能なし)が存在する場合 | 警告:ライン "{segment.DisplayName}" は、メディアカプラを介して結合されていますが、このカプラーはメインラインまたはバックボーンのカプラとして設計されおり、セグメント間の接続には適していません。 機器の説明書を確認してください。 |
|
| カプラが検出されない | エラー:ライン "{segment.DisplayName}" にセグメントカプラがありません。 |
- バックボーンラインが IP であるべきか。
| 前提条件 | 検証項目 | 検証に失敗した場合のレポートへの記録 |
|---|---|---|
|
アドレス指定アドレス指定line.Address == 0 && Line.ParentArea.Address == 0 を持つラインが存在するかどうかの確認 |
警告:バックボーン回線がありません。 バックボーン回線を作成し、「IP」に設定することをお勧めします。 |
|
|
バックボーン回線が存在する場合は、アドレス==0、maskVersion==0x091aのデバイスが存在するかどうかも確認する。 ApplicationProgramIpConfig == ApplicationProgramIpConfig.Customを持つカプラと、ApplicationProgramIpConfig != ApplicationProgramIpConfig.Customを持つカプラが存在する。 該当する場合、エラーメッセージが作成される |
警告:バックボーン・ラインプロジェクトにはカスタム管理のIPルーターしか存在しませんが、バックボーン回線は'IP'タイプではありません。 バックボーン回線は「IP」に設定することをお勧めします。 |
- KNX/IPルータを使用するトポロジーの要件を満たしているかの確認(既存のKNX/IPルーターのみ)
| 前提条件 | 検証項目 | 検証に失敗した場合のレポートへの記録 |
|---|---|---|
| line.Devicesに、アドレス==0、device.IsCouplerが真、device.MaskVersion==0x091aのデバイスがあります。 |
ラインがメインラインでない場合:IPルーター(x.y.0)が存在する構成では、同じエリア内にIPルーター(x.0.0)が存在していてはなりません |
エラー:エリアカプラーが存在する構成で、その下位にIPタイプのラインカプラー(KNX/IPルーター)が存在しライン・カプラています。 これは許容されません |
| line.Devicesに、アドレス==0、device.IsCouplerが真、device.MaskVersion==0x091aのデバイスがあります。 | ラインがメインラインでない場合:x.y.0 IPルーターが存在する構成では、上位のメインラインの通信メディアタイプは「IP」でなければなりません | エラー:IPタイプ(KNX/IPルーター)のラインカプラが、メディアタイプが「IP」ではないラインの下に存在します。 KNX/IPルーターが下位に構成されている場合、メインラインのメディアタイプは「IP」に設定する必要があります。 |
| line.Devicesに、アドレス==0、device.IsCouplerが真、device.MaskVersion==0x091aのデバイスがあります。 | line.Address != 0: y != 0のx.y.0 IPルーターが構成されている場合、他の非IPタイプのルーターx.y.0が存在してはならない | エラー:同じエリア内に、IPカプラ(KNX/IPルーター)と非IPカプラが混在しています。 これは許容されません |
| line.Devicesに、アドレス==0、device.IsCouplerが真、device.MaskVersion==0x091aのデバイスがあります。 | x.y.0 IPルーターまたはx.0.0 IPルーターの場合、バックボーン回線が存在する場合、そのメディアタイプは「IP」でなければならない | エラー:「IP」タイプのカプラが(KNX/IPルーター)が存在していますが、バックボーン回線(0.0)にはメディアタイプ「IP」がありません。 KNX/IPルーターが設定されている場合は、バックボーン回線のメディアタイプを「IP」に設定する必要があります |
| line.Devicesに、アドレス==0、device.IsCouplerが真、device.MaskVersion==0x091aのデバイスがあります。 | installation.BackboneLine.MainSegment.IsTpSegment(バックボーンラインのメインセグメントがTP)で、line.MainSegment.IsIpSegment(下位ラインのメインセグメントがIP)の場合、エラーメッセージが作成されます | エラー:バックボーン回線のメディアタイプが「TP」の場合、ライン {line.DisplayName} のメディアタイプは「IP」であってはならない |
| line.Devicesに、アドレス==0、device.IsCouplerが真、device.MaskVersion==0x091aのデバイスがあります。 | TPメインラインの下位にIPラインがあるかどうかを確認する | エラー:メインラインのメディアタイプがTPの場合、ライン {0} のメディアタイプはIPであってはならない。 |
- すべてのトポロジー識別子がETS3プラグインと互換性があるか
| 前提条件 | 検証項目 | 検証に失敗した場合のレポートへの記録 |
|---|---|---|
| line.Name.length > 50? | エラー:名前の長さが50文字を超えています。 これによりETS3プラグインで問題を引き起こす可能性があります。 | |
| area.Name.length > 50? | エラー:名前の長さが50文字を超えています。 これによりETS3プラグインで問題を引き起こす可能性があります。 | |
| buildingPart.Name.length > 50? | エラー:名前の長さが50文字を超えています。 これによりETS3プラグインで問題を引き起こす可能性があります。 | |
| trade.Name.length > 50? | エラー:名前の長さが50文字を超えています。 これによりETS3プラグインで問題を引き起こす可能性があります。 | |
| line.Description.length > 80? | エラー:説明文の長さが80文字を超えています。 これによりETS3プラグインで問題を引き起こす可能性があります。 | |
| area.Description.length > 80? | エラー:説明文の長さが80文字を超えています。 これによりETS3プラグインで問題を引き起こす可能性があります。 | |
| buildingPart.Description.length > 80? | エラー:説明文の長さが80文字を超えています。 これによりETS3プラグインで問題を引き起こす可能性があります。 | |
| trade.Description.length > 80? | エラー:説明文の長さが80文字を超えています。 これによりETS3プラグインで問題を引き起こす可能性があります。 | |
| buildingPart.Number.Length > 20? | エラー:番号の長さが20文字を超えています。 ETS3プラグインで問題が発生する可能性があります。 | |
| trade.Number.Length > 20? | エラー:番号の長さが20文字を超えています。 ETS3プラグインで問題が発生する可能性があります。 |
製品情報の確認
場合によっては、同じ製品バージョンの改善やバグ修正を含む、アップデートされたKNX製品エントリがあります。 このチェックで、そのようなすべてのデバイスを表示するリストを印刷することができます。 リストには、デバイスの「指紋」も含まれています(これらはメーカーが、バージョンが同じ場合でもデバイスのいくつかのバリエーションを区別するために使用できます)。
以前のETSバージョンからインポートされたプロジェクトをチェック
以前のバージョンのETSからインポートされたプロジェクトのチェックは何を確認しますか?
- すべてのデバイスアドレスが有効かどうか
| 前提条件 | 検証項目 | 検証に失敗した場合のレポートへの記録 |
|---|---|---|
| device.Address != null および device.line != null | device.Address < 0 || device.Address > 255 | エラー:「{device.DisplayName}」のアドレス「{device.Address}」 は範囲外です。 |
| device.Address != null および device.line != null | device.Addressはライン内で一意でなければならない。 | エラー:アドレス 「{device.Address}」 は一意ではありません。 |
| device.Address != null および device.line != null | !!device.Hardware.HasIndividualアドレス | エラー:デバイス 「{device.DisplayName}」 はアドレスを設定すべきではないにもかかわらず、アドレス 「{device.Address}」が設定されています |
| device.Address != null および device.line != null | device.Address == 0 && !device.IsCoupler | エラー:デバイスアドレス 0 はカプラ用に予約されています。 |
| device.Address == null || device.Line == null | device.Hardware.HasIndividualアドレス | エラー:「{device.DisplayName}」 にアドレスが設定されていません。 |
- エリアとラインのアドレスが有効かどうか
| 前提条件 | 検証項目 | 検証に失敗した場合のレポートへの記録 |
|---|---|---|
| area.Address > 15 | エラー:「{area.Name}」 に設定されたアドレス 「{area.Address}」 が範囲外です。 | |
| プロジェクト内に同じアドレスのエリアがあるかの確認 | エラー:アドレス 「{area.Address}」 は一意ではありません。 |
- グループ範囲が有効かどうか
| 前提条件 | 検証項目 | 検証に失敗した場合のレポートへの記録 |
|---|---|---|
|
グループアドレス(またはグループアドレス範囲)が有効かどうかの確認
|
エラー:「{groupAddress.DisplayName}"」のアドレス「{groupAddress.Address}」が範囲外です。 または 「{groupRange.DisplayName}」のアドレス「{groupRange.Address}」が範囲外です。 |
|
| プロジェクト内に同じアドレスのgroupAddress / group Rangeがあるか確認 |
エラー:アドレス 「{groupAddress.Address}」{groupAddress.Address} は一意ではありません。 または アドレス「{groupRange.Address}」は一意ではありません。 |
|
| 3レベルのグループスタイル:グループのアドレスは0/0/0か? | エラー:グループアドレス0/0/0は有効ではありません。 |
- 従来型リピーター数
結果は同じウィンドウに表示され、保存してクリップボードにコピーして印刷することができます。
すべてのチェックをグローバルに無効にすることができ、各タブで個別のステップを無効にすることができます。