2

現在、Fluke 5500A Multi-Product Calibrator と呼ばれるデバイスと通信するためのアプリケーションを作成しています。校正器のマニュアルには、次のコードを使用したサンプル VB6 プログラムが含まれています。

Sub Form_Load ()
    Comm1.CommPort = 1 [if using COM2, enter = 2]
    Comm1.Settings = “9600,N,8,1” [baud, parity, data, stop]
    Comm1.PortOpen = True
End Sub

コマンドボタン 1:

Sub Command1_Click ()
    Comm1.Output = “REMOTE” + Chr(10)
End Sub

コマンドボタン 2:

Sub Command2_Click ()
    Comm1.Output = “LOCAL” + Chr(10)
End Sub

コマンドボタン 3:

Sub Command3_Click ()
    Comm1.Output = “UUT_SEND ““<uut command>”” ” + Chr(10)
End Sub

次のような uut コマンドの例があります。

“UUT_SEND ““REMS\n””

私の質問はこれです。この通信を実現するために C# .Net 4.0 SerialPort クラスを使用することは可能ですか? これまでシリアルポートを使用しようとしたことはなく、これは非常に初めてですが、C# には次のようなものがあります。

        Comm1.PortName = "COM1";
        Comm1.BaudRate = 9600;
        Comm1.Parity = System.IO.Ports.Parity.None;
        Comm1.DataBits = 8;
        Comm1.StopBits = System.IO.Ports.StopBits.One;

サンプル プログラムで設定されているように Comm1.Output を設定するにはどうすればよいですか? さらに、SerialPort のクラスのどのプロパティがそれに対応していますか? 私が試みていることは機能しますか?

4

1 に答える 1

3

C# .Net 4.0 SerialPort クラスを使用して、この通信を実現できます。

情報とサポートについては、次のリンクを参照してください。

この女性は本を書いており (私もそれを使用しました)、彼女のフォーラムはシリアル ポート通信に最適です。あなたが必要とする可能性のあるものはすべてここにあります:

http://www.lvr.com/forum/index.php

MSDN フォーラムもお勧めします。これは .net に非常に役立つからです。

http://social.msdn.microsoft.com/Forums/en-us/home

さまざまなフレームワークを使用したシリアル ポート クラスの MSDN へのリンクを次に示します。

http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.aspx

http://msdn.microsoft.com/en-us/library/system.io.ports.serialport(v=vs.90).aspx

このタイプのコーディングですべてのオプションの内外をカバーすることは不可能です。さまざまな writeline、readline、readexisting、読み取るバイトのチェックなどの順列。送信されるデータに応じて、キャリッジ リターンを定期的に含める必要があるかどうかが決まります。

これがお役に立てば幸いです。ここでコードを書き直すとは思いませんが、特定の場所で行き詰まった場合は、質問を投稿することをお勧めします。具体的な方が良いです。

于 2013-07-08T20:41:24.090 に答える