IEC 61850 サンプル値プロトコル
Typhoon HIL ツールチェーンにおける IEC 61850 サンプル値 (SV) プロトコルの実装について説明します。
IEC 61850 サンプル値(SV)プロトコル
IEC 61850( IEC 61850 – 変電所における通信ネットワーク及びシステム)規格は、パブリッシャー/サブスクライバー型通信としてサンプル値(SV)プロトコルを定義しています。このプロトコルは、変電所内のマージングユニットとIED( IED – インテリジェント電子機器)間のイーサネット経由の情報交換に使用されます。
SVプロトコルの実装においては、「 IEC 61850-9-2を用いた計器用変成器へのデジタルインターフェースの実装ガイダンス」(またはIEC 61850-9-2LE(LE - 簡易版))が参考資料として使用されます。このガイドは、こちらのリンクからご覧いただけます: IEC 61850-9-2LE

SV通信のコンセプトは、パブリッシャーが正確に定義された時間間隔で定期的にメッセージを送信することです。時間間隔は、測定された信号周波数と周期あたりのサンプル数(SPP)という2つの要素によって決まります。IEC 61850-9-2LEでは、80と256の2つのSPP値が定義されています。例えば、測定された信号周波数が50HzでSPPが80の場合、送信時間間隔は1/50/80、つまり250µsとなります。
すべてのメッセージはトピックに公開されます。サブスクライバーはシステムからのすべてのメッセージを受信しますが、サブスクライブしたトピックで送信されたメッセージのみをフィルタリングして解析します。
SV プロトコルはパブリッシャー/サブスクライバー ベースであるため、通信はローカル ネットワーク (LAN) 内でのみ可能です。
プロトコルはSVメッセージを図2に示すように定義しています。フィールド定義は表1に示されています。

フィールド名 | 価値 | 説明 | ||
---|---|---|---|---|
宛先アドレス 01:0c:cd:04:xx:xx |
00:00 - 01:ff | 宛先MACアドレス | ||
送信元アドレス | 送信デバイスによって定義される | 送信元MACアドレス | ||
優先度タグ付き | TPID | 0x8100 | 802.1Qプロトコルを定義する | |
TCI | ユーザーの優先順位 | 1 - 7 | SVメッセージの優先度: 4~7は高優先度、1~3は低優先度 | |
CFI | 0 | |||
ビデオ | 0 - 4095 | 仮想LAN ID | ||
イーサタイプ | 0x8ba | SVプロトコルを定義する | ||
APPID | 0x4000 - 0x7FFF | アプリケーションID | ||
長さ | メッセージの長さ | |||
予約1 | 0x0000 | 予約フィールド | ||
予約2 | 0x0000 | 予約フィールド | ||
APDU | アプリケーションプロトコルデータユニット |
Reserved 1 の構造は図 3に定義されています。
S: シミュレーション。このフラグは、SVメッセージがテストデバイスから送信されたことを示します。このフラグにより、サブスクライバーは受信した値がマージングユニットから送信された実際の電圧値と電流値なのか、それともシミュレーションされたテスト値なのかを区別することができます。
R: 予約済み。これらのビットは将来の使用のために予約されており、デフォルトでは 0 に設定されています。
予約済みセキュリティ:これらの4ビットと予約済み2フィールドは、セキュリティ規格IEC/TS 62351-6で定義された28ビットワードを形成します。セキュリティ付きのSVメッセージが送信される場合は定義どおりに使用され、それ以外の場合は0に設定されます。
APDUフィールドには、SVメッセージのペイロードが含まれます。各APDUには最大8個のASDU(Application Specific Data Unit)が含まれます。各ASDUには三相電流および電圧の測定値が1つずつ含まれ、各ASDUには固有のSV識別値が付与されます。APDUの内容は図4に示されています。

- svID - サンプル値識別子。サブスクリプションに使用されるユーザー定義の一意の文字列識別子。
- smpCnt - サンプル値メッセージのインデックス
- confRev - 設定リビジョン
- smpSynch - SVメッセージの送信に使用されるクロックの同期メカニズムを定義します。値は以下のとおりです。
- 0 - なし
- 1 - ローカル
- 2 - グローバル
- データ シーケンス - データ シーケンス エンコーディング図 5に示す測定された電圧値と電流値のシーケンス。
このガイドでは、電流および電圧測定のスケーリング係数も定義しています。電流測定は1000倍、電圧測定は100倍にスケーリングし、整数形式で表記する必要があります。

Typhoon HILツールチェーンのサンプル値プロトコル
SV プロトコル全体は、回路図エディター ライブラリ エクスプローラーの次のコンポーネントを使用して定義されます: SV セットアップ、 SV パブリッシャー、およびSV サブスクライバー。
SVセットアップ
SV セットアップ コンポーネント ウィンドウを表 2に示します。
SVセットアップコンポーネントは、SVパラメータを定義するために使用されます。モデルでSVプロトコルを使用する場合、SVプロトコルを使用するHILデバイスごとにSVセットアップコンポーネントが1つだけ必要です。
成分は表2に示すとおりです。
成分 | コンポーネントダイアログウィンドウ | コンポーネントのプロパティ |
---|---|---|
![]() SVセットアップ |
![]() |
|
物件名 | 説明 |
---|---|
イーサネットポート | SV プロトコルに使用するイーサネット ポートを選択します。 |
MACアドレスの最後の桁を上書きする | MACアドレスの最後の桁を手動で指定する |
送信元デバイスのMACアドレス | デバイスのMACアドレスを変更します。HILデバイスのMACアドレスは78:72:64:Ax:xx:xyに設定されています。78:72:64:AはTyphoon HIL製品、x:xx:xはデバイスのシリアル番号、yは選択したポート番号で定義されます。 「HILデバイスIDのオーバーライド」を選択した場合は、最後の1桁を手動で指定できます。 |
信号周波数 | 各HILデバイスごとに16.7、25、50、60 Hzの信号周波数を選択できます。 |
期間あたりのサンプル数 | 周期解像度ごとに80および256サンプルが定義されています |
メッセージのクイック解析を有効にする | このオプションはSV Subscriberコンポーネントで使用されます。メッセージが最初に受信されると、メッセージは解析され、有効性がチェックされます。解析中にSequence of Dataフィールドの位置が保存され、後でメッセージの解析を高速化するために使用されます。このオプションが選択されていない場合、メッセージは受信されるたびに解析されます。シミュレーション中にSVメッセージの構造が変更されない場合は、このオプションを有効にすることを強くお勧めします。 |
実行率 | 信号処理の実行速度。実行速度は、モデルで使用される他のコンポーネントと一致する必要があります。 |
SV出版社
SV Publisherコンポーネントは、APDU内の1つのASDUフィールドのパラメータを指定するために使用されます(図4 )。各SV Publisherコンポーネントでは、新しいSVメッセージを作成するか、既存のSVメッセージにASDUを追加するかを指定できます。新しいSVメッセージを作成する場合は、宛先アドレス、ユーザ優先度、VLAN ID、およびAPP IDの値を指定できます。
成分 | コンポーネントダイアログウィンドウ | コンポーネントのプロパティ |
---|---|---|
![]() SV出版社 |
|
|
物件名 | 説明 |
---|---|
作成する | SV Publisher コンポーネントがNew SV messageを使用して新しい SV メッセージを作成するか、 Sequence ASDUを使用して既存の SV メッセージに ASDU を追加するかを選択します。 |
宛先MACアドレス | 宛先MACアドレスを指定します。 |
ユーザーの優先順位 | SV メッセージのユーザー優先度を指定します。 |
VLAN ID | SV メッセージの VLAN 識別子を指定します。 |
アプリID | SV メッセージの APP 識別子を指定します。 |
シミュレーション | 図 3の定義に従って、Reserved 1 フィールドの Simulate ビットが True になるか False になるかを定義します。 |
ソース | Simulate値は、ダイアログウィンドウ、モデルからの信号、またはSCADAウィンドウから定義できます。ダイアログオプションを選択した場合、Simulate値は固定され、 Simulateプロパティ値によって定義されます。モデル値を選択した場合、コンポーネントに追加の端子が作成され、モデルからの任意の信号を接続してSimulate値を動的に変更できるようになります。SCADAオプションを選択した場合、 SCADAウィンドウのSV Publisher.SimulateウィジェットからSimulate値を定義できます。 |
ASDU指数 | SVメッセージのAPDUフィールド内のASDUインデックスのインデックスを指定します。「 New SV message」オプションを選択した場合、ASDUインデックスは1に固定されます。 「Sequence ASDU」オプションを選択した場合、2~8のインデックスを指定できます。 |
svID | ASDU の一意の SV 識別子を指定します。 |
confRev | ASDU の構成リビジョン番号を指定します。 |
同期 |
同期値は、電流/電圧のサンプリング時間がグローバル クロック値と同期されているかどうかを受信機に通知します。 通常、SV送信機はグローバル(マスター)クロックに同期し、電流/電圧値がサンプリングされた正確な時刻を中継します。これにより、受信機は値が古いか新しいかを認識し、値を受け入れるか、破棄するか、あるいは変更するかを判断できます。 SV 送信機がマスター クロック (通常は GPS または PTP プロトコルを使用) に同期されている場合、値はglobalとして指定する必要があります。 SV 送信者がマスター クロックに接続していないが、同期する方法がある場合は、値はlocalとして指定されます。 SV 送信者にクロック同期の手段がない場合は、値はnoneとして指定されます。 |
価値は |
同期値が固定値で、同期プロパティを使用して定義されるか、シミュレーション中に動的に割り当てられるかを定義します。動的な値は、SVプロトコル(同じイーサネットポート経由)と並行して実行されるPTPスレーブの状態、またはHILデバイスの専用ポートを介して受信されるIRIG-B信号に対応します。 PTPスレーブがPTPマスタークロックに同期している場合、同期値はPTPマスタークロックの時刻トレーサビリティに応じてローカルまたはグローバルのいずれかになります。PTPスレーブが同期していない場合、値はnoneになります。 IRIG-B が使用される場合、同期値は、IRIG-B ソースが GPS 信号にロックされているかどうかに応じて、グローバルまたはローカルになります。 |
gmアイデンティティ | SV発行メッセージのグランドマスターIDフィールドの値を指定します。このプロパティは、gmIdentityの値がstaticに設定されている場合に有効になります。 |
価値は | gmIdentityフィールドのソースを指定します。staticを選択した場合、すべてのパブリッシングメッセージに、プロパティgmIdentityで指定されたgmIdentityフィールドが含まれます。dynamicを選択した場合、すべてのパブリッシング SV メッセージに、PTP グランドマスタークロックの同期の ID 値が含まれます。noneを選択した場合、パブリッシング SV メッセージには gmIdentity フィールドは含まれません。 |
I スケーリング係数 | 入力電流信号のスケーリング係数を指定します。電流のデフォルトのスケーリングは1000です。 |
私はタイプする | SVメッセージに書き込まれる電流の種類を定義します。例えば、入力電流が1Aで整数型が選択されている場合、メッセージには値0x0000 0001が書き込まれます。実数型が選択されている場合は、値0x03f8 0000が書き込まれます。 |
Vスケーリング係数 | 入力電圧信号のスケーリング係数を指定します。電圧のデフォルトのスケーリングは100です。 |
V型 | SVメッセージに書き込まれる電圧の種類を定義します。例えば、入力電圧が1Vで整数型が選択されている場合、メッセージには値0x0000 0001が書き込まれます。実数型が選択されている場合は、値0x03f8 0000が書き込まれます。 |
品質を生成する(ボタン) | 信号品質値をグラフィカルに定義できる新しいダイアログを開きます。設定可能なすべての信号属性はここに記載されています。信号品質が「固定」に設定されている場合に便利です。 |
現在の信号品質 | 信号品質をモデルからの信号で指定するか、固定値でユーザー定義するかを選択します。 「可変」オプションを選択した場合、コンポーネントに信号を接続するためのポートIQが表示されます。 |
1x品質 | 現在の信号品質に「固定」オプションを選択した場合、ユーザーは各電流の信号品質をバイナリ形式で手動で定義できます。 |
電圧信号品質 | 現在の信号品質と同じです。 |
Vx品質 | Ix品質と同じです。 |
SV Publisherコンポーネントの使用例を図6に示します。モデルにはSV Publisherコンポーネントが1つだけ存在し、パラメータは図の右側に示すように定義されています。このコンポーネントは、1つのASDUエントリを持つ新しいSVメッセージを作成します。このメッセージでは、値はスケーリングされず、実数形式で書き込まれます。信号品質は固定で、事前定義されています。
SV Publisherコンポーネントへのすべての入力信号は、長さ4のベクトルである必要があります。ベクトルは、[I0、I1、I2、I3]、[IQ0、IQ1、IQ2、IQ3]、[V0、V1、V2、V3]、[VQ0、VQ1、VQ2、VQ3]としてエンコードされる必要があります。
図 7 は、ネットワーク スニッフィング ツールでキャプチャされたメッセージを示しています。


既存のSVメッセージにASDUを追加するには、別のSV Publisherコンポーネントを追加し、 「Create: Sequence ASDU」オプションを選択します。これは図8に示されています。SV Publisherコンポーネントは上記の例と同じで、新しいSVメッセージを作成します。SV Publisher1コンポーネントは、図の右側に示すように、APP ID 0x4000のメッセージにASDUを追加するように定義されています。
新しく作成されたメッセージのキャプチャを図 9に示します。


PTP同期
PTP同期メカニズムは、ネットワーク上のすべてのデバイスが同じ時刻基準を持つことを保証します。この時刻基準は、ネットワーク上のマスターデバイス(通常はグランドマスタークロックと呼ばれます)によって決定されます。
SVパブリッシャー間の時刻同期により、すべてのSVパブリッシャーが同じ時点からサンプルカウントを開始します。言い換えれば、SVパブリッシャーは秒値が変更されるたびに(つまり、秒ロールオーバーが発生するたびに)、サンプルカウント( smpCnt )値を0にリセットします。これにより、2つのSVデータストリームを受信するSVレシーバーは、電流値と電圧値を簡単に比較し、位相ずれを検出できます。
PTP を使用した SV アプリケーションの同期は、次のように時間同期コンポーネントを構成することによって実現できます。
- 同期ソースとしてPTPを選択する
- SVアプリケーションで使用されるイーサネットポートを選択します
- IEC61850-9-3定義済みPTP構成を選択する
IRIG-B同期
この同期方法は、IRIG-Bポートを備えたデバイスのみで使用できます。各HILデバイスモデルで利用可能なポートに関する情報は、各デバイスのハードウェアマニュアルの「一般仕様」セクションに記載されています。IRIG -B同期を使用するには、時間同期コンポーネントで同期ソースとして「IRIG-B」を選択する必要があります。
IRIG-B 信号が受信されるたびに、サンプル カウント (smpCnt) 値がリセットされ、HIL デバイスの内部クロックが更新され、SV Publisher メッセージに正確なタイムスタンプが付与されます。
IRIG-B 信号の詳細については、「時間同期」ページをご覧ください。
SV加入者
SVサブスクライバコンポーネントは、ネットワーク上の特定のSVメッセージから特定のASDUフィールドをサブスクライブするために使用されます。SVメッセージをサブスクライブするには、メッセージのフィルタリングのためにAPP IDとSV IDを指定する必要があります。APP ID値はネットワークからSVメッセージをフィルタリングするために使用され、SV IDはメッセージから対応するASDUを抽出するために使用されます。
SV加入者コンポーネントのすべての出力端子は、長さ4のベクトルです。ベクトルは、[I0、I1、I2、I3]、[IQ0、IQ1、IQ2、IQ3]、[V0、V1、V2、V3]、[VQ0、VQ1、VQ2、VQ3]としてエンコードされます。
成分 | コンポーネントダイアログウィンドウ | コンポーネントのプロパティ |
---|---|---|
![]() SV加入者 |
![]() |
|
物件名 | 説明 |
---|---|
アプリID | メッセージフィルタリングのAPP ID値 |
SV ID | ASDUフィルタリング用のSV ID |
I スケーリング係数 | 現在の値に適用されるスケーリング係数 |
私はタイプする | SVメッセージに書き込まれる現在の値の型を定義します |
Vスケーリング係数 | 電圧値に適用されるスケーリング係数 |
V型 | SVメッセージに書き込まれる電圧値のタイプを定義する |
実行率 | 信号処理の実行速度。実行速度は、モデルで使用される他のコンポーネントと一致する必要があります。 |
仮想HILサポート
Virtual HILは現在このプロトコルをサポートしていません。非リアルタイム環境(例:ローカルコンピュータでモデルを実行する場合)を使用する場合、このコンポーネントへの入力は破棄され、このコンポーネントからの出力はゼロになります。