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

Приборы ЗАО "Взлет" => Отдел программистов => Тема начата: Alex85 от 25.01.2012, 09:33:59



Название: ТСРВ-024М Вопро по протоколу обмена
Отправлено: Alex85 от 25.01.2012, 09:33:59
Есть прибор ТСРВ-024М(ВВ 76.30.03.19). Считываем данные с него по протоколам,
описанных в документах prtkl_Modbus.pdf, reg_tsrv024m.pdf, srt_arh_tsrv024m.pdf.

Архивы, текущие данные, настройки считываются нормально и соответсуют отображаемым данным.
Проблема наблюдается при считывании накопленных значений, например считывание
"Общего тепла, потребленного абонентом в рабочем режиме"  по адресу 0xC0BE (349337) происходит
с ошибкой "код 4". Аналогично и для энергии по другим системам.

В чем может быть причина? Как получить накопленные значения(энергию, массу по трубопроводам) с данного теплосчетчика.

Спасибо.



Название: Re:ТСРВ-024М Вопро по протоколу обмена
Отправлено: VaNiK от 25.01.2012, 12:01:02
Для того что бы получить данные этого регистра, на прибор должна быть отправлена следующая команда:

01 04 C0 BE 00 04 AD ED //Адрес прибора - 1, 04 - номер функции, C0 BE - адрес первого регистра, 00 04 - глубина 4 регистра,  AD ED - контрольная сумма.

Ошибка с номером 04 возникала, на мой взгляд, потому что запрашивали не 4 регистра а 2.


Название: Re:ТСРВ-024М Вопро по протоколу обмена
Отправлено: Alex85 от 25.01.2012, 12:28:25
Спасибо. Получилось считать 8 байт. Подскажите, пожалуйста, формат хранения используемый в этих регистрах.


Название: Re:ТСРВ-024М Вопро по протоколу обмена
Отправлено: Alex85 от 25.01.2012, 12:48:56
Разобрался. Формат int(4б)+float(4б).