Добрый день!
Есть трехходовой клапан, один сигнал на открытие, другой на закрытие. Клапан стоит на подмес теплых полов.
На трубе датчик Pt100. Как организовать управление через LOGО SOFT? Какие блоки...С Пи-регулятором не получается чего-то...сообразить не могу как сделать так чтобы при превышении уставки аналогового входа шел вызод релейный на закрытие и наоборот....Буду признателен...
AndreyStr
17.1.2017, 12:39
Мне не понятно почему вы не используете 3-х ходовой с 0,,10 вольт. Там куда всё интереснее.
Аналоговый пороговый выключатель + подстройка на гистерезис (+/- несколько градусов) имеет релейный выход на релейку.
0-10В это с аналоговым управлением...0-0%открытия, 10В-100%открытия...Дело в том, что для этого нужно иметь аналоговые выходы, которые доступны только с расширением...Делаю для себя, потому покупать доп. блок не охото....
serge197a
17.1.2017, 16:13
Тогда строится модель.
1 время открытия
2 Время реакции
3 люфт
4 минимальная длительность импульса.
к примеру время полного хода 30сек
Время реакции 0.5с
люфт 0.1с
при движении в одну сторону люфт не учитывается
при смене направления люфт прибавляется
исходя из этого на реле подаются сигналы заданной длительности
В крайних положениях, для выбора ошибки позиции подают дополнительные
минимальные импульсы. к примеру раз в 10сек.
При первом включении или при потере напряжения
задвижка выводится в ноль, потом позиционируется.
Примерно так.
Теоретически понятно все...люфты, время полного открытия/закрытия....Мне именно физически не понятно как это реализовать в виде FBD диаграммы в LOGO! SOFT/// Я имею в виду как из входного аналогового сигнала получить два дискретных выхода....вооот....Спасибо!!!
AndreyStr
17.1.2017, 16:52
при каких ангалоговых значениях тебе надо открытие /закрытие
и такой момент у тебя ведь есть модуль расширения для рт100, если нет, то нифига не получиться
serge197a
17.1.2017, 17:00
Писать в лого долго.
Проще купить регулятор за 1000р
На али дешевле.
LOGO v8.1 есть уже....Расширение для pt100 тоже есть...Вот сижу думаю может правда докупить модуль аналоговых выходов? Клапаны с аналоговым управлением дороже только...Вообщем двойная наценка получается....Кстати...В случае аналогового клапана можете накидать схемку регулятора...Вход PT100, уставка 40град., выход должен быть 0-10В для управления клапаном...Если не сложно канешн....Просто я на LOGO ПИ регуляторы никогда не делал в принципе...Сложно мне разобраться что-то пока....Спасибо всем Братья!!!!!
Улыбнуло. А разве есть разница на чём делать ПИ регулятор?
Вместо Лого 8.1 можно было купить любой контроллер со встроенной программой и не ломать мозг.
Кстати в библиотеке Лого есть встроенные ПИ регуляторы
grenka...LOGO с блоками расширения нужен мне не только для построения ПИ регулятора естественно...Ставлю себе в дом загородный. На этом реле реализовал управление насосами водоснабжения, канализации, уличного освещения...Вот решил "прикрутить" к нему котельную...Для простого регулятора подошел бы какой-нибудь ТРМ от Овен...Блок ПИ регулятора там есть, понимаю как аналоговый вход на него завести, масштабируется для pt100 автоматически....А вот как на аналоговый выход подать управляющий сигнал не соображу пока...
manjey73
17.1.2017, 17:56
Лучше тут все за вас мороженое скушают....
Такое ощущение, что людям нечем заняться по жизни. Хотя могу дать совет, попросите на Овеновском форуме сделать алгоритм управления исходя из задачи, потом адаптируете на LOGO, правда даже в таком варианте заеметесь...
з.ы. для ТП не надо делать постоянное регулирование, лучше сделать сетку
Т такая-то от и до, открыт на 15%
Следующий диапазон Т открыт на 50%
И так далее.
Все делать через закрытие и потом открываем на нужное и так держим, пока не изменится Т.
На "овеновском" форуме "другие" люди сидят что ли? Я думаю для того, кто сделал некоторое кол-во программ с таким регулятором, не составит большого труда сделать скрин или даже выложить часть программы в исходнике...дело пяти минут...я не прошу сделать за меня программу, прошу дать пинка в нужном направлении доходчиво...Спасибо!
Может есть какая-то типовая программа, например, для управления частотником по 0-10В/4-20mA в зависимости от давления или еще от чего с аналоговым заданием...Принцип тот же самый я так понимаю...
Жду пинка=)
manjey73
17.1.2017, 22:44
На овеновском форуме выложено много программ и макросов. Пользуйтесь не хочу. Только надо будет адаптировать, так как функционал FBD блоков у Logo! отличается.
и ПИДы там есть и многое другое.
Адаптация то еще занятие, просто сам занимался переносом программ с одного ПР на другое, и с Logo на Овен в том числе.
Но лучшего решения вряд ли кто предложит.
А ради спортивного интереса там могут и для вашего случая пример накидать. Но только для Овен ессно.
Цитата(Cdm84 @ 17.1.2017, 18:08)

...дело пяти минут...
Жду пинка=)
http://w3.siemens.com/mcms/programmable-lo...es/Default.aspxСовет бесплатно, проги и скрины за деньги ... бизнес, ничего личного.
Вообще как видится. Должен быть счетчик импульсов, который в зависимости от аналогового управления будет выдавать импульсы на открыть и закрыть от 0 до 100%. Следить в какую сторону изменяется аналоговая величина и насколько изменяется. в ту же сторону давать нужное количество импульсов.
Если что не так, закрываем и выставляем от нуля время от времени для корректировки.
Сергей А. Ефремов
18.1.2017, 10:28
Цитата(Cdm84 @ 17.1.2017, 16:19)

Теоретически понятно все...люфты, время полного открытия/закрытия....Мне именно физически не понятно как это реализовать в виде FBD диаграммы в LOGO! SOFT/// Я имею в виду как из входного аналогового сигнала получить два дискретных выхода....вооот....Спасибо!!!
Раз в Х сек (упрощённо время полного хода клапана) сравниваете задание с фактической температурой, в зависимости от знака подаёте сигнал, длительность которого расчитывается делением времени полного хода клапана на отношение (в зависимости от того на что влияет клапан) дельты температур при полностью закрытом клапане и полностью открытом к разнице между заданием и фактическим значением, на соответствующий выход.
Как вы опишете это в программе - думайте сами. ))
Сергей А. Ефремов
18.1.2017, 10:58
Дельту можно упрощённо задать равной 60.
Сергей А. Ефремов
18.1.2017, 12:24
Цитата(Сергей А. Ефремов @ 18.1.2017, 10:28)

Раз в Х сек (упрощённо время полного хода клапана)
Если отопление по комнатному датчику, то минут 10 можно задать смело, если "ловите" температуру теплоносителя, то тогда время клапана.
По идее ничего сложного.
Сигнал температуры - подаете на вход ПИ-регулятора.
Задание - +40 град.
Выход ПИ-регулятора (программный) допустим если он изменяется в диапазоне 0-10 подаете параллельно на два компаратора и на два блока ШИМ. Один компаратор сравнивает значение сигнала ПИД с величиной середины диапазона 5. Если сигнал больше чем 5 - компаратор своим выходом дает разрешение по входу En первому модулю ШИМ на управление открытием клапана сигналом 5...10. Сигнал перед ШИМ лучше преобразовать из 5...10 в 0...5, для чего пропустить его через блок обработки аналоговых значений, выполняющий функцию Uвых=(Uвх-5)
Второй компаратор срабатывает если сигнал с ПИ-регулятора меньше чем 5, тем самым своим выходом давая разрешение по входу En второму блоку ШИМ на управление закрытием клапана сигналом 0...5. (работа первого блока ШИМ при этом запрещена первым компаратором). Только перед подачей на ШИМ этот сигнал нужно инвертировать, пропустить через блок обработки аналоговых значений выполняющий функцию Uвых=(Uвх-5)*(-1), то есть из сигнала 5...0 делает 0..5.
Настроить коэффициенты ПИ-регулятора, ШИМ-регулятора. Профит. Еще можно задать порог срабатывания компараторов, чтобы клапан слишком часто не дергался при небольших отклонениях температуры от задания.
AndreyStr
23.1.2017, 15:44
Цитата(ANK1.RU @ 21.1.2017, 13:05)

По идее ничего сложного.
Сигнал температуры - подаете на вход ПИ-регулятора.
Задание - +40 град.
Выход ПИ-регулятора (программный) допустим если он изменяется в диапазоне 0-10 подаете параллельно на два компаратора и на два блока ШИМ. Один компаратор сравнивает значение сигнала ПИД с величиной середины диапазона 5. Если сигнал больше чем 5 - компаратор своим выходом дает разрешение по входу En первому модулю ШИМ на управление открытием клапана сигналом 5...10. Сигнал перед ШИМ лучше преобразовать из 5...10 в 0...5, для чего пропустить его через блок обработки аналоговых значений, выполняющий функцию Uвых=(Uвх-5)
Второй компаратор срабатывает если сигнал с ПИ-регулятора меньше чем 5, тем самым своим выходом давая разрешение по входу En второму блоку ШИМ на управление закрытием клапана сигналом 0...5. (работа первого блока ШИМ при этом запрещена первым компаратором). Только перед подачей на ШИМ этот сигнал нужно инвертировать, пропустить через блок обработки аналоговых значений выполняющий функцию Uвых=(Uвх-5)*(-1), то есть из сигнала 5...0 делает 0..5.
Настроить коэффициенты ПИ-регулятора, ШИМ-регулятора. Профит. Еще можно задать порог срабатывания компараторов, чтобы клапан слишком часто не дергался при небольших отклонениях температуры от задания.
А теперь тоже самое, но с учетом следующего
А) сигнал в лого приходит посредством измерения датчика РТ100 на модуль расширения для подключения датчиков температур типа РТ100/РТ1000
Б) РТ100 на температурах около 22-40 градусов, если мне память не изменяет пляшет около 2,8-3,6 вольта.
Цитата(AndreyStr @ 23.1.2017, 15:44)

А теперь тоже самое, но с учетом следующего
А) сигнал в лого приходит посредством измерения датчика РТ100 на модуль расширения для подключения датчиков температур типа РТ100/РТ1000
Б) РТ100 на температурах около 22-40 градусов, если мне память не изменяет пляшет около 2,8-3,6 вольта.
Простите, не понял вопрос. Какой отношение имеет физический тип датчика к программному алгоритму управления?
AndreyStr
24.1.2017, 9:56
Как по мне - прямое.
Если вы работали с лого и датчиками рт100/рт1000.
То засодить на аналоговые входа 0,,10 датчик пт100 вольт можно, но лого хреново работает (у овена это реализовать лучше получилось).
Поэтому немцы ввиду того,что они используют датчики рт100 сплошь и рядом, сделали модуль расширения под эти датчики.
Алгоритм будет работать...Но какой от него будет смысл, если тележка не поедет.
п.с. как по мне ваш предложенный алгоритм интересен
Лого я вообще не считаю за контроллер, это программируемое реле, на нем я делал только простейшие вещи на дискретных сигналах - управление фекальными насосами, управление автоматическими воротами, и т.д. Аналоговые его функции никогда не использовал. Просто автор спросил про алгоритм, я открыл библиотеку ЛогоСофт, увидел там знакомые блоки и предложил такой же алгоритм какой бы я сделал на нормальном ПЛК.
Цитата(AndreyStr @ 24.1.2017, 9:56)

То засодить на аналоговые входа 0,,10 датчик пт100 вольт можно, но лого хреново работает.
Поэтому немцы ввиду того,что они используют датчики рт100 сплошь и рядом, сделали модуль расширения под эти датчики.
Так автор же написал что у него есть модуль расширения под Pt100. С модулем тоже не работает? Что конкретно не работает?
AndreyStr
24.1.2017, 14:56
1. А никто здесь и не не писал о том,что ЛОГО - это ПЛК ... была ремарка о том,что в эти деньги можно было бы купить ПЛК.
2. Если вы отдаете себе отсчет, что ЛОГО есть программируемое реле (а это так и есть), то зачем руководствуетесь этой мыслью в письменной форме (предложил такой же алгоритм какой бы я сделал на нормальном ПЛК) и даете ложную надежду. в чем прикол я не понимаю. как можно путать мягкое с теплым.
3.
Цитата(ANK1.RU @ 21.1.2017, 13:05)

Выход ПИ-регулятора (программный) допустим если он изменяется в диапазоне 0-10
Вы можете это допускать, но програмируемое реле так не сработает. не выдаст вам пи регулятор такой диапазон.
manjey73
24.1.2017, 15:18
AndreyStr выдаст, для Logo вроде есть аналоговые выходы, а программно использовать этот сигнал можно и при отсутствии таковых.
Цитата(AndreyStr @ 24.1.2017, 14:56)

Вы можете это допускать, но програмируемое реле так не сработает. не выдаст вам пи регулятор такой диапазон.
Прошу прощения, но мне кажется вы никогда не программировали в FBD и не понимаете о чем я написал. Не важно какого диапазона сигнал (программный, а не железный) выдает модуль ПИ-регулятора у лого, пусть он будет не 0-10, а 0-1 или 0-100, это ни на что не влияет. Важно что этот сигнал нужно программного разделить на два равных диапазона, нижний диапазон будет управлять только клапаном на закрытие, а по верхнему диапазону будет работать клапан на открытие.
Что касается темы - форум нужен чтобы люди делились, помогали друг другу, а не только критиковали. И вы так и ответили на вопрос что конкретно не работает у лого. Автор попросил совета, я дал совет, что вам не нравится? Если современные модели лого нормально работают с простейшими аналоговыми применениями, то почему бы автору и не попробовать, по идее все должно работать. А если у вас есть что сказать по существу - пишите прямо и понятно, а не туманными загадочными намеками что мол чего-то там не будет работать. Все там будет нормально работать если правильно настроить.
Сергей А. Ефремов
25.1.2017, 19:00
Цитата(ANK1.RU @ 21.1.2017, 13:05)

Задание - +40 град.
...
Если сигнал больше чем 5 - компаратор своим выходом дает разрешение по входу En первому модулю ШИМ на управление открытием клапана
Почему задание +40 град? Задание задаёт пользователь, а уже ПИ регулятор стремится привести фактическую температуру к заданию.
...
Нулю будет соответствовать - закрыто, 3 - открыто на 30%, 7 - на 70%, 10 - полностью. Вот вы можете объяснить что будет делать ШИМ (широтном импульсный модулятор) если на выходе ПИ допустим семь, т.е. для ШИМ это 2 после компаратора? ШИМ будет давать сигналы определённой продолжительности с определённым частотой, клапан допустим будет поворачивать с определённой скоростью в определённом направлении. ПИ регулятор через время И увидит новое рассогласование, при этом клапан к этому времени должен будет повернуться РОВНО на угол, который соответствовал предыдущему рассогласованию. Допустим, упуская моменты синхронизации ПИ и ШИМ, было семь, клапан открылся - потеплело - ПИ выдал новое задание ВНИМАНИЕ 6!!!!, клапан от 7 должен закрыться! до 6, но так как 6 больше 5, то он снова продолжит открытие, только более медленно, в зависимости от настроек ШИМ. Таким образом поведение клапана явно будет не соответствовать ожиданиям ПИ регулятора, что в лучшем случае приведёт к колебаниям в системе, диапазон которых будет худо бедно устраивать пользователя, то тепло, то холодно - иногда нормально, в промежутках между этими двумя крайностями.
Сергей А. Ефремов
25.1.2017, 19:40
Цитата(ANK1.RU @ 24.1.2017, 15:51)

Все там будет нормально работать если правильно настроить.
Сомневаюсь.
Цитата(Сергей А. Ефремов @ 25.1.2017, 20:00)

Почему задание +40 град? Задание задаёт пользователь, а уже ПИ регулятор стремится привести фактическую температуру к заданию.
Потому то автор сам написал что ему нужно задание 40 град.
Цитата(Cdm84 @ 17.1.2017, 18:23)

Вход PT100, уставка 40град.
Я просто лишь проговорил это еще раз для полноты описания алгоритма.
Цитата(Сергей А. Ефремов @ 25.1.2017, 20:00)

Допустим, упуская моменты синхронизации ПИ и ШИМ, было семь, клапан открылся - потеплело - ПИ выдал новое задание ВНИМАНИЕ 6!!!!, клапан от 7 должен закрыться! до 6, но так как 6 больше 5, то он снова продолжит открытие, только более медленно, в зависимости от настроек ШИМ. Таким образом поведение клапана явно будет не соответствовать ожиданиям ПИ регулятора, что в лучшем случае приведёт к колебаниям в системе
А в худшем случае что будет? Выражайтесь яснее.
Работу алгоритма вы правильно описали, только почему-то остановились на 6, почему не продолжили дальше? А дальше будет 5, а дальше будет меньше чем 5 - и клапан начнет закрываться. А колебания о которых вы пишите как раз и нужно устранить правильными коэффициентами ПИ-регулятора и блока ШИМ, так же как колебания убираются и в классическом ПИД-регуляторе. Да, работа регулятора получается не вполне стандартная, но я думаю что настроить можно.
Нестандартную реакцию клапана до и после перехода через середину диапазона (в виде замедления скорости открытия вместо моментального начала закрытия) ведь можно представить как очень большую инерционность системы регулирования? Так почему бы ПИ-регулятору не справиться с такой "инерционностью"?
Сергей А. Ефремов
25.1.2017, 22:57
Цитата(ANK1.RU @ 25.1.2017, 21:14)

Нестандартную реакцию клапана до и после перехода через середину диапазона (в виде замедления скорости открытия вместо моментального начала закрытия) ведь можно представить как очень большую инерционность системы регулирования? Так почему бы ПИ-регулятору не справиться с такой "инерционностью"?
Лениво считать всю эту математику, пока скажу, что у меня есть просто определённые сомнения на этот счёт. ПИ регулятор он на то и П И регулятор, что у него есть пропорциональная составляющая и есть интегральная - эти два параметра и описывают "инерционность" системы. ПИ регулятор он как раз подразумевает, что при повороте клапана на Х градусов в течение Х времени произойдёт изменение на Х градусов. А у вас тут ещё и ШИМ.... - это вообще отдельная история. ШИМ - задаёт скорость с которой поворачивается клапан, при чём ближе к 5 (условный 0) она замедляется, но всё время пока на ШИМ есть задание - есть реакция клапана, а так быть не должно! Пока с ходу не скажу в чём нестыковка, надо время что бы сформулировать, но смысл примерно такой: если мы рассматриваем работу обычного клапана 0-10В, то допустим текущее положение клапана 3, ПИ выдаёт команду 7, клапан от 3 до 7 поворачивается за 20 секунд, а время интегрирования 10 минут, это означает что результат того что произошло за 20 секунд будет понятен только через 10 минут, в вашем же варианте клапан все эти 10 минут будет иметь на входе ШИМа задание 2 и будет тупо поворачиваться в сторону открытия все эти 10 минут с определённой скоростью - и тут уже два момента, во-первых если клапан поворачивается не 20 сек, а 10 минут, то мы увидим нужное нам изменение только к тому времени когда он откроется до нужного положения и должно ещё пройти время необходимое для компенсации инерционности, но ПИ регулятор не даст этому случится, потому что по истечению 10 минут он уже выдаст новое задание, например увидит, что цель не достигнута и изменит положение клапана с 7 до 9 и считайте, что у вас в течение ещё 10 минут на ШИМе задание только уже не 2, как при 7, а 4 - как для 9. А во-вторых как медленно должен вращаться клапан чтоб он за эти 10 минут вобще не открылся до упора?
Пока что ваш вариант мне представляется как не работоспособный, по причине того, что в нём нет разделения времени хода клапана от инерционности объекта регулирования. Клапан поворачивается за секунды, а результат мы видим через минуты, а у вас клапан всё это время только ещё поворачивается, потому что ШИМ лишь регулирует скорость с которой поворачивается клапан и вам надо умудриться за 10 минут не открыть клапан в крайнее положение. Как вы этого добъётесь и к чему это приведёт?
Еще раз посмотрел библиотеку logo sft control, нашел вот такой модуль, мне кажется он лучше решает задачу, если я правильно понял логику его работы:
5.3.4.4 Контроль аналоговых значений
Краткое описание
Эта специальная функция сохраняет текущее значение аналогового сигнала на
входе в памяти и устанавливает выход, если отклонение выходной переменной от
сохраненного значения превышает заданную величину.
Выход ПИ-регулятора (его диапазон как сказано от 0 до 1000) подаем параллельно на 2 таких модуля. На входы En обоих модулей подаем импульсы с генератора импульсов длительностью допустим 5 секунд.
Для первого модуля выставляем пороговое значение 2 максимальным (20 000), а пороговое значение 1 равным допустим 10. По положительному фронту импульса En блок запомнит аналоговое значение на входе (Axen) и начнет сравнивать его с текущим значением Ах, и если Ах за интервал 5 секунд возрастет на 10 (или уменьшится на 20 000, что невозможно), то есть если сигнал ПИ-регулятора возрастает, то выход установится в 1. В принципе этот выход можно подавать на управление открытием клапана.
Для второго модуля выставляем пороговое значение 2 равным 10, а пороговое значение 1 максимальным (20 000). Выход модуля установится в 1 после прихода импульса En в том случае, если текущее значение Ах в течении интервала 5 сек станет меньше на 10 (или станет больше на 20 000, что невозможно) чем находящееся в памяти значение Axen, то есть если сигнал ПИ-регулятора уменьшается. Выход модуля подаем на управление закрытием клапана.
Таким образом эти модули будут каждые 5 секунд следить за текущим поведением выхода ПИ-регулятора (уменьшается он или возрастает) и в зависимости от этого подавать сигнал на открытие либо закрытие клапана. Когда температура сравняется с уставкой ПИ-регулятор перестанет увеличивать/уменьшать свой выход, и модули перестанут давать сигналы на управление клапаном.
Единственно в двух случаях алгоритм работать не будет - когда сигнал ПИ-регулятора упрется в минимум или максимум диапазона и какое-то время не будет изменяться. Для этих случаев можно предусмотреть два компаратора (один срабатывает при сигнале ПИ-регулятора выше 999, второй при сигнале ниже 1) которые будут подавать сигнал на открытие и закрытие клапана в обход вышеуказанного алгоритма (через модули ИЛИ).
Как вам такой алгоритм?)
Сергей А. Ефремов
26.1.2017, 0:59
Цитата(ANK1.RU @ 25.1.2017, 23:57)

5.3.4.4 Контроль аналоговых значений
Краткое описание
Эта специальная функция сохраняет текущее значение аналогового сигнала на
входе в памяти и устанавливает выход, если отклонение выходной переменной от
сохраненного значения превышает заданную величину.
Давайте по порядку.
....и устанавливает выход....
устанавливает выход каким образом, что именно начинает происходить на выходе?
Сергей А. Ефремов
26.1.2017, 6:42
В вашем новом алгоритме пока мне многое не понятно, и с моей точки зрения рабочий алгоритм должен выглядеть примерно следующим образом: таймер (он определяет инерционность системы) циклично отсчитывает заданное время, по истечение которого обновляются два компаратора, на одном из которых появляется 1, если задание больше фактической температуры на другом, если меньше. Соответственно клапан либо закрывается либо открывается, продолжитель этого действия каждый раз определяется другим таймером, время на котором расчитывается делением времени полного хода клапана (фиксированное число) на число полученное в результате деления зоны пропорциональности (фиксированное число) на разницу (операция вычетания) задания и фактического значения.
Сергей А. Ефремов
26.1.2017, 8:51
Цитата(Сергей А. Ефремов @ 26.1.2017, 6:42)

Соответственно клапан либо закрывается либо открывается, продолжитель
продолжительность (опечатка)
Цитата(Сергей А. Ефремов @ 26.1.2017, 1:59)

Давайте по порядку.
....и устанавливает выход....
устанавливает выход каким образом, что именно начинает происходить на выходе?
Устанавливает выход - это значит на выходе был логический ноль, а устанавливается логическая единица. И сохраняется в течении длительности импульса на входе En если текущее значение аналогового сигнала на входе Ax выше на дельту, чем величина сигнала в момент прихода фронта импульса En.
Почитайте описание работы этого модуля вот здесь, страница 194, там толково описано:
https://www.promspecrele.ru/documents/LOGO&...rt_v6.0_rus.pdfЦитата(Сергей А. Ефремов @ 26.1.2017, 7:42)

В вашем новом алгоритме пока мне многое не понятно
А что конкретно не понятно, задайте вопрос. Мне кажется очень простой алгоритм.
А в вашем алгоритме мне кажется вы изобретаете ПИ-регулятор. Но ПИ-регулятор уже есть у Лого, нужно просто изобрести как его аналоговым выходом управлять клапаном у которого не аналоговое, а дискретное управление.
Сергей А. Ефремов
26.1.2017, 10:13
Цитата(ANK1.RU @ 26.1.2017, 9:01)

Но ПИ-регулятор уже есть у Лого, нужно просто изобрести как его аналоговым выходом управлять клапаном у которого не аналоговое, а дискретное управление.
Проще сразу описать ПИ с дискретным выходом, чем переделывать аналоговый ПИ в дискретный, так же как проще сразу поставить на машину МКПП, чем поставить МКПП не снимая при этом АКПП и пытаться переключать скорости вручную после того как они уже были переключены автоматом. Можете себе представить машину с двумя последовательно установленными коробками передач, первая из которых автоматическая, а вторая механическа, далеко вы так уедете? Может это и не самая удачная аналогия с тем, что предлагаете вы, на самом деле существует алгоритм преобразования ПИ AI в ПИ DI, но зачем его описывать в FBD, если можно просто описать сам ПИ DI без лишних заморочек.
AndreyStr
26.1.2017, 12:30
Цитата(Сергей А. Ефремов @ 25.1.2017, 19:00)

Допустим, упуская моменты синхронизации ПИ и ШИМ, было семь, клапан открылся - потеплело - ПИ выдал новое задание ВНИМАНИЕ 6!!!!, клапан от 7 должен закрыться! до 6, но так как 6 больше 5, то он снова продолжит открытие, только более медленно, в зависимости от настроек ШИМ. Таким образом поведение клапана явно будет не соответствовать ожиданиям ПИ регулятора, что в лучшем случае приведёт к колебаниям в системе, диапазон которых будет худо бедно устраивать пользователя, то тепло, то холодно - иногда нормально, в промежутках между этими двумя крайностями.
Спасибо. Сергей. Именно так будет работать. Там будут качели.
Цитата
По положительному фронту импульса En блок запомнит аналоговое значение на входе (Axen) и начнет сравнивать его с текущим значением Ах,
У ПИ регулятора есть два режима (автоматический / ручной A/M) которые активируются при подаче на вход ПИ регулятора Еn.
То есть есть сигнал на En - то работает по параметрам
Снял сигнал с En - перешел в ручной manual, где обязательным условием является параметр manual output - это число 0 до 1000. Допустим я ставлю 500 (5 вольт).
Так вот когда поставить ГЕНЕРАТОР ИМПУЛЬСОВ с разбежкой в 5 секунд на ПИ регулятор будет следующая кухня
ЦИКЛ 1 - А(EN 1) значение выхода // 5 секунд ---->М(EN 0) 500 //5 секунд--->А(EN 1) c 500 единиц пойдет до параметровых значений //5 секнуд--->М(EN 0) 500 //5 секунд ---> А(EN 1) c 500 единиц пойдет до параметровых значений //5 секнуд
То есть зацикливание получаем.
Теперь как это будет выглядеть в цифрах.
1 А(EN 1) аналоговый выход 980 единиц (9.8 вольт) /// генератор включен
2 М(EN 0) 500 единиц (5 вольт) /// генератор выключен
3 А(EN 1) 500 ---> 980 (или изменившееся значение) /// генератор снова включен ?!?!? успеет ли за 5 секунд, достигнуть этого значения или изменившегося в процессе значение
4 М(EN 0) 500 единиц (5 вольт) /// генератор выключен
5 А(EN 1) 500 ---> 980 (или изменившееся значение) /// генератор снова включен
6 М(EN 0) 500 единиц (5 вольт) /// генератор выключен
Проще сразу описать ПИ с дискретным выходом - к этому все и сводиться.
Аналоговый ПИ регулятор работает от заданого значения (SP) в данном случае 40 градусов (которую можно менять) и параметра, определяющее выходное напряжение (PV), которая выдает значение на выход (Aq) в зависимости от параметров.
А температура теплоносителя воды тоже может меняться . То и значения PV от заданного в 40 градусов SP на подаче воды (+35 или +45 или +60) будет разным.
И четко сказать что на 4 вольтах мы закрываем кран, а на 6 мы открываем - еще не факт.
Поэтому он и заточен под устройства с аналоговыми входами.
Цитата(Сергей А. Ефремов @ 26.1.2017, 11:13)

Проще сразу описать ПИ с дискретным выходом, чем переделывать аналоговый ПИ в дискретный, так же как проще сразу поставить на машину МКПП, чем поставить МКПП не снимая при этом АКПП и пытаться переключать скорости вручную после того как они уже были переключены автоматом.
У вас какой автомобиль? То, что вы описали называется типтроником - ручное переключение передач на машине с АКПП. Очень даже полезная вещь если ей уметь грамотно пользоваться. При этом даже в режиме типтроника компьютер грамотно следит за оборотами и при отсечке не даст угробить коробку, а переключит передачу вверх.
Аналогично с ПИ-регулятором - нет ничего плохого в том, чтобы использовать готовый регулятор, такое регулирование будет более похоже на классический вариант с аналоговым управлением.
с моей точки зрения рабочий алгоритм должен выглядеть примерно следующим образом: таймер (он определяет инерционность системы) циклично отсчитывает заданное время, по истечение которого обновляются два компаратора, на одном из которых появляется 1, если задание больше фактической температуры на другом, если меньше. Соответственно клапан либо закрывается либо открывается, продолжитель этого действия каждый раз определяется другим таймером, время на котором расчитывается делением времени полного хода клапана (фиксированное число) на число полученное в результате деления зоны пропорциональности (фиксированное число) на разницу (операция вычетания) задания и фактического значения.В вашем алгоритме непонятна роль первого таймера. Что значит "Обновить" компаратор? Компаратор без всякого обновления работает постоянно и непрерывно, никакое обновление ему не нужно, первый таймер не нужен, у компратора даже входа En нет.
Ваш алгоритм это по сути простой П-регулятор, в нем нет интегрирования. Если не важна точность поддержания температуры, если выкинуть первый таймер и установить зону нечувствительности компараторов чтобы не было постоянных колебаний - пожалуй это будет самый просто алгоритм который можно придумать. Вместо второго таймера можно использовать блок ШИМ, которому задать постоянный аналоговый сигнал на входе, а сигналы с компаратов подать на вход En этого блока.
Цитата(AndreyStr @ 26.1.2017, 13:30)

У ПИ регулятора есть два режима (автоматический / ручной A/M) которые активируются при подаче на вход ПИ регулятора Еn.
То есть есть сигнал на En - то работает по параметрам
Снял сигнал с En - перешел в ручной manual, где обязательным условием является параметр manual output - это число 0 до 1000. Допустим я ставлю 500 (5 вольт).
Так вот когда поставить ГЕНЕРАТОР ИМПУЛЬСОВ с разбежкой в 5 секунд на ПИ регулятор будет следующая кухня
Генератор нужно ставить не на ПИ-регулятор, а на подключенные к его выходу два модуля "Контроль аналоговых значений", я же написал.
Вот этот модуль:

А ПИ-регулятор должен работать постоянно, в обычном автоматическом режиме, подавать на него сигнал генератора не нужно.
Сергей А. Ефремов
26.1.2017, 13:08
Цитата(ANK1.RU @ 26.1.2017, 12:46)

В вашем алгоритме непонятна роль первого таймера. Что значит "Обновить" компаратор? Компаратор без всякого обновления работает постоянно и непрерывно, никакое обновление ему не нужно, первый таймер не нужен.
Ваш алгоритм это по сути простой П-регулятор, в нем нет интегрирования. Если не важна точность поддержания температуры, если выкинуть первый таймер и установить зону нечувствительности компараторов чтобы не было постоянных колебаний - пожалуй это будет самый просто алгоритм который можно придумать.
Это самый обычный ПИ регулятор: первый таймер это интегральная составляющая, второй пропорциональная. Обновляет - я имел в виду фиксирует выход компараторов на время цикла, по истечение которого, состояния компараторов могут быть изменены на период следующего цикла.
AndreyStr
26.1.2017, 13:18
Посмотри так.
Прим. уставки генератора и контроля аналоговых значений еще не выставил
Сергей А. Ефремов
26.1.2017, 13:32
Цитата(Сергей А. Ефремов @ 26.1.2017, 13:08)

Это самый обычный ПИ регулятор
Классический! )) Для "быстрых" объектов регулирования (например приточки) значение первого таймера может быть привязано к значению второго.
Какие нафиг импульсы по 5 секунд?!!! ))))
Цитата(Сергей А. Ефремов @ 26.1.2017, 14:08)

Это самый обычный ПИ регулятор: первый таймер это интегральная составляющая, второй пропорциональная. Обновляет - я имел в виду фиксирует выход компараторов на время цикла, по истечение которого, состояния компараторов могут быть изменены на период следующего цикла.
Выход компаратора не фиксируется, я ж вам написал, как вы хотите его фиксировать??? В вашем регуляторе нет интегральной составляющей, вы знаете что такое интегральная функция?
Цитата(Сергей А. Ефремов @ 26.1.2017, 14:32)

Какие нафиг импульсы по 5 секунд?!!! ))))
Давайте обойдемся без нафиг-зафиг. Если вы не поняли принцип алгоритма, кто в этом виноват? Вот специально для вас набросал схему. Штатный ПИ-регулятор контроллера и схема управления клапаном по аналоговому сигналу. Отслеживается изменение выхода ПИ-регулятора (в сторону увеличения или в сторону уменьшения) и в зависимости от этого подаются импульсы длительностью менее 5 секунд на открытие либо закрытие клапана. Время 5 сек нужно подобрать в зависимости от того насколько быстро двигается конкретная модель клапана. Если клапан очень резвый - можно уменьшить скорость воздействия поставив перед выходом блок ШИМ.
Сергей А. Ефремов
26.1.2017, 15:20
Цитата(ANK1.RU @ 26.1.2017, 14:16)

Выход компаратора не фиксируется, я ж вам написал, как вы хотите его фиксировать??? В вашем регуляторе нет интегральной составляющей, вы знаете что такое интегральная функция?
Поставте функцию или несколько взаимодополняющих функции, которые обеспечат данное условие, вы же понимаете, что есть ПИ регулятор, как готовый FBD элемент, а если такого элемента нет, его можно "собрать" из того что есть, зачем мне писать, то что и так кажется понятным без дополнительных объяснений? Или что данное условияе представляет какие то сложности для вас и требует дополнительных уточнений, кроме тех что были сделаны ранее?
Вы то сами понимаете, что такое ПИ - регулятор? Я описал классический ПИ - регулятор, если вы с этим не согласны - излагайте. А дискутировать на тему логарифмических и интегральных функций нет абсолютно никакого желания - это алгебра за 11-й класс средне-образовательной школы, я думаю в данном топике и так уже многа букаф, хотя функция описывается всего одним предложением.
Цитата(Сергей А. Ефремов @ 18.1.2017, 10:28)

Раз в Х сек сравниваете задание с фактической температурой, в зависимости от знака подаёте сигнал, длительность которого расчитывается делением времени полного хода клапана на отношение дельты температур при полностью закрытом клапане и полностью открытом к разнице между заданием и фактическим значением, на соответствующий выход.
manjey73
26.1.2017, 15:37
Если там привод о двух концах, подали напряжение на один - поехал вперед (открываться), сняли напряжение - остановился.
Подали на второй - поехал назад, сняли - остановился.
На кой ему ШИМ ?
Цитата(Сергей А. Ефремов @ 26.1.2017, 16:20)

Я описал классический ПИ - регулятор, если вы с этим не согласны - излагайте.
Я же уже изложил.
Во-первых термин "классический ПИ-регулятор" вообще не очень применим к подобному дискретному регулированию. Классический регулятор - он аналоговый.
Во-вторых что вы делаете? Вы берете 2 аналоговых сигнала (уставку и температуру), компаратором получаете из них третий аналоговый сигнал - рассогласование, ошибку (разность) и получаете из нее дискретный сигнал показывающий всего лишь то, что рассогласование существует (а величина рассогласования не учитывается никак, от слова совсем). Далее вы просто два раза модулируете этот сигнал наличия рассогласования двумя таймерами, хотя хватило бы и одного. И вот такой алгоритм, который НИКАК не учитывает величину рассогласования, а учитывает просто факт наличия или отсутствия этого рассогласования - вы называете "классическим ПИ-регулятором"?))))
У интегрального регулятора величина регулирующего воздействия определяется
интегралом от ошибки регулирования. А ваш алгоритм не учитывает величину этой ошибки, никак, как вы не поймете. Ваш алгоритм учитывает только то, что эта ошибка есть (неизвестно какая по величине). Как понятнее объяснить даже не знаю.
Цитата(manjey73 @ 26.1.2017, 16:37)

Если там привод о двух концах, подали напряжение на один - поехал вперед (открываться), сняли напряжение - остановился.
Подали на второй - поехал назад, сняли - остановился.
На кой ему ШИМ ?
Если вдруг он конструктивно ездит вперед-назад очень-очень быстро, быстрее чем реагирует система, быстрее чем температура успевает измениться и быстрее чем ПИ-регулятор успеет отреагировать.
Тогда надо как-то замедлить скорость его движений. Как вариант это сделать - поставить блок ШИМ, задать ему на аналоговый вход какое-то постоянное значение, чтобы блок ШИМ например из одного длинного сигнала управления клапаном делал несколько коротких сигналов, с паузами.
AndreyStr
26.1.2017, 16:08
Единственный момент при сбросе напряжение на модуле.
ПИ - регулятор перейдет кратковременно в рабочий режим и выставит значение Mq равное уставке Manual output.
Этот момент нужно предусмотреть (пропадание питание в доме)
п.с.
Сервопривод то у меня есть,рт100 + модуль расширения+базовый блок 6 серия, а вот трубы у меня холодные.
пы.сы.
Возможно в субботу постораюсь собрать весь стенд
А, прошу прощения, я понял идею Сергея. Величину ошибки он учитывает в длительности управляющего импульса. Но все равно это получается пропорциональный регулятор. Длительность сигнала управления прямо пропорциональна величине ошибки, потому что описанная им функция - это прямо пропорциональная зависимость, а не интегральная:
подаёте сигнал, длительность которого расчитывается делением (времени полного хода клапана) на отношение/ (дельты температур при полностью закрытом клапане и полностью открытом)/ (к разнице между заданием и фактическим значением))
Здесь нет интегрирования сигнала ошибки.
Сергей А. Ефремов
26.1.2017, 16:41
Там элементарная функция триггер - шмиггер, по памяти не помню как обзывается, но смысл её в том, что она по фронту от таймера, "загружает" на выход, то что у неё "висит" на входе от компаратора, 1 значит 1, 0 значит 0. Такое есть даже в Лого!!!
Ещё раз объясняю логику ПИ регулятора, управляющего трёхпозиционным клапаном:
Два компаратора - у одного 1 на выходе, если задание больше фактического значения, у второго, если меньше. Выходы компараторов проецируются на выходы триггеров по фронту от таймера (постоянная времени интегрирования - см. "как настроить ПИ регулятор). Далее сигналы с триггеров идут на управление клапаном, на каком 1 - тот и крутит клапан, но продолжительность данного сигнала ограничивается другим таймером, значение которого рассчитывается делением времени полного хода клапана на отношение (функция деления) зоны пропорциональности (см. " как настроить ПИ регулятор") к разнице (функция вычитания) между заданием и фактическим значением.
Что именно вам из этого не понятно?
Тогда могу предложить вообще самый простой алгоритм, без всяких таймеров и дельт:
просто тупо подавать на клапан сигнал с генератора очень редких коротких импульсов (на откр. или закр. в зависимости от знака ошибки ), и когда температура сравняется с уставкой прекращать подачу этого сигнала. Когда ошибка снова появится - возобновлять подачу.
Ваш "ПИ-регулятор" будет работать по сути так же.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.