SIEMENS, DF&PD

Предыдущее посещение: Ср июн 15, 2016 17:55 Текущее время: Ср июн 15, 2016 17:55

Часовой пояс: UTC + 3 часа




 [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Рестарт ПИД-регулятора
СообщениеДобавлено: Чт май 16, 2013 10:44 
Не в сети
Известный Писатель

Зарегистрирован: Вт июн 07, 2011 22:54
Сообщения: 359
Добрый день. Проблема с пид регулятором. Использую стандартное решение на FB41. В процессе работы пид регулятора он начинает все хуже и хуже работать. Видимо накапливается какое-то значение в приписанном DB.

Интегратор принудительно в нужных местах обнуляем. В DB он имеет название "DB200_FB41_CONT_C_B".sIanteilAlt

Подскажите, что еще нужно ресетить или обнулять? Так как при перегрузке контроллера он опять нормально работает первое время.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт май 16, 2013 10:57 
Не в сети
Известный Писатель

Зарегистрирован: Вт июн 07, 2011 22:54
Сообщения: 359
Может быть нужно делать периодически Com_rst? первый вход на регуляторе.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт май 16, 2013 11:11 
Не в сети
Возможно это нечеловек

Зарегистрирован: Пн окт 30, 2006 16:27
Сообщения: 2250
Откуда: Украина, Днепродзержинск
anjeyjoy, приведите свой код. Гадать, что Вы уже написали и как вызвали блок регулятора - не хочется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт май 16, 2013 11:29 
Не в сети
Известный Писатель

Зарегистрирован: Вт июн 07, 2011 22:54
Сообщения: 359
Код OB100:

Код:
      CALL  "CONT_C" , "DB100_FB41_CONT_C_A"
       COM_RST :=FALSE
       MAN_ON  :=FALSE
       PVPER_ON:=FALSE
       P_SEL   :=TRUE
       I_SEL   :=TRUE
       INT_HOLD:=FALSE
       I_ITL_ON:=FALSE
       D_SEL   :=FALSE
       CYCLE   :=T#10MS
       SP_INT  :=0.000000e+000
       PV_IN   :=0.000000e+000
       PV_PER  :=W#16#0
       MAN     :=0.000000e+000
       GAIN    :=2.000000e+000
       TI      :=T#20S
       TD      :=T#10S
       TM_LAG  :=T#2S
       DEADB_W :=0.000000e+000
       LMN_HLM :=1.000000e+002
       LMN_LLM :=-1.000000e+002
       PV_FAC  :=1.000000e+000
       PV_OFF  :=0.000000e+000
       LMN_FAC :=1.000000e+000
       LMN_OFF :=0.000000e+000
       I_ITLVAL:=0.000000e+000
       DISV    :=0.000000e+000
       LMN     :=
       LMN_PER :=
       QLMN_HLM:=
       QLMN_LLM:=
       LMN_P   :=
       LMN_I   :=
       LMN_D   :=
       PV      :=
       ER      :=



Код в FC110 (вызывается в OB35 каждые 10 мс). Регулятор ряботает когда наступает определенный шаг работать:

Код:
      CALL  "CONT_C" , "DB100_FB41_CONT_C_A"
       COM_RST :=
       MAN_ON  :=
       PVPER_ON:=
       P_SEL   :=
       I_SEL   :=
       INT_HOLD:=
       I_ITL_ON:=
       D_SEL   :=
       CYCLE   :="md=0_OB35_Scan_Time"
       SP_INT  :="DB7_OP_Tune/Option".PID_I_SP_INT_perc    // OP
       PV_IN   :="DB7_OP_Tune/Option".PID_I_PV_IN_perc
       PV_PER  :=
       MAN     :=
       GAIN    :="DB7_OP_Tune/Option".PID_I_GAIN    // OP
       TI      :="DB7_OP_Tune/Option".PID_I_TI_TIME    // OP
       TD      :=
       TM_LAG  :=
       DEADB_W :=
       LMN_HLM :=1.000000e+002
       LMN_LLM :=-1.000000e+002
       PV_FAC  :=
       PV_OFF  :=
       LMN_FAC :=
       LMN_OFF :=
       I_ITLVAL:=
       DISV    :=
       LMN     :="md=A_PID_Q_LMN"
       LMN_PER :=
       QLMN_HLM:=
       QLMN_LLM:=
       LMN_P   :=
       LMN_I   :=
       LMN_D   :=
       PV      :=
       ER      :=


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт май 16, 2013 11:31 
Не в сети
Известный Писатель

Зарегистрирован: Вт июн 07, 2011 22:54
Сообщения: 359
В шаг работать мы попадаем по внешнему условию, перестаем работать с регулятором тоже по внешнему условию.

Возможно нужно обновлять STAT переменные в DB100 когда мы перестаем работать с FB41?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт май 16, 2013 12:00 
В сети
Это точно не человек

Зарегистрирован: Чт фев 16, 2006 12:27
Сообщения: 7492
Откуда: Украина
Зачем что-то писать в статические переменные? Вы точно знаете их назначение и уверены в том, что запись не нарушит нормальную работу регулятора? Перед применением блока не мешало бы документацию почитать.
Интегратор инициализируется входом I_ITL_ON. Если I_ITL_ON = TRUE в интегратор записывается значение со входа I_ITLVAL. Ещё я бы вызывал регулятор с COM_RST = TRUE минимум один раз, в OB100.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт май 17, 2013 8:46 
Не в сети
Известный Писатель

Зарегистрирован: Вт июн 07, 2011 22:54
Сообщения: 359
в документации по статическим переменных ничего не нашел.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт май 17, 2013 9:36 
В сети
Это точно не человек

Зарегистрирован: Чт фев 16, 2006 12:27
Сообщения: 7492
Откуда: Украина
anjeyjoy писал(а):
в документации по статическим переменных ничего не нашел.

Это к чему Вы написали? Я пытался объяснить, что не надо выдумывать нештатные методы использования блока ПИД-регулятора, если есть штатные, что хорошо описано в документации.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб май 18, 2013 10:36 
Не в сети
Известный Писатель

Зарегистрирован: Вт июн 07, 2011 22:54
Сообщения: 359
Спасибо за ответ. Проблема была в другом. В программе временно выключался регулятор при смене рабочих механизмов. В некоторых ситуациях это было не критично, а в в других ситуациях этого делать было нельзя.

Весь процесс описать не могу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб май 18, 2013 14:50 
В сети
Это точно не человек

Зарегистрирован: Чт фев 16, 2006 12:27
Сообщения: 7492
Откуда: Украина
Цитата:
Проблема была в другом.

Проблема в том, что Вы применяете регулятор нештатно, без изучения документации, надеясь, что авось заработает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс июн 09, 2013 17:15 
Не в сети
Известный Писатель

Зарегистрирован: Вт июн 07, 2011 22:54
Сообщения: 359
Ничего подобного


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
 [ Сообщений: 11 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: wolfgang и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group