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