測定器とパソコンをRS-232Cでつなぎデーターの送受信をしたいのですが、まだ測定器が無く間違いのチェックできないので、作成したコードのチェックをお願いします。
Private Sub Command1_Click()
If MSComm1.PortOpen = False Then
MSComm1.PortOpen = True
End If
Text2.Text = ""
MSComm1.Output = Text1.Text&Chr(&05H)
Command1.Enabled = False
dmy = DoEvents()
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Command3_Click()
MSComm1.PortOpen = Not MSComm1.PortOpen
If MSComm1.PortOpen = True Then
Command3.Caption = "通信停止"
Else
Command3.Caption = "通信開始"
End If
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Dim res As VbMsgBoxResult
res = MsgBox("終了しますか? ", vbYesNo, "確認")
If res = vbNo Then
Cancel = True
Exit Sub
End If
End Sub
Private Sub MSComm1_OnComm()
Dim Buffer As Variant
Select Case MSComm1.CommEvent
Case comEvReceive
Buffer = MSComm1.Input
Text2.Text=Text2.Text&Buffer
End Select
End Sub
測定器のシーケンス図がないのに
何をチェックするんでしょうか
通信できてればいいのですか?
ここの人っていつから動作チェック屋になったの?
確認してみたところ、動作しません。
改修をお願いします。
>>ん〜さん
通信できればよいのですが・・・できませんか?
どこが悪いんでしょうか?
パソコンから測定器にデーター要求のコマンドを送り、測定器からパソコンにデーターを送ってもらうようにプログラムしたいんです。
測定器のシュミレータプログラムを作くって互いに通信させてみればいいんでな
い?(通信部分のみ。測定器からPCに送信するデータはダミーでもよさそう)
そうすれば貴方のプログラムが正しいかどうか測定器が無くてもある程度は検証できるのでは。
望んでいるような回答じゃないと思いますが・・・。
測定器の仕様書を見て、測定器に相当するプログラムを
PC側で作成し、そのプログラムと通信して動作確認した
らどうでしょう?
かぶりました。 ごめんなさい。
>>GODさん、ひでらんさん
言っていることはよくわかるのですが、超初心者なもんで測定器に相当するプログラムを作る自信が無いんです。
>測定器に相当するプログラム
超初心者・自信が無いはわかったけれど
最初の質問で書いてあるようなRS-232Cでパソコンと繋いで
データを送受信するプログラムは書ける(=理解している)わけだよね?
ある信号を受信したら、ある信号を送信するというような
プログラムは仕様書に記述してあるようなパターンで作成できるよね?
Do
Select Case 受信した信号
Case ●●
BBBを送信
Case △△
DDDを送信
Case XX
WWWを送信
Case ##
NNNを送信
End Select
Loop
というような構成でいいと思うんだけど・・・。
>言っていることはよくわかるのですが、超初心者なもんで測定器に相当するプログラム
>を作る自信が無いんです。
>
なおき さん、何を言っているのですか。
超初心者なら余計に一つでも多くのプログラムを作成できるようになって早く一人前に
ならないと。
それに測定器側のPGは本来の納品物とは違うのだから気軽に作ってもいいではないで
すか。(多少のバグがあったところで製造責任は発生しないでしょ。)
仮に作っている最中に本物の測定器が到着してPGが無駄になってしまっても途中まで
組むことができていればあなたの力になっているはずですしね。
少なくても掲示板に投稿して返事を待っている時間があるのならデッバグ用ツールは作
るべきですよ。
ツール作るのに上の人の許可がいるのなら一言「現状では測定器が来ていないのでデバ
ッグができません。そこで測定器のシュミレータを作りたいのですが」と許可を取って
みてはどうですか。
測定器シュミレータ自体は簡単なものでいいんですよ。
例えばPCからデータを受け取ったら特定データを返す。
シュミレータ画面上のボタンが押されたらPC側にデータを送る。
みたい
なものでも十分じゃないですか。
PC側でデータを受信して、それをあなたのPGが正しく処理できているか確認でき
ればいいのだから。
あとはやる気次第ですよ!
相手側を作という話に同意です。
最初はハイパーターミナルなどを相手として、こちらからの
コマンド(文字)が送信できるか、ターミナル側で入力した
文字が受信できるかは最低限確認しておいたほうがいいかもです。
同時に作るとたぶんはまります。
みなさんありがとうございます!頑張って測定器側のプログラムを作ってみます!!
今日測定器が届いたので、さっそく試してみたのですが何も反応しないんです。実行ボタン(command1)を押しても何も反応が無いってことは測定器との通信がうまくいってないってことですか?
まぁどこかしらうまくいってないって事でしょうね。
今まで別 PC 相手に通信できていたのなら RS-232C の通信速度や
パラメータの設定を見直してみてはどうでしょう。
Byte配列にしないといけないのでは?
たとえばこんなのとか
http://madia.world.coocan.jp/vb/vb_bbs/200401_04010103.html
他にも過去ログにそれっぽいのがのっているかもです。
#ストレートケーブルってことはないですよね?(相手機器にもよりますが)
>実行ボタン(command1)を押しても何も反応が無いってことは測定器との通信がうまくいってないってことですか?
そのようですね。
まあ、パニックにならずに、MSDNのMSCommの使用例をそのまま使って
簡単な通信が出来るように挑戦して見てください。
ツイート | ![]() |