|
5 / 4 / 3
Регистрация: 22.11.2022
Сообщений: 146
|
||||||
PID регулятор инертной системы14.01.2026, 14:46. Показов 2424. Ответов 13
Здравствуйте.
ПЛК OWEN 160[02], CodeSys 2.3, ST Задача осуществить автоматическое смешивание для приготовления цементного раствора. Два дозатора, водяной и цементный, управляются пропорциональными клапанами фирмы Parker, управления 0..5 Вольта. Вызов программы 100 мсек Я сам написал ПИД (изобретаю велосипед), для управления этими дозаторами. Вода идет со скоростью 400 гал/мин, задача ПИД регулировать поток. ПИД выходит на уставку без проблем и держит любой заданный поток воды. Я решил, сделать по аналогии управления цементным дозатором. Но тут есть: Проблема № 1: время пока перемешается цемент и плотность увидит плотномер, занимает около 5 сек. То есть при уставке 12.5 ppg, реальной плотности 8.3 ppg(вода) интегратор накапливает такую ошибку, что просто прижимает дозатор к максимуму, из за чего происходит пересып цементом. Я сделал по другому, замораживаю интегратор пока не увижу реакцию системы и тут получаю проблему № 2 Проблема № 2: Я не нашел ответ как вообще осуществляется ПИД регулирования на инертных системах, наверно есть же что то похожее на ПИД регулировании температуры? Коллеги, не откажите, помогите советом от чего правильно оттолкнуться? На что обратить внимание, что я упускаю из вида?
0
|
||||||
| 14.01.2026, 14:46 | |
|
Ответы с готовыми решениями:
13
S7-300 Std PID Con LP_SCHED Не работает функциональный блок PID из стандартной библиотеки Util.lib
|
|
|
|
| 14.01.2026, 15:13 | |
|
Bodden, инертные системы, как правило, регулируются ПИ-регуляторами, т.е. без "Д" (дифф. составляющей).
Если же все-таки ПИД, то выкручивают коэффициенты так, чтобы Дифф-компонента работала только в самом начале процесса и со временем действия, кратным времени действия первичных переходных процессов. Поясню на примере регулятора температуры: Текущая t = 20 гр. Точка уставки = 100 гр. Включаем ПИД-регулятор. Регулятор видит, что разница большая и Дифф-компонента включает нагреватель на полную мощность. В вашем случае - это насып цемента, как я понимаю. При приближении к точке уставки и пропорционально скорости этого приближения - действие Дифф-компоненты уменьшается, а в некоторой зоне, определенной K/D коэффициентами и вовсе Дифф-составляющая выключается. Таким образом, осуществляется наиболее быстрый "подход" к заданной точке. Очевидно, что не во всех системах такое нужно, и в вашей в том числе. Поэтому, дифф-составляющую можно (нужно) исключить из процесса регулирования. А воздействовать на регулятор пропорционально-импульсно до некоторого порога (гистерезиса). Добавлено через 4 минуты В вашем случае, работа исполнительного механизма (Y) основывается на показаниях плотности плотномера. Поэтому следующее воздействие на регулирующий орган должно произойти импульсно и только после определения текущего замера. Это означает, что ИМ (Y) не должен работать, пока не придет новое значение плотности.
1
|
|
|
267 / 199 / 30
Регистрация: 26.11.2022
Сообщений: 866
|
||
| 14.01.2026, 17:59 | ||
Чего там пид вообще делает.
0
|
||
|
5 / 4 / 3
Регистрация: 22.11.2022
Сообщений: 146
|
|||
| 14.01.2026, 19:34 [ТС] | |||
|
Добавлено через 1 минуту
0
|
|||
|
Модератор
|
|
| 14.01.2026, 21:07 | |
|
Я бы попробовал варианты:
1 если параметры процесса (подача цемента и воды) - т.е. положения клапанов почти стабильны и сейчас и через год, то на этих значениях (вводимых с панели) и запускал бы процесс смешения, а через 5 секунд включал бы автоматическое регулирование По такому принципу включал дымосос и вентилятор котла, давал им по очереди разогнаться частотниками до заданных частот, пооткрывать шиберы, а потом только включал ПИД, который уже устранял небольшое рассогласование. Это было много лучше пусков сразу на автоматике. 2 для инерционных процессов выполнял пересчёт ПИД не через 100 мс, а через 1-5 с. Для поддержания уровня воды в паровом котле делал период пересчёта даже 15 с - лишь тогда можно было задействовать Тд, да и реакция на предыдущее воздействие становилась видна. Время пересчёта вводил с панели. По такому принципу работал ТРМ12 прежней версии (с новой работать не довелось).
3
|
|
|
|
||
| 15.01.2026, 21:21 | ||
|
Хороший ответ от ФедосеевПавел, в частности, пример с котлами.
На некоторых котлах, даже, можно как раз понять значение допустимости применения "Д" компоненты, например, в форсунках воздушного типа смешения. Воздушный поток для пламени в таких форсунках регулируется заслонкой, которая, в свою очередь управляется от некоего мотора с постоянной угловой скоростью перемещения исполнительного органа. В таких случаях становится ясно, что дифф-компонента в этом случае не играет никакой роли, т.к. не может усилить/ослабить скорость поворота заслонки. Здесь главным управляющим фактором становится именно Ti, т.е. интегральная составляющая - которая, на основании температуры, принимает решение о времени воздействия на заслонку - на сколько ее надо повернуть в текущий момент (продолжительность воздействия на Y). Знаю и по собственному опыту и по многочисленным статьям/ресурсам - во многих системах автоматического регулирования Дифф-составляющая не то что не помогает, а даже вредит общему процессу регулирования. Поэтому, нужно четко осознавать модель реального объекта регулирования, чтобы принять наиболее верное решение - каким регулятором управлять. Добавлено через 3 часа 17 минут Bodden, могу предложить вам следующее: 1. 2. На основании п.1 вы можете легко написать собственную функцию для одновременного регулирования обоих клапанов. Вам не нужны "стандартные" ПИД-регуляторы, имеющиеся в софте разработки. 3. Смешивание компонентов (примесей) для получения итогового состава, как правило, всегда основано на некоторых заранее известных пропорциях. Т.е. изначально ясно, сколько чего добавить, чтобы получилась смесь с нужными характеристиками (1:2, 1:3... и т.п.). Стало быть, в некоторый начальный период времени запуска установки, клапана Y1 (цемент) и Y2 (вода) открываются пропорционально текущей марке цемента и их соотношений для смешивания. Примем, что цемент бывает разных марок, а вода - типа всегда одна и та же. Хотя вряд ли это так на практике: в воде могут быть разного рода примеси, разный уровень кислотности (pH), разная жесткость и все такое, т.е. вода как-бы не всегда "одинаковая". Но для облегчения понимания допустим, что вода всегда одна и та же. Таким образом, где-то в настройках панели (HMI) либо какого-то ПК или еще чего - есть некоторые базовые коэффициенты смешивания частей для данной марки цемента. И именно они сперва начинают работать при пуске этой "бетономешалки". 4. Предположим, что для условно непрерывного процесса регулирования (почему условного - скажу позже) в начальный момент мы открыли клапана Y1 и Y2 (каждый в разной степени) для запуска процесса смешивания. Где-то на выходе "смесителя" плотномер дискретно измеряет текущую плотность полученного раствора. На основании замеров, регулятор должен что-то делать... И тут есть несколько вариантов, в зависимости от дисбаланса текущей плотности и ее уставки: а) прикрыть цемент; б) прикрыть воду; в) прикрыть цемент и приоткрыть воду; г) прикрыть воду и приоткрыть цемент. 5. Следствия п.4: 5.1 - варианты работы клапанов 4.В и 4.Г наиболее быстродействующие, чем варианты 4.А и 4.Б. 5.2 - в промежутках между замерами плотности - течение процесса становится фактически не управляемым (не контролируемым). С каждым следующим измерением плотномера воздействие на клапана являются лишь корректирующими, оценка степени влияния которых откладывается "на будущее" (след. замер от плотномера). 5.3 - из п.5.2 следует, что принцип регулирования является условно-непрерывным, т.к. вел-на воздействия на механизм определяется с дискретностью отсчета времени измерений плотномера (5 сек). 6. Влияние D-составляющей (дифф-компонента): В п.5 мы выяснили, что в связи с довольно большой дискретностью ответа системы (замеров плотномера, опоздание) процесс регулирования является условно-непрерывным, т.е. без мгновенного определения точки состояния установки. Включение дифф-составляющей в общую формулу регулятора внесет еще больший хаос в результат, способствуя тем самым значительным колебаниям (перерегулированию). Более того, наличие Дифф-компоненты предполагает, что заранее должны быть примерно известны пропускные способности клапанов цемента и воды, в зависимости от степени их открытия за определенное время. Это значительно усложняет формулу регулятора и, естественно, способы настройки системы в целом. 7. Если интересно, продолжение следует... Даже формулу регулятора можно вывести. Извиняюсь, отвлекают другие дела. Всех с Новым Годом и прошедшими праздниками!
2
|
||
|
5 / 4 / 3
Регистрация: 22.11.2022
Сообщений: 146
|
||
| 15.01.2026, 22:17 [ТС] | ||
|
Эти значения ПЛК принимает, но по факту на данный момент обрабатывается 4 (Минимальное и максимальное открытие цем и вод дозатора). Объясню почему, железо разное и момент старта разный, я пока не придумал как это использовать масштабируемо . Поясню чуть ниже в описании проблем с которыми столкнулся. Сам процесс выглядит следующим образом. Оператор забивает рецепты требуемые для работы С этого рецепта рассчитывается требуемый поток воды и начинается добавляться цемент, для выхода на нужную плотность. При смене рецепта, поток пересчитывается. Во время работы уставки плотности и расхода меняются При смене расхода, также происходит пересчет воды. Проблемы с которыми я столкнулся: 1. Транспортная задержка - но более менее, провел замеры. Реакция на воздействия примерно 5 сек 2. Инертность. Тут все печально. Зависит от многих факторов, как промешивается цемент, как он подается, ну и конечно химия, без нее ни куда. В некоторые составы добавляют кальций, плотность при замешивании может быть не предсказуемой. 3. Само оборудование, некоторое мешает за 10 оборотов лопасти, в некотором оператор домешивает черенком от лопаты(это не шутка). 4. Есть составы с бур раствором, там вообще ни каких рецептов нет. Подают бур раствор, подымается цементом до нужной плотности(буфер), модель выпадающая из общей концепции. Я примерно сделал саму общую модель(пока только примерно), то к чему пришел. Модель для 10 ppg. Модель грубая, работаю еще над ней, но проблема видна очень хорошо. При небольшом воздействии ПИД регулятором(зеленый), плотность (коричневый) - находиться в перерегулировании, подымаясь до 14.5 ppg. Это терпимо, так ка к плавно она возвращается к уставке, но если выставить 12.5 ppg, то соответственно взлет будет к 16. А это разные классы раствора, один легкий, другой тяжелый. Если уставка тяжелый, то последствия зацементированная линия подачи со всеми вытекающими последствиями. Я сделал фб для отслеживания тренда плотности, так же сделал фб для что бы замораживать интегрирующую составляющую, во время разгона. Благодаря вашей поддержке, хочу попробовать: 1. Убрать, отключить диф составляющую 2. Проработать концепцию старта с условной позиции дозатора. Что бы он не с 0 подымал, а с 40% + ожидание реакции 3. Пересмотреть работу P и I компонентов.
0
|
||
|
|
|
| 15.01.2026, 22:42 | |
|
Bodden, примерно понимаю ситуацию. Ну и на приведенном графике явно прослеживается запаздывание регулятора, т.е. те вещи, про которые я говорил выше.
Отмечу, что свои выкладки я привожу в общем 'теоретическом' смысле, т.к. нет понимания реального процесса работы устройств. Даже вот пропорциональные клапана: они могут работать как в непрерывном режиме (постоянно меняя площадь пропускного сечения), так и в импульсном (открываясь на столько-то). Но во втором варианте вводится постоянная времени этого открытия. В двух словах, это значит следующее: проще просто открыть клапан "на полную" в течение какого-то периода, чем вычислять зависимость времени открытия от нужной (расчетной) площади открытого сечения. Ну чисто математически (и, разумеется, будущей нагрузки на CPU контроллера ПИД-регулятора). Иными словами, как в той рекламе: "Зачем платить больше, если нет разницы?".
1
|
|
|
Модератор
|
|
| 15.01.2026, 23:00 | |
|
Можно при включении автоматического управления задание (уставку) давать не скачком, а с плавным линейным нарастанием от текущего измеренного значения - это снизит перерегулирование.
Тогда, может быть, и начальная позиция клапана будет не нужна, или всё вместе даст значительное улучшение. Перебором можно попробовать найти подходящее решение...
1
|
|
|
|
|
| 15.01.2026, 23:14 | |
|
Весь прикол в том, что мы не знаем что происходит в системе n-ное кол-во времени. Особенно на страте: сколько открыть цементу и сколько воды... В теории, конечно, можно абы-как, а там регулятор типа "вывезет"... Но это не профессиональный подход.
Добавлено через 6 минут Ну и если учесть тот факт, что СУ получается двух-контурная и одно-направленная. Насыпанный цемент в резервуар обратно не вычерпаешь, если пересыпали.. То же и про воду.. Т.е. эти два компонента являются взаимо-регулирующими. А это означает, что при некоторых обстоятельствах, когда обе части не особо контролируются, можно выйти на предел объема бака, в котором все это смешивается... Так и не достигнув желаемой композиции...
1
|
|
|
5 / 4 / 3
Регистрация: 22.11.2022
Сообщений: 146
|
||
| 15.01.2026, 23:22 [ТС] | ||
|
У меня есть в функционале HMI, логирование работ в ручном режиме. Можно попробовать про анализировать действия оператора и сделать какие нибудь выводы.
0
|
||
|
|
||
| 15.01.2026, 23:31 | ||
|
Регулятор должен работать только по задаче, опираясь на текущие настройки. Он не должен, условно, ориентироваться на некоего Петрова - Сидорова.
0
|
||
|
5 / 4 / 3
Регистрация: 22.11.2022
Сообщений: 146
|
||
| 15.01.2026, 23:35 [ТС] | ||
|
0
|
||
|
|
||
| 15.01.2026, 23:49 | ||
|
Далее, когда он прислал эти данные, вы (ну не вы лично, а регулятор) должен сделать следующее: - рассчитать дельту (ошибку) - на основании дельты рассчитать импульс реакции (длительность/площадь открытия клапана(ов)) - выдать эту реакцию на ИМ (исполнительный механизм). - ждать... нового измерения плотномера. Добавлено через 4 минуты В вашей системе есть задержка (запаздывание) ответа от точки управления. Она, как правило, инертная, но в большинстве случаев довольно близко предсказуемая. Это и есть коэффициенты T/I. При правильном их подборе, регулятор будет "чувствовать" на сколько что открыть/закрыть, чтобы достичь нужной цели. Быстрота этих реакций называется качеством регулирования.
0
|
||
| 15.01.2026, 23:49 | |
|
Помогаю со студенческими работами здесь
14
ПИД-регулятор Не работает ПИ-регулятор в TwidoSuite Simulator ПИД-регулятор в цепи отрицательной обратной связи Пропорциональный регулятор Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|