PDA

Просмотр полной версии : Странная работа ПИД регулятора



Newcomer
29.11.2021, 19:42
Добрый день

Может кто пояснит как при отрицательной ошибке выход ПИД может иметь положительное значение. Неужели картину портит накопленная интегральная составляющая ? Отмечу, что в программе интегральная составляющая обнуляется при переходе ошибки через 0.

ferret_maybe
30.11.2021, 08:24
1. Y_MIN и Y_MAX если будут в положительном диапазоне, то при отрицательной ошибке будет выход блока в любом случае положительным. Откройте библиотеку Util.lib и ваш блок, как я понимаю, оттуда вытащили.
2. Знаете, но непонятно, каким образом вы выяснили что она обнуляется или почти обнуляется? Каким будет значение (Eтек-Eпред)*1/5000?

Как думаете, чему будет равна переменная MyVar в результате проверки условия:

IF (0.6+0.3) = 0.9 THEN
MyVar:=TRUE;
ELSE
MyVar:=FALSE;
END_IF

Newcomer
30.11.2021, 11:23
1. Y_MIN и Y_MAX если будут в положительном диапазоне, то при отрицательной ошибке будет выход блока в любом случае положительным. Откройте библиотеку Util.lib и ваш блок, как я понимаю, оттуда вытащили.
2. Знаете, но непонятно, каким образом вы выяснили что она обнуляется или почти обнуляется? Каким будет значение (Eтек-Eпред)*1/5000?


На картинке видно, что Y_MIN = 0, Y_MAX = 100000. При отрицательной ошибке выход ПИД должен быть ноль или близко к нулю.

Еще раз повторю, что в программе сделано обнуление интегральной составляющая при переходе ошибки через 0. Под обнулением интегральной составляющей понимается обнуление накопившейся суммы к моменту перехода ошибки через 0. Это не мои думы, а так сделано. Почитайте для чего у PID предназначен вход RES.

keysansa
30.11.2021, 20:08
На картинке видно, что Y_MIN = 0, Y_MAX = 100000. При отрицательной ошибке выход ПИД должен быть ноль или близко к нулю.

Еще раз повторю, что в программе сделано обнуление интегральной составляющая при переходе ошибки через 0. Под обнулением интегральной составляющей понимается обнуление накопившейся суммы к моменту перехода ошибки через 0. Это не мои думы, а так сделано. Почитайте для чего у PID предназначен вход RES.

Вам следует разделить ограничения и регулятор.
Т.е. Есть входные значения, далее ограничения их воздействия, далее регулятор, далее, выходные значения, и далее их ограничения. Так просто понятнее будет.

Newcomer
01.12.2021, 09:53
Вам следует разделить ограничения и регулятор.
Т.е. Есть входные значения, далее ограничения их воздействия, далее регулятор, далее, выходные значения, и далее их ограничения. Так просто понятнее будет.

Ничего не понял. ;)

ferret_maybe
01.12.2021, 10:17
Вот вы пишите: "При отрицательной ошибке" ошибка вычисляется внутри ФБ и это разница измеренного значения и уставки.

Что значит фраза: "... в программе сделано обнуление интегральной составляющая при переходе ошибки через 0"? Правильно ли я понимаю выход управляющего воздействия Y за диапазон регулирования происходит сброс интегральной составляющей? Или все таки сброс происходит когда разность уставки и измеренного значения равно 0?

Newcomer
01.12.2021, 10:44
Вот вы пишите: "При отрицательной ошибке" ошибка вычисляется внутри ФБ и это разница измеренного значения и уставки.

Что значит фраза: "... в программе сделано обнуление интегральной составляющая при переходе ошибки через 0"? Правильно ли я понимаю выход управляющего воздействия Y за диапазон регулирования происходит сброс интегральной составляющей? Или все таки сброс происходит когда разность уставки и измеренного значения равно 0?

Сброс того, что на картинке происходит когда разность уставки и измеренного значения переходит через 0. В посте #3 все ясно написано.

ferret_maybe
01.12.2021, 13:35
Сброс того, что на картинке происходит когда разность уставки и измеренного значения переходит через 0. В посте #3 все ясно написано.

Действительно странно... есть алгоритмы управления, когда коэффициент усиления при входе в зону уставки (3-5)% изменяют на меньший(кстати при изменении К произойдет сброс интегральной составляющей). А вы собственно что хотите получить? Изменить алгоритм управления?

keysansa
02.12.2021, 20:42
Сброс того, что на картинке происходит когда разность уставки и измеренного значения переходит через 0. В посте #3 все ясно написано.

У вас по формуле нет ограничения перехода температуры через 0.