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

Тема: сетевой протокол овен по Rs-485 получение значения регистра

  1. #1

    Angry сетевой протокол овен по Rs-485 получение значения регистра

    Помогите не могу понять в чем косяк.
    Имеется ПИД-регулятор ТРМ-101(адрес прибора в сети 164). Настройки и связь есть. Но возникает вот какая проблема:
    Отсылаю ему запрос на чтение уставки SP,которая равна 7.86,(в руководстве - http://www.owen.ru/uploads/list_para...1_v02.0021.zip) адрес регистра - 9107, строка запроса такая :
    Код:
    #QKHGPHGNPPLL\r
    В ответ приходит следующее :
    Код:
    #QKGJPHGNKGVROLTHIS\r
    Переводя из символьного вида получаем(без начала и конца) :
    Код:
    A4 03 9107 40FB85 D12C
    Откуда берем 3 байта данных, вот в этих 3 байтах данных и проблема, по формуле рассчета значения - (-1)^S * 10^(-Exponent) * Mantissa, мы не получим искомой величины 7.86.
    Так как, число 7.86 в двоично-десятичном виде должно выглядеть, как :
    Код:
    0x100786
    , а в двоичной форме
    Код:
    0x1312
    .

    Но при этом в конфигураторе, отображается нужная мне величина, вопрос, как он смог преобразовать
    Код:
    40FB85
    в 7.86 преобразовать???

    Вот лог запроса от конфигуратора к ПИД-регулятору :


    Вопрос также возникает, почему при чтении одного регистра, идет две операции записи/чтения в шину RS485?
    Последний раз редактировалось Anatol_rus; 21.10.2011 в 09:15.

  2. #2

    Cool Давай разберемся !!!

    ТРМ101 - оперативный параметр SP* - HASH-код 9107 - тип данных F24
    в конце таблицы смотрим, что "F24 – тип float 24 – 3 байта"

    В официальном описании смотрим пункт 5.1.1:

    5.1.1 Формат числа с плавающей точкой

    Формат числа с плавающей точкой - это просто стандартное 4-байтовое плавающее число в IEEE-формате, или усеченное 3-х байтовое (PIC-формат) - то же, что и IEEE, но с отброшенным младшим байтом мантиссы. Если известно, что формат плавающий, то усеченный и полный IEEE-форматы можно различить по битам размера информационного поля. Внутренние поля представлены только в двоичном, но не в двоично-десятичном виде.

    Остается выяснить что такое IEEE-формат!
    Вложения Вложения

  3. #3

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    ТРМ101 - оперативный параметр SP* - HASH-код 9107 - тип данных F24
    в конце таблицы смотрим, что "F24 – тип float 24 – 3 байта"

    В официальном описании смотрим пункт 5.1.1:

    5.1.1 Формат числа с плавающей точкой

    Формат числа с плавающей точкой - это просто стандартное 4-байтовое плавающее число в IEEE-формате, или усеченное 3-х байтовое (PIC-формат) - то же, что и IEEE, но с отброшенным младшим байтом мантиссы. Если известно, что формат плавающий, то усеченный и полный IEEE-форматы можно различить по битам размера информационного поля. Внутренние поля представлены только в двоичном, но не в двоично-десятичном виде.

    Остается выяснить что такое IEEE-формат!
    Давно уже все сам сделал, если что вот ссылка на стандарт float в русском переводе - http://www.softelectro.ru/ieee754.html

Похожие темы

  1. сетевой протокол овен по Rs-485. рассчет Crc.
    от Anatol_rus в разделе Сетевые технологии
    Ответов: 2
    Последнее сообщение: 05.10.2011, 16:56
  2. Протокол ОВЕН
    от O_o в разделе Помощь Разработчикам
    Ответов: 3
    Последнее сообщение: 04.08.2011, 14:04
  3. сетевой протокол овен по Rs-485. рассчет Crc.
    от Танец Ветра в разделе Сетевые технологии
    Ответов: 6
    Последнее сообщение: 19.10.2010, 14:02
  4. протокол овен на .net (c#)
    от ToniPizecato в разделе Помощь Разработчикам
    Ответов: 6
    Последнее сообщение: 28.12.2009, 12:02
  5. Получение значения из кадра в Delphi
    от asutp в разделе Помощь Разработчикам
    Ответов: 1
    Последнее сообщение: 11.01.2009, 15:44

Ваши права

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