регулятор в программе

Автоматизация технологических процессов, системы управления, АСУ ТП, АСКУЭ, программирование ПЛК, человеко-машинный интерфейс, сетевое оборудование, протоколы
Ответить
service
Специалист
Сообщения: 254
Зарегистрирован: 16 ноя 2012, 10:23

регулятор в программе

Сообщение service »

по технологии сырье подается на установку для взвешивания (Scale) и устанавливается требуемая производительность. Scale поддерживает Modbus. В бункере 3 (Hopper 3), устанавливается датчик уровня(0-100%). Опытным путем технолог ставит уставку датчика,например 50%, которая должна поддерживаться. если необходимо снизить производительность(временно), то технолог уменьшает обороты питателя (Feeder 1), либо это происходит при превышении нагрузки пресса. тогда уровень превысит уставку и должно произойти снижение дозирования весами. я так понимаю, что в программе необходим ПИД-регулятор для этого? или что попроще? не сталкивался еще с регуляторами.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: регулятор в программе

Сообщение Михайло »

Для успешного применения ПИД-регулятора нужны примерно следующие условия:
1) ПИД-регулятор управляет процессом с помощью некоторого исполнительного механизма, имеющего вход типа 0-10 В или 4-20 мА (суть - у ПИД-регулятора плавно изменяющийся выход, соответствующий вход должен иметь исполнительный механизм). Назовем этот сигнал управляемой координатой.
2) Для ПИД-регулятора нужна обратная связь: это тоже некий сигнал типа 0-10 В (4-20 мА или другой аналоговый сигнал в широком смысле, может быть сигнал через Modbus и т.п.). Измерять нужно именно ту величину, которую требуется регулировать! Назовем этот сигнал измеряемой координатой.
3) Итак, весь смысл регулирования (не только ПИД-регулирования) - управлять управляемой координатой так, чтобы измеряемая координата принимала некоторое заданное значение. Для применимости ПИД-регулирования важно, чтобы между управляемой и измеряемой координатами была связь, обладающая линейными свойствами. Линейными свойствами обладают математические операции сложение/вычитание, умножение на число, дифференцирование/интегрирование.
Пример 1. Интегральная зависимость. Имеется возможность управлять скоростью погрузки. Чем быстрее загружаешь, тем быстрее накапливается загружаемый материал. В этом случае между управляемой координатой (скоростью загрузки) и измеряемой координатой (объемом материала) имеется интегральная зависимость.
Пример 2. Пропорциональная зависимость. "Чем сильнее нажимаешь на педаль, тем быстрее едешь." Часто бывает неизвестен точный коэффициент пропорциональности, либо коэффициент пропорциональности нестабилен, либо имеется некоторое отклонение от пропорциональной зависимости - в этом случае отлично работает ПИД-регулятор.

Если в твоем случае три условия соблюдаются, то ради бога - ПИД-регулятор!

Для начала определи одну или несколько измеряемых координат, которые требуется регулировать для успешной работы системы. Например, как я могу себе представить, нужно поддерживать уровни загрузки бункеров. Сколько обнаружится измеряемых координат, столько и будет ПИД-регуляторов (хотя необязательно ПИД).

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: регулятор в программе

Сообщение Михайло »

Удается ли одолеть регуляторы?
service писал(а):по технологии сырье подается на установку для взвешивания (Scale) и устанавливается требуемая производительность. Scale поддерживает Modbus. В бункере 3 (Hopper 3), устанавливается датчик уровня(0-100%). Опытным путем технолог ставит уставку датчика,например 50%, которая должна поддерживаться. если необходимо снизить производительность(временно), то технолог уменьшает обороты питателя (Feeder 1), либо это происходит при превышении нагрузки пресса. тогда уровень превысит уставку и должно произойти снижение дозирования весами.
Тут я, например, не очень понимаю, что является исполнительным механизмом. Задача вроде ясна: поддерживать уровень зерна в бункере 1 и в бункере 3. Из датчиков я вижу весовой датчик в бункере 1 и датчик уровня в бункере 3. Или что-то пропустил?

service
Специалист
Сообщения: 254
Зарегистрирован: 16 ноя 2012, 10:23

Re: регулятор в программе

Сообщение service »

датчики в бункере 1 - верхний(остановка подачи сырья из отделения подачи) и нижний. весы управляются по модбасу. в скаде даем уставку,например, 1000 кг/ч. допустим, что это максимальная производительность. в пресс продукт должен поступать непрерывно, поэтому и бункер над питателем. в процессе работы возникает потребность в снижении подачи в пресс. оператор просто меняет уставку оборотов питателя, например со 100% до 70. в бункере 3 начинает расти уровень. регулятор должен дать команду весам на снижение дозирования по модбасу.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

ward
Специалист
Сообщения: 415
Зарегистрирован: 12 ноя 2012, 08:44

Re: регулятор в программе

Сообщение ward »

я нифига не понял - нужно поддерживать производительность или уровень? Производительность это легко, уровень надо подумать что делать при достижении уставки

service
Специалист
Сообщения: 254
Зарегистрирован: 16 ноя 2012, 10:23

Re: регулятор в программе

Сообщение service »

загрузка пресса, а значит и производительность(выход переработанного материала) регулируется питателем. подача сырья в питатель - весами. если у пресса ток начал расти, то даже остановка весов ничего не даст. снизили обороты питателя - вырос уровень - уменьшилось дозирование. добавили обороты - снижается уровень - увеличивается дозирование. получается, что необходимо поддерживать уровень. я так понимаю

ward
Специалист
Сообщения: 415
Зарегистрирован: 12 ноя 2012, 08:44

Re: регулятор в программе

Сообщение ward »

а зачем тогда пид регулятор - задай жестко - <50% пускай накидывает в накопитель, больше - не работает вообще, и просто процент меняй

service
Специалист
Сообщения: 254
Зарегистрирован: 16 ноя 2012, 10:23

Re: регулятор в программе

Сообщение service »

подачу в весы тогда дергать придется. а это целая цепочка может быть

ward
Специалист
Сообщения: 415
Зарегистрирован: 12 ноя 2012, 08:44

Re: регулятор в программе

Сообщение ward »

а что делать с весами если уровень большой? наполнение продолжится. Цепочку с весами не останавливай, а замедляй до минимума, не пойдет?

service
Специалист
Сообщения: 254
Зарегистрирован: 16 ноя 2012, 10:23

Re: регулятор в программе

Сообщение service »

при критическом уровне в бункере 3(например 100% или дополнительный дискретный датчик) весы блокируются. технология должна выдавать определенную производительность. поэтому ситуации со снижением дозирования будут возникать при проблемах с прессованием. регулировки необходимого уровня и оборотов питателя дают возможность настроить оптимальные параметры прессования, которые возможно измерить только на выходе всей технологии. то есть поддерживать максимальную производительность линии при оптимальных параметрах

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: регулятор в программе

Сообщение Михайло »

Для начала надо выявить зависимость между уровнем в бункере, оборотами питателя и параметрами прессования. Что является параметром прессования и как он измеряется?

service
Специалист
Сообщения: 254
Зарегистрирован: 16 ноя 2012, 10:23

Re: регулятор в программе

Сообщение service »

зависимость между уровнем и оборотами устанавливается опытным путем, в зависимости от производительности всей линии. параметры - хим. и физ. свойства продукта на входе и выходе. их определяет лаборатория. нужно заставить работать пресс на максимум, при этом не перегрузив его. но и недогружать не рекомендуется - падает производительность. чехи на свои линии частотник еще и для пресса ставят. можно все на кнопочках сделать - на весах уставку поставил, обороты питателя накрутил и проверяй, чтобы пресс не забивался. но тогда потеря в качестве и производительности

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: регулятор в программе

Сообщение Михайло »

Все-таки без знания взаимосвязей между переменными процессом нельзя управлять. Откуда можно взять, что питатель нужно замедлить, если неизвестно влияние скорости питателя на процесс? Мне кажется, Вам не хватает понимания, что для разработки СУ с регуляторами это очень важно.
Я Вам приводил пример зависимостей: интегральная, пропорциональная, аддитивная - для системы транспортировки это основные виды зависимостей между переменными. Бункер копит материал с питателя: уровень в бункере - это есть интеграл скорости питателя. Два конвейера сыплют на один конвейер - производительность двух подающих конвейеров складывается и т.д.

Итоговая система управления - это как команда футболистов: один пасует мячи (регулирует частоту пасов), другой забивает голы (регулирует частоту голов), третий отбирает (регулирует количество проходов соперника к своим воротам) и т.п. Каждый из футболистов - это есть регулятор своей переменной. Для общего успеха необходимо регулировать сразу несколько переменных. Очень часто удается ловить двух и более зайцев (не верьте пословицам).

Ну и первый шаг к разработке СУ - это изучение объекта управления:
1. Составить список переменных процесса
2. Определить, какие из этих переменных являются измеримыми, управляемыми и целевыми
3. Определить взаимосвязи между переменными
4. На основе взаимосвязей сформировать регуляторы

service
Специалист
Сообщения: 254
Зарегистрирован: 16 ноя 2012, 10:23

Re: регулятор в программе

Сообщение service »

питатель перед запуском линии калибруется и строится линейная зависимость количества оборотов и количества продукта.

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: регулятор в программе

Сообщение Михайло »

Для чего это делается? Что в конечном итоге дает коэффициент пропорциональности?

service
Специалист
Сообщения: 254
Зарегистрирован: 16 ноя 2012, 10:23

Re: регулятор в программе

Сообщение service »

например - 50% оборотов - 500кг/ч, 70%-700 и т.д. таким образом определяется количество материала, поступающего в пресс.

service
Специалист
Сообщения: 254
Зарегистрирован: 16 ноя 2012, 10:23

Re: регулятор в программе

Сообщение service »

достал инфу по чешским линиям...
вот какие параметры:
- Вес дозировки – сколько кг материала в час дозируется в технологию. Этот параметр показывает производительность технологии в целом.
- Рабочий уровень загрузочного бункера – это значение показывает максимальное заполнение бункера транспортера-дозатора, прежде чем начнется снижение дозирования материала весами.
Но у них дозатор, он же питатель, насыпает в дробилку и экструдер, а дальше еще один маленький бункер(воронка) над прессом с контролем уровня. И в основном рабочем режиме производительность пресса зависит от оборотов главного привода пресса. Транспортер-дозатор перед прессом автоматически приспосабливает свои обороты так, чтобы поддерживать требуемый уровень в загрузочном бункере над прессом.Выход крутящего момента за пределы значения M_set приведет к снижению оборотов транспортера-дозатора, в случае выхода за пределы M_lock произойдет полная остановка транспортера-дозатора.

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: регулятор в программе

Сообщение Михайло »

Давай рассмотрим простой абстрактный пример, который понимаю я и в котором сможешь разобраться ты.

Пример такой: частотно-регулируемый конвейер сыпет песок в бункер, воронка этого бункера открывается задвижкой. Задача системы управления - автоматическое поддержание заданного уровня песка в бункере. Уровень открытия задвижки - есть величина неизвестная заранее (мы не знаем когда и насколько будет открыта задвижка). Мы имеем возможность регулировать частоту вращения привода конвейера. (Понятно, что конвейер должен насыпать песок в бункер быстрее, чем он оттуда убывает.)

Решение: Так как требуется регулировать уровень песка, то нужно его измерять (ставим датчик уровня).
Обозначим:
L - уровень песка, измеряемая координата
V - частота вращения конвейера, управляемая координата
X - уровень открытия задвижки (скорость убытия песка), возмущающее воздействие

Уровень песка - это есть результат накопления песка с конвейера, то есть интеграл по времени. То же самое можно сказать про задвижку, только со знаком минус.
L = ∫ (k1*V - k2*X) * dt

Коэффициент k2 можно принять равным единице, т.к. особой разницы между величинами X и k2*X нету, они обе одинаково неизвестны.

Тогда система управления примет вид
Простая_СУ1.gif
Так как преобразователь частоты практически мгновенно отрабатывает задание (по сравнению с процессом изменения уровня песка), то можно считать Vзад=V.

Справка из математики: для того, чтобы управлять интегральной зависимостью, идеально подходит П-регулятор (регулятор уровня). В нашем случае не просто интегральная зависимость, но также имеется вычитание возмущения. Кстати, абсолютно такая же ситуация возникает в контуре регулирования тока/момента в электроприводах - П-регулятор успешно справляется с такой задачей, особенно если возмущение не изменяется слишком резко. В нашем случае задвижка вряд ли будет быстро дергаться сюда-обратно, поэтому решение работоспособно.

П-регулятор получается из ПИД-регулятора путем устранения И- и Д-составляющих. Если программа имеет возможность управлять частотой вращения конвейера и может получать текущее значение уровня песка, то можно организовать автоматическое поддержание уровня с помощью программного П-регулятора. Для правильной работы П-регулятора необходимо подобрать коэффициент пропорциональности, при котором система будет отрабатывать задание, с одной стороны, достаточно быстро, с другой стороны, без перерегулирования и колебаний. Хорошо, один коэффициент гораздо проще подбирать, чем два или три...
Такая система с П-регулятором будет устойчиво работать даже в том случае, если физические свойства песка немного изменятся (мокрый/сухой и т.п.) или будет несколько нелинейная зависимость между оборотами и подачей песка, при необходимости коэффициент пропорциональности можно подкорректировать.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Ответить