Страница 65 из 65 ПерваяПервая ... 1555636465
Показано с 641 по 648 из 648

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

  1. #641

    По умолчанию

    Цитата Сообщение от 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.

  2. #642
    Пользователь
    Регистрация
    19.01.2015
    Адрес
    Новосибирск
    Сообщений
    56

    По умолчанию

    А как его сделать, что-бы он данные обрабатывал раз в секунду?

  3. #643

    По умолчанию

    Цитата Сообщение от zsm7 Посмотреть сообщение
    А как его сделать, что-бы он данные обрабатывал раз в секунду?
    Он должен данные постоянно обрабатывать, раз в секунду получается нет обработки и скачет, что и получилось у ИИ.
    Берите мой код и пробуйте.

  4. #644
    Пользователь
    Регистрация
    19.01.2015
    Адрес
    Новосибирск
    Сообщений
    56

    По умолчанию

    Так данные у меня с сети раз в секунду читаются. А фильтр каждый цикл делает расчет.

  5. #645

    По умолчанию

    Цитата Сообщение от zsm7 Посмотреть сообщение
    Так данные у меня с сети раз в секунду читаются. А фильтр каждый цикл делает расчет.
    Тогда запоминайте раз 5 -10 в массив и считайте среднее.

  6. #646
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,167

    По умолчанию

    Цитата Сообщение от zsm7 Посмотреть сообщение
    Здравствуйте. Нужен фильтр скользящее средним окном Экспоненциальное (EMA). Входные данные 1 раз в секунду. ИИ выдал код, может нужно что-то поправить??
    Не. Всё норм.


    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Не фильтрует он и среднее не считает, выдаёт каждую сек разные числа.
    С чего бы?

  7. #647

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    С чего бы?
    Проверил на живом ПЛК и модуле, он каждую секунду выдаёт разные значения, так как на входе значения прыгают, фильтр просто повторяет значения входа.
    Нет фильтрации и среднего.
    Последний раз редактировалось kondor3000; 29.05.2026 в 14:09.

  8. #648
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,167

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Проверил на живом ПЛК и модуле, он каждую секунду выдаёт разные значения, так как на входе значения прыгают, фильтр просто повторяет значения входа.
    Нет фильтрации и среднего.
    Нормальная там фильтрация. Что было понятно нужны наложенные графики входа/выхода
    А повторяет если Per = 1. Из формулы же видно. Ставьте например 5.
    У вас абсолютно такая же формула.

Страница 65 из 65 ПерваяПервая ... 1555636465

Похожие темы

  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

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

Ваши права

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