まにゅある


プログラミング入門U


〜 PicoMotorをピコピコ♪っと動かそう! 〜

プログラミング入門Tよりは初歩的なプログラムです。単純です。
とりあえずPicoMotorを動かすイメージで作ってみました。
VisualBasicで入力した数字をDLLを使って計算させて再びVisualBasicに表示させるプログラムです。

まず、SampleをDownloadして下さい。[ Download ]
次に、Sampleを実行できるようにするために、[ 実行ファイルの作成手順 ] を参照して下さい。

Visual C++でDLLを作成したあとは、[ DLLの使い方 ] を参照して適切な場所に移動して下さい。
それから、Visual Basicによって作成された実行ファイルを実行して下さい。
実行例として、Visual BasicとVisual C++ DLLの位置付けを下に示しました。

実行イメージ

VisualBasicのテキストボックスに数字を入力し決定ボタンを押すとDLLに数字が送られて、計算されます。
同時に、計算結果をテキストボックスに表示するようになっています。
上記の内容をしているソース(コード)を下に示します。

/* Sato_Sample.exe (VisualBasic) */

Private Sub nstep_value_ok_Click()
   Dim a, b, d As Long
   Dim c As Double

   a = Val(nstep_value.Text) ' <--MakeDLLにnstepを送る
   Call SatoSample(a, b, c, d) ' <--SatoSample関数をリンクする
   answer1.Text = Str(c) ' <--cの値を表示
End Sub

Private Sub speed_value_ok_Click()
   Dim a, b, d As Long
   Dim c As Double

   b = Val(speed_value.Text) ' <--MakeDLLにnstepを送る
   Call SatoSample(a, b, c, d) ' <--SatoSample関数をリンクする
   answer2.Text = Str(d) ' <--cの値を表示
End Sub

/* MakeDLL.dll (Visual C++ DLL) */

DLL_EXPORT void CCONV SatoSample(long nstep, long speed, double* rotation, long* time){
   *rotation = (double)nstep / 150000; ←VisualBasicより入力されたnstepを回転数に変換
   *time = speed * 15000; ←VisualBasicより入力されたspeedを時間に変換

}

PicoMotorを動作させるためには、
MakeDLL.dllの上に示した所に、ボードを用いてデジタル出力をさせるようなプログラムを記述すれば、
それらしく動きます。実際には、ボードの初期化や解放を行う部分が必要です。





トップページへ