Описание задачи автоматизации управления сборочным робототехническим конвейером
На большом машиностроительном заводе имеется робототехническая сборочная линия (конвейер), структура которой показана на рис. 1.1. Сборку выполняют n подъёмно-транспортных роботов, расположенных вдоль ленты транспортного конвейера. В начале конвейера установлен робот, загружающий на конвейер сборочные детали, в конце – робот, отгружающий собранные изделия с конвейера. Автоматизированное управление сборочным конвейером осуществляется с рабочих станций Дежурных Операторов, Инженера-Технолога и Начальника Производства. С помощью перепрограммирования рабочих станций можно организовать серийное производство различных вариантов готовых изделий.
Каждый робот оснащен датчиками и приводами. Датчики используются для мониторинга рабочего состояния (например, обнаружения прибытия очередной детали), а приводы - для включения и выключения механизмов (например, конвейера). Первая рабочая станция является приемной, а последняя ‑ отгрузочной. Эти станции оборудованы только подъемно-транспортными роботами. Все остальные станции называются линейными, они управляют сборочными роботами. Дежурные операторы следят за состоянием станций и тревожными сигналами.
Рис. 1.1. Роботизированная производственная линия
Шаги, необходимые для получения готового изделия из исходного сырья, описываются технологической картой процесса, подготовленной Инженером-Технологом. Карта определяет вид технологического процесса и последовательность производственных операций. Каждая операция выполняется на одной из линейных рабочих станций. Обработка новых деталей начинается с того, что Начальник Ппроизводства составляет наряд-заказ, где указано количество деталей каждого типа.
Задание
Создайте модель прецедентов в форме Диаграммы Пакетов (Package Diagram), включающей следующие Пакеты прецедентов:
Пакет Прецедентов Дежурного Оператора
Пакет Прецедентов Инженера-Технолога,
Пакет Прецедентов Начальника Производства.
Технология выполнения
Мы предполагаем, что студенты уже знакомы с интерфейсами и технологией работ в среде Rational Rose, поэтому ограничимся только концептуальной (содержательной) частью проектирования, т.е. будем указывать что нужно делать, а не как и с помощью чего это делается.
Сценарии диалогов каждого прецедента Use-Case-диаграмм представлены в том формате, в котором их можно копировать (через Буфер обмена) в поле Documentation: Use-Case-спецификаций.
Создайте на своей флеш-карте рабочий каталог для хранения файла САП-модели и отчётного документа.
Запустите программу моделирования систему IBM Rational Rose Enterprise Edition и сохраните (untitled)-шаблон модели, представленный в панели Browser, в своём рабочем каталоге с именем CAMsys#, где # - номер бригады исполнителей.
По мере создания пакета и диаграмм прецедентов, сохраняйте их в папке Use Case View своей модели с именами, показанными в панели Browser, на рис. 1.2.
Рис. 1.2. Модель прецедентов в структуре модели CAMsys
Создайте модель прецедентов в форме Диаграммы Пакетов (Package Diagram)1, показанной на рис. 1.3.
Рис. 1.3. Пакеты прецедентов САП
Включите в структуру модели прецедентов следующих исполнителей (Actors):
Люди:
НачальникПроизводства
ДежурныйОператор
Инженер-Технолог
Заводские роботы:
Подъёмно-ТранспортныйРобот
СборочныйРобот
В составе Пакета Прецедентов Дежурного Оператора постройте Диаграмму Прецедентов Дежурного Оператора (рис. 1.4), в которую включите следующие прецеденты:
Следить за Сигналами Тревоги. Дежурный оператор следит за сигналами тревоги и вовремя устраняет причины сбоя. Он вправе также подписаться на извещения о сигналах тревоги заданного вида;
В поле Documentation: этого прецедента скопируйте следующий сценарий:
S1: Оператор направляет запрос серверу сигналов тревоги, информируя о желании посмотреть текущие сигналы или подписаться на извещения о сигналах тревоги некоторого вида.
S1.1: Объект ИнтерфейсОператора посылает запрос Сер-веруСигналовТревоги.
S1.2: СерверСигналовТревоги выполняет запрос, в частности считывает список текущих сигналов тревоги или добавляет имя клиента к листу подписки, а затем посылает ответ объекту ИнтерфейсОператора.
S1.3: Объект ИнтерфейсОператора отображает оператору ответ, например информацию о сигналах тревоги.
Следить за Состоянием Рабочей Станции. Дежурный оператор наблюдает за состоянием одной или нескольких рабочих станций. Разрешается также подписаться на извещения об изменениях в состоянии рабочей станции;
В поле Documentation: спецификаций этого прецедента скопируйте следующий сценарий:
V1: Оператор направляет запрос сервису состояний рабочих станций, информируя о желании посмотреть текущее со-стояние станции.
V1.1: Объект ИнтерфейсОператора посылает запрос Сер-веруСостоянийРабочихСтанций.
V1.2: СерверСостоянийРабочихСтанций отвечает, возвращая данные о состоянии указанной рабочей станции
V1.3: Объект ИнтерфейсОператора отображает оператору полученный ответ.
Изменить Состояние Рабочей Станции и Известить. Состояние рабочей станции изменяется в ходе функционирования - например, когда начинается или завершается обработка детали. Операторы извещаются о тех изменениях, на которые они подписались;
В поле Documentation: спецификаций этого прецедента скопируйте следующий сценарий:
N1: Объект КонтроллерРабочейСтанции получает от внешнего робота информацию об изменении состояния рабочей станции, например о том, что обработка детали закончена.
N2: Объект КонтроллерРабочейСтанции направляет сообщение о состоянии рабочей станции СерверуСостоянийРабочихСтанций.
N3: СерверСостоянийРабочихСтанций рассылает сообщение, содержащее новое состояние станции, всем подписчикам, выразившим интерес к извещениям этого вида.
N4: Объект ИнтерфейсОператора принимает сообщение о состоянии рабочей станции и выводит информацию.
Поднять Тревогу и Известить. Если в процессе обработки детали возникло состояние тревоги, генерируется сигнал. Операторы извещаются о тех сигналах тревоги, на которые они подписались.
В поле Documentation: спецификаций этого прецедента скопируйте следующий сценарий:
Ml: Объект КонтроллерРабочейСтанции получает от внешнего робота информацию о чрезвычайной ситуации.
М2: Объект КонтроллерРабочейСтанции отправляет сигнал тревоги СерверуСигналовТревоги.
МЗ: СерверСигналовТревоги рассылает тревожное сообщение всем подписчикам, выразившим интерес к извещениям этого вида.
М4: Объект ИнтерфейсОператора принимает извещение о тревоге и выводит информацию.
Рис. 1.4. Диаграмма Прецедентов Дежурного Оператора
В составе Пакета Прецедентов Инженера-Технолога постройте Диаграмму Прецедентов Инженера-Технолога (рис. 1.5), в которую включите следующие прецеденты:
Создать/Изменить Операцию
В поле Documentation: спецификаций этого прецедента скопируйте следующий сценарий:
О1: ИнженерТехнолог вводит информацию, необходимую для создания операции, с помощью объекта ИнтерфейсИнженераТехнолога. Сюда входит название операции, тип рабочей станции и используемые программы для роботов.
О1.1: Объект ИнтерфейсИнженераТехнолога посылает запрос Создать Операцию объекту СерверОпераций.
О1.2: СерверОпераций отвечает сообщением Информа-ция об Операции.
О1.3: Объект ИнтерфейсИнженераТехнолога выводит Информацию об Операции инженеру-технологу. Инженер может повторить весь процесс для создания следующей операции.
Создать/Изменить Технологическую Карту
В поле Documentation: спецификаций этого прецедента скопируйте следующий сценарий:
Р2: ИнженерТехнолог вводит информацию, необходимую для создания технологической карты, с помощью объекта ИнтерфейсИнженераТехнолога. Сюда входит название карты, тип детали, сырье и информация о первой операции.
Р2.1: Объект ИнтерфейсИнженераТехнолога посылает сообщение Создать Технологическую Карту объекту СерверТехнологическихКарт.
Р2.2: СерверТехнологическихКарт направляет запрос СерверуОпераций.
Р2.3: СерверОпераций возвращает информацию о запро-шенной операции.
Р2.4: СерверТехнологическихКарт посылает Инфор-мацию о Технологической Карте объекту ИнтерфейсИнженераТехнолога.
Р2.5: Объект ИнтерфейсИнженераТехнолога выводит полученные данные ИнженеруТехнологу. Инженер включает в технологическую карту новые операции.
Рис. 1.5. Диаграмма Прецедентов Инженера-Технолога
В составе Пакета Прецедентов Начальника Производства постройте диаграмму лрецедентов Начальника Производства (рис. 1.6), в которую включите следующие прецеденты:
Создать Наряд-Заказ
В поле Documentation: этого прецедента скопируйте следующий сценарий:
R1: Начальник Производства с помощью объекта ИнтерфейсНачальникаПроизводства определяет Задание на Производство, в частности тип подлежащей изготовлению детали.
R1.1: Объект ИнтерфейсНачальникаПроизводства посылает запрос СерверуТехнологическихКарт, который извлекает информацию о карте, соответствующей указанному типу детали.
R1.2: СерверТехнологическихКарт направляет Ин-формацию о Технологической Карте объекту ИнтерфейсНачальникаПроизводства.
R1.3: Объект ИнтерфейсНачальникаПроизводства отображает полученные сведения.
Рис. 1.6. Диаграмма прецедентов Начальника Производства
Изменить Наряд-Заказ
В поле Documentation: этого прецедента скопируйте следующий сценарий:
R2: НачальникПроизводства вводит данные о наряде-заказе с помощью объекта ИнтерфейсНачальникаПроизвод-ства. Сюда входит название наряда-заказа, тип детали и число подлежащих изготовлению деталей.
R2.1: Объект ИнтерфейсНачальникаПроизводства посылает сообщение Создать объекту СерверНарядовЗаказов.
R2.2: СерверНарядовЗаказов передает СерверуДеталей запрос Создать для каждой указанной в наряде детали.
R2.3: СерверДеталей подтверждает запрос на создание деталей.
R2.4: СерверНарядовЗаказов возвращает Информацию о наряде-заказе объекту ИнтерфейсНачальникаПроизводства.
R2.5: Полученная информация отображается пользователю.
Изготовить Деталь,
Сложный прецедент Изготовить Деталь является базовым. Он описывает стадии обработки деталей и связан с тремя абстрактными прецедентами:
Прецедент A. Принять (Получить) Деталь.
В поле Documentation: спецификаций этого прецедента скопируйте следующий сценарий:
Приёмная рабочая станция получает от начальника производства запрос на изготовление новой детали и отсылает эту деталь на первую линейную станцию.
Прецедент B. Обработать Деталь на Рабочей Станции (выполняется многократно).
В поле Documentation: спецификаций этого прецедента скопируйте следующий сценарий:
Линейная станция принимает деталь от предыдушей станции, выполняет сборочную операцию и отправляет деталь следующей рабочей станции.
Прецедент C. Отгрузить Деталь.
В поле Documentation: спецификаций этого прецедента скопируйте следующий сценарий:
Последняя линейная станция отправляет готовую деталь отгрузочной станции, которая посылает Начальнику Производства уведомление о завершении обработки.
Конкретный прецедент обработки детали, которая должна пройти через w Линейных Рабочих Станции, включает:
- одно исполнение Прецедента A
- w-1 исполнение Прецедента B
- одно исполнение Прецедента С
На диаграммах состояний этим абстрактным прецедентам соответствуют события с метками A, B и C
Принять Деталь (Прецедент A). Приёмная рабочая станция получает от начальника производства запрос на изготовление новой детали и отсылает эту деталь на первую линейную станцию.
В поле Documentation: спецификаций этого прецедента скопируйте следующий сценарий:
А1: Начальник производства инициирует обработку наряда-заказа, что запускает процесс изготовления всех указанных в нем деталей.
А2: Интерфейс Начальника Производства посылает сообщение Начать Изготовление Детали объекту Контроллер Приемной Рабочей Станции, в котором указаны тип детали и количество необходимых деталей.
A3: Контроллер Приемной Рабочей Станции командует Подъемно-Транспортному Роботу положить на конвейер сырье для изготовления детали.
А4: Подъемно-Транспортный Робот помещает сырье на конвейер и извещает об этом Контроллер Приемной Рабочей Станции.
А5: Контроллер Приемной Рабочей Станции посылает Контроллеру Линейной Рабочей Станции сообщение Деталь Идет. Это сообщение является последним в прецеденте контроллера приемной рабочей станции и следующим в очередности событий прецедента контроллера линейной рабочей станции.
Обработать Деталь на Рабочей Станции (Прецедент B). Линейная станция принимает деталь от предыдущей станции (назовём её Предшественником), выполняет сборочную операцию и отправляет деталь следующей рабочей станции (Преемнику). Данный прецедент повторяется многократно).
В поле Documentation: спецификаций этого прецедента скопируйте следующий сценарий:
В2: Контроллер Рабочей Станции посылает своему предшественнику сообщение Запрос Детали.
В3: Контроллер Приемной Рабочей Станции посылает Контроллеру Линейной Рабочей Станции сообщение Деталь Идет. Это сообщение является последним в прецеденте контроллера приемной рабочей станции и следующим в очередности событий прецедента контроллера линейной рабочей станции. Получив от предшественника сообщение Деталь Идет, Контроллер Линейной Рабочей Станции переходит в состояние Деталь на Подходе
В4: С переходом в это состояние ассоциировано действие, которое посылает Запрос Следующей Операции объекту Сервер Технологических Карт, где указаны тип детали и номер текущего шага (первоначально 1).
В5: Сервер Технологических Карт увеличивает на единицу номер текущего шага, определяет идентификатор операции для нового шага и посылает запрос Серверу Операций с просьбой сообщить сведения о следующей операции.
В6: Сервер Операций возвращает запрошенную информацию.
В7: Сервер Технологических Карт отправляет данные об операции Контроллеру Линейной Рабочей Станции.
В8: Датчик Подъемно-Транспортного Робота обнаруживает прибытие детали и посылает Контроллеру Линейной Рабочей Станции сообщение Деталь Пришла. Это вызывает переход контроллера в состояние Робот Поднимает.
В9: При переходе состояний Контроллер Линейной Рабочей Станции направляет Подъемно-Транспортному Роботу команду Поднять, чтобы снять деталь с конвейера.
В10: Подъемно-Транспортный Робот снимает деталь и переносит ее на рабочую станцию. О завершении операции робот уведомляет контроллер, после чего тот переходит в состояние Обработка Детали.
В11: Контроллер Линейной Рабочей Станции передает Сборочному Роботу команду Начать Сборку.
В12: По завершении сборки Сборочный Робот посылает сообщение Конец Операции. Если на деталь уже поступил запрос (сообщение Запрос Детали), то Контроллер Линейной Рабочей Станции переходит в состояние Робот Возвращает, в противном случае - в состояние Ожидание Запроса Детали от контроллера следующей ЛРС.
В13: В момент перехода Контроллер Линейной Рабочей Станции командует Подъемно-Транспортному Роботу вернуть деталь на конвейер.
В14: Положив деталь, Подъемно-Транспортный Робот извещает контроллер сообщением Деталь Положена. Контроллер переходит в состояние Ожидание Детали от контроллера предшествующей ЛРС. В момент перехода выполняются параллельно два следующих действия (В15 и В15а).
В15: Контроллер Линейной Рабочей Станции посылает преемнику сообщение Деталь Идет.
В15а (параллельная последовательность): Контроллер Линейной Рабочей Станции отправляет сообщение Запрос Детали своему предшественнику.
Отгрузить Деталь (Прецедент C). Последняя Линейная станция отправляет готовую деталь Отгрузочной станции, которая посылает Начальнику Производства уведомление о завершении обработки.
В поле Documentation: спецификаций этого прецедента скопируйте следующий сценарий:
C2: В момент перехода состояний Контроллер Рабочей Станции посылает своему предшественнику сообщение Запрос Детали.
C3: Контроллер Линейной Рабочей Станции посылает контроллеру Отгрузочной Рабочей Станции сообщение Деталь Идет.
С4: Расположенный на отгрузочной станции датчик обнаруживает прибытие детали, а Подъемно-Транспортный Робот посылает Контроллеру Отгрузочной РС сообщение Деталь Пришла.
С5, C6: Контроллер Отгрузочной РС посылает Подъёмно-транспортному Роботу команду Снять Деталь с конвейера. Подъемно-Транспортный Робот снимает деталь с конвейера и извещает об этом Контроллер Отгрузочной Рабочей Станции.
С7: Контроллер Отгрузочной Рабочей Станции помещает деталь на склад готовых деталей и отправляет Интерфейсу Начальника Производства сообщение Деталь Обработана.
С8: Интерфейс Начальника Производства выводит сообщение о завершении обработки детали.
1 Напомним, что каждый тип диаграмм строится в отдельном окне, в заголовке которого указывается тип диаграммы, папка модели, в которой размещается диаграмма и пользовательское имя диаграммы (см. рис. 1.2)
ЛабРаб 1.
Построение
модели прецедентов САП