Реферат: Моделирование линейных непрерывных систем в среде LabVIEW

Содержание

Введение

Моделирование линейныхнепрерывных систем

Численное решение дифференциальных уравнений

Замена непрерывной передаточной функции дискретной

Моделирование линейных замкнутых систем

Заключение

Список литературы


Введение

LabVIEW(Laboratory Virtual Instrument Engineering Workbench)позволяет разрабатывать прикладное программное обеспечение для организации взаимодействияс измерительной и управляющей аппаратурой, сбора, обработки и отображения информациии результатов расчетов, а также моделирования как отдельных объектов, так и автоматизированныхсистем в целом. Разработчиком LabVIEW является американская компания National Instruments.

LabVIEW является открытой системойпрограммирования и имеет встроенную поддержку всех применяемых в настоящее времяпрограммных интерфейсов, таких как Win32 DLL, COM.net, DDE, сетевых протоколов набазе IP, DataSocket и др. В состав LabVIEW входят библиотеки управления различнымиаппаратными средствами и интерфейсами, такими как PCI, CompactPCI/PXI, VME, VXI,GPIB (КОП), PLC, VISA, системами технического зрения и др. Программные продукты,созданные с использованием LabVIEW, могут быть дополнены фрагментами, азработаннымина традиционных языках программирования, например C/С++,Pascal, Basic, FORTRAN. И наоборот можно использовать модули, разработанные вLabVIEW в проектах, создаваемых в других системах программирования. Таким образом,LabVIEW позволяет разрабатывать практически любые приложения, взаимодействующиес любыми видами аппаратных средств, поддерживаемых операционной системой компьютера.

среда программирование дифференциальное уравнение


Моделирование линейных непрерывных систем

При цифровом моделировании непрерывных систем необходимо обеспечитьблизость процессов в моделируемой непрерывной системе и в ее цифровой модели. Несовпадениеэтих процессов связано с двумя причинами:

1) заменой непрерывного входного процесса цифровым и 2) использованиемчисленных методов анализа. Ошибки, связанные с заменой непрерывного процесса цифровым,были рассмотрены в предыдущей лабораторной работе. Остановимся на второй причине.

Математическая модель непрерывной системы представляет собойили нелинейное дифференциальное уравнение или совокупность соединенных между собойлинейных и нелинейных блоков. В зависимости от принятой математической модели используютсяразличные подходы к формированию цифровой модели.

Численное решение дифференциальных уравнений

Разработано большое количество методов численного решения дифференциальныхуравнений. Рассмотрим, как производится численное решение на примере нелинейногодифференциального уравнения первого порядка

 

du/dt = f (u,x,t). (1)

Здесь x =x (t) — независимаяфункция (входной процесс), u =u (t) — решениеуравнения (выходной процесс).

Численное решение находится для дискретных значений аргументаt, отличающихся на шаг интегрирования Dt. В одношаговыхразностных методах для нахождения следующего значения uк= u (tк)требуется информация только об одном предыдущем шаге. Из одношаговых методов наибольшуюизвестность получили методы Рунге-Кутта. В основу метода Рунге-Кутта первого порядка,называемого также явным или прямым методом Эйлера, положено разложение функции u (t) в ряд Тейлора в окрестноститочки A (tk-1,, uk-1):

 

u (t)= S0 + S1 (t — tk — 1)+ S2 (t — tk — 1) 2 +…, (5.2)

где S0= u (tk — 1) = uk — 1,Si= (1/i!) du (t) /dt при t = tk — 1.

В методах Эйлера (и Рунге-Кутта тоже) ограничиваются только двумяпервыми членами разложения в ряд. Запишем значение uk = u (tk),приняв в выражении (5.2) t =tk и ограничившисьдвумя первыми членами ряда:

 

uk = uk1 + S1(tk — tk — 1) = uk1 + S1Δt

Учитывая, что производная du(t) /dt равна правой части дифференциального уравнения (1), имеемS1 = f(uk — 1, xk — 1, tk — 1) и окончательно получим:

 

uk = uk1+ Δtf (uk1, xk — 1, tk — 1).(3)

Это выражение является приближенным решением дифференциальногоуравнения (1) прямым методом Эйлера. Оно рекуррентное и позволяет найти значениевыходного процесса uk по значениям выходного и входного процессов в предыдущем такте.

На рис. 1 а) проиллюстрировано решение прямым методомЭйлера.

/>/>

/>

а)

б)

Рис.1

Видим, что при использовании этого метода используется линейнаяэкстраполяция и тангенс угла наклона экстраполирующей прямой равен производной функцииu (t) в точке А.Экстраполированное значение uk отличается от точного на величину ошибки.

Неявный (обратный) метод Эйлера основан на разложении функцииu (t) в ряд Тейлорав окрестности точки В (uk,, tk) (см. рис.1 б):

 

u (t)= uk + S1 (t — tk) + S2(t — tk) 2 + …,

Приняв в этом выражении t = tk — 1и ограничившись двумя первыми членами ряда, получим

 

uk — 1 = uk — Δtf (uk, xk,tk).

Откуда

 

uk = uk — 1+ Δtf (uk, xk, tk).(5.4)

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

Применим методы Эйлера для расчета переходной характеристикиинтегрирующей цепи. Передаточная функция интегрирующей цепи:

 

K (p)= 1/ (1 + pT).

Отсюда дифференциальное уравнение в операторной форме:

(pT +1) y = x

 

и в канонической форме:

 

Tdy/dt + y =x.

Перепишем его в виде (1):

 

dy/dt = (1/T) (x- y).

Запишем рекуррентную формулу для прямого метода Эйлера в соответствиис (5.3)

 

yk =yk — 1 + (Δt/T) (xk — 1 — yk — 1), (5.5) или yk= (1 — Δt/T)yk — 1 + Δt/T xk — 1.

Формула для обратного метода Эйлера запишется в соответствиис (4)

yk =yk — 1 + (Δt/T) (xkyk).

Так как уравнение линейное, то значение yk вычисляется в явной форме:

 

yk =(yk — 1 + (Δt/T) xk) / (1 + Δt/T). (6)

Методы Эйлера обладают низкой точностью. В более точных методахиспользуются различные способы определения угла наклона экстраполирующей прямой,чтобы она прошла ближе к точному решению. Хорошей точностью обладает метод Рунге-Куттачетвертого порядка, который обычно и используется. Программы для численного решениядифференциальных уравнений имеются практически в любом пакете прикладных программ,в том числе и в LabVIEW.

Для вычислений по формулам (5.5) и (5.6) используем структуруFormula Node.Внутри этой структуры запишем точное выражение для переходной характеристики:

z= 1 — e-iΔt/T,

и выражения для переходной характеристики, полученные прямымметодом Эйлера:

 

y = y1 + (Δt/T) (1 — y1)

и обратным методом Эйлера:

v = (v1 + (Δt/T)) / (1 + Δt/T)

при нулевых начальных условиях: y (0)= 0, v (0) = 0.

В этих выражениях использованы различные обозначения для выходныхпеременных и принято x =1 (t) = 1, так как t > 0.


На рис.2 показана эта структура. В формулах Δt обозначена как dt.

/>

/>

Рис.2 Рис.3

Напомним, что для образования входных и выходных терминалов нужнощелкнуть ПКМ на границе структуры в предполагаемом месте терминала и в раскрывшемсяменю выбрать Add Input или Add Output.

Для формирования массивов выходных переменных структура Formula Node помещается внутрь структуры For Loop, при этом задержанные на интервалдискретизации отсчеты выходных переменных yv1 получаются с помощью регистра сдвига(рис.3).

Прямой метод Эйлера при большом интервале дискретизации можетдать неустойчивое решение. Это случится, если отклонение решения от входного процессаxk — 1 — yk — 1 (см формулу (5)) даст такое значениеyk. что отклонение на следующем шаге xkykбудет той же величины, что и предыдущее, но обратным по знаку.Решение будет колебательным незатухающим.

К графическому индикатору

  /> Рис.4

В предыдущих лабораторных работах развертка графического индикатораGraph осуществлялась автоматическив соответствии с типом данных, подаваемых на вход графического индикатора. В этойработе мы сформируем данные так, чтобы по горизонтальной оси откладывалось время.Для этого надо сформировать кластер, куда кроме массива данных будет входить информацияо времени. Используем ВП Bundle (Объединить), который находитсяв подпалитре Cluster (Кластер). На его входы element подаются (см. рис.4): на верхний- время начала развертки — 0; на средний — интервал дискретизации — Δt; на нижний — массив данных

Замена непрерывной передаточной функции дискретной

Если математическая модель системы представляется в виде соединениялинейных и нелинейных блоков, то для описания линейных блоков чаще всего используетсяпередаточная функция K (p).В этом случае цифровую модель непрерывного линейного блока можно получить, заменивнепрерывную передаточную функцию K (p) дискретной K (z).

Для этого можно использовать связь между непрерывными и дискретнымиизображениями, устанавливаемую дискретным преобразованием Лапласа (Z-преобразованием). В таблице 1 приведена эта связь для передаточныхфункций, используемых в данной лабораторной работе.

Таблица 1

K (p)

/>1

p

1

/>p2

1

/>(1 + pT)

K (z)

Δt z

/>(z — 1)

t) 2z

/>(z — 1) 2

t/T) z

/>(z — e-Δt/T)

Заметим, что здесь комплексная переменная z определяется как z = epΔt и является операторомопережения на интервал дискретизации. Соответственно z-1 — это оператор задержки на интервал дискретизации.

Другой путь предусматривает непосредственный переход от комплекснойпеременной p к комплекснойпеременной z заменой операциианалогового интегрирования 1/p операциейдискретного интегрирования. При дискретном описании аналогового интегрирования можнооперировать только с значениями входного и выходного процессов в моменты дискретизации.На рис.5 показано, как это можно сделать, используя численное интегрирование пометоду прямоугольников и по методу трапеций.

Значение выходного процесса yk интегратора в момент времени t = kΔt отличается от предыдущего значения yk-1на величину площади S подкривой x (t) (заштрихованнаяфигура на рис.5 а).

/>


yk = yk-1 + S

yk = yk-1 + Δt xk-1

yk = yk-1 + Δt xk

yk = yk-1 +

t (xk+ xk-1) /2

а)

б)

в)

г)

Рис.5

По методу прямоугольников площадь можно определить по разномув зависимости от того, какую величину принять за высоту прямоугольника: xk-1 или xk (рис.5.5 б и рис.5.5 в). На рис.5.5г) показано, как вычисляется эта площадь по методу трапеций. Рекуррентныеформулы для интегрирования приведены под рисунками.

По этим формулам можно записать дискретные передаточные функции.Поясним это на примере интегрирования по методу трапеций:

 

yk =yk-1 + Δt (xk+ xk-1)/2.

Перенесем yk-1в левую часть и возьмем от полученного выражения Z-преобразование.Учитывая, что запаздывание на интервал дискретизации в области оригиналов соответствуетумножению на z-1 в области изображений,получим:

 

Y (z)- z-1Y(z) = (Δt/2)(X (z) + z-1X(z)).

Дискретная передаточная функция — это отношение Z-изображений выходной и входной переменных, поэтому

 

K (z)= Y (z) /X (z) = (Δt/2)(1 + z-1) / (1 — z-1)= (Δt/2) (z + 1) / (z — 1).

В таблице 2 приведены выражения дискретных передаточных функцийдля различных методов численного интегрирования для одного и двух интеграторов.

Таблица 2

K (p)

K (z)

Метод прямоугольников (1) Метод прямоугольников (2) Метод трапеций

1

/>p

Δt

/>z — 1

Δt z

/>z — 1

Δt (z + 1)

/>2 (z — 1)

1

/>p2

 (Δt) 2 (z +1)

/>2 (z — 1) 2

 (Δt) 2z

/> (z — 1) 2

 (Δt) 2 (z2 + 4z + 1)

/>6 (z — 1) 2

Видим, что одно и то же аналоговое устройство может описыватьсяотличающимися дискретными передаточными функциями.

В таблице 1 была приведена дискретная передаточная функция интегрирующейцепи (для которой К (р) = 1/ (1 + рТ)), полученной применениемZ-преобразования. Найдем другие варианты дискретнойпередаточной функции интегрирующей цепи, отличающиеся методами численного интегрирования.

При использовании метода прямоугольников (1) в передаточную функциюK (p) = 1/ (1 + pT) вместо р нужно подставить (z — 1) /Δt. Тогда получим

/> <td/>

Δt/T

 

z – (1 – Δt/T)

   

/>K (z) = 1/ (1 + (z — 1) Tt)      =.

Аналогично можно получить дискретные передаточные функции и длядругих методов численного интегрирования. Они представлены в таблице 3 Принято обозначениеΔt/T = α

Таблица 3

Метод

K (z)

Z-преобразование

α z

/>ze

Метод прямоугольников (1)

α/>

/>z — (1 — α)

Метод прямоугольников (2)

(α/ (1 + α)) z

/>z — 1/ (1 + α)

Метод трапеций

(α / (2 + α)) (z + 1)

/>z — (2 — α) / (2 + α)

Этим передаточным функциям соответствуют следующие рекуррентныеформулы.

Для Z-преобразования

 

yk =e-αyk — 1 + αxk.(7)

Для численного интегрирования по методу прямоугольников (1)

 

yk =(1 — α) yk — 1 + αxk — 1.

Полученная формула совпадает с формулой для прямого метода Эйлера

Для численного интегрирования по методу прямоугольников (2)

 

yk =(1/ (1 + α)) yk — 1 + (α/ (1 + α))xk. (8)

и по методу трапеций

 

yk =( (2 — α) / (2 + α)) yk — 1 + (α/(2 + α)) (xk + xk — 1).(9)

В лабораторной работе производится оценка ошибок цифрового моделированиядля каждого из этих методов.

Моделирование линейных замкнутых систем

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

В противном случае возникают большие ошибки моделирования, апри большом интервале дискретизации процесс может стать неустойчивым. Выбор интерваладискретизации нужно связывать с полосой пропускания замкнутой системы.

Проводя аналогию с теоремой Котельникова, можно потребовать,чтобы Δf0,1Δt = 5 — 10, где Δf0,1 — полоса пропускания замкнутой системы по уровню 0,1.

Рассмотрим моделирование непрерывной замкнутой системы на конкретномпримере, когда передаточная функция разомкнутой системы

К

р(1 + рТ)

  />Кр (р)=.                                                              (10)

Такая модель часто используется при анализе ошибок в следящейсистеме.

Запишем дискретную передаточную функцию разомкнутой системы,заменяя интеграторы по методу прямоугольников (2). Для этого преобразуем передаточнуюфункцию разомкнутой системы (5.10), поделив числитель и знаменатель на р2:

/> <td/>

К/р2

Т + 1/р

 

/>Кр(р) =.

Используя соотношения, приведенные в таблице (5.2), получим:

/> /> /> /> />

Кt)2z/(z – 1)2

 

Т + Δt z/(z – 1)

  <td/>

b1z

z2 + a1z + a2

 

/>/>Кр(z) =                                               =,                               (11)

где b1 = Kt) 2/(T + Δt),a1 = — (2T + Δt) / (T + Δt),a2 = T/(T + Δt).

Для моделирования устройства с передаточной функцией (11) используетсяБИХ-фильтр, коэффициенты числителя которого (Forward Coefficients) представляются массивомиз двух элементов (0,b1), а коэффициентызнаменателя — массивом из трех элементов (1, a1,a2).

Специфика использования БИХ-фильтра заключается в том, что неизвестенцеликом входной массивХ, а известен только текущий элемент, а следующийэлемент рассчитывается с учетом значения текущего элемента выходного массива фильтра.В LabVIEW существует такой фильтр- IIR Filter PtByPt (IIR Filter Point By Point — БИХ-фильтр точка за точкой).

/>/>

Рис.6

Вычисления БИХ-фильтром IIR Filter PtByPt производятся в цикле For

Loop (рис.5.6). В этом же цикле генерируетсяединичное входное воздействие. Автоматическое появление в цепи обратной связи регистрасдвига обусловлено тем, что рассчитанное значение выходного процесса используетсядля сравнения с входным только в следующем интервале дискретизации, то есть с запаздываниемна интервал дискретизации. В результате вычислений формируется массив переходнойхарактеристики.

Для точного расчета переходной характеристики воспользуемся ВПODE Linear nth Order Numeric- “Решение линейного обыкновенного дифференциального уравнения n-го порядка в численном виде” (рис.7).

/>

Рис.7

ВП находит решение в виде суммы экспонент и вычисляет его длязаданных точек. Поэтому решение точное.

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

На вход Х0 подается массив начальных условий — начальные значениярешения и его n — 1 — й производных.

Вход “число точек" задает число равноудаленных по времениточек между начальным и конечным временем

Выход Х содержит массив значений решения в равномерно расположенныхпо оси времени точках. Значение времени в этих точках выводится в массиве Times.

Дифференциальное уравнение замкнутой системы запишем по передаточнойфункции замкнутой системы:

/> /> /> /> />

Кр(р)

1 + Кр(р)

  <td/>

К

Тр2 + р + К

 

/>/>Кз(р) =                                            =                          (12)

Дифференциальное уравнение замкнутой системы

 

Td2y/dt2 + dy/dt+ Ky = Kx

Запишем однородное дифференциальное уравнение, учитывая, чтокоэффициент при высшей производной должен быть равен 1

 

d2y/dt2 + (1/Т) dy/dt + (K/Т) y= 0

Для компьютерного решения этого уравнения нужно задать массивА = (К/Т, 1/Т). Чтобы получить переходную характеристику, нужнозадать массив Х = ( — 1, 0) и к решению прибавить 1.

Полностью блок-схема программы моделирования замкнутой системыприведена на рис.8.

k

 

K

 

 T

 

k

 

dt

  />

Рис.8


Заключение

В основе технологии использованияLabVIEW лежит комбинированное моделирование систем на ЭВМ, включающее аналитическое,имитационное и натурное.

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

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

Отличие модельного эксперимента отреального заключается в том, что в модельном эксперименте могут быть реализованылюбые ситуации, в том числе «невозможные» и аварийные, что в силу разныхпричин бывает недопустимо при работе с реальными объектами. Все представленные видымоделирования могут быть реализованы с использованием системы программирования LabVIEW.


Список литературы

1. Н.А. Виноградова, Я.И. Листратов, Е.В. Свиридов. «Разработка прикладногопрограммного обеспечения в среде LabVIEW». Учебное пособие — М.: ИздательствоМЭИ, 2005.

2. http://www.automationlabs.ru/

3. http://digital. ni.com/

4. http://www.labview.ru/

5. ru. wikipedia.org/

еще рефераты
Еще работы по информатике, программированию