Показано с 1 по 4 из 4

Тема: Как определять время цикла программы?

  1. #1

    По умолчанию Как определять время цикла программы?

    Существует ли способ в текущем цикле программы с определённой точностью иметь значение длительности предыдущего цикла?

  2. #2
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    Подключи модуль "Статистик" в "Конфигурации ПЛК".

  3. #3

    По умолчанию

    Считывать в начале каждого цикла текущее время и брать разницу между текущим и предыдущим значением. Для доступа использовать библиотеку "SYSLIBTIME.LIB"

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

    По умолчанию

    Цитата Сообщение от Zulu Посмотреть сообщение
    Существует ли способ в текущем цикле программы с определённой точностью иметь значение длительности предыдущего цикла?
    VAR
    CLOCK:TON;
    TMDIFF: DWORD;
    END_VAR

    программа:
    в TMDIFF - увидишь время цикла POU в мсек.

    CLOCK; (* Timer abfragen *)
    TMDIFF:=TIME_TO_DWORD(CLOCK.ET);(* Zeitdifferenz seit letztem Aufruf *)

    IF TMDIFF>0 THEN
    CLOCK(IN:=FALSE); (* Timer neu starten *)
    CLOCK(PT:=t#1h, IN:=TRUE);
    ELSE
    CLOCK(PT:=t#1h,IN:=TRUE);
    END_IF;

Ваши права

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