Показано с 1 по 5 из 5

Тема: трм 200 c#

  1. #1

    По умолчанию трм 200 c#

    Добрый день. Есть прибор трм 200, подскажите как получить с него Значения PV1 PV2, базовый адрес 0

    Код:
    SerialPortAdapter port = new SerialPortAdapter(3, 115200, Parity.None, 8, StopBits.One);
                port.Open();
                var owenProtocol = OwenProtocolMaster.Create(port);
    
                if (port.IsOpened != true)
                {
                    MessageBox.Show("Ошибка открытия порта COM: " + port.ToString());
                }
                    byte[] dataFromDevice = new byte[] { 0x00 };
                    try
                    {
                        dataFromDevice = owenProtocol.OwenRead(0, AddressLengthType.Bits8, "PV1");
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.ToString());
                    }
                    var converter = new ConverterFloat();
                    var value = converter.ConvertBack(dataFromDevice);
                    MessageBox.Show(value.ToString());
                    
                port.Close();
    Ошибка: 200.jpg

    Укажите правильный путь

    Заранее спасибо.

  2. #2
    Пользователь
    Регистрация
    08.12.2014
    Адрес
    г.Тейково Ивановской обл.
    Сообщений
    236

    По умолчанию

    Цитата Сообщение от Deadoff Посмотреть сообщение
    Добрый день. Есть прибор трм 200, подскажите как получить с него Значения PV1 PV2, базовый адрес 0

    Код:
    SerialPortAdapter port = new SerialPortAdapter(3, 115200, Parity.None, 8, StopBits.One);
                port.Open();
                var owenProtocol = OwenProtocolMaster.Create(port);
    
                if (port.IsOpened != true)
                {
                    MessageBox.Show("Ошибка открытия порта COM: " + port.ToString());
                }
                    byte[] dataFromDevice = new byte[] { 0x00 };
                    try
                    {
                        dataFromDevice = owenProtocol.OwenRead(0, AddressLengthType.Bits8, "PV1");
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.ToString());
                    }
                    var converter = new ConverterFloat();
                    var value = converter.ConvertBack(dataFromDevice);
                    MessageBox.Show(value.ToString());
                    
                port.Close();
    Ошибка: 200.jpg

    Укажите правильный путь

    Заранее спасибо.
    В строке dataFromDevice = owenProtocol.OwenRead(0, AddressLengthType.Bits8, "PV1");
    после PV1 вставьте пробел dataFromDevice = owenProtocol.OwenRead(0, AddressLengthType.Bits8, "PV1 ");

  3. #3

    По умолчанию

    Ошибка пропала если: dataFromDevice = owenProtocol.OwenRead(0, AddressLengthType.Bits8, "PV ");

    А как правильно конвертацию сделать? ConverterFloat() ругается, ConverterDecDotU() - Отображает не корректную температуру

    200-1.png

  4. #4

    По умолчанию

    Все получилось, большое спасибо что направили, в итоге код получился такой (вдруг кому надо):
    Код:
    SerialPortAdapter port = new SerialPortAdapter(3, 115200, Parity.None, 8, StopBits.One);
                port.Open();
                var owenProtocol = OwenProtocolMaster.Create(port);
    
                if (port.IsOpened != true)
                {
                    MessageBox.Show("Ошибка открытия порта COM: " + port.ToString());
                }
                    byte[] dataFromDevice = new byte[] { 0x00 };
                    try
                    {
                        dataFromDevice = owenProtocol.OwenRead(0x000, AddressLengthType.Bits8, "PV ");
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.ToString());
                    }
                    var converter = new ConverterFloat(3);
                    var value = converter.ConvertBack(dataFromDevice);
                    MessageBox.Show(value.ToString());
                    
                port.Close();

  5. #5

    По умолчанию

    Простите за поднятие такой старой темы. А как считать какой нибудь другой параметр, только на трм201. А то только PV и получается?

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •