IEC 61375 TRDPプロトコル
Typhoon HIL ツールチェーンにおける IEC 61375 TRDP プロトコルの実装について説明します。
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に示します。

Typhoon HIL デバイスは現時点ではプロセス データのみをサポートしています。
プロセスデータ
TRDP プロセス データ プロトコルは、プロセス データの転送のための 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構成データベース
<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出版社
TRDP Publisher コンポーネント ダイアログ ウィンドウを表 2に示します。
成分 | コンポーネントダイアログウィンドウ | コンポーネントパラメータ |
---|---|---|
![]() TRDP出版社 |
![]() |
|
TRDP Publisherコンポーネントは、Publisherデバイスを記述するファイルをインポートすることによって構成されます。ファイルが適切にフォーマットされている場合、TRDP Publisherデータが処理され、.xmlファイルで定義されているTelegram com-id、バスインターフェースIP、バスインターフェースID、および宛先IPとIDに関する抽出されたすべての情報が、コンポーネントダイアログウィンドウでそれぞれのプロパティに従って解析されます。コンボボックスを使用して可能なインターフェースIDを選択し、この選択したインターフェースに基づいて、公開するテレグラムを選択できます。これは、Telegram IDリストからテレグラムIDを追加/削除して「テレグラムIDの更新」ボタンを押すか、表3に示す構成プレビューウィンドウから目的のテレグラムを選択することで実行されます。
図 3 は、構成ファイルが読み込まれ、.xml ファイルに基づいてすべてのプロパティが入力された後の 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] コンボ ボックスにリストされ、そこから公開するインターフェイスを選択できます。
- 'com-id' - 参照先のテレグラムのcom-id
- 'id' - 宛先のID。同じテレグラムを参照する各宛先には一意のIDがあります。
- 'ip' - メッセージを受信するエンドデバイスのIP
テレグラムタブ | データセットタブ | バスインターフェースタブ |
---|---|---|
![]() |
![]() |
![]() |
「テレグラム」タブには、「インターフェースID」プロパティで選択したバスインターフェースに基づいて、送信可能なテレグラムの一覧が表示されます。最後の列にある「含める」ボタンをチェックすることで、送信するテレグラムを選択できます。
「データセット」タブでは、すべてのデータセットの設定をXML形式で記述します。各データセットは、データセットIDで命名されたタブに記述されます。複数のテレグラムから同じデータセットを参照できます。
バス インターフェイスタブには、バス インターフェイス構成が 3 つのテーブルで表示されます。各テーブルは、xml 構成ファイル内のバス インターフェイス タグの 1 つの属性を表します。

TRDP 通信を正常に確立するには、TRDP メッセージを介して通信するすべてのデバイスが同じネットワークとサブネット上にある必要があります。
TRDP加入者
成分 | コンポーネントダイアログウィンドウ | コンポーネントパラメータ |
---|---|---|
![]() |
![]() |
|
TRDP サブスクライバ コンポーネントは、サブスクライバ デバイスを記述するファイルをインポートすることによって構成されます。ファイルが適切にフォーマットされている場合、TRDP サブスクライバ データが処理され、.xml ファイルで定義されている Telegram com-id、バス インターフェイス IP、バス インターフェイス ID、およびソース IP と ID に関するすべての抽出情報が、コンポーネント ダイアログ ウィンドウのそれぞれのプロパティに従って解析されます。コンボ ボックスを使用して可能なインターフェイス ID を選択し、この選択したインターフェイスに基づいて、サブスクライブするテレグラムを選択できます。これは、テレグラム ID リストからテレグラム ID を追加/削除して [テレグラム ID の更新]ボタンを押すか、表 5に示す [構成プレビュー] ウィンドウから目的のテレグラムを選択することによって行われます。
図 5 は、構成ファイルが読み込まれ、.xml ファイルに基づいてすべてのプロパティが入力された後の 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] コンボ ボックスにリストされ、そこからサブスクライブするインターフェイスを選択できます。
- 'com-id' - 参照先のテレグラムのcom-id
- 'id' - ソースのID。同じテレグラムを参照する各ソースには一意のIDがあります。
- 'ip' - メッセージを送信するデバイスのIP
テレグラムタブ | データセットタブ | バスインターフェースタブ |
---|---|---|
![]() |
![]() |
![]() |
「テレグラム」タブには、「インターフェースID」プロパティで選択したバスインターフェースに基づいて、可能なテレグラムの表が表示されます。最後の列にある「含める」ボタンをチェックすることで、どのテレグラムをサブスクライブするかを選択できます。
「データセット」タブでは、すべてのデータセットの設定をXML形式で記述します。各データセットは、データセットIDで命名されたタブに記述されます。複数のテレグラムから同じデータセットを参照できます。
バス インターフェイスタブには、バス インターフェイス構成が 3 つのテーブルで表示されます。各テーブルは、xml 構成ファイル内のバス インターフェイス タグの 1 つの属性を表します。

仮想HILサポート
Virtual HILは現在このプロトコルをサポートしていません。非リアルタイム環境(例:ローカルコンピュータでモデルを実行する場合)を使用する場合、このコンポーネントへの入力は破棄され、このコンポーネントからの出力はゼロになります。
参考文献
- スルビエ標準化研究所 (ISS) 「SRPS EN 61375-2-3:2016」、2016 年、124 ~ 136 ページ
- スルビエ標準化研究所 (ISS) 「SRPS EN 61375-2-3:2016」、2016 年、195 ~ 214 ページ