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

Тема: Функциональные блоки на языке ST

Древовидный режим

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

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    У меня вроде попроще вышло, Таймер TON с паузой, 1 Таймер с паузой.jpg PT можно перевести в секунды или ms
    Скрытый текст:
    Код:
    function_block TOnP // Таймер TON   с паузой
        var_input 
           In,P : bool;      
           PT : udint; // Задача времени таймера  udint
        end_var
        var_output 
           Q : bool; //
           ET: udint;  // Выход  времени таймера  udint
        end_var
        var 
           x : bool; 
           T3,T0,Tp :udint;
        end_var  
              
          PT:=(PT*1000);   // PT можно перевести в секунды или  ms  
          T3:=time_to_udint(get_time());      
          if In  and not x then T0:=T3; Q:=false; x:=true; end_if
          if In and P and  ET<=PT then Tp:=T3-T0-ET; end_if 
          if In and not P and  ET<=PT then ET:=T3-T0-Tp; end_if      
          if In  and  ET>=PT then ET:=PT; Q:=true;  end_if 
          if not In  then ET:=0;T0:=0;Tp:=0; x:=false; Q:=false; end_if       
    end_function_block
    Ну так я тоже могу "упростить"
    Код:
    tx:= time_to_udint(GET_TIME());
    IF P THEN StartTime:= tx - ET; END_IF
    IF IN AND NOT clk THEN StartTime:= tx; clk:= TRUE;
    ELSIF NOT IN THEN clk:= FALSE; Q:= FALSE; ET:= 0; END_IF
    IF clk AND NOT Q THEN IF PT > (tx - StartTime) THEN ET:= tx - StartTime; ELSE  ET:= PT; END_IF Q:= ET = PT AND IN; END_IF
    По числу строк кода мой ещё проще...
    Последний раз редактировалось petera; 23.02.2024 в 11:05.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

Похожие темы

  1. ПЛК73 (Функциональные кнопки)
    от necro в разделе ПЛК63/73
    Ответов: 8
    Последнее сообщение: 18.05.2022, 10:03
  2. Функциональные блоки
    от ribamuka в разделе СПК2xx (архив)
    Ответов: 4
    Последнее сообщение: 08.04.2018, 15:01
  3. Функциональные блоки насосов в CoDeSys
    от Алексей Ермолаев в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 28.03.2017, 13:50
  4. Функциональные блоки- где искать?
    от Xops в разделе ПЛК1хх
    Ответов: 16
    Последнее сообщение: 01.03.2016, 11:07
  5. СПК функциональные клавиши
    от Lyohin в разделе Трёп (Курилка)
    Ответов: 0
    Последнее сообщение: 30.03.2015, 15:10

Ваши права

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