MPC−6、コマンド表
現在のバージョンのコマンド表です。
ASCIIでやる理由ですが、OCXの都合です...(^^;
暫定版なので、将来的には改造します。
通信速度 全二重9600bps/ノンパリティー/ストップビット1
パソコン→MPC6
3バイト(ASCII)
Axx ポイント動作(定位)
xx=ポイント番号(00〜99)
Bxx ポイント動作(反位)
xx=ポイント番号(00〜99)
Cxx リレー動作(ON)
xx=リレー番号
Dxx リレー動作(OFF)
xx=リレー番号
Exx ポイントステータス要求
xx=ポイント番号(00〜99)
Fxx リレーステータス要求
xx=リレー番号
Gxx リレーステータス要求(0〜1)
xx=リレー番号
Oxx PWM出力設定、0
Pxx PWM出力設定、1
Qxx PWM出力設定、2
Rxx PWM出力設定、3
Sxx PWM出力設定、4
Txx PWM出力設定、5
Uxx PWM出力設定、6
Vxx PWM出力設定、7
拡張機能
Zxx LCDデータ書き込み(00のみ)
この後、32バイト分のデータを送る。
MPC6→パソコン(返値)
2バイト(ASCII)
00=コマンドOK
FF=設定不可
ステータス要求の場合、ステータスデーター
VB4でのサンプルプログラム(一部抜粋)
MSCOMM.OCXを使用しています
'No.1のリレーをONする
Ret = ComTxout("C01")
Function ComTxout(TxData)
Dim Dummy As Integer
Dim Rdata As String
Dim Tmst As Long
Frm_Main.Lab_MainSts = "コマンド送信中"
Frm_Main.Lab_MainSts.Refresh
Tmst = Timer + TxTimeover
Frm_Main.MSComm1.Output = TxData
Do '--------- 2バイト受信まで待つ
Dummy = DoEvents()
Loop Until Frm_Main.MSComm1.InBufferCount >= 2 Or Timer >= Tmst
If Timer >= Tmst Then
ComTxout = 255
Else
Rdata = Frm_Main.MSComm1.Input
ComTxout = Val("&h" + Rdata)
Debug.Print Rdata
End If
Frm_Main.Lab_MainSts = ""
Frm_Main.Lab_MainSts.Refresh
End Function
戻る
Up Date 2001-04-29 Binichi