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

Приборы ЗАО "Взлет" => Отдел программистов => Тема начата: Leonid от 06.08.2009, 20:59:11



Название: Вопрос по размещению данных ModBus
Отправлено: Leonid от 06.08.2009, 20:59:11
Добрый вечер!
Разрабатываю свою программу для опроса тепловычислителей ТСРВ-023, 022, 020 с использованием протокола ModBus. Интересует, как расположены данные в ответных сообщениях, т.е. для всех типов данных значения располагаются начиная со старшего байта к младшему (как должно быть по протоколу ModBus), или же так, как они храняться в памяти (начиная с младшего байта)?
К примеру, читаю 03 функцией регистр типа float, нужно ли мне "переворачивать" байты данных ответного сообщения? Или же достаточно привести установленный на начало данных указатель типа float и разадресовать?
float Val = *((float *)(& buf[x+n]));


Название: Re: Вопрос по размещению данных ModBus
Отправлено: Денис Пономарев от 06.08.2009, 21:30:09
Рекомендуем ознакомиться с документом
http://www.vzljot.ru/files/docs/83/prtkl_Modbus_standart_data.pdf

Так же можно ознакомиться с http://www.vzljot.ru/soft-download/3/
Там есть доки и демки на С, VB и DELPHI


Название: Re: Вопрос по размещению данных ModBus
Отправлено: Leonid от 07.08.2009, 09:02:10
Большое спасибо! Ответ более чем исчерпывающий!


Название: Чтение регистра ModBus
Отправлено: Leonid от 11.08.2009, 13:00:10
Добрый день!

Возник еще один вопрос: есть два регистра типа float, первый означает целую часть, второй дробную. Поясните, как собрать два значения в одно (т.к. я понимаю, что float уже дробное). Возможно ли привести такое значение просто к float, хоть и с потерей точности?


Название: Re: Чтение регистра ModBus
Отправлено: Денис Пономарев от 11.08.2009, 13:26:21
Как правило в наших приборах первый регистр идет 32-битный в виде целого, и следом 32-битный вещественный. То есть после получения их надо сложить, получив вещественное.


Название: Re: Вопрос по размещению данных ModBus
Отправлено: lbv от 11.08.2009, 14:05:46
Это в последних приборах, раньше были два float. Их нужно просто сложить.


Название: Re: Вопрос по размещению данных ModBus
Отправлено: Bull от 07.10.2009, 18:06:04
Здравствуйте!
Интересуюсь,  где найти список Modbus регистров прибора КПИ-010В?
в частности его модулей IMR,USI,IPT?
На сайте не обнаружил, может плохо искал, подскажите.
Для написания поверочных программ.
Спасибо.


Название: Re: Вопрос по размещению данных ModBus
Отправлено: Dekir от 08.10.2009, 08:09:06
Это закрытая информация