ebook img

LabVIEW для изучающих теорию автоматического управления PDF

158 Pages·5.84 MB·Russian
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview LabVIEW для изучающих теорию автоматического управления

Министерство образования и науки РФ Тверской государственный технический университет В.Г. Васильев LabVIEW для изучающих теорию автоматического управления Учебное пособие Тверь 2012 ПРЕДИСЛОВИЕ Теории автоматического управления посвящено большое число монографий и учебных пособий. Однако список книг, в которых основное внимание было бы уделено численным методам анализа и синтеза систем управления, сравнительно невелик. Большинство из них было издано в конце 60–70-х годов прошлого века. Программы, иллюстрирующие содержание алгоритмических процедур, были написаны на популярных в то время текстовых языках программирования – Фортран, Алгол-60, PL/1. К сожалению, воспользоваться такими программами в наше время проблематично из-за отсутствия компиляторов или необходимости перевода текстов программ на современные языки программирования. Большинство проблем разработки программ в то время было связано с необходимостью написания множества специальных подпрограмм, отсутствующих в математическом обеспечении ЭВМ. С появлением математических библиотек такая проблема была частично решена, но все равно для программирования требовались специальные знания и большой практический опыт работы с компьютером. С ростом сложности разработки программного обеспечения постепенно возникла потребность в наиболее простой реализации алгоритмов прикладными программистами. Поэтому многие современные системы программирования предназначены для программистов- непрофессионалов в сфере программотехники. Среда разработки лабораторных виртуальных приборов LabVIEW (Laboratory Virtual Instrument Engineering Workbench) компании National Instruments – один из наиболее ярких примеров реализации такого подхода. LabVIEW – это уникальный инструмент для инженеров- исследователей. Среда LabVIEW содержит обширный математический инструментарий, большой набор средств визуализации данных, управления программой, её отладки и компонентов для создания удобного пользовательского интерфейса. Программирование в LabVIEW не требует профессионального знания языков программирования. Такой инструмент открывает большие возможности для самостоятельной и быстрой разработки приложений. Основная задача учебно-методического пособия – предоставить студентам, изучающим теорию автоматического управления, методический материал для разработки программных моделей автоматических систем управления в среде NI LabVIEW. Вторая, и не менее важная задача, – это популяризация самой среды как системы разработки программ пятого поколения. Средства разработки программ пятого поколения рассматриваются в более широком аспекте, чем это принято делать в отношении обычных языков программирования. Считается, что к системам пятого поколения 2 можно отнести не только новые, мощные языки, но и системы создания программ. Главная идея, которая закладывается в эти системы, – возможность интерактивного или полностью автоматического преобразования инструкций, вводимых в систему наиболее удобными методами и в максимально наглядном виде. В пособии основное внимание уделено методам программного моделирования линейных стационарных непрерывных систем автоматического управления. Для того чтобы шире осветить огромный научный потенциал среды LabVIEW, все программы, представленные в пособии, разработаны с применением только стандартных библиотечных функций LabVIEW версии 7.1. Это дает возможность открыть программу в любой старшей версии среды. Для проектирования систем управления в среде LabVIEW имеются два инструментальных пакета: «Control Design Toolkit» и «PID Control Toolkit». Автор счел методически нецелесообразным применение названных пакетов для иллюстрации численных методов. Во-первых, изучению каждого из названных пакетов может быть посвящена отдельная самостоятельная работа. Во-вторых, подобные пакеты – надстройки над системой программирования (для LabVIEW версии 2011 г. их более десятка) – предназначены для специалистов, овладевших вопросами теории и понимающих вычислительную сторону применяемых процедур. На стадии освоения профессии более важным является изучить вычислительные методы, не прибегая к сложным программным средам, которые часто и не нужны для решения учебных задач. Самостоятельное низкоуровневое программирование открывает доступ к пониманию математического аппарата и всех тонкостей приемов программирования в конкретной среде. Изучение листингов программ, извлечение из них приемов программирования – также необходимые элементы обучения искусству программирования. Справочная система LabVIEW, уникальная поставляемая библиотека готовых к применению приборов, электронные ресурсы Интернет предоставляют возможность быстрого приобретения профессиональных навыков работы в этой среде. Автор попытался систематизировать материал пособия, руководствуясь различными формами математического описания систем автоматического управления, сопроводив каждый раздел примерами программной реализации численных методов. Вопросы теории изложены в сжатой форме, достаточной для понимания рассмотренных вычислительных примеров. В конце каждого раздела приведен рекомендуемый список литературы для самостоятельного и более глубокого изучения теоретических вопросов. Примеры программной реализации теоретических положений призваны служить иллюстрациями методов программного моделирования систем управления при выполнении расчетной части курсовых и дипломных работ. 3 1. ВВЕДЕНИЕ В СРЕДУ ПРОГРАММИРОВАНИЯ LabVIEW 1.1. Введение в LabVIEW Основная идея среды LabVIEW – сочетание понятного графического интерфейса для разработки программ с мощными внутренними возможностями сбора, обработки и визуализации данных. Использование графического языка программирования и быстрого компилятора позволяет значительно сократить время разработки сложных программ при очень высокой скорости их выполнения. Затраты времени на разработку приложений в сравнении с традиционным программированием просто несоизмеримы. По самым осторожным оценкам сроки выполнения работ сокращаются как минимум в 4–10 раз. Среда обладает интуитивно понятным графическим интерфейсом, позволяет уделять основное внимание решению проблем, связанных непосредственно со сбором данных и управлением оборудованием, подключенным к компьютеру. В состав LabVIEW входят библиотеки управления различными аппаратными средствами и интерфейсами, такими как PCI, CompactPCI/PXI, VME, VXI, GPIB (КОП), PLC, VISA, системами технического зрения. LabVIEW является открытой системой программирования и имеет встроенную поддержку множества применяемых в настоящее время программных интерфейсов: Win32DLL, COM.net, DDE, сетевых протоколов на базе IP, DataSocket и других. Программные продукты, созданные в среде LabVIEW, могут быть дополнены модулями, разработанными в традиционных языках программирования, например, C/С++, Pascal, Basic, Fortran. И, наоборот, модули, разработанные в LabVIEW, можно использовать в проектах, создаваемых в других системах программирования. Так же можно создать независимые исполняемые файлы и библиотеки функций, такие как DLL. Процесс освоения пакета существенно облегчается ввиду наличия интерактивной обучающей системы, удобной контекстно-зависимой помощи, а также многочисленных прилагаемых примеров программ. Примеры являются не просто иллюстративными программами, а рабочими и готовыми к применению в различных приложениях. При необходимости их можно адаптировать или скопировать часть кода в разрабатываемую программу. Среда LabVIEW постоянно совершенствуется благодаря регулярному выходу новых версий. LabVIEW зарекомендовала себя как универсальная среда разработки прикладного программного обеспечения в ряде областей науки и техники и, в первую очередь, для систем контроля, научных исследований, управления процессами. Так, CERN (Европейская 4 организация по ядерным исследованиям – крупнейшая в мире лаборатория физики высоких энергий) использует NI LabVIEW для управления большим адронным коллайдером. Это яркий, показательный пример того, для решения задач какой сложности может применяться LabVIEW. 1.2. Основные принципы программирования в LabVIEW Передняя панель и блок-диаграмма программы. Программа в LabVIEW называется виртуальным прибором, или виртуальным инструментом (Virtual Instruments, VI). Разрабатываемые VI могут быть собраны из VI более низкого уровня (SubVI), которые являются аналогами функций (подпрограмм) в текстовых языках программирования. SubVI подчиняются принципам иерархичности и модульности. В среде LabVIEW также имеется возможность создавать собственные библиотеки виртуальных приборов. Для краткости виртуальный прибор VI далее будем называть просто «прибором». Разработка прибора осуществляется с помощью двух окон-панелей. Первая панель называется передней, или лицевой панелью. На ней проектируется интерфейс пользователя. Обычно он состоит из элементов управления прибором (кнопки, переключатели, выпадающие списки) и элементов отображения данных (осциллографы, стрелочные и цифровые индикаторы). Вторая панель предназначена для создания самой программы в виде так называемой блок-диаграммы. Все элементы блок-диаграммы представлены графически и связаны между собой проводниками (нитями), по которым происходит передача данных от узла к узлу программы. При разработке приборов полезна палитра «Tools Palette» из меню «Window» (надписи, комментарии, цветовые решения элементов приборов). Пример 1.1. Передняя панель и блок-диаграмма прибора LabVIEW приведены на рис. 1.1. Для инженеров, привыкших мыслить структурными схемами систем, рассматривать отдельные компоненты системы в качестве «черных ящиков» с известными входами и выходами, направлениями передачи сигналов, такая программа интуитивно более понятна, чем программа, реализованная на традиционном языке программирования. 5 Рис. 1.1. Прибор «Спектральный анализ сложного гармонического сигнала» Поток данных. Блок-диаграмма в LabVIEW – это узлы, которые являются либо источниками данных («Controls»), либо узлами отображения данных («Indicator»), либо узлами, в которых выполняются вычисления. Выходы одних узлов присоединяются к входам других. В LabVIEW используется понятие «поток данных». Это означает, что данные идут только в одном направлении – от исходного узла к одному или более узлов. Выполнение каждой операции производится при готовности всех поступивших на ее вход данных. В примере фрагмента блок-диаграммы операция суммирования будет выполнена только тогда, когда будут доступны два числа, операция вычитания – только после операции суммирования (рис. 1.2) . 6 Рис. 1.2. Пример арифметических вычислений Типы данных в LabVIEW. В LabVIEW можно работать с данными целого типа, числами с плавающей точкой (floating-point), комплексными числами (complex) и булевым типом данных (boolen), принимающих значения «true» и «false». Данные целого типа (integer) могут быть знаковыми (signed) и беззнаковыми (unsigned) c разрядностью 8, 16 и 32 бит соответственно. Число с плавающей точкой может быть представлено в виде single (32 бит), double (64 бит) или extended precision (128 бит) (с одиночной, двойной или расширенной точностью). В зависимости от типа передаваемых данных проводники имеют различную толщину и цвет. Синий цвет соответствует целым числам, оранжевый – вещественным, зеленый – логическим, лиловый – строковым данным. По мере перехода от числа (скаляр) к массиву чисел (вектор) или кластеру (сборка разных типов данных) увеличивается толщина проводника (табл. 1.1). Таблица 1.1 Мнемонические обозначения типов данных Величины Скалярные Одномерные Двумерные Цвет Оранжевый Численные (вещественные) Синий (целые) Логические Зеленый Строковые Фиолетовый Компонентами, определяющими совместимость соединения, являются тип данных элемента управления и/или отображения и тип данных поля ввода/вывода. Среда LabVIEW может самостоятельно выполнять приведение типов данных, т. е. подключать те поля ввода/вывода данных, которые являются совместимыми. Например, если к двум терминалам одной функции подключить числа разных типов, то результат автоматически будет приведен к числу с большей разрядностью (рис. 1.3). В ряде случаев данные к соответствующему типу требуется приводить принудительно с помощью узлов из палитр «Conversion» и «Data Manipulation». 7 Рис. 1.3. Суммирование двух типов данных (целого и вещественного) с приведением к типу «double» Кроме этого, в LabVIEW можно применять: – строковый тип («String»). Строковый тип данных содержит текст в ASCII формате и отображается в виде розовых терминалов. – путь к файлу («Path»). Путь к файлу близок строковому типу, однако, LabVIEW форматирует его, используя стандартный синтаксис для используемой платформы. – кластер («Cluster») – сборка данных разных типов. Названные типы данных не охватывают всего множества типов, предоставляемых в LabVIEW для решения прикладных задач. Палитры («Palettes») среды LabVIEW. Для разработки программ в LabVIEW используются три палитры: элементов управления («Controls»), функций («Functions»), инструментов («Tools»). Палитра «Controls» служит для создания на передней панели прибора различных элементов ввода данных, элементов управления программой в стадии ее выполнения и средств отображения данных. Панель доступна, только если активно окно передней панели программы (рис. 1.4). Рис. 1.4. Палитра элементов управления «Controls» Панель «Functions» содержит все объекты, которые могут быть использованы для создания VI (рис. 1.5). . 8 Рис. 1.5. Палитра «Functions» За каждой пиктограммой, расположенной на этой панели, скрывается панель пиктограмм нижнего уровня – палитра «All Functions». Список представленных в ней палитр велик. Вот некоторые из них: Structures (управляющие структуры). Включает циклы «For Loop», «While Loop» и другие; Numeric (числовые функции) – тригонометрические, логарифмические и другие функции; Boolean (булевы функции) – логические и булевые функции; String (строковые функции) – функции для работы со строковыми величинами; Array (массивы) – функции для обработки массивов; Cluster (кластеры) – функции для обработки кластеров; Comparison (сравнение) – функции для сравнения переменных; Signal Processing (обработка сигналов) – функции для генерации и обработки сигналов; Mathematics (математические) – оптимизационные, алгебраические, интегральные, дифференциальные и другие функции; Application Control (управление приложением) – функции, управляющие виртуальными приборами; Advanced (расширенная). Состоит из разных функций типа функции библиотечного запроса, манипуляции данных и др.; Tutorial (обучающие программы) – функции, используемые в обучающей программе LabVIEW; User Libraries (пользовательские библиотеки). С помощью нее организуется быстрый доступ к нужному VI; Select VI (выбор VI). Состоит из диалогового окна для внедрения подпрограмм в текущий VI. Приведенный и далеко не полный список функций является наглядным доказательством того, что LabVIEW является универсальной средой программирования с мощным инструментарием для решения широкого круга прикладных задач. 9 1.3. Язык графического программирования G При разработке прибора все действия программиста сводятся к разработке блок-диаграммы приложения в интерактивной графической системе, обладающей набором необходимых образов библиотечных функций и конструкций традиционных языков программирования. В LabVIEW такой язык программирования именуется «G». Основные структуры языка «G» представлены в палитре «Structures» (рис. 1.6). Рис. 1.6. Палитра «Structures» Сопоставление некоторых часто применяемых структур языка G с операторами языка Си приведено в рис. 1.7. for(i = 0; i < 100; i ++) { } Цикл For Loop Цикл for () for(i = 0; ;i ++) { } или i =0 while (1) { i ++ } Цикл While Loop Цикл while () Рис. 1.7. Сопоставление некоторых часто применяемых структур языка G с операторами языка Си 10

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.