Страница 6 из 6 ПерваяПервая ... 456
Показано с 51 по 57 из 57

Тема: Пауза таймера?

  1. #51

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    clk - это триггерная переменная, включается при запуске таймера, выключается при остановке,
    StartTime - время начала отсчёта,
    tx - время, берётся из функции TIME(); время с момента включения ПЛК
    Спасибо, разобрался

  2. #52

    По умолчанию

    Очень крутой таймер. Но я задумался и захотел таймер TOF с паузой и ресетом

  3. #53

    По умолчанию

    Цитата Сообщение от Андрей Чернов Посмотреть сообщение
    Очень крутой таймер. Но я задумался и захотел таймер TOF с паузой и ресетом
    Тут есть таймер TOF, возможно надо чуть подправить, написано для Лоджика https://owen.ru/forum/showthread.php...&page=358#3577
    В Лоджике, зачача времени РТ и выход ЕТ в целочисленном формате
    Скрытый текст:
    Код:
    function_block TOF_P 
    VAR_INPUT
           In, Paus : BOOL;
            PT : UDINT;
    END_VAR
    VAR_OUTPUT
           Q : BOOL;
           ET: UDINT;
    END_VAR
    VAR
           x,R1: BOOL;
          tx,t0: UDINT;
     END_VAR
    
       PT:=PT*1000;                 (* Задача уставки в секундах или мс *)
       tx:= TIME_TO_UDINT(TIME());
       IF  IN AND NOT x THEN  Q:=TRUE; ELSIF IN AND  x THEN  ET:=0;  END_IF
       IF NOT In AND  R1 THEN T0:=tx; x:=TRUE;  END_IF   R1:=In;
       IF Paus THEN T0:= tx - ET; END_IF
       IF  IN AND x AND ET<=PT THEN t0:= tx;  x:=FALSE; ET:= 0; END_IF
       IF x AND NOT In THEN IF PT > (tx - T0) THEN ET:= tx - t0;
           ELSE  ET:= PT;  END_IF Q:= ET<PT AND x; END_IF
    Последний раз редактировалось kondor3000; 18.12.2024 в 15:25.

  4. #54

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Тут есть таймер TOF, возможно надо чуть подправить, написано для Лоджика https://owen.ru/forum/showthread.php...&page=358#3577
    Благодарю, позже ознакомлюсь!

  5. #55

    По умолчанию

    Есть у меня циклический таймер TOF с паузой, который в ручном режиме работает прекрасно. Спасибо, kondor3000!
    Циклический таймер TOF с паузой.png

    В главной программе нужно настроить его работу по условию:
    - включение в начале 1-ой и 2-ой смен
    - отключение в конце 1-ой и 2-ой смен
    - пауза в начале обедов и перекуров
    - снятие с паузы в конце обедов и перекуров
    Условие включения, паузы и отключения таймера.png

    Условие написал, ниже делаю вызов ФБ. Для проверки установил конкретные временные промежутки.
    В итоге таймер не начинает считать, IN переходит в истину, но потом не переходит в ложь, согласно условию, не могу понять причину.

    И второй момент, правильно ли я делаю отключение (сброс) таймера обнулением PT? Пытался сделать через ЕТ, не пропускает компилятор, пишет ET выходная переменная, ей нельзя присваивать, через =>, также ругается компилятор.

  6. #56

    По умолчанию

    Цитата Сообщение от Mikhail_NNT Посмотреть сообщение
    Есть у меня циклический таймер TOF с паузой, который в ручном режиме работает прекрасно. Спасибо, kondor3000!
    Условие написал, ниже делаю вызов ФБ. Для проверки установил конкретные временные промежутки.
    В итоге таймер не начинает считать, IN переходит в истину, но потом не переходит в ложь, согласно условию, не могу понять причину.

    И второй момент, правильно ли я делаю отключение (сброс) таймера обнулением PT? Пытался сделать через ЕТ, не пропускает компилятор, пишет ET выходная переменная, ей нельзя присваивать, через =>, также ругается компилятор.
    Чтобы понять причину, надо сделать простой пример, вы думаете по вашему скрину что то понятно?
    Запуск TOF происходит при переключении переменной на входе с 1 в 0 и для сброса нужно не только РТ обнулить, но и на вход подать 1

    По поводу программы, зачем тут вообще таймеры нужны?
    Берёте текущее время TOD (DT), задаете время включения и выключения TOD и сравниваете с текущим, если попали включаете выход.
    Если надо время вкл и выкл, можно добавить хоть 10 раз и 10 раз будет включаться выход.
    Последний раз редактировалось kondor3000; 18.12.2024 в 15:11.

  7. #57

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Чтобы понять причину, надо сделать простой пример, вы думаете по вашему скрину что то понятно?
    Запуск TOF происходит при переключении переменной на входе с 1 в 0 и для сброса нужно не только РТ обнулить, но и на вход подать 1

    По поводу программы, зачем тут вообще таймеры нужны?
    Берёте текущее время TOD (DT), задаете время включения и выключения TOD и сравниваете с текущим, если попали включаете выход.
    Если надо время вкл и выкл, можно добавить хоть 10 раз и 10 раз будет включаться выход.
    kondor3000, разобрался с условиями, таймер заработал.

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

Страница 6 из 6 ПерваяПервая ... 456

Ваши права

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