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

Тема: LREAL (double float) и ПЛК100

  1. #1

    По умолчанию LREAL (double float) и ПЛК100

    Как получить по Modbus и обработать данные с расходомера KROHNE на ПЛК 100?
    Есть расходомер KROHNE с Modbus передает данные с накопительных счетчиков в double float.
    Работал раньше с расходомером Siemens с Modbus, так он имеет альтернативу, хочешь забирай данные в double float, а хочешь в float.
    Что касается ПЛК100, планирую забирать данные с помощу string input, там есть возможность выставить функцию 03 и запросить количество байт, в моем случае 8. Потом со стринг сбросить данные по указателю в LREAL. Но тут загвоздка, ПЛК100 не хочет работать с этим типом данных, ну и с функцией преобразования LREAL_TO_REAL.

  2. #2

    По умолчанию

    Что значит не хочет работать?

  3. #3

    По умолчанию

    При компилировании выдает сообщения о не поддержке LReal и ф-ии LREAL_TO_REAL. прошивка последняя официальная v.2.12.7 таргет 2.10. Может в настрйках где-нибудь галочку надо поставить
    Последний раз редактировалось vitiali; 31.03.2011 в 23:02.

  4. #4

    По умолчанию

    Уточняю, при компиляции пишет Ошибка (3610) Lreal не поддерживается
    И в перечне при выборе типа переменной нет LREAL. При ручном вводе XXX:LREAL; Синтаксис воспренимается нормально.
    Последний раз редактировалось vitiali; 01.04.2011 в 22:12.

  5. #5

    По умолчанию

    CoDeSys_v23922 . Скачивал с сайта Овен. Настройки не менял.
    Если можете, вставте в свой проект LREAL и посмотрите, что напишет.
    Последний раз редактировалось vitiali; 01.04.2011 в 22:08.

  6. #6

    По умолчанию

    Я попробую. Правда немного непонял фрразу из документации ' V Treat LREAL as REAL: заставляет компилятор использовать тип REAL для LREAL объявлений'. Т.Е. заставляет компилятор использовать 32-х битный тип с плавющей запятой для 64-х битных обявленний с плавающей запятой.
    Какой в ней заложен смысл?
    Сколько под этот LREAL при установке галочки выделится памяти, 4байта или 8?
    Последний раз редактировалось vitiali; 01.04.2011 в 23:53.

  7. #7

    По умолчанию

    IFC 300. У него на счетчиках Counter 1, Counter 2 и Counter 3 только double. Это расходомер и объем подсчитаного может быть огромный, да и сумироватся не за один месяц. И добавте точность 0.25%. Для моих задач достаточно и float, но его там нет.

    При переписке с KROHNE, решал вопрос по докуметации и спросил, за одно, почему нет float. Ответили, а какие проблемы могут быть при работе с double на контроллере. Правда какой конторллер им не писал.
    Последний раз редактировалось vitiali; 02.04.2011 в 10:42.

  8. #8

  9. #9

    По умолчанию

    Не пробовал. Субота. Все на работе. Но чуствую будут проблемы во-первых с галочкой о которой Вы писали. Во-вторых c перестановкой слов, а затем и пар слов местами чтобы получить значение светящееся на индекаторе IFC300.

    Спасибо что помогаете, но хотелось в дополнение, услышать кого-то из овен по поводу работы с LREAL
    Последний раз редактировалось vitiali; 02.04.2011 в 12:03.

  10. #10

    По умолчанию

    Возьму сначала из расходомера какой нибудь флоат, стрингом. Посмотрю порядок передачи, благо флоат поддерживается. Затем буду переставлять два двойных слова если LREAL поддерживается.
    Последний раз редактировалось vitiali; 03.04.2011 в 17:24.

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

Ваши права

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