6・6  VisualBasicによるインタフェースブロックを使用した機器制御

VisualBasicでプログラムします。

ボリュームのダイヤルを回し、インタフェースブロックで取得した電圧が4090以上になると、
モーターが時計回りに動きます。
それ未満の電圧だとモーターが停止します。

6・6・1  ブロックの設定と組み立て

カーネルブロックのモードスイッチをプログラムモード(中央)に設定し、 DigiSwitch番号は「0」に設定します。
カーネルブロックとインタフェースブロックとモーターブロックを接続します。
パソコンとカーネルブロックを RS232Cシリアルケーブルで接続します。
インタフェースブロックのコネクタにボリュームを接続し(4・6 インタフェースブロック参照)、外部電源を 取り付けます。
インタフェースブロックのDigiSwitch番号を「0」・モーターブロックのDigiSwitch番号を「1」に設定しておいてください。


 

6・6・2  VisualBasicのプロジェクト作成

ここでは、VisualBasicのプロジェクト作成とToyOcxの読み込みについて説明します。

VisualBasicを起動します。
新しいプロジェクトウィンドウ内の「標準EXE」選択後、「開く」をクリックします。

 

6・6・2・1  OCXを登録する

メニューバーの[プロジェクト]-[コンポーネント]をクリックします。

[ToyOcx OLEControl module]のチェックボックスをチェックします。

 

OKボタンを押すとOCX登録を終了します。

6・6・2・2  初期化のためのフォームを作成する

フォームに、接続ボタン・終了ボタンを作成し、ToyOcxを配置します。
ToyOcx は、 RoboCubeのコードを記述する際に、必ずフォームに配置します。

[接続ボタン作成とToyOcxの配置]

 

[終了ボタン作成]

6・6・2・3  ToyOcxを実行時に非表示する

 

 

6・6・2・4 接続ボタンの処理を記述する

作成した接続ボタンをダブルクリックし、表示されたコード画面のカーソルの位置に以下のコードを記述します。
通信ポートがCOM1でない場合は、ToyOcx1.OpenCom( )内の数字を変えます。
COM2であれば、ToyOcx1.OpenCom(2)となります。
なお、ここでは、オートバインディングと呼ばれる初期化を行います。

※緑色の文字は「コメント」と呼ばれるもので、VisualBasicでは、“ ’ (シングルクォーツ)“を置くとそれ以降の文は、
プログラムには関係ないものとなります。

 

6・6・2・5  初期化のための処理を記述する

接続ボタンの処理の下に、以下のコードを記述します。

 

6・6・2・6 フォーム画面(画面作成)とコード画面を切り替える

初期化のための処理を記述後、コード画面からフォーム画面に切り替えます。

 

6・6・2・7 終了ボタンの処理を記述する

作成した終了ボタンをダブルクリックし、表示されたコード画面のカーソルの位置に以下のコードを記述します。

6・6・2・8 プログラムを実行する

 1. RoboCubeの電源が入っているかを確認します。
 2.コードを記述後、F5を押してプログラムを実行します。
 3.接続ボタンをクリックします。
 4.「接続を完了しました。」のメッセージが表示されます。
 5.終了ボタンをクリックして、終了します。

※ 正常に動作しない場合は、 RoboCubeの電源を切り、 RoboCubeの設定・コードを見直してください。

上記で、カーネルブロックの初期化の処理は完了です。
カーネルブロックの初期化は、必ず最初に行います。
以降の節では、これに、各ブロックの機能を使用するための処理を追加していきます。
これまでに作成した画面と記述したコードを引き続き使用しますので、プロジェクトを保存します。

6・6・2・9 プロジェクトを保存する

簡単なVisualBasicのプログラムは、フォームファイル(.frm)とプロジェクトファイル(.vbp)の二つで構成されます。
プログラムを保存するときは、二つのファイルを保存することが必要です。

フォームファイルの保存(.frm)

プロジェクトファイルの保存(.vbp)

以上の操作を終えると、カーネルブロックの初期化プログラムは保存されます。
保存したプログラムは、「作成した名前.frm」と「作成した名前.vbp」となります。

6・6・3  保存したプロジェクトの読み込み

保存したプログラムに新しいプログラムを追加したい場合は、「作成した名前.vbp」をダブルクリックすると、
プログラムを読み込みますので、VisualBasicが起動したらプログラムを追加していきます。

 

6・6・4 フォームを作成する 

作成したカーネルブロック初期化プログラムに追加していくので、「作成した名前.vbp」をダブルクリックし、
VisualBasicを起動します。
コード画面からフォーム画面に切り替えます。

電圧測定を開始するためのボタン、電圧測定を停止するためのボタンを作成します。
読み取った電圧を表示するテキストボックスをフォームに配置します。

電圧測定開始ボタン・電圧測定停止ボタンを接続ボタン・終了ボタンと同様に作成してください。

次に、テキストボックスを作成してください。

 

 

6・6・4・1 電圧測定開始ボタンの処理を記述する

フォーム上に配置した電圧測定開始ボタンをダブルクリックし、表示されたコード画面のカーソル位置に以下のコードを記述します。

 

6・6・4・2  電圧測定停止ボタンの処理を記述する

コード画面からフォーム画面に切り替えます。
フォーム上に配置した電圧測定停止ボタンをダブルクリックし、
表示されたコード画面のカーソル位置に以下のコードを記述します。

 

6・6・4・3  電圧のデータによりモーターの動きが連動する処理を記述する

コード画面に以下のコードを記述します。

 

6・6・4・4  追加コードを記述する

[BindComplete( )追加コード]
コード画面に赤で囲まれた部分のコードを記述します。

[終了ボタン追加コード]
コード画面に赤で囲まれた部分のコードを記述します。

 

6・6・4・5  プログラムを実行する

1.RoboCubeの電源が入っているかを確認します。
2.コードを記述後、F5を押してプログラムを実行します。
3.接続ボタンをクリックします。
4.「接続を完了しました。」のメッセージが表示されます。
5.電圧測定開始ボタンをクリックすると、電圧の測定を開始します。   
  測定した電圧は、テキストボックスに表示します。
6.ボリュームを回し、インタフェースブロックで取得した電圧が4090以上になるとモーターが動きます。
  それ以外は、モーターが停止します。
7.電圧測定停止ボタンをクリックすると、電圧の測定を停止します。
8.終了ボタンをクリックして、終了します。

※ 正常に動作しない場合は、 RoboCubeの電源を切り、 RoboCube の設定・コードを見直してください。