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

Тема: Таймеры TON TOF в ST

  1. #1

    По умолчанию Таймеры TON TOF в ST

    Подскажите, пожалуйста, Что не так делаю, почему не происходит задержка по времени?

    IF y<200 THEN
    MY_TON(IN:=Start, PT:= T#2000MS);
    MY_TOF(IN:=Start,PT:= T#2000MS);
    IF MY_TON.Q OR MY_TOF.Q THEN
    IF x<20 THEN
    x:=x+2;
    ELSE
    y:=y+20;
    x:=0;
    END_IF
    END_IF
    Start:=NOT Start;
    END_IF

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

    По умолчанию

    В эмуляции или онлайн проверьте. У Вас там куча условий. Видимо какие-то взаимоисключают следующие. Если условие не исполняется, то, что внутри не обрабатывается.
    К примеру второй иф никогда не наступит.
    Вы Start все время сбрасываете

  3. #3

    По умолчанию

    Второй иф срабатывает, и срабатывает когда нужно, в этом то как раз проблем нет)
    просто я проверяю и, мне кажется, что все должно работать и именно с задержкой, но почему т нет

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

    По умолчанию

    Я же вам написал. что после того, как условие не выполняется, то, что внутри (таймер в т.ч) внутри больше не обрабатывается.
    т.е. таймер остается в состоянии неопределенном. Или продолжает отсчет до заданного или не начинает.
    смотрите в отладке. там все видно.

    Точнее остается в состоянии последнего вызова.
    Последний раз редактировалось lara197a; 09.12.2018 в 22:14.

  5. #5

    По умолчанию

    может, я совсем не понимаю таймеры, но я не понимаю почему не срабатывает, независимо от того выполняется условие первый раз или нет таймер ни разу не срабатывает.
    Если Вас не очень затруднит, может, Вы подскажите как исправить код, чтобы сработало?

  6. #6

    По умолчанию

    Цитата Сообщение от Veronik Посмотреть сообщение
    может, я совсем не понимаю таймеры, но я не понимаю почему не срабатывает, независимо от того выполняется условие первый раз или нет таймер ни разу не срабатывает.
    Если Вас не очень затруднит, может, Вы подскажите как исправить код, чтобы сработало?
    Какую задержку вы хотите получить? Что есть такое Start:=NOT Start?; Лучше вообще таймеры за условия выносить.
    К примеру
    TON();
    If (условие старта ) then
    Ton.in:=True;
    end_if;
    If (условие стопа) then
    Ton.in:=False;
    end_if;

  7. #7

    По умолчанию

    Цитата Сообщение от Andrew_Stranger Посмотреть сообщение
    Какую задержку вы хотите получить? Что есть такое Start:=NOT Start?; Лучше вообще таймеры за условия выносить.
    К примеру
    TON();
    If (условие старта ) then
    Ton.in:=True;
    end_if;
    If (условие стопа) then
    Ton.in:=False;
    end_if;
    мне необходимо чтобы ВСЕГДА при выполнении условия вызывалась задержка, программа работает циклически
    как я это вижу
    IF y<200 THEN(*если y<200, то срабатывают таймеры TON, TOF и происходит задержка*)
    MY_TON(IN:=Start, PT:= T#2000MS);
    MY_TOF(IN:=Start,PT:= T#2000MS);
    IF MY_TON.Q OR MY_TOF.Q THEN(*если таймеры сработали выполняется *)
    IF x<20 THEN
    x:=x+2;
    ELSE
    y:=y+20;
    x:=0;
    END_IF
    END_IF
    Start:=NOT Start;(*как я понимаю чтобы в следующем цикле сработали снова таймеры необходимо false на true поменять и наоборот*)
    END_IF

  8. #8

    По умолчанию

    Если вам сложно разобраться, начните сперва с одного условия и одного таймера, зачем себя в тупик заводить. False на true надо менять по какому то условию, к примеру y>200.

Похожие темы

  1. Таймеры в OwenLogic
    от radugaster в разделе Среда программирования OWEN Logic
    Ответов: 2
    Последнее сообщение: 10.10.2016, 09:53
  2. Таймеры
    от Постнов Никита в разделе Среда программирования OWEN Logic
    Ответов: 2
    Последнее сообщение: 30.03.2016, 09:28
  3. Таймеры
    от Атаман в разделе ПЛК1хх
    Ответов: 12
    Последнее сообщение: 03.10.2015, 14:52
  4. Таймеры
    от sd_white в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 01.04.2014, 11:41

Ваши права

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