2. Информация о номенклатуре и количестве всех применяемых в изделии составных частей:
- обозначение детале - сборочной единицы;
- направление расхода;
- признак детали ( документ, сборка, спецификация и т.п.);
- номер заказа;
- вариант поставки;
- опережение;
- номер комплекта;
- количество в заказе;
- номер итерации( уровень вхождения );
- признак замены( истории );
- признак заказа;
- цех - получатель;
- порядковый номер цеха - изготовителя.
Эти данные находятся в файле базы данных PRIM.DBF. Структура данного файла представлена в таблице 3.2.
Таблица 3.2
Структура файла PRIM.DBF
№ | Наименование реквизита | Имя поля | Тип | Длина |
1 | Обозначение ДСЕ | DSE | символьный | 24 |
2 | Направление расхода | NR | символьный | 1 |
3 | Признак детали | PRD | символьный | 1 |
4 | Номер заказа | ZAK | символьный | 6 |
5 | Вариант поставки | VP | символьный | 2 |
6 | Порядковый номер цеха -изготовителя | PNCI | символьный | 1 |
7 | Цех -изготовитель | CI | символьный | 3 |
8 | Цех -получатель | CP | символьный | 3 |
9 | Максимальное опережение | OPER | числовой | 3 |
10 | Номер комплекта | NK | числовой | 8 |
11 | Количество в заказе | KOL | числовой | 9 |
12 | Номер итерации | NI | числовой | 2 |
13 | Признак замены (истории) | PZI | символьный | 1 |
14 | Признак заказа | PZ | символьный | 1 |
Данная база формируется на основании исходных данных, содержащихся в первичных конструкторских документах - единичных и групповых спецификациях, оформленных с учётом требований обработки информации на ЭВМ.
3. Календарно - плановые нормативы:
- обозначение детале - сборочной единицы;
- цех - изготовитель;
- порядковый номер цеха - изготовителя;
- цикл;
- партия;
- максимальное опережение;
- номер уровня.
Эти данные находятся в файле базы данных KPN.DBF. Структура данного файла представлена в таблице 3.3.
Таблица 3.3
Структура файла KPN.DBF
№ | Наименование реквизита | Имя поля | Тип | Длина |
1 | Обозначение ДСЕ | DSE | символьный | 24 |
2 | Цех - изготовитель | CI | символьный | 3 |
3 | Порядковый номер цеха -изготовителя | PNCI | символьный | 1 |
4 | Цикл | CIKL | числовой | 5 |
5 | Партия | PART | числовой | 8 |
6 | Максимальное опережение | OPER | числовой | 3 |
7 | Номер уровня | NU | числовой | 3 |
Данная база формируется на основании исходных данных, содержащихся в первичных нормативно - плановых документах, оформленных с учётом требований обработки информации на ЭВМ.
Оперативная информация для изготовления изделия:
- номер заказа;
- обозначение детале - сборочной единицы;
- цех - изготовитель;
- максимальное опережение.
- цикл;
- партия;
- номер итерации( уровень вхождения );
Эти данные находятся в файле базы данных RESULT.DBF. . Структура данного файла представлена в таблице 3.4.
Таблица № 3.4.
Структура файла RESULT.DBF
№ | Наименование реквизита | Имя поля | Тип | Длина |
1 | Номер заказа | ZAK | символьный | 6 |
2 | Обозначение ДСЕ | DSE | символьный | 24 |
3 | Цех - изготовитель | CI | символьный | 3 |
4 | Максимальное опережение | OPER | числовой | 3 |
5 | Цикл | CIKL | числовой | 5 |
6 | Партия | PART | числовой | 8 |
7 | Номер итерации | NI | числовой | 2 |
Данная база формируется в процессе работы подсистемы " Расчёт цикловых графиков изготовления изделия ".
3.5 Выходная информация
Выходная информация формируется в виде машинограммы в процессе работы подсистемы " Расчёт параметров изготовления изделия ". Ниже приведена маска выходной машинограммы:
Параметры производства изделия по заказу № ZAK
№ | Обозначение ДСЕ | Партия | Номер итерации | Цех-изготовитель | Максимал. Опережение | Цикл |
DSE | PART | NI | CI | OPER | CIKL |
Данная машинограмма содержит перечень детале - сборочных единиц, входящих в заданный заказ, перечень их опережений, начиная с нижнего уровня до головной сборочной единицы, перечень цехов - изготовителей по каждой ДСЕ, а также другую информацию, необходимую для создания производственных графиков для изготовления изделия.
3.6 Математическая постановка задачи
Математическую постановку задачи в данном случае можно условно разделить на два этапа:
1. Пусть существует двумерный массив А(i,j), где i - это заказы ( изделия ), а j - это опережения ДСЕ, входящих в заказ.
Пусть задан какой - либо заказ k, причём k - A(i,j). Необходимо найти такой элемент массива A - a ,что j - максимальное для заказа k. Таким образом, максимальное опережение по заданному заказу найдено. Для данной задачи возможно наличие нескольких задаваемых заказов, тогда максимальное опережение определяется по каждому из них. Из найденных максимальных опережений по заданным заказам формируется массив Т(m), где m - количество заказов.
2. Теперь необходимо вычислить опережение для каждой ДСЕ, входящей в заданные m заказов. Каждая ДСЕ имеет своё опережение b и свою длительность изготовления d, которая входит в b. Если у ДСЕ несколько цехов - изготовителей ( не больше трёх ), то длительности изготовления в каждом из них в сумме дают общую длительность изготовления ДСЕ. Таким образом, каждому изделию ставится в соответствие массив опережений, входящих в него ДСЕ - - B(n), где n - количество ДСЕ. Итак, вычислим опережения для каждой ДСЕ, входящей в каждый из m заданных заказов, и занесём их в массив опережений B(n). Для этого необходимо произвести следующую последовательность действий :
1. Присвоить :
i := 1.
2. Пока i <= m, переход к пункту 3, иначе - к пункту 12.
3. Присвоить :
n := 1.
4. Вычислить :
d = с ,где с - количество цехов - изготовителей для данной ДСЕ. Причём с = 1, 2, 3.
5. Присвоить :
b := t , где b - B, t - T.
6. Вычислить :
b = t - d .
7. Пока b > 0, переход к пункту 8, иначе - к пункту 11.
8. Присвоить :
n := n + 1.
9. Вычислить :
d = с - d .
10. Вычислить :
b = b - d . Переход к пункту 7.
11. Присвоить :
i := i + 1. Переход к пункту 2.
12. Конец.
Таким образом, получен массив опережений B(n), который в дальнейшем используется для создания машинограммы с параметрами для изготовления изделия.
3.7 Алгоритм решения
Алгоритм определения ДСЕ с максимальным опережением по заданному заказу можно представить следующим образом.
1. Открыть нормативно-справочные файлы баз данных с одновременной проверкой на их существование, если какой-либо файл отсутствует, выдать соответствующее сообщение об ошибке.
2. Вывод меню на экран дисплея :
1. Определение ДСЕ с максимальным опережением.
Просмотр выходного файла RESULT.DBF.
Печать машинограммы
4. Выход в верхнее меню.
3. Если выбран пункт меню 1 , то переход к пункту 4, пункт меню 2 - к пункту 23. Если выбран пункт меню 3 - переход к пункту 24, пункт меню 4 - переход к пункту 25.
4. Вывод на экран дисплея файла - справочника ZAKAZ.DBF в виде таблицы.
5. Определение ДСЕ с максимальным опережением.
6. Вывод на экран дисплея информации о дате выполнения программы, её версии, о количестве записей в каждом входном файле и последней дате его обновления.
7. Вывод на экран запроса о продолжении работы. Если подтверждение не получено, то переход к пункту 2.
8. Вывод на экран запроса на очистку существующего файла RESULT.DBF. Если нужно, очистить файл.
9. Вывод на экран файла - справочника - ZAKAZ.DBF
10. Пока не конец файла, читать справочник, иначе - переход к пункту 2. В прочитанной записи запомнить поле номера заказа в переменную Z.
11. Пока не конец файла PRIM.DBF, и номер заказа больше Z, читать PRIM.DBF.
12. Если номер заказа из PRIM ZP=Z, то переход к пункту 13, иначе - к пункту 20.
13. Пока не конец файла и ZP=Z, переход к пункту 14, иначе - к пункту - 19.
14. Запомнить значение поля "номер ДСЕ" заказа Z в переменную D.
15. Поиск D в файле KPN.DBF. Если запись найдена, то переход к пункту 16, иначе - к пункту 18.
16. Присвоить:
T := OPER, где Т - рабочая переменная для определения максимального опережения; OPER - опережение, соответствующее полю OPER в файле PRIM для данной ДСЕ.
17. Если T > MAX , где MAX - максимальное опережение, то запомнить все поля данной ДСЕ в соответствующие переменные.
18. Читать следующую запись из файла PRIM. Переход к пункту 13.
19. Запись полученной записи с максимальным опережением в выходной файл RESULT.DBF.
20. Вернуться в файле PRIM на одну запись назад. Переход к пункту 10.
21. Если не начало файла PRIM, вернуться в нём на одну запись назад. Переход к пункту 10.
22. Выдать сообщение о количестве записей в выходном файле RESULT.DBF. Переход к пункту 2.
23. Выдать на экран дисплея файл RESULT.DBF, сгенерированный в ходе работы программы, в виде таблицы. Выход из режима просмотра - нажатие клавиши Escape, при этом переход к пункту 2.
24. Печать машинограммы, сгенерированной на основе выходного файла RESULT.DBF Переход к пункту 2.
25. Конец.
3.8 Требования к программе, реализующей алгоритм
Текст программы рекомендуется писать на языке программирования FOXPRO, который широко используется в сети ЛВС ОАО "Ижевский радиозавод". Программа должна быть ориентирована на оператора с минимальными знаниями, то есть на пользователя-непрофессионала.