Форум АО "ВЗЛЕТ"

Приборы ЗАО "Взлет" => Отдел программистов => Тема начата: bubonik69 от 13.11.2015, 13:06:58



Название: Расходомер ВЗЛЕТ БИЦ 212. НЕ могу вывести расход
Отправлено: bubonik69 от 13.11.2015, 13:06:58
Доброго дня. Связался по 485 с расходомером. посылаю посылку с чтением 2-х регистров с адресом С072. Сама посылка выглядит так:
 16#08; //Модбас адрес
16#04; //Код функции
16#C0; //адрес регистра
16#72; //49266
16#00; //количество регистров
16#02; //
16#ed; //Младший байт CRC
16#49; // Старший байт CRC
Приходят мне четыре байта, а именно 3С 65 B0 2C. Реальный расход на экранчике показывает 50.4686. Уважаемые знатоки, прошу, раскажите как получить вещественный тип с этих 4-х байтов.
ЗАРАНЕЕ ПРИМНОГО БЛАГОДАРЕН за ответы.
П.С. Первый раз столкнулся с таким счетчиком, сроки как всегда оджимают... все упирается в эту цифру - расхода...


Название: Re:Расходомер ВЗЛЕТ БИЦ 212. НЕ могу вывести расход
Отправлено: yura от 18.11.2015, 11:59:18
что делать с принятыми байтами - зависит от того в какой среде разработки вы пишите свой код.
Это обычный Float IEEE754 (32-битный), а далее гугл в помощь.
Для проверки можете использовать онлайн-конвертер - http://www.binaryconvert.com/result_float.html?hexadecimal=3C65B02C
Что касается читаемого значения, надо смотреть документацию - список модбас-регистров на этот прибор.
Похоже, что по модбас расход передается в м3/сек.
Float "3С 65 B0 2C" - это число "0.014", если это м3/сек, то в м3/час расход получается:
Q = 0.014 * 3600 = 50.4 м3/ч, то есть примерно как у вы и ожидаете.