Другие журналы
|
научное издание МГТУ им. Н.Э. БауманаНАУКА и ОБРАЗОВАНИЕИздатель ФГБОУ ВПО "МГТУ им. Н.Э. Баумана". Эл № ФС 77 - 48211. ISSN 1994-0408
77-30569/400027 Описание структуры технических объектов с взаимозаменяемыми элементами
# 04, апрель 2012
Файл статьи:
Мокрозуб_P.pdf
(496.04Кб)
УДК 004.9. Тамбовский государственный технический университет Введение Одним из основных документов, описывающих структуру выпускаемых машиностроительным предприятием изделий, является спецификация. Этот документ создается на этапе конструкторской подготовки производства и используется многочисленными службами предприятии, как на этапе подготовки производства, так и на этапе изготовления изделия. Описанию структур технических объектов (ТО) посвящено большое количество публикаций. В [1] предлагается использовать полихроматические множества для описания состава и свойств изделий, в [2, 3] представлены способы представления структуры изделий в информационных системах управления машиностроительными предприятиями. В [4] описано применение гиперграфов и реляционных баз данных для описания и хранения структуры ТО. В конструкции изделия достаточно часто на одну позицию спецификации закладывается несколько взаимозаменяемых (альтернативных) элементов, которые могут влиять и на другие позиции спецификации изделий. Выбор конкретного элемента для таких позиций осуществляется диспетчерскими службами предприятия на основании имеющегося задела, остатков на складе (например, покупных комплектующих) и др. Условия взаимодействия таких переменных позиций задаются конструктором. Цель работы – разработка способов представления структуры ТО cвзаимозаменяемыми элементами в автоматизированных информационных системах. В качестве базового программного обеспечения принята реляционная база данных. Область использования результатов – автоматизированные информационные системы, предназначенные для проектирования технических объектов и управления предприятиями машиностроительного профиля. 1. Структура базы данных спецификации изделий с взаимозаменяемыми элементами Рассмотрим изделие а1, которое состоит из деталей а2 и а5 и двух сборочных единиц а3, а6 или а4, а7. Ниже представлены спецификации всех сборочных единиц.
На рис. 1 приведено дерево изделия а1, составленное из спецификаций сборочных единиц, входящих в а1.
Рис. 1 Дерево изделия а1.
Взаимозаменяемость элементов определяется следующими правилами: Правило 1. Если а3 то а6. Правило 2. Если а4 то а7. Правило 3. Если а17 то а12. Правило 4. Если а18 то а13. Для изготовления изделия а1 необходим однозначно задать позиции с взаимозаменяемыми элементами. Исходными данными для составления такой спецификации является наличие или отсутствие элементов а3, а4, а17, а18 в конечном изделии. При этом возможны разные варианты. На рис. 2. представлены деревья, полученные после применения правил 1-4 для следующих исходных данных: - а3, а17 присутствуют в изделии а1, (рис. 2,а); - а4 присутствует в изделии а1 (рис. 2,б).
Рис. 2. Возможные варианты изделия а1
Структура базы данных спецификации изделий с взаимозаменяемыми элементами представлена на рис. 3. Таблица Изделия содержит все сборочные единицы и детали, как покупные, так и изготавливаемые на предприятии. В таблице Спецификации поле ID_Изделия_родителя представляет изделие, для которого составлена спецификация (куда входит изделие потомок). Для альтернативных позиций ID_Изделия_потомка будет равно нулю. В этом случае потомки определяет таблица ИЛИ_позиции, в которой для одной позиции спецификации задается несколько изделий потомков. В таблице Правила для альтернативных позиций спецификаций в поле Текст_на_SQL задается правило взаимозаменяемости элементов в формате SQL. Поле Текст_на_ЕЯ содержит правило на естественном языке, например «Если А17, то А12». Поля ID_Определяющего_элемента и ID_Определяемого_элемента необходимы для того, чтобы в дальнейшем выбирать для обработки только те правила, которые могут иметь отношение к раскрываемому изделию.
Рис. 3. Структура базы данных спецификации изделий с взаимозаменяемыми элементами
2. Алгоритм составления дерева изделия Алгоритм составления дерева изделия состоит из следующих шагов: - шаг 1. Выбор корневого элемента из таблицы Изделия; - шаг 2. Построение дерева изделия по таблице Спецификации без взаимозаменяемых элементов; - шаг 3. Добавление в дерево взаимозаменяемых элементов из таблицы Или_потомки. - шаг 4. Удаление из дерева записей с нулевым значением ID_Изделия_Потомка. Ниже представлен листинг рекурсивной программы в формате Transact-SQL (релиз SQL фирмы Microsoft) построения дерева изделия (для изделия с ID_Изделия=4). Здесь Ключ_сортировки - символьная строка, полученная соединением ID всех родителей текущего изделия, разделенных точкой. Результат помещается в таблицу #Дерево. Поле Уровень позволяет контролировать глубину вложенности потомков, для предотвращениязацикливании. Ниже представлен программный код реализующий предложенный алгоритм.
with tree (ID_Изделия, ID_Изделия_родителя, ID_Изделия_потомка, Количество, Уровень, Ключ_сортировки, ID_Спецификации) as /* Выбор корневого изделия из таблицы "Изделия" */ (select ID_Изделия, 0, ID_Изделия, 1, 0, cast (ID_Изделия as varchar(max)), 0 from Изделия where ID_Изделия=1 union all /* Построение дерева без взаимозаменямых элементов */ select t.ID_Изделия, a.ID_Изделия_родителя, a.ID_Изделия_потомка, a.Количество, case a.ID_Изделия_потомка when 0 then t.уровень elset.уровень+1 end, case a.ID_Изделия_потомка when 0 thent.Ключ_сортировки elset.Ключ_сортировки+'.'+ cast(a.ID_Изделия_потомка as varchar(5)) end, a.ID_Спецификации from Спецификации as a inner join tree as t on a.ID_Изделия_родителя=t.ID_Изделия_потомка union all /* Добавление взаимозаменяемых элементов */ select t.ID_Изделия, t.ID_Изделия_родителя, i.ID_Изделия_потомка, i.Количество, t.уровень+1, t.Ключ_сортировки+'.'+ cast(i.ID_Изделия_потомка as varchar(5)), t.ID_Спецификации from tree as t inner join dbo.Или_позиции as i on t.ID_Спецификации=i.ID_Спецификации where t.ID_Изделия_потомка=0 ) select ID_Изделия, ID_Изделия_родителя, ID_Изделия_потомка, Количество, Уровень, Ключ_сортировки, ID_Спецификации into #Derevo from tree where ID_Изделия=1 orderby Ключ_сортировки /* Удаление записей с нулевым ID_Изделия_потомка */ delete from #Derevo where ID_Изделия_потомка=0
Ниже представлены таблицы описанных выше изделий a1, a2, а4, а6, а7, а9 и дерево изделия, полученное после выполнения программного.
#Derevo
Дальнейшая обработка таблицы #Дерево заключается в удалении альтернативных позиций по исходным данным выполнении правил из таблицы Правила для каждой альтернатавной позиции.
/ * Удаление альтернативных элементов по исходным данным */ select Ключ_сортировки into #a from #derevo a, Исх_данные b where a.ID_Спецификации=b.ID_Спецификации and a.ID_Изделия_потомка<>b.ID_Изделия_потомка delete from #derevo where Ключ_сортировки in select a.Ключ_сортировки from #derevo a inner join #a b on a.Ключ_сортировки Like b.Ключ_сортировки +'%')
3. Представление правил взаимозаменяемости элементов в формате SQL Рассмотрим синтаксис правила на примере «Если а17, то а12». В таком виде в реальной системе правило применять нельзя, так как в других изделиях (не а1), оно может не работать. В настоящем примере правило формулируется следующим образом: «Если в дереве изделия присутствует элемент а17, входящий в а9, и присутствует элемент а12, входящий в а6, то на позиции 1 изделия а6 надо оставить элемент а12». Оставить а12 – значить удалить все элементы кроме а12 с позиции 1 изделия а6. С учетом сказанного текст правила на SQL будет следующим.
if exists (select * from #derevo where ID_Спецификации=13 and ID_Изделия_Потомка=17 and Ключ_сортировки like '%.'+ltrim(str(9))+'.%' ) and exists (select * from #derevo where ID_Спецификации=9 and ID_Изделия_Потомка=12 and Ключ_сортировки like '%.'+ltrim(str(6))+'.%' ) delete from #derevo where Ключ_сортировки in (select a.Ключ_сортировки from #derevo a inner join (select Ключ_сортировки from #derevo whereID_Спецификации=9 and ID_Изделия_потомка<>12) b on a.Ключ_сортировки Like b.Ключ_сортировки +'%')
Аналогично можно составить тексты других правил.
Заключение Представленные в работе для изделий с взаимозаменяемыми элементами: структура реляционной базы данных, алгоритм обработки базы данных для получения дерева изделия и правила взаимозаменяемости элементов в формате SQL использованы авторами при разработке программного обеспечения ряда автоматизированных информационных систем [5,6].
Работа выполнена в рамках Федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009 – 2013 годы.
ЛИТЕРАТУРА 1. Павлов В.В. Структурное моделирование в CALS-технологиях. Ин-т конструкторско-технологической информатики РАН. М.: Наука, 2006. 307 с. 2. Мокрозуб В.Г. Представление структуры изделий в реляционной базе данных // Информационные технологии. 2008. №11(147). С. 11 – 13 3. Мокрозуб В.Г. Представление структуры изделий в информационных системах управления машиностроительными предприятиями // Вестник компьютерных и информационных технологий. 2009. №10(64). C. 30-34 4. Мокрозуб В.Г., .Немтинов В.А., Егоров С.Я., Морозов С.В. Применение гиперграфов и реляционной базы данных для описания структуры радиотехнических // Успехи современной радиоэлектроники. 2009. № 11. С 37-41. 5. Малыгин Е.Н., Карпушкин С.В., Мокрозуб В.Г., Краснянский М.Н. Cистема автоматизированного расчета и конструирования химического оборудования // Информационные технологии. 2000. № 12. С. 19-21. 6. Мокрозуб В.Г., Мариковская М.П., Красильников В.Е. Методологические основы построения автоматизированной информационной системы проектирования технологического оборудования // Системы управления и информационные технологии. 2007. № 1.2 (27). С. 259-262. Публикации с ключевыми словами: спецификация, реляционные базы данных, взаимозаменяемые элементы Публикации со словами: спецификация, реляционные базы данных, взаимозаменяемые элементы Смотри также:
Тематические рубрики: Поделиться:
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|