Форум : Оборудование производства НПО "Тепловизор"

Название : ВИСТ.Т3 Modbus чтение накопленной энергии

 RUS :

15.1.21 10:51
 Необходимо по Modbus опросить теплосчётчик. Как я могу с помощью стандартных команд 03 (0x03) или 04 (0x04) получить доступ к ячейкам памяти накопленной тепловой энергии для каждого канала, какие регистры читать и как эти данные преобразовать для получения корректного показания? Какой функцией читать эти регистры?

 CH :

15.1.21 11:14
 http://www.teplovizor.ru/mydownloads/singlefile.php?lid=41
http://www.teplovizor.ru/forum/viewtopic.php?topic_id=410&forum=1

 RUS :

15.1.21 11:42
 Из http://www.teplovizor.ru/forum/viewtopic.php?topic_id=410&forum=1
"На самом деле, гкал лежат в регистрах с 0x1019 по 0x101C, поскольку описание структуры архивного заголовка в руководстве содержит байтовые смещения и размеры полей."
где это написано в инструкции?
Не совсем понятно какие адреса для теплосети 2 и 3?
Пример: я считал регистры с 0x1019 по 0x101C 4 последовательных 16-битных регистра и получил 4 числа: 0, 0, 572, 123. Как их преобразовать в одно число?

 CH :

18.1.21 12:03
 RUS
Цитата:

где это написано в инструкции?

В начале описания функции 03. Кроме того, на это намекают заданные в байтах размеры элементов структур.

RUS
Цитата:

Не совсем понятно какие адреса для теплосети 2 и 3?

В отличие от первой теплосистемы, расположение заголовков архивов второй и третьей теплосистем зависит от размера первого архива, то есть его их адреса следует прочитать из "спецификаций архивного файла" требуемой теплосистемы. Видимо всоедствие того, что в руководстве чтение архива не_файловыми функциями не рассматривается, в нём не описан стартовый (смещение 0) элемент этой структуры - один регистр (2 байта), содержащий адрес заголовка соотв. архива (содержащийся в нём адрес байтовый, не регистровый).

RUS
Цитата:

Пример: я считал регистры с 0x1019 по 0x101C 4 последовательных 16-битных регистра и получил 4 числа: 0, 0, 572, 123. Как их преобразовать в одно число?

В зависимости от своей системы правильно интерпретируйте прочитанное с учётом формата данных прибора "старшим байтом вперёд". Поскольку вы не указываете, в каком формате представлены значения регистров 572 и 123, дальше можно гадать результате. Если предположить, что с порядком всё верно, в прочитанных вами восьми байтах хранится число 37486715 (0x023c007b). Воткнув в нужное место этого целого числа десятичную точку получим значение тепловой энергии на начало текущего часа (например что-то вроде 3748.6715 Гкал). Методика получения точного значения на текущий момент времени вполне доходчиво описана по ссылке.

 RUS :

24.2.21 15:39
 В каких регистрах лежат накопленная масса и объём?

 CH :

26.2.21 11:18
 RUS
Цитата:

В каких регистрах лежат накопленная масса и объём?

Это нетрудно сообразить самостоятельно. Последовательность и размеры данных описаны, отсчитайте нужное число регистров хотя бы от от адреса тепловой энергии.

© NegaSoft co., 2005
http://www.teplovizor.ru

URL этой темы
http://www.teplovizor.ru/forum/viewtopic.php?topic_id=693&forum=1