自作サービスをVPLで使ってみる
次は状態を表示するサービスの作成(サンプルプログラム:DSS Service2)と作成したサービスのVPLでの利用方法(サンプルプログラム:RDS_04_VPL_Sample1.mvpl)を説明します。
DSSService1での手順1を参考に「DSSService2」という新規プロジェクトを作成してください。
そして、DSSService2Types.csのDSSService2Stateクラスを次のように修正してください。
[手順1]プロパティの設定
ここではロボットのモーターに与える値としてSetDrivePowerというプロパティを設定することを仮定しています(リスト10)。
/// <summary>
/// DSSService2 state
/// </summary>
[DataContract]
public class DSSService2State
{
[DataMember]
public double SetDrivePower{get; set;}
}
[手順2]プロパティの初期化
次に、DSSService2.csのコンストラクタでプロパティを初期化します(リスト11)。
/// <summary>
/// Service constructor
/// </summary>
public DSSService2Service(DsspServiceCreationPort creationPort)
: base(creationPort)
{
_state.SetDrivePower = 0.0;
}
[手順3]サービスのビルド
[ビルド]-[ソリューションのビルド]を実行し、ビルドが正常終了したことを確認します。
[手順4]VPLを起動し、サービス(DSSService2)を配置する
なお、VPLの詳細な使い方は第2回を参考にしてください。
左側の「Service」欄からDSSService2とlogを中央のダイアグラム領域にドラックアンドドロップして両者を接続します(図10)。

[手順5]Connectionダイアログを設定する
Connectionsダイアログが表示されるので、From:側では状態が正常に取得された場合のGetSuccessをTo:側では状態の情報を表示させるためにLogoInfoを指定して[OK]ボタンを押します(図11)。

[手順6]DataConnectionsダイアログを設定する
次にDataConnectionsダイアログのValueで、手順1、2で設定したSetDrivePowerを指定します(図12)。

[手順7]作成したVPL図を実行する
メニューのRunからStartを選択すると、初回実行時のみ「名前をつけて保存」ダイアログが表示されるので、適当な場所に保存してください。DSSランタイムが実行され[Run]ダイアログに手順2で初期化したプロパティの値(0)が表示されていることを確認してください(図13)。

