Разработка приложения по расчёту нагрузок на головку балансира станка-качалки

Автор работы: Пользователь скрыл имя, 04 Декабря 2014 в 09:19, курсовая работа

Краткое описание

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

Содержание

ВВЕДЕНИЕ 4
1 ПРЕДВАРИТЕЛЬНЫЙ АНАЛИЗ
1.1 Анализ предметной области и постановка задачи 5
1.2 Выбор состава технических и программных средств разработки системы 7
2 ОСНОВНЫЕ ПРОЕКТНЫЕ РЕШЕНИЯ
2.1 Описание входных и выходных данных 15
2.2 Выбор модели базы данных 16
2.3 Описание функциональной схемы 18
2.4 Проектирование
2.4.1 Разработка структуры базы данных 20
2.4.2 Разработка подсистемы наполнения базы данных 21
2.4.3 Разработка подсистемы формирования отчетов 22
2.4.4 Разработка интерфейса пользователя 23
2.5 Тестирование
2.5.1 Описание контрольного примера 25
2.5.2 Тестирование системы 30
ЗАКЛЮЧЕНИЕ 29
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 30
ПРИЛОЖЕНИЕ 1 Руководство пользователя 31
ПРИЛОЖЕНИЕ 2 Руководство программиста 35

Вложенные файлы: 1 файл

Отчет по курсовой.doc

— 5.26 Мб (Скачать файл)
  • Установщик.

 

 

 

2 ОСНОВНЫЕ ПРОЕКТНЫЕ РЕШЕНИЯ

 

2.1 Описание входных и выходных данных

 

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

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

Таблица 1 - Входные значения в таблицу «Formula_n»:

Имя

Ед.измер.

Назначение

ω

с

Угловая скорость вращения кривошипа

a

м/с

Скорость звука в штангах

L

м

Длина колонны

Рш

м

Вес штанг в воздухе

Рж

Н

Вес столба жидкости над плунжером

b

H/м

Коэффицент облегчения штанг в жидкости

m

м/с

Фактор динамичности

Рmax

Н

Максимальная нагрузка

P’ш

Н

Вес колонны штанг в жидкости


 

Продолжение таблицы 1

α1

м/c

Кинематический коэффицент

D

Н

Диаметр плунжера

Sa

м

Длина хода точки подвеса штанг

r

мм

Радиус кривошипа

ε

м/c

Коэффицент изменения сечения потока жидкости при переходе от насоса в трубу

mkk

мм

Кинематический коэффициент

а1

м/c

Кинематический коэффицент

φ

м

Коэффицент отношения площадей

**ш

м

Удлинение штанг от веса столба жидкости

мм

Диаметр штанги

Pmin

Н

Минимальная нагрузка

μ

м

Интервал между статическим и динамическим режимами


 

2.2 Выбор модели базы данных

 

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

Рисунок 7 -  Таблица MySql - PhpMyAdmin

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

В версии MySQL 5.5 поддерживается 9 различных типов таблиц.

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

MyISAM - движок таблиц MySQL используемый в основном в Web-приложениях, хранилищах данных и других программных средах. Данный тип таблиц поддерживается всеми инсталляциями MySQL.

Memory - хранит данные в оперативной памяти для очень быстрого доступа. Также известен как HEAP (куча).

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

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

Federated - предоставляет возможность объединять различные MySQL сервера для создания одной логической базы данных из нескольких физических машин. Идеально подойдет для архитектур, которые поддерживают распределенное хранение данных.

CSV - хранит пользовательские данные в текстовых файлах разделяя значения запятыми. Используется если необходим простой обмен с приложениями, которые умеют экспортировать/импортировать данные из CSV формата.

Blackhole - принимает, но не возвращает никаких данных. Результатами любых запросов из таких хранилищ будут пустые выборки.

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

 

2.3 Описание функциональной схемы

 

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

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

,      (1)

После нахождения параметра Коши можно определить максимальные и минимальную нагрузку Муравьёва:

  ,   (2)

 ,         (3)

Дальше определяем нагрузки по формулам А.С.Вирновского:

, (4)

Используем более упрощённые А.Н.Адониным формулы А.С.Вирновского:

,   (5)

,   (6)

Для получения итогового результата нам необходимо определить максимальную нагрузку на основе динамической теории по формуле И.А.Чарного:

,   (7)

,    (8)

И наконец вычисляем максимальную нагрузку на основе динамической теории по эмпирической формуле А.Н.Адонина:

, (9)

 

2.4 Проектирование

 

2.4.1 Разработка структуры базы данных

 

В базе данных под названием neft хранятся 9 таблиц под название «Formula_n» относящиеся непосредственно к формулам с помощью которых необходимо вычислить максимальные и минимальные нагрузки.

На сайте есть маленькое регистрационное поле и поле для авторизации, данные о зарегестрированных хранятся в таблице «Users».

Рисунок 8 - Таблица users

Рисунок 9 - Таблица Formula

 

2.4.2 Разработка подсистемы наполнения базы данных

 

Были использованы следующие операторы:

Условный (if else).

Оператор вывода (echo).

echo "<h4><font color='black'>Делить на 0 нельзя!</h4></font>".

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

Метод POST позволяет посылать на сервер данные в запросе клиента. Эти данные направляются в программу обработки данных, к которой сервер имеет доступ (например, в CGI-сценарий). Метод POST может использоваться во многих приложениях. Например, его можно применять для передачи входных данных для:

  • сетевых служб (таких как телеконференции);
  • программ с интерфейсом в виде командной строки;
  • аннотирования документов на сервере;
  • выполнения операций в базах данных.

Данные, посылаемые на сервер, находятся в теле содержимого запроса клиента. По завершении обработки запроса POST и заголовков сервер передает тело содержимого в программу, заданную URL. В качестве схемы кодирования с методом POST используется URL-кодирование, которое позволяет преобразовывать данные форм в список переменных и значений для CGI-обработки.

Для внесения данных в бд был использован SQL-запрос  Insert Into:

$query_result = mysqli_query($link,"INSERT INTO `results`(I_D) VALUES ('$I_D')"), где

$link – это подключение к серверу, mysqli_query – функция для выполнения  SQL-запросов.

 

2.4.3 Разработка подсистемы формирования отчетов

 

SELECT("селект") — оператор DML языка SQL, возвращающий набор данных (выборку) из базы данных, удовлетворяющих заданному условию. В большинстве случаев, выборка осуществляется из одной или нескольких таблиц. В последнем случае говорят об операции слияния (англ. join). В тех СУБД, где реализованы представления и хранимые процедуры, также возможно получение соответствующих наборов данных.

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

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

Особую роль играет обработка NULL-значений, когда при слиянии, например, двух таблиц — главной (англ. master) и подчинённой (англ. detail) — имеются или отсутствуют соответствия между записями таблиц, участвующих в слиянии. Для решения этой задачи используются механизмы внутреннего (англ. inner) и внешнего (англ. outer) слияния.

Для проведении выборки из базы данных были использованы SQL-запросы:

  • Select*From <таблица> – все данные из базы;
  • Select <поля> From <таблица> - только нужные поля из таблицы.

Для вывода из базы данных была использована функция для работы с массивом mysqli_fetch_array(<переменная>), обрабатывающий результат запроса, с использованием цикла.

 

2.4.4 Разработка интерфейса пользователя

 

Весь интерфейс программы был разработан в ручную при помощи CSS. Блоки <div></div> при помощи которых был создан фундамент сайта, также на них помещены все вычисления, меню и прочие объекты:

<div class="content">

</div>

.content{

width:600px;

margin-top:25px;

margin-left:25px;

background:#DEB887;

padding-top:20px;

padding-left:20px;

border:ridge;;

border-radius:10px;

border-width:7px;

font-size:22px;

margin-bottom:20px;}

При помощи CSS были размещены кнопки <input type=”submit”>, была разработана форма для регистрации:

Рисунок 10 – Форма регистрации

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

<div class="spoil">

<div class="smallfont"><input class="input-button" onclick="if                      (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Свернуть'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Развернуть'; }" type="button" value="Вычисление" />

Рисунок 11 – Неактивное состояние формы

 

Рисунок 12 – Активное состояние формы

2.5 Тестирование

 

2.5.1 Описание контрольного примера

 

Ниже описаны формулы и данные взятые из учебника:

Рассчёт параметра Коши:

Угловая скорость вращения кривошипа ω = 1,26с

Длина колонны L = 1870м

Скорость звука в штангах a = 4900м/с

,     (10)

Максимальная нагрузка по статической теории И.М.Муравьёва:

Вес штанг в воздухе Pш = 12490м

Вес столба жидкости Pж = 47449Н

Коэффицент облегчения штанг в жидкоксти b = 0,880Н/м

Фактор динамичности m = 0,260м/c

,    (11)

Определение максимальной нагрузки по формуле А.С.Вирновского:

Вес столба жидкости Pж =12490 Н

Вес колонны штанг в жидкости P’ш = 42135м

Кинематический коэффициент α1 = 1,10м/c

Диаметр плунжера D = 0,032Н

Угловая скорость вращения кривошипа ω = 1,26с

Длина хода точки подвеса штанг SA = 2,5м

Вес штанг в воздухе Pш = 47449м

Коэффициент изменения сечения потока жидкости при переходе от насоса в трубы ε = 0,3м/c

Вес столба жидкости в кольцевом пространстве P’ж = 8020Н

Кинематический коэффициент a1 = 0,9м/c

Коэффициент отношения площадей φ = 0,737м

Удлинение штанг от веса столба жидкости **ш = 0,362м

Интервал между статическим и динамическим режимами dш = 0,0198мм

,  (12)

Определение минимальной нагрузки по формуле А.С.Вирновского:

Вес колонны штанг в жидкости P’ш = 42135м

Кинематический коэффициент α2 = 1,10м/c

Диаметр плунжера D = 0,032Н

Угловая скорость вращения кривошипа ω = 1,26с

Длина хода точки подвеса штанг SA = 2,5м

Вес штанг в воздухе Pш = 47449м

Кинематический коэффициент a2 = 0,9м/c

Коэффициент отношения площадей φ = 0,737м

Удлинение штанг от веса столба жидкости **ш = 0,362м

Интервал между статическим и динамическим режимами dш = 0,0198мм

,  (13)

Определение максимальной и минимальной нагрузки на основе динамической теории поформуле И.А.Чарного:

Вес столба жидкости над плунжером Pж = 12490H

Вес штанг в воздухе Pш = 47449м

Длина хода точки подвеса штанг SA = 2,5м

Интервал между статическим и динамическим режимами μ = 0,480м

,   (14)

,   (15)

Используем более упрощённую А.Н.Адониным по определению максимальной нагрузки формулу  А.С.Вирновского:

Вес столба жидкости Pж =12490 Н

Вес колонны штанг в жидкости P’ш = 42135м

Диаметр плунжера D = 0,032Н

Длина хода точки подвеса штанг SA = 2,5м

Коэффициент отношения площадей φ = 0,737м

Удлинение штанг от веса столба жидкости **ш = 0,362м

Интервал между статическим и динамическим режимами dш = 0,0198мм

, (16)

Используем более упрощённую А.Н.Адониным по определению минимальной нагрузки формулу А.С.Вирновского:

Вес колонны штанг в жидкости P’ш = 42135м

Диаметр плунжера D = 0,032Н

Длина хода точки подвеса штанг SA = 2,5м

Информация о работе Разработка приложения по расчёту нагрузок на головку балансира станка-качалки