-
незарегистрированный
Гость
ну вроде бы немного разобрался с форматом ,кроме самого главного
как прочитать значение выведенное на индикацию ??
B257 или B8DF команды не содержат индекса , и после вызова , передают всего три байта , и не понятно значение какого канала передается , как выбрать нужный канал измерения
Формат я шлю такой 23 47 47 48 47 52 4f 54 56 47 54 4d 4b 0d
нулевой адрес прибора 47 47 , чтение 48 47 , B257 код команды LuPV, CRC 47 54 4d 4b
#GGHGROTVGTMK#
получаю 23 47 47 47 4a 52 4f 54 56 48 49 4f 47 4e 4d 51 54 50 4f 0d
Получаю всего три байта в поле данных .
-
оперативные параметры адресуются через адрес прибора. если адрес прибора 16, данные второго канала читаются по адресу 17. три байта возвращается, потому что тип параметров Pv и LuPv - Float24.
что бы проверить правильность формирования посылки можно использовать нашу библиотеку, включив в ней отладочный вывод.
-
Пользователь
Правильно ли я понимаю, что функция:
int ReadFloat24(DWORD adr,DWORD adr_type,char *command,float &value, int index)
читает число с плавающей запятой в неком формате float 24, но в программу возвращает значение в формате float 32 (float &value), т.е. Single ?
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
-
Правила форума