Технологическая реализация системы подготовки обработки детали станка с числовым программным управлением

Общая структура, обоснование применения и классификация систем числового программного управления. Назначение постпроцессоров и разработка системы подготовки обработки детали станка. Алгоритм работы программного модуля и его технологическая реализация.

Рубрика Производство и технологии
Вид дипломная работа
Язык русский
Дата добавления 11.10.2010
Размер файла 3,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

С т.пр = 307161,14+15000;

С т.пр = 322161,14 руб.

Стоимость технологического проекта рассчитывается:

С тех.пр = Р ап + С под ,

где Рап - расходы на аппаратное обеспечение. Спод - стоимость поддержки, которая складывается из расходов на услуги программистов. Принимается время работы программистов равным 50% от времени работы при создании. Тогда время работы программиста равно 1,5 мес. При размере оплаты услуг программиста 10500 руб/мес, стоимость поддержки составит 15750 руб.

С тех.проекта = 60800 + 15750;

С тех.проекта = 76550 руб.

Общая стоимость владения информационным продуктом рассчитывается:

ОСВ = С т.пр + С тех.пр,

ОСВ = 322161,14 + 76550;

ОСВ = 398711,14 руб.

4.3 Экономический эффект

Разработанный программный продукт, программный модуль станка с ЧПУ, необходим для автоматизации процесса создания управляющей программы для станка Walter CIP6, оснащенного системой ЧПУ Sinumeric 840D. При расчёте экономического эффекта от применения программного продукта, общая стоимость разработанного программного модуля станка с ЧПУ оказалась ниже стоимости аналогичного модуля, предлагаемого фирмой-изготовителем станка [18].

, (4.11)

где ОВСр - общая стоимость владения разработываемого программмного продукта, руб.; ОВСп - общая стоимость владения покупного программного продукта, руб.

ОВСп = 638540 руб.;

Э - экономический эффект, руб.

Э = 638540 - 398711,14;

Э = 239828,86 руб.

Разработанный программный продукт, программный модуль станка с ЧПУ, на 239828,86 рублей дешевле аналогичного программного модуля разработанного фирмой фирмой-изготовителем станка.

5. Обеспечение безопасности жизнедеятельности

5.1 Общие сведения о безопасности жизнедеятельности

Безопасность жизнедеятельности (БЖД) - это комплекс мероприятий, направленных на обеспечение безопасности человека в среде обитания, сохранение его здоровья, разработку методов и средств защиты путем снижения влияния вредных и опасных факторов до допустимых значений, выработку мер по ограничению ущерба в ликвидации последствий чрезвычайных ситуаций мирного и военного времени [20].

Охрана здоровья трудящихся, обеспечение безопасности условий труда, ликвидация профессиональных заболеваний и производственного травматизма составляет одну из главных забот человеческого общества. Обращается внимание на необходимость широкого применения прогрессивных форм научной организации труда, сведения к минимуму ручного, малоквалифицированного труда, создания обстановки, исключающей профессиональные заболевания и производственный травматизм.

Помещения для эксплуатации персональных компьютеров должны иметь естественное и искусственное освещение. Эксплуатация персональных компьютеров в помещениях без естественного освещения допускается только при соответствующем обосновании и наличии положительного санитарно-эпидемиологического заключения, выданного в установленном порядке.

Естественное и искусственное освещение должно соответствовать требованиям действующей нормативной документации. Окна в помещениях, где эксплуатируется вычислительная техника, преимущественно должны быть ориентированы на север и северо-восток.

Оконные проемы должны быть оборудованы регулируемыми устройствами типа: жалюзи, занавесей, внешних козырьков и так далее.

Площадь на одно рабочее место комплектовщика компьютера на базе электронно-лучевой трубки (ЭЛТ) должна составлять не менее 6 м2, на базе плоских дискретных экранов (жидкокристаллические, плазменные) - 4,5 м2.

Для внутренней отделки интерьера помещений, где расположены компьютеры, должны использоваться диффузно отражающие материалы с коэффициентом отражения для потолка 0,7-0,8; для стен 0,5-0,6; для пола 0,3-0,5. Полимерные материалы используются для внутренней отделки интерьера помещений с персональными компьютерами при наличии санитарно-эпидемиологического заключения.

Помещения, где размещаются рабочие места с персональными компьютерами, должны быть оборудованы защитным заземлением (занулением) в соответствии с техническими требованиями по эксплуатации.

Не следует размещать рабочие места с персональными компьютерами вблизи силовых кабелей и вводов, высоковольтных трансформаторов, технологического оборудования, создающего помехи в работе персональных компьютеров.

В производственных помещениях, в которых работа с использованием персональных компьютеров является вспомогательной, температура, относительная влажность и скорость движения воздуха на рабочих местах должны соответствовать действующим санитарным нормам микроклимата производственных помещений.

В производственных помещениях, в которых работа с использованием персональных компьютеров является основной (диспетчерские, операторские, расчетные, кабины и посты управления, залы вычислительной техники и др.) и связана с нервно-эмоциональным напряжением, должны обеспечиваться оптимальные параметры микроклимата для категории работ 1а и 1б в соответствии с действующими санитарно-эпидемиологическими нормативами микроклимата производственных помещений. На других рабочих местах следует поддерживать параметры микроклимата на допустимом уровне, соответствующем требованиям указанных выше нормативов.

В помещениях должна проводиться ежедневная влажная уборка и систематическое проветривание после каждого часа работы на компьютере.

Уровни положительных и отрицательных аэроионов в воздухе помещений, где расположены персональные компьютеры, должны соответствовать действующим санитарно-эпидемиологическим нормативам.

Содержание вредных химических веществ в воздухе производственных помещений, в которых работа с использованием персональных компьютеров является вспомогательной, не должно превышать предельно допустимых концентраций вредных веществ в воздухе рабочей зоны в соответствии с действующими гигиеническими нормативами.

Содержание вредных химических веществ в производственных помещениях, в которых работа с использованием персональных компьютеров является основной (диспетчерские, операторские, расчетные, кабины и посты управления, залы вычислительной техники и др.), не должно превышать предельно допустимых концентраций загрязняющих веществ в атмосферном воздухе населенных мест в соответствии с действующими гигиеническими нормативами.

В производственных помещениях при выполнении основных или вспомогательных работ с использованием персональных компьютеров уровни шума на рабочих местах не должны превышать предельно допустимых значений, установленных для данных видов работ в соответствии с действующими санитарно-эпидемиологическими нормативами.

При выполнении работ с использованием персональных компьютеров в производственных помещениях уровень вибрации не должен превышать допустимых значений вибрации для рабочих мест (категория 3, тип "в") в соответствии с действующими санитарно-эпидемиологическими нормативами.

Шумящее оборудование (печатающие устройства, серверы и т.п.), уровни шума которого превышают нормативные, должно размещаться вне помещений с персональными компьютерами.

Рабочие столы следует размещать таким образом, чтобы видеодисплейные терминалы были ориентированы боковой стороной к световым проемам, чтобы естественный свет падал преимущественно слева.

Искусственное освещение в помещениях для эксплуатации персональных компьютеров должно осуществляться системой общего равномерного освещения. В производственных и административно-общественных помещениях, в случаях преимущественной работы с документами, следует применять системы комбинированного освещения (к общему освещению дополнительно устанавливаются светильники местного освещения, предназначенные для освещения зоны расположения документов).

Освещенность на поверхности стола в зоне размещения рабочего документа должна быть 300 - 500 лк. Освещение не должно создавать бликов на поверхности экрана. Освещенность поверхности экрана не должна быть более 300 лк. Следует ограничивать прямую блесткость от источников освещения, при этом яркость светящихся поверхностей (окна, светильники и другие), находящихся в поле зрения, должна быть не более 200 кд/м2.

Следует ограничивать отраженную блесткость на рабочих поверхностях (экран, стол, клавиатура и другие) за счет правильного выбора типов светильников и расположения рабочих мест по отношению к источникам естественного и искусственного освещения, при этом яркость бликов на экране персонального компьютера не должна превышать 40 кд/м2 и яркость потолка не должна превышать 200 кд/м2.

Показатель ослепленности для источников общего искусственного освещения в производственных помещениях должен быть не более 20. Показатель дискомфорта в административно-общественных помещениях не более 40.

Яркость светильников общего освещения в зоне углов излучения от 50 до 90 градусов с вертикалью в продольной и поперечной плоскостях должна составлять не более 200 кд/м2, защитный угол светильников должен быть не менее 40 градусов. Светильники местного освещения должны иметь не просвечивающий отражатель с защитным углом не менее 40 градусов.

Следует ограничивать неравномерность распределения яркости в поле зрения пользователя персонального компьютера, при этом соотношение яркости между рабочими поверхностями не должно превышать 3:1 - 5:1, а между рабочими поверхностями и поверхностями стен и оборудования 10:1.

Для обеспечения нормируемых значений освещенности в помещениях для использования персональных компьютеров следует проводить чистку стекол оконных рам и светильников не реже двух раз в год и проводить своевременную замену перегоревших ламп.

Режим пожарной безопасности помещений регламентируется двумя основополагающими документами: ФЗ № 69 "О пожарной безопасности" и "Правилами пожарной безопасности на ОАО "АВТОВАЗ".

Правила пожарной безопасности устанавливают основные нормы и требования к помещениям, размещению в них оборудования. Оснащение помещений средствами первичного пожаротушения, планы и схемы эвакуации при пожаре, порядок вызова пожарной службы при возникновении ЧС. В каждом помещении должно быть лицо ответственное за пожарную безопасность, назначенное приказом руководителя предприятия или лицом ответственным за пожарную безопасность предприятия в целом. Все работники должны периодически, не реже 1 раза в полугодие, проходить инструктаж по пожарной безопасности, участвовать в тренировках по эвакуации из здания при пожаре, тушению предполагаемых возгораний.

Требования Правил пожарной безопасности к эксплуатации вычислительной техники содержат лишь общие положения, в которых обозначены необходимые для соблюдения документы. Одним из таких документов являются Правила устройства электроустановок (ПУЭ). В них оговорены требования к монтажу электропроводки, освещения, порядку включения, выключения и аварийного обесточивания электросетей.

В случае загорания ПК или отдельных устройств, следует немедленно отключить электропитание, сообщить в службу пожарной охраны по телефону "11-01". Оценить ситуацию и, в случае небольшого очага возгорания, попытаться начать тушение загорания, используя средства первичного пожаротушения. Для тушения можно применять огнетушители с углекислотным или порошковым зарядом. Они предназначены для тушения электроустановок с напряжением до 1000 В. При обнаружении неисправностей, перегрева оборудования, появления запаха гари следует выключить ПК и другие включенные устройства, вынуть вилки электропитания из розеток и сообщить об этом обслуживающему персоналу, то есть лицу ответственному за пожарную безопасность помещений или ответственному за электрохозяйство.

Для предотвращения возгорания необходимо соблюдать основные меры предосторожности:

- не эксплуатировать поврежденные розетки или розетки, выполненные с нарушением норм пожарной безопасности;

- не допускать работу средств вычислительной техники с неисправными шнурами питания;

- соблюдать порядок уборки и хранения горючих материалов;

- не класть на устройства вычислительной техники посторонние предметы, бумагу, документацию;

- в помещениях не пользоваться открытым огнем и электронагревательными приборами с открытыми элементами нагрева или без терморегуляторов;

- запрещается работа на неисправном оборудовании (возникновение короткого замыкания и, как следствие, характерные искры и шум, запах плавящейся изоляции проводов);

- по окончании работы, перед закрытием помещений, следует обесточить все электропотребители.

-

5.2 Требования к рабочему месту инженера-программиста

При работе с компьютером человек подвергается воздействию ряда опасных и вредных производственных факторов:

- электромагнитных полей (диапазон высоких частот, сверх высоких частот и ультра высоких частот);

- инфракрасного и ионизирующего излучений;

- повышенный уровень шума и вибрации;

- повышенная температура внешней среды;

- отсутствие или недостаточная освещенность рабочей зоны;

- электрического тока и статического электричества;

- умственное перенапряжение;

- перенапряжение зрительных и слуховых анализаторов;

- монотонность труда;

- эмоциональные перегрузки;

- большие нагрузки на мышцы рук при работе с клавиатурой ЭВМ;

- большие нагрузки на мышцы шеи, спины и ног.

В соответствии с СанПиН 2.2.2/2.4.1340-03 рабочее место инженера-программиста должно обеспечивать возможность поворота корпуса в горизонтальной и вертикальной плоскости с фиксацией в заданном положении для обеспечения фронтального наблюдения экрана. Корпус ПК, клавиатура и другие блоки и устройства должны иметь матовую поверхность с коэффициентом отражения 0,4-0,6 и не иметь блестящих деталей, способных создавать блики. Также должно предусматриваться регулирование яркости и контрастности.

Концентрации вредных веществ, выделяемых персональными компьютерами в воздух помещений, не должны превышать предельно допустимых концентраций (ПДК), установленных для атмосферного воздуха.

Рабочие места с персональными компьютерами в помещениях с источниками вредных производственных факторов должны размещаться в изолированных кабинах с организованным воздухообменом.

Конструкция персонального компьютера должна обеспечивать возможность поворота корпуса в горизонтальной и вертикальной плоскости с фиксацией в заданном положении для обеспечения фронтального наблюдения экрана монитора. Дизайн персонального компьютера должен предусматривать окраску корпуса в спокойные мягкие тона с диффузным рассеиванием света. Корпус персонального компьютера, клавиатура и другие его блоки и устройства должны иметь матовую поверхность с коэффициентом отражения 0,4 - 0,6 и не иметь блестящих деталей, способных создавать блики.

Рабочие места с персональными компьютерами при выполнении творческой работы, требующей значительного умственного напряжения или высокой концентрации внимания, рекомендуется изолировать друг от друга перегородками высотой 1,5 - 2,0 м.

Большое значение имеет рациональная конструкция и расположение элементов рабочего места, что важно для поддержания оптимальной рабочей позы человека-оператора. При размещении рабочих мест с персональным компьютером расстояние между рабочими столами с видеомониторами (в направлении тыла поверхности одного видеомонитора и экрана другого видеомонитора), должно быть не менее 2,0 м, а расстояние между боковыми поверхностями видеомониторов - не менее 1,2 м.

Экран видеомонитора должен находиться от глаз пользователя на расстоянии 600-700 мм, но не ближе 500 мм с учетом размеров алфавитно-цифровых знаков и символов.

В процессе работы с компьютером необходимо соблюдать правильный режим труда и отдыха. В противном случае отмечаются значительное напряжение зрительного аппарата с появлением жалоб на неудовлетворенность работой, головные боли, раздражительность, нарушение сна, усталость и болезненные ощущения в глазах, в пояснице, в области шеи и руках.

Конструкция рабочего стола должна обеспечивать оптимальное размещение на рабочей поверхности используемого оборудования с учетом его количества и конструктивных особенностей, характера выполняемой работы. При этом допускается использование рабочих столов различных конструкций, отвечающих современным требованиям эргономики. Поверхность рабочего стола должна иметь коэффициент отражения 0,5-0,7.

Высота рабочей поверхности стола для взрослых пользователей должна регулироваться в пределах 680 - 800 мм, при отсутствии такой возможности высота рабочей поверхности стола должна составлять 725 мм.

Модульными размерами рабочей поверхности стола для ПЭВМ, на основании которых должны рассчитываться конструктивные размеры, следует считать: ширину 800, 1000, 1200 и 1400 мм, глубину 800 и 1000 мм при нерегулируемой его высоте, равной 725 мм.

Рабочий стол должен иметь пространство для ног высотой не менее 600 мм, шириной - не менее 500 мм, глубиной на уровне колен - не менее 450 мм и на уровне вытянутых ног - не менее 650 мм.

Конструкция рабочего стула (кресла) должна обеспечивать поддержание рациональной рабочей позы при работе на персональном компьютере, позволять изменять позу с целью снижения статического напряжения мышц шейно-плечевой области и спины для предупреждения развития утомления.

Рабочий стул (кресло) должен быть подъемно-поворотным, регулируемым по высоте и углам наклона сиденья и спинки, а также расстоянию спинки от переднего края сиденья, при этом регулировка каждого параметра должна быть независимой, легко осуществляемой и иметь надежную фиксацию.

Поверхность сиденья, спинки и других элементов стула (кресла) должна быть полумягкой, с нескользящим, слабо электризующимся и воздухопроницаемым покрытием, обеспечивающим легкую очистку от загрязнений.

Рабочее место пользователя персонального компьютера следует оборудовать подставкой для ног, имеющей ширину не менее 300 мм, глубину не менее 400 мм, регулировку по высоте в пределах до 150 мм и по углу наклона опорной поверхности подставки до 20°. Поверхность подставки должна быть рифленой и иметь по переднему краю бортик высотой 10 мм.

Клавиатуру следует располагать на поверхности стола на расстоянии 100 - 300 мм от края, обращенного к пользователю или на специальной, регулируемой по высоте рабочей поверхности, отделенной от основной столешницы.

Мощность экспозиционной дозы мягкого рентгеновского излучения в любой точке на расстоянии 0,05 м от экрана при любых положениях регулировочных устройств не должна превышать 1 мкЗв/час (100 мкР/час).

5.3 Расчет естественного освещения рабочего места

Расчет и нормирование естественного освещения производят по коэффициенту естественной освещенности "" (КЕО) в % по формуле 5.1:

, (5.1)

где

Ев - освещенность внутри помещения, лк;

Ен - одновременная освещенность наружной и горизонтальной плоскости рассеянным светом небосвода, лк.

На предприятиях наибольшее распространение получило естественное боковое освещение. При таком освещении основой расчета является требуемая площадь светового проема, определяемая по формуле 5.2:

(5.2)

где

So - площадь окон, м2;

Sп - площадь пола помещения, м2;

н - нормированное значение КЕО, %;

ho - световая характеристика окна (6.5-29);

Кз - коэффициент запаса;

Кзо - коэффициент, учитывающий затемнение окон противостоящими зданиями (1,0-1,7);

to - общий коэффициент светопропускания, определяемый из СанПиН 2.2.2/2.4.1340-03;

r1 - коэффициент, учитывающий повышение КЕО за счет отражения света от поверхности помещения (1,05-1,7).

Коэффициент "Кз" определяется равным 1,5. Учитываем, что длина пола помещения "l", равняется 12 м, а ширина "b" 8,4 м. Находим площадь пола по формуле 5.3:

, (5.3)

.

Нормированное значение КЕО определяется равным 1,2 %.

Значения остальных коэффициентов принимаются равными:

ho = 29;

r1 = 1,2;

Кзо = 1;

to = 0,3.

При расчете получено следующее значение требуемой площади светового проема по формуле 5.2:

.

Следовательно оконный проем должен быть не менее 15 м2.

5.4 Расчет искусственного освещения

Искусственное освещение применяют в темное и переходное время суток, а также при недостаточном или отсутствии естественного освещения. В помещении применяется общее равномерное искусственное освещение, расчет которого производится по методу светового потока. При расчете этим методом учитывается как прямой свет от светильника, так и свет, отраженный от потолка и стен.

Освещенность на поверхности стола в зоне размещения рабочего документа должна быть 300 - 500 лк. Освещение не должно создавать бликов на поверхности экрана. Освещенность поверхности экрана не должна быть более 300 лк. Яркость бликов на экране персонального компьютера не должна превышать 40 кд/м2 и яркость потолка не должна превышать 200 кд/м2.

В качестве источников света при искусственном освещении следует применять преимущественно люминесцентные лампы типа ЛБ и компактные люминесцентные лампы (КЛЛ).

Для освещения помещений с персональными компьютерами следует применять светильники с зеркальными параболическими решетками, укомплектованными электронными пуско-регулирующими аппаратами (ЭПРА) [21]. Допускается использование многоламповых светильников с электромагнитными пуско-регулирующими аппаратами (ЭПРА), состоящими из равного числа опережающих и отстающих ветвей. Применение светильников без рассеивателей и экранирующих решеток не допускается.

Общее освещение при использовании люминесцентных светильников следует выполнять в виде сплошных или прерывистых линий светильников, расположенных сбоку от рабочих мест, параллельно линии зрения пользователя при рядном расположении видеодисплейных терминалов. При периметральном расположении компьютеров линии светильников должны располагаться локализовано над рабочим столом ближе к его переднему краю, обращенному к оператору.

Коэффициент пульсации не должен превышать 5%.

При отсутствии светильников с ЭПРА лампы многоламповых светильников или рядом расположенные светильники общего освещения следует включать на разные фазы трехфазной сети.

Помещения, где размещаются рабочие места с персональными компьютерами, освещается лампами типа ЛБ80, световой поток которых F = 5220 лм.

Освещенность определяется по следующей формуле 5.4:

, (5.4)

где

F - световой поток каждой из ламп, лм;

E - минимальная освещенность, лк;

k - коэффициент запаса, учитывающий запыление светильников и износ источников света;

Sп - площадь помещения, м2;

N - число источников света;

- коэффициент использования светового потока;

z - коэффициент неравномерности освещения;

y - коэффициент затенения.

Определим данные для расчета. Коэффициент "k" для помещений освещаемых люминесцентными лампами, и при условии чистки светильников не реже двух раз в год берется равным:

k = 1,4-1,5.

При оптимальном расположении светильников коэффициент неравномерности равен:

z = 1,1-1,2.

Коэффициент затенения "y" вводится в расчет для помещений с фиксированным положением работающих, а также при наличии крупногабаритных предметов и принимается равным:

у = 0,8-0,9.

Коэффициент использования светового потока "" зависит от типа светильника, коэффициента отражения светового потока от стен, потолка, пола, а также геометрических размеров помещения и высоты подвеса светильников, что учитывается одной комплексной характеристикой - индексом помещения. Показатель помещения определяется по формуле 5.5:

, (5.5)

где

h - высота подвеса светильников над рабочей поверхностью, м;

l - ширина помещения, м;

b - длина помещения, м.

Тогда индекс помещения по формуле (5.5) получается равным:

По найденному показателю помещения "i" и коэффициентам отражения потолка и стен, определяем коэффициент использования светового потока (под которым понимается отношение светового потока, падающего на рабочую поверхность, к световому потоку источника света). Для нашего случая "" равняется 0,22.

Тогда освещенность по формуле (5.4) равна:

лк.

Расчет показывает, что освещенность в помещении, где размещаются рабочие места с персональными компьютеров удовлетворяет требованиям, так как нормальная минимальная освещенность должна составлять 400лк.

Заключение

Данный проект был направлен на автоматизацию проектных работ по программированию станка с ЧПУ Walter CIP6. Были проведены исследовательские работы по изучению состояния дел в этой сфере, изучены предложения других компаний, был создан программный продукт, посчитаны экономические затраты на его создание и сформулированы требования по безопасности жизнедеятельности.

В процессе проектирования был получен программный модуль, отвечающий всем заявленным требованиям. Этот модуль может проводить сложные математические расчеты неявным образом, отображать в графическом представлении введенные исходные данные. В результате использования модуля можно получить готовую управляющую программу для системы ЧПУ.

Для упрощения задачи создания модуля, в нем применен принцип внешнего управления работой пакета 3D моделирования. За счет этого была реализована возможность анимированной имитации обработки на станке, с получением твердотельной математической модели изделия, очень близкой к реальному изделию, которое могло бы получиться на станке, в результате использования этой управляющей программы.

Особое значение имеет тот факт, что происходит уход от традиционных бумажных носителей на всех этапах проектирования и внедрения управляющей программы. Достигается это за счет того, что такое же программное обеспечение может быть установлено на рабочем месте станочника, и используя его, рабочий может получить всю необходимую информацию о наладке станка в более удобном виде, чем это может быть представлено на бумажной карте наладки.

Данный программный модуль предназначен для применения в группе шлифовальных станков с ЧПУ Walter, оснащенными 4 - 6 осями. С помощью этого модуля могут быть смоделированы большинство традиционных осевых инструментов, которые применяются в производстве, а также может быть осуществлена переточка затупившегося инструмента.

Возможность имитации обработки позволяет отказаться от применения пробной детали, которая предназначена для отладки программы обработки и чаще всего оказывается испорченной.

Также был произведен анализ условий труда программиста, который должен работать в этом приложении. Были описаны параметры рабочего места и рассчитаны нормы освещенности рабочего помещения. В частности были рассчитаны такие параметры как площадь оконного проема и количество ламп искусственного освещения, необходимых для освещения данной комнаты при работе с персональным компьютером.

Был произведен экономический расчет стоимости разработки данного программного модуля. В нем были учтены стоимость компьютера и периферийного оборудования, применяемых в ходе разработки, а так же стоимость отладки и внедрения программного модуля. Анализ аналогов других фирм показал, что данный программный модуль может выполнять все те же действия, что и аналоги, но его стоимость на 239828,86 рублей ниже чем у аналогов.

Список литературы

1. Автоматизация проектно-конструкторских работ и технологической подготовки производства в машиностроении. Т. 1/Под ред. О. И. Семенкова.- Минск: Высшая школа, 2005.

2. Волков Д.И., Скляренко В.К.. Экономика предприятия. Курс лекций.- М.: Инфра-м, 2004.

3. Гольдштейн А.И., Молочник В.И. О внутренней структуре постпроцессоров. -- В кн.: Повышение эффективности использования станков с ЧПУ. - Киев: Знание, 2006.

4. ГОСТ 886-77 "Свёрла спиральные с цилиндрическим хвостовиком. Длинная серия".

5. ГОСТ 2092-77 "Свёрла спиральные удлиненные с коническим хвостовиком".

6. ГОСТ 10079-71 "Развертки конические с коническим хвостовиком".

7. ГОСТ 14952-75 "Свёрла центровочные комбинированные".

8. ГОСТ 18121-72 "Развёртки котельные машинные".

9. ГОСТ 19267-73 "Развертки машинные цилиндрические с цилиндрическим хвостовиком для легких сплавов".

10. ГОСТ 21579-76 "Зенкеры с цилиндрическим хвостовиком для легких сплавов".

11. Делфи 4. Библия разработчика. Том Сван. Киев/Москва/Санкт-Петербург: Диалектика, 1998.

12. Ендовицкий Д.А., Коменденко С.Н. Организация анализа и контроля инновационной деятельности хозяйствующего субъекта. Под ред. Л.Т. Гимеровской. М.: Финансы и статистика, 2004.

13. Знакомство с Delphi 7. Архангельский А.Я. Москва: издательство Бином, 2004.

14. Инструменты программирования в Delphi 7. Фаронов В.В. СПб.: Питер, 2006.

15. Инструкция по программированию. Издание 03.96. SINUMERIK 840D/810D/FM-NC.

16. Ильенкова С.Д., Гохберг Л.М., Ягудин С.Ю. и др.Инновационный менеджмент. Учебник для вузов./ под ред. С.Д. Ильенковой. М.: Банки и биржи, Юнити, 1997.

17. Механика промышленных роботов: Учеб. Пособие для вузов: В 3 кн. / Под ред. К. В. Фролова, Е. И. Воробьева. Кн.2: расчет и проектирование механизмов / Е. И. Воробьев, О. Д. Егоров, С. А. Попов. - М: Высш. шк., 1988.

18. Инвестиции. Учебное пособие/Г.П. Подшиваленко, Н.И. Лахметкина, М.В. Макарова и др. М.:Кнорус,2004.

19. Оборудование машиностроительных предприятий / Схиртладзе А. Г Выходец., В. И., Никифоров Н. И., Отений Я. Н. ? ВолгГТУ, Волгоград, 2005.

20. СанПиН 2.2.2/2.4.1340-03 "Гигиенические требования к персональным электронно-вычислительным машинам и организации работы".

21. Системная интеграция/Машиностроение СТА 3/2002 Николай Панышев, Дмитрий Ялымов "Система числового программного управления технологическим оборудованием".

22. Интернет источник. CALS-технологии. www.calscenter.com.

23. Интернет источник. Всемирная интернет энциклопедия. www.wikipedia.ru.

24. Интернет источник. Информационные системы. http://revolution.allbest.ru/programming.

25. Интернет источник. Уфимский государственный авиационный технический университет. www.twirpx.com.

26. Интернет источник. Siemens Sinumerik 840D. www.chipmaker.ru.

27. Интернет источник. Филиппович К.В. "Идеология постпроцессирования в современных CAD/CAM-системах" Россия, ООО Евразия Лимитед, 2000. www.sapr2000.ru

Приложение А

Исходный текст программного модуля:

program Project2; //Имя программы

uses //Объявление прикрепленных к проекту файлов

Forms,

Unit1 in 'Unit1.pas' {Form1},

Unit2 in 'Unit2.pas' {Form2},

Unit3 in 'Unit3.pas' {Form3},

Unit4 in 'Unit4.pas' {Form4},

Unit5 in 'Unit5.pas' {Form5},

Unit6 in 'Unit6.pas',

Unit7 in 'Unit7.pas' {Form7},

Unit8 in 'Unit8.pas' {Form8},

Unit9 in 'Unit9.pas' {Form9},

Unit10 in 'Unit10.pas',

Unit11 in 'Unit11.pas' {Form11},

Unit12 in 'Unit12.pas' {Form12},

Unit13 in 'Unit13.pas' {Form13},

Unit14 in 'Unit14.pas' {Form14},

Unit15 in 'Unit15.pas' {Form15},

Unit16 in 'Unit16.pas' {Form16},

Unit17 in 'Unit17.pas' {Form17};

var //объявление переменных

s:string; //назначение и присвоение типа переменных

ff:textfile;

{$R *.res} // директива компилятору подключить файл ресурсов

procedure Init_All; //объявление процедуры, относящейся ко всему проекту

begin

N_Ses:=1;

Init_Form2;

Form2.Caption:='Операция N 1';

Init_St_Det_Kr;

AssignFile(ff,path+'DAT\Stanok.dat'); //все параметры в проекта сохраняются в файл

reset(ff);

readln(ff,Xst[0]);

readln(ff,Yst[0]);

readln(ff,Zst[0]);

readln(ff,Ast[0]);

readln(ff,Bst[0]);

readln(ff,Cst[0]);

CloseFile(ff);

Init_Zag; //инициализация пользовательских функций

Init_Poly;

Init_Chk_Box;

Init_Traect(1);

Traect(1);

//Profile;

Init_Moving;

//Moving_9484;

Load_Op;

N_St:=0; N_Fin:=N_Pos[N_Act]; N_Last:=0;

Init_Data3('DAT\9484.txt'); //чтение данных из файла

Form3.Caption:='Начапьные установки';

Fill_Str_Grid1_3; //вставка стандартный элементов Windows

Init_Data4;

Fill_Str_Grid1_4;

Init_BitMap;

Draw_All;

Init_Data5;

Init_Data12;

Init_BitMap12;

Fill_Str_Grid3_12(1);

Fill_Str_Grid1_5;

Init_Data7;

Fill_Str_Grid1_7;

Step:=1;

str(Step:1:3,s);

Form8.Memo1.Text:=s;

Form8.Button17.Caption:='';

Nst_Act:=0;

Init_Zag;

Init_Data8;

Fill_Str_Grid1_8;

Fill_Str_Grid2_8;

Init_BitMap8;

Nkr_Edit:=1;

Init_BitMap9;

Cooling;

Fill_Str_Grid1_13;

N_Buff:=1;

Put_Buff(N_Buff);

Form3.Visible:=true;

Write_Zag;

Init_Data14;

Init_Data_15;

Init_Data_16;

end;

begin

Application.Initialize;

Application.CreateForm(TForm1, Form1); //создание вспомогательных окон

Application.CreateForm(TForm2, Form2);

Application.CreateForm(TForm3, Form3);

Application.CreateForm(TForm4, Form4);

Application.CreateForm(TForm5, Form5);

Application.CreateForm(TForm7, Form7);

Application.CreateForm(TForm8, Form8);

Application.CreateForm(TForm9, Form9);

Application.CreateForm(TForm11, Form11);

Application.CreateForm(TForm12, Form12);

Application.CreateForm(TForm13, Form13);

Application.CreateForm(TForm14, Form14);

Application.CreateForm(TForm15, Form15);

Application.CreateForm(TForm16, Form16);

Application.CreateForm(TForm17, Form17);

Init_All;

Application.Run;

end.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ComCtrls, Buttons, CheckLst, Grids,Math;

type

TForm1 = class(TForm)

Button1: TButton;

Memo1: TMemo;

Button8: TButton;

CheckListBox1: TCheckListBox;

Button2: TButton;

Button3: TButton;

StringGrid1: TStringGrid;

Button4: TButton;

Button5: TButton;

CheckListBox2: TCheckListBox;

Button6: TButton;

Button7: TButton;

Button9: TButton;

CheckListBox3: TCheckListBox;

Button10: TButton;

Button11: TButton;

Button12: TButton;

Button13: TButton;

Button14: TButton;

Button15: TButton;

Button16: TButton;

procedure Button3Click(Sender: TObject); //функции нажатия кнопок

procedure Button2Click(Sender: TObject);

procedure Button8Click(Sender: TObject);

procedure CheckListBox1ClickCheck(Sender: TObject);

procedure StringGrid1KeyPress(Sender: TObject; var Key: Char);

procedure Button4Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure CheckListBox2ClickCheck(Sender: TObject);

procedure Button7Click(Sender: TObject);

procedure Button9Click(Sender: TObject);

procedure CheckListBox3ClickCheck(Sender: TObject);

procedure Button10Click(Sender: TObject);

procedure Button12Click(Sender: TObject);

procedure Button13Click(Sender: TObject);

procedure Button14Click(Sender: TObject);

procedure CheckListBox1MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure Button15Click(Sender: TObject);

procedure Button16Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

private

{ Private declarations }

public

{ Public declarations }

end;

type

XYZ=record

x:real;

y:real;

Z:real;

end;

var

Form1: TForm1;

XYZ_D:XYZ;

X,Y,Z,A,B,C:real;

//start

Type_Tool:integer;

SM_X,SM_Y,SM_Z,POV_A,POV_B,SM_C:array[0..500] of real; //объявление массивов

Dkr,Rkr,Skr,Akr:array [1..11] of real; //для хранения вводимых параметров в сетке

Xkr,Ykr,Zkr,X1,Y1,Z1,dX,dY,dZ,XB1,YB1,ZB1,XB,YB,ZB:real;

{Ddet,}Rdet,Zst_B,Obr_Kon,FPL,Alf1,Alf2,Apodt,Dpodt,Wdet:real;

U_X,U_Y,U_Z1,U_Z2,UB_X,dRdet:array [1..11] of real;

N_Zub:integer;

Rvp,Lz,Lo,Lzt,Arp,Rp:real;

Zp_Kr:array [1..6,1..2] of real;

Np_Kr,Sb_Int:array [1..11] of integer;

FiC,Ftr,Teta,Ltr_P,Ltr_R,LC,X0,Y0,Z0:array[0..11] of real;

XC,YC,ZC,XT,YT,ZT,XD,YD,ZD,dA,dB,dC,V_D:real;

Xst,Yst,Zst,Ast,Bst,Cst:array [0..500] of real;

Xst_Old,Yst_Old,Zst_Old,Ast_Old,Bst_Old,Cst_Old:real;

N_Act,N_St,N_Fin,N_Last,Obr:integer;

FTime:real;

F,Feed:integer;

Nt,N_Pos:array [0..500] of integer; //заполнение массивов

Com:array [0..500] of string[20];

ff1:textfile;

FName,ABS_OTN:string;

Xtr,Ytr,Ztr,X0det,Y0det,Z0det:array [0..10] of real;

dXC1,dYC1,dZC1,dX_PR,dY_PR,dZ_PR,Atr,Btr:real;

Rpr:array[1..10,1..2] of real;

Num_Op,Nex,N_C,N_Op,Nop:integer;

OutMet:array [0..500] of integer;

dFiex,dYex, dZex:array [0..100] of real;

Rex,A0ex,A1ex,Yex,dRex,Hstr,Akan:real;

{D_Auto_Calc,}Ds,Hrk,Xrk:array [1..10] of real;

Gp,Gs:array [1..2,1..10] of real;

//N_Cycl:array [1..10,1..2] of integer;

//Amin,Amax,AStep:array [1..7] of integer;

Num_Check:integer;

Zel,Yel:real;

ddZ,ddY:real;

N_Ses:integer;

Beta,X_P1,Y_P1,X_P2,Y_P2,Ld1,Ld2:real;

XXtr,YYtr,ZZtr:real;

rad:real;

N_Kr:integer;

Nkr,N_Razb,N_Sech,N_Sech_X:array [1..11] of integer;

Z0_Kr,Ust_D,Ust_VD:real;

path:string;

W,Hv,Fit_Init:array [1..11] of real;

Xv,Yv,Zv,Xv1,Yv1,Zv1,XvT,YvT,ZvT,Y_X,Z_X:array [0..50,0..2,0..5,0..100] of real;

N_Tr:integer;

Cut_Kr:array [0..20] of integer;

N_Cut,Vozvr:array [0..500] of integer;

Xkr4,Ykr4:array [1..4,0..4,0..100] of real;

Name_Op:array [1..20] of string;

Viz_Vt,Viz_Dim,Auto_Calc:array [1..20] of integer;

A_Hrk:real;

dy_Ex,dz_Ex:array [0..100] of real;

Comp_Y,Comp_Z:array [0..100] of real;

x_Out,y_Out,z_Out:array [0..100] of real;

Move_Out:integer;

dfex:array [1..11] of real;

Cool:integer;

dotv_Cool,D_Cool,Fi_Cool,Sm_Kan,Fos_Kan,Frad_Kan,A_Cool:real;

Opt_Surf:array [0..3] of string;

N_Opt:array [1..11] of integer;

NC_Act:integer;

X_NC,Y_NC,Z_NC,A_NC,B_NC,C_NC,DX_NC,DY_NC,DZ_NC,DA_NC:array [1..10] of real;

N_Dop_Act:integer;

Adov:array [1..11] of real;

N_Feed:integer;

Napr:array [0..11] of integer;

S_Napr:array[0..11] of string;

Name_Napr:array [1..3] of string;

X_Arc,Y_Arc,Z_Arc: real;

XC1_0,YC1_0,ZC1_0,XC2_0,YC2_0,ZC2_0,XP_0,YP_0,ZP_0,XR_0,YR_0,ZR_0:real;

Nz_Act:array [1..20,1..20] of integer;

Nz_Fi:array [0..20] of real;

X_Dop,Y_Dop,Z_Dop,A_Dop,B_Dop,C_Dop:array [1..10] of real;

FX_Dop,FY_Dop,FZ_Dop,FA_Dop,FB_Dop,FC_Dop:array [1..10] of real;

X_Pr,Y_Pr,Z_Pr,A_Pr,B_Pr,C_Pr:array [1..10,1..3] of real;

FX_Pr,FY_Pr,FZ_Pr,FA_Pr,FB_Pr,FC_Pr:array [1..10,1..3] of real;

X_Otv,Y_Otv,Z_Otv,A_Otv,B_Otv,C_Otv:array [1..10] of real;

FX_Otv,FY_Otv,FZ_Otv,FA_Otv,FB_Otv,FC_Otv:array [1..10] of real;

X_Cst,Y_Cst,Z_Cst,A_Cst,B_Cst,C_Cst:array [1..10] of real;

X_Cfin,Y_Cfin,Z_Cfin,A_Cfin,B_Cfin,C_Cfin:array [1..10] of real;

X_Cex,Y_Cex,Z_Cex,A_Cex,B_Cex,C_Cex:array [1..10] of real;

FX_C,FY_C,FZ_C,FA_C,FB_C,FC_C:array [1..10] of real;

Num_C:array [1..10] of integer;

X_Vix,Y_Vix,Z_Vix,A_Vix,B_Vix,C_Vix:array [1..10] of real;

FX_Vix,FY_Vix,FZ_Vix,FA_Vix,FB_Vix,FC_Vix:array [1..10] of real;

FX_Kor,FY_Kor,FZ_Kor,FA_Kor,FB_Kor,FC_Kor:real;

FX_Ust,FY_Ust,FZ_Ust,FA_Ust,FB_Ust,FC_Ust:real;

PosTime:array [1..10] of real;

Num_Vix:array [1..10] of integer;

AutoCalc:boolean;

AHrk,Av,Ak,Ap,Sp:array [1..2,1..10] of real;

Avt,AHrkt:array [1..10] of real;

Xpx,Ypx:array [1..3,0..50] of real;

N_Proection,N_Profile,XSect:integer;

CrsAlfa:array [1..2] of real;

RminX,RminY:array [1..10] of real;

TwoFi:real;

FiRmin:array [1..2,1..10] of real;

CrsFiBeg,CrsFiEnd:array [1..10,1..2] of real;

CrsXbeg,CrsYbeg,CrsXend,CrsYend,CrsZend:array [1..10,1..2] of real;

x_Pol,y_Pol,z_Pol,R_Pol,Fit_Pol:array [1..10,1..2,0..300] of real;

N_Pol:integer;

NBeg,NEnd:array [1..10,1..2] of integer;

AsectK,RminS:array [1..10] of real;

NsectK,N_PolK:array [1..10] of integer;

N_Auto,Auto_Tang:array[1..10] of integer;

Lzat1,Lzat2,Rzat,Hzat:array [1..10] of real;

ExtdY:array [1..50,1..10] of real;

Xzat_c,Yzat_c:array [1..10,1..50] of real;

CrossSect,Ntr,Ntr1:integer;

Zcont,Ycont:array [0..50,1..2,0..3] of real;

LpS,LpR:real;

N_ZP_PL:integer;

HkZP,HfZP,SfZP,RfZP,FiZp:array [1..10] of real;

SLent,SnLent,ALent,APovL,BPovL,XPovL,YPovL,ZPovL:array [1..10] of real;

N_Sect:boolean;

Edit_Op:integer;

N_OpGr,N_Link:array [1..10] of integer;

X_ZP_PL,Y_ZP_PL,dY_ZP_PL,A_ZP_PL:array [1..10] of real;

Z_ZP_PL:array [1..2,1..10] of real;

Nop_ZP_PL:integer;

GlDv:array [1..6,1..10] of integer;

fiAmax:real;

procedure Init_Chk_Box; //описание процедур построцессора

procedure Init_St_Det_Kr;

procedure Init_Moving;

procedure Zatilok;

Procedure Init_Traect(i:integer);

procedure Traect(N_Act:integer);

procedure Memo_Out;

procedure W_Str(com:string);

function w_r(val:real;f1,f2:integer):string;

procedure G90;

procedure G91;

procedure G01;

procedure Profile;

procedure Load_Op_All;

procedure Load_Op;

procedure Fix_Det(V_D,UB_X,Ddet:real);

procedure Make_Krug(N_kr,m:integer);

procedure UpDate_ChkBox2;

procedure Make_Spind;

procedure Init_All;

implementation

uses Unit2,Unit3,Unit4,Unit5,Unit6,Unit10,Unit14, Unit8,Unit13,Unit12,

Unit7,Unit9,Unit15,Unit16,Unit17;

{$R *.dfm} //процедура реализации

var

Str_Rel:array [0..500] of string;

ff:text;

procedure Init_All;

var

s:string;

begin

path:=GetCurrentDir+'\';

N_Ses:=1;

Init_Form2;

Form2.Caption:='Операция N 1';

Init_St_Det_Kr;

Init_Zag;

Init_Poly;

Init_Chk_Box;

Init_Traect(1);

Traect(1);

//Profile;

Init_Moving;

//Moving_9484;

Load_Op;

N_St:=0; N_Fin:=N_Pos[N_Act]; N_Last:=0;

//Init_Data3('DAT\9484.txt');

Form3.Caption:='Начальные установки';

Fill_Str_Grid1_3;

Init_Data4;

Fill_Str_Grid1_4;

Init_BitMap;

Draw_All;

Init_Data5;

Init_Data12;

Init_BitMap12;

Fill_Str_Grid3_12(1);

Fill_Str_Grid1_5;

Init_Data7;

Fill_Str_Grid1_7;

Step:=1;

//str(Step:1:3,s);

Form8.Memo1.Text:=s;

Form8.Button17.Caption:='';

Nst_Act:=0;

Init_Zag;

Init_Data8;

Fill_Str_Grid1_8;

Fill_Str_Grid2_8;

Init_BitMap8;

//Nkr_Edit:=1;

Init_BitMap9;

Cooling;

Fill_Str_Grid1_13;

N_Buff:=1;

Put_Buff(N_Buff);

Form3.Visible:=true;

Write_Zag;

Init_Data14;

Init_Data_15;

Init_Data_16;

end;

procedure W_Str(com:string);

begin

Form1.Memo1.Lines.Add(com);

end;

function w_r(val:real;f1,f2:integer):string;

var

s:string;

begin

str(val:f1:f2,s);

w_r:=s;

end;

function w_i(val:integer;f1:integer):string;

var

s:string;

begin

str(val:f1,s);

w_i:=s;

end;

procedure Memo_Out;

var

s:string;

i,j:integer;

TotTime:real;

begin

Form1.Memo1.Clear;

Form1.Memo1.Visible:=false;

str(N_Pos[N_Act]:2,s);

W_Str('Кол-во позиций:0-'+s);

for i:=0 to N_Pos[N_Act] do

begin

W_Str('');

if i=0 then s:='';

if i>0 then s:='G01 '+Str_Rel[i];

W_Str('Поз.'+w_i(i,2)+':'+s);

W_Str(' Абс Отн');

W_Str('X='+w_r(Xst[i],9,3)+' '+w_r(SM_X[i],9,3));

W_Str('Y='+w_r(Yst[i],9,3)+' '+w_r(SM_Y[i],9,3));

W_Str('Z='+w_r(Zst[i],9,3)+' '+w_r(SM_Z[i],9,3));

W_Str('A='+w_r(Ast[i],9,3)+' '+w_r(POV_A[i],9,3));

W_Str('B='+w_r(Bst[i],9,3)+' '+w_r(POV_B[i],9,3));

W_Str('C='+w_r(Cst[i],9,3)+' '+w_r(SM_C[i],9,3));

end;

W_Str('**********************');

str(N_Act:1,s);

W_Str('Время оп.'+s+' :'+w_i(trunc(PosTime[N_Act]),1)+''''+

w_r(frac(PosTime[N_Act])*60,2,0)+'"');

TotTime:=0;

for j:=1 to N_op do

TotTime:=TotTime+PosTime[j];

W_Str('Время общее:'+w_r(TotTime,2,3));

Form1.Memo1.Visible:=true;

end;

procedure Move(Os:char;len:real;part_name:string); //создание структуры кадра

begin

writeln(ff1,'(position_pa :part_assembly :start ','"',part_name,'" ',

':select_done :translate :dir_len :',Os,' :len ',len:8:6,' :done ',

':pos_dynamic :dynamo-done)');

writeln(ff1,'(redraw_vp "vport1")');

end;

procedure Rotate(Os:char;angle:real;part_name:string);

begin

writeln(ff1,'(position_pa :part_assembly :start ','"',part_name,'" ',

':select_done :rotate :axis :',Os,' :rotation_angle ',angle:8:6,' :done ',

':pos_dynamic :dynamo-done)');

writeln(ff1,'(redraw_vp "vport1")');

end;

procedure XX(len:real);

begin

Move('x',len,'/CIP6/N_S');

end;

procedure YY(len:real);

begin

Move('y',len,'/CIP6/Krug');

end;

procedure ZZ(len:real);

begin

Move('z',len,'/CIP6/Krug');

end;

procedure AA(ang:real);

begin

writeln(ff1,'(current_wp "/CIP6/N_S/V_S/C_Sys/Det/w_A")');

Rotate('w',ang,'/CIP6/N_S/V_S/C_Sys/Det');

end;

procedure BB(ang:real);

begin

writeln(ff1,'(current_wp "/CIP6/N_S/V_S/w_B")');

Rotate('w',ang,'/CIP6/N_S/V_S');

end;

procedure CC(len:real);

begin

writeln(ff1,'(current_wp "/CIP6/N_S/V_S/w_C")');

Move('w',len,'/CIP6/N_S/V_S/C_Sys');

end;

procedure AddToFile(Fn:string;N_Pos:integer);

begin

AssignFile(ff1,Fn); //запись файла связи с 3D пакетом

Append(ff1);

Nt[N_Pos]:=F;

writeln(ff1,'(dotimes ( n ',Nt[N_Pos]:2,')');

if abs(SM_X[N_Pos])>=0.001 then

begin

XX(SM_X[N_Pos]/Nt[N_Pos]);

Xst[N_Pos]:=Xst[N_Pos-1]+SM_X[N_Pos];

end;

if abs(SM_Y[N_Pos])>=0.001 then

begin

YY(SM_Y[N_Pos]/Nt[N_Pos]);

Yst[N_Pos]:=Yst[N_Pos-1]+SM_Y[N_Pos];

end;

if abs(SM_Z[N_Pos])>=0.001 then

begin

ZZ(-SM_Z[N_Pos]/Nt[N_Pos]);

Zst[N_Pos]:=Zst[N_Pos-1]+SM_Z[N_Pos];

end;

if abs(POV_B[N_Pos])>=0.001 then

begin

BB(POV_B[N_Pos]/Nt[N_Pos]);

Bst[N_Pos]:=Bst[N_Pos-1]+POV_B[N_Pos];

end;

if abs(Pov_A[N_Pos])>=0.001 then

begin

AA(POV_A[N_Pos]/Nt[N_Pos]);

Ast[N_Pos]:=Ast[N_Pos-1]+POV_A[N_Pos];

end;

if abs(SM_C[N_Pos])>=0.001 then

begin

CC(SM_C[N_Pos]/Nt[N_Pos]);

Cst[N_Pos]:=Cst[N_Pos-1]+SM_C[N_Pos];

end;

writeln(ff1,')');

Flush(ff1);

CloseFile(ff1);

end;

procedure G90;

begin

ABS_OTN:='G90';

X:=Xst[N_Pos[N_Act]];

Y:=Yst[N_Pos[N_Act]];

Z:=Zst[N_Pos[N_Act]];

A:=Ast[N_Pos[N_Act]];

B:=Bst[N_Pos[N_Act]];

C:=Cst[N_Pos[N_Act]];

end;

procedure G91;

begin

ABS_OTN:='G91';

X:=0; Y:=0; Z:=0;

A:=0; B:=0; C:=0;

end;

procedure G01;

var

ss,ss1:string;

begin

inc(N_Pos[N_Act]);

PosTime[N_Act]:=PosTime[N_Act]+abs(FTime);

FTime:=0;

OutMet[N_Pos[N_Act]]:=Obr;

Obr:=0;

Str_Rel[N_Pos[N_Act]]:=ABS_OTN;

if pos('G91',ABS_OTN)>0 then

begin

SM_X[N_Pos[N_Act]]:=X;

SM_Y[N_Pos[N_Act]]:=Y;

SM_Z[N_Pos[N_Act]]:=Z;

POV_B[N_Pos[N_Act]]:=B;

POV_A[N_Pos[N_Act]]:=A;

SM_C[N_Pos[N_Act]]:=C;

end;

if pos('G90',ABS_OTN)>0 then

begin

SM_X[N_Pos[N_Act]]:=X-Xst[N_Pos[N_Act]-1];

SM_Y[N_Pos[N_Act]]:=Y-Yst[N_Pos[N_Act]-1];

SM_Z[N_Pos[N_Act]]:=Z-Zst[N_Pos[N_Act]-1];

POV_B[N_Pos[N_Act]]:=B-Bst[N_Pos[N_Act]-1];

POV_A[N_Pos[N_Act]]:=A-Ast[N_Pos[N_Act]-1];

SM_C[N_Pos[N_Act]]:=C-Cst[N_Pos[N_Act]-1];

end;

Xst[N_Pos[N_Act]]:=Xst[N_Pos[N_Act]-1];

Yst[N_Pos[N_Act]]:=Yst[N_Pos[N_Act]-1];

Zst[N_Pos[N_Act]]:=Zst[N_Pos[N_Act]-1];

Ast[N_Pos[N_Act]]:=Ast[N_Pos[N_Act]-1];

Bst[N_Pos[N_Act]]:=Bst[N_Pos[N_Act]-1];

Cst[N_Pos[N_Act]]:=Cst[N_Pos[N_Act]-1];

str(N_Pos[N_Act]:1,ss);

if NC_ACt=0 then

begin

str(N_Pos[N_Act]:1,ss1);

Form1.CheckListBox1.Items.Add(ss+':'+Com[N_Pos[N_Act]]);

if N_Pos[N_Act]>1 then

Form1.CheckListBox1.State[N_Pos[N_Act]-1]:=cbUnChecked;

Form1.CheckListBox1.State[N_Pos[N_Act]]:=cbChecked;

AddToFile(Path+'LSP\Hod.lsp',N_Pos[N_Act]);

end;

end;

procedure Profile;

var

RF:real;

ff:textfile;

X3,Y3,Z3,X31,Y31,Z31,X32,Y32,Z32,Mu_YZ,Mu_YZ1,Mu_YX,Mu_XZ:real;

Xin,Yin,Zin,Xex,Yex,Zex,Muin,Muex:real;

Xin1,Yin1,Zin1,Xex1,Yex1,Zex1,Muin1,Muex1:real;

Ang,Rs,Rd,Ksi,Ksi1,Xc,Yc,Zc1,Xc1,Yc1,F0,F1,Ficx:real;

N_Uch,N_Point,Np1,i,j,N_Half:integer;

dTeta,R_Limit1,R_Limit2,xL1,yL1,zL1,xL2,yL2,zL2,xL3,yL3,zL3,

fex,Alf1,Alf2,Alf3,L1,L2,L3,Step:real;

xL1f,yL1f,zL1f,xL2f,yL2f,zL2f,xL3f,yL3f,zL3f:real;

N_Break:array [1..2,0..4,0..100] of integer;

N_SpL:integer;

//LtrR,LtrP:extended;

fiA{,fiAmax},Vfi,fit_max,dX,dY,dZ:real;

Xv03,Yv03,Zv03:real;

K_Razb:real;

Fex_Min,Fex_Max:array [1..3] of real;

fit0,{fit_st,fit_fin,}dS_Min:real;

Empt:array [1..12] of integer;

a1_p,an_p,Sn_p,r_p,Ltr_Pfin:real;

NSect:integer;

procedure Sil(N_Tr:integer);

var

i:integer;

ff1:textfile;

fixX,fixY,fixZ:real;

fixX1,fixY1,fixZ1:real;

fixX2,fixY2,fixZ2:real;

procedure Vint(N_Tr,N_Half,N_Uch,j:integer);

begin

XvT[N_Tr,N_Half,N_Uch,j]:=Xv[N_Tr,N_Half,N_Uch,j];

YvT[N_Tr,N_Half,N_Uch,j]:=Yv[N_Tr,N_Half,N_Uch,j]*cos({FiA}0)+

Zv[N_Tr,N_Half,N_Uch,j]*sin({FiA}0);

ZvT[N_Tr,N_Half,N_Uch,j]:=-Yv[N_Tr,N_Half,N_Uch,j]*sin({FiA}0)+

Zv[N_Tr,N_Half,N_Uch,j]*cos({FiA}0);

fixX:=XvT[N_Tr,N_Half,N_Uch,j];

fixY:=YvT[N_Tr,N_Half,N_Uch,j];

fixZ:=ZvT[N_Tr,N_Half,N_Uch,j];

writeln(ff1,XvT[N_Tr,N_Half,N_Uch,j]:8:5,',',

YvT[N_Tr,N_Half,N_Uch,j]:1:5,',',

ZvT[N_Tr,N_Half,N_Uch,j]:1:5);

end;

procedure Create_Bspline(N_Tr,N_Sp,N_Uch,N_Half:integer);

var

j:integer;

x3,y3,z3:real;

begin

inc(N_Spl);

case N_Sp of

begin

writeln(ff1,'(create_curve_on_surface :wire_part "/Sil_',N_Tr:1,'.',N_Spl:1,'" ',

':start :selected_part "/a1/Krug" :face_3d :by_feature ',

':full_name :start_name "/a1/Krug" :feature "feat1" ',

':end_name :select_done ');

for j:=0 to N_Razb[N_Act] do

if (N_Break[N_Half,N_Uch,j]=0) then

begin

Empt[N_Sp]:=1;

Vint(N_Tr,N_Half,N_Uch,j);

if (N_Spl=4) and (j=N_Razb[N_Act]) then

Vint(N_Tr,1,1,j);

if (N_Spl=6) and (j=N_Razb[N_Act]) then

Vint(N_Tr,1,3,j);

end;

writeln(ff1,')');

writeln(ff1,'(remove_from_vp_drawlist "vport1" :with-wp ',

' "/Sil_',N_Tr:1,'.',N_Spl:1,'")');

end;

begin

{ Vint(N_Tr,1,1,N_Razb[N_Act]);

fixX1:=fixX; fixY1:=fixY; fixZ1:=fixZ;

Vint(N_Tr,1,3,N_Razb[N_Act]);

fixX2:=fixX; fixY2:=fixY; fixZ2:=fixZ;

x3:=(fixX1+fixX2)/2;

z3:=(fixZ1+fixZ2)/2;

y3:=(fixY1+fixY2)/2+Ddet;

writeln(ff1,'(create_bspline :wire_part "/Sil_',N_Tr:1,'.',N_Spl:1,'" ',

':input_mode :control ');

Vint(N_Tr,1,1,N_Razb[N_Act]);

writeln(ff1,x3:8:8,',',y3:1:8,',',z3:1:8);

Vint(N_Tr,1,3,N_Razb[N_Act]);}

writeln(ff1,'(create_bspline :wire_part "/Sil_',N_Tr:1,'.',N_Spl:1,'" ',

':start_condition :edge :cv_edge ',

':start :selected_part "/Sil_',N_Tr:1,'.',1:1,'" :edge_3d :by_vertex_3d');

Empt[N_Sp]:=1;

Vint(N_Tr,1,1,N_Razb[N_Act]);

writeln(ff1,':select_done ');

Vint(N_Tr,1,1,N_Razb[N_Act]);

writeln(ff1,':tangent 0.2 :accept ',

':end_condition :edge :cv_edge ',

':start :selected_part "/Sil_',N_Tr:1,'.',3:1,'" :edge_3d :by_vertex_3d');

Vint(N_Tr,1,3,N_Razb[N_Act]);

writeln(ff1,':select_done ');

Vint(N_Tr,1,3,N_Razb[N_Act]);

writeln(ff1,':tangent 0.2 :accept ');

writeln(ff1,')');

writeln(ff1,'(remove_from_vp_drawlist "vport1" :with-wp ',

' "/Sil_',N_Tr:1,'.',N_Spl:1,'")');

end;

begin

writeln(ff1,'(create_bspline :wire_part "/Sil_',N_Tr:1,'.',N_Spl:1,'" ',

':start_condition :edge :cv_edge ',

':start :selected_part "/Sil_',N_Tr:1,'.',5:1,'" :edge_3d :by_vertex_3d ');

Empt[N_Sp]:=1;

Vint(N_Tr,2,1,N_Razb[N_Act]);

fixX1:=fixX; fixY1:=fixY; fixZ1:=fixZ;

writeln(ff1,':select_done ');

Vint(N_Tr,2,1,N_Razb[N_Act]);

writeln(ff1,':accept ',

':end_condition :edge :cv_edge ',

':start :selected_part "/Sil_',N_Tr:1,'.',7:1,'" :edge_3d :by_vertex_3d ');

Vint(N_Tr,2,3,N_Razb[N_Act]);

fixX2:=fixX; fixY2:=fixY; fixZ2:=fixZ;

writeln(ff1,':select_done ');

Vint(N_Tr,2,3,N_Razb[N_Act]);

writeln(ff1,':accept )');

writeln(ff1,'(modify_bspline :curve :start :selected_part "/Sil_',N_Tr:1,'.8" ',

':all_3d :select_done ',

':insert_point ',fixX1:8:5,',',

fixY1:1:5,',',

fixZ1:1:5,' ',

(fixX1+fixX2)/2:8:5,',',

(fixY1+fixY2)/2:1:5,',',

(fixZ1+fixZ2)/2:1:5,' ');

writeln(ff1,')');

end;

end;

end;

begin

for i:=1 to 10 do

Empt[i]:=0;

AssignFile(ff1,Path+'LSP\Sil.lsp');

Append(ff1);

N_Spl:=0;

writeln(ff1,'(position_pa :part_assembly :start "/a1/Krug" :select_done ',

':translate :x ',dX:8:5,')');

writeln(ff1,'(position_pa :part_assembly :start "/a1/Krug" :select_done ',

':translate :y ',dY:8:5,')');

writeln(ff1,'(position_pa :part_assembly :start "/a1/Krug" :select_done ',

':translate :z ',dZ:8:5,')');

{ if N_Tr=N_Sech[N_Act] then

writeln(ff1,'(position_pa :part_assembly :start "/a1/Krug.1" :select_done ',

':rotate :axis :x :rotation_angle ',-fiA/pi*180:8:5,' :done :translate :x ',

-dX:8:5,')');

}

{ if N_Tr=N_Sech[N_Act] then

begin

writeln(ff1,'(create_multiple_pa :copy :source "/a1/surf1" :owner "/" )');

writeln(ff1,'(create_multiple_pa :copy :source "/a1/surf2" :owner "/" )');

writeln(ff1,'(create_multiple_pa :copy :source "/a1/surf3" :owner "/" )');

end; }

Create_Bspline(N_Tr,1,1,1);

Create_Bspline(N_Tr,2,2,1);

Create_Bspline(N_Tr,3,3,1);

Create_Bspline(N_Tr,4,1,3);

for i:=1 to N_Spl do

writeln(ff1,'(position_pa :part_assembly :start "/Sil_',N_Tr:1,'.',i:1,'" ',

':select_done ',

':rotate :axis :x :rotation_angle ',(fiAmax-fiA)/pi*180:8:5,')');

if N_Tr<N_Sech[N_Act] then

begin

// writeln(ff1,'(position_pa :part_assembly :start "/a1/Krug" :select_done ',

// ':rotate :axis :x :rotation_angle ',fiA/pi*180:8:5,')');

writeln(ff1,'(position_pa :part_assembly :start "/a1/Krug" :select_done ',

':translate :x ',-dX:8:5,')');

writeln(ff1,'(position_pa :part_assembly :start "/a1/Krug" :select_done ',

':translate :y ',-dY:8:5,')');


Подобные документы

  • Технологическая подготовка управляющей программы для обработки детали на станке с устройством числового программного управления НЦ-31. Эскиз заготовки и обоснование метода её получения. Кодирование режимов обработки и математическая подготовка программы.

    курсовая работа [439,5 K], добавлен 19.10.2014

  • Проектирование привода главного движения токарно-винторезного станка. Модернизация станка с числовым программным управлением для обработки детали "вал". Расчет технических характеристик станка. Расчеты зубчатых передач, валов, шпинделя, подшипников.

    курсовая работа [576,6 K], добавлен 09.03.2013

  • Разработка технологического процесса механической обработки заглушки. Выбор многофункционального станка с числовым программным управлением. Описание содержания переходов, аппаратных и программных средства системы управления многофункциональным станком.

    лабораторная работа [515,0 K], добавлен 12.12.2013

  • Выбор инструмента, расчет режимов обработки и разработка управляющей программы для изготовления детали "фланец". Порядок настройки фрезерного станка с числовым программным управлением для изготовления детали. Токарная обработка детали на станке с ЧПУ.

    курсовая работа [3,3 M], добавлен 10.07.2014

  • Особенности и преимущества станков с программным управлением. Служебное назначение, анализ материала и технологичности конструкции изготавливаемой детали. Проектный вариант технологического процесса механической обработки детали, наладка станка.

    курсовая работа [3,5 M], добавлен 19.06.2017

  • Расчет реверсивного комплектного автоматического электропривода и обоснование замены устаревшей программы управления на станке с числовым программным управлением. Осуществление проверки работоспособности модернизированного электрооборудования станка.

    дипломная работа [2,0 M], добавлен 05.09.2014

  • Проект модернизации фрезерного станка модели ГФ2171С3 с целью совершенствования системы управления. Устройство числового программного управления. Рынок устройств числового программного управления. Технические характеристики программного обеспечения.

    дипломная работа [1,7 M], добавлен 20.03.2013

  • Станки с числовым программным управлением, особенности конструкции и работы. Классификация станков по степени универсальности, по габаритным размерам и массе, по точности. Системы управления АТО, эволюция технологии числового программного управления.

    контрольная работа [1,6 M], добавлен 05.06.2010

  • Проектирование токарного станка с числовым программным управлением повышенной точности с гидростатическими опорами шпинделя, его назначение и область применения. Расчет параметров резания. Расчет затрат на производство и определение его эффективности.

    дипломная работа [445,8 K], добавлен 08.03.2010

  • Описание конструкции и работы сборочной единицы. Служебное назначение детали. Проектирование отливки и разработка технологического процесса изготовления корпуса, произведение расчета режимов резания и нормирования операций механической обработки детали.

    дипломная работа [3,5 M], добавлен 10.04.2017

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.