測定器とパソコンでデーターの送受信をしたいのですが、作成したプログラムの確認をしてもらえませんか?


なおき  2005-09-07 10:17:41  No: 92062  IP: [192.*.*.*]

測定器とパソコンを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

編集 削除
ん〜  2005-09-07 11:45:15  No: 92063  IP: [192.*.*.*]

測定器のシーケンス図がないのに
何をチェックするんでしょうか

通信できてればいいのですか?

編集 削除
名無し  2005-09-07 13:11:13  No: 92064  IP: [192.*.*.*]

ここの人っていつから動作チェック屋になったの?

編集 削除
ん〜  2005-09-07 15:01:36  No: 92065  IP: [192.*.*.*]

確認してみたところ、動作しません。
改修をお願いします。

編集 削除
なおき  2005-09-07 16:40:14  No: 92066  IP: [192.*.*.*]

>>ん〜さん
通信できればよいのですが・・・できませんか?
どこが悪いんでしょうか?
パソコンから測定器にデーター要求のコマンドを送り、測定器からパソコンにデーターを送ってもらうようにプログラムしたいんです。

編集 削除
GOD  2005-09-07 17:07:23  No: 92067  IP: [192.*.*.*]

測定器のシュミレータプログラムを作くって互いに通信させてみればいいんでな
い?(通信部分のみ。測定器からPCに送信するデータはダミーでもよさそう)
そうすれば貴方のプログラムが正しいかどうか測定器が無くてもある程度は検証できるのでは。

編集 削除
ひでらん  2005-09-07 17:14:39  No: 92068  IP: [192.*.*.*]

望んでいるような回答じゃないと思いますが・・・。

測定器の仕様書を見て、測定器に相当するプログラムを
PC側で作成し、そのプログラムと通信して動作確認した
らどうでしょう?

編集 削除
ひでらん  2005-09-07 17:15:13  No: 92069  IP: [192.*.*.*]

かぶりました。 ごめんなさい。

編集 削除
なおき  2005-09-07 17:37:38  No: 92070  IP: [192.*.*.*]

>>GODさん、ひでらんさん
言っていることはよくわかるのですが、超初心者なもんで測定器に相当するプログラムを作る自信が無いんです。

編集 削除
いな  2005-09-07 17:53:56  No: 92071  IP: [192.*.*.*]

>測定器に相当するプログラム
超初心者・自信が無いはわかったけれど

最初の質問で書いてあるようなRS-232Cでパソコンと繋いで
データを送受信するプログラムは書ける(=理解している)わけだよね?

ある信号を受信したら、ある信号を送信するというような
プログラムは仕様書に記述してあるようなパターンで作成できるよね?

Do
 Select Case 受信した信号
 Case ●●
      BBBを送信
 Case △△
      DDDを送信
 Case XX
      WWWを送信
 Case ##
      NNNを送信
 End Select
Loop

というような構成でいいと思うんだけど・・・。

編集 削除
GOD  2005-09-07 18:49:35  No: 92072  IP: [192.*.*.*]

>言っていることはよくわかるのですが、超初心者なもんで測定器に相当するプログラム
>を作る自信が無いんです。
>
なおき さん、何を言っているのですか。
超初心者なら余計に一つでも多くのプログラムを作成できるようになって早く一人前に
ならないと。
それに測定器側のPGは本来の納品物とは違うのだから気軽に作ってもいいではないで
すか。(多少のバグがあったところで製造責任は発生しないでしょ。)
仮に作っている最中に本物の測定器が到着してPGが無駄になってしまっても途中まで
組むことができていればあなたの力になっているはずですしね。
少なくても掲示板に投稿して返事を待っている時間があるのならデッバグ用ツールは作
るべきですよ。
ツール作るのに上の人の許可がいるのなら一言「現状では測定器が来ていないのでデバ
ッグができません。そこで測定器のシュミレータを作りたいのですが」と許可を取って
みてはどうですか。

測定器シュミレータ自体は簡単なものでいいんですよ。
例えばPCからデータを受け取ったら特定データを返す。
シュミレータ画面上のボタンが押されたらPC側にデータを送る。
みたい
なものでも十分じゃないですか。
PC側でデータを受信して、それをあなたのPGが正しく処理できているか確認でき
ればいいのだから。

あとはやる気次第ですよ!

編集 削除
uud  2005-09-07 19:34:25  No: 92073  IP: [192.*.*.*]

相手側を作という話に同意です。

最初はハイパーターミナルなどを相手として、こちらからの
コマンド(文字)が送信できるか、ターミナル側で入力した
文字が受信できるかは最低限確認しておいたほうがいいかもです。

同時に作るとたぶんはまります。

編集 削除
なおき  2005-09-08 09:52:06  No: 92074  IP: [192.*.*.*]

みなさんありがとうございます!頑張って測定器側のプログラムを作ってみます!!

編集 削除
なおき  2005-09-08 17:29:22  No: 92075  IP: [192.*.*.*]

今日測定器が届いたので、さっそく試してみたのですが何も反応しないんです。実行ボタン(command1)を押しても何も反応が無いってことは測定器との通信がうまくいってないってことですか?

編集 削除
Geo=TK3  2005-09-08 17:49:43  No: 92076  IP: [192.*.*.*]

まぁどこかしらうまくいってないって事でしょうね。
今まで別 PC 相手に通信できていたのなら RS-232C の通信速度や
パラメータの設定を見直してみてはどうでしょう。

編集 削除
uud  2005-09-08 19:28:02  No: 92077  IP: [192.*.*.*]

Byte配列にしないといけないのでは?

たとえばこんなのとか
http://madia.world.coocan.jp/vb/vb_bbs/200401_04010103.html
他にも過去ログにそれっぽいのがのっているかもです。

Google様
http://www.google.co.jp/search?hl=ja&c2coff=1&q=Output%E3%80%80MSComm+%E3%83%90%E3%82%A4%E3%83%8A%E3%83%AA&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=

#ストレートケーブルってことはないですよね?(相手機器にもよりますが)

編集 削除
我龍院忠太  2005-09-08 20:52:40  No: 92078  IP: [192.*.*.*]

>実行ボタン(command1)を押しても何も反応が無いってことは測定器との通信がうまくいってないってことですか?
そのようですね。
まあ、パニックにならずに、MSDNのMSCommの使用例をそのまま使って
簡単な通信が出来るように挑戦して見てください。

編集 削除