PDA

Просмотр полной версии : ПЛК63-РРРРРР и PID



Slazonger
10.05.2012, 19:20
Здравствуйте!
Имеется печь обжига. Нужна автоматика. Делаю. По примеру с форума сделал регулятор с АНР и записью в ретайн. Вот только не понятно - PID-регулятор выдает значения типа real от 0 и до 65535, в то время, как для включения реле нужна максимум единица. Вот и вопрос возникает, тем ли путем иду? ШИМ, как я его понимаю, имеет стабильный период и изменяющуюся скважность. У меня имеется 6 релейных выходов, одним из которых я хочу подавать 24 вольта на оптосимистор. Здесь же как-то непонятно получается. Проясните ситуацию, пожалуйста? Может, есть более простой путь?

lara197a
10.05.2012, 23:35
На диске навигаторе есть прекрасный пример Пид регулятора.
Просто добавьте в свою программу и всё!
Если нужен адаптированный вариант для ПЛК 63- пишите в личку.

Slazonger
11.05.2012, 02:20
А вот делим энто значение на 65535.0 и получаем 0.0..1.0.

Ну и для чего мне значения между 0.0 и 1.0?
Мне нужно на реле выдавать с определенной частостью сигнал с изменяющейся скважностью, которая, собственно, должна определяться из PID-закона. Но, имея на выходе pid-регулятора значение, например 2500, ну, или 50000, мы все равно получим замкнутый контакт. Вот, собственно, вопрос в том, правильно ли то, что я подаю на выход именно эти значения и имеют ли они необходимую скважность?

capzap
11.05.2012, 06:10
Попробуйте прочитать про такое поу как lin_trafo

Slazonger
11.05.2012, 06:46
Почитал - это обычное масштабирование. Если я его использую, то максимальное число на выходе ставлю - 1.0, минимальное - 0.0, так? А что, если ПИД выдаст не 65535, а 5000, то на выход реле у меня подастся где-то 0,0.... с чем-то. Что это будет для реле - единица или ноль? В данный момент на выход подается, например, число больше нуля, которое включает реле на то время, пока пид выдает это значение, выключается только при нулевом выходе пида. Если применить масштабирование, то получится совсем другой алгоритм работы, не так ли? И я никак не пойму, для чего для релейного выхода делать значение REAL? Ну ладно для аналоговых, а реле можно только либо включить, либо выключить. Проясните ситуацию, не могу я пока догнать.

Slazonger
11.05.2012, 09:18
Ну так все-таки, как быть в итоге? Подавать на реле значение с пид-регулятора непосредственно или привести к диапазону 0.0....1.0?
Ао - это что такое?

Николаев Андрей
11.05.2012, 09:32
Вообще-то все ответы есть в РЭ и РП.
AO - это аналоговый выход.
Реле сделаны Real по двум причинам.
На ПЛК63\ПЛК73 могут быть установлены как реле, так и аналоговые выходы. На одни и те же посадочные места.

Почитайте про ШИМ на реле. 0-1 сделано именно для реализации ШИМ, как Вам и писали. Выход ПИД надо приводить к 0-1, не зависимо выдает ПИД 0-100 или 0-65535

Slazonger
11.05.2012, 10:02
Поставил LIN_TRAFO после apid_pwm - стал выдавать от 0 до 1. Переключение реле происходит в районе 0.5. Как установить период, если все коэффициенты и времена рассчитывает регулятор? И подскажите, пожалуйста, где почитать про "ШИМ на реле"?

Николаев Андрей
11.05.2012, 11:27
В РЭ и РП.
Описание входов выходов в конфигурации. Период задается при конфигурировании.

Slazonger
11.05.2012, 12:27
Да, это я читал, а вот сам механизм работы ШИМ непонятен. Подается единица на реле и что? Как ШИМ работает? Пока на управление реле идет единица, отрабатывается ШИМ, установленный в конфигурации, так получается? И еще, хотелось бы спросить про PV_0 - там что должно быть? Значение, с которого запускается регулирование? Тогда нужно при старте ПИДа записывать туда текущее значение температуры, так? Не ругайтесь сильно, но очень хочется понять работу ШИМ для этого контроллера.

IVM
11.05.2012, 12:49
Да, это я читал, а вот сам механизм работы ШИМ непонятен. Подается единица на реле и что? Как ШИМ работает? Пока на управление реле идет единица, отрабатывается ШИМ, установленный в конфигурации, так получается? И еще, хотелось бы спросить про PV_0 - там что должно быть? Значение, с которого запускается регулирование? Тогда нужно при старте ПИДа записывать туда текущее значение температуры, так? Не ругайтесь сильно, но очень хочется понять работу ШИМ для этого контроллера.

При ШИМ-методе регулирования меняется длительность включенного состояния дискретного выхода при неизменном периоде следования импульсов. Если ведется управление задвижкой, то формируется два импульса - больше/меньше, которые подаются на два дискретных выхода. Длительность импульса задается ПИД-регулятором в зависимости от величины рассогласования.
Для понимания работы ШИМ можно почитать РЭ на ПИД-регуляторы ТРМ10, ТРМ12. В свое время я "писал" ПИД-регулятор для ПЛК100 и пользовался этими руководствами.

Slazonger
11.05.2012, 13:15
Я видать, не умею вопросы задавать. Я понимаю, что меняется длительность импульса ШИМ при постоянном периоде. Мне непонятно другое - в конфигурации ПЛК мы задаем для выхода мин. длительность импульса шим и период. Есть значения по умолчанию. Как теперь эти значения завязаны с теми, что выдает ПИД-регулятор. Ведь он по своему их выдает, в зависимости от рассчитанных коэффициентов. Или ФБ APID_PWM учитывает конфигурацию выходов?

IVM
11.05.2012, 13:29
Я видать, не умею вопросы задавать. Я понимаю, что меняется длительность импульса ШИМ при постоянном периоде. Мне непонятно другое - в конфигурации ПЛК мы задаем для выхода мин. длительность импульса шим и период. Есть значения по умолчанию. Как теперь эти значения завязаны с теми, что выдает ПИД-регулятор. Ведь он по своему их выдает, в зависимости от рассчитанных коэффициентов. Или ФБ APID_PWM учитывает конфигурацию выходов?
То что Вы задаете в конфигурации будет граничными значениями, т.е. период следования импульсов будет таким, какой задан, а длительность импульса будет меняться от заданного минимума до максимума. Что тут непонятного. Почитайте РЭ, которые я указал и многое станет понятно.

Slazonger
11.05.2012, 16:01
Спасибо, многое стало ясно

lara197a
11.05.2012, 17:54
6073В настройках выхода.

Slazonger
12.05.2012, 02:24
C конфигурацией я разобрался, не знал только каким боком она с PID связана.
А что насчет PV_0 в ФБ APID_PWM? Какое значение там должно быть? Читал описание библиотеки PID_REG2, но там смутно написано. Это текущее значение измеряемой величины, с которого начинается регулирование в данный момент? Поясните.

Малышев Олег
12.05.2012, 09:02
Условно говоря PV_0 - комнатная температура. Т.е. если выключить регулятор совсем и дать остыть - что будет на входе PV.

Slazonger
13.05.2012, 06:31
Извините, до конца проясню. PV_0 не нужно указывать каждый раз при начале регулирования? То есть, включил печь -> вышел на уставку -> выдержка - > выносим продукцию - > температура падает - > закатили новую партию - > начался новый выход на уставку и вот в этот момент мне не требуется изменить PV_0 на текущую в программе?

Slazonger
14.05.2012, 12:27
сделал так - при запуске регулирования записываю текущее значение температуры в печи в PV_0. Не знаю, правильно, нет? Здесь просто такой процесс - вытащили продукцию, температура упала на сколько-то. Закрыли дверь, нажали старт - начался новый процесс регулирования, но он уже не стого значения, которое раньше было записано в PV_0, а с текущего в печи. Правильно или нет?

Алексей Дмитриев
17.05.2012, 23:23
:p Б... если на выходе 0,5 - скважность равна двум, если меньше, то меньше 2-х, если больше, то ... Че тут непонятно? Период задается при конфигурации, Вам-же все объяснили!

Slazonger
18.05.2012, 02:46
Я написал выше, что уже понял это, спасибо за напоминание. Меня сейчас интересует вопрос про PV_0. Кроме того, скважность = 2 - не маловато ли? Может 50%?

Columbariy
25.08.2012, 00:06
Есть пример ШИМ П-регулятора на 63. пиши в личку

Slazonger
25.08.2012, 06:20
Спасибо, но тема не актуальна. Уже давно.