Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мод сис / 1enterpriselibrarytutorial.ru.pdf
Скачиваний:
129
Добавлен:
11.04.2015
Размер:
4.65 Mб
Скачать

Учебное пособие по Enterprise Library

очередная деталь. Степень заполнения буфера (мы получаем это значение с помощью функции queue.size()) сравнивается с его вместимостью (get_capacity()). Чтобы учесть только что обработанную деталь, к полученному результату добавляется единица.

 Вы можете узнать текущее значение свойства объекта и изменить его с помощью функций get_x() и set_x(), где x является именем свойства.

Объект Delay будет заблокирован с помощью функции block(). Детали не будут приниматься на обработку, пока не будет вызвана функция unblock().

YРазблокируйте станцию, как только деталь будет забрана из буфера.

а Напишите код

а Функция unblock() вызывается даже тогда, когда объект Delay не заблокирован. Если же Вы хотите узнать, заблокирован ли объект, вызовите функцию blocked().

Запустите модель щелчком по кнопке Запустить .

Ô Текущая контрольная модель: Examples \ Enterprise Library Tutorial Models \ Shop Floor 5 - Blocking the station.alp.

© 1992-2004 XJ Technologies http://www.xjtek.com

75

Учебное пособие по Enterprise Library

3.7Изменение интенсивности поставки деталей

Теперь мы хотим добавить возможность изменения интенсивности поставки деталей.

► Задайте интенсивность поставки

X Добавьте параметр класса

Y Измените свойства источников

Z Добавьте объект

Queue

[ Добавьте объект Sink

XСоздайте параметр, задающий интенсивность поставки деталей. Щелкните мышью по элементу Model в дереве проекта и создайте параметр со следующими свойствами:

аПозже мы будем изменять значение параметра sourceRate с помощью специального элемента управления

аНазовите параметр sourceRate, выберите тип real, и задайте значение 10.

76

© 1992-2004 XJ Technologies http://www.xjtek.com

Учебное пособие по Enterprise Library

YЗадайте следующее свойство у обоих объектов Source:

а Задайте интервал поставки деталей

ZМы добавим буфер для хранения деталей, которые не смогут быть помещены на конвейер.

Задайте следующие свойства объекта:

а Выберите true

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

обращайтесь к Справочному руководству по Enterprise Library.

[Добавьте объект Sink для сбора статистики о потерянных деталях. Назовите объект lost и соедините его порт с левым верхним портом объекта Queue.

© 1992-2004 XJ Technologies http://www.xjtek.com

77

Учебное пособие по Enterprise Library

► Добавьте на анимацию элементы управления

X Добавьте ползунок для изменения интенсивности

Y Покажите текущее значение интенсивности

Z Нарисуйте буфер и добавьте метки размера буфера и числа потерянных деталей

X

а Поместите ползунок

б Поместите метки границ диапазона ползунка

Задайте следующие свойства созданного ползунка:

а Выберите параметр sourceRate

б Задайте пределы диапазона значений ползунка

78

© 1992-2004 XJ Technologies http://www.xjtek.com