ご使用の前に

GUI Builder 8.0のご使用の前に、以下の本章をお読みください。
GUI Builder 8.0 オプションが有効になっていることを確認してください。 詳細は、以下を参照してください。
GUI Builderのインストール

Epson RC+ を初めてご使用になる方は、以下のマニュアルをお読みください。
"Epson RC+ 8.0 ユーザーズガイド - プロジェクトとプログラムの作成方法について"

次の項では、いくつかのコンセプトを簡単に説明するチュートリアルを示します。

GUI Builderチュートリアル

この項では、ロボットのサイクル動作を実行する、簡単なGUIアプリケーションを作成します。次の手順にしたがってください。なお、GUI Builderの用語および、解説は、4.2項以降をご覧ください。

  • ロボットのサイクル動作を行うファンクションを持つ新しいプロジェクトを作成します。
  • ロボットのサイクル動作を開始、停止するためのボタンを含むフォームを作成します。ここでは、フォームの作成や、開始/停止イベントを実行するSPEL+のタスクに関連づけられたボタンの配置方法を示します。
  • [一時停止]と[継続実行]ボタンをフォームに追加します。ここではEventTaskTypeプロパティーについて説明します。
  • セットアップ用のフォームを追加します。このフォームは、ロボットの速度を変更するためのラベルと、テキストボックスを使います。
  • セットアップ用のフォームを表示するためのボタンをメインフォームに配置します。ここでは、GShowDialogステートメントと、DialogResultプロパティーを説明します。

それでは、次の手順にしたがって、プログラムを作成してください。

  1. “GUITest”という名前の新しいEpson RC+ 8.0プロジェクトを作成します。
  2. ロボットマネージャーを使用し、P0, P1の2つの異なるポイントデータをティーチングします。
  3. “Main.prg”に、“main関数”を作成します。
Function main  Robot 1  
  Motor On  
  Do    Go P0    Wait 0.5  
    Go P1    Wait 0.5  
  LoopFend  
  1. ツールメニューから[GUI Builder]を選択し、GUI Builderウィンドウを表示します。

  2. GUI Builderウィンドウのツールバーにある[新規フォーム]ボタンをクリックし、“frmMain”という名前の新しいフォームを作成し、[OK]ボタンをクリックします。

  3. GUI Builderウィンドウのツールバーにある[新規ボタン]ボタンをクリックし、フォーム上でクリックします。クリックした場所に、新しいボタンが作成されます。

  4. 新しく作成されたボタンのプロパティーを設定します。
    プロパティーのグリッドを下へスクロールして[Name]プロパティーを表示します。名前を“btnStart”に変更します。キーボードの[ENTER]キーを押します。

  5. プロパティーのグリッドを下へスクロールして、[Text]プロパティーを表示します。
    “Button1”を“Start”に変更します。[ENTER]キーを押します。

  6. フォーム上の[Start]ボタンをダブルクリックします。
    “frmMain.prg”に、[Start]ボタンをクリックしたときに実行する新しい関数が作成されます。

  7. “main関数”を起動させるため、次のようにfrmMain_btnStart_Click関数を変更します。
    これによって、[Start]ボタンが押されたときに、“main関数”がスタートします。

Function frmMain_btnStart_Click(Sender$ As String)  
  Xqt main  
Fend  
  1. GUI Builderウィンドウのツールバーにある[新規ボタン]ボタンをクリックし、[Start]ボタンの下の位置をクリックして、別のボタンを作成します。

  2. 新しいボタンの[Name]プロパティーを“btnStop”に、[Text]プロパティーを“Stop”に変更します。
    ここまでの手順で、次のようなフォームになっているはずです。

  3. [Stop]ボタンをダブルクリックして、イベントハンドラーを作成します。
    関数を次のように変更します。

Function frmMain_btnStop_Click(Sender$ As String)  
  Quit main  
Fend  
  1. キーボードの[F5]キーを押して、プロジェクトをビルドし、Runウィンドウを表示します。
    ここでビルドエラーが発生した場合は、プログラムを修正して、再度[F5]キーを押してビルドを行ってください。

  2. Runウィンドウで[フォーム]ボタンを選択します。

  3. [開始]ボタンをクリックします。

  4. frmMainフォームが表示されます。[frmMain]の[Start]ボタンをクリックします。
    ロボットが、P0とP1の間を動作します。

  5. [frmMain]フォームの[Stop]ボタンをクリックします。
    ロボットが停止します。

  6. 今度は、フォームの右上の[閉じる]ボタンをクリックします。
    フォームが閉じます。
    次に、[Pause]ボタンと[Continue]ボタンをGUIに加えてみましょう。

  7. GUI Builderウィンドウのツールバーにある[新規ボタン]ボタンをクリックします。
    [Start]ボタンの右側の位置をクリックし、新しいボタンを作成します。

  8. 新しいボタンのNameプロパティーをbtnPauseに、TextプロパティーをPauseに変更します。

  9. [Pause]ボタンのEventTaskTypeプロパティーをNoPauseに変更します。
    これにより、イベントハンドラーは他の通常タスクが一時停止しているときに一時停止せずに、Pauseステートメントを実行できます。

  10. [Pause]ボタンをダブルクリックして、イベントハンドラー関数を作成します。
    次のようなPauseステートメントを追加します。

Function frmMain_btnPause_Click(Sender$ As String)  
  Pause  
Fend  
  1. GUI Builderウィンドウのツールバーにある[新規ボタン]ボタンをクリックします。
    [Stop]ボタンの右側の位置をクリックして、新しいボタンを作成します。

  2. 新しいボタンのNameプロパティーをbtnContに、TextプロパティーをContinueに変更します。

  3. [Continue]ボタンのEventTaskTypeプロパティーをNoPauseに変更します。
    これにより、イベントハンドラーは、他の通常タスクが一時停止しているときに、Contステートメントを実行できるようになります。

  4. [Continue]ボタンをダブルクリックして、イベントハンドラー関数を作成します。
    次に、以下に示すようにContステートメントを追加します。

Function frmMain_btnCont_Click(Sender$ As String)  
  Cont  
Fend  
  1. キーボードの[F5]キーを押して、プロジェクトをビルドし、Runウィンドウを表示します。
    ここでビルドエラーが発生した場合は、プログラムを修正して、再度 [F5]キーを押してビルドを行ってください。

  2. Runウィンドウの[開始]ボタンをクリックして、作成したフォームを表示します。

  3. [Start]ボタンをクリックします。
    ロボットのサイクル動作が実行されます。

  4. [Pause]ボタンをクリックします。
    ロボットのサイクル動作が一時停止します。

  5. [Continue]ボタンをクリックします。
    ロボットのサイクル動作が再開します。

  6. [Stop]ボタンをクリックします。
    次にフォーム右上の[閉じる]ボタンをクリックして、フォームを閉じます。
    次に、セットアップフォームを追加してみましょう。

  7. GUI Builderウィンドウのツールバーにある[新規フォーム]ボタンをクリックし、frmSetupという名前の新しいフォームを作成します。
    [OK]ボタンを押すと、新しいタブページに新しいフォームが表示されます。

  8. [新規ラベル]ボタンをクリックします。
    [frmSetup]フォーム上をクリックして、新しいラベルを作成します。

  9. NameプロパティーをlblSpeedに変更します。

  10. TextプロパティーをSpeed:に変更します。

  11. [新規テキストボックス]ボタンをクリックします。
    [frmSetup]フォームの[Speed]ラベルの右側をクリックして、新しいテキストボックスを作成します。

  12. NameプロパティーをtxtSpeed、Textプロパティーを10に変更します。

  13. [frmSetup]フォームをダブルクリックすると、フォームのLoadイベントハンドラー関数が作成されます。
    次のようにプログラムを追加してください。

Function frmSetup_Load(Sender$ As String)  
  GSet frmSetup.txtSpeed.Text, Str$(Speed(1))  
Fend  
  1. GUI Builderウィンドウのツールバーにある[新規ボタン]ボタンをクリックして、新しいボタンを作成します。
    NameプロパティーをbtnOK、TextプロパティーをOKに変更します。

  2. GUI Builderウィンドウのツールバーにある[新規ボタン]ボタンをクリックして新しいボタンを作成します。
    NameプロパティーをbtnCancel、TextプロパティーをCancelに変更します。この時点で、セットアップフォームは以下のようになります。

  3. [OK]ボタンをダブルクリックしてイベントハンドラー関数を作成し、次のようにフォームのDialogResultプロパティーを設定するプログラムを追加します。

Function frmSetup_btnOK_Click(Sender$ As String)  
  GSet frmSetup.DialogResult, DIALOGRESULT_OK  
  GClose frmSetup
Fend  
  1. [Cancel]ボタンをダブルクリックしてイベントハンドラー関数を作成し、次のようにフォームのDialogResultプロパティーを設定するプログラムを追加します。
Function frmSetup_btnCancel_Click(Sender$ As String)  
  GSet frmSetup.DialogResult, DIALOGRESULT_CANCEL  
  GClose frmSetup
Fend  
  1. GUI Builderウィンドウの[frmMain]タブをクリックして、[frmMain]フォームを修正します。

  2. GUI Builderウィンドウのツールバーにある[新規ボタン]ボタンをクリックして新しいボタンを作成します。
    NameプロパティーをbtnSetup、TextプロパティーをSetupに変更します。

  3. [Setup]ボタンをダブルクリックしてイベントハンドラー関数を作成し、次のように[frmSetup]ダイアログを表示してロボットの動作速度を設定するプログラムを追加します。

Function frmMain_btnSetup_Click(Sender$ As String)  
  Integer result  
  String value$  
    
  result = GShowDialog(frmSetup)  
  If result = DIALOGRESULT_OK Then    
    GGet frmSetup.txtSpeed.Text, value$    
    Speed Val(value$)  
  EndIf
Fend  
  1. [F5]キーを押してプロジェクトをビルドし、Runウィンドウを表示します。

  2. Runウィンドウの[開始]ボタンをクリックし、作成したフォームを表示します。

  3. [frmMain]フォームの[Start]ボタンをクリックします。
    ロボットのサイクル動作が実行されます。

  4. [frmMain]フォームの[Setup]ボタンをクリックすると、現在のロボットの動作速度をテキストボックスに表示した[frmSetup]ダイアログを表示します。

  5. 新しい速度を入力して、[OK]ボタンをクリックします。

  6. ロボットのサイクル動作が、設定した動作速度に変更されます。
    [Stop]ボタンをクリックしてロボットを停止すると、動作速度はデフォルトに戻ります。
    これでこのチュートリアルは終了です。