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

Тема: разные вопросы новичка

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Надо использовать самописные таймеры и получить ET (отсчёт таймера). Тут первые 2 ссылки на TON и TOF, есть с паузой и без.
    В примерах программ есть ещё много всего, есть и таймер TP.
    https://owen.ru/forum/showthread.php...=9&p=429061#81
    Последний раз редактировалось kondor3000; 29.08.2025 в 13:06.

  2. #2

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Надо использовать самописные таймеры и получить ET (отсчёт таймера). Тут первые 2 ссылки на TON и TOF, есть с паузой и без.
    В примерах программ есть ещё много всего, есть и таймер TP.
    https://owen.ru/forum/showthread.php...=9&p=429061#81
    О да, это то что нужно, спасибо! Теперь ни надо ничего самому городить

  3. #3

    По умолчанию

    И все же городить пришлось, там нет ФБ TP (Импульс включения заданной длительности), там по ссылкам нет такого на ST, а я пока на ST не силен, поэтому он у меня получился аляповатым, т.е. по факту считает в 2 раза медленнее, хотя я почти уверен, если считать не миллисекундах а в секундах, то будет норм, в общем вот:
    2025-08-29_144838.png
    Ну и собсно сама программа, если кому такое барахло нужно:
    https://owen.ru/forum/attachment.php...1&d=1756469102

    Если кто напишет на ST, что нить похожее будет полезно...

  4. #4
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    2,036

    По умолчанию

    Цитата Сообщение от Traveller Посмотреть сообщение
    Если кто напишет на ST, что нить похожее будет полезно...
    Не претендую на оптимальность
    Код:
    function_block fbTP
        
        var_input
            IN : bool;
            PT : udint;
            RST : bool;
        end_var
        
        var_output 
            Q : bool;
            ET : udint;
        end_var
        
        var 
            st, tm : udint;
            fl : bool;
        end_var
        
        tm := time_to_udint(get_time());
        if RST then
             Q := false;
        elsif IN and not fl then
            Q := true;
            st := tm;
        end_if
        if Q then 
            ET := tm - st;
            if ET >= PT then Q := false; end_if
        else 
            ET := PT;
        end_if;
        
        fl := Q or IN;
        
    end_function_block

  5. #5

    По умолчанию

    Цитата Сообщение от Traveller Посмотреть сообщение
    И все же городить пришлось, там нет ФБ TP (Импульс включения заданной длительности), там по ссылкам нет такого на ST, а я пока на ST не силен, поэтому он у меня получился аляповатым, т.е. по факту считает в 2 раза медленнее, хотя я почти уверен, если считать не миллисекундах а в секундах, то будет норм, в общем вот
    Ну и собсно сама программа, если кому такое барахло нужно:
    Если кто напишет на ST, что нить похожее будет полезно...
    Ниже код TP с паузой, умножение на 1000 на входе РТ -задача в секундах (можно убрать),
    разделить на 1000 на выходе ЕТ, не будет миллисекунд (можно добавить).
    Скрытый текст:
    Код:
    function_block TP_P //имя функционального блока
        var_input //объявление входных переменных
           In : bool; // вход таймера
           Pauz : bool; // пауза таймера
           PT : udint; //входная переменная для задачи времени
        end_var
        var_output //объявление выходных переменных
           Q : bool; // выход таймера
           ET: udint;   // время таймера
        end_var
        var
           x: BOOL;
          tx,t0: UDINT;
        end_var
    
       PT:=PT*1000; //  задача в секундах
       tx:= time_to_udint(GET_TIME());
       IF Pauz THEN T0:= tx - ET; END_IF
       IF IN AND NOT x THEN t0:= tx; x:= TRUE; Q:= true; 
        elsif NOT IN AND  x and ET=PT THEN ET:= PT; x:=false; Q:=false;  END_IF
       IF x AND  Q THEN IF PT > (tx - T0) THEN ET:= tx - t0; 
          ELSE  ET:= PT;  END_IF Q:= ET < PT AND x; END_IF 
              
    end_function_block
    Вложения Вложения
    Последний раз редактировалось kondor3000; 21.11.2025 в 22:21.

Похожие темы

  1. ПЛК 110 - Вопросы новичка?
    от di-s в разделе ПЛК1хх
    Ответов: 21
    Последнее сообщение: 15.04.2025, 16:38
  2. Вопросы новичка!!!
    от sau в разделе ПЛК1хх
    Ответов: 42
    Последнее сообщение: 02.05.2022, 19:57
  3. Вопросы новичка по MasterScada
    от MrNobody в разделе Master SCADA 3
    Ответов: 4
    Последнее сообщение: 04.09.2014, 14:39
  4. Вопросы полного новичка
    от Korion в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 09.02.2010, 10:08
  5. Вопросы новичка по ПЛК
    от Ollegator в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 07.07.2009, 09:29

Ваши права

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