Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: скорость преобразования real_to_string

  1. #1
    Пользователь
    Регистрация
    21.03.2011
    Адрес
    Киров
    Сообщений
    176

    По умолчанию скорость преобразования real_to_string

    Доброе время суток. Недавно столкнулся с такой проблемой как большое время цикла. И вроде программа то небольшая. Методом исключения выяснил что очень большое время занимали преобразования real_to_string. Создал новый проект (CFC), в нем только одно преобразование real_to_string, в итоге цикл 1ms, в модуле статистики перегрузка. ПЛК 110-32. Если изменить real_to_string на real_to_int, то цикл 0.3ms. Действительно ли скорость преобразования real_to_string низкая?

  2. #2
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    Отличная находка! Проверил у себя на ПЛК160 — сотня-другая вызовов REAL_TO_STRING это надёжный способ завести контроллер в ступор и заставить его перезагрузиться. Каждый вызов занимет примерно 1 мс.

  3. #3
    Пользователь
    Регистрация
    21.03.2011
    Адрес
    Киров
    Сообщений
    176

    По умолчанию

    спасибо за ответ))) отрицательный результат - тоже результат, однако хотелось бы скорости побольше. Неужели все мирятся с этим, или просто ни у кого не было надобности в этом? Мне необходимо 5 реалов сохранять в файл, придется наверное как то обойтись без преобразования в string.

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

    По умолчанию

    по рукам бы вам монтировкой, а просто реал в файл не пишется?

  5. #5

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    по рукам бы вам монтировкой, а просто реал в файл не пишется?
    подскажи как его записать и вытащить?

    зап:
    dwHandle := SysFileOpen('Pr_XX.t','w');
    SysFileWrite(dwHandle,ADR(Pr_XX),SIZEOF(Pr_XX));
    SysFileClose(dwHandle);

    tmp:=REAL_TO_WORD((cc+10)*10);
    dwHandle := SysFileOpen('cc.t','w');
    SysFileWrite(dwHandle,ADR(tmp),SIZEOF(tmp));
    SysFileClose(dwHandle);

    Чтение:
    dwHandle := SysFileOpen('Pr_XX.t','r');
    SysFileRead(dwHandle,ADR(Pr_XXf),SIZEOF(Pr_XXf)-1);
    SysFileClose(dwHandle);

    dwHandle := SysFileOpen('cc.t','r');
    SysFileRead(dwHandle,ADR(tmp),SIZEOF(tmp)-1);
    SysFileClose(dwHandle);
    ccf:=WORD_TO_REAL(tmp);
    ccf:=ROUND((ccf / 10 - 10),1);

    Все это работает, но ЧУЮ что как то через Ж*ПУ.
    подскажите?
    Последний раз редактировалось nalnik; 20.02.2012 в 19:56.

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

    По умолчанию

    а кто сказал, что я имел ввиду запись в ПЛК? вот ссылка, техподдержка особо то не рекомендует этим заниматься http://www.owen.ru/forum/showthread.php?t=9737. Я бы предложил архивы вести на ПК через протокол модбас

  7. #7

    По умолчанию

    Запись у меня проходит редко 1 раз в месяц а может и в год.
    Просто настохринело менять аккумуляторы.

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

    По умолчанию

    ну по моему так в самый раз это дать сделать с помощью ПК, чем потом с ПЛК все равно придется вытаскивать

  9. #9

    По умолчанию

    У меня 8-12 плк150 и сенсорная панель (так 8 раз с тремя типами панелей), с панели поменяли уставку в одном из плк, плк видит что значение изменилось и делает запись.
    Последний раз редактировалось nalnik; 20.02.2012 в 20:27.

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

    По умолчанию

    и ПЛК вместо записи в файл, ложит переменную в модбас слейв, который кстати тоже ретайн, а ПК раз в сутки или с другой периодичностью собирает инфу со слейвов и ведет хоть общий архив хоть по отдельности, помне так всё должно удовлетворить Ваши ожидания

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

Похожие темы

  1. преобразования
    от Василий Куц в разделе ПЛК1хх
    Ответов: 21
    Последнее сообщение: 16.08.2019, 20:47
  2. ПЛК73. REAL_TO_STRING - крякозябры.
    от petera в разделе ПЛК63/73
    Ответов: 8
    Последнее сообщение: 09.02.2018, 00:03
  3. Ответов: 20
    Последнее сообщение: 03.05.2015, 16:01
  4. скорость работы плк
    от Давидюк в разделе ПЛК1хх
    Ответов: 5
    Последнее сообщение: 18.08.2010, 11:06
  5. проблема с функцией Real_to_string
    от mettled в разделе ПЛК1хх
    Ответов: 0
    Последнее сообщение: 25.04.2008, 17:23

Ваши права

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