Страница 6 из 6 ПерваяПервая ... 456
Показано с 51 по 58 из 58

Тема: Получение значений float32

  1. #51

    По умолчанию

    а как получить из массива байт собрать real?

  2. #52
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,225

    По умолчанию

    Так же через указатель на реал

  3. #53

    По умолчанию

    может есть у кого нибудь пример на CDS2.3 в котором полученное число типа real переделываетсья в другое число типа real с другим порядком байт?

  4. #54

    По умолчанию

    скажите хотябы как обратиться указателем pt:POINTER TO BYTE; ко второму байту переменной?

  5. #55
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,225

    По умолчанию

    Pt:=pt+1 я же написал

  6. #56

    По умолчанию

    Я был в гостях у компании 3S в германии. Рассказал им, что многие наши пользователи имеют проблемы со сбором переменных Real из пары переменных Word.
    Даже рассказал, что они имеют несколько разновидностей передачи и т.п.

    В общем компания 3S сейчас думает как лучше реализовать карту Modbus в нужные типы данных.
    Как только появятся данные я обязательно сообщу в данной ветке. И сообщу в какой версии CODESYS появится данная реализация.

  7. #57

    По умолчанию

    Здравствуйте. Столкнулся с той же проблемой конвертации 2-х WORD в REAL при работе с МВ110-2А в CodeSys 3.5. Нашел простенькое решение: В адресах регистров МВ110-2А есть отдельно адрес регистра целой части (мантиссы) и регистра положения десятичной точки. Организовал вывод температуры так:

    temp1:=WORD_TO_REAL(Mant1)/EXPT(10,WORD_TO_REAL(DP1));
    temp2:=WORD_TO_REAL(Mant2)/EXPT(10,WORD_TO_REAL(DP2));

    Вложение 12050
    Вложение 12051
    Последний раз редактировалось Medyv; 23.02.2014 в 11:16.

  8. #58

    По умолчанию

    Искал решение для DELPHI, в интернете особо не нашел, но помогли примеры выше,оказалось все просто. Возможно кому нибудь поможет:
    var
    a,b:Word; //Исходные данные, 2 ячейки по 2 байта
    c:Single; //Результирующая ячейка, действительное число 4 байта
    d:^Cardinal; //Указатель на целочисленную 4х байтовую переменную
    begin
    a:=64; //Для примера
    b:=16440;

    d:=@c; // Присваиваем целочисленной 4х байтовой переменной тот же адрес что и действительной

    d^:=MakeLong(a,b); // Объединяем 2 слова в одно 4х байтовое

    Caption:=FloatToStr(c); // Получаем результат 2.875015259
    end

Страница 6 из 6 ПерваяПервая ... 456

Похожие темы

  1. Как читать Float32 по Modbus-RTU
    от servo в разделе ПЛК1хх
    Ответов: 8
    Последнее сообщение: 13.03.2019, 09:30
  2. Получение данных с датчиков
    от qawaq в разделе Помощь Разработчикам
    Ответов: 8
    Последнее сообщение: 13.05.2013, 18:54
  3. Получение сертификата.
    от smk1635 в разделе Трёп (Курилка)
    Ответов: 8
    Последнее сообщение: 13.08.2011, 20:58
  4. ТРМ32+ПЛК110 (FLOAT32)
    от DiMKiN в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 26.05.2011, 15:58
  5. Получение данных от МВА8
    от КИПиА в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 03.03.2008, 14:10

Ваши права

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