Visual Studio 2008からRDSサービスを作成(3)

前回の「Visual Studio 2008からRDSサービスを作成(1)」からの続きで、今回は自作したサービスをVPLから呼び出し、設定した"Hello, Robotics Studio!!"という文字列をLogに表示させます。



プロジェクトの新規作成からマイテンプレートで『DSS Service(2.0)』を選択してプロジェクト名を入力後、OKボタンを押すと

  1. プロジェクト名Types.cs
  2. プロジェクト名.cs
  3. プロジェクト名.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!!";

と設定した「Hello,RoboticsStudio!!」という状態が表示されます。