Request: пример с стандартным ПИД-регулятором

Промышленные Логические Контроллеры SIMATIC S7-200/300/400
Post Reply
a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

Request: пример с стандартным ПИД-регулятором

Post by a_gricaj » Thu Jul 07, 2011 12:29 pm

Кинте ссылку на пример с стандартным ПИД-регулятором, плз)
Искал, и на форуме толком нет ничего, а некоторые ссылки вообще не работают ((

Oldman
Posts: 797
Joined: Tue Aug 21, 2007 7:05 am

Re: Request: пример с стандартным ПИД-регулятором

Post by Oldman » Thu Jul 07, 2011 7:19 pm

viewtopic.php?f=9&t=10321 , viewtopic.php?f=9&t=11293 , viewtopic.php?f=9&t=8169

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

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

Re: Request: пример с стандартным ПИД-регулятором

Post by a_gricaj » Fri Jul 08, 2011 11:51 am

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

Какую входную величину лучше подавать - реал или в формате переферии и т.д.

Oldman
Posts: 797
Joined: Tue Aug 21, 2007 7:05 am

Re: Request: пример с стандартным ПИД-регулятором

Post by Oldman » Fri Jul 08, 2011 12:08 pm

там на одной из ссылок есть линк на сайт komatic http://www.plc4good.org.ua/view_post.php?id=97 (это как пример).если поизучаешь сайт то и пример найдешь.ну и последнее пробуй сам писать и пытайся настраивать ПИД .ну все же есть на сайте достаточно включить мозги и напрячься.сходи на форум официальный сименса там при прочтении постов многому можно научится.есть еще такой сайт http://s7-facility.blogspot.com/ на нем тоже можно подчерпнуть много всего.ну ленишься же.скажи что я не прав.меня еще и поимели админы.кто хочет развиваться найдет способ.другое дело если б было видно что делал усилия и ничего не получается а так лень твоя виновата.звиняйте если слишком резко но на правду не обижаются.

CHANt
Posts: 501
Joined: Tue Jun 27, 2006 5:52 am
Location: Russia

Re: Request: пример с стандартным ПИД-регулятором

Post by CHANt » Sat Jul 09, 2011 7:03 pm

a_gricaj wrote:Интересует минимальный набор параметров которые нужны для работы регулятора. Понял, что блок регулятора надо вызывать в ОВ85 напр. или в друм в зависимости от необходимомого периода опроса - а дальше??

Какую входную величину лучше подавать - реал или в формате переферии и т.д.
1) Регулятор надо вызывать в двух организационных блоках:
а) в ОВ100 вызвать со своим экземплярным блоком данных, можно не задавать входы/выходы только параметр "COM_RST" установить в единичку. Это нужно чтобы сбросить промежуточные расчеты в DB, после запуска ЦПУ, чтобы регулятор начал работать с начальными параметрами.
б) в ОВ35, которому можно задать время периодичности вызова в HWConfig, в настройках ЦПУ, в ОВ35 и выполняется конфигурирование всех входов/выходов.
2) Минимальные данные? А какой регулятор ты выбрал для работы? В общем случае:
Входа:
а) "COM_RST" в ноль
б) "MAN_ON" включить ручной режим управления
в) "MAN" задать величину открытия/закрытия в ручном режиме управления
г)"CYCLE" период расчет данных в функциональном блоке
д)"CYCLE_P" период вызова FB, обычно равный вызову ОВ35
е) "SP_INT" величина уставки
ж)"PV_IN" или "PV_PER",тут уж выбирай как удобней. Я обычно конвертирую в контроллере все датчики сразу и работаю REALовской величиной, соответственно вход "PV_IN"
Далее, я не знаю какой тип регулятора у тебя
Выхода:
"LMN" либо "LMN_PER" опять же дело вкуса. Для "LMN" реаловскую величину нужно будет конвертнуть через FC106
Обычно вся сименсовская документация по ПИДам подкреплена примерами с моделью, т.е. можно "вживую" погонять на симуляторе. В доке написано, как называется пример, обычно он ставится вместе со Step7.

P.S. "Старый", хорош бурдеть! В отпуск надо иногда ходить! :D

Oldman
Posts: 797
Joined: Tue Aug 21, 2007 7:05 am

Re: Request: пример с стандартным ПИД-регулятором

Post by Oldman » Sun Jul 10, 2011 5:15 am

все что CHANT объяснил, есть тут с примерами http://old.automation-drives.ru/as/prod ... %CE&l3=doc надо тока сделать над собой усилие ну или захотеть в чем либо разобраться.сименс наверное одна из лучших контор, если не самая лучшая по техподдержке.официальных доков по базовым вещам море в том числе на русском .читай не хочу.смотреть тут страничку что привел надо Internet Explorer а не другими модными браузерами.
P.S.за советы спасибо

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

Re: Request: пример с стандартным ПИД-регулятором

Post by a_gricaj » Mon Jul 11, 2011 1:02 pm

Спасибо Вам CHANt за помощь - всегда помогаете.

Но пока не получается:
Создал я в контроллере FB41-CONT_C (ПИД регулятор) и его экземплярный блок DB41, есть также ОВ1, ОВ35, ОВ86, ОВ88, ОВ100, ОВ120 и ОВ121
В ОВ1 вставляю FB41 (без задания параметров) - заливаю в контроллер ошибки нет, открываю ОВ35 и прописываю вызов FB41 на STL:

Code: Select all

        UC FB 41
И появляется вот такая ошибка в диагностическом буфере:
Diagnostic buffer of module CPU 416-2 DP
Show
Order No./ Description Component Version
6ES7 416-2XK04-0AB0 Hardware 2
- - - Firmware V 4.0.3
Rack: 0
Slot: 3
Serial number: SVPT3373834

Event 1 of 110: Event ID 16# 2523
Area length error when writing
Instance DB, word access, Access address: 76
FB number: 41
Module address: 1412
Requested OB: Programming error OB (OB121)
Priority class: 12
Internal error, Incoming event
01:44:52.001 AM 01/01/1994

Event 2 of 110: Event ID 16# 2523
Area length error when writing
Instance DB, double-word access Access address: 72
FB number: 41
Module address: 1350
Requested OB: Programming error OB (OB121)
Priority class: 12
Internal error, Incoming event
01:44:52.001 AM 01/01/1994

Event 3 of 110: Event ID 16# 2522
Area length error when reading
Instance DB, double-word access Access address: 60
FB number: 41
Module address: 1340
Requested OB: Programming error OB (OB121)
Priority class: 12
Internal error, Incoming event
01:44:52.001 AM 01/01/1994

Event 4 of 110: Event ID 16# 2522
Area length error when reading
Instance DB, double-word access Access address: 56
FB number: 41
Module address: 1334
Requested OB: Programming error OB (OB121)
Priority class: 12
Internal error, Incoming event
01:44:52.001 AM 01/01/1994
Что я неправильно делаю??????

CHANt
Posts: 501
Joined: Tue Jun 27, 2006 5:52 am
Location: Russia

Re: Request: пример с стандартным ПИД-регулятором

Post by CHANt » Mon Jul 11, 2011 5:02 pm

Не толкай регулятор в ОВ1! На то он и ОВ1 что у него самый низкий приоритет. Т.е. ОВ1 приостанавливает выполнение, когда другие ОВ вызываются. На это в документации на любой регулятор и указывают. Либо тогда специальные меры принимай, чтобы Cycle_P содержал реальные данные о времени выполнения ОВ1. Лучше вставь в ОВ35.

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

Re: Request: пример с стандартным ПИД-регулятором

Post by a_gricaj » Mon Jul 11, 2011 5:08 pm

Все работает (регулирование частоты привода через частотник и аналоговый датчик уровня) но есть програмная ошибка (горит INTF)
и ошибка похожая на ту, что раньше была.

То-есть лучше регулятор с параметрами запихнуть в функцию или в ОВ35 вставить???

А в библиотечном FB41 нет параметра Cycle_P. как тут поступать?

Запихнул регулятор в функцию - ошибка осталась(По аналогии из прогой которая работает у меня на заводе- хочу разобраться), где я могу быть не прав???

sania
Site Admin
Posts: 1371
Joined: Sat Aug 13, 2005 6:15 am
Contact:

Re: Request: пример с стандартным ПИД-регулятором

Post by sania » Mon Jul 11, 2011 5:52 pm

ааа ,сори,увидел что раньше выдал буфер
тогда сделай так:
сотри дб из списка блоков
открой там где вызываешь пид
сотри вызов дб
впиши снова
подтверди его создание
сохрани
загрузи в плк дб
a_gricaj wrote:По аналогии из прогой которая работает у меня на заводе- хочу разобраться
только если сама функция вызывается из об35,тогда будет работать правильно
вот пример
Image

CHANt
Posts: 501
Joined: Tue Jun 27, 2006 5:52 am
Location: Russia

Re: Request: пример с стандартным ПИД-регулятором

Post by CHANt » Mon Jul 11, 2011 6:11 pm

Не знаю, почему у тебя ЦПУ ругается на экземплярный блок данных, может что-то с ним делал? Попробуй удалить и создать снова. (Собственно, Sania уже подсказал) :)
Pid_fb41.zip - сконфигурировал, грузится в симулятор без проблем. Можешь посмотреть - включил П+И+Д, сконфигурировал ручное управления, задал уставку, задал датчик, определил в каком диапазоне будет лежать выход регулятора (0..100%), задал цикл расчета. в ОВ100 тоже показал как сбрасываются статические переменные.

dmitry_79
Posts: 149
Joined: Sun Dec 20, 2009 1:30 pm
Location: Russia

Re: Request: пример с стандартным ПИД-регулятором

Post by dmitry_79 » Tue Jul 12, 2011 4:56 am

А про построение каскадных регуляторов на базе FB41 есть какая нибудь информация? Примеры? Все что сумел найти в документации - это краткое упоминание о возможности построения сложных регуляторов... ничего конкретного...

Best regards!


a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

Re: Request: пример с стандартным ПИД-регулятором

Post by a_gricaj » Tue Jul 12, 2011 1:22 pm

Пока не получается - все равно висит эта програмная ошибка

Может у кого будет время, посмотрите плз мою програму (ткните носом - где я партачу), ссылка - http://webfile.ru/5434809
а пока попробую пример от CHANt

sania
Site Admin
Posts: 1371
Joined: Sat Aug 13, 2005 6:15 am
Contact:

Re: Request: пример с стандартным ПИД-регулятором

Post by sania » Tue Jul 12, 2011 7:13 pm

блин так зачем его 2 раза вызывать? в об1 и об35,дак ещё и без DI!
вызов фс1 перенеси в об35,а то что там сотри

P.S.возьми-ка ты лучше проект CHANt`a и не парь мозги
P.S.S. конструкция UC FB 41 подразумевает что перед ней ты задал ВСЕ необходимые ей данные
т.е. перед этим должно быть как минимум OPN DI 41

CHANt
Posts: 501
Joined: Tue Jun 27, 2006 5:52 am
Location: Russia

Re: Request: пример с стандартным ПИД-регулятором

Post by CHANt » Tue Jul 12, 2011 7:57 pm

Можно еще добавить:
1) Зачем открывать DB41 (это экземплярный DB) командой "OPN"? Не надо. Открываются DB в теле какой нибудь функции, чтобы работать с прямой адресацией, типа: DBW2. Если его не открывать, то вид адресации будет: DB41.DBW2. А ты открыл DB и тут же обращаешься к ней по полной адресации (это я про ОВ1, раздел с частотником).
2) Отключи Д составляющую. Для уровня она тебе не нужна. Ты ее физический смысл понимаешь?
3) переключение на ручной режим (MAN_ON) и задание уровня открытия (MAN) вытащи на панель. Будет удобно тестировать регулятор и если надо отключать.
4) Обрати внимание на значения границ выхода LMN, это параметры LMN_HLM=100.0 и LMN_LLM=0.0. Если их сделать соответственно LMN_HLM=85.0 и LMN_LLM=5.0 ТО регулятор на выходе даст не более 85 условных единиц и не менее 5 условных единиц. Удобно очень оставлять некий пропуск по нижнему порогу (с точки зрения ТБ), так как регулятор не является отсекающим устройством. Или например, у тебя управляющий сигнал не 0..10В, а 2..10В.
5) LMN... Вообще есть стандартная FC106, аналогичная FC105 тобой использованная. Но, если у тебя управляющий сигнал в полном диапазоне: 0..10В, 4..20мА, 0..20мА, то тут лучше применить наверное LMN_PER, так как выход у тебя с контроллера идет. Т.е. сразу PQW518 задать.
В общем, не забывай ткнуть в FB41 мышкой и нажать F1

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

Re: Request: пример с стандартным ПИД-регулятором

Post by a_gricaj » Wed Jul 13, 2011 4:01 pm

Все получилось (сделал как советовал sania) - когда стал вызывать FC1 (а в FC1 вызываеться блок регулятора) в ОВ35 - ошибка пропала

1. Я вызывал регулятор и в ОВ35 и в FC1 - так получается нельзя? Почему??

2. Но есть работоспособный вариант когда в ОВ35 вызываеться функциональный блок регулятора строкой: UC FB41(ПИД-регулятор), и тогда больше нигде не надо вставлять FB41, а параметрирование FB41 в таком случае следует делать через его экземплярный блок??????

CHANt
Posts: 501
Joined: Tue Jun 27, 2006 5:52 am
Location: Russia

Re: Request: пример с стандартным ПИД-регулятором

Post by CHANt » Wed Jul 13, 2011 4:21 pm

a_gricaj wrote:1. Я вызывал регулятор и в ОВ35 и в FC1 - так получается нельзя? Почему??
А как ты себе представляешь работу одного и того же два раза? В расчетах мешанина будет, результат не предсказуем...
a_gricaj wrote:2. Но есть работоспособный вариант когда в ОВ35 вызываеться функциональный блок регулятора строкой: UC FB41(ПИД-регулятор), и тогда больше нигде не надо вставлять FB41,
Второй раз только в ОВ100 надо вызывать его, для сброса stat-переменных DB41 при старте контроллера.
a_gricaj wrote:а параметрирование FB41 в таком случае следует делать через его экземплярный блок??????
Да.
А какую цель ты преследуешь вызовом UC? Левой ногой, правое ухо? :)

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

Re: Request: пример с стандартным ПИД-регулятором

Post by a_gricaj » Wed Jul 13, 2011 4:32 pm

Понял БОЛЬШОЕ СПС за разяснения)

sania
Site Admin
Posts: 1371
Joined: Sat Aug 13, 2005 6:15 am
Contact:

Re: Request: пример с стандартным ПИД-регулятором

Post by sania » Wed Jul 13, 2011 6:43 pm

ошибка пропала не от переноса фс,а от удаления UC
в оригинальной проге скорей всего перед UC задан DI

а вообще прикольно, в 400-м при 5 строчках кода, скан об1 должен быть 1-2 мсек,а в настройках пид - 100.
т.е. его ошибка в 50 раз
если это тебя удовлетворяет...он же работает как он/офф,может задуматься о том что пид и не нужен?

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

Re: Request: пример с стандартным ПИД-регулятором

Post by a_gricaj » Thu Jul 14, 2011 3:08 pm

А, что ты меешь ввиду под "ДИ"??????????????????????

sania
Site Admin
Posts: 1371
Joined: Sat Aug 13, 2005 6:15 am
Contact:

Re: Request: пример с стандартным ПИД-регулятором

Post by sania » Thu Jul 14, 2011 4:17 pm

извиняюсь,лень было переходить с языка на язык :haha:
DI : инстанс дата блок.
вызов : CALL FB41, DB41 ,подразумевает : вызвать FB41 с DI41

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

Re: Request: пример с стандартным ПИД-регулятором

Post by a_gricaj » Thu Jul 21, 2011 8:13 am

СПС

Post Reply