こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Ni-VISAによるRS232C制御プログラム

Ni-VISA+VB.NETでRS232C付きの計測器の制御プログラムを作成したいと考えています。
現在まで、USBTMCとGPIB接続での制御プログラム作成経験がありますが、RS232C接続での制御プログラム作成は初めてです。
Ni-MAXで動作確認できていますので計測器とPCはRS232Cで正常に接続できています。
しかしながら、下記プログラムコードでうまく動作しません。
プログラムの修正点などアドバイス頂けないでしょうか?

Public Function DcOutput_P4305(DcValue As Double)

' リソースの宣言
Dim RM As New Ivi.Visa.Interop.ResourceManager ' VISA COM リソースマネージャ
Dim VCG As New Ivi.Visa.Interop.FormattedIO488 ' VISA COM フォーマッテッドIO

' 通信の開始
VCG.IO = RM.Open("ASRL1::INSTR")

' 処理待機時間を設定
System.Threading.Thread.Sleep(500)

' DC出力値設定(例:VOLT 10 ・・・10V出力)
VCG.WriteString("VOLT" & " " & DcValue.ToString() & vbLf)

' 処理待機時間を設定
System.Threading.Thread.Sleep(500)

' 通信の終了処理
VCG.IO.Close()
System.Runtime.InteropServices.Marshal.ReleaseComObject(VCG)
System.Runtime.InteropServices.Marshal.ReleaseComObject(RM)

'処理待機時間を設定
System.Threading.Thread.Sleep(500)

Return 0

End Function

投稿日時 - 2019-07-19 13:59:35

QNo.9636974

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

Ni-VISAとやらを存じませんが通信手順が無くただ改行で終わるテキストを送るだけの通信なのでしょう。RS232cは負論理なので相手の電源が落ちていると1を連続受信中と読みます。つまり計器がON、PCがOFFから始まるとエラー文字の受信から始まってしまいます。これを避けるために電源ONの最初の通信は無意味な通信、たとえばただ改行を送ってエラーメッセージを受け取るとか・・・計器の仕様を知りませんが、ということが必要じゃないですか。空想ですが。

投稿日時 - 2019-07-19 20:37:32

お礼

コメントありがとうございます。
もう少し調べてみます。

投稿日時 - 2019-08-04 13:42:25

あなたにオススメの質問