シリアルで転送されたデータを読み取るには?

解決


アカツキ  2008-02-06 00:55:42  No: 100210

はじめまして。アカツキです。

vb6で、シリアル(RS-232C)から伝送されたデータを処理するのPGを作っています。
しかし、利用しているパソンコンはRS-232Cのポートがないため、RS-232CからUSBシリアル変換アダプター(USB-RSAQ5)を利用することになりました。

データを取れるかどうかを確認するため、以下のPGを作りました。

Private Sub Form_Load()
    
    MSComm1.CommPort = 4  'RS-232Cポート番号
    MSComm1.Settings = "19200,E,8,1"
    
    MSComm1.InputLen = 0
    MSComm1.InputMode = comInputModeText
    MSComm1.InBufferCount = 0
    
End Sub

Private Sub Command2_Click()
    If MSComm1.PortOpen = False Then
        MSComm1.PortOpen = True
    End If
    
    If MSComm1.InBufferCount > 10 Then
    
        Instring = MSComm1.Input
        
        List1.AddItem Instring
    End If

End Sub

実行したら、いつも

実行時エラー:8020
通信デバイスの読み取り時にエラーが発生しました。

のエラーメッセージが表示しました。

debugすると、
Instring = MSComm1.Input
のとき、エラーが発生

MSComm1.Settings = "19200,E,8,1"の値がいろいろ変わって
テストしましたが、エラーが解決できませんでした。

どなたかいいアイディアがあれば、教えていただくようにお願いします。


アカツキ  2008-02-06 01:04:22  No: 100211

追記:
RS-232Cポートがあるパソコンに、データが問題なく取りましたが、
新しいパソコンに変わって、データが取れなくなりました。
USBシリアル変換アダプターのデバイスが一応問題なくインストールしました。


アカツキ  2008-02-06 01:07:37  No: 100212

すみません。解決  チェックボックスを間違えてチェックしました。それを削除してください。まだ  解決していません。お願いします。


我龍院  2008-02-06 02:18:06  No: 100213

>MSComm1.Settings = "19200,E,8,1"
この「E」は正しいですか?
普通はノンパリが多いんだけど。


アカツキ  2008-02-06 02:40:13  No: 100214

我龍院さん、ご返答ありがとうございます。

それは、Eとか、Nとか、Oとか、変換しても、問題が解決されませんでした。
また、テスト途中、新しいエラーメッセージが出てきました。

comEventFrame 1004 フレーム エラーです。ハードウェアによってフレーム エラーが検出されました。 

これは、具体的に、どんな意味でしょうか。よろしくお願いします。


我龍院  2008-02-06 03:55:00  No: 100215

>それは、Eとか、Nとか、Oとか、変換しても、問題が解決されませんでした。
そんな乱暴な(笑)、パリティは相手の機器と合わせてください。
ケーブルが長すぎるなんて事はないよね。
コネクタが半分抜けかかってるとか、フレーム エラーってのはそういう
レベルの話です。
両方の機器の設定が合っていて、フレームエラーが出るのでしたら、
ハードウェアーの問題でしょ。


アカツキ  2008-02-06 23:31:56  No: 100216

我龍院さん、ご返答ありがとうございます。

以前のマシンで、MSComm1.Settings = "19200,E,8,1"  で、問題なくデータを読み取りました。

今回はパソコンだけ変わったなので、その設定で、問題なくデータを取れると思いました。

>両方の機器の設定が合っていて。。。
パソコンの設定だったら、どこで設定したらいいのでしょうか。
MODE  COMx  で設定することでしょうか。
一度  MODE  COMx  コマンドで試したが、問題が解決されませんでした。

ご返答をまたよろしくお願いします。


素人プログラマー  2024-09-27 17:43:56  No: 151620

私の場合も、VB6で作った、プログラムが、
通信で、RS232C VB6 8020エラー
PCの、RS232Cの、ドライバーを、アップデート前の、
やつに、かえたら、解消しました、
ご参考までに


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加