|
  |
Logo! Управление трехходовым клапаном от аналогового сигнала |
|
|
|
25.1.2017, 22:57
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

|
Цитата(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 минут не открыть клапан в крайнее положение. Как вы этого добъётесь и к чему это приведёт?
Сообщение отредактировал Сергей А. Ефремов - 25.1.2017, 23:02
|
|
|
|
|
25.1.2017, 23:57
|
Группа: Участники форума
Сообщений: 21
Регистрация: 16.1.2017
Пользователь №: 313108

|
Еще раз посмотрел библиотеку 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
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

|
Цитата(ANK1.RU @ 25.1.2017, 23:57)  5.3.4.4 Контроль аналоговых значений Краткое описание Эта специальная функция сохраняет текущее значение аналогового сигнала на входе в памяти и устанавливает выход, если отклонение выходной переменной от сохраненного значения превышает заданную величину. Давайте по порядку. ....и устанавливает выход.... устанавливает выход каким образом, что именно начинает происходить на выходе?
|
|
|
|
|
26.1.2017, 6:42
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

|
В вашем новом алгоритме пока мне многое не понятно, и с моей точки зрения рабочий алгоритм должен выглядеть примерно следующим образом: таймер (он определяет инерционность системы) циклично отсчитывает заданное время, по истечение которого обновляются два компаратора, на одном из которых появляется 1, если задание больше фактической температуры на другом, если меньше. Соответственно клапан либо закрывается либо открывается, продолжитель этого действия каждый раз определяется другим таймером, время на котором расчитывается делением времени полного хода клапана (фиксированное число) на число полученное в результате деления зоны пропорциональности (фиксированное число) на разницу (операция вычетания) задания и фактического значения.
|
|
|
|
|
26.1.2017, 8:51
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

|
Цитата(Сергей А. Ефремов @ 26.1.2017, 6:42)  Соответственно клапан либо закрывается либо открывается, продолжитель продолжительность (опечатка)
|
|
|
|
|
26.1.2017, 9:01
|
Группа: Участники форума
Сообщений: 21
Регистрация: 16.1.2017
Пользователь №: 313108

|
Цитата(Сергей А. Ефремов @ 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)  В вашем новом алгоритме пока мне многое не понятно А что конкретно не понятно, задайте вопрос. Мне кажется очень простой алгоритм. А в вашем алгоритме мне кажется вы изобретаете ПИ-регулятор. Но ПИ-регулятор уже есть у Лого, нужно просто изобрести как его аналоговым выходом управлять клапаном у которого не аналоговое, а дискретное управление.
Сообщение отредактировал ANK1.RU - 26.1.2017, 8:59
|
|
|
|
|
26.1.2017, 10:13
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

|
Цитата(ANK1.RU @ 26.1.2017, 9:01)  Но ПИ-регулятор уже есть у Лого, нужно просто изобрести как его аналоговым выходом управлять клапаном у которого не аналоговое, а дискретное управление. Проще сразу описать ПИ с дискретным выходом, чем переделывать аналоговый ПИ в дискретный, так же как проще сразу поставить на машину МКПП, чем поставить МКПП не снимая при этом АКПП и пытаться переключать скорости вручную после того как они уже были переключены автоматом. Можете себе представить машину с двумя последовательно установленными коробками передач, первая из которых автоматическая, а вторая механическа, далеко вы так уедете? Может это и не самая удачная аналогия с тем, что предлагаете вы, на самом деле существует алгоритм преобразования ПИ AI в ПИ DI, но зачем его описывать в FBD, если можно просто описать сам ПИ DI без лишних заморочек.
|
|
|
|
Гость_AndreyStr_*
|
26.1.2017, 12:30
|
Guest Forum

|
Цитата(Сергей А. Ефремов @ 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 мы открываем - еще не факт. Поэтому он и заточен под устройства с аналоговыми входами.
Сообщение отредактировал AndreyStr - 26.1.2017, 12:42
|
|
|
|
|
26.1.2017, 12:54
|
Группа: Участники форума
Сообщений: 21
Регистрация: 16.1.2017
Пользователь №: 313108

|
Цитата(Сергей А. Ефремов @ 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 секунд на ПИ регулятор будет следующая кухня Генератор нужно ставить не на ПИ-регулятор, а на подключенные к его выходу два модуля "Контроль аналоговых значений", я же написал. Вот этот модуль:  А ПИ-регулятор должен работать постоянно, в обычном автоматическом режиме, подавать на него сигнал генератора не нужно.
Сообщение отредактировал ANK1.RU - 26.1.2017, 13:01
|
|
|
|
|
26.1.2017, 13:08
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

|
Цитата(ANK1.RU @ 26.1.2017, 12:46)  В вашем алгоритме непонятна роль первого таймера. Что значит "Обновить" компаратор? Компаратор без всякого обновления работает постоянно и непрерывно, никакое обновление ему не нужно, первый таймер не нужен.
Ваш алгоритм это по сути простой П-регулятор, в нем нет интегрирования. Если не важна точность поддержания температуры, если выкинуть первый таймер и установить зону нечувствительности компараторов чтобы не было постоянных колебаний - пожалуй это будет самый просто алгоритм который можно придумать. Это самый обычный ПИ регулятор: первый таймер это интегральная составляющая, второй пропорциональная. Обновляет - я имел в виду фиксирует выход компараторов на время цикла, по истечение которого, состояния компараторов могут быть изменены на период следующего цикла.
|
|
|
|
Гость_AndreyStr_*
|
26.1.2017, 13:18
|
Guest Forum

|
Посмотри так. Прим. уставки генератора и контроля аналоговых значений еще не выставил
|
|
|
|
|
26.1.2017, 13:32
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

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

|
Цитата(Сергей А. Ефремов @ 26.1.2017, 14:08)  Это самый обычный ПИ регулятор: первый таймер это интегральная составляющая, второй пропорциональная. Обновляет - я имел в виду фиксирует выход компараторов на время цикла, по истечение которого, состояния компараторов могут быть изменены на период следующего цикла. Выход компаратора не фиксируется, я ж вам написал, как вы хотите его фиксировать??? В вашем регуляторе нет интегральной составляющей, вы знаете что такое интегральная функция? Цитата(Сергей А. Ефремов @ 26.1.2017, 14:32)  Какие нафиг импульсы по 5 секунд?!!! )))) Давайте обойдемся без нафиг-зафиг. Если вы не поняли принцип алгоритма, кто в этом виноват? Вот специально для вас набросал схему. Штатный ПИ-регулятор контроллера и схема управления клапаном по аналоговому сигналу. Отслеживается изменение выхода ПИ-регулятора (в сторону увеличения или в сторону уменьшения) и в зависимости от этого подаются импульсы длительностью менее 5 секунд на открытие либо закрытие клапана. Время 5 сек нужно подобрать в зависимости от того насколько быстро двигается конкретная модель клапана. Если клапан очень резвый - можно уменьшить скорость воздействия поставив перед выходом блок ШИМ.
Сообщение отредактировал ANK1.RU - 26.1.2017, 14:22
|
|
|
|
|
26.1.2017, 15:20
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

|
Цитата(ANK1.RU @ 26.1.2017, 14:16)  Выход компаратора не фиксируется, я ж вам написал, как вы хотите его фиксировать??? В вашем регуляторе нет интегральной составляющей, вы знаете что такое интегральная функция? Поставте функцию или несколько взаимодополняющих функции, которые обеспечат данное условие, вы же понимаете, что есть ПИ регулятор, как готовый FBD элемент, а если такого элемента нет, его можно "собрать" из того что есть, зачем мне писать, то что и так кажется понятным без дополнительных объяснений? Или что данное условияе представляет какие то сложности для вас и требует дополнительных уточнений, кроме тех что были сделаны ранее? Вы то сами понимаете, что такое ПИ - регулятор? Я описал классический ПИ - регулятор, если вы с этим не согласны - излагайте. А дискутировать на тему логарифмических и интегральных функций нет абсолютно никакого желания - это алгебра за 11-й класс средне-образовательной школы, я думаю в данном топике и так уже многа букаф, хотя функция описывается всего одним предложением. Цитата(Сергей А. Ефремов @ 18.1.2017, 10:28)  Раз в Х сек сравниваете задание с фактической температурой, в зависимости от знака подаёте сигнал, длительность которого расчитывается делением времени полного хода клапана на отношение дельты температур при полностью закрытом клапане и полностью открытом к разнице между заданием и фактическим значением, на соответствующий выход.
|
|
|
|
|
26.1.2017, 15:37
|
Группа: Участники форума
Сообщений: 2134
Регистрация: 1.8.2014
Пользователь №: 240922

|
Если там привод о двух концах, подали напряжение на один - поехал вперед (открываться), сняли напряжение - остановился. Подали на второй - поехал назад, сняли - остановился.
На кой ему ШИМ ?
|
|
|
|
|
26.1.2017, 15:51
|
Группа: Участники форума
Сообщений: 21
Регистрация: 16.1.2017
Пользователь №: 313108

|
Цитата(Сергей А. Ефремов @ 26.1.2017, 16:20)  Я описал классический ПИ - регулятор, если вы с этим не согласны - излагайте. Я же уже изложил. Во-первых термин "классический ПИ-регулятор" вообще не очень применим к подобному дискретному регулированию. Классический регулятор - он аналоговый. Во-вторых что вы делаете? Вы берете 2 аналоговых сигнала (уставку и температуру), компаратором получаете из них третий аналоговый сигнал - рассогласование, ошибку (разность) и получаете из нее дискретный сигнал показывающий всего лишь то, что рассогласование существует (а величина рассогласования не учитывается никак, от слова совсем). Далее вы просто два раза модулируете этот сигнал наличия рассогласования двумя таймерами, хотя хватило бы и одного. И вот такой алгоритм, который НИКАК не учитывает величину рассогласования, а учитывает просто факт наличия или отсутствия этого рассогласования - вы называете "классическим ПИ-регулятором"?)))) У интегрального регулятора величина регулирующего воздействия определяется интегралом от ошибки регулирования. А ваш алгоритм не учитывает величину этой ошибки, никак, как вы не поймете. Ваш алгоритм учитывает только то, что эта ошибка есть (неизвестно какая по величине). Как понятнее объяснить даже не знаю. Цитата(manjey73 @ 26.1.2017, 16:37)  Если там привод о двух концах, подали напряжение на один - поехал вперед (открываться), сняли напряжение - остановился. Подали на второй - поехал назад, сняли - остановился.
На кой ему ШИМ ? Если вдруг он конструктивно ездит вперед-назад очень-очень быстро, быстрее чем реагирует система, быстрее чем температура успевает измениться и быстрее чем ПИ-регулятор успеет отреагировать. Тогда надо как-то замедлить скорость его движений. Как вариант это сделать - поставить блок ШИМ, задать ему на аналоговый вход какое-то постоянное значение, чтобы блок ШИМ например из одного длинного сигнала управления клапаном делал несколько коротких сигналов, с паузами.
Сообщение отредактировал ANK1.RU - 26.1.2017, 16:02
|
|
|
|
Гость_AndreyStr_*
|
26.1.2017, 16:08
|
Guest Forum

|
Единственный момент при сбросе напряжение на модуле. ПИ - регулятор перейдет кратковременно в рабочий режим и выставит значение Mq равное уставке Manual output. Этот момент нужно предусмотреть (пропадание питание в доме) п.с. Сервопривод то у меня есть,рт100 + модуль расширения+базовый блок 6 серия, а вот трубы у меня холодные. пы.сы. Возможно в субботу постораюсь собрать весь стенд
Сообщение отредактировал AndreyStr - 26.1.2017, 16:17
|
|
|
|
|
26.1.2017, 16:36
|
Группа: Участники форума
Сообщений: 21
Регистрация: 16.1.2017
Пользователь №: 313108

|
А, прошу прощения, я понял идею Сергея. Величину ошибки он учитывает в длительности управляющего импульса. Но все равно это получается пропорциональный регулятор. Длительность сигнала управления прямо пропорциональна величине ошибки, потому что описанная им функция - это прямо пропорциональная зависимость, а не интегральная:
подаёте сигнал, длительность которого расчитывается делением (времени полного хода клапана) на отношение/ (дельты температур при полностью закрытом клапане и полностью открытом)/ (к разнице между заданием и фактическим значением))
Здесь нет интегрирования сигнала ошибки.
Сообщение отредактировал ANK1.RU - 26.1.2017, 16:37
|
|
|
|
|
26.1.2017, 16:41
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

|
Там элементарная функция триггер - шмиггер, по памяти не помню как обзывается, но смысл её в том, что она по фронту от таймера, "загружает" на выход, то что у неё "висит" на входе от компаратора, 1 значит 1, 0 значит 0. Такое есть даже в Лого!!!
Ещё раз объясняю логику ПИ регулятора, управляющего трёхпозиционным клапаном:
Два компаратора - у одного 1 на выходе, если задание больше фактического значения, у второго, если меньше. Выходы компараторов проецируются на выходы триггеров по фронту от таймера (постоянная времени интегрирования - см. "как настроить ПИ регулятор). Далее сигналы с триггеров идут на управление клапаном, на каком 1 - тот и крутит клапан, но продолжительность данного сигнала ограничивается другим таймером, значение которого рассчитывается делением времени полного хода клапана на отношение (функция деления) зоны пропорциональности (см. " как настроить ПИ регулятор") к разнице (функция вычитания) между заданием и фактическим значением.
Что именно вам из этого не понятно?
|
|
|
|
|
26.1.2017, 18:07
|
Группа: Участники форума
Сообщений: 21
Регистрация: 16.1.2017
Пользователь №: 313108

|
Тогда могу предложить вообще самый простой алгоритм, без всяких таймеров и дельт: просто тупо подавать на клапан сигнал с генератора очень редких коротких импульсов (на откр. или закр. в зависимости от знака ошибки ), и когда температура сравняется с уставкой прекращать подачу этого сигнала. Когда ошибка снова появится - возобновлять подачу. Ваш "ПИ-регулятор" будет работать по сути так же.
|
|
|
|
|
26.1.2017, 18:21
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

|
На форуме есть наверно пару человек, кто понимает принципы нечёткой логики (fuzzy logic), но я к их числу не отношусь, для меня это даже не высшая математика и не теорема Виета, поэтому ничего по этому поводу сказать не могу. Увы!
|
|
|
|
|
26.1.2017, 18:36
|
Группа: Участники форума
Сообщений: 21
Регистрация: 16.1.2017
Пользователь №: 313108

|
Напротив, совершенно четко клапан будет медленными шажками подползать к тому положению, при котором исчезнет ошибка. Тем более что в системе теплых полов никаких резких колебаний температур быть не может. Где вы здесь увидели fuzzy logic ума не приложу))
А вот в вашем алгоритме смотрите что будет: Допустим исходное состояние T уст = 40 град, Тфакт=60 град, дельта равна 60 град, время открытия клапана допустим 10 сек.
1. За первый цикл первого таймера клапан получит управляющий сигнал на закрытие длительностью Т=10/(60/(40-60)) = 3,3 сек. 2. Если к началу следующего цикла температура не успеет снизиться до уставки, а например только до 50 град, то клапан получит еще один сигнал на закрытие длительностью Т=10/(60/(40-50)) = 1,7 сек. То есть клапан уже гарантированно закроется больше чем нужно.
Значит период между циклами нужно устанавливать большим, чтобы система успевала полностью отреагировать на управляющее воздействие от предыдущего цикла, иначе будут колебания. Таким образом клапан будет подбираться к нужному положению очень медленными шагами-циклами.
То же самое будет и в моем последнем алгоритме, только плюс в том, что не нужны никакие таймеры и триггеры.
Сообщение отредактировал ANK1.RU - 26.1.2017, 18:50
|
|
|
|
|
26.1.2017, 19:05
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

|
А начало следующего цикла у вас когда? Через время заданное на первом таймере (постоянная времени интегрирования). Это может быть и минута и две и двадцать две и те же 10 секунд - зависит от энерции системы. Если к этому времени температура не пришла к уставке, то всё правильно будет перерасчет рассогласования и так до бесконечности - это и есть ПИ регулятор.
Сообщение отредактировал Сергей А. Ефремов - 26.1.2017, 19:06
|
|
|
|
|
26.1.2017, 19:36
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

|
3,3 секунды это 30% от 10, так же как 60-40=20 - это 30% от 60, о каких мелких шажочках идёт речь? Клапан с ходу махнул на треть!
|
|
|
|
|
26.1.2017, 19:45
|
Группа: Участники форума
Сообщений: 21
Регистрация: 16.1.2017
Пользователь №: 313108

|
Цитата(Сергей А. Ефремов @ 26.1.2017, 20:36)  3,3 секунды это 30% от 10, так же как 60-40=20 - это 30% от 60, о каких мелких шажочках идёт речь? Клапан с ходу махнул на треть! Я написал не мелкими, а медленными. Потому что если шаги цикла будут быстрыми, то система не успеет отреагировать, всего лишь 2 таких шага в данном случае - и клапан закроется полностью. А все потому, что это не классический ПИ-регулятор. В перерывах между циклами первого таймера ваш регулятор вообще не реагирует на поведение системы. А делать эти циклы очень короткими нельзя из-за логики работы - иначе на клапан будут цикл за циклом подаваться сигналы уменьшающейся длительности, уводящие клапан дальше, чем его должен был увести первый импульс цикла. Кстати говоря - расскажите как в вашей схеме нужно вычислить длительность и период первого таймера? Для второго таймера вы же дали формулу, а что с первым?
Сообщение отредактировал ANK1.RU - 26.1.2017, 19:57
|
|
|
|
|
26.1.2017, 20:06
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

|
Если зона пропорциональности задана верно и клапан стоит правильного размера, то с первого же шага фактическое значение может приблизиться к уставке на 90-95%, останется 5-10% на до регулирование и как быстро регулятор их "переварит" полностью зависит от энерционности системы, т.е. от постоянной времени интегрирования, но и первый шаг собственно к ней же и привязан, тут тип регулятора уже величина второстепенная, хоть в ручную по попомеру - никакой разницы абсолютно.
|
|
|
|
|
26.1.2017, 20:57
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

|
Цитата(ANK1.RU @ 26.1.2017, 19:45)  А все потому, что это не классический ПИ-регулятор. Расскажите тогда что такое ПИ регулятор? Мы хоть знать будем, а тут люди не в курсе! ))
|
|
|
|
|
26.1.2017, 21:17
|
Группа: Участники форума
Сообщений: 21
Регистрация: 16.1.2017
Пользователь №: 313108

|
Рассказываю - это регулятор, выходной сигнал которого описывается вот такой формулой и изменяется постоянно, непрерывно, плавно, а не как в вашей схеме - дискретными шагами огромной длительности.
Сообщение отредактировал ANK1.RU - 26.1.2017, 21:20
|
|
|
|
|
27.1.2017, 3:52
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

|
Если бы вы не поленились выложить в дополнение к формуле ещё и график, описывающий поведение данной формулы, то тогда бы вы наверно не стали писать глупости про дискретные шаги большой длительности.
В начале процесса регулирования идёт значительный скачок (в нашей задаче, пример который вы сами же разбирали чуть выше он составил 30%, в других примерах может быть и 80%, и 90%, и сколько угодно, в зависимости от первоначальной величины рассогласования), затем идёт автоколебание в пределах 5%-10% (это следующий, как вы выразились дискретный шаг огромной длительности), затем в пределах 1% , и так пока график не получит вид прямой горизонтальной линии.
Формулу вы привели, молодец! Осталось только её рассказать на понятном для людей языке, можно даже на конкретных примерах, чтоб на самом деле было ясно, что да, действительно, изменения плавные и непрерывные, а не какие то там дискретные шаги огромной длительности.
|
|
|
|
|
27.1.2017, 4:34
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

|
Цитата(ANK1.RU @ 26.1.2017, 19:45)  Кстати говоря - расскажите как в вашей схеме нужно вычислить длительность и период первого таймера? Длительность (она же период) - это постоянная времени интегрирования - вычисляется как обычно, как все это делают, когда настраивают ПИ регулятор.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
Реклама
ООО «Арктика групп» ИНН: 7713634274
Реклама: ООО «СибСтронг» | ИНН 6670013662 | ERID: 2VtzqvWgxEU
ООО «УНИСПЛИТ» ИНН: 6453155081 erid:2VtzqvybpdW
Реклама: ООО «СЛ-ЛАЗЕР» ИНН 7727447267 | erid: 2VtzquvhFWx
Последние сообщения Форума
|