Страница 5 из 6 ПерваяПервая ... 3456 ПоследняяПоследняя
Показано с 41 по 50 из 57

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

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

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

    По умолчанию

    Цитата Сообщение от werqas Посмотреть сообщение
    Нужен блок, который начинает работу при подачи 1 на вход, начинает отсчет времени и подает все это время 1 на выход. После истечения заданного времени на выход подается 0 . Но нужно реализовать паузу. То есть когда подается 1 на вход "пауза" время останавливается и запоминается, на выход - 0. Когда снимем 1 с паузы, время должно продолжиться
    Все это можно сделать, используя мой таймер https://owen.ru/forum/showthread.php...l=1#post318409

    Захват-01.png

    Скрытый текст:
    Последний раз редактировалось petera; 25.11.2021 в 13:40.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  2. #2

    По умолчанию

    Подниму тему, у кого нибудь остался файл таймера TON с паузой на языке CFC?

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

    По умолчанию

    Lordorakus Вам кто-то мешает взять код на ST и создать FBD блок и использовать его в CFC ?

  4. #4

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Lordorakus Вам кто-то мешает взять код на ST и создать FBD блок и использовать его в CFC ?
    Чутка поспешил комментарий написать, не проанализировав код выше
    Уже сделал данный таймер по примеру, спасибо petera

  5. #5

    По умолчанию

    Цитата Сообщение от werqas Посмотреть сообщение
    Нужен блок, который начинает работу при подачи 1 на вход, начинает отсчет времени и подает все это время 1 на выход. После истечения заданного времени на выход подается 0 . Но нужно реализовать паузу. То есть когда подается 1 на вход "пауза" время останавливается и запоминается, на выход - 0. Когда снимем 1 с паузы, время должно продолжиться
    petera если не против, просто немного изменил ваш код
    Скрытый текст:
    Код:
    FUNCTION_BLOCK TP_
    VAR_INPUT
    	IN: BOOL;
    	Pause: BOOL;
    	PT: TIME;
    END_VAR
    VAR_OUTPUT
    	Q: BOOL;
    	ET: TIME;
    END_VAR
    VAR
    	clk: BOOL;
    	StartTime: TIME;
    	tx: TIME;
    END_VAR
    ______________________________________________________
    tx:= TIME();
    IF Pause THEN
    	StartTime:= tx - ET;
    END_IF
    IF IN AND NOT clk AND NOT Pause THEN
    	StartTime:= tx;
    	clk:= TRUE;
           ET:=T#0ms;
    ELSIF NOT IN AND   ET=PT  THEN
    	clk:= FALSE;
    END_IF
    IF clk AND ET<PT  THEN
         ET:= MIN(PT, tx - StartTime);
       Q:=ET<PT AND IN  AND NOT Pause;
    END_IF
    Последний раз редактировалось kondor3000; 18.12.2024 в 15:26.

  6. #6

    По умолчанию

    Чё-то примеры не скачиваются. Видимо, удалили уже, тема старая. Жаль...

  7. #7

    По умолчанию

    Цитата Сообщение от ks-app Посмотреть сообщение
    Чё-то примеры не скачиваются. Видимо, удалили уже, тема старая. Жаль...
    Зачем скачивать примеры, если выше выложены коды ФБ (функц. блока) таймера, скопируйте и пользуйтесь)1 Таймеры.jpg
    Последний раз редактировалось kondor3000; 23.10.2022 в 10:49.

  8. #8

    По умолчанию

    Кто-нибудь может подсказать, за что отвечают переменные clk, StartTime, tx? Не могу понять как работает таймер.

  9. #9

    По умолчанию

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

  10. #10

    По умолчанию

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

Страница 5 из 6 ПерваяПервая ... 3456 ПоследняяПоследняя

Ваши права

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