20.02.2016, 17:43 | #1 |
Senior Member
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Настройка с помощью Autotuning.psl
Арсений Евдокимович, не укажете первоисточник формул вычисления ПИ коэффициентов?
Есть желание попилить эту программу для вычисления отдельно ПИ и ПИД коэффициентов. __________________ Всё, что нельзя выразить в цифрах — это не наука, это — мнение. |
22.02.2016, 01:47 | #2 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Настройка с помощью Autotuning.psl
Цитата:
С момента создания Автоюнинга, кстати, многие алгоритмы получили развитие и в этом году или следующем будет выпущена вторая версия на базе Трима. Также в Конструкторы будет либо внедрена новая серия AI-регуляторов, либо элементы их алгоритмов. Это позволит компенсировать более грубые ошибки подбора ПИ, вплоть до полного устранения необходимости подбора коэффициентов в условно-линейных устройствах. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
26.02.2016, 17:44 | #3 |
Senior Member
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Настройка с помощью Autotuning.psl
Исходным (с сайта) пользоваться нормально не получилось.
Не определял точно фронты и спады. Проблема в том, что в алгоритме программы, в том макросе который отслеживает фронты и спады, на момент фиксации фронта или спада запоминается значение разности температур,и в случае если разница уменьшается, то запускается таймер "окна", и по окончанию счёта выдается сигнал что фронт или спад закончен. Переделал макрос - теперь фронт или спад определяется по условию, что в течение выдержки таймера "Окно" температура разницы между 10 тиками будет более заданной в "Зона". Иначе - фронт или спад закончились. Теперь фронты и спады будут определяться не только для абсолютно ровного пологого (или падающего, обратно логарифмического) фронта или спада, но и для логарифмического. Далее. Описание работы к программе не соответствует действительности. tmax (Max t объекта) - температура которая достигается при Umax (Кран-открытый, %) = 100 (либо, при ограниченном динамическом диапазоне - температура максимально достижимая) (°С). tmin (Min t объекта) - температура которая достигается при Umin (Кран-закрытый, %) = 0 (либо, при ограниченном динамическом диапазоне - температура минимально достижимая (°С). Вр.молчания, сек - время паузы между окончанием одного, и началом следующего измерения. Я, для верности, выбрал Td*6 (120 сек). Uступ. (Кран-ступень, %) - задание уровня выхода, при котором будет происходить измерение. Лучше делать в середине действительного диапазона (0...100) Umin (Кран-закрытый, %) - задание уровня выхода, при котором начинается изменение температуры (0...100). Umax (Кран-открытый, %) - задание уровня выхода, при котором заканчивается изменение температуры (0..100). (Окно) - временной интервал, в течение которого отслеживается наличие фронта, или спада. При неуверенном определении, увеличить (тик). (Зона) - температура °С. Если разница температур между 10 тиками будет более заданной в течение времени "Окно", то это фронт или спад (°C). Иначе вышли на полку, и формируется сигнал "Выдержка". При работе макроса - ждать когда температура стабилизируется (включается Uступ.), после этого нажать F2. После первой отработки макроса (выставить в настройках перед этим Umin=0 и Umax=100, температуру любую), засечь минимальную и максимальную температуру и вбить в настройки. После этого выставить в настройках "Вр.молчания, сек"= допустим 500, и начинать увеличивать Uступ. от 5% и выше, с шагом 5%. После каждого изменения Uступ. выжидать пока температура не перестанет меняться. Засечь первое (начальное повышение) изменение температуры, это Uступ. будет равно Umin. При Uступ. когда температура перестанет увеличиваться, это будет равно Umax. Адекватные измерения получаются при задании Ucтуп.= 30..40% от действительного диапазона. Для перезапуска измерения дважды нажать F2 (после первого обнуляются значения предыдущего измерения, второе нажатие запускает новое измерение). Формулы расчета dP=tmax(изм)-tmin(изм) Td=Т(от начала изм. до начала спада) - Т(Окно) Тс=Т(фронт) или Т(спад) кто больше dM=(U(ступ) - U(закр))/10 T%=100/(tmax-tmin) U%=100/(Umax-Umin) PI(P)=(T%*dP)/(U%*dM) PI(I)=PI(P)/(75/((Tc*3)+(Td*8)))+0.08 PID_raschet.xls При Td - 150 sec Tc - 20 sec dU - 300 dD - 26 °C При вычислении согласно Segnetics PID_raschet.xls получаем Kp=8.08, Ki=360. В реальной обстановке не применимо - слишком долгий выход на уставку. Td - время задержки (сек) Tc - время реакции (сек) dU - изменение управляющего воздействия (отрезок диапазона) (15...1015) dD - изменение состояния объекта (t, °C) Kp= (dU/dD)*0.7 Ki=(Tc*2)+(Td*3) Итого: Расчёты в программе и файле exel значительно отличаются. Исходной программой практически невозможно пользоваться, расчётами из файла exel пользоваться вообще невозможно. Весёлые картинки №1 и №2 __________________ Всё, что нельзя выразить в цифрах — это не наука, это — мнение. Последний раз редактировалось Arsie, 07.04.2016 в 11:10 |
27.02.2016, 01:20 | #4 |
Senior Member
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Настройка с помощью Autotuning.psl
to Arsie
Исправьте пожалуйста в предыдущем сообщении "При Td - 150 sec Tc - 20 sec" на "При Tc- 150 sec Td - 20 sec" ошибся случайно __________________ Всё, что нельзя выразить в цифрах — это не наука, это — мнение. |
29.02.2016, 12:29 | #5 |
Senior Member
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Настройка с помощью Autotuning.psl
Прикладываю полученные результаты.
__________________ Всё, что нельзя выразить в цифрах — это не наука, это — мнение. |
05.03.2016, 23:50 | #6 |
Senior Member
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Настройка с помощью Autotuning.psl
А от Арсения Евдокимовича никаких комментариев не будет?
Есть замечания, либо пожелания ? У граждан практикующих - минимальная и максимальная транспортная задержка ? __________________ Всё, что нельзя выразить в цифрах — это не наука, это — мнение. |
09.03.2016, 09:56 | #7 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Настройка с помощью Autotuning.psl
Зачем мне это комментировать?
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
07.04.2016, 10:43 | #8 |
Senior Member
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Настройка с помощью Autotuning.psl
Переделал определитель. Были ложные определения фронта и спада при выходе на полку.
__________________ Всё, что нельзя выразить в цифрах — это не наука, это — мнение. |
07.04.2016, 11:11 | #9 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Настройка с помощью Autotuning.psl
На живом объекте испытывали?
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
07.04.2016, 12:11 | #10 |
Senior Member
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Настройка с помощью Autotuning.psl
На микрообъекте Лампочка, датчик, вентилятор ....
Трендлог, на котором видно, что выдержка обрывается при выходе на полку - не сохранял за ненадобностью. Проверял при каких значениях "зона" и "окно" вычисления будут максимально близки к вычислению по Николсу-Циглеру. На моём стенде, получается что при "окно"=20 и "зона"=0.05 Характеристики объекта и отчет о работе прилагаю. __________________ Всё, что нельзя выразить в цифрах — это не наука, это — мнение. |
07.04.2016, 12:30 | #11 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Настройка с помощью Autotuning.psl
Понятно. Объект с максимально возможной линейностью. Предельно тепличные условия.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
07.04.2016, 12:44 | #12 | |
Senior Member
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Настройка с помощью Autotuning.psl
Цитата:
Там и ограничение динамического диапазона есть, и нелинейность динамической характеристики, и транспортное запаздывание. На любой вкус и цвет. Если данный объект не устраивает - дайте характеристики тестового объекта - смоделирую. __________________ Всё, что нельзя выразить в цифрах — это не наука, это — мнение. |
|
07.04.2016, 12:50 | #13 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Настройка с помощью Autotuning.psl
Цитата:
Я в своё время тоже пытался заменить живые установки моделями. После чего постиг мудрость, что модели лишь сокращают период отладки алгоритмов, но никак не могут быть основой для построения этих алгоритмов. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
07.04.2016, 13:02 | #14 | |
Senior Member
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Настройка с помощью Autotuning.psl
Цитата:
Повторяю - у меня не математическая модель калорифера и датчика - а вполне себе очень даже физическая установка (только маленькая, чтобы не ждать по полчаса окончания расчётов). Но всё это приведёт лишь и растягиванию графика и другим коэффициентам, но никак не скажется на алгоритмах вычисления. __________________ Всё, что нельзя выразить в цифрах — это не наука, это — мнение. |
|
07.04.2016, 13:12 | #15 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Настройка с помощью Autotuning.psl
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
12.04.2016, 17:32 | #16 |
Senior Member
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Настройка с помощью Autotuning.psl
Уточняю формулы расчета (недоглядел).
dP=tmax(изм)-tmin(изм) Td=Т(от начала изм. до начала спада) - Т(Окно) Тс=(Т(фронт) или Т(спад) кто больше)/dP*12.6 dM=(U(ступ) - U(закр))/10 T%=100/(tmax-tmin) U%=100/(Umax-Umin) PI(P)=(T%*dP)/(U%*dM) PI(I)=PI(P)/(75/((Tc*3)+(Td*8)))+0.08 Т(фронт) или Т(спад) кто больше) - можно засечь и с секундомером. По не изменению температуры. 12.6 - нормирована к какой-то таблице? Как я нашёл - время Tc нормируется от уровня 0,63 перепада от Тмин к Тступ. (Если Тмин принять за 0, а Тступ принять за 1). В данной программе это не учитывается. Вот если сделать в программе два прогона (либо вручную установить Uступ и потом вбить Тступ (что я думаю будет лучше)) - то можно сделать отлов времени Тс автоматически. __________________ Всё, что нельзя выразить в цифрах — это не наука, это — мнение. |
08.06.2016, 23:55 | #17 |
Senior Member
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Настройка с помощью Autotuning.psl
Что, никто не пользуется данной программой?
Ни у кого нет практических наработок? Или все подбирают коэффициенты эмпирическим путём? Есть мысли, при старте вентустановки, запускать алгоритм вычисления коэффициентов при реакцию на ступеньку. Кто что сможет по этому поводу сказать? __________________ Всё, что нельзя выразить в цифрах — это не наука, это — мнение. |
09.06.2016, 12:25 | #18 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Настройка с помощью Autotuning.psl
Цитата:
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
09.06.2016, 14:02 | #19 |
Senior Member
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Настройка с помощью Autotuning.psl
Можно при каждом, можно из меню...
Тут не принципиально ... Тут надо анализировать что-бы дельта между наружной температурой и теплоносителем была в некотором коридоре. __________________ Всё, что нельзя выразить в цифрах — это не наука, это — мнение. |
09.06.2016, 15:29 | #20 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Настройка с помощью Autotuning.psl
Цитата:
Есть варианты и поинтереснее и получше, чем гонять циклы настройки в тему и не в тему. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
09.06.2016, 15:42 | #21 |
Senior Member
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Настройка с помощью Autotuning.psl
И какие ?
__________________ Всё, что нельзя выразить в цифрах — это не наука, это — мнение. |
09.06.2016, 15:54 | #22 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Настройка с помощью Autotuning.psl
Об этом предпочту помолчать, занимаясь внедрением в Конструкторы.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |