Просмотр полной версии : Вопрос по PID регуляторам библиотеки Util.lib
nikutuzov
16.04.2025, 12:32
Правильно ли я понимаю, что когда выход OVERFLOW становится TRUE, это свидетельствует о переполнении интегрального звена и регулятор нужно сбросить, подав на вход RESET TRUE?
Как оценивается переполнение?
Евгений Кислов
16.04.2025, 12:44
Правильно ли я понимаю, что когда выход OVERFLOW становится TRUE, это свидетельствует о переполнении интегрального звена и регулятор нужно сбросить, подав на вход RESET TRUE?
Да.
Как оценивается переполнение?
Во времена CoDeSys V2.3 оценивалось так, как показано ниже. Вряд ли в V3.5 что-то сильно изменилось.
IF 1E38 - IN*TM < OUT OR -1E38 - IN*TM > OUT THEN // TM - time since last call in msec
OVERFLOW:=TRUE;
...
END_IF
IF Y>1E30 OR Y<-1E30 THEN // Overflow steht bevor, darf aber eigentlich nicht passieren
OVERFLOW:=TRUE;
END_IF
nikutuzov
16.04.2025, 13:25
Евгений, спасибо большое
Про выход OVERFLOW уже не помню, а вот LIMITS_ACTIVE использовал для сброса интегральной составляющей.
Т.е. OVERFLOW интересен, но не востребован.
Попробуйте открыть Utils для чтения - увидите исходники (при открытии выбирайте расширение не .pro, а .lib).
Есть ещё справка
https://content.helpme-codesys.com/en/libs/Util/3.5.17.0/Controller/PID.html
Но хорошо дополнять чтением исходников
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot