シリアル ポートを使用して、シン クライアントに接続されているスケールからデータを読み取っています。99% の場合、データは正しく読み取られます。つまり、スケール上にあるものは何でも、アプリケーションによってキャプチャされます。ただし、データがドロップされているように見える場合があります。たとえば、90.007 の代わりに 0.007 として読み取られます。私は ReadLine 関数を使用しています:
private void CaptureWeight()
{
globalCounter++;
string value = "";
_sp.DiscardInBuffer();
while (!this._processingDone)
{
try
{
value = this._sp.ReadLine();
if (value != "")
{
if (value == "ES")
{
_sp.DiscardInBuffer();
value = "";
}
else
{
this.Invoke(this.OnDataAcquiredEvent, new object[] { value });
}
}
}
catch (TimeoutException)
{
//catch it but do nothing
}
catch
{
//reset the port here?
MessageBox.Show("some other than timeout exception thrown while reading serial port");
}
}
} //end of CaptureWeight()