Вход

Просмотр полной версии : трм 200 c#



Deadoff
12.03.2019, 17:53
Добрый день. Есть прибор трм 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();

Ошибка: 41688

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

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

kon48
12.03.2019, 21:53
Добрый день. Есть прибор трм 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();

Ошибка: 41688

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

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

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

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

41698

Deadoff
13.03.2019, 00:12
Все получилось, большое спасибо что направили, в итоге код получился такой (вдруг кому надо):


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();

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