49125 (Среда разработки и платформа для выполнения программ LabVIEW), страница 2
Описание файла
Документ из архива "Среда разработки и платформа для выполнения программ LabVIEW", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "49125"
Текст 2 страницы из документа "49125"
Position/Size/Select - установка, "перетягивание", перемещение, изменение размеров объекта – стрелочка меняет свой внешний вид, когда доступна опция изменения размеров объекта;
Edit text- инструмент для ввода текста, как в окне интерфейсной части программы, так и в окне редактирования диаграмм;
Connect Wire - используется для связи (соединения) объектов;
Object Shortcut Menu - инструмент выполняет аналогичную функцию, что и нажатие на правую кнопку мыши на желаемом объекте, т.е. служит для вызова выпадающего меню;
Scroll Window – перемещение (прокрутка) содержимого окна одновременно;
Set/Clear Breakpoint - установка точек (меток) останова программы при ее отладке;
Probe Data - устанавка пробника в окне редактирования диаграмм, который, во время выполнения или отладки программы показывает значение параметра, где установлен пробник;
Get Color - копирование цвета в палитру - необходимо подвести указатель и нажать левую кнопку мыши;
Set Color - установка цвета объекта и его фона.
Панель Управления и Функциональная панель представляют собой структурированный набор иконных меню, предназначенных для доступа к библиотекам элементов интерфейса и соответствующих функций. Вызов необходимой панели осуществляется автоматически, при переключении между окном редактирования и интерфейсной панелью.
Используя Панель Управления, Вы можете устанавливать (добавлять) элементы управления и индикаторы. Каждая опция иконизированного меню
содержит подменю, в котором находятся соответствующие объекты. Вызывается из основного меню View>Controls Palette, рис. 9.
Рис. 9. Панель управления
Элементы Функциональной Панели используются для создания диаграмм, т.е. алгоритма работы VI. Функциональная панель содержит необходимые функции для работы с различными типами и структурами данных, и позволяет реализовывать алгоритмы любой сложности от простых арифметических вычислений до функционально сложных, таких, например, как спектральный анализ. Вызывается из основного меню View>Show
Functions Palette, рис. 10.
Рис. 10. Функциональная панель
Построение СМО в LabVIEW
Создание программы начните с окна редактирования диаграмм. Создайте прибор для инициализации очереди. Для этого на функциональной панели необходимо выбрать Programming>Synchronization>Queue Operation>Obtain Queue. Затем из Tools Palette выберите Connect Wire (катушка) и кликните правой кнопкой мыши на верхний вход прибора (max queue size), далее в появившемся контекстном меню выберите пункт create>control. Этот управляющий элемент также появится на интерфейсной панели, с помощью него будет задаваться количество пациентов, поступающих в поликлинику в день/час. Необходимо задать имя очереди. Для этого кликните правой кнопкой мыши на вход прибора name, затем выберите пункт создания константы create>constant, и в появившемся окошке введите имя очереди, например, 1. Также необходимо задать тип данных элемента - тип данных, которые должна содержать очередь. Для этого выберите Programming>Numeric>Numeric Constant (по умолчанию стоит «0») и подключите его к входу element data type. У Вас должен получиться прибор, как показан на рис. 11.
Рис. 11. Инициализация очереди
Очередь инициализирована. Далее необходимо определить порядок становления пациентов в очередь. Установите прибор Programming>Synchronization>Queue Operation>Enqueue Element и с помощью катушки соедините выходы queue out и error out из прибора Obtain queue к соответствующим входам прибора Enqueue Element. Так как пациент не один, необходима циклическая работа программы. Выберите из функциональной панели programming>structures>For Loop и выделите с помощью левой кнопки мыши прибор Enqueue Element. Чтобы пациенты становились в очередь по одному, перетяните «увеличение на 1» Programming>Numeric>increment. К входу x подключите значок «итерация цикла», а выход (x+1) пиктограммы подключите к входу Element прибора Enqueue Element. Пусть каждый пациент приходит в поликлинику через заданное время, например через 1 секунду. Для этого установите в цикл задержку. Выберите Programming>Timing>Wait (ms) и перетяните данную иконку в цикл. Создайте для нее константу, соответствующую этой задержке. Для этого подведите указатель в виде катушки к левой части иконки, нажмите правую кнопку мыши и выберете пункт создания константы Create>Constant. Чтобы количество итераций цикла было равно количеству пациентов, прибывающих в поликлинику, соедините выход управляющего элемента Numeric Control с пиктограммой N, как показано на рис. 12.
Рис. 12. Добавление элементов в очередь
В поликлинике имеется регистратура, через которую проходит каждый пациент. Чтобы установить регистратуру, для начала установите цикл While Loop, programming>structures>While Loop. Чтобы прочитывать элементы из очереди, то есть обслуживать пациентов, поместите в цикл While Loop прибор Dequeue Element, Programming>Synchronization>Queue Operation>Dequeue Element. Чтобы видеть, сколько обслужено пациентов, создайте соответствующий индикатор для прибора Dequeue Element – правой кнопкой мыши щелкните на выходе приборе Element и выберите пункт constant>indicator. С помощью инструмента Edit Text из панели инструментов поменяйте имя индикатора на «Обслужено пациентов». Установите время обслуживания пациентов с помощью прибора задержки Wait (ms) и присваивания этому прибору константы с нужным временем. Нажмите правой кнопкой мыши на иконку условия выхода из цикла (красная пиктограмма в нижнем правом углу цикла) и в выпадающем меню выберите пункт создания константы, по умолчанию стоит F-«false», то есть цикл будет работать без остановки. Соедините только что созданный прибор с ранее созданной очередью, как показано на рис. 13.
Рис. 13. Чтение из очереди
Чтобы видеть, сколько пациентов в данный момент находятся в очереди, используйте прибор Get Queue Status, Programming>Synchronization>Queue Operation>Get Queue Status. Поместите его в цикл While Loop и соедините с очередью. Кликните правой кнопкой мыши на левый вход Return Elements? (F) прибора Get Queue Status и выберите пункт Create>Constant. Return Elements? – отображает, возвращены ли элементы в очередь. По умолчанию установлено значение false – функция не будет возвращать элементы в очередь. Чтобы поменять значение на trough, выберите инструмент Operate Value из панели инструментов и щелкните левой кнопкой мыши на соответствующей пиктограмме. Для выходов Elements и # Elements in queue, которые находятся снизу у прибора Get Queue Status, создайте индикаторы, как показано на рис. 14.
Рис. 14. Количество элементов в очереди
После того, как пациент обслужился в регистратуре (получил номерок), он отправляется к врачу. Соответственно, к врачу формируется новая очередь. Аналогично первой, создайте вторую очередь и дайте ей имя, например, 2. Поместите прибор Enqueue Element в цикл While Loop с Dequeue Element. Подключите выход Element прибора Dequeue Element к входу Element прибора Enqueue Element – то есть пациенты, обслуженные регистратурой, становятся в очередь к врачу. Создайте цикл с Dequeue Element, такой же, как для первой очереди и подключите его ко второй очереди. Чтобы видеть, сколько пациентов находится в данный момент в очереди к врачу, создайте точно такой же цикл с Get Queue Status, как и в первой очереди, и подключите его ко второй очереди.
Чтобы время поступления пациентов в очередь и время обслуживания пациентов можно было устанавливать на интерфейсной панели, поменяйте constant у приборов задержки Wait (ms) на Control. Для этого кликните правой кнопкой мыши на константу и выберите Change to Control. Чтобы время задавалось в секундах, вставьте между управляющей пиктограммой и прибором Wait (ms) множитель (Programming>Numeric>Multiply) на 1000. В цикле с Dequeue Element необходима последовательность действий для правильной работы. Выберите Programming>Structure>Flat Sequence, поместите прибор Dequeue Element и прибор Wait (ms) внутрь Flat Sequence. Кликните на границе Flat Sequence правой кнопкой мыши, и выберите Add Frame и поместите во второй фрейм индикатор «обслужено пациентов». У Вас получится программа, как на рисунке 15.
Рис. 15. Модель СМО
На интерфейсной панели выделите индикатор Пациенты и растяните его вниз так, чтобы появилось несколько индикаторов. Кликните правой кнопкой мыши и выберите Visible Items>Unit Label. Для удобства восприятия на интерфейсной панели разместите управляющие элементы и индикаторы, относящиеся к регистратуре в одно окно, например, на панели управления выберите Controls>Modern>Decorations>Raised Frame, а относящиеся к врачу, в другое. В итоге должна получиться программа, как на рис.16.
Проверьте программу на работоспособность. Для этого установите время обслуживания пациентов в регистратуре и у врача, задайте необходимое количество пациентов и время пребывания пациента в очередь.
Рис. 16. Интерфейс программы.
Методические указания к выполнению лабораторной работы
-
На основе описания системы выявить её исходные характеристики (интенсивность входного потока, время обслуживания, длина очереди, интенсивность обслуживания).
-
Создать модель СМО в среде (“LabView”).
-
Оценить характеристики этой модели.
-
Оценить соответствие характеристик накладываемым ограничениям на исходную систему.
-
Выбрать способ модификации модели СМО для удовлетворения ограничениям.
-
Оценить характеристики полученной модели.
-
Внести адекватные изменения в исходную систему.