Страница 2 из 5 ПерваяПервая 1234 ... ПоследняяПоследняя
Показано с 11 по 20 из 58

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

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,108

    По умолчанию

    Цитата Сообщение от инок Посмотреть сообщение
    Извините Александр.
    Вы бы не могли, если Вас это не затруднит описать как собирать во флоат словами, как у Вас построен алгоритм разбора флоат для передачи по Модбас. Понятно что 4 алгоритма разборки, какой применяете ВЫ.
    Для начала о формате Float. Число в этом формате представлено в виде мантиссы и экспоненты+знак числа. Для представления такого числа используются 32 бита=4байта=2WORD.
    Есть такой онлайн ресурс http://www.binaryconvert.com/convert_float.html, где можно проводить преобразование чисел из одного формата в другой.
    Так вот, попробую с его помощью объяснить почему возможны 4 варианта
    Вот так выглядит представление числа Float
    1.png
    Хорошо видно где находятся знак, мантисса и экспонента.
    В ПЛК число "1" должно быть представлено так
    2.png
    Как уже было сказано, в стандарте на протокол ModBus не описано как должны передаваться 32-битные числа в формате Float. Просто для предачи 32 бит используют передачу двух 16-битных регистров WORD. Назавем их WORD_0 и WORD_1
    В каком порядке будет передавать эти WORD в Ваш ПЛК подключенное к нему Slave устройство выбрал изготовитель Slave устройства, так как ему понравиться. Ведь стандарта нет.
    Мало того, что порядок передачи регистров может быть WORD_0,WORD_1 или WORD_1,WORD_0.
    Так еще есть два вариант упаковки байт исходного числа в WORD.
    Вот и получаются еще три варианта в дополнение к выше приведенному.
    3.png
    4.png
    5.png
    Можете попробовать вставить сюда 2 WORD, которые Вы прочитали из Slave, может будет понятно в каком порядке нужно будет переставлять байты (какой из четырех алгоритмов использовать)
    Последний раз редактировалось petera; 11.09.2013 в 11:04.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  2. #2

    По умолчанию

    Вот за это огромное спасибо. Я долго просил разработчиков такую информацию.
    Последний раз редактировалось инок; 11.09.2013 в 11:05.

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

    По умолчанию

    http://www.owen.ru/forum/showthread....ll=1#post93612
    Здесь не пробовали посмотреть?

  4. #4

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    http://www.owen.ru/forum/showthread....ll=1#post93612
    Здесь не пробовали посмотреть?
    Сейчас попробую

  5. #5

    По умолчанию

    Вы меня постоянно уводите на CDS2.3 в нем у меня вообщем проблем не было. Там в конфигурировании были модули REAL input, output и я отсылал и принимал REAL когда угодно и куда угодно. В CDS3 разработчики не сделали таких модулей а отдали это на откуп пользователей. Даже в видео там просто выбирается алгоритм сбора в зависимости от алгоритма разбора.

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

    По умолчанию

    А я устал уже повторять что модбас это стандартный протокол, он собирается и разбирается по одним и тем же законам, что во второй что в третьец версии

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

    По умолчанию

    А код без онлайн можно увидеть, а то как то не вяжеться мысль что Вы тосуете байты местами, если одни и теже значения три раза повторяются и указатель из указателя это вообще круто, в каком примере это описано?

  8. #8

    По умолчанию

    Этот пример программы мне прислал СуперМодератор в первом ответе можете оригинал посмотреть.
    Я не супер программист, но я тоже немного засомневался и попросил словами объяснить, может у меня лучше бы получилось. Просто нужно понять, что нужно сделать. Я из этого текста кода просто даже понять не могу ни чего и тем более внятно объяснить.
    Последний раз редактировалось инок; 10.09.2013 в 23:30.

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

    По умолчанию

    Цитата Сообщение от инок Посмотреть сообщение
    я тоже немного засомневался и попросил словами объяснить
    Ссылка на ссылку это как бы нормальное дело, но в плк это делать лучше имея большой опыт, меня удивило что так предлагают в примерах для новичков, считаю что надо показывать каждый шаг в таких делах, вот этоо реал, вот это указатель на реал, вот это массив из четырех байт, вот указатель ложим в ячейку массива, вот дедаем смещегие указателя, снова ложим и т.д.
    Тогда новичку было бы ронятно

  10. #10
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,108

    По умолчанию

    У меня "терпелка" кончилась, глядя как человек мучается из-за непонимания формата Float
    Канал3 считывает в два регистра переменную float32, уже получены значения каждого из 2 регистров теперь я должен соотнести 2 переменные типа WORD к какими либо двумя вордовскими переменными и в конечном итоге получить переменную типа Итого:REAL=WordToReal(Канал3.1:WORD)*WordToReal(Ка нал3.2:WORD) или я чего-то не понимаю.
    Последний раз редактировалось petera; 11.09.2013 в 11:27.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

Страница 2 из 5 ПерваяПервая 1234 ... ПоследняяПоследняя

Похожие темы

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

Ваши права

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