データポートの利用

RTコンポーネントは、他のRTコンポーネントやアプリケーションとデータ交換を行うための手段として、入力ポートと出力ポートを利用することができます。

InPortの利用

InPortを利用する場合は、以下のようにInPortクラスを利用します。

InPortの宣言と初期化 ポート名とデータ型をパラメータとして持っています。

TimedLong tm = new TimedLong();
inPortLong = new InPort<TimedLong>("ポート名", tm);

InPortからデータを読み込むには、以下のようにreadメソッドを利用します。 データを読み込む前に、データが存在するかisNewメソッドで確認します。下例では読み込んだデータを文字列に変換しています。

if (inPortLong.isNew()){                                        // 入力ポートに新しいデータが入ったか確認する。
        str = inPortLong.read().toString();                     // データをinPortから取り出す。
}

OutPortの利用

OutPortを利用する場合は、以下のようにOutPortクラスを利用します。

OutPortの宣言と初期化 ポート名とデータ型をパラメータとして持っています。

TimedLong tm = new TimedLong();
outPortLong = new OutPort<TimedLong>("ポート名", tm);

OutPortにデータを書き込むには、Writeメソッドを利用します。

TimedLong tm = new TimedLong();
tm.setData(1234);
outPortLong.write(tm);  // データをoutPortに書き出す。

標準で利用できるデータ型

基本データ型一覧を以下に示します。

基本データ型一覧
型名 内容
TimedShort 符号あり2バイト整数
TimedLong 符号あり4バイト整数
TimedFloat 単精度浮動小数点
TimedDouble 倍精度浮動小数点
TimedBoolean ブール
TimedOctet 符号なし1バイト整数
TimedString 文字列
TimedShortSeq 符号あり2バイト整数配列
TimedLongSeq 符号あり4バイト整数配列
TimedFloatSeq 単精度浮動小数点配列
TimedDoubleSeq 倍精度浮動小数点配列
TimedBooleanSeq ブール配列
TimedOctetSeq 符号なし1バイト整数配列
TimedStringSeq 文字列配列