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

Тема: Создать функцию на ST

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

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

    По умолчанию

    Цитата Сообщение от zsm7 Посмотреть сообщение
    Здравствуйте. Нужен фильтр скользящее средним окном Экспоненциальное (EMA). Входные данные 1 раз в секунду. ИИ выдал код, может нужно что-то поправить??
    Не фильтрует он и среднее не считает, выдаёт каждую сек разные числа.
    Вот скользящее среднее
    Скрытый текст:
    Код:
    FUNCTION_BLOCK EMA   (* Фильтр экспоненциальное скользящее среднее   *)
        VAR_INPUT
            input : REAL; (* // Вход  *)
        END_VAR
        VAR_OUTPUT
            output : REAL;  (* // Выход  *)
        END_VAR
        VAR
            reset : BOOL;   (*   // Сброс фильтра   *)
            EMAt : REAL;
            first_run : BOOL := TRUE;
            coeff : REAL:=0.001;   (* // Коэффициент от 1(MIN) до 0(MAX)    *)
        END_VAR
    
    IF reset  OR first_run  THEN
            EMAt := input;
            first_run := FALSE;
            ELSE
                EMAt := coeff * input +(1 - coeff)*EMAt;
     END_IF
    output := EMAt ; 
    
    end_function_block
    Последний раз редактировалось kondor3000; 29.05.2026 в 10:17.

Похожие темы

  1. Ответов: 14
    Последнее сообщение: 01.07.2023, 21:30
  2. Ответов: 6
    Последнее сообщение: 22.12.2021, 10:50
  3. Ответов: 3
    Последнее сообщение: 13.09.2021, 13:31
  4. ПЛК160. Чем заменить функцию записи 0x05?
    от FallenDAY в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 26.08.2017, 13:19
  5. Как написать собственную функцию wait()
    от PavelKazakov в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 23.07.2009, 11:37

Метки этой темы

Ваши права

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