続いて、ビルドしたサービスを実行します。
[Solution Explorer]ペインの[MyProj]を右クリックします。画面7のショートカットメニューから、[Debug]−[Start new instance]を選択します。
しばらくすると、画面8のようにコマンドプロンプトの画面が開きます。
サービスは、サーバサイドのプログラムなので、ユーザーインターフェイス(GUI)を持ちません。画面8のコマンドプロンプトが、コンソールの役目を果たします。
それでは、サービスが本当にビルドできているかどうかをチェックしてみましょう。
画面9のようにブラウザ(ここでは、マイクロソフトのIEを使用しています)を立ち上げて、http://localhost:50000/にアクセスしてください。
ブラウザの左ペイン(画面10)[System Services]にある[Control Panel]を選択します。
[MyProj]がサービスの中に登録されていることが分かります。
この[MyProj]をクリックすると、画面11のように[Contract Summary]が表示されます。
[MyProj]サービスは3つのメソッド「Lookup」「Drop」「Get」を持っています(図11下部)。これらのメソッドは、テンプレートで用意したものです。
サービスを終了するには、画面8のコマンドプロンプトの画面から[Ctrl]+[C]キーと入力します。これでサービスが終了し、コマンドプロンプトの画面が消えます。ちなみに、VC#のメニュー[Debug]−[Stop Debugging]でも同じ結果が得られます。
「Visual Programming Language(以下、VPL)」を使って、[MyProj]サービスの動きを確認します。
Windowsの[start(スタート)]−[All Programs(プログラム)]−[Microsoft Robotics Studio (1.5)]−[Visual Programming Language]を選択し、画面12のようにVPLを起動します。
画面左の[Services]の直下にある検索用のテキストボックスに「My」と記入して、[MyProj]をダイヤグラムへドラッグ&ドロップします。画面13のように、作成したサービス[MyProj]がVPLのコンポーネントとして使用できることが分かると思います。
また、ダイヤグラム中に配置した[MyProj]のアイコンに入出力のポートがあることも確認できます。
「解説! ロボット開発環境Robotics Studio(3) ついに始動! Robotics Studioでロボット制御」において、ロボットのタッチセンサーをトリガーにして、[ouch]と発音させるプログラムを作成しました。
ここでも同様のプログラムを作成して、結果がどうなるかチェックしてみましょう。
[Basic Activities]のツールボックスから[Data]をドラッグして、先ほど配置した[MyProj]と接続します(画面14)。
[MyProj]の使用可能なメソッドは「Get」だけ(注)なので、[Connections]ダイアログは開かずに、そのまま接続されます。
今度は、[Services]のツールボックスから[Text to Speech]をドラッグして、[MyProj]と接続します。すると、画面15のように[Connections]ダイアログが開きます。
画面15を参考に[From]ペインの[Get-Success]を選択し、[To]ペインの[SayText]を選択して[OK]ボタンをクリックします。
すると、画面16のように[Data Connections]ダイアログが開くので、[Value]を選択して[OK]ボタンをクリックします。
結果は、画面17のようになります。
ここまでの作業が完了したら、VPLのメニュー[Run]−[Start]をクリックして実行してみてください。
いかがでしょうか? サービスは実行されますが、「ouch」とは聞こえてきませんよね。なぜでしょうか? それは、必要なプログラムを書き込んでいないからです。
「それでは、続いて必要なプログラムを記述していきましょう!」と、いいたいところですが、お楽しみは次回に……。
今回は、必要なソフトウェアをインストールして、プログラムを一切記述せずにデフォルトのサービスを作成し、ビルド&実行しました。まずは、VC#を使って、MSRSのサービスを作るまでの流れを説明しました。
次回からは、必要なソフトウェアを書き込む作業とその解説を行う予定です。前回の連載「解説! ロボット開発環境Robotics Studio」と今回の内容を再度確認して、次回以降に臨んでいただければと思います。(次回に続く)
Copyright © ITmedia, Inc. All Rights Reserved.