Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > Теория и практика автоматизации
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

Задача по регулированию инерционной системы

 Ответить Ответить
Автор
Сообщение
princesska Смотреть выпадающим
Новичок
Новичок


Присоединился: 09 Июнь 2012
Online Status: Offline
Публикации: 4
Свойства публикации Свойства публикации   Ответить, цитируя автора - princesska Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: Задача по регулированию инерционной системы
    Опубликовано: 09 Июнь 2012 16:46
Подскажите пожалуйста, правильно ли использована интегральная составляющая и надо ли что-то еще использовать.
Регулирование идет по температуре, управляется клапан подачи жидкости в реактор
Пишу уже на 3-ем форуме и никто не отвечает ((, буду благодарна за любой совет
Время полного открытия клапана 120 сек
Время полного нагрева реактора 1440 сек
Время нагрева  реактора на 63% 500 сек

Код Visual Basic .NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Dim Ui=0 'интегральная составляющая
Dim Up=0 'пропорциональная составляющая
Dim KI=0.00014
Dim Kp= 0.4
i=1
Synclock datchiki
t1=datchiki(0) 'чтение температуры
End Synclock
If (t1>350)And (t1<750)        'если температура в допустимом диапазоне
Dim err=t1-450                 'вычисляем рассогласование с уставкой 450
If (Abs(err)>5) Then           'мертвая зона =5
If (t1<450) Then               'клапан работает на открывание
If (i<=3) Then
Integral =Integral+err         'сумма из 3х последних рассогласований
Ui=Ki*Integral
i=i+1
End if
Else if i>3 Then
i=0
Integral=0
Integral =Integral+err
End
Up=Kp*err
reg=Up+Ui                      'управляющий сигнал - сколько секунд из 120 сек клапан будет работать
End If
End If
If (Abs(err)>5) Then           'клапан на закрывание
'то же самое только
reg=(reg*0.5)                  'диапазон температур 450-750
End if
 
Вместе с регулировкой запускаю таймер и добавляю правила
if (time>1440) And (Abs(err)>5) 'регулировать как обычно
if (time>1440) And (Abs(err)<5) 'регулировать в 4 раза медленней
if (time<=1440) And (Abs(err)>50) 'регулировать как обычно
if (time< 480) And (Abs(err)<50) 'регулировать как обычно
if (time> 480) And (Abs(err)<50) 'регулировать в 2 раза медленней

Так правильно или нет?
Наверх
princesska Смотреть выпадающим
Новичок
Новичок


Присоединился: 09 Июнь 2012
Online Status: Offline
Публикации: 4
Свойства публикации Свойства публикации   Ответить, цитируя автора - princesska Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 09 Июнь 2012 16:48
И да, система астатическая , в любой момент может  температура увеличиться
Наверх
Александр Горский Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 04 Сентябрь 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 206
Свойства публикации Свойства публикации   Ответить, цитируя автора - Александр Горский Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 13 Июнь 2012 09:01
Информации маловато.
Жидкостью что делаем охлаждаем или это топливо?
Что за клапан? Каким сигналом управляется (открыть -закрыть или напряжением)?
 
Система, имхо, должна быть двухконтурная.
Температура - поток жидкости - управление клапаном.
Возможный вид регулятора:
 
В зависимости от типа управления клапаном внутренний каскад регулятора может быть несколько другим.
Наверх
princesska Смотреть выпадающим
Новичок
Новичок


Присоединился: 09 Июнь 2012
Online Status: Offline
Публикации: 4
Свойства публикации Свойства публикации   Ответить, цитируя автора - princesska Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 14 Июнь 2012 11:18
Спасибо, а  почему нельзя просто менять значение пропорциональной и интегральной составляющей на разных участках? Допустим, в мертвой зоне я понижаю пропорц сост и увелич интегр. А если рассогласование стало больше 100 гр (резко выросла температура) то я увеличиваю пропорц и уменьшаю интегральную

в реакторе происходит термическое разложение жидкости (утилизация) пламенем горелки.
в жидкости  есть горючие нефтяные компоненты которые при сгорании выделяют доп. тепло. Вязкие нефтяные компоненты жидкости могут создавать засор форсунок на какое-то время, а поверхностно-активные компоненты в жидкости могут, наоборот, размывать засор. Т.е процесс случайный и непредсказуемый.
При засоре временно включается доп клапан .
Клапаны выбраны 3х позиционные регулируемые с электроприводом. Ход штока 14 мм время перевода в полностью открытое состояние 120 сек. управляется напряжением (скорость регулировки открытия за счет изменения длительности времени подачи напряжения и пауз)
Можно спросить ? исходя из того, что разгонной хар-ки реактора получается что постоянная  времени получилась равна ts=1440/3=480 сек
Есть ли здесь звено переменного запаздывания?

Наверх
princesska Смотреть выпадающим
Новичок
Новичок


Присоединился: 09 Июнь 2012
Online Status: Offline
Публикации: 4
Свойства публикации Свойства публикации   Ответить, цитируя автора - princesska Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 14 Июнь 2012 12:03
Увеличение или уменьшение температуры реактора происходит из-за уменьшения\увеличения кол-ва подавомого раствора кот. явл. охлаждающей жидкостью  . Степень охлаждения/нагревания зависит на (+-20% ) от химического состава, кот. определить нет возможности
в моем случае мощность горелки не регулируется 
уставка на темп фиксирована
Наверх
Александр Горский Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 04 Сентябрь 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 206
Свойства публикации Свойства публикации   Ответить, цитируя автора - Александр Горский Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 15 Июнь 2012 08:46
Первоначально опубликовано princesska

Спасибо, а  почему нельзя просто менять значение пропорциональной и интегральной составляющей на разных участках? Допустим, в мертвой зоне я понижаю пропорц сост и увелич интегр. А если рассогласование стало больше 100 гр (резко выросла температура) то я увеличиваю пропорц и уменьшаю интегральную...
Это все возможно, все зависит от конкретных условий.
Но все ваши предложения должны идти как настройка и изменения к имеющемуся регулятору. А у вас, насколько я понял, его пока нет.
 
Имхо, нужно сделать работающий регулятор по классическому принципу. Затем, для решения возникающих проблем, его дорабатывать, создавая адаптивные коэффициенты, изменяя структуру регулятора в различных режимах работы, где-то замораживать, где-то сбрасывать и т.п.
Наверх
 Ответить Ответить

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz