Вопрос RS232 - как считать вес на ПК - PullRequest
1 голос
/ 10 января 2010

У меня есть весы, которые подключаются к ПК через RS232, я посылаю "W", чтобы получить вес. Весы отправляют вес все время, пока он прочитан. Как мне узнать вес прочитанного?

Могу ли я получить пример кода C #?

Ответы [ 2 ]

12 голосов
/ 10 января 2010

Отправка W? Похоже на шкалу Меттлера Толедо, которую FedEx дает предприятиям У меня есть какой-то код, который читает из такого масштаба:


// where this.port is an instance of SerialPort, ie
// this.port = new SerialPort(
//  portName,
//  1200,
//  Parity.None,
//  8,
//  StopBits.One);
//  this.port.Open();

protected override bool GetWeight(out decimal weightLB, out bool stable)
{
    stable = false;
    weightLB = 0;

    try
    {
        string data;

        this.port.Write("W\r\n");
        Thread.Sleep(500);
        data = this.port.ReadExisting();

        if (data == null || data.Length < 12 || data.Substring(8, 2) != "LB")
        {
            return false;
        }

        if (decimal.TryParse(data.Substring(1, 7), out weightLB))
        {
            stable = (data[11] == '0');

            return true;
        }
    }
    catch (TimeoutException)
    {
        return false;
    }

    return false;
}
0 голосов
/ 10 января 2010

Вам необходимо использовать компонент SerialPort .NET. Полное описание и примеры доступны на сайте MSDN: http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...