Показать сообщение отдельно
Старый 18.04.2013, 12:54   #7
tvf
Senior Member
 
Регистрация: Dec 2011
Сообщения: 767
Благодарил(а): 1 раз(а)
Поблагодарили: 11 раз(а) в 11 сообщениях
По умолчанию Ответ: Мой вариант PID-регулятора

Цитата:
При смене коэффициентов при активном сбросе выход идеально равен значению на входе Data. Всех трёх коэффициентов.
Ну это не бог весть какое достижение. Механизм достаточно прост. В режиме загрузки полностью отключаем D составляющую, значение с Data грузим в I составляющую, но с учетом текущего рассогласования и коэффициента усиления. Это я года полтора назад сделал на основе стандартного макроса.
Цитата:
Загрузка в "my_PID_v5" более "правильная", т.к. позволяет регулятору реагировать на текущее состояние объекта управления, а не только на изменение этого состояния, как это делает ваш макрос и макрос серии "my_PID_v7".
У нас разные понятия о правильности. Если регулятор отключен от регулирования, то ему нет необходимости следить за состоянием объекта управления. В этом режиме его задача тупо транслировать значение со входа загрузки на выход.
Цитата:
Ну и сверху "накладываются" всякие "неправильные" состояния объекта, такие как помехи, случайные девиации состояния и переходное состояние. Если в этот момент сменить коэффициенты регулятора, то ошибка расчёта управляющего воздействия может принять катастрофический характер с очень долгим выходом регулятора на правильный режим.
Если это касается именно варианта реализации, то согласен, макрос не идеален, но абсолютно работоспособен. Задача стояла написать наиболее простой макрос с возможностью смены коэффициентов на лету без применения "танцев с бубнами" типа внешней объвязки. Ну так и стандартный макрос не шедевр инженерной мысли. Тупо реализация формулы ПИД регулятора. Хотя и очень экономичный с точки зрения расходования ресурсов. Мой вариант занимает раза в 1,5 больше блоков.
Если касается самой идеи регулятора с изменяемыми на ходу коэффициентами, то тем более не согласен. У сименса в ACX это стандартная функция. Там ПИД имеет 2 набора коэффициентов: один для обычной работы, другой для выхода из предаварийных ситуаций. Ваши опасения о чудесах при смене коэффициентов хорошо бы подкрепить примерами. Выставленный проект это позволяет. Ну и сравнить с поведением стандартного макроса.
tvf вне форума   Ответить с цитированием