Показано с 1 по 9 из 9

Тема: как прочитать данные об измеренной температуре

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    незарегистрированный
    Гость

    По умолчанию ну вроде бы немного разобрался с форматом ,кроме самого главного

    как прочитать значение выведенное на индикацию ??
    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
    Получаю всего три байта в поле данных .

  2. #2

    По умолчанию

    оперативные параметры адресуются через адрес прибора. если адрес прибора 16, данные второго канала читаются по адресу 17. три байта возвращается, потому что тип параметров Pv и LuPv - Float24.

    что бы проверить правильность формирования посылки можно использовать нашу библиотеку, включив в ней отладочный вывод.

  3. #3

    По умолчанию

    Правильно ли я понимаю, что функция:
    int ReadFloat24(DWORD adr,DWORD adr_type,char *command,float &value, int index)
    читает число с плавающей запятой в неком формате float 24, но в программу возвращает значение в формате float 32 (float &value), т.е. Single ?

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •