Управление гибкими производственными системами
Проектирование системы основного технологического оборудования гибких производственных систем, ее структура и взаимосвязь компонентов. Отличительные особенности автоматизированных и неавтоматизированных методов. Используемое программное обеспечение.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 31.12.2015 |
Размер файла | 1,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Введение
Человечество вступило в XXI в., в котором придется решать ряд сложных проблем соответствующих постиндустриальному обществу. Определяющая роль в решении этих проблем отводится информационным технологиям.
Среди информационных технологий автоматизация проектирования занимает особое место. Во-первых, автоматизация проектирования - синтетическая дисциплина, ее составными частями являются многие другие современные информационные технологии. Так, техническое обеспечение САПР основано на использовании вычислительных сетей и телекоммуникационных технологий, в САПР используются персональные компьютеры и рабочие станции. Математическое обеспечение САПР отличается богатством и разнообразием используемых методов вычислительной математики, статистики, математического программирования, дискретной математики, искусственного интеллекта. Программные комплексы САПР относятся к числу наиболее сложных современных программных систем, основанных на операционных системах UNIX, Windows-NT, языках программирования Delphi, С, С++, Java и других, современных CASE-технологиях, реляционных и объектно-ориентированных системах управления базами данных (СУБД), стандартах открытых систем и обмена данными в компьютерных средах.
Во-вторых, знание основ автоматизации проектирования и умение работать со средствами САПР требуются практически любому инженеру-разработчику. Компьютерами насыщены проектные подразделения, конструкторские бюро и офисы. Работа конструктора за обычным кульманом, расчеты с помощью логарифмической линейки или оформление отчета на пишущей машинке стали анахронизмом. Предприятия, ведущие разработки без САПР или лишь с малой степенью их использования, оказываются неконкурентоспособными вследствие как больших материальных и временных затрат на проектирование, так и невысокого качества проектов.
К настоящему времени создано большое количество програмнно-методических комплексов для САПР с различной степенью специализации и прикладной ориентацией.
Вместе с тем развитие современного машиностроения тоже претерпевает фундаментальные изменения с новым, качественно отличающимся этапом автоматизации машиностроительного производства.
Особую актуальность в последние десятилетия приобрела так называемая гибкая автоматизация единичного, мелко- и среднесерийного производства. Это связано с быстрым старением и сменяемостью выпускаемой продукции. Гибкая автоматизация направлена на создание гибких производственных систем (ГПС) - комплексов оборудования различного целевого назначения, управляемых от ЭВМ.
ГПС является сложной системой, эффективность которой весьма чувствительна к малым изменениям структуры и характеристик оборудования, к параметрам технологических процессов и организационным решениям Поэтому несущественные, на первый взгляд, погрешности при проектировании могут вызвать значительные отклонения в эффективности системы при эксплуатации.
Современным средством проверки качества комплекса решений, принимаемых при создании и использовании ГПС, является моделирование протекающих в них производственных процессов. Сокращение или полное устранение внутренних потерь позволяет оптимизировать проектные параметры ГПС, а сокращение внешних потерь - минимизировать эксплуатационные издержки. Тем самым обеспечивается возможность создания ГПС с заданным свойством - минимальным сроком окупаемости капитальных затрат.
На основе вышеизложенного актуальной становится проблема создания САПР ГПС адаптированных к российским стандартам, с доступным открытым форматом баз данных, удобным гибким интерфейсом, квалифицированной технической поддержкой и оптимальным соотношением цены и функциональности системы.
1. Техническое задание на разработку САПР ГПС. Проектирование системы основного технологического оборудования
1. Наименование и область применения.
САПР ГПС. Проектирование системы основного технологического оборудования (выбор модели и расчет количества основного технологического оборудования).
2. Основание для создания.
Задание на государственный экзамен, ОГУ, АКИ, кафедра САП, 07.02.07 г.
3. Характеристика объектов проектирования.
Объектом проектирования является ГПС (гибкая производственная система)
4. Цель и назначение.
Обеспечить надлежащее качество и эффективность проектных работ, сократить сроки проектирования, а также обеспечить надлежащее качество проектной документации с меньшими, нежели ранее, усилиями.
5. Характеристика процессов проектирования.
Входные данные: наименование детали и ее шифр, габаритные размеры детали, годовая программа выпуска для каждой из деталей, коэффициент использования оборудования, суточный фонд времени работы оборудования, количество дней работы в году.
Выходные данные: расчетное количество станков, модели станков.
6. Требования к САПР.
- надежность;
- достоверность;
- высокая производительность;
- сохранение результатов.
7. Технико-экономические показатели.
Затраты на создание САПР:
- время на ознакомление с предметом;
- стоимость техники и ее эксплуатации;
- расходные материалы.
Получение экономии: сокращение времени разработки проекта, увеличение количества проектов, либо сокращение численности проектировщиков.
8. Стадии и этапы.
- изучение проблемы и разработка алгоритмов ее реализации;
- программная реализация;
- тестирование, отладка и ввод в эксплуатацию;
- оформление необходимой документации.
Сроки выполнения: разработка, отладка и внедрение займет около одного месяца.
Комплектность документов:
- руководство пользователя;
- описание работы системы.
2. Основное технологическое оборудование ГПС
Технологическим оборудованием производственной системы называется оборудование, непосредственно выполняющее технологические операции, или, другими словами, - оборудование, непосредственно выполняющее ту задачу, для решения которой предназначена система.
Основным технологическим оборудованием ГПС механообработки являются металлорежущие станки, относящиеся к разным группам (токарные, фрезерные, многоцелевые, агрегатные и т.д.). Расчет основного технологического оборудования включает два этапа: а) выбор моделей станков, и б) расчет числа станков каждой модели.
Модели станков закладываются уже на стадии разработки технологии изготовления деталей. Рациональная номенклатура возможных моделей станков ограничивается, как правило, их технологическими возможностями, габаритами рабочей зоны, стыкуемостью средств автоматизации загрузки и управления. НПО ЭНИМС разработаны таблицы привязки различных групп деталей к конкретным моделям станков, которыми удобно пользоваться при отсутствии ограничений по возможностям приобретения оборудования.
Согласно классификаторам ЕСКД все разнообразие деталей, подлежащих механической обработке, разбито на три группы: валы, диски и корпусные.
К деталям типа валов с соотношением геометрических размеров (длина х диаметр) L > 2D отнесены собственно валы, шпиндели, оси, штоки, колонны, стержни и др.,
Основным оборудованием для изготовления валов являются токарные центровые и патронно-центровые станки (названия станков соответствуют способу закрепления заготовок: в центрах или в патроне с задним центром).
В зависимости от формы имеющихся на деталях элементарных поверхностей (шлицы, лыски, канавки, отверстия и др.) в ГПС для изготовления валов можно использовать станки фрезерно-центровые, фрезерные, зубообрабатывающие, кругло-, шлице-, зубошлифовальные и др. Эти группы станков дополняют токарные станки и должны вписываться в ГПС по средствам автоматизации.
Детали типа дисков с соотношением L<=2D - собственно диски, фланцы, крышки, кольца, шкивы, блоки шестерен и пр. Основным оборудованием являются токарные патронные станки. Дополнительным оборудованием являются фрезерные, сверлильные, протяжные, зубообрабатывающие, кругло-, внутри-, плоско- и зубошлифовальные, иногда включаемые в состав ГПС.
Корпусные детали (точнее - не тела вращения) включают детали коробчатой формы (корпуса, рамы, коробки, крышки, опоры и др.), плоские детали (плиты, планки, рейки, рычаги, шатуны, кулисы), а также детали арматуры (корпуса, крышки, детали соединительной и трубопроводной арматуры). Основным оборудованием для деталей данной группы являются станки сверлильно-фрезерно-расточной группы.
3. Анализ автоматизированных и неавтоматизированных методов проектирования
Существенной особенностью неавтоматизированного метода проектирования является работа с использованием справочников и справочных пособий (технических паспортов на оборудование, атласов средств автоматизации и др.). Перед началом работы необходимо обеспечить их наличие согласно списку рекомендуемых источников. Это необходимо для того, чтобы в зависимости от типов и размеров деталей производственной программы выбрать по справочным данным модель станка. Следующим этапом работы является расчет числа станков по трудоемкости годовой программы и эффективному фонду времени работы. Для получения результата необходимо произвести определенное количество предварительных расчетов на бумаге, таких как определение трудоемкости годовой программы для каждой детали, расчет трудоемкости производственной программы, расчет годового фонда времени работы станков данной модели. Это значительно увеличивает сроки выполнения расчетов по проекту, а также возрастает количество расчетов на бумаге (где большое влияние имеет «человеческий фактор»), т.е. велика возможность возникновения простых математических ошибок.
При использовании автоматизированного метода проектирования мы можем избежать негативные последствия, которые мы перечислили выше, при описании неавтоматизированного метода. При этом отпадает нужда производить расчеты вручную, на калькуляторе и самостоятельно производить сравнительный анализ типов и размеров деталей для выбора модели станка. Для получения необходимого нам результата достаточно внести в программу исходные данные. Использование автоматизированного метода проектирования - это сокращение сроков проектирования, а также обеспечение надлежащего качества проектной документации с меньшими, нежели ранее, усилиями. Важно и то, что система позволяет производить наработку базы проекта уже на начальных этапах.
При автоматизированном методе проектирования облегчается труд проектировщика и увеличиваются объемы выполняемой работы за более короткий срок.
В настоящее время существует интегрированная система моделирования «Каскад». Система предназначена для решения широкого спектра технологических, проектных и организационных задач на этапах создания и эксплуатации ГПС. Функционирование производственной системы рассматривается на уровне технологического процесса. Моделирование основано на аналитическом описании длительности циклов работы и логическом описании многоуровневого взаимодействия модулей и их агрегатов. Однако, при всех достоинствах «Каскада», в нем отсутствует реализация интересующего нас вопроса, т.е. проектирование системы основного технологического оборудования.
4. Проектирование системы основного технологического оборудования
При проектировании САПР ГПС «Системы основного технологического оборудования» мы поставили перед собой следующие цели:
- сократить сроки проектирования;
- исключить вычисления вручную на бумаге при расчете количества оборудования;
- освободить проектировщика от необходимости самостоятельного выбора модели станка.
Т.е. для получения искомого результата пользователю должно быть достаточно внести в программу исходные данные (годовая программа, суточный фонд времени ГПС, количество дней работы в год) и выбрать из существующей базы данных необходимые детали.
Разработанный нами программный продукт полностью реализует поставленные цели. После введения исходных данных программа автоматически рассчитывает трудоемкость годовой программы для каждой детали, номинальную трудоемкость (складывающуюся их трудоемкости годовой программы каждой детали), эффективный годовой фонд времени работы и на базе этих расчетов делает расчет числа станков. Также программа анализирует габариты представленных деталей (максимальные длина, ширина, высота) выбирает модель станка с наиболее подходящими габаритами рабочей зоны. Более того, программа позволяет легко редактировать базу данных деталей (изменять их параметры - длина, ширина, высота и т.д.). А также данный программный продукт не только самостоятельно выберет модель станка, но и познакомит пользователя с описанием, характеристикой и внешним видом выбранного оборудования. В программе предусмотрен вывод на печать полученных результатов и производственной программы. Кроме того, выдаваемый программой расчет содержит не только выходные данные (модель станка и расчетное количество выбранного оборудования), но и техническое обоснование выбора того или иного оборудования.
При разработке нашего программного продукта мы ставили перед собой задачу не просто реализовать поставленные цели, а создать такую программу, работа с которой была бы проста и интуитивно понятна любому пользователю. Для работы с нашим программным продуктом не требуется специальное обучение, интерфейс программы сам подскажет пользователю последовательность действий для получения нужного результата.
5. Построение функциональной модели САПР по методологии IDEF0
IDEF0 - это более четкое очерченное представление методики SADT. SADT - методика, рекомендуемая для начальных стадий проектирования сложных искусственных систем управления, производства, бизнеса, включающих людей, оборудование, ПО. Начиная с момента создания первой версии, методика успешно применялась для проектирования телефонных сетей, систем управления воздушными перевозками, производственных предприятий и др.
Рисунок 1. Композиционная модель принципа проектирования системы основного технологического оборудования
Рисунок 2 - Декомпозиционная модель принципа проектирования системы основного технологического оборудования
программный производственный автоматизированный управление
6. Программное обеспечение
Описание работы программы
// Главная форма
// Служит для выбора деталей, ввода годовых программ,
// суточного фонда времени, количества дней работы в год.
// Возможны переходы: вывод расчета на экран (GPS_Unit2),
// просмотр информации о выбранном станке (GPS_Unit3),
// редактирование баз данных (GPS_Unit4).
Unit GPS_Unit;
// определение типа переменной для более удобной работы с
// данными деталей
Tdetail = record
Nazv: String[128]; // Название детали
Razm: array [1..3] of integer; // Массив размеров
NumDu: byte; // количество ДУ
Du: array [1..3] of real; // массив ДУ
God_Progr: integer; // Годовая программа
Used: boolean; // флаг: используется/не используется
RazmMax: integer; // Максимальный размер
Trud: real; // Трудоемкость
// определение типа переменной для более удобной работы с
// данными станка
TStan = record
TypeStan: integer; // Тип станка
Choosed: boolean; // Флаг: выбран/не выбран
Name: String[20]; // Полное название станка
// Счетчик
i: integer;
// Количество строк в таблице
Col: byte;
// Динамический массив типа Tdetail
Detail: array of Tdetail;
// ***********************************************
// заполняем из БД «tDetails» элементы типа record
// определяем размер динамического массива
// определяем максимальный размер из выбранных деталей
// определяем количество ДУ
// ***********************************************
procedure TForm1. FormCreate (SEnder: TObject);
// *****************************************
// выполненяем расчет основного оборудования
// *****************************************
procedure TForm1. BitBtn1Click (SEnder: TObject);
var
MaxRazm: integer; // максимальный размер детали
TotalTrud: real; // Номинальная трудоемкость
F, Cp: real; // эффективный фонд времени работы
// оборудования, расчетное количество станков
i, k: integer; // счетчики
// **********************************************
// вывод на экран формы для просмотра вида станка
// **********************************************
procedure TForm1. Button1Click (SEnder: TObject);
// **********************************************
// вывод на экран формы для просмотра вида станка
// **********************************************
procedure TForm1. Button1Click (SEnder: TObject);
// **************
// Закрытие формы
// **************
procedure TForm1. Button2Click (SEnder: TObject);
// *********************************
// делаем значения элементов пустыми
// *********************************
procedure TForm1. Button3Click (SEnder: TObject);
// ****************************************
// Отображение подсказки на элементе Panels
// кнопка «Расчет»
// ****************************************
procedure TForm1. BitBtn1MouseMove (SEnder: TObject; Shift: TShiftState; X, Y: Integer);
// ****************************************
// Отображение подсказки на элементе Panels
// поле «Суточный фонд времени»
// ****************************************
procedure TForm1. LabeledEdit7MouseMove (SEnder: TObject; Shift: TShiftState;
X, Y: Integer);
// ****************************************
// Отображение подсказки на элементе Panels
// свободное перемещение по форме
// ****************************************
procedure TForm1. FormMouseMove (SEnder: TObject; Shift: TShiftState; X, Y: Integer);
// ****************************************
// Отображение подсказки на элементе Panels
// поле «Количество дней работы в год»
// ****************************************
procedure TForm1. LabeledEdit8MouseMove (SEnder: TObject; Shift: TShiftState;
X, Y: Integer);
// ****************************************
// Отображение подсказки на элементе Panels
// кнопка «Вид станка»
// ****************************************
procedure TForm1. Button1MouseMove (SEnder: TObject; Shift: TShiftState; X, Y: Integer);
// ****************************************
// Отображение подсказки на элементе Panels
// кнопка «Редактирование базы данных»
// ****************************************
procedure TForm1. Button4MouseMove (SEnder: TObject; Shift: TShiftState; X,
Y: Integer);
// ****************************************
// Отображение подсказки на элементе Panels
// кнопка «Закрыть»
// ****************************************
procedure TForm1. Button2MouseMove (SEnder: TObject; Shift: TShiftState; X, Y: Integer);
// ************************************************
// Устанавливаем курсор в поле годовой программы
// соответствующей детали для элемента LabeledEdit1
// ************************************************
procedure TForm1. ComboBox1Change (SEnder: TObject);
// ******************************************
// Проверка на ввод, принимаются только числа
// ******************************************
procedure TForm1. LabeledEdit1KeyPress (SEnder: TObject; var Key: Char);
// *******************************************
// Открытие формы «Редактирование базы данных»
// *******************************************
procedure TForm1. Button4Click (SEnder: TObject);
// Форма для вывода расчета на экран и печати на принтере,
// установленном по умолчанию.
Unit Gps_Unit2;
// *****************************************
// Подготовка к печати, расчет коэффициентов
// необходимых для корректного отображения
// *****************************************
procedure TForm2. Button1Click (SEnder: TObject);
label
// метка на конец первой страницы
End_str;
const
// отступ от края листа слева
Left_margin= 2;
// отступ от края листа сверху
top_margin= 2;
var
//DPI принтера
DPIx, DPIy: integer;
// коэффициент пересчета
kX, kY: real;
// точка вывода текста на печать
pX, pY: integer;
// счетчики
i, k, po: integer;
// Форма для вывода информации о выбранном станке: описание,
// характеристики, изображение
Unit Gps_Unit3;
// **************************
// Описание выбранного станка
// **************************
procedure TForm3. FormActivate (SEnder: TObject);
// Форма для редактирования базы данных детелей,
Unit Gps_Unit4;
// ******************************************
// определение положения элемента DBNavigator
// ******************************************
procedure TForm4. FormResize (SEnder: TObject);
// *********************************************************
// подключение базы данных деталей из файла \Base\Details.DB
// *********************************************************
procedure TForm4. FormActivate (SEnder: TObject);
Руководство пользователя
Для того чтобы выбрать и рассчитать количество основного технологического оборудования, необходимо ввести производственную программу: выбрать детали и ввести соответствующие годовые программы. Также необходимо ввести суточный фонд времени работы ГПС и количество дней работы в год.
После выбора деталей и заполнения необходимых полей нужно нажать кнопку . Откроется окно (рисунок 4), содержащие результаты расчетов.
1 - элементы для выбора деталей; 2 - поля для ввода годовых программ соответствующих деталей; 3 - поле для ввода количества дней работы ГПС в год; 4 - кнопка выхода из программы; 5 - кнопка сброса выбора; 6 - кнопка для создания окна редактирования базы данных деталей; 7 - кнопка для создания окна информации о выбранном основном оборудовании; 8 - кнопка для создания окна расчета и вывода на экран результатов; 9 - поле для ввода суточного фонда работы ГПС.
Рисунок 3 - Интерфейс программы «САПР ГПС. Проектирование системы основного технологического оборудования»
Назначение управляющих кнопок:
- производится выбор и расчет основного технологического оборудования.
- вывод информации о выбранном станке: описание, характеристики, изображение.
- очищаются поля выбора деталей, соответствующие годовые программы, суточный фонд времени ГПС и количество дней работы в год.
- открывается форма для редактирования базы данных деталей.
- Выход из программы.
Рисунок 4 - Форма вывода результатов расчетов основного технологического оборудования
Если необходимо, можно распечатать полученные результаты на принтере нажав кнопку . Будет распечатано два листа: 1 - процесс расчета; 2 - производственная программа (приложение Б).
Если необходимо, можно посмотреть информацию о выбранном станке, нажав на главной форме кнопку . Откроется окно (рисунок 5) с тремя вкладками: Описание ОЦ, Характеристики ОЦ, Вид ОЦ.
Рисунок 5 - Форма вывода информации выбранного основного технологического оборудования
Вкладка «Описание ОЦ» содержит описание структуры станка, его работы и его технологические особенности (рисунок 6).
Рисунок 6 - Вкладка «Описание ОЦ»
Рисунок 7 - Вкладка «Характеристики ОЦ»
Вкладка «Вид ОЦ» содержит фото выбранного обрабатывающего центра (рисунок 5).
Если необходимо, можно отредактировать базу данных номенклатуры деталей, нажав на главной форме кнопку .
Откроется окно (рисунок 8) с таблицей деталей и их параметров:
- Название детали;
- Длина;
- Ширина;
- Высота;
- ДУ1;
- ДУ2;
- ДУ3.
Рисунок 8 - Окно редактирования базы данных деталей
Для работой с записями таблицы внизу окна установлен элемент DBNavigator, с помощью которого возможно:
- переходить по записям таблицы,
- добавлять записи;
- удалять записи;
- применять и отменять результаты редактирования.
Описание логистической структуры
Схема программы представлена на рисунке 9.
Рисунок 9 - Схема программы
7. Виды обеспечения
Лингвистическое обеспечение
Лингвистическое обеспечение САПР - это совокупность языков, используемых в САПР для представления информации о проектируемых объектах, процессе и средствах проектирования, которой обмениваются люди с ЭВМ и между собой в процессе автоматизированного проектирования.
Разработку САПР ГПС «Проектирование системы основного технологического оборудования» мы производили в среде Delphi 7. Delphi представляет собой систему программирования. Как любая подобная система, Delphi предназначена для разработки программ и имеет две характерные особенности: создаваемые с ее помощью программы могут работать не только под управлением Windows, а сама она относится к классу инструментальных средств ускоренной разработки программ (Rapid Application Development, RAD).
Delphi - визуальная среда разработки программ. При создании обычных приложений, утилит и программ работы с базами данных не приходится задумываться о регистрах, стеке и многом другом. Язык программирования Delphi достаточно прост для освоения, но при этом очень эффективен и мощный. Среда разработки Delphi максимально упрощает создание приложения и облегчает жизнь программисту, упрощая процесс формирования внешнего вида программы. При этом можно больше внимания уделить логике выполнения программы и непосредственно заниматься созданием математической части приложения.
Математическое обеспечение
Основу этого компонента САПР составляют алгоритмы, по которым разработано программное обеспечение САПР и, следовательно, осуществляется процесс автоматизированного проектирования.
К математическому обеспечению относятся математические модели, численные методы, алгоритмы выполнения проектных процедур.
Компоненты математического обеспечения определяются базовым математическим аппаратом, специфичным для каждого из иерархических уровней проектирования.
Основными требованиями к математическому обеспечению являются требования адекватности, точности, экономичности.
В случае нашей программы САПР ГПС «Проектирование системы основного технологического оборудования», используются следующие формулы:
Расчет эффективного годового времени работы станков:
где F0 - эффективный годовой фонд времени работы станков;
Fсут - суточный фонд времени работы оборудования, мин;
d - количество дней работы в году, шт.
Расчет номинальной трудоемкости производственной программы:
где Tн - номинальная трудоемкость производственной программы;
T1, T2, Tn, - трудоемкость годовой программы по каждой данной детали.
Расчет числа станков:
где Ср - число станков каждой модели;
Tн - номинальная трудоемкость производственной программы;
F0 - эффективный годовой фонд времени работы станков;
к - коэффициент использования оборудования.
Техническое обеспечение
Разработка технического обеспечения систем автоматизированного проектирования включает решение следующих групп задач:
- выбор типов и расчет количества ЭВМ и рабочих станций;
- определение структуры вычислительной сети и выбор сетевого оборудования;
- выбор комплектации узлов вычислительной сети.
Основная исходная информация для разработки технического обеспечения САПР заданного приложения заключена в типах, характеристиках, для проектирования которых предназначена создаваемая САПР, и в прогнозируемых объемах проектных работ (заказов на проектирование).
Если рассматривать наш случай, то для успешной работы, разрабатываемой нами САПР необходимо следующее оборудование:
Компьютер
- Pentium III - 500 МГц;
- память - 64 Мб;
- жесткий диск - 5 Гб;
- CD-Rom;
- дисковод;
- видеокарта - 4 Мб;
- монитор 17» - min 800х600;
- клавиатура;
- мышь.
Операционная система Windows 2000 или Windows XP.
Выводы
В полученном задании на конструкторско-технологическую разработку была поставлена задача: автоматизировать проектирование системы основного технологического оборудования (выбор типа, модели и расчет количества оборудования). Разработанный программный продукт полностью реализует поставленную задачу. Он позволит сократить сроки разработки проектов и облегчить труд проектировщика. Как следствие возрастет объем выполненных работ, что повлечет за собой увеличение экономической прибыли.
Список использованных источников
1 Роботизированные технологические комплексы и ГПС в машиностроении. Альбом схем и чертежей. Учебное пособие для ВУЗов. Под ред. Соломенцева Ю.М. 1989 г.
2 Обработка металлов резанием. Справочник технолога. Под ред. А.А. Панова. 1988 г.
3 Бондаренко В.А., Сердюк А.И. Основы создания ГПС механообработки // Учебное пособие - Оренбург: ОГУ, 2000 - 206 с.
4 Мельников Г.Н., Вороненко В.П. Проектирование механосборочных цехов - М.: Машиностроение, 1990 - 351 с.
5 И.П. Норенков Основы автоматизированного проектирования Издание 2-ое переработанное и дополненное Москва Издательство МГТУ имени Н.Э. Баумана 2002 год.
6 Т. Карпова БАЗЫ ДАННЫХ модели, разработка, реализация Санкт-Петербург Москва, Харьков, Минск 2001 год.
Приложение
Unit GPS_Unit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons, jpeg, ComCtrls, DB, DBTables;
Type
Tdetail = record
Nazv: String[128];
Razm: array [1..3] of integer;
NumDu: byte;
Du: array [1..3] of real;
God_Progr: integer;
Used: boolean;
RazmMax: integer;
Trud: real;
End;
TStan = record
TypeStan: integer;
Choosed: boolean;
Name: String[20];
End;
TForm1 = class(TForm)
ComboBox1: TComboBox;
ComboBox2: TComboBox;
ComboBox3: TComboBox;
ComboBox4: TComboBox;
ComboBox5: TComboBox;
ComboBox6: TComboBox;
LabeledEdit1: TLabeledEdit;
LabeledEdit2: TLabeledEdit;
LabeledEdit3: TLabeledEdit;
LabeledEdit4: TLabeledEdit;
LabeledEdit5: TLabeledEdit;
LabeledEdit6: TLabeledEdit;
BitBtn1: TBitBtn;
Label1: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
StatusBar: TStatusBar;
LabeledEdit7: TLabeledEdit;
LabeledEdit8: TLabeledEdit;
Label2: TLabel;
Label3: TLabel;
tDetails: TTable;
Image1: TImage;
Button4: TButton;
procedure FormCreate (SEnder: TObject);
procedure BitBtn1Click (SEnder: TObject);
procedure Button1Click (SEnder: TObject);
procedure Button2Click (SEnder: TObject);
procedure Button3Click (SEnder: TObject);
procedure BitBtn1MouseMove (SEnder: TObject; Shift: TShiftState; X,
Y: Integer);
procedure FormMouseMove (SEnder: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Button1MouseMove (SEnder: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Button3MouseMove (SEnder: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Button2MouseMove (SEnder: TObject; Shift: TShiftState; X,
Y: Integer);
procedure ComboBox1Change (SEnder: TObject);
procedure ComboBox2Change (SEnder: TObject);
procedure ComboBox3Change (SEnder: TObject);
procedure ComboBox4Change (SEnder: TObject);
procedure ComboBox5Change (SEnder: TObject);
procedure ComboBox6Change (SEnder: TObject);
procedure LabeledEdit7MouseMove (SEnder: TObject; Shift: TShiftState; X,
Y: Integer);
procedure LabeledEdit8MouseMove (SEnder: TObject; Shift: TShiftState; X,
Y: Integer);
procedure LabeledEdit1KeyPress (SEnder: TObject; var Key: Char);
procedure Button4Click (SEnder: TObject);
procedure Button4MouseMove (SEnder: TObject; Shift: TShiftState; X,
Y: Integer);
private
{Private declarations}
public
{Public declarations}
End;
var
Form1: TForm1;
i: integer;
Col: byte;
Detail: array of Tdetail;
Stan: TStan;
implementation
uses Gps_Unit2, Gps_Unit3, Gps_Unit4;
{$R *.dfm}
// ***********************************************
// заполняем из БД «tDetails» элементы типа record
// определяем размер динамического массива
// ***********************************************
procedure TForm1. FormCreate (SEnder: TObject);
begin
i:= 0; // счетчик номера записи
// подключаем БД
with tDetails do
begin
Active:= true;
If Active = false then
begin
ShowMessage ('Не обнаружена база данных. /n \Base\Details.DB');
Exit;
End;
Close;
Open;
End;
// определяем количество записей в БД
Col:= tDetails. RecordCount;
// задаем границы динамическому массиву
SetLength (Detail, Col+1);
// заполняем из БД элементы пока не дойдем до конца базы
while not tDetails. Eof do
begin
i:= i + 1;
// заполняем из БД элементы Detail типа record
Detail[i].Nazv:=tDetails['Name'];
Detail[i].Razm[1]:=tDetails['Razm1'];
Detail[i].Razm[2]:=tDetails['Razm2'];
Detail[i].Razm[3]:=tDetails['Razm3'];
Detail[i].Du[1]:=tDetails['Du1'];
Detail[i].Du[2]:=tDetails['Du2'];
Detail[i].Du[3]:=tDetails['Du3'];
// заполняем из БД список деталей в элемент ComboBox
ComboBox1. Items. Add (tDetails['Name']);
ComboBox2. Items. Add (tDetails['Name']);
ComboBox3. Items. Add (tDetails['Name']);
ComboBox4. Items. Add (tDetails['Name']);
ComboBox5. Items. Add (tDetails['Name']);
ComboBox6. Items. Add (tDetails['Name']);
// переход на следующую строку базы
tDetails. Next;
End;
// закрываем БД
tDetails. Close;
// определяем количество ДУ
For i:= 1 to col do
begin
if (Detail[i].Du[1] <> 0)
then
Detail[i].NumDu:= 1;
if (Detail[i].Du[1] <> 0) and (Detail[i].Du[2] <> 0)
then
Detail[i].NumDu:= 2;
if (Detail[i].Du[1] <> 0) and (Detail[i].Du[2] <> 0) and (Detail[i].Du[3] <> 0)
then
Detail[i].NumDu:= 3;
End;
// определяем максимальный размер
Detail[i].RazmMax:= 0;
For i:= 1 to col do
begin
Detail[i].RazmMax:= Detail[i].razm[1];
if Detail[i].razm[2] > Detail[i].RazmMax
then Detail[i].RazmMax:= Detail[i].razm[2]
else
if Detail[i].razm[3] > Detail[i].RazmMax
then Detail[i].RazmMax:= Detail[i].razm[3]
End;
End;
// *****************************************
// выполненяем расчет основного оборудования
// *****************************************
procedure TForm1. BitBtn1Click (SEnder: TObject);
var
MaxRazm: integer; // максимальный размер детали
TotalTrud: real; // Номинальная трудоемкость
F, Cp: real; // эффективный фонд времени работы оборудования, расчетное количество станков
i, k: integer; // счетчики
begin
// ставим всем деталям флаг «не используется»
For i:= 1 to Col do detail[i].Used:=false;
// сообщение об ошибке
If (LabeledEdit7. Text = «) then
Begin
ShowMessage ('Не введен суточный фонд времени работы ГПС.');
LabeledEdit7. SetFocus;
Exit;
End;
// сообщение об ошибке
If (LabeledEdit8. Text = «) then
Begin
ShowMessage ('Не указано количество дней работы в год.');
LabeledEdit8. SetFocus;
Exit;
End;
// если в элементе ComboBox1 что то выбрано,
// ставим флаг детали «используется» и вносим годовую программу
if (ComboBox1. ItemIndex <> -1) then
begin
// сообщение об ошибке
if LabeledEdit1. Text='' then
begin
ShowMessage ('Не все годовые программы введены. ');
Exit;
End;
// ставим флаг детали «используется» и вносим годовую программу
For i:= 1 to col do
begin
if ComboBox1. ItemIndex=i-1 then
begin
detail[i].Used:=true;
detail[i].God_Progr:=StrToInt (LabeledEdit1. Text);
End;
End;
End;
// если в элементе ComboBox2 что то выбрано,
// ставим флаг детали «используется» и вносим годовую программу
if (ComboBox2. ItemIndex <> -1) then
begin
// сообщение об ошибке
if LabeledEdit2. Text='' then
begin
ShowMessage ('Не все годовые программы введены. ');
Exit;
End;
// ставим флаг детали «используется» и вносим годовую программу
For i:= 1 to col do
begin
if ComboBox2. ItemIndex=i-1 then
begin
detail[i].Used:=true;
detail[i].God_Progr:=StrToInt (LabeledEdit2. Text);
End;
End;
End;
// если в элементе ComboBox3 что то выбрано,
// ставим флаг детали «используется» и вносим годовую программу
if (ComboBox3. ItemIndex <> -1) then
begin
// сообщение об ошибке
if LabeledEdit3. Text='' then
begin
ShowMessage ('Не все годовые программы введены. ');
Exit;
End;
// ставим флаг детали «используется» и вносим годовую программу
For i:= 1 to col do
begin
if ComboBox3. ItemIndex=i-1 then
begin
detail[i].Used:=true;
detail[i].God_Progr:=StrToInt (LabeledEdit3. Text);
End;
End;
End;
// если в элементе ComboBox4 что то выбрано,
// ставим флаг детали «используется» и вносим годовую программу
if (ComboBox4. ItemIndex <> -1) then
begin
// сообщение об ошибке
if LabeledEdit4. Text='' then
begin
ShowMessage ('Не все годовые программы введены. ');
Exit;
End;
// ставим флаг детали «используется» и вносим годовую программу
For i:= 1 to col do
begin
if ComboBox4. ItemIndex=i-1 then
begin
detail[i].Used:=true;
detail[i].God_Progr:=StrToInt (LabeledEdit4. Text);
End;
End;
End;
// если в элементе ComboBox5 что то выбрано,
// ставим флаг детали «используется» и вносим годовую программу
if (ComboBox5. ItemIndex <> -1) then
begin
// сообщение об ошибке
if LabeledEdit5. Text='' then
begin
ShowMessage ('Не все годовые программы введены. ');
Exit;
End;
// ставим флаг детали «используется» и вносим годовую программу
For i:= 1 to col do
begin
if ComboBox5. ItemIndex=i-1 then
begin
detail[i].Used:=true;
detail[i].God_Progr:=StrToInt (LabeledEdit5. Text);
End;
End;
End;
// если в элементе ComboBox6 что то выбрано,
// ставим флаг детали «используется» и вносим годовую программу
if (ComboBox6. ItemIndex <> -1) then
begin
// сообщение об ошибке
if LabeledEdit6. Text='' then
begin
ShowMessage ('Не все годовые программы введены. ');
Exit;
End;
// ставим флаг детали «используется» и вносим годовую программу
For i:= 1 to col do
begin
if ComboBox6. ItemIndex=i-1 then
begin
detail[i].Used:=true;
detail[i].God_Progr:=StrToInt (LabeledEdit6. Text);
End;
End;
End;
// обнуляем значение максимального размера
MaxRazm:= 0;
// ставим флаг «тип станка не выбран»
Stan. Choosed:= false;
// обнуляем значение модели станка
Stan. TypeStan:=0;
// определяем максимальный размер выбранных деталей
For i:= 1 to col do
begin
if detail[i].Used= true then
if MaxRazm < detail[i].RazmMax then MaxRazm:= detail[i].RazmMax;
End;
// вывод в Form2 в элемент Memo1 текста расчета
with Form2. Memo1. Lines do
begin
Clear; // очищаем поле
Add (' _________________________________________________________________________________');
Add (' Расчет основного технологического оборудования');
Add (' _________________________________________________________________________________');
Add('');
Add (' Основным технологическим оборудованием ГПС механообработки являются металлорежущие станки, относящиеся к разным группам (токарные, фрезерные, многоцелевые и т.д.). Расчет основного технологического оборудования включает два этапа:');
Add (' 1 Выбор моделей станков');
Add (' 2 Расчет числа станков каждой модели.');
Add('');
Add (' 1 Выбор моделей станков');
Add (' Модели станков подбираются на стадии разработки технологии изготовления деталей. Выбор той или иной модели станка определяется технологическими возможностями, габаритами рабочей зоны, используемыми средствами управления и так далее.');
Add (' Основным оборудованием для деталей данной группы являются станки сверлильно-фрезерно-расточной группы (обрабатывающие центры).');
Add('');
Add (' Все станки выбираем одной модели, что позволяет снизить риск «нестыковки» средств автоматизации и управления, затраты на переналадку оборудования, а так же получить более простую расчетную схему ГПС.');
// определение типа станка
if (MaxRazm > 0) and (MaxRazm <= 320) then
begin
Stan. TypeStan:=320;
Stan. Choosed:= true;
Stan. Name:= 'ИР320ПМ1Ф4';
End
else
// определение типа станка
if (MaxRazm > 320) and (MaxRazm <= 500) then
begin
Stan. TypeStan:=500;
Stan. Choosed:= true;
Stan. Name:= 'ИР500ПМ1Ф4';
End
else
// определение типа станка
if (MaxRazm > 500) and (MaxRazm <= 800) then
begin
Stan. TypeStan:=800;
Stan. Choosed:= true;
Stan. Name:= 'ИР800ПМ1Ф4';
End;
Add (' Для обработки данных деталей в соответствий с их предельными параметрами (максимальный размер = ' + IntToStr(MaxRazm) + ') выбираем станок модели ' + Stan. Name + ', размеры рабочей зоны которого позволяют обработать любую деталь из предложенных.');
Add('');
Add (' 2 Расчет числа станков');
Add (' Расчет числа станков каждой модели основан на балансе годового фонда времени работы станков и номинальной трудоемкости годовой производственной программы деталеустановок, обрабатываемых на станках данной модели');
Add('');
Add (' Расчет числа станков, необходимого для выполнения данного задания производим, следующим образом: ');
Add('');
k:= 0; // счетчик количества операций
// подсчитываем годовые программы для каждой детали
For i:= 1 to col do
begin
with detail[i] do
begin
if Used=true then // если деталь используется
begin
k:= k + 1;
Trud:= (God_Progr*(DU[1]+DU[2]+DU[3]))/60; // высчитываем трудоёмкость
case NumDu of // тип расчета в зависимости от количества ДУ
// 1 ДУ
1: Form2. Memo1. Lines. Add (' T' +
IntToStr(k) + ' = ' + FloatToStr (God_Progr) + ' · ' +
' (' + FloatToStr (Du[1]) + ') / 60 = ' + FloatToStr(Trud));
// 2 ДУ
2: Form2. Memo1. Lines. Add (' T' +
IntToStr(k) + ' = ' + FloatToStr (God_Progr) + ' · ' +
' (' + FloatToStr (Du[1]) + ' + ' + FloatToStr (Du[2]) + ') / 60 = ' + FloatToStr(Trud));
// 3 ДУ
3: Form2. Memo1. Lines. Add (' T' +
IntToStr(k) + ' = ' + FloatToStr (God_Progr) + ' · ' +
' (' + FloatToStr (Du[1]) + ' + ' + FloatToStr (Du[2]) + ' + ' + FloatToStr (Du[3]) + ') / 60 = ' + FloatToStr(Trud));
End;
End;
End;
End;
// расчет номинальной трудоемкости
For i:=1 to col do TotalTrud:= TotalTrud + detail[i].Trud;
Add('');
Add (' Номинальная трудоемкость Тн = ' + FloatToStr(TotalTrud));
Add('');
Add('');
Add (' Зная номинальную трудоемкость производственной программы Тн, расчетное количество станков данной модели Ср можно определить как');
Add('');
Add (' Cp = Tн / Fо, ');
Add('');
Add (' где Fо - эффективный фонд времени работы оборудования:');
Add('');
Add (' Fo = Fcут · d · k, ');
Add('');
Add (' где Fcут - суточный фонд времени работы оборудования;');
Add (' d - количество дней работы в году;');
Add (' k - коэффициент загрузки станков ГПС.');
Add('');
// расчет эффективного фонда времени работы оборудования
F:= StrToInt (LabeledEdit7.text) * StrToInt (LabeledEdit8.text);
Add (' Fo = ' +LabeledEdit7. Text + ' · ' +LabeledEdit8. Text + ' = ' + FloatToStr(F) + ' (час), ');
Add (' k = 0,9 (для ГПС)');
Add('');
// расчетное количество станков
Cp:= TotalTrud/(F * 0.9);
Add (' Cp = ' + FloatToStr(TotalTrud) + ' / (' + FloatToStr(F) + ' · 0.9) = ' + FloatToStr(Cp));
Add('');
Add (' Округляем и получаем Cp = ' + FloatToStr (Round(Cp+0.45)));
Add('');
Add (' Следовательно, для выполнения заданной программы необходимо ' + FloatToStr (Round(Cp+0.45)) + ' обрабатывающих центров ' + Stan. Name + '.');
Add('');
Add('');
Add (' _________________________________________________________________________________');
Add (' Производственная программа');
Add (' _________________________________________________________________________________');
Add('');
Add('');
// счетчик номера детали
k:= 0;
// вывод на форму данных используемых деталей и их годовые программы
For i:= 1 to col do
begin
with detail[i] do
begin
if Used=true then
begin
k:= k + 1;
Add (' _________________________________________________________________________________');
Add (' Деталь ' + IntToStr(k));
Add (' Название детали, шифр: ' + Nazv);
Add (' Габаритные размеры детали, мм: ' + IntToStr (razm[1]) + ' x ' + IntToStr (razm[2]) + ' x ' + IntToStr (razm[3]));
// выбор вида вывода на экран в зависимости от количества ДУ
case NumDu of
// 1 ДУ
1: Add (' Станкоемкость деталеустановки, мин: ' + '1ДУ = ' + FloatToStr (Du[1]));
// 2 ДУ
2: Add (' Станкоемкость деталеустановки, мин: ' + '1ДУ = ' + FloatToStr (Du[1]) + ', 2ДУ = ' + FloatToStr (Du[2]));
// 3 ДУ
3: Add (' Станкоемкость деталеустановки, мин: ' + '1ДУ = ' + FloatToStr (Du[1]) + ', 2ДУ = ' + FloatToStr (Du[2]) + ', 3ДУ = ' + FloatToStr (Du[3]));
End;
Add (' Годовая программа выпуска, шт.: ' + IntToStr (God_Progr));
Add('');
End;
End;
End;
End;
// отображение формы для отображения произведенных расчетов
Form2. ShowModal;
End;
// **********************************************
// вывод на экран формы для просмотра вида станка
// **********************************************
Подобные документы
Выбор сетевых компонентов. Основные эксплуатационные характеристики кабелей на витой паре. Рекомендации по применению кабелей. Используемое сетевое и пользовательское программное обеспечение. Разработка схемы ЛВС в MS Visio. Расчет стоимости прокладки.
курсовая работа [298,0 K], добавлен 02.09.2010Особенности формирования электронного портфолио студента, его внедрение в практику образовательного процесса. Информационное и программное обеспечение автоматизированных систем. Атрибуты сущностей, структура и форматы БД. Создание форм, запросов, отчетов.
курсовая работа [1,2 M], добавлен 11.01.2015Системное, инструментальное и прикладное программное обеспечение. Современные настольные издательские системы. Программные средства мультимедиа. Системы искусственного интеллекта. Прикладное программное обеспечение автоматизированного проектирования.
реферат [59,4 K], добавлен 18.12.2013Характеристика кислородно-конвертерного производства. Структура и функции автоматизированных систем управления технологическими процессами доводки металла. Модернизация АСУ ТП УДМ-4 ОАО "Северсталь", техническое, аппаратное и программное обеспечение.
дипломная работа [662,8 K], добавлен 29.08.2014Организационная структура предприятия, его программное обеспечение, принцип обработки данных. Автоматизированные системы управления технологическими и производственными процессами, ресурсами. Система SAP R/3б ее архитектура и особенности навигации.
отчет по практике [3,8 M], добавлен 23.07.2012Принципы организации системы, состоящей из персонала и комплекса средств автоматизации его деятельности. Проектирование корпоративных автоматизированных информационных систем. Структура, входные и выходные потоки, ограничения автоматизированных систем.
презентация [11,3 K], добавлен 14.10.2013Состояние систем управления инженерными сетями. Выбор системы-прототипа и ее описание со всеми видами обеспечения. Разработка автоматизированной информационной системы мониторинга инженерных сетей, принцип работы и используемое программное обеспечение.
дипломная работа [1,9 M], добавлен 21.01.2015Основное программное обеспечение для автоматизации производства. Финансовые и коммуникационные системы. Системы планирования и управления. Текстовые редакторы и табличные процессоры. Финансовое программное обеспечение. Шрифтовые технологии в документах.
шпаргалка [551,9 K], добавлен 16.08.2010Системное и прикладное программное обеспечение. Выполнение программ, хранение данных и взаимодействие пользователя с компьютером. Возможности операционных систем. Системы технического обслуживания. Системы обработки электронных таблиц и текста.
презентация [15,9 K], добавлен 06.01.2014Характеристика программного обеспечения персонального компьютера, которое делиться на три класса: системное, прикладное ПО, инструментарий программирования. Особенности работы компьютерной сети - системы связи компьютеров или компьютерного оборудования.
контрольная работа [22,9 K], добавлен 10.06.2010