2. 概念
2.7 S/R 連携
2.7.2 S/R 連携の種別
RTEは,以下の多重度のS/R連携をサポートする.連携の多重度については,2.4.2.2節を参照.
・ 1:0連携,0:1連携〔rte_sws_1329〕
・ 1:1連携
・ 1:N連携
・ N:1連携
・ N:M連携
以上のいずれのケースについても,RTEは,送信側ポートに対し1つの送信用API,受信側ポート
に対し1つの受信用APIを提供する.
送信側SW-Cは受信側ポートの数に関わらず,値を送信するために提供された1つのAPIを呼び出 すのみでよい.同様に,受信側SW-Cは受信したデータを取得するために1つのAPIを呼び出すのみ でよい.
複数の受信側ポートへの送信の同期性
RTEは,複数の受信側ポートに対してデータを送信する場合に,伝搬されるデータが複数の受信側 ポートに同時に届き,参照可能になることを保証しない【nrte_sws_0059】.
2.7.2.2 データ要素数
S/Rインタフェースは,1つ以上のデータ要素を含む.
RTEは,データ要素毎に異なるデータ送受信のためのAPIを提供し,データ要素毎に独立して送受 信を行う【rte_sws_6008】.
2.7.2.3 データのバッファリング
データのバッファリングは受信側ポートで行う.受信側ポートでは,以下のいずれかのバッファリ ングを行う.いずれの方法でバッファリングを行うかはコンフィギュレーションにより選択できる.
バッファリング方法 内容
データセマンティックス データセマンティックスは,最新の値のみを保持するバッファリング 方式である.
イベントセマンティックス イベントセマンティックスは,イベント(受信した値)の損失を避ける ため,受信したイベントを保持するためのキューイングを行うバッフ ァリング方式である.
データセマンティックスによるバッファリング
RTEGENは,受信ポートのデータセマンティックスのデータ要素毎に,キューではない単一のデー
タセット(受信データセット)を実装する【rte_sws_2516】.
〔rte_sws_7046〕で規定される初期化条件を満たす場合,RTEは,受信データセットの値を初期値 で初期化する【rte_sws_2517】.
イベントセマンティックスによるバッファリング
RTEGENは,受信ポートのイベントセマンティックスのデータ要素毎に,受信キューを実装する
【rte_sws_2521】.受信キューは,FIFOで実現する【rte_sws_2522】.
2.7.2.4 データの無効化
RTEは,データ要素を送信側SW-Cで無効化する機能を提供する.送信側SW-Cは,受信側SW-C
に対してデータが無効となったことを通知することができる.RTEが本機能を提供するかは,コンフ ィギュレーションにより選択できる.
RTEは,データ要素の無効化を,データセマンティックスのデータ要素に対してのみサポートする
【rte_sws_5033】.
無効値受信時処理
受信側ポートがデータ無効化の通知を受け取った際の処理方法は以下のいずれかの方法をとる.い ずれの方法により無効化処理を行うかは,コンフィギュレーションにより選択できる.
無効値受信時処理 内容
keep 受信側ポートが無効値のデータを受信した場合,無効値の受信データを
そのまま保持し,受信データセットの状態を「無効状態」に移行する.
replace 受信側ポートが無効値のデータを受信した場合,受信データを初期値に
リセットし,受信データセットの状態を「正常状態」に移行する.
2.7.2.5 データのタイムアウト監視
S/R連携が物理ネットワークを経由する場合,通信が失敗し,受信側でデータ更新が一定時間,もし くは,永遠に行われない可能性がある.RTEはこのような状況を監視し,タイムアウトを通知する機 能を提供する.RTEが本機能を提供するかは,コンフィギュレーションにより選択できる.
2.7.2.6 データのフィルタ
RTEは,データの値に依存するフィルタ機能(一定の条件を満たす値で受信されたデータだけが,受 信側SW-Cに到達できる)を提供する.フィルタはデータセマンティックスの受信側データ要素に設定 する.RTEが本機能を提供するかは,コンフィギュレーションにより選択できる.
S/Rインタフェース内のデータ要素毎に,異なるフィルタを指定可能としなければならない
【rte_sws_5501】.
フィルタの種別
RTEは,以下のフィルタをサポートする.フィルタのアルゴリズムは,関連文書「OSEK/VDX Communication」の規定に準拠する.フィルタのアルゴリズムの詳細は,関連文書「OSEK/VDX Communication」を参照.
・ always
・ maskedNewDiffersMaskedOld
・ maskedNewDiffersX
・ maskedNewEqualsX
・ never
・ newIsOutside
・ newIsWithin
・ oneEveryN