Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 22

Тема: Помогите новичку

  1. #1

    По умолчанию Помогите новичку

    Привет, форумчане.
    Изучаю программирование PLC. По Modbus получаю данные(HEX) в PLC из ОВЕН МВ110-224 в виде массива Word, выглядит примерно так: 16#4401(0), 16#42E0(1). Вопрос, как вынуть из массива данные и перевести их в десятичное число с плавающей запятой? Должно получиться примерно так: 517,045 (по крайней мере так пишет конфигуратор). С массивами раньше не сталкивался, поэтому голову себе уже почти сломал... Всем ответившим большое человеческое спасибо!!!

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

    По умолчанию

    По Modbus получаю данные(HEX) в PLC из ОВЕН МВ110-224 в виде массива Word, выглядит примерно так: 16#4401(0), 16#42E0(1)
    Это мазохизм какой-то.
    Никаких массивов. Вместо двух Register input module используйте один Real input module и сразу получите из МВ110 число с плавающей точкой.
    А чтобы не выглядело так "16#4401(0)" в онлайн просмотре переключите отображение переменных в десятичном виде.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  3. #3

    По умолчанию

    Контроллер GLOFA, не ОВЕН, в том то и дело, в GMWIN единственный доступный модуль для чтения Modbus - MOD0304, а он выставляет данные массивом ARY_WORD и другие типы данных не поддерживает... отсюда и мазохизм.

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

    По умолчанию

    Тогда склеить два полученных ворда в дворд и преобразовать во флоат.

  5. #5

    По умолчанию

    Извиняюсь, обманул, есть еще MOD0102, но он на выходе делает битовый массив ARY_BOOL, но это по-моему еще мазохистее...

  6. #6

    По умолчанию

    Спасибо, попробую. Хотя до сих пор "выдрать" WORD из ARY_WORD у меня не получалось... Получалось ARY_WORD преобразовать в STRING, но это хрень полная...

  7. #7
    Пользователь
    Регистрация
    23.01.2013
    Адрес
    Тула
    Сообщений
    112

    По умолчанию

    Цитата Сообщение от кибернетик Посмотреть сообщение
    Привет, форумчане.
    Изучаю программирование PLC. По Modbus получаю данные(HEX) в PLC из ОВЕН МВ110-224 в виде массива Word, выглядит примерно так: 16#4401(0), 16#42E0(1). Вопрос, как вынуть из массива данные и перевести их в десятичное число с плавающей запятой? Должно получиться примерно так: 517,045 (по крайней мере так пишет конфигуратор). С массивами раньше не сталкивался, поэтому голову себе уже почти сломал... Всем ответившим большое человеческое спасибо!!!
    Вы неможете из ОВЕН МВ110-224 получить массив Word - ов. Ну конечно если очень захотеть... Или вы каким-то боком всю принятую модбасову телеграму целиком в массив суёте?
    вы вообще приколист.... а что будет если вы получите не данные(HEX), а данные (BIN) ?
    умный всегда тупит, а тупой постоянно умничает.

  8. #8

    По умолчанию

    К сожалению не получилось

  9. #9

    По умолчанию

    cer_cer, вы бы лучше посоветовали что-нибудь дельное, а ёрничать мы все умеем... Массив в PLC приходит, и приходит в том виде, как положено двумя Word-ами, как Вы выразились, точно так-же, как я вижу в конфигураторе к ОВЕНу, ничего лишнего. А в том, что в ПО к GLOFA G7 нет нормальных способов удобно преобразовать данные из массива в число - не моя же вина, правда? Был бы контроллер ОВЕН-ом, вопросов бы не было, в CoDeSys-е все просто и удобно, а Вы опробуйте в GMWIN...

  10. #10
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    По умолчанию

    Цитата Сообщение от кибернетик Посмотреть сообщение
    Спасибо, попробую. Хотя до сих пор "выдрать" WORD из ARY_WORD у меня не получалось... Получалось ARY_WORD преобразовать в STRING, но это хрень полная...
    Тут может и решение.
    Расскажите что из себя представляет этот ARY_WORD и как получалось в String преобразовать.

Страница 1 из 3 123 ПоследняяПоследняя

Похожие темы

  1. помогите новичку
    от алексей7676 в разделе ПЛК63/73
    Ответов: 1
    Последнее сообщение: 15.08.2015, 13:44
  2. Помогите новичку))))
    от Витек в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 28.02.2014, 19:40
  3. Помогите новичку
    от mixa kuban в разделе ПЛК1хх
    Ответов: 5
    Последнее сообщение: 10.05.2012, 20:32
  4. Помогите новичку
    от RAzov112 в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 18.02.2011, 09:25
  5. помогите новичку
    от al_vl_sher в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 15.03.2010, 11:46

Ваши права

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