Приём заказов:
Круглосуточно
Москва
ул. Никольская, д. 10.
Ежедневно 8:00–20:00
Звонок бесплатный

Повышение производительности конструктора-машиностроителя при проектировании цепных передач

Диплом777
Email: info@diplom777.ru
Phone: +7 (800) 707-84-52
Url:
Логотип сайта компании Диплом777
Никольская 10
Москва, RU 109012
Содержание

Аннотация

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

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

1. Разработка базы данных справочной информации цепных передач;

2. Разработка автоматизированной системы расчета и проектирования цепных передач.

Применение разработанной системы будет способствовать быстрому расчету цепных передач с минимально затраченными усилиями.

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

Пояснительная записка содержит 58 страниц формата А4. Графическая часть представлена в виде презентации и содержит 17 слайдов.

Содержание

Введение

1. Общая информация о цепных передачах

1.1 Назначение цепных передач

1.2 Виды цепных передач

1.3 Расчет цепных передач

2. Разработка базы данных цепных передач

2.1 Описание базы данных

3. Архитектура системы автоматизированного проектирования

4. Алгоритм работы системы

5. Подключение БД к программе

6. Описание работы и интерфейс программы

Заключение

Список используемой литературы

Приложение 1 Текст программы

Приложение 2 Графическая часть

Введение

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

Цепные передачи применяют:

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

б) при жестких требованиях к габаритам или

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

К достоинствам цепных передач относят:

1) возможность применения в значительном диапазоне межосевых расстояний;

2) меньшие, чем у ременных передач, габариты;

3) отсутствие скольжения;

4) высокий КПД;

5) малые силы, действующие на валы, так как нет необходимости в большом начальном натяжении;

6) возможность легкой замены цепи;

7) возможность передачи движения нескольким звездочкам.

Вместе с тем цепные передачи не лишены недостатков:

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

2) они требуют более высокой точности установки валов, чем клиноременные передачи, и более сложного ухода — смазывания, регулировки;

3) передачи требуют установки в картерах;

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

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

1. Общая информация о цепных передачах

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

Рис.1 Пример цепной передачи

Цепь состоит из соединенных шарнирами звеньев, которые обеспечивают подвижность или “гибкость” цепи.

Рис.2 Цепь

Цепные передачи могут выполняться в широком диапазоне параметров.

1.1 Назначение цепных передач

автоматизированный алгоритм цепной передача

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

В зависимости от назначения цепи делятся на три группы:

1) грузовые;

2) тяговые;

3) приводные;

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

1.2 Виды цепных передач

Наиболее распространеные типы приводных цепей – это роликовые (рис.1, а); втулочные (рис.1, б); зубчатые (рис.1, в). Роликовые цепи составляют до 90% от выпускаемых приводных цепей, их собирают из внутренних и наружных звеньев.

а) б) в)

Рис.3 Типы цепных передач: а – с роликовой цепью; б – с втулочной цепью; в – с зубчатой цепью

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

Материал пластин роликовых цепей — сталь 50 (с закалкой до HRC (38–45); валиков, втулок, роликов — стали 15, 20, 25 (с последующей цементацией и закалкой до HRC (52–60).

Рис.4 Роликовая цепь: 1 – ролик; 2 – втулка; 3 – пластины внутреннего звена; 4 – валик; 5 – пластины наружного звена

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

Зубчатые цепи (рис. 4) состоят из набора зубчатых пластин 1, шарнирно соединенных между собой с помощью валиков 2 (рис. 11, а). Каждая пластина имеет по два зуба со впадиной между ними для размещения зуба звездочки. Рабочие (внешние) поверхности зубьев этих пластин (поверхности контакта со звездочками, ограничены плоскостями и наклонены одна к другой под углом вклинивания , равным 60°). Этими поверхностями каждое звено садится на два зуба звездочки. Зубья звездочек имеют трапециевидный профиль.

Рис.5 Втулочная цепь: 1 – пластины внутреннего звена; 2 – пластины наружнего звена

Рис.6 Зубчатая цепь: 1 – пластины;2 – валики; 3 – направляющие пластины; 4 – шарнир; 5 – призмы

1.3 Расчет цепных передач

Рассмотрим геометрический расчет цепных передач. Центры шарниров цепи при зацеплении с зубьями звездочки располагаются на делительной окружности звездочки (см. рис. 1, а; 2, а). Делительный диаметр звездочки (см. рис. 2, а)

,

где р — шаг цепи; z — число зубьев звездочки.

Для втулочных и роликовых цепей зубья звездочек профилируют в соответствии с ГОСТ 591–69, для зубчатых цепей — в соответствии с ГОСТ 13576–81, по которым и определяют все размеры зубьев, а также диаметры вершин da и впадин df зубьев этих звездочек (см. рис. 7).

Рис. 7 Звездочки цепной передачи

а – звездочка для зацепления зубчатых цепей, б – звездочка для зацепления втулочных и роликовых цепей

Минимальное межосевое расстояние аmin цепной передачи принимают в зависимости от передаточного числа u передачи и условия, что угол обхвата цепью меньшей звездочки составляет не менее 120°, т. е. при u?3

при u>3

где da1 и da2 — диаметры вершин соответственно меньшей и большей звездочки, мм. Оптимальное межосевое расстояние цепной передачи

числовой множитель принимают тем больше, чем больше u.

Число звеньев z3 цепи вычисляют по предварительно принятому межосевому расстоянию а, передачи шагу цепи р и числам зубьев меньшей z1 и большей z2 звездочек:

.

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

Уточняют межосевое расстояние передачи по формуле

Для обеспечения провисания цепи полученное по формуле значение a уменьшают на (0,002…0,004)а.

Длину цепи определяют из равенства

.

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

,

где v — в м/с; n — в мин-1; щ — в рад/с; р — в мм. Так как скорость цепи на обеих звездочках одинакова, то щ1z1p=щ2z2p, или n1z1p=n2z1p (Рис.8) следовательно, передаточное отношение цепной передачи

.

Для цепных передач рекомендуется принимать u?8. В тихоходных передачах допускают u?15.

Скорость цепи постоянно изменяется, что видно из схемы цепной передачи на (рис. 3), где окружная скорость ведущей звездочки v3 разложена на две составляющие: v1 — мгновенную скорость движения цепи в данный момент и v2 – мгновенную скорость подъема ее на звездочке в этот же момент. Из чертежа следует, что

где щ1 — постоянная угловая скорость ведущей звездочки;

r1 — радиус ее начальной окружности. Так как угол б изменяется от 0 до р/z1 то скорость цепи изменяется от vmax=v3 до vmaxcos(р/z1)=v3cos(р/z1).

Рис. 8 Звенья цепи

Так как угловая скорость ведущей звездочкищ1 постоянна, а скорость цепи переменна, то угловая скорость ведомой звездочки щ2=v2/(r2 cos в)- переменная величина. Предельные значения частоты вращения n1, мин-1, меньшей звездочки при различных р, мм, с учетом допускаемых в цепных передачах динамических нагрузок:

 Шаг р, мм

 9,52

 12,70

 15,88

 19,05

 25,40

 31,75

 38,10

 44,45

 50,80

 Роликовые ПР, ПРУ при z1?15

 2500

 1250

 1000

 900

 800

 630

 500

 400

 300

 Зубчатые с шарнирами качения при z1?17

 –

 3300

 2650

 2000

 1650

 1350

 –

 –

 –

Минимальное число зубьев z1 меньшей звездочки в зависимости от передаточного отношения i:

Таблица. Минимальное число зубьев z1

 Передаточное отношение i

 1…2

 2…4

 4…6

 >6

 Роликовая и втулочная

 32…28

 25…20

 18…16

 14…12

 Зубчатая

 35…32

 30…28

 25…20

 18…16

Число зубьев большей звездочки z2 вычисляют по формуле

Допускаемое максимальное число зубьев большей звездочки для втулочной или роликовой цепи z2?120, для зубчатой цепи z2?140. К. п. д. передачи в зависимости от точности изготовления сборки и способа смазки цепи з=0,95…0,98. Окружную силу Ft цепной передачи вычисляют по формуле.

Основной критерий работоспособности приводных цепей — износостойкость их шарниров.

Допускаемая окружная сила передачи при средних эксплуатационных условиях

где А — площадь проекции опорной поверхности шарнира;

[q] — допускаемое давление в шарнирах цепи для средних эксплуатационных условий. Значения [q]для роликовых цепей даны в табл.

Для втулочной и роликовой цепей (4, а, б) принимают равной

A=dl,

где d — диаметр валика;

l — длина втулки.

Расчет цепи на износостойкость шарниров производят по формуле

где k — коэффициент эксплуатации передачи;

,

где k1 — коэффициент динамичности нагрузки;

k1=1 при спокойной нагрузке,

k1=1,25…1,5 при толчках;

k2 — коэффициент способа регулировки натяжения цепи:

k2=1 при регулировании передвижными опорами,

k2=1,1 — оттяжными звездочками,

k=1,25 — отжимным роликом;

k3 — коэффициент межосевого расстояния передачи:

k3=1,25 при а<25р,

k3=1 при а=(30…50)р,

k3=0,8 при а=(60…80)р;

k4 – коэффициент наклона линии звездочек к горизонту:

k4=1 при ?60°,

k4=1,5 при >60°;

k5 – коэффициент способа смазки цепи:

k5=0,8 при непрерывной,

k5=1 при капельной, k5=1,5 при периодической смазке;

k6 – коэффициент режима работы:

k6=1 при односменной,

k6=1,25 при двухсменной,

k6=1,5 при трехсменной работе.

При расчете цепи на износостойкость шарниров необходимо предварительно задаться шагом цепи р; для роликовых и зубчатых цепей на выше приведены наибольшие значения допускаемых шагов в зависимости от частоты вращения меньшей звездочки n1. Далее принимают число зубьев меньшей звездочки z1, определяют среднюю скорость цепи v, окружную силу Ft. Затем по формуле

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

где Ft — допускаемая окружная сила однорядной цепи. После расчета окончательно цепь подбирают по соответствующему ГОСТу.

Сила давления со стороны звездочки на вал цепной передачи

где kв — коэффициент нагрузки вала, учитывающий характер нагрузки, действующей на вал, и расположение передачи; при наклоне линии центров звездочек к горизонту 0…40° и спокойной нагрузке kв=l,15, при ударной нагрузке kв=1,30; при наклоне >40° и спокойной нагрузке kв=1,05, при ударной нагрузке kв=1,15.

2. Разработка базы данных цепных передач

База данных – представленная в объективной форме совокупность самостоятельных материалов (статей, расчетов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью ЭВМ. В моем случае я создаю базу данных цепных передач.

Основой любой реляционной БД являются таблицы. Разработка таблиц является одним из наиболее сложных этапов в проектировании БД. Грамотно спроектированные таблицы являются основой для создания работоспособной и эффективной БД.

В качестве системы управления базами данных для хранение информации о цепных передачах будем использовать MS Access.

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

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

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

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

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

2.1 Описание базы данных

Спроектированная база данных справочной информации состоит из одной таблицы gost.

База данных состоит из полей:

· Количество рядов цепи (kol) тип данных Числовой

· Типоразмер (tip) тип данных Текстовый

· Шаг цепи (t) тип данных Числовой

· Расстояние между внутренними пластинами (b1) цепи тип данных числовой

· Диаметр ролика (d1) тип данных числовой

· Диаметр валика (d2, d4) тип данных числовой

· Ширина внутренней пластины (h) тип данных числовой

· Длина валика (b7) тип данных числовой

· Разрушающая нагрузка (nagr) тип данных числовой

· Масса (mass) тип данных числовой

Заполненная база данных расчета цепных передач представлена на рис.10

Рис.10 База данных

3. Архитектура системы автоматизированного проектирования

Рис.11 Архитектура системы автоматизированного проектирования

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

2. Интерфейс – графическая среда, предназначенная для комфортной работы с программой.

3. Модуль СУБД – предназначен для работы с базой данных gost. Позволяет запрашивать данные из базы данных и получать результаты запроса.

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

5. БД gost – изначальная база данных, заложенная в программу. С помощью модуля СУБД возможно получение из базы данных необходимой информации.

4. Алгоритм работы системы

Рис.12 Алгоритм работы системы

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

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

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

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

5. При выводе отчета наших результатов возможно два варианта, либо вывод в окно программы, либо в отчет текстового редактора. В отчете будет результаты всех расчетов, с данными по которым проводились.

5. Подключение БД к программе

Работа с базами данных в Delphi очень важна, а тем более Access. Эта программа, на мой взгляд, является самая легкой для создания базы данных, с которой можно работать в Delphi. Для совершения данной операции на нашу главную форму «ставим» следующие компоненты:

· TDBGrid

· TDataSource

· TADOConnection

· TADOQuery

TDBGrid находится на вкладке DataControls, предназначен для отображения данных БД в нашей программе (приложении).

TDataSource находится на вкладке Data Access, предназначен для связи нашей сетки отображения данных с самой БД.

TADOConnection находится на вкладке ADO, предназначен для подключения нашей БД по определенному провайдеру.

TADOQuery находится также на вкладке ADO, предназначен для получение нужных результатов из нашей БД.

TADOQuery в свойстве Connection я «связываю» с TADOConnection, из выпадающего списка я выбираю имя данного компонента.

TDataSource в свойстве DataSet я «связываю» с TADOQuery, из выпадающего списка я выбираю имя данного компонента

TDBGrid в свойстве DataSource я «связываю» с TDatasource, из выпадающего списка я выбираю имя данного компонента.

Далее выделяем компонент TADOConnection и в свойстве LoginPromt ставим на False. Это делаем для того, чтобы при подключении к БД у нас не запрашивался пароль, дальше в свойстве ConnectionString нажимаем на кнопку с «…» и появляется окно следующего вида:

Рис.11 Источник соединения

В данном окне нажимаем на кнопку «Build…» и появляется окно следующего вида:

Рис.12 Выбор подключаемых данных

В данном окне мы выбираем провайдера, а именно Microsoft Jet 4.0 OLE DB Provaider и нажимаем кнопку «Далее».

Рис.13 Путь к БД

В данном окне мы указываем путь к нашей БД и имя пользователя по умолчанию Admin. Наша БД находится в корневом каталоге с программой, поэтому в данном поле достаточно указать ее имя с расширением.

Почти все закончили, осталось только нажать кнопку «Ок» и в свойстве компонента TADOConnection – Mode выбрать из выпадающего списка cmShareDenyNone.

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

procedure TForm1.FormCreate(Sender: TObject);

begin

memo1.Lines.Clear;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add(‘SELECT * FROM gost’);

ADOQuery1.Active:=True;

end;

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

6. Описание работы и интерфейс программы

После запуска программы пользователь видит главное окно приложения.

Рис.14 Главное окно программы

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

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

Рис.15 Панель для ввода исходных данных

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

Рис.16 Блок выбора условий работы

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

Рис.17 Группа кнопок

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

Рис.18 Сообщение об ошибке

Если в результате выбранных параметров подобрать цепь среди стандартных типоразмеров не удалось то таблица доступных вариантов будет пуста

Рис.19 Отображение пустой таблицы данных

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

Рис.20 Отображение таблицы данных

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

Рис.21 Таблица ГОСТов

Информация о стандартных параметрах цепных передач хранится в отдельной базе данных, разработанной в системе управления базами данных MS Access. После процедуры расчета мы можем сбросить параметры на начальные, нажав кнопку «Очистить». Результаты расчета можно просмотреть в окне находящемся в верхнем правом углу приложения

Рис.21 Результаты расчета

При нажатии кнопки «Сохранить в файл» появляется окно выбора месторасположения сохраняемого файла и после кнопки «Сохранить» он будет сохранен.

Рис.22 Сохранение файла

Заключение

В данной выпускной квалифицированной работе были решены следующие задачи:

1. Создана и заполнена база данных параметров стандартных цепных передач.

2.Разработана автоматизированная система расчета и проектирования цепных передач.

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

Список используемой литературы

1. Формулы для расчета параметров цепных передач – http://www.metiz-krepej.ru/peredachi/raschet_cepnyh_peredach.html

2. Цепные передачи по ГОСТ 13568-97 – http://mc.ru/gost/gost13568-97.pdf

3. Пособие по MS Access – http://www.taurion.ru/access

4. Пособие по Delphi 7 – http://delphi.support.uz/

5. Работа c ADO в Delphi – http://devdelphi.ru/?p=16

6. А.А. Бобцов, В.В. Шиегин Основы работы с MS Access.

7. Н. Н. Гринченко, Е. В. Гусев, Н. П. Макаров. Проектирование баз данных. СУБД Microsoft Access. Учебное пособие

Приложение 1

unit Unit1;

interface

uses

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

Dialogs, StdCtrls, ExtCtrls, Math, DBCtrls, Grids, DBGrids, DB, ADODB;

type

TForm1 = class(TForm)

LabeledEdit1: TLabeledEdit;

LabeledEdit2: TLabeledEdit;

ComboBox1: TComboBox;

Label1: TLabel;

Button1: TButton;

Memo1: TMemo;

Image1: TImage;

Button2: TButton;

ComboBox2: TComboBox;

Label2: TLabel;

GroupBox1: TGroupBox;

ComboBox3: TComboBox;

ComboBox4: TComboBox;

ComboBox5: TComboBox;

ComboBox6: TComboBox;

ComboBox7: TComboBox;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

LabeledEdit3: TLabeledEdit;

LabeledEdit4: TLabeledEdit;

GroupBox2: TGroupBox;

Button3: TButton;

SaveDialog1: TSaveDialog;

DBGrid1: TDBGrid;

ADOConnection1: TADOConnection;

ADOQuery1: TADOQuery;

DataSource1: TDataSource;

ADOQuery1DSDesigner: TIntegerField;

ADOQuery1DSDesigner2: TWideStringField;

ADOQuery1t: TFloatField;

ADOQuery1b1: TFloatField;

ADOQuery1d1: TFloatField;

ADOQuery1d2d4: TFloatField;

ADOQuery1h: TFloatField;

ADOQuery1b7: TFloatField;

ADOQuery1b: TFloatField;

ADOQuery1DSDesigner3: TFloatField;

ADOQuery1DSDesigner1: TFloatField;

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure ComboBox1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin

memo1.Lines.Clear;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add(‘SELECT * FROM gost’);

ADOQuery1.Active:=True;

end;

procedure TForm1.Button1Click(Sender: TObject);

const t: array [1..11] of real = ( 8 , 9.525, 12.7, 15.875, 19.05, 25.4, 31.75, 38.1, 44.45, 50.8, 63.5);

var a, u, x , t_real, Lp, Lp1, a_t,t_p: real;

z1,z2, i,j, rad: integer;

d1,d2, da1, da2, T1, n1, s, p, dp: real;

ke, k1, k2,k3,k4,k5, Ft, v, w:real;

s1, tipo:string;

begin

a:=strtofloat(LabeledEdit1.Text); //межосевое расстояние

u:=strtofloat(LabeledEdit2.Text); //передаточное число

T1:=strtofloat(LabeledEdit3.Text);

n1:=strtofloat(LabeledEdit4.Text);

if u>7 then memo1.Lines.Add(‘Передаточное число должно быть меньше 7’)

else begin

//числа зубьев ведущей и ведомой звездочки

if u<=5 then z1:=trunc(29-2*u);

if u>5 then z1:=trunc(29-1.5*u);

if frac(z1/2)=0 then z1:=z1+1;

z2:=round(u*z1);

if frac(z2/2)=0 then z2:=z2+1;

if ((combobox1.ItemIndex=0) and (z2<=90)) or ((combobox1.ItemIndex=1) and (z2<=120)) or((combobox1.ItemIndex=2) and (z2<=140))

then begin

memo1.Lines.Add(‘Число зубьев ведущей звездочки ‘+inttostr(z1));

memo1.Lines.Add(‘Число зубьев ведомой звездочки ‘+inttostr(z2));

end

else MessageDlg(‘Исходные данные не корректны’, mtError, [mbOK],0);

rad:=combobox2.ItemIndex+1;

case rad of

1: i:=1;

2: i:=2;

3: i:=3;

4: i:=4;

end;

//шаг цепи

for j:=i to 11 do

begin

x:=a/t[j];

if (x>=30) and (x<=50) then begin

t_real:=t[j];

memo1.Lines.Add(‘Шаг цепи ‘+Floattostrf(t_real, fffixed, 10,3));

break;

end

else

continue;

if (x<30) or (x>50) then begin

MessageDlg(‘Исходные данные не корректны’, mtError, [mbOK],0);

exit

end;

end;

case combobox1.ItemIndex of

0: tipo:=’%ПВ%’;

1: tipo:= ‘%ПР%’;

2: tipo:= ‘%ПЗ%’;

end;

//фильтр

DecimalSeparator := ‘.’;

ADOQuery1.SQL.Clear;

if (combobox1.ItemIndex=0) or (combobox1.ItemIndex=1) then

ADOQuery1.SQL.Add(‘SELECT * FROM gost WHERE kol=’+inttostr(rad)+ ‘ AND t=’+ Floattostrf(t_real, fffixed, 10,3)+

‘ AND Tip LIKE “‘+tipo+'”‘);

if (combobox1.ItemIndex=2) then

ADOQuery1.SQL.Add(‘SELECT * FROM gost WHERE t=’+ Floattostrf(t_real, fffixed, 10,3)+

‘ AND Tip LIKE “‘+tipo+'”‘);

ADOQuery1.Active:=True;

DecimalSeparator := ‘,’;

//число звеньев

Lp1:=2*a/t_real+(z1+z2)/2+sqr(z2-z1)*t_real/(4*Pi*pi*a);

if frac(int(Lp1)/2)=0 then

Lp:=trunc(Lp1)

else Lp:=trunc(Lp1)+1;

memo1.Lines.Add(‘Число звеньев ‘+Floattostrf(Lp, fffixed, 10,0));

//уточняем межосевое расстояние

a_t:=t_real/4*(Lp-(z1+z2)/2+sqrt(sqr(Lp-(z1+z2)/2)-8*sqr((z2-z1)/2/pi)));

a_t:=a_t-0.003;

memo1.Lines.Add(‘Межосевое расстояние ‘+floattostrf(a_t, fffixed, 10,3)+’мм’);

//диаметры

d1:=abs(t_real/sin(180/z1));

d2:=abs(t_real/sin(180/z2));

memo1.Lines.Add(‘Делительный диаметр ведущей звездочки ‘+Floattostrf(d1, fffixed, 10,3)+ ‘мм’);

memo1.Lines.Add(‘Делительный диаметр ведомой звездочки ‘+Floattostrf(d2, fffixed, 10,3)+ ‘мм’);

if (combobox1.ItemIndex=0) or (combobox1.ItemIndex=1) then

begin

Da1:=abs(t_real*(cotan(180/z1)+0.5));

Da2:=abs(t_real*(cotan(180/z2)+0.5));

end;

if (combobox1.ItemIndex=2) then

begin

Da1:=abs(t_real*cotan(180/z1));

Da2:=abs(t_real*cotan(180/z2));

end;

memo1.Lines.Add(‘Диаметр вершин зубьев ведущей звездочки ‘+Floattostrf(da1, fffixed, 10,3)+ ‘мм’);

memo1.Lines.Add(‘Диаметр вершин зубьев ведомой звездочки ‘+Floattostrf(da2, fffixed, 10,3)+ ‘мм’);

end;

//коэффициент эксплуатации

if combobox3.ItemIndex=0 then k1:=1 else k1:=1.3;

if combobox4.ItemIndex=0 then k2:=1 else k2:=1.25;

case combobox5.ItemIndex of

0: k3:=1;

1: k3:=1.1;

2: k3:=1.25;

end;

case combobox7.ItemIndex of

0: k4:=0.8;

1: k4:=1;

2: k4:=1.5;

end;

case combobox6.ItemIndex of

0: k5:=1;

1: k5:=1.25;

2: k5:=1.45;

end;

ke:=k1*k2*k3*k4*k5;

//окружная сила

Ft:=2*T1/d1;

//cкорость цепи

v:=z1*n1*t_real/60000;

if v>10 then begin MessageDlg(‘Скорость цепи превышает допустимую’, mtError, [mbOK],0);

exit

end

else memo1.Lines.Add(‘Скорость цепи ‘+floattostrf(v, fffixed, 10,3)+’м/c’);

//давление в шарнирах

S:=0.25*sqr(t_real);

p:=ke*Ft/S;

if v<0.1 then dp:=32;

if (v>=0.1) and (v<0.4) then dp:=28;

if (v>=0.4) and (v<1) then dp:=25;

if (v>=1) and (v<2) then dp:=21;

if (v>=2) and (v<4) then dp:=17;

if (v>=4) and (v<6) then dp:=14;

if (v>=6) and (v<8) then dp:=12;

if (v>=8) and (v<10) then dp:=10;

if p>dp then begin

MessageDlg(‘Давление в шарнире превышает допустимое’, mtError, [mbOK],0);

exit

end

else memo1.Lines.Add(‘Давление в шарнире ‘ +floattostrf(p, fffixed, 10,3)+’Hм’);

//число ударов в секунду

w:=4*z1*n1/(60*Lp);

if w>=(508/t_real) then begin

MessageDlg(‘Число ударов цепи в секунду слишком большое’, mtError, [mbOK],0);

exit

end

else memo1.Lines.Add(‘Число ударов цепи в секунду ‘ +floattostrf(w, fffixed, 10,3));

//тип цепи

case combobox1.ItemIndex of

0: s1:=inttostr(combobox2.itemindex+1)+’ПВ’;

1: s1:=inttostr(combobox2.itemindex+1)+’ПР’;

2: s1:=’ПЗ’;

end;

//Memo1.Lines.Add(‘Тип цепи – ‘+s1+’-‘+floattostrf(t_real,fffixed,10,3)+’-‘+floattostrf(dp, fffixed, 10,3) )

end;

procedure TForm1.ComboBox1Click(Sender: TObject);

var path:string;

begin

path:=ExtractFilePath(Application.ExeName);

if combobox1.ItemIndex=0 then

Image1.Picture.LoadFromFile(path+’втулочная.bmp’);

if combobox1.ItemIndex=1 then

Image1.Picture.LoadFromFile(path+’роликовая.bmp’);

if combobox1.ItemIndex=2 then

Image1.Picture.LoadFromFile(path+’зубчатая.bmp’);

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

combobox1.ItemIndex:=-1;

memo1.Lines.Clear;

LabeledEdit1.Text:=”;

LabeledEdit2.Text:=”;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add(‘SELECT * FROM gost’);

ADOQuery1.Active:=True;

end;

procedure TForm1.Button3Click(Sender: TObject);

var f:textfile; i,j ,f_c, r_c:integer;Str:string;

sline: string;

begin

ADOQuery1.First;

str := ”;

for i := 0 to DBGrid1.FieldCount-1 do begin

str := str + DBGrid1.Columns.Items[i].DisplayName+’ ‘+ DBgrid1.Fields[i].AsString+ #9;

end;

memo1.Lines.Add(str);

WITH SaveDialog1 DO

IF Execute THEN Memo1.Lines.SaveToFile(filename);

end;

end.

Приложение 2

Графическая часть

Леонид Федотов
Леонид Федотов
Окончил НИУ ВШЭ факультет компьютерных наук. Сам являюсь кандидатом наук. По специальности работаю 13 лет, за это время создал 8 научных статей и 2 диссертации. В компании подрабатываю в свободное от работы время уже более 5 лет. Нравится помогать школьникам и студентам в решении контрольных работ и написании курсовых проектов. Люблю свою профессию за то, что это направление с каждым годом становится все более востребованным и актуальным.
Поделиться дипломной работой:
Поделиться в telegram
Поделиться в whatsapp
Поделиться в skype
Поделиться в vk
Поделиться в odnoklassniki
Поделиться в facebook
Поделиться в twitter
Похожие статьи
Раздаточный материал для дипломной работы образец

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

Читать полностью ➜
Задание на дипломную работу образец заполнения

Дипломная — это своеобразная заключительная работа, которая демонстрирует все приобретенные студентом знания во время обучения в определенном вузе. В зависимости от специализации к исследовательским работам

Читать полностью ➜