Доброго времени суток, Уважаемые форумчане! Имеется вызов FB"PID_ES" для регулятора. В LMNR от МЭО заведен сигнал, но в LMNR_ON (в экземпляре DBX105.6) ничего не устанавливается явно (по крайней мере в программе этого не нашел). Однако в онлайне наблюдаю такую картину, что этот бит переходит то в 1, то в 0, причем самостоятельно и с различной периодичностью (так показывает онлайн). Вопрос: Это вообще нормально? Т.е., может ли он сам по себе изменяться?
В документации про эту ФБ ничего подобного вроде не сказано.
Непонятки с блоком FB"PID_ES"
-
- Posts: 878
- Joined: Tue Dec 26, 2006 5:21 am
- Location: Russia
Re: Непонятки с блоком FB"PID_ES"
Само по себе ничего не может меняться. Если меняется, значит так и должно быть, и надо искать почему (если это вообще надо).
-
- Posts: 193
- Joined: Fri Feb 24, 2012 8:28 am
Re: Непонятки с блоком FB"PID_ES"
Ничего подобного. В этой ФБ такого быть не должно. Не должно быть просто по определению. "LMNR_ON" нужна для включения позиционной обратной связи в логику работы регулятора.Dfcz wrote:Само по себе ничего не может меняться. Если меняется, значит так и должно быть, и надо искать почему (если это вообще надо).
В общем я нашел в чем был фокус. Ошибся программер (программная ошибка из разряда "как делать не надо"): из OB35 (100ms) вызов FC, которая
Interface
Code: Select all
IN0: UDT 0 //Struct #1;
IN1: UDT 1 //Struct #2
...
Code: Select all
//Code
CALL "PID_ES", "DB_OF_PID_ES"
//Интерфейс вызова
...
...
//NEW NETWORK
OPN "DB_OF_PID_ES"
L DBD 128
T DBD 132
L DBD 136
T DBD 140
//NEW NETWORK
A DBX 0.3 //MAN_ON
...
...
//NEW NETWORK
AN DBX 0.3 //MAN_ON
A(
O #IN0.Status.IsFault //ошибка датчика PV_IN
O
A DBX 105.6 //Вот так делать не надо! Программер думал что это относится к экземпляру ("LMNR_ON")
//И меня ввел в заблуждение комментариями к нетворку (да там и по логике д.б. из экземпляра)
A #IN1.Status.IsFault //ошибка датчика положения МЭО
...
...
= "FreezedOn" // Потом используется для отключения сигналов управления
PS Преимущественно все это было сделано на ЛАДе. На СТЛ я написал просто для понимания смысла.