N88BASIC
誤って送信されてしまいました、すいませんでした。
今まではN88BASICを使って、RS-232Cを介した熱電対のデータ収集をしていました。この度VisualBasicに移植しようとしております。
調べていきましたところ、N88Basicにある『out構文』が、VBではどう記述すればよいか、今となっては資料も見あたらず、困惑しております。
RS-232Cのオープンする行は以下の通りです(N88BASIC記述)。
If ZOPEN.FL = 0
Then Open "COM1:N81NN" For Random As #1:
OUT &H32, &H35: OUT &H30, GK: OUT &H32, &H37:
ZOPEN.FL = 1
Else If Loc(1) <> 0 Then Z7AH$ = Input$(Loc(1), #1)
仕組みはPCから1バイトのアスキー文字が出力され、
それを計測器が受け取ると、2バイトのアスキー文字を返してくるというものです。
もしご存じの方がおられましたら、アドバイスいただけないでしょうか。どうぞよろしくお願いいたします。
OUT &H30,?? ....システムコントロールポート
OUT &H32,?? ....モード指定
&H30へのOUT は USART を RS-232Cで使えるようにするためで、
&H32へのOUT はメモリのバンク切り替えをするための設定を
しているとおもわれます。
VBでは無視してかまいません。
Open "COM:N81NN" ...
の部分がRS-232Cポートをオープンしています。
Input$(Loc(1),#1)
の部分はRS-232Cポートから1バイトの文字を取得しています。
VB6ならMscommからの入力に置き換えれば問題ないでしょう。
Input$(Loc(1),#1)
は1バイトでなくバッファにたまっている全内容の間違いでした。
Mscommの使いかたはヘルプを参照。
奈々氏さん、貴重なご返答ありがとうございます。
OUT構文はあんまり気にしなくていいんですね。
今のところ、VBで簡単な交信のみの記述をしております。
そこで気づいたことには、機械を動作させる指令(アスキーコード)の資料が、説明書に載ってないようでした。
10年ほど前の説明書なので、今では考えられないですね・・・。
早速資料を取り寄せて、記述に反映したいと思っております。
解決いたしました。
ツイート | ![]() |