Моделирование ПИД-регулятора и преобразователя давления в частоту в пакете LabVIEW
Министерство высшего и среднего специального образования Балтийский Государственный Технический Университет «Военмех» им. Д.Ф. Устинова
Кафедра инжиниринга и менеджмента качества
Курсовой проект
Моделирование ПИД-регулятора и преобразователя давления в частоту в пакете LabVIEW
Санкт-Петербург 2010 г.
Моделирование преобразователя давления в частоту в пакете LabVIEW
Исходные данные.
Для набора экспериментально полученных данных (см. таблица 1) определить функциональную зависимость частоты от давления и реализовать ее в пакете LabVIEW.
Таблица 1. Экспериментальные значения зависимости частоты от давления.
№ |
P (гПа) |
F, кГц |
|
1,33322 |
8,337360278 |
|
2,66644 |
8,339212478 |
|
6,6661 |
8,344742683 |
|
13,3322 |
8,353939718 |
|
66,661 |
8,427137202 |
|
133,322 |
8,51769675 |
|
199,983 |
8,607303073 |
|
266,644 |
8,695851044 |
|
333,305 |
8,78350556 |
|
399,966 |
8,870260553 |
|
466,627 |
8,956132326 |
|
533,288 |
9,041130271 |
|
599,949 |
9,125279872 |
|
666,61 |
9,208631398 |
|
733,271 |
9,291168401 |
|
799,932 |
9,372910134 |
|
866,593 |
9,453914483 |
|
933,254 |
9,534191805 |
|
999,915 |
9,613761369 |
|
1066,576 |
9,692624581 |
|
1133,237 |
9,77080238 |
|
1194,898 |
9,848293926 |
|
1333,22 |
10,00133498 |
|
1466,542 |
10,15193693 |
|
1599,864 |
10,30011327 |
|
1733,185 |
10,44602217 |
|
1866,508 |
10,58966349 |
|
1999,83 |
10,73106266 |
|
2133,152 |
10,87046144 |
|
2266,474 |
11,00847094 |
|
2399,796 |
11,14505163 |
|
2533,119 |
11,27929759 |
Функциональную зависимость необходимо определить с помощью следующих методов:
1. Интерполяция методом наименьших квадратов;
2. Построение функции F(P), используя интерполяционный многочлен Лагранжа;
3. Построение функции F(P), используя интерполяционный многочлен Ньютона;
4. Построение функции F(P), используя кубические сплайны.
1. Интерполяция методом наименьших квадратов
Вычисления, связанные с нахождением функции зависимости методом наименьших квадратов, будем производить в пакете MathCad.
С помощью программирования в среде MathCad составим программу МНК, которая вычисляет коэффициенты полинома, реализующего необходимую нам зависимость.
Графики, построенные по экспериментальным данным, и полученного полинома:
интерполяция преобразователь регулятор давление частота
интерполяция преобразователь регулятор давление частота
Проверка:
2. Построение функции F(P), используя интерполяционный многочлен Лагранжа
Вычисления, связанные с нахождением функции F(P), используя интерполяционный многочлен Лагранжа, будем производить в пакете MathCad.
Для упрощения вычислений разделим все экспериментальные данные на 6 групп. И для каждой группы определим свой интерполяционный многочлен Лагранжа.
Например, для группы данных на участке от 9,083кГц до 9,574кГц:
![](images/image-m16d11528.gif)
Искомый многочлен:
Графики, построенные по экспериментальным данным, и полученного полинома:
Проверка:
Расчет полиномов для всех групп представлен в файлах MathCad:
- Лагранж часть 1.xmcd;
- Лагранж часть 2.xmcd;
- Лагранж часть 3.xmcd;
- Лагранж часть 4.xmcd;
- Лагранж часть 5-2 (из 2ух штук).xmcd;
3. Построение функции F(P), используя интерполяционный многочлен Ньютона
Вычисления, связанные с нахождением функции F(P), используя интерполяционный многочлен Ньютона, будем производить в пакете MathCad.
Для упрощения вычислений разделим все экспериментальные данные на 5 групп. И для каждой группы определим свой интерполяционный многочлен Лагранжа.
Например, для группы данных на участке от 9,083кГц до 9,574кГц:
Искомый многочлен:
Расчет полиномов для всех групп представлен в файлах MathCad:
- Метод Ньютона 1.xmcd;
- Метод Ньютона 2.xmcd;
- Метод Ньютона 3.xmcd;
- Метод Ньютона 4.xmcd;
- Метод Ньютона 5.xmcd
.
4. Построение функции F(P), используя кубические сплайны
Вычисления, связанные с нахождением функции F(P), используя кубические сплайны.
Реализацию данного метода я решил сделать непосредственно в пакете LabVIEW при помощи функций:
- Spline Interpolation
- Spline Interpolant
Моделирование преобразователя давления в частоту в пакете LabVIEW
Лицевая панель прибора:
Блок диаграмма:
а. Метод Лагранжа
б. Метод Ньютона
в. Кубическими сплайнами
г. Метод наименьших квадратов
Моделирование ПИД-регулятора в пакете LabVIEW
Особенности реализации алгоритмов регулирования библиотеки PID Control LabVIEW.
опулярный в среде автоматчиков программный пакет LabVIEW (National Instruments, США) можно использовать для разработки как одноуровневых, так и двухуровневых систем управления. В первом случае платы УСО устанавливаются в слоты расширения компьютера или модули сбора данных подключаются к коммуникационному порту, а LabVIEW применяется для разработки исполняемых (standalone) приложений на Windows или Linux платформах. Второй вариант предусматривает, что задачи непосредственного управления решаются на нижнем уровне PLC-контроллерами, а LabVIEW в сочетании с программным модулем DSC применяется только на верхнем уровне АСУ в качестве SCADA системы.
Если для программирования PLC уже давно разработаны и широко применяются стандартные инженерные языки, то для программирования задач управления на компьютерах одноуровневых систем, обычно требуется привлечение профессиональных программистов. Что же делать автоматчикам, которые не владеют средствами программирования на языках высокого уровня, но знают требования и особенности решения задач автоматизации объекта управления?
Техника программирования в графической среде LabVIEW подобна использованию инженерных языков, в частности FBD. Кроме того, подобно библиотечным функциональным блокам языка FBD, для LabVIEW разработаны инструменты для быстрого и мощного синтеза системы управления. Библиотека содержит набор функций, предназначенных для создания в среде LabVIEW программ регулирования технологическими процессами.
Алгоритм стандартного ПИД регулятора
Наиболее распространен в промышленности ПИД (пропорционально-интегрально-дифференциальный) алгоритм регулирования, например для управления теплотехническими, гидродинамическими и массообменными процессами. Параметр, который регулируется, рассматривается как переменная процесса (температура, давление, расход). Оператор вводит задание, т.е. требуемое значение переменной процесса. ПИД-регулятор определяет значение управляющего воздействия, например, мощность обогрева или положение регулирующего клапана. Это значение влияет на переменную процесса и приводит ее к заданному значению.
В стандартном ПИД-регуляторе LabVIEW, для сравнения задания (SP) и значения переменной процесса (PV) определяется значение рассогласования (е):
Общая теоретическая формула расчета управляющего значения по ПИД закону, как известно, выглядит как
где Kc — коэффициент пропорциональности регулятора, Ti — время интегрирования в минутах (так называемое время изодрома), а Td — время дифференцирования в минутах.
Пропорциональная составляющая управляющего воздействия определяется регулятором как:
при этом интегральная составляющая равняется:
а дифференциальная составляющая:
Ниже описываются процедуры, которые используются в алгоритме ПИД-регулятора библиотеки и могут быть при необходимости отключены или изменены пользователем.
Фильтрация переменной процесса
Процедура фильтрации снижает влияние шума:
Особенности расчета рассогласования
Рассогласование, используемое для подсчета интегральной и дифференциальной составляющей, рассчитывается следующим образом:
Рассогласование для расчета пропорционального действия имеет вид:
где SPrng - диапазон изменения задания, β - фактор задания, а L - параметр, определяющий степень нелинейности регулятора. Если L равно 1 то регулятор линейный. Значение L = 0,1 минимизирует коэффициент передачи регулятора до 10% Kc в области приближения переменной процесса к заданному значению. Такой подход позволяет использовать нелинейное регулирование, когда коэффициенты настройки регулятора изменяются в зависимости от отклонения.
Пропорциональная составляющая
В реальных системах регулирования изменения задания обычно значительно превышают и носят более резкий характер, чем помехи, которые возникают, как малые отклонения регулируемой величины от задания. Настройка ПИД-регулятора на высокую чувствительность к рабочим помехам часто приводит к недопустимым колебаниям регулируемой величины с возможным выходом за границу устойчивости. С другой стороны, настройка на высокую чувствительность к заданию может приводить к замедлению реакции на возникающие помехи. Если фактор β установить меньше единицы, то скачки чувствительности к заданию уменьшатся без влияния на чувствительность к рабочим помехам. Данный фактор относится к ПИД алгоритму “Двух Степеней Свободы”. в представляет собою индекс чувствительности к заданию, принимая значения от 0 до 1. Например, если больше важны рабочие характеристики устойчивости, присвойте значение β = 0. Соответственно, если необходимо чтобы переменная процесса стремилась к заданию быстро, следует приравнять β к 1. Таким образом, уточненный расчет пропорциональной составляющей производится в соответствии с формулой:
Интегрирование методом трапеций
Интегрирование методом трапеций применяется для избегания резких перемен в интегральной составляющей, когда изменение значений переменных PV или SP носит колебательный характер. Как видно из формулы и графика, чем больше рассогласование, тем меньше интегральная составляющая.
Нелинейный множитель для интегральной составляющей (SPrng= 100)
Расчет дифференциальной составляющей
Из-за резких изменений задания, дифференциальное действие применяется только к фильтрованному значению регулируемого параметра, а не к рассогласованию.
Управляющее воздействие регулятора
Выход регулятора представляет собой сумму пропорциональной, интегральной и дифференциальной составляющих.
Ограничение выхода
Фактическое значение управляющего воздействия ограничено диапазоном, установленным для выхода регулятора:
- если u(k) > umax, то u(k) = umax;
- если u(k) < umin, то u(k) = umin.
Таким образом, реальная модель ПИД-регулятора будет иметь вид:
Особенностью реализации ПИД-регулятора LabVIEW является использование алгоритма исправления интегральных сумм, который обеспечивает свойства антизатягивания и безударности при переходе от автоматического к ручному и от ручного к автоматическому режиму управления. Под антизатягиванием понимается ограничение верхнего предела выхода регулятора. Если рассогласование уменьшается, то выход регулятора также уменьшается и выходит за рамки ограничения. Данный алгоритм предотвращает резкие изменения результата, когда происходит переключение с автоматического на ручной режим или наоборот, а также при изменении других параметров настройки регулятора.
По умолчанию диапазон значений параметров задания, переменной процесса, а также значений выхода регулятора имеет процентное представление, хотя можно использовать фактические единицы измерения. Обратное действие - это такой режим работы регулятора, при котором выход увеличивается, если переменная процесса больше чем задание. Значения интегрального и дифференциального времени измеряются в минутах. Переключение в режим задержки или в ручной режим “замораживает” расчет результата на текущем значении. В ручном режиме управления значение выхода регулятора непосредственно определяется оператором. При этом расчет управляющего воздействия регулятора прекращается, а выходная переменная алгоритма отслеживает устанавливаемые вручную значения. Таким образом обеспечивается безударность при последующем переключении регулятора в автоматический режим управления.
Для синтеза системы регулирования с использованием инструментов библиотеки ПИД-регулирования LabVIEW, достаточно вставить виртуальный инструмент "PID.vi" в поле редактора диаграмм и задать для него соответствующие входные и выходные переменные. Если связать входы и выходы регулятора с инструментальными платами, внешними модулями ввода/вывода или стандартными портами, то получится действующая система регулирования в реальном времени.
Виртуальные инструменты библиотеки ПИД-регулирования жестко зависят от параметра времени. Данное значение можно определить через значение параметра время цикла или через встроенный таймер. Если значение времени цикла меньше или равно нулю, то параметры времени подсчитываются каждый раз при вызове регулятора. При этом рассчитывается разница во времени с предыдущим вызовом. Если вызов производится из цикла и при этом используется один из таймеров LabVIEW, можно приблизиться к реальному времени. Однако, минимальное значение таймера ограничено значением 1 мс в Windows 95 или NT, Macintosh и Power Macintosh и 55 мс в Windows 3.1. Из-за этих ограничений не следует запускать ПИД с частотой больше чем 5 Гц при значении времени цикла меньшем или равном нулю. Если регулятор не содержит графиков, которые должны часто обновляться, то частота выполнения цикла может исчисляться килогерцами (кГц). Однако следует помнить, что такие действия как работа манипулятора "мышь" или изменение параметров окна уменьшает скорость расчета.
Основной Виртуальный инструмент библиотеки "ПИД-регулятор" имеет такие входы как задание, переменная процесса, ручное регулирование и параметры ПИД. Вход "параметры ПИД" представляет собой кластер из трех значений: коэффициент пропорциональности (диапазон дросселирования), время интегрирования, время дифференцирования. Кластер настройки служит для ввода дополнительных параметров. В большинстве случаев этот вход может не использоваться. Один параметр из настроек имеет логическое значение и определяет тип значения пропорционального параметра: коэффициент пропорциональности (Kc) или диапазон дросселирования (РВ). Взаимоотношение этих коэффициентов определяется как Kc =100/PB. По умолчанию параметр принимает значение коэффициента пропорциональности.
При работе регулятора оператор может изменить логическое значение параметра "задержка" и остановить значение управляющего воздействия на его текущем значении или регулировать выход регулятора в ручном режиме. Также можно изменить диапазоны для задания и для выхода регулятора (диапазон для переменной процесса соответствует значению диапазона для задания). По умолчанию диапазоны имеют значения от 0 до 100 % для задания и от #100 до 100 % для управляющего воздействия. Однако можно изменить значения диапазонов так, что бы они соответствовали единицам измерения параметров модели контура регулирования. Параметр dt определяет значение времени цикла регулятора. Значение по умолчанию -1 означает, что для расчета интегральной и дифференциальной составляющей используется системный таймер.
Вход "повторение" используется для фильтрации переменной процесса. Для активизации процесса фильтрации необходимо соединить данный вход со счетчиком повторения цикла. Если вход алгоритма "повторение" остается несоединенным, то фильтрация переменной процесса не производится.
Стандартный ПИД алгоритм. Можно использовать как П, ПИ и ПД алгоритм.
После инсталляции PID Control Toolset, стандартные наборы функций LabVIEW дополняются инструментами библиотеки регулирования. Поставляемая с библиотекой документация не только поясняет принципы программирования с использованием инструментов, но и затрагивает практические аспекты подключения сигналов от реальных датчиков и исполнительных механизмов, а также способов настройки контуров регулирования.
Фактически, инструменты PID Control Toolset сгруппированы в четыре файла библиотек LabVIEW:prctrlex.llb, fuzzy.llb, prctrl.llb и autopid.llb.
Пример использования PID.vi.
General PID Simulator.VI (Простой пример системы регулирования с использованием математической модели наиболее распространенного объекта).
Лицевая панель прибора:
Блок диарамма:
Сам ПИД-регулятор (функция PID.vi) имеет следующую структурную схему:
В данном модуле используются следующие субмодули:
1.
Реализует дифференцирующее звено;
2.
Реализует интегрирующее звено (используется метод трапеций).
Список использованных источников
1. С.Д. Шапорев «Методы вычислительной математики и их приложения», 2003г.;
2. А.Я. Суранов «LabVIEW 8.20: справочник по функциям», 2007г;
3. Интернет.
1