Visual Studio 2008からRDSサービスを作成(3)
前回の「Visual Studio 2008からRDSサービスを作成(1)」からの続きで、今回は自作したサービスをVPLから呼び出し、設定した"Hello, Robotics Studio!!"という文字列をLogに表示させます。
プロジェクトの新規作成からマイテンプレートで『DSS Service(2.0)』を選択してプロジェクト名を入力後、OKボタンを押すと
- プロジェクト名Types.cs
- プロジェクト名.cs
- プロジェクト名.manifest.xml
の3種類のファイルが作成されます。
プロジェクト名Type.csの中の「プロジェクト名State関数」を以下のように書き換えます。
- 修正前
/// <summary> /// DSSService1 state /// </summary> [DataContract] public class DSSService1State { }
- 修正後
/// <summary> /// DSSService1 state /// </summary> [DataContract] public class DSSService1State { [DataMember] public string Name {get;set;} }
次にプロジェクト名.csの中の「プロジェクト名Service関数」を以下のように書き換え、ビルドします。
- 修正前
/// <summary> /// Service constructor /// </summary> public DSSService1Servic(DsspServiceCreationPort creationPort) : base(creationPort) { }
- 修正後
/// <summary> /// Service constructor /// </summary> public DSSService1Servic(DsspServiceCreationPort creationPort) : base(creationPort) { _state.Name = "Hello,RoboticsStudio!!"; }
ビルドが正常終了したら、VPLを起動して上記で作成したサービス(今回はDSSService1)をService欄から呼び出し、Logブロックと接続します。
Connectionsダイアログが表示されるので、
- From:Get-Success
- To:LogInfo
と指定し、OKボタンを押します。
DataConnectionsダイアログでは、Valueで「Name」を指定します。
プロジェクト名Type.csの「プロジェクト名State関数」で定義したプロパティがここに表示されます。
自作したサービス(DSSService1)とLogブロックを接続したあとはこのような表示になります。
実行すると、Logにプロジェクト名.csの中の「プロジェクト名Service関数」で
_state.Name = "Hello,RoboticsStudio!!";