Показано с 1 по 10 из 42

Тема: Свой таймер

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

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

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Накопление погрешности относится к способу подсчета времени наработки в посте #8
    перечитаем строчку из поста№8 and Wrk_drv1(*Признак работы механизма*) команда на выключение дана, лишняя секунда не досчитается, так что мы не накапливаем а уменьшаем время
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

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

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    перечитаем строчку из поста№8 and Wrk_drv1(*Признак работы механизма*) команда на выключение дана, лишняя секунда не досчитается, так что мы не накапливаем а уменьшаем время
    Накапливаем от 0 до времени цикла при каждом срабатывании секундного таймера здесь
    IF Tmr_TON_1S.Q THEN
    Wrk_sec_drv1:=Wrk_sec_drv1+1;

    and Wrk_drv1(*Признак работы механизма*)
    погрешность при времени цикла 5мс даст погрешность подсчета времени до 18 сек/на один час работы механизма или 432 сек/день.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

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

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    перечитаем строчку из поста№8 and Wrk_drv1(*Признак работы механизма*) команда на выключение дана, лишняя секунда не досчитается, так что мы не накапливаем а уменьшаем время
    Цитата Сообщение от petera Посмотреть сообщение
    Накапливаем от 0 до времени цикла при каждом срабатывании секундного таймера здесь
    IF Tmr_TON_1S.Q THEN
    Wrk_sec_drv1:=Wrk_sec_drv1+1;

    and Wrk_drv1(*Признак работы механизма*)
    погрешность при времени цикла 5мс даст погрешность подсчета времени до 18 сек/на один час работы механизма или 432 сек/день.
    Немного изменим программу из поста #8
    Код:
    tim:=TIME();
    (*Подсчет с использованием секундного таймера*)
    Tmr_TON_1S(In:=(NOT Tmr_TON_1S.Q)AND Wrk_drv1 (*Признак работы механизма*),Pt:=t#1s);
    IF Tmr_TON_1S.Q THEN
    Wrk_sec_drv1:=Wrk_sec_drv1+1;
    IF Wrk_sec_drv1>=60 THEN
    Wrk_min_drv1:=Wrk_min_drv1+1;
    Wrk_sec_drv1:=0;
    END_IF
    END_IF
    (*Подсчет действительного времени наработки*)
    IF NOT Wrk_drv1 THEN
    t_Start:=tim;
    ELSE
    Wrk_tim:=tim-t_Start;
    END_IF
    В первой части подсчитываем секундные импульсы
    Во второй измеряем интервал времени с помощью TIME()
    В эмуляторе быстро видно нарастание погрешности, т.к. время цикла десятки мс.

    Хорошо видно, что старт таймера(.StartTime) происходит не ровно через 1с, а с добавленной погрешностью
    Ну и итог тоже видно погрешность больше 3 сек при времени работы механизма ~30 сек.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

Похожие темы

  1. Как оценить свой труд?
    от a_gricaj в разделе Master SCADA 3
    Ответов: 30
    Последнее сообщение: 12.07.2015, 13:20
  2. Ответов: 2
    Последнее сообщение: 18.03.2015, 16:04
  3. Таймер
    от Deoxes в разделе СПК1xx (архив)
    Ответов: 8
    Последнее сообщение: 16.07.2014, 11:19
  4. Таймер(ы)
    от AntoNechayuk в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 23.08.2011, 19:39

Ваши права

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