Реферат: Моделирование линейных непрерывных систем в среде LabVIEW
Содержание
Введение
Моделирование линейных непрерывных систем
Численное решение дифференциальных уравнений
Замена непрерывной передаточной функции дискретной
Моделирование линейных замкнутых систем
Заключение
Список литературы
Введение
LabVIEW (LaboratoryVirtualInstrumentEngineeringWorkbench) позволяет разрабатывать прикладное программное обеспечение для организации взаимодействия с измерительной и управляющей аппаратурой, сбора, обработки и отображения информации и результатов расчетов, а также моделирования как отдельных объектов, так и автоматизированных систем в целом. Разработчиком 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 (t k-1, , u k-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 = uk - 1 + S1 (tk - tk - 1 ) = uk - 1 + S1 Δt
Учитывая, что производная du (t ) /dt равна правой части дифференциального уравнения (1), имеем S1 = f (uk - 1 , xk - 1 , tk - 1 ) и окончательно получим:
uk = uk - 1 + Δt f (uk - 1 , xk - 1 , tk - 1 ). (3)
Это выражение является приближенным решением дифференциального уравнения (1) прямым методом Эйлера. Оно рекуррентное и позволяет найти значение выходного процесса uk по значениям выходного и входного процессов в предыдущем такте.
На рис. 1 а ) проиллюстрировано решение прямым методом Эйлера.
а ) | б ) |
Рис.1 |
Видим, что при использовании этого метода используется линейная экстраполяция и тангенс угла наклона экстраполирующей прямой равен производной функции u (t ) в точке А. Экстраполированное значение uk отличается от точного на величину ошибки.
Неявный (обратный) метод Эйлера основан на разложении функцииu (t ) в ряд Тейлора в окрестности точки В (u k, , t k ) (см. рис.1 б ):
u (t ) = uk + S1 (t - tk ) + S2 (t - tk ) 2 + …,
--> ЧИТАТЬ ПОЛНОСТЬЮ <--