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

PID в WAGO_IO_PRO 32

 Ответить Ответить Страница  <12345 6>
Автор
Сообщение
Petrov Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 15 Январь 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 805
Свойства публикации Свойства публикации   Ответить, цитируя автора - Petrov Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: PID в WAGO_IO_PRO 32
    Опубликовано: 23 Ноябрь 2007 16:25

возьмите uitl.lib из кодесиса.

там у пид-регуляторов можно задавать диапазон выхода: Ymin и Ymax.

Если нету кодесиса пишите сюда, кину вам на мыло.

Не знаю,

Наверх
Petrov Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 15 Январь 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 805
Свойства публикации Свойства публикации   Ответить, цитируя автора - Petrov Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 23 Ноябрь 2007 16:25

возьмите uitl.lib из кодесиса.

там у пид-регуляторов можно задавать диапазон выхода: Ymin и Ymax.

Если нету кодесиса пишите сюда, кину вам на мыло.

Не

Наверх
Petrov Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 15 Январь 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 805
Свойства публикации Свойства публикации   Ответить, цитируя автора - Petrov Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 23 Ноябрь 2007 16:25

возьмите uitl.lib из кодесиса.

там у пид-регуляторов можно задавать диапазон выхода: Ymin и Ymax.

Если нету кодесиса пишите сюда, кину вам на мыло.

Не знаю, как

Наверх
Petrov Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 15 Январь 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 805
Свойства публикации Свойства публикации   Ответить, цитируя автора - Petrov Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 23 Ноябрь 2007 16:25

возьмите uitl.lib из кодесиса.

там у пид-регуляторов можно задавать диапазон выхода: Ymin и Ymax.

Если нету кодесиса пишите сюда, кину вам на мыло.

Не знаю, как там

Наверх
Petrov Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 15 Январь 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 805
Свойства публикации Свойства публикации   Ответить, цитируя автора - Petrov Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 23 Ноябрь 2007 16:25

возьмите uitl.lib из кодесиса.

там у пид-регуляторов можно задавать диапазон выхода: Ymin и Ymax.

Если нету кодесиса пишите сюда, кину вам на мыло.

Не знаю, как там с

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


Присоединился: 10 Октябрь 2007
Категория: Russian Federation
Online Status: Offline
Публикации: 33
Свойства публикации Свойства публикации   Ответить, цитируя автора - waldius Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 23 Ноябрь 2007 16:47

ну я как раз и работаю с этой библиотекой, только видно с не очень новой, т.к. там никаких ограничивающих переменных нет, но наверное раньше люди как-то с ней работали...

Собственно я принцип действия не пойму, выход ПИД начинает расти после запуска, а как его привязать к мощности регулятора непонятно... Что-то вроде задать ему границы например от 30 до 50 и по пропорции задавать мощность регулятора? 30 - 0%, 50 - 100%???

Наверх
Petrov Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 15 Январь 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 805
Свойства публикации Свойства публикации   Ответить, цитируя автора - Petrov Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 23 Ноябрь 2007 17:06

А что мешает задать ему границы сразу 0-100? Или 4-20, например? ;) 

Наверх
Petrov Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 15 Январь 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 805
Свойства публикации Свойства публикации   Ответить, цитируя автора - Petrov Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 23 Ноябрь 2007 17:07

Тут вверху я, блин, наспамил. Аж забанили. :)

Простите меня. Я нечаяно. :)

Наверх
Petrov Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 15 Январь 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 805
Свойства публикации Свойства публикации   Ответить, цитируя автора - Petrov Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 23 Ноябрь 2007 17:09

Вот как выглядит ПИД у меня в кодесисе:

(* PD controller *)
FUNCTION_BLOCK PID
VAR_INPUT
 ACTUAL :REAL;  (* actual value, process variable *)
 SET_POINT:REAL; (* desired value, set point *)
 KP:REAL;    (* proportionality const. (P)*)
 TN:REAL;    (* reset time (I) in sec *)
 TV:REAL;    (* rate time, derivative time (D) in sec*)
 Y_MANUAL:REAL;  (* Y is set to this value as long as MANUAL=TRUE *)
 Y_OFFSET:REAL;  (* offset for manipulated variable *)
 Y_MIN:REAL;   (* minimum value for manipulated variable *)
 Y_MAX:REAL;   (* maximum value for manipulated variable *)
 MANUAL:BOOL;  (*  TRUE: manual: Y is not influenced by controller,
        FALSE: controller determines Y *)
 RESET:BOOL;   (* reset: set Y output to Y_OFFSET and reset integral part *)
END_VAR
VAR_OUTPUT
 Y:REAL;    (* manipulated variable, set value*)
 LIMITS_ACTIVE:BOOL:=FALSE; (* true set value would exceed limits Y_MIN, Y_MAX *)
 OVERFLOW:BOOL:=FALSE;  (* overflow in integral part *)
END_VAR

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


Присоединился: 10 Октябрь 2007
Категория: Russian Federation
Online Status: Offline
Публикации: 33
Свойства публикации Свойства публикации   Ответить, цитируя автора - waldius Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 23 Ноябрь 2007 17:17

Хотелось бы конечно не тупо в ФБ задавать границы, а понять "как это работает"...

У меня в библиотеке этот ФБ выглядит так:

(* PD controller / PD-Regler
 Die Einstellung der Werte KP,TN,TD ist etwas heikel und kann zum Ьberlauf fьhren!!
 Grundsдtzlich ist zu beachten :
 - Der Proportionalitдtsbeiwert entscheidet, wie rapide der Sollwert angestrebt wird.
  Empfehlung : 0 < KP < 1.5
 - Die Nachstellzeit
 - Die Vorhaltzeit *)
FUNCTION_BLOCK PID
VAR_INPUT
 ACTUAL :REAL;  (* Actual value / Istwert *)
 DESIRED:REAL;  (* Desired Value / Sollwert *)
 KP:REAL;    (* Proportional const. / Proportionalitдtskoeff.  0<KP<1 *)
 TR:DWORD;   (* Reset Time / Nachstellzeit in msec *)
 TD:DWORD;   (* Derivative Time / Vorhaltzeit in msec *)
 RESET:BOOL;
END_VAR
VAR_OUTPUT
 OUT:REAL ;   (* Set value (absolute) / Stellwert (absolut) *)
END_VAR
VAR
 CLOCK:TON;
 I: INTEGRAL;
 D: DERIVATIVE;
 TMDIFF: DWORD;
END_VAR

Я, например, задаю ACTUAL := 18 (в градусах), DESIRED := 22 (уставка в градусах), потом назначаю постоянные времени и коэфициенты...

Запускаю ФБ и он сразу начинает расти потихоньку от 18... что это значит? Мне нужно допустим ограничить его значением 100 и вначале сразу включать нагреватель на 18% мощности?

Наверх
 Ответить Ответить Страница  <12345 6>

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

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