今回USB→RS232Cの変換ケーブルを使いRS232Cを追加したのですが
起動した最初の段階でMSCommを使い通信をしようとすると
何故かコマンドの送信ができません。(受信は行える)
(通常のポートを使用した際は正常に動作します。)
しかし、ハイパーターミナルを使い通信をすると正常に送信ができます。
ちなみに、ハイパーターミナルで通信をした後はMSCommを使った送信でも
正常に行えます。

どなたかこのような現象の解決方法を教えてください。

又、VBからハイパーターミナルを使いコマンドを送信するやり方がわかる方が
いらしたら教えていただけないでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (1件)

変換ケーブルのメーカーは何処ですか?

    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q電子書籍 リーダーは毎月 通信料が要るのか

携帯電話などの通信料にまいいっています。電子書籍リーダー購入を思案していますが、通信料がっかってはたまりません。 どうなんでしょう?

Aベストアンサー

電子書籍リーダーには3G(携帯電話)回線で書籍を購入できるものもありますが、そういったものも含めて、パソコンとのUSB接続や無線LANでも書籍を購入できます。
なのでご自宅にインターネットの環境があれば、特別な通信料をかけずに書籍を購入できます。
3G(携帯電話)回線を契約する必要はありません。

QMSCommを用いたRS-232-Cデータ転送

Visual Basic ver.6を用いてRS-232-Cデータ転送のプログラムを書いています。
転送には,MSComm controlを用いています。
コンピューター側から命令コードを測定器側に送信すると(例えば,MSComm1.OutPut = "F,3,300," & Chr(13)のように),測定器側からは次のようなテキストデータの転送が指定された回数だけ起こります:

@C/R
数値データC/R
数値データC/R
・・・・
・・・・
(指定回数繰り返す)

そこで,質問ですが,このデータをMSComm1.Inputを介してきちんと取得する方法をお教えください。私がよく理解できいない部分は,「どのような形でbufferにデータが落ちているのか?」という部分と「繰り返し処理をどう記述するのか?」という部分です。多分後者は配列型変数を用いて「指定回数」だけ繰り返すことになると思いますが・・・・。
なお,データ転送の制御フォーマットはデータのみの転送で,STXもETXも使用していません。

Aベストアンサー

こんばんは。

これで、試してみてください。
'<<送信側>>
Private Sub Command1_Click()
MSComm1.InputLen = 0
MSComm1.PortOpen = True
MSComm1.Output = Text1.Text + Chr(13)
MSComm1.PortOpen = False
End Sub

'<<受信側>>
'起動時にポートを開いておきます。
'Timer1を貼り付けてIntervalを100程度に。
Private Sub Timer1_Timer()
Dim strBuf As String
strBuf = MSComm1.Input
If Len(strBuf) <> 0 Then
List1.AddItem strBuf
End If
End Sub

もし、受信データ長が同じ長さなら、OnCommイベントで
データ取得した方がいいのですが・・・

Q雑誌、新聞のネット版の代金は通信費?新聞書籍代?

仕事に必要な新聞書籍を購入しています。インターネットも利用しています。
新聞は新聞購読料、雑誌は書籍代、インターネット利用料は通信費として仕訳しています。

iPadを買って、いつも持ち歩くようになったので、新聞書籍のネット版を購入しようと思っています。
自分の地方では販売していないような地方の新聞も購入でき、またネット版だと少々料金が安くなるので魅力的ですね。

ところでこういった新聞・雑誌のネット版を購入した場合は、仕訳はどうするのが正しいでしょうか?
ネットを利用して読むのだから通信費?
それとも発行元が新聞社や雑誌社なのだから、今まで通り、新聞購読料や書籍代とする?

詳しい方教えてください。

Aベストアンサー

新聞購読料や書籍代です。

通信費は、それらを読むのに掛かった費用です。

Qシリアル(RS232C)通信でファイル送信をするには

現在、VB6.0を使用してシリアル通信の処理をしておりますが、
任意のファイルを相手側に送信をしたいと思いますがどの様に
処理をしたらいいいのか判らないので教えて下さい。

Aベストアンサー

>どの様に処理をしたらいいいのか判らないので
1.送信側でファイルを選択、
 →受信側にファイル名を通知(サイズもいる?)
2.送信側でファイルを読み込み、受信側に送信。
 →受信側でファイルに書き出し
  必要であれば、「n番目の送信」「送信サイズ」「チェックサム」等も付加する。
3.ファイルの終端まで2.を繰り返し。

基本的なやり方はどの通信方法でも一緒。

QTOEICの勉強は通信講座か一般書籍か

TOEICの勉強は通信講座か一般書籍か

現在大学3年の者です。
通学時間を利用してTOEICの勉強をしようと思っているのですが、ユーキャンなどの通信講座を使うか本屋に売ってる本を買ってやるか悩んでいます。

もちろん一番大事なのは自分のやる気だと思いますが、通信講座の場合はかなり費用がかかるのでそれだけの価値があるのか疑問を持ちました。

皆さんはどちらがいいと思いますか?

Aベストアンサー

私は今の英語力を測ったり、英語勉強した成果(TOEICの勉強の成果じゃありません)を測るために受けているので、TOEIC限定の特別な勉強というのはしていないです。市販本を使っています。

市販本か通信教育かは、どっちでもいいと思いますよ。個人的には、通信教育が必須とは思いません。
TOEICは基本的な文法がそこそこ分かって、聴けて読めればいいです。
聴いて読む練習を日々続けて、少しTOEIC的な文法問題の勉強をすればいいですよ。

新公式問題集は持ってますか。Vol.4かVol.3あたりを買うと良いです。アマゾンのカスタマーレビューを読んでみるとどういう本か参考になります。

以下は公式サイトの学習アドバイス。

参考URL:http://www.toeic.or.jp/square/advice/

QVB2008にてRS232C通信をするソフトを作ってみました。

VB2008にてRS232C通信をするソフトを作ってみました。
通信する相手はボードで、ボードに対してコマンド(アスキー)を送信します。
送信した際に、ボードより回答は有るのですが特に受信の処理はしていません。

ノートPCなのでUSB-232C変換ケーブル(秋月電子の物)にて通信しております。

とりあえず通信は出来て、思った通りに動くのですが、1時間ほど経つとソフトがフリーズ
する現象が起きます。

特に大量の通信をしている訳ではなく、3~4回ほど5文字位を送信しているだけです。
ソフトが立ち上がっている際は、常に通信ポート(例えばCOM3)は開いたままにして
いる事に問題が有るのでしょうか?

USB-232C変換ケーブルが悪いのでしょうか?

それとも、ボードよりの返信がPCの何処かのバッファに溜まってしまうのでしょうか?

フリーズする時は、特にボードに対して送信はしていないタイミングです。
1時間ほど通信したままにしてほったらかしにしている状態です。

これだけでは、解らないかも知れませんが、フリーズしてしまう要因で思い当たる事に
気づいた事が有りましたら何でも良いので、教えて下さい。

当方、この通信は初めてなもので、知らない事が多いかと思います。

ちなみにポートを閉じるタイミングはソフトを落としたときです。

VB2008にてRS232C通信をするソフトを作ってみました。
通信する相手はボードで、ボードに対してコマンド(アスキー)を送信します。
送信した際に、ボードより回答は有るのですが特に受信の処理はしていません。

ノートPCなのでUSB-232C変換ケーブル(秋月電子の物)にて通信しております。

とりあえず通信は出来て、思った通りに動くのですが、1時間ほど経つとソフトがフリーズ
する現象が起きます。

特に大量の通信をしている訳ではなく、3~4回ほど5文字位を送信しているだけです。
...続きを読む

Aベストアンサー

>初めは、Windwsが立ち上がり砂時計が消えて、ハードディスクのチカチカという初期動作の前に
>USBを挿入していたら、アプリが良くフリーズしていました。

>Windwsが完全に立ち上がってからUSBを入れるように使用するようにお願いしました所、
ちょっと待った
これは都度変換機を抜き差ししてるってことですか?
(つけっぱなしじゃ駄目なのですか?)
今回違うと思いますが少なくても通信中に抜き差しするとアプリがロックします
 接触不良で外れかかったため止まったという話も
 あるかもしれません
 VBよく知らないんですがオープンとかでエラー起こしても
 突き進んでるような(この場合もロックするのではないかという気がします)

また別のUSBポートにさした場合ポート番号が変化します

PC設定やソフト以前にその変換機が安定して動作してるのか
自体を確認した方がいいような気もします
(PC-PC間で1日ぐらい通信し続けてみるとか)
なんとなくハード要因の気がします

Qボールペン字、学ぶなら書籍と通信講座どちらが?

同じような質問がすでにあったらすみません。

ボールペン字、とくに名前、住所、履歴書がきれいに書けるようになりたいのですが、通信講座は高くて気が引けるし、書籍だと人それぞれ違う名前、住所、履歴書といったものがうまく書けるようになるのか疑問です。

どの方法で学ぶのがいいでしょうか。

よろしくお願いします。

Aベストアンサー

やる気になればどちらでもできるので、高くないほうが良くないですか?

DSにもありますよ。
書籍とDS両方持っていますが、DSは思うように進ませてもらえないので、こつこつできなくて、書籍の方がやり易かったです。

基礎からやれば、違う名前でも大丈夫だと思います。

字本来の形からも、学ぶので、どんな字でも共通で上達すると思いますよ。

ただ、教室に通うのと違って、空いている時間に自分のペースでやるので、ついついさぼり気味になってしまいますね。

いつも目に付く場所に、意識的に置いておいたり、カレンダーにやった日を記しておくと、プレッシャーがかかって良いかもしれないです。

誰かとやると一番いいですけど。

QRS232C通信(PC⇔PLC)

PCとPLCでシリアル通信を行っています。PLCからPCへステータス受信要求し、PCから正常アンサーがあればPLCからPCへ処理開始指令コマンドが出力されるというプロトコルです。実際には、PC側ステータス正常の場合、PLCへの正常アンサーを出力するところまでは行くのですが、その直後にPLCから送信されているはずの処理開始指令コマンドを受信することができません。一連のコマンド送信・受信の間隔が狭すぎるのかと思い、PLC側で処理開始指令コマンド送信前に10msecのウェイトを設けるとPC側で受信することができました。(PLC側の送信が悪いのか、PC側の受信に問題があるのか不明ですが、、、)
シリアル通信では、上記のような問題が発生しないように送受信の間隔等なんらかの規約が定められているのでしょうか??ウェイトを設けることなく通信を行いたいのですが、考えられる対処法を教えていただけませんでしょうか。よろしくお願い致します。
なお、通信機器の仕様は以下の通りです。
PLC:三菱シリアルコミニケーションユニット QJ71C24N-R2
PC:WinXpSP2、COMポート、VisualBASIC6.0のCommイベントによりデータ受信(10msecウェイトなしでは、処理開始指令コマンド送信時にCommイベントが発生しませんでした。)
※アスキー文字、PLC・PCともに送信終了コード(CR+LF)でバッファデータ読込み

PCとPLCでシリアル通信を行っています。PLCからPCへステータス受信要求し、PCから正常アンサーがあればPLCからPCへ処理開始指令コマンドが出力されるというプロトコルです。実際には、PC側ステータス正常の場合、PLCへの正常アンサーを出力するところまでは行くのですが、その直後にPLCから送信されているはずの処理開始指令コマンドを受信することができません。一連のコマンド送信・受信の間隔が狭すぎるのかと思い、PLC側で処理開始指令コマンド送信前に10msecのウェイトを設けるとPC側で受信することができま...続きを読む

Aベストアンサー

>シリアル通信では、上記のような問題が発生しないように・・・
そんなことはありません。
まあ、ウエイトもプロトコルと言えばプロトコルでしょうが、
そういう問題ではないと思います。

COMポートのオープン処理はこんな感じ
strBps = "9600,N,8,1" '9600bps、パリティなし、8ビット、ストップ1
MSComm1.CommPort = p_PortNo 'ポート番号の指定
MSComm1.Settings = strBps 'オープンパラメータ
MSComm1.InputLen = 0 'バッファ全体を読み取るようにする
MSComm1.InputMode = comInputModeBinary
MSComm1.PortOpen = True 'ポートをオープン
MSComm1.NullDiscard = False
MSComm1.Handshaking = comNone
MSComm1.RTSEnable = True
MSComm1.RThreshold = 1

COMの割り込みイベントはこんな感じ

Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEvReceive
varDatas = MSComm1.Input
End Select
End Sub

>シリアル通信では、上記のような問題が発生しないように・・・
そんなことはありません。
まあ、ウエイトもプロトコルと言えばプロトコルでしょうが、
そういう問題ではないと思います。

COMポートのオープン処理はこんな感じ
strBps = "9600,N,8,1" '9600bps、パリティなし、8ビット、ストップ1
MSComm1.CommPort = p_PortNo 'ポート番号の指定
MSComm1.Settings = strBps 'オープンパラメータ
MSComm1.InputLen = 0 'バッファ全体を読み...続きを読む

QCanon C2030FとMac OS Lion

Mac OS Lion (10.7.3)でC2030fをUSBでつなぎ印刷機能をしようしたいと考えております。[システム環境のプリンタ]→[ドライバ]から[使用するドライバ(C2030f)を選択]までできるのですが、下のリストからC2030fのプリンタドライバを選択しようとしても表示されません。どうしたらよろしいでしょうか?

Aベストアンサー

Canon C2030F
 同じ機種を使っていますが・・・・ こういうネットできく前に

 Canonに直接聞く方が確実なのでは?
 または導入した業者経由でても 

Canon
 共通お客様センター  TEL 050-555-90056 (9~12 13~17))

QVBへの変換の仕方 RS232C送信データとチェックサム

以下のプログラムをVBに変換する仕方を教えてください。

サンプルプログラム
1110 CHKSUM=0
1120 FOR i=1 to LEN(A$)      'A$は送信データ
1130 CHKSUM=CHKSUM+ASC(MID$(A$,i,1)
1140 NEXT i
1150 C$=CHR$((CHKSUM+13) MOD 256)
1160 PRINT #1,A$;CHR$(13);C$;

私のVBプログラムは1110行から1150行まではそのままで
CHKSUM=0
FOR i=1 TO LEN(A$)
CHKSUM=CHKSUM+ASC(MID$(A$,i,1)
NEXT i
C$=CHR$((CHKSUM+13) MOD 256)
としました。

送信部分を
MSComm1.Output =A$ & CHR$(&H13) & C$
としてみましたが
1160行にあるセミコロン ";" はCHR$(&h3B) として送る必要があるのでしょうか?
MSComm1.Output =A$ & CHR$(&h3B) & CHR$(&h13) ・・・・・・
また、データとしてA$="I 02"のチェックサムは "リ" となりますが正しいのでしょうか?
以上ご教示ください。

以下のプログラムをVBに変換する仕方を教えてください。

サンプルプログラム
1110 CHKSUM=0
1120 FOR i=1 to LEN(A$)      'A$は送信データ
1130 CHKSUM=CHKSUM+ASC(MID$(A$,i,1)
1140 NEXT i
1150 C$=CHR$((CHKSUM+13) MOD 256)
1160 PRINT #1,A$;CHR$(13);C$;

私のVBプログラムは1110行から1150行まではそのままで
CHKSUM=0
FOR i=1 TO LEN(A$)
CHKSUM=CHKSUM+ASC(MID$(A$,i,1)
NEXT i
C$=CHR$((CHKSUM+13) MOD 256)
としました。

送信部分を
MSComm1.Output =A$ & CHR$(&...続きを読む

Aベストアンサー

VBのバージョンは?
新しいものであれば内部はUniCode化されていると思うので昔のソースを移行するのは大変と思う、特に半角文字を扱う場合は

送信データはStrConvでAsciiにしてバイト配列にしチェックサムは XOR演算したと思ったけど・・・
偶数、奇数があるので最後に反転しないといけない場合もあるけど

それとPrint文の;は続けて書く場合に使いますのでCHR$(&h3B) を付ける必要はありません
Print "a","b" とすると a_______b となります_=Space
また Print "a";"b"とすると ab となります

Print "a"
Print "b"
なら
a
b

Print "a";
Print "b"
なら
ab

通常送信データには改行を送らないので
最後の Print "b" も Print "b"; と書きます


人気Q&Aランキング

おすすめ情報