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 の設定・コードを見直してください。