электронное иаучно-гехническое издание
НАУКА и ОБРАЗОВАНИЕ
Эя №ФС 77 - 305Б9. Государственная регистрация №0421100025. ISSN 1994-04OS_
Описание структуры технических объектов с взаимозаменяемыми элементами
77-30569/400027 # 04, апрель 2012
Мокрозуб В. Г., Борисяк А. А., Лагутин Д. А.
УДК 004.9.
Тамбовский государственный технический университет
Введение
Одним из основных документов, описывающих структуру выпускаемых машиностроительным предприятием изделий, является спецификация. Этот документ создается на этапе конструкторской подготовки производства и используется многочисленными службами предприятии, как на этапе подготовки производства, так и на этапе изготовления изделия.
Описанию структур технических объектов (ТО) посвящено большое количество публикаций. В [1] предлагается использовать полихроматические множества для описания состава и свойств изделий, в [2, 3] представлены способы представления структуры изделий в информационных системах управления машиностроительными предприятиями. В [4] описано применение гиперграфов и реляционных баз данных для описания и хранения структуры ТО.
В конструкции изделия достаточно часто на одну позицию спецификации закладывается несколько взаимозаменяемых (альтернативных) элементов, которые могут влиять и на другие позиции спецификации изделий. Выбор конкретного элемента для таких позиций осуществляется диспетчерскими службами предприятия на основании имеющегося задела, остатков на складе (например, покупных комплектующих) и др. Условия взаимодействия таких переменных позиций задаются конструктором.
Цель работы - разработка способов представления структуры ТО c взаимозаменяемыми элементами в автоматизированных информационных системах. В качестве базового программного обеспечения принята реляционная база данных.
Область использования результатов - автоматизированные информационные системы, предназначенные для проектирования технических объектов и управления предприятиями машиностроительного профиля.
1. Структура базы данных спецификации изделий с взаимозаменяемыми элементами
Рассмотрим изделие а1, которое состоит из деталей а2 и а5 и двух сборочных единиц а3, а6 или а4, а7. Ниже представлены спецификации всех сборочных единиц.
Спецификация а1__Спецификация а2
Позиция Обозначение Количество Позиция Обозначение Количество
1 а2 1 1 а8 2
2 а3 или а4 2 2 а9 2
3 а5 3
4 а6 или а7 1
Спецификация а4 Спецификация а6
Позиция Обозначение Количество Позиция Обозначение Количество
1 а10 2 1 а12 или а13 1
2 а11 1 2 а14 2
Спецификация а7 Спецификация а9
Позиция Обозначение Количество Позиция Обозначение Количество
1 а15 2 1 а17 или а18 2
2 а16 1 2 а19 1
На рис. 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,6).
Рис. 2. Возможные варианты изделия а1
Структура базы данных спецификации изделий с взаимозаменяемыми элементами представлена на рис. 3. Таблица Изделия содержит все сборочные единицы и детали, как покупные, так и изготавливаемые на предприятии. В таблице Спецификации поле Ю_Изделия_родителя представляет изделие, для которого составлена спецификация (куда входит изделие потомок). Для альтернативных позиций Ю_Изделия_потомка будет равно нулю. В этом случае потомки определяет таблица ИЛИ_позиции, в которой для одной позиции спецификации задается несколько изделий потомков. В таблице Правила для альтернативных позиций спецификаций в поле Текст_на_SQL задается правило взаимозаменяемости элементов в формате SQL. Поле Текст_на_ЕЯ содержит правило на естественном языке, например «Если А17, то А12». Поля Ю_Определяющего_элемента и Ю_Определяемого_элемента необходимы для того, чтобы в дальнейшем выбирать для обработки только те правила, которые могут иметь отношение к раскрываемому изделию.
Рис. 3. Структура базы данных спецификации изделий с взаимозаменяемыми
элементами
2. Алгоритм составления дерева изделия
Алгоритм составления дерева изделия состоит из следующих шагов:
- шаг 1. Выбор корневого элемента из таблицы Изделия;
- шаг 2. Построение дерева изделия по таблице Спецификации без взаимозаменяемых элементов;
- шаг 3. Добавление в дерево взаимозаменяемых элементов из таблицы Или_потомки.
- шаг 4. Удаление из дерева записей с нулевым значением Ю_Изделия_Потомка.
Ниже представлен листинг рекурсивной программы в формате Transact-SQL (релиз SQL фирмы Microsoft) построения дерева изделия (для изделия с Ю_Изделия=4). Здесь Ключ_сортировки - символьная строка, полученная соединением ID всех родителей текущего изделия, разделенных точкой. Результат
помещается в таблицу #Дерево. Поле Уровень позволяет контролировать глубину вложенности потомков, для предотвращения зацикливании. Ниже представлен программный код реализующий предложенный алгоритм.
with tree (Ю_Изделия, Ю_Изделия_родителя, Ю_Изделия_потомка, Количество, Уровень, Ключ_сортировки, Ю_Спецификации) as
/* Выбор корневого изделия из таблицы "Изделия" */ (select Ю_Изделия, 0, Ю_Изделия, 1, 0, cast (Ю_Изделия as varchar(max)), 0 from Изделия where Ю_Изделия=1 union all
/* Построение дерева без взаимозаменямых элементов */ select 1Ю_Изделия, а.Ю_Изделия_родителя, a.ID_Изделия_потомка, а.Количество, case a.ID_Изделия_потомка when 0 then 1уровень else 1уровень+1 end,
case a.ID_Изделия_потомка when 0 then 1Ключ_сортировки else t.Ключ_сортировки+'.'+
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 1Ю_Изделия, 1Ю_Изделия_родителя,
i.ID_Изделия_потомка, i.Количество, 1уровень+1, t.Ключ_сортировки+'.'+
cast(i.ID_Изделия_потомка as varchar(5)), 1Ю_Спецификации
from tree as t
inner join dbo.Или_позиции as i on
1Ю_Спецификации=кЮ_Спецификации where 1Ю_Изделия_потомка=0
)
select Ю_Изделия, Ю_Изделия_родителя,
ID_Изделия_потомка, Количество, Уровень, Ключ_сортировки, ID_Спецификации into #Derevo from tree where Ю_Изделия=1 order by Ключ_сортировки /* Удаление записей с нулевым Ю_Изделия_потомка */ delete from #Derevo where ID_Изделия_потомка=0
Ниже представлены таблицы описанных выше изделий a1, a2, а4, а6, а7, а9 и дерево изделия, полученное после выполнения программного.
Изделия
ID Издел. Обозн.
1 а1
2 а2
3 а3
4 а4
5 а5
6 а6
7 а7
8 а8
9 а9
10 а10
11 а11
12 а12
13 а13
14 а14
15 а15
16 а16
17 а17
18 а18
19 а19
20 а20
Спецификации
ID_Спе Позиция ГО_Изд_ ГО_Изд_
-циф. родителя потомка
1 1 1 2
2 2 1 0
3 3 1 5
4 4 1 0
5 1 3 8
6 2 3 0
7 1 4 10
8 2 4 11
9 1 6 0
10 2 6 14
11 1 7 15
12 2 7 16
13 1 9 0
14 2 9 19
Исх данные
ГО_Исх_Дан. ГО_Специф. ГО_Изд_ потомка
1 2 3
2 13 17
Или_позиции
ГО_Или ГО_Специф. ГО_Изд_
позиции потомка
1 2 3
2 2 4
3 4 6
4 4 7
5 9 12
6 9 13
7 13 17
8 13 18
#Derevo
ID Изделия ID Изделия Уровень Ключ ID Спецификации
родителя потомка сортировки
0 1 0 1 0
1 2 1 1.2 1
1 3 1 1.3 2
3 8 2 1.3.8 5
3 9 2 1.3.9 6
9 17 3 1.3.9.17 13
9 18 3 1.3.9.18 13
9 19 3 1.3.9.19 14
1 4 1 1.4 2
4 10 2 1.4.10 7
4 11 2 1.4.11 8
1 5 1 1.5 3
1 6 1 1.6 4
6 12 2 1.6.12 9
6 13 2 1.6.13 9
6 14 2 1.6.14 10
1 7 1 1.7 4
7 15 2 1.7.15 11
7 16 2 1.7.16 12
Дальнейшая обработка таблицы #Дерево заключается в удалении альтернативных позиций по исходным данным выполнении правил из таблицы Правила для каждой альтернатавной позиции.
/ * Удаление альтернативных элементов по исходным данным */ select Ключ_сортировки into #a from #derevo a, Исх_данные b where а.Ю_Спецификации=Ь.Ю_Спецификации and а.Ю_Изделия_потомка<>Ь.Ю_Изделия_потомка delete from #derevo where Ключ_сортировки in
select a.Ключ_сортировки from #derevo a
inner join #a b on a.Ключ_сортировки Like Ь.Ключ_сортировки +'%')
3. Представление правил взаимозаменяемости элементов в формате SQL
Рассмотрим синтаксис правила на примере «Если а17, то а12». В таком виде в реальной системе правило применять нельзя, так как в других изделиях (не а1), оно может не работать. В настоящем примере правило формулируется следующим образом: «Если в дереве изделия присутствует элемент а17, входящий в а9, и присутствует элемент а12, входящий в а6, то на позиции 1 изделия а6 надо оставить элемент а12». Оставить а12 - значить удалить все элементы кроме а12 с позиции 1 изделия а6.
С учетом сказанного текст правила на SQL будет следующим.
if exists (select * from #derevo where Ю_Спецификации=13 and Ю_Изделия_Потомка=17 and Ключ_сортировки like '%.'+ltrim(str(9))+\%' ) and exists (select * from #derevo where Ю_Спецификации=9 and Ю_Изделия_Потомка=12 and Ключ_сортировки like '%.'+ltrim(str(6))+'.%' ) delete from #derevo where Ключ_сортировки in (select a.Ключ_сортировки from #derevo a inner join (select Ключ_сортировки from #derevo where Ю_Спецификации=9 and Ю_Изделия_потомка<>12) b on
а.Ключ_сортировки Like Ь.Ключ_сортировки +'%')
Аналогично можно составить тексты других правил.
Заключение
Представленные в работе для изделий с взаимозаменяемыми элементами: структура реляционной базы данных, алгоритм обработки базы данных для получения дерева изделия и правила взаимозаменяемости элементов в формате 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. Малыгин Е.Н., Карпушкин С.В., Мокрозуб В.Г., Краснянский М.Н. Система автоматизированного расчета и конструирования химического оборудования // Информационные технологии. 2000. № 12. С. 19-21.
6. Мокрозуб В.Г., Мариковская М.П., Красильников В.Е. Методологические основы построения автоматизированной информационной системы проектирования технологического оборудования // Системы управления и информационные технологии. 2007. № 1.2 (27). С. 259-262.
electronic scientific and technical periodical
SCIENCE and EDUCATION
_EL № KS 77 - 3Ü56'». .V;II421100025, ISSN 1994-jMOg_
Description of the structure of technical objects with interchangeable components
77-30569/400027 # 04, April 2012
Mokrozub V.G., Borisyak A.A., Lagutin D.A.
Tambov State Technical University [email protected]
The relational database provides a description of display methods for structure of technical objects with interchangeable components and rules of interchanging. Algorithm of composing the product's tree was described in SQL format; every tree's node consists of one element only.
Publications with keywords: specification, relational database, interchangeable elements Publications with words: specification, relational database, interchangeable elements
References
1. Pavlov V.V. Strukturnoe modelirovanie v CALS-tekhnologiiakh [Structural modeling in CALS-technologies]. Moscow, Nauka, 2006. 307 p.
2. Mokrozub V.G. Predstavlenie struktury izdelii v reliatsionnoi baze dannykh [Representation of the structure of the products in a relational database]. Informatsionnye tekhnologii, 2008, no. 11(147), pp. 11 - 13.
3. Mokrozub V.G. Predstavlenie struktury izdelii v informatsionnykh sistemakh upravleniia mashinostroitel'nymi predpriiatiiami [Representation of the structure of the products in the information management systems of the machine-building enterprises ]. Vestnik komp'iuternykh i informatsionnykh tekhnologii, 2009, no. 10(64), pp. 30-34.
4. Mokrozub V.G., .Nemtinov V.A., Egorov S.Ia., Morozov S.V. Primenenie gipergrafov i reliatsionnoi bazy dannykh dlia opisaniia struktury radiotekhnicheskikh sistem [The use of hypergraphs and relational database for the description of structure of the of radio engineering systems]. Uspekhi sovremennoi radioelektroniki, 2009, no. 11, pp. 37-41.
5. Malygin E.N., Karpushkin S.V., Mokrozub V.G., Krasnianskii M.N. Cistema avtomatizirovannogo rascheta i konstruirovaniia khimicheskogo oborudovaniia [System of automated calculation and design of chemical equipment]. Informatsionnye tekhnologii, 2000, no. 12, pp. 19-21.
6. Mokrozub V.G., Marikovskaia M.P., Krasil'nikov V.E. Metodologicheskie osnovy postroeniia avtomatizirovannoi informatsionnoi sistemy proektirovaniia tekhnologicheskogo oborudovaniia [Methodological bases of construction of the automated information system of design of technological equipment]. Sistemy upravleniia i informatsionnye tekhnologii, 2007, no. 1.2 (27), pp. 259-262.