IEC 61375 TRDPプロトコル

Typhoon HIL ツールチェーンにおける IEC 61375 TRDP プロトコルの実装について説明します。

コンポーネントが無視されます:このコンポーネントはTyphoonSimでは無視されます。TyphoonSimシミュレーション中、このコンポーネントへの入力は破棄され、コンポーネントからの出力はゼロになります。

IEC 61375 TRDPプロトコル

IEC 61375( IEC 61375 – 列車リアルタイムデータプロトコル[ 1 ])規格は、鉄道車両(列車)における列車通信ネットワークの仕様を規定しており、主に列車制御・管理システム関連情報の交換などを目的としています。このプロトコルは、イーサネットで接続されたイーサネット列車バックボーンノード間の情報交換に使用されます。

TRDPプロトコルは、IP対応列車の標準通信プロトコルとして定義されています。プロセスデータ(UDP/IPを使用して定期的に送信されるデータ)とメッセージデータ(UDP/IPまたはTCP/IPを使用したクライアント-サーバーメッセージング)による通信を可能にします。

TRDPは、TCP/UDPトランスポート層の上に配置されるTRDP層によって実行されます。この層はオプションでセーフティ層によって拡張することができ、セーフティ層は、ネットワーク内の任意の2つのエンドデバイス間で、安全性が重要なプロセスデータとメッセージデータの安全なエンドツーエンドデータ伝送を提供します。

回線上のすべてのTRDPデータは、ビッグエンディアンとバイトアライメントで定義されています。ユーザーデータのマーシャリングは、TRDPサービスプリミティブを呼び出してデータを送信する前に、アプリケーション層から呼び出される特定のサービスプリミティブによって実行する必要があります。さらに、TRDP層からデータを受信した後、アプリケーションレベルでユーザーデータのアンマーシャリングを実行する必要があります。プロトコルスタックの概要を図1に示します。

1 TRDPプロトコルスタックの概要

Typhoon HIL デバイスは現時点ではプロセス データのみをサポートしています。

プロセスデータ

TRDP プロセス データ プロトコルは、プロセス データの転送のための PD-PDU の交換を定義します。

PD-PDUは、コネクションレスかつ非確認型のTRDPサービスを用いて、パブリッシャーと1つ以上のサブスクライバーの間で周期的に、または要求に応じて送信される。パブリッシャーはプロセスデータのソースの役割を持ち、サブスクライバーはプロセスデータのシンクの役割を持つ。PD-PDUの構造は以下で定義される。 図2 .
2 PD-PDU構造
1 PD-PDU構造情報
名前 タイプ 説明
シーケンスカウンター UINT32 メッセージシーケンスカウンター
プロトコルバージョン バージョン プロトコルバージョン
メッセージタイプ UINT16 メッセージの種類
comId UINT32 通信識別子
etbTopoCnt UINT32 etbTopoCnt値
opTrnTopoCnt UINT32 opTrnTopoCnt値
データセットの長さ UINT32 配列「データセット」の長さ
予約01 UINT32 将来のユーザー用に予約済み (=0)
返信ComId UINT32 要求された通信識別子
返信IPアドレス UINT32 返信IPアドレス
ヘッダーFcs UINT32 ヘッダーチェックサム
データセット UINT8 [データセットの長さ] ユーザーデータセット

TRDP構成データベース

列車通信ネットワークを介してデータを交換するには、TRDPを設定する必要があります。例えば、データの処理方法や送信先などの情報を設定します。この情報は設定データベースに保存されます。このデータベースは、XML形式の設定ファイルから入力できます。[2]。
<device attributes> 
  <device-configuration attributes/> 
  <bus-interface-list> 
    <bus-interface attributes>
      <telegram attributes >
        ...
      </telegram>
        ...
    </bus-interface>
    ...
  </bus-interface-list>
  <com-parameter-list>
    <com-parameter attributes/>
    ...
  </com-parameter-list>
  <data-set-list>
    ...
    <data-set>
    ...
   </data-set-list>
   <debug attributes/>
</device>

上記の XML 構造により、次の方法でメッセージをカスタマイズできます。

  • デバイス構成を使用して、デバイスの TRDP スタックを初期化できます。
  • バス インターフェイス構成で指定されたパラメータは、特定の TRDP セッションを初期化するためのパラメータとして使用できます。
  • 通信パラメータ情報は、通信がどのように行われるかを記述します。ほとんどの場合、1セットのパラメータで十分ですが、特殊な状況では特定の通信パラメータを指定することも可能です。
  • Ethernet Train Backboneを介したデータ通信は、DataSetを用いて行われます。DataSetは、C言語の構造体に似た、データ項目のコンテナです。DataSetの長さは最大1432バイトです。

Typhoon HILツールチェーンのTRDP

TRDPは、TCNOpenオープンソースCライブラリを使用してTyphoon HILソフトウェアに実装されています。以下のTyphoon HILデバイスでサポートされています: HIL402、HIL101、HIL404、HIL602+、HIL604、HIL506、HIL606

TRDP通信には、パブリッシャーとサブスクライバーという2つのエンドデバイスが関与します。これらのデバイスはUDPソケットを使用して、パブリッシャーからサブスクライバーへの情報交換を行います。TRDPサブスクライバーはソケットにバインドされ、ソケット通信におけるサーバーの役割を担います。一方、パブリッシャーはクライアントの役割を担います。パブリッシャーには、サブスクライバーがメッセージを正しく受信したかどうかを知る手段がないことに留意することが重要です。

1つの回路図には、1つのXML構成ファイルを実装する必要があります。TRDPパブリッシャー/サブスクライバーコンポーネントは複数存在し、それぞれ異なるインターフェースを使用する場合がありますが、これらのインターフェースは同じXML構成ファイル内で定義する必要があります。

パブリッシャーとサブスクライバーの両方のサンプル モデルはサンプル エクスプローラーにあり、サンプル構成ファイルは付属の\configuration_filesサブフォルダーにあります。

TRDP出版社

コンポーネントが無視されます:このコンポーネントはTyphoonSimでは無視されます。TyphoonSimシミュレーション中、このコンポーネントへの入力は破棄され、コンポーネントからの出力はゼロになります。

TRDP Publisher コンポーネント ダイアログ ウィンドウを表 2に示します。

2 TRDP発行者
成分 コンポーネントダイアログウィンドウ コンポーネントパラメータ

TRDP出版社

  • 設定ファイルへのパス
  • テレグラムID
  • ホストIP
  • インターフェースID
  • 宛先IPとID
  • 実行率

TRDP Publisherコンポーネントは、Publisherデバイスを記述するファイルをインポートすることによって構成されます。ファイルが適切にフォーマットされている場合、TRDP Publisherデータが処理され、.xmlファイルで定義されているTelegram com-id、バスインターフェースIP、バスインターフェースID、および宛先IPとIDに関する抽出されたすべての情報が、コンポーネントダイアログウィンドウでそれぞれのプロパティに従って解析されます。コンボボックスを使用して可能なインターフェースIDを選択し、この選択したインターフェースに基づいて、公開するテレグラムを選択できます。これは、Telegram IDリストからテレグラムIDを追加/削除して「テレグラムIDの更新」ボタンを押すか、表3に示す構成プレビューウィンドウから目的のテレグラムを選択することで実行されます。

図 3 は、構成ファイルが読み込まれ、.xml ファイルに基づいてすべてのプロパティが入力された後の TRDP Publisher ダイアログ ウィンドウを示しています。

3 TRDP Publisherコンポーネントのプロパティ

Telegram IDsプロパティには、最初のバスインターフェースのTelegram-com-idがリストされます。Telegram IDのリストには、XML設定ファイルで定義されていないTelegramのcom-idを含めることはできません。設定ファイルで定義されている一部のTelegramは除外できますが、リストには少なくとも1つのTelegram-com-idが含まれている必要があります。

TRDPパブリッシャーごとに1つのバスインターフェースのみを公開できます。そのインターフェースのIPアドレスはホストIPプロパティに解析されます。XMLファイルを編集して再度読み込むことなく、XMLファイル内のIPアドレスとは異なるIPアドレスに変更できます。

構成 xml ファイルのすべてのバス インターフェイスが [インターフェイス ID] コンボ ボックスにリストされ、そこから公開するインターフェイスを選択できます。

テレグラムは特定のエンドデバイスに公開されます。各テレグラムの宛先IDと宛先IPは、「宛先IPとID」プロパティに表示されます。このプロパティは、XML設定ファイルを変更して再度読み込むことなく編集できます。宛先を追加/編集するには、辞書のリストを 宛先IPとID field in the following format: [{'com-id': 1001, 'id': 1, 'ip': '192.168.20.202'}].
  1. 'com-id' - 参照先のテレグラムのcom-id
  2. 'id' - 宛先のID。同じテレグラムを参照する各宛先には一意のIDがあります。
  3. 'ip' - メッセージを受信するエンドデバイスのIP
3 TRDPパブリッシャー構成プレビューダイアログウィンドウ
テレグラムタブ データセットタブ バスインターフェースタブ

「テレグラム」タブには、「インターフェースID」プロパティで選択したバスインターフェースに基づいて、送信可能なテレグラムの一覧が表示されます。最後の列にある「含める」ボタンをチェックすることで、送信するテレグラムを選択できます。

「データセット」タブでは、すべてのデータセットの設定をXML形式で記述します。各データセットは、データセットIDで命名されたタブに記述されます。複数のテレグラムから同じデータセットを参照できます。

バス インターフェイスタブには、バス インターフェイス構成が 3 つのテーブルで表示されます。各テーブルは、xml 構成ファイル内のバス インターフェイス タグの 1 つの属性を表します。

設定が完了すると、TRDP Publisherコンポーネントにはデータセット要素と同じ数のポートが備わり、各ポートにはデータセット要素に対応するディメンションが設定されます。データセット要素が定義されている場合は、ポート名にその名前が入ります。定義されていない場合は、「name」という名前になります。サンプルフォルダからプリロードされた「publish.xml」設定と接続されたポートを備えたTRDP Publisherコンポーネントを図に示します。 図4.
4 SCADA入力を備えたTRDP Publisherコンポーネント

TRDP 通信を正常に確立するには、TRDP メッセージを介して通信するすべてのデバイスが同じネットワークとサブネット上にある必要があります。

TRDP加入者

コンポーネントが無視されます:このコンポーネントはTyphoonSimでは無視されます。TyphoonSimシミュレーション中、このコンポーネントへの入力は破棄され、コンポーネントからの出力はゼロになります。
TRDPサブスクライバーコンポーネントのダイアログウィンドウは、 表4.
4 TRDP加入者
成分 コンポーネントダイアログウィンドウ コンポーネントパラメータ
  • 設定ファイルへのパス
  • テレグラムID
  • ホストIP
  • インターフェースID
  • 宛先IPとID
  • 実行率

TRDP サブスクライバ コンポーネントは、サブスクライバ デバイスを記述するファイルをインポートすることによって構成されます。ファイルが適切にフォーマットされている場合、TRDP サブスクライバ データが処理され、.xml ファイルで定義されている Telegram com-id、バス インターフェイス IP、バス インターフェイス ID、およびソース IP と ID に関するすべての抽出情報が、コンポーネント ダイアログ ウィンドウのそれぞれのプロパティに従って解析されます。コンボ ボックスを使用して可能なインターフェイス ID を選択し、この選択したインターフェイスに基づいて、サブスクライブするテレグラムを選択できます。これは、テレグラム ID リストからテレグラム ID を追加/削除して [テレグラム ID の更新]ボタンを押すか、表 5に示す [構成プレビュー] ウィンドウから目的のテレグラムを選択することによって行われます。

図 5 は、構成ファイルが読み込まれ、.xml ファイルに基づいてすべてのプロパティが入力された後の TRDP サブスクライバー ダイアログ ウィンドウを示しています。

5 TRDPサブスクライバーコンポーネントのプロパティ

Telegram IDsプロパティには、最初のバスインターフェースのTelegram-com-idがリストされます。Telegram IDのリストには、XML設定ファイルで定義されていないTelegramのcom-idを含めることはできません。設定ファイルで定義されている一部のTelegramは除外できますが、リストには少なくとも1つのTelegram-com-idが含まれている必要があります。

TRDPサブスクライバーごとにサブスクライブできるバスインターフェースは1つだけです。そのインターフェースのIPアドレスはホストIPプロパティに解析されます。.xmlファイルを編集して再度ロードすることなく、.xmlファイル内のIPアドレスとは異なるIPアドレスに変更できます。

構成 xml ファイルのすべてのバス インターフェイスが [インターフェイス ID] コンボ ボックスにリストされ、そこからサブスクライブするインターフェイスを選択できます。

テレグラムは特定のエンドデバイスにサブスクライブされます。各テレグラムのソースIDとソースIPは、「ソースIPとID」プロパティに表示されます。このプロパティは、XML設定ファイルを変更して再度読み込むことなく編集できます。ソースを追加/編集するには、辞書のリストを ソースIPとID field in the following format: [{'com-id': 1001, 'id': 1, 'ip': '192.168.20.202'}].
  1. 'com-id' - 参照先のテレグラムのcom-id
  2. 'id' - ソースのID。同じテレグラムを参照する各ソースには一意のIDがあります。
  3. 'ip' - メッセージを送信するデバイスのIP
5 TRDP加入者設定プレビューダイアログウィンドウ
テレグラムタブ データセットタブ バスインターフェースタブ

「テレグラム」タブには、「インターフェースID」プロパティで選択したバスインターフェースに基づいて、可能なテレグラムの表が表示されます。最後の列にある「含める」ボタンをチェックすることで、どのテレグラムをサブスクライブするかを選択できます。

「データセット」タブでは、すべてのデータセットの設定をXML形式で記述します。各データセットは、データセットIDで命名されたタブに記述されます。複数のテレグラムから同じデータセットを参照できます。

バス インターフェイスタブには、バス インターフェイス構成が 3 つのテーブルで表示されます。各テーブルは、xml 構成ファイル内のバス インターフェイス タグの 1 つの属性を表します。

設定が完了すると、TRDPサブスクライバーコンポーネントにはデータセット要素と同じ数のポートが含まれ、各ポートにはデータセット要素に対応するディメンションが設定されます。データセット要素名が定義されている場合、ポート名にはデータセット要素名が含まれます。データセット要素名が定義されていない場合、ポート名は「name」になります。サンプルフォルダからプリロードされた「subscribe.xml」設定と接続されたポートを含むTRDPサブスクライバーコンポーネントを図に示します。 図6.
6出力が接続されたTRDPサブスクライバー

仮想HILサポート

Virtual HILは現在このプロトコルをサポートしていません。非リアルタイム環境(例:ローカルコンピュータでモデルを実行する場合)を使用する場合、このコンポーネントへの入力は破棄され、このコンポーネントからの出力はゼロになります。

参考文献

  1. スルビエ標準化研究所 (ISS) 「SRPS EN 61375-2-3:2016」、2016 年、124 ~ 136 ページ
  2. スルビエ標準化研究所 (ISS) 「SRPS EN 61375-2-3:2016」、2016 年、195 ~ 214 ページ