もうちょっとで完成
プログラム全体としては、次のようなものになる。
Option Explicit
'VB6用直接I/O制御関数群
Public Declare Function InpB Lib "VBIOSCM_DLL.DLL" Alias "_InpB@4" (ByVal Port As Integer) As Integer
Public Declare Function InpW Lib "VBIOSCM_DLL.DLL" Alias "_InpW@4" (ByVal Port As Integer) As Integer
Public Declare Function InpD Lib "VBIOSCM_DLL.DLL" Alias "_InpD@4" (ByVal Port As Integer) As Long
Public Declare Sub OutB Lib "VBIOSCM_DLL.DLL" Alias "_OutB@8" (ByVal Port As Integer, ByVal dat As Integer)
Public Declare Sub OutW Lib "VBIOSCM_DLL.DLL" Alias "_OutW@8" (ByVal Port As Integer, ByVal dat As Integer)
Public Declare Sub OutD Lib "VBIOSCM_DLL.DLL" Alias "_OutD@8" (ByVal Port As Integer, ByVal dat As Long)
'VB6用直接I/O制御関数開始/終了処理
Public Declare Function IOSCM_Start Lib "VBIOSCM_DLL.DLL" Alias "_IOSCM_Start@0" () As Integer
Public Declare Function IOSCM_Stop Lib "VBIOSCM_DLL.DLL" Alias "_IOSCM_Stop@0" () As Integer
Sub RelayTest()
Dim ret As Integer
Dim i As Integer
ChDir ThisWorkbook.Path
ChDrive Left(ThisWorkbook.Path, 1)
'IOSCM開始処理をコール
ret = IOSCM_Start
If ret And 1 Then 'エラーの時は直接I/O制御不可のため終了
MsgBox "IOSCM Init Error!!"
Exit Sub
End If
For i = 0 To 255
Call OutB(&H378, i)
Application.Wait Now + TimeValue("00:00:01")
Next
'IOSCM終了処理をコール
ret = IOSCM_Stop
End Sub
10、Excelシートの保存
書いたプログラムは、Excelで保存するxlsファイルの中にシートの情報とともに記録される。VBAのエディタ画面のツールバーにあるフロッピーディスクのアイコンをクリックして、xlsファイルを保存しよう。
11、xlsファイルの保存先に「ioscm.sys」と
「vbioscm_DLL.dll」をコピーする
これらのファイルが、xlsファイルと同じフォルダにあることを確認する。もし無ければ、ダウンロードして解凍した「EXIOSCM」フォルダからコピーしよう。
12、実行!
VBAのエディタ画面のツールバーから、三角の実行ボタンをクリック。もしくはExcelの画面から「ツール」メニューの「マクロ」-「マクロ」を選んで、「RelayTest」を選択し[実行]ボタンをクリックする。
どうだろう? リレーユニットのリレーがカチカチ音を立てながら動いただろうか? これぞメカトロニクスの醍醐味だ!
(次ページへ続く)
この連載の記事
-
第8回
ゲーム・ホビー
あの電池実験はこうやった! リレーユニットの製作を全公開! -
第7回
ゲーム・ホビー
電池を越えた電池! 電池と言えない電池を発見! -
第6回
ゲーム・ホビー
大電流で電池も加熱! ミニ四駆で無茶してみた~コンビニPB軍団×100円ショップ帝国 -
第5回
ゲーム・ホビー
大電流で電池も加熱! ミニ四駆で無茶してみた~有名メーカー編 -
第4回
ゲーム・ホビー
コンビニPB連合 VS 100円ショップ帝国勝負! 連続使用決戦! -
第3回
ゲーム・ホビー
有名メーカー電池ガチンコ勝負! 連続使用決戦! -
第2回
ゲーム・ホビー
12時間電池耐久レースはコンビニ&100円ショップ対決に! -
第1回
ゲーム・ホビー
有名メーカー対抗! 12時間耐久電池間欠使用レース! -
ゲーム・ホビー
驚愕の結果! アルカリ乾電池性能比較実験! - この連載の一覧へ