Реферат: Моделирование линейных непрерывных систем в среде LabVIEW
Название: Моделирование линейных непрерывных систем в среде LabVIEW Раздел: Рефераты по информатике Тип: реферат Добавлен 18:48:35 07 мая 2011 Похожие работы Просмотров: 119 Комментариев: 23 Оценило: 2 человек Средний балл: 5 Оценка: неизвестно Скачать | ||||||||||||
а ) | б ) |
Рис.1 |
Видим, что при использовании этого метода используется линейная экстраполяция и тангенс угла наклона экстраполирующей прямой равен производной функции u (t ) в точке А. Экстраполированное значение uk отличается от точного на величину ошибки.
Неявный (обратный) метод Эйлера основан на разложении функцииu (t ) в ряд Тейлора в окрестности точки В (u k, , t k ) (см. рис.1 б ):
Приняв в этом выражении t= tk — 1 и ограничившись двумя первыми членами ряда, получим
Искомое значение процесса uk входит и в левую, и в правую части уравнения, и если не удается найти uk в явном виде, то приходится использовать приближенные методы решения этого уравнения.
Применим методы Эйлера для расчета переходной характеристики интегрирующей цепи. Передаточная функция интегрирующей цепи:
Отсюда дифференциальное уравнение в операторной форме:
и в канонической форме:
Перепишем его в виде (1):
Запишем рекуррентную формулу для прямого метода Эйлера в соответствии с (5.3)
Формула для обратного метода Эйлера запишется в соответствии с (4)
Так как уравнение линейное, то значение yk вычисляется в явной форме:
Методы Эйлера обладают низкой точностью. В более точных методах используются различные способы определения угла наклона экстраполирующей прямой, чтобы она прошла ближе к точному решению. Хорошей точностью обладает метод Рунге-Кутта четвертого порядка, который обычно и используется. Программы для численного решения дифференциальных уравнений имеются практически в любом пакете прикладных программ, в том числе и в LabVIEW.
Для вычислений по формулам (5.5) и (5.6) используем структуру FormulaNode. Внутри этой структуры запишем точное выражение для переходной характеристики:
и выражения для переходной характеристики, полученные прямым методом Эйлера:
и обратным методом Эйлера:
при нулевых начальных условиях: y (0) = 0, v (0) = 0.
В этих выражениях использованы различные обозначения для выходных переменных и принято x = 1 (t ) = 1, так как t > 0.
На рис.2 показана эта структура. В формулах Δt обозначена как dt .
Рис.2 | Рис.3 |
Напомним, что для образования входных и выходных терминалов нужно щелкнуть ПКМ на границе структуры в предполагаемом месте терминала и в раскрывшемся меню выбрать AddInputили AddOutput.
Для формирования массивов выходных переменных структура FormulaNodeпомещается внутрь структуры ForLoop, при этом задержанные на интервал дискретизации отсчеты выходных переменных y 1 и v 1 получаются с помощью регистра сдвига (рис.3).
Прямой метод Эйлера при большом интервале дискретизации может дать неустойчивое решение. Это случится, если отклонение решения от входного процесса xk — 1 — yk — 1 (см формулу (5)) даст такое значение yk . что отклонение на следующем шаге xk — yk будет той же величины, что и предыдущее, но обратным по знаку. Решение будет колебательным незатухающим.
| ||
Рис.4 |
В предыдущих лабораторных работах развертка графического индикатора Graphосуществлялась автоматически в соответствии с типом данных, подаваемых на вход графического индикатора. В этой работе мы сформируем данные так, чтобы по горизонтальной оси откладывалось время. Для этого надо сформировать кластер, куда кроме массива данных будет входить информация о времени. Используем ВП Bundle (Объединить), который находится в подпалитре Cluster (Кластер). На его входы elementподаются (см. рис.4): на верхний — время начала развертки — 0; на средний — интервал дискретизации — Δt; на нижний — массив данных
Замена непрерывной передаточной функции дискретной
Если математическая модель системы представляется в виде соединения линейных и нелинейных блоков, то для описания линейных блоков чаще всего используется передаточная функция K (p ). В этом случае цифровую модель непрерывного линейного блока можно получить, заменив непрерывную передаточную функцию K (p ) дискретной K (z ).
Для этого можно использовать связь между непрерывными и дискретными изображениями, устанавливаемую дискретным преобразованием Лапласа (Z -преобразованием). В таблице 1 приведена эта связь для передаточных функций, используемых в данной лабораторной работе.
1
p 2
(1 +pT )
Лабораторная работа 3. Решение алгебраических уравнений в среде LabVIEW
Лабораторная работа 3. Решение алгебраических уравнений в среде LabVIEW
Пример 3.1. Определение токов в цепи с использованием формульного узла
1. Токи в цепи рис. 3.1 можно рассчитать по законам Ома и Кирхгофа
;
; (1)
.
Значения сопротивлений ,,и электродвижущей силы Е выбираются самостоятельно.
2. Расчет по этим формулам можно выполнить при помощи формульного узла Formula Node, который относится к элементам «Структуры» и вызывается правой клавишей мыши на панели блок-диаграмм по пути: All Functions => Structures => Formula Node. Появившаяся рамка формульного узла растягивается до нужного размера и в нее вписываются расчетные формулы (1). Неизвестные записываются в левой части формул. Каждая формула пишется на отдельной строке и заканчивается точкой с запятой.
3. Затем в формулы нужно внести исходные данные и вывести результаты расчета. Для этого курсор устанавливается правой клавишей мыши на рамке формульного узла и из всплывающего меню левой клавишей вызывается Add Input (добавить вход) для входных величин и Add Output (добавить выход) для выходных величин. В появившиеся рамки вписываются наименования этих величин.
4. К входным рамкам подключаются цифровые управляющие элементы, к выходным — индикаторы. Входы и выходы можно устанавливать в любом месте рамки. Наименования в рамках должны быть точно такими же, как в формульном узле. Допускается применение одного и того же наименования для входной и выходной величины.
5. При помощи управляющих элементов задаются исходные данные, после чего схема запускается на решение.
Вид формульного узла показан на рис. 3.2.
Примечание. Формульный узел не применяется для работы с комплексными числами.
Пример 3.2. Решение алгебраических уравнений в матричной форме
Расчет токов в цепи рис. 3.1 можно провести по линейным алгебраическим уравнениям, составленным по законам Кирхгофа:
(1)
Эти уравнения можно записать в матричной форме
. (2)
Для решения системы линейных алгебраических уравнений в среде LabVIEW существует элемент «Решение линейных уравнений», вызываемый по пути All Functions => Analyze => Mathematics => Linear Algebra => Solve Linear Equatons. Терминалы его можно раскрыть нажатием на иконку правой клавишей мыши и далее из всплывающего меню Visible Items => Terminals. Вид элемента, исходный и с открытыми терминалами, изображен на рис. 3.3.
Для определения назначения терминалов можно снова нажать на иконку правой клавишей мыши и открыть переднюю панель Open Front Panel. Передняя панель имеет вид, представленный на рис. 3.4. Уравнение (2) вводится таким образом: матрица коэффициентов Input Matrix (первая матрица уравнения) — подается на левый верхний терминал, вектор заданных воздействий Known Vector (правая часть) — подводится к левому среднему терминалу, а результирующий вектор Solution Vector (вектор искомых токов) — снимается с правого верхнего терминала
Для того чтобы ввести матрицу, вызывается элемент Array (построение массива). Элемент вызывается на лицевой панели по пути All Controls => Array&Cluster => Array. Появляется пустая ячейка, в которую вносится цифровой управляющий элемент (для матрицы коэффициентов и вектора управляющих воздействий) или цифровой индикатор (для вектора искомых токов). Затем элемент растягивается до нужной размерности матрицы инструментом «перемещение» (стрелка). Окна управляющих элементов и индикаторов имеют серый цвет, после внесения туда цифровых данных они становятся белыми. Одновременно с вызовом элемента Array на лицевой панели появляется его иконка на панели блок-диаграмм. Вид лицевой панели и панели блок-диаграмм, где выполнены необходимые соединения, представлен на рис. 3.5.
В результате выполнения операции получается вектор решений Output. В этом столбце представлены значения токов /, = ЗА, /2 = 2А, /3 = 1А.
Можно из этого столбца выделить значения отдельных неизвестных. Для этого используется функция извлечения элемента массива All Functions => Array => Index Array. Выходы функции подключаются к элементам индикации (рис. 3.6). После запуска программы индикаторы покажут величины, соответствующие значениям строк выходного вектора.
Следует отметить, что программный инструмент Solve Linear Equation, кроме всего, обладает в некотором роде универсальными свойствами, так как может решать также и переопределенные и недоопределенные системы уравнений. В первом случае находится решение, наиболее удовлетворяющее уравнениям (по наименьшему небалансу), а во втором отыскивается одно из возможных решений.
http://pandia.ru/text/80/470/97673.php