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