Страница 76 из 76 ПерваяПервая ... 2666747576
Показано с 751 по 758 из 758

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

  1. #751

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Добрый день всем.
    А PID регуляторы на ST не пробегали? мне все равно, для ПР или для CodeSys. все равно переделывать под C#. С поиском на форуме не очень дружу
    Берешь формулу PID-регулятора и пишешь код. Там нет ничего сложного, никакой высшей математике, а только 4 арифметических действия.

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

    По умолчанию

    да видел, что вроде пробегали, а поиск по PID или ПИД ничего не хочет выдавать
    просто еще есть нюанс, выход ПИД должен управлять через больше/меньше (если потребуется)

  3. #753

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    да видел, что вроде пробегали, а поиск по PID или ПИД ничего не хочет выдавать
    просто еще есть нюанс, выход ПИД должен управлять через больше/меньше (если потребуется)
    Зачем тебе поиск, если сам собираешься код писать. Если знаешь что такое численное интегрирование и дифференцирование, то нет проблем. PID для чего тебе нужен, задвижками управлять ?
    Последний раз редактировалось IVM; 11.06.2026 в 13:45.

  4. #754

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    да видел, что вроде пробегали, а поиск по PID или ПИД ничего не хочет выдавать
    просто еще есть нюанс, выход ПИД должен управлять через больше/меньше (если потребуется)
    ПИД обычный, ПИД для задвижек и эмулятор задвижек, выложил FPavel
    https://owen.ru/forum/showthread.php...l=1#post447749
    https://owen.ru/forum/showthread.php...l=1#post430251
    Последний раз редактировалось kondor3000; 11.06.2026 в 15:39.

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

    По умолчанию

    IVM чтобы с нуля писать, надо понимать математику , я пока не в зуб ногой про работу PID внутри

    kondor3000 спасибо, пошел изучать... его то я и искал

    Еще на oscat кто-то обзывался, тоже там поищу, вроде были доки и бибки. В общем есть с чего начать...
    Последний раз редактировалось melky; 11.06.2026 в 16:58.

  6. #756

    По умолчанию

    В библиотеке Utils (Codesys 2.3) есть аналоговый ПИД. Библиотеку можно открыть в редакторе - для этого в диалоговом окне открытия изменить тип файлов с prj на lib.
    Там, правда, своеобразная реализация.
    При вычислении I и D составляющей учитывайте период пересчёта, иначе это будут необъяснимые коэффициенты.

    По поводу регулятора для задвижек больше/меньше - думаю, что в сообщении подробно объяснил алгоритм и привёл формулы. В самом ФБ тоже достаточно комментариев. Но, если возникнут вопросы - спрашивайте.
    Если на лабораторках у Б.Н. Шелешпанского довелось разбирать работу регулятора Р25 - должны помнить, что после внесения рассогласования формируется первый большой импульс (П и И составляющие), а потом только короткие импульсы (И составляющей), длительность которых равна минимальной длительности (задаваемой с лицевой панели). Это должно помочь с пониманием алгоритма.

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

    По умолчанию

    FPavel мне больше нужно это в код превратить , тестировать и давать мне по ушам, что не так запрограммировал будут другие специально обученные люди.

    Просто, чтобы программировать не абы что, немного изучить вопрос нужно. С PID раньше не сталкивался, хватало гистерезиса.

  8. #758

    По умолчанию

    В ВУЗе нам головы иссверлили этим ПИД в разных ипостасях. Уже настолько пропитался им, что даже объяснить формулы не могу.
    Как понимаю, все формулы сведутся к вычислению в конечных разностях и тогда придётся учитывать время между пересчётами, т.е. довольно точно отмерять время. В ПЛК это просто, а на C# - затрудняюсь сказать, т.к. Windows не является ОСРВ (операционной системой реального времени). Но, в принципе, должно получиться удовлетворительно.

    Аналоговый ПИД - это обычное вычисление по формуле с ограничениями выхода диапазоном от 0 до 1 (или от 0% до 100%).
    Особенностью только является использование D - нужно сильно сглаживать или весь входной сигнал переменной процесса (PV) или только ту его часть, что поступает на вычисление этой D составляющей.

    Формулу предлагаю взять с зависимыми коэффициентами, т.е. с вынесенным за скобки Kp. Это приведёт к тому, что параметр Ti станет измеряться только в единицах времени и будет осознаваем.

    Содержимое сообщения с алгоритмом ПИД для КЗР чуть более развёрнуто приводил в своём блоге - его движок позволяет записывать формулы в LaTeX и лучше показывать, чем скрины.
    https://www.cyberforum.ru/blogs/534277/8438.html

    Повторюсь, будут вопросы - задавайте. По вечерам я дома и могу ответить. Через неделю начнётся ПНР - тогда длительно буду доступен по субботам.

Страница 76 из 76 ПерваяПервая ... 2666747576

Похожие темы

  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

Ваши права

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