Разработка программного модуля

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 10.09.2019
Размер файла 4,5 M

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

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

Размещено на http://www.allbest.ru/

Введение

Целью данной курсовой работы является разработка программного модуля, позволяющего построение механизма и воспроизведение его движения, начиная с заданного начального положения, построение диаграммы перемещения, скорости и ускорения выходного звена. Проект необходимо выполнить в программе Microsoft Office Excel, используя язык программирования - Visual Basic for Application.

1. Постановка задачи

1.1 Математическая модель задачи

Структурная схема механизма представлена на Рисунке 1.1

Рисунок 1.1 - Структурная схема механизма

Определение количества звеньев и кинематических пар:

1 - Кривошип - вращательное движение.

2 - Кривошип - вращательное движение.

3 - Шатун - плоскопараллельное движение.

4 - Ползун - поступательное движение.

5 - Ползун - поступательное движение.

1 - входное звено, 5 - выходное звено.

Определение числа кинематических пар.

В данном механизме 7 кинематических пар:

O1(0;1) - вращательная

O2(0;2) - вращательная

А (1;3) - вращательная

В (2;3) - вращательная

С (4;5) - поступательное движение

C' (4;5) - поступательное движение

D(5;0) - поступательное движение

Определяем число степеней свободы данного механизма:

где k - количество подвижных звеньев, входящих в состав механизма;

- соответственно количество одноподвижных и двухподвижных кинематических пар;

В данном механизме k =5, =7, =0 (так как нет двухподвижных кинематических пар).

Структурные группы механизма:

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

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

Рисунок 1.2 - Кривошип 1

Рисунок 1.3 -Диада (1,3)

Рисунок 1.4-Диада(4,5)

Исходные данные

Построение математической модели механизма:

Длина кривошипа = 75мм;

Длина кривошипа = 75мм;

Длина шатуна = 187.5 мм;

Длина кривошипа = 75 мм;

Расстояние до кулисы = 187.5 мм;

Расстояние до кулисы = 75 мм;

Расстояние до точки D = 187.5 мм ;

Рисунок 1.5 - Расчетная схема для определения координат

Определение координаты точки А:

,

Определение координаты точки O2:

=YO1.

Определение координаты точки B:

Из параллелограмма O1ABO2 т.к. AO1=BO2=AB=O2B тогда :

=,

.

Определение координаты точки C:

,

.

Определение координаты точки D :

+2.5*=const,

кинематический программный механизм

1.2 Входные данные

1. длина кривошипа;

2. начальный угол поворота кривошипа.

Требования к входным данным:

1. предусмотреть проверку на допустимость исходных данных и повторение ввода при ошибочных данных;

2. ввод исходных данных осуществлять в соответствующие поля ввода пользовательской формы;

3. ограничения на значения входных данных:

длина кривошипа должна быть только положительным числом;

длина кривошипа и начальный угол поворота кривошипа должны быть только цифрами.

1.3 Выходные данные

1. длины звеньев механизма;

2. диаграммы перемещения, скорости и ускорения выходного звена механизма;

3. анимация движения механизма.

Требования к выходным данным:

1. длины звеньев механизма выводятся на пользовательскую форму;

2. ко всем выходным данным должен быть запрещен доступ со стороны пользователя;

3. анимация движения выводится на лист Excel.

1.4 Обработка ошибок

В проекте курсовой работы при вводе входных данных могут возникать сообщения такие как:

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

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

Рисунок 1.6 - Сообщение об ошибке некорректного ввода

2.Разработка программного модуля

2.1 Разработка структурной схемы программного модуля

кинематический программный механизм

Рисунок 2.1 - Структурная схема программного модуля

На структурной диаграмме представленной на рисунке 2.1 используются след элементы управления:

Userform_initialize() - процедура начальной инициализации пользовательской формы. Этот модуль используется для установки заголовков пользовательской формы и элементов управления, установки фокуса в поле ввода, задания начальных значений и пр.

Compare _Click() - процедура, срабатывающая при нажатии кнопки «Рассчитать длину» и выполняющая заданные вычисления.

Run_Click() - процедура, срабатывающая при нажатии кнопки «Механизм» и выполняющая построение механизма на листе Excel.

BuildDiagram_Click() - процедура, срабатывающая при нажатии кнопки «Построить диаграммы» и выполняющая построение диаграммы на форме.

Cancel_Click()- процедура, срабатывающая при нажатии кнопки «Выход» для закрытия приложения.

Clock(PauseTime) - функция, реализующая задержку механизма на листе Excel.

Frame - элемент управления, отображает группу заданных объектов (текстовых блоков) и создаёт визуальное оформление.

Image - элемент управления, отвечает за добавление на поверхность формы изображения.

2.2 Разработка программного модуля и ее описание

Схема алгоритма процедуры Compare_click() - «Расчет» представлена на рисунке 2.2.

Рисунок 2.2 - Блок-схема для кнопки «Расчет»

Блок 1 - ввод исходных данных в текстовые поля формы.

Блок 2 - вызов процедуры проверки данных.

Блок 3 - присвоение переменной значения из полученного результата.

Блок 4 - проверка введенных данных: если данные неверны, то выполняются блок 5 и выход из процедуры, иначе - выполняются блоки 6,7.

Блок 6 - вызов процедуры расчета данных.

Блок 7 - вывод результата расчета в текстовое поле.

Схема алгоритма процедуры Clear_click() - «Очистка» представлена на рисунке 2.3.

Рисунок 2.3 - Блок-схема для кнопки «Очистка»

Блок 1 - удаление выделенных объектов с рабочего листа.

Блок 2 - удаление изображений с пользовательской формы.

Блок 3 - удаление текста с пользовательской формы.

Схема алгоритма процедуры Cancel_click() - «Выход» представлена на рисунке 2.4.

Рисунок 2.4 - Блок-схема для кнопки «Выход»

Блок 1 - выполнение операции по закрытию пользовательской формы

Схема алгоритма процедуры Run_click() - «Механизм» представлена на рисунке 2.5.

Рисунок 2.5 - Блок-схема для кнопки «Механизм»

Блок 1 - ввод исходных данных в текстовые поля формы.

Блок 2 - вызов процедуры проверки данных.

Блок 3 - присвоение переменной значения из полученного результата.

Блок 4 - проверка введенных данных: если данные неверны, то выполняются блок 5 и выход из процедуры, иначе - выполняются блоки 6,11.

Блок 6 - задание угла поворота новой переменной.

Блоки 7-11 - цикл отрисовки механизма.

Блок 8 - удаление выделенных объектов с рабочего листа.

Блок 9 - вызов процедуры расчета данных.

Блок 10 - отрисовка механизма.

Блок 11 - вызов процедуры задержки механизма.

Схема алгоритма функции WriteDataOnList () представлена на рисунке 2.6.

Рисунок 2.6 - Блок-схема для к функции WriteDataOnList

Блок 1 - вывод на лист Excel номер порядка значений перемещения, скорости и ускорения.

Блок 2 - вызов процедуры расчета данных.

Схема алгоритма функции UserForm_Initialize представлена на рисунке 2.7.

Рисунок 2.7 - Блок-схема для к функции UserForm_Initialize

Блок 1 - Задание начальных настроек для объектов: изображения,рамки

Схема алгоритма процедуры BuildDiagram_click() - «Построить диаграммы» представлена на рисунке 2.8.

Рисунок 2.8. - Блок-схема для кнопки «Построить диаграммы»

Блок 1 - ввод исходных данных в текстовые поля формы.

Блок 2 - вызов процедуры проверки данных.

Блок 3 - присвоение переменной значения из полученного результата.

Блок 4 - проверка введенных данных: если данные неверны, то выполняются блок 5 и выход из процедуры, иначе - выполняются блоки 6,11.

Блок 6 - задание угла поворота новой переменной.

Блоки 7-11 - цикл построения диаграмм.

Блок 8 - вызов функции вычисление значений для диаграмм.

Блок 9 - выполнение расчетов.

Блок 10 - вызов функции построения диаграмм.

Блок 11 - удаление выделенных объектов с рабочего листа.

Схема алгоритма функции DrawGraphic представлена на рисунке 2.9.

Рисунок 2.9. - Блок-схема функции DrawGraphics

Блок 1 - присвоение переменной количества строк

Блок 2 - вызов функции построения диаграмм перемещения.

Блок 3 - вызов функции построения диаграмм скорости.

Блок 4 - вызов функции построения диаграмм ускорения.

Блок 5 - вывод изображений на пользовательскую форму.

Схема алгоритма функции CheckInputData представлена на рисунке 2.10.

Рисунок 2.10 - Блок-схема функции CheckInputData.

Блок 1 - ввод исходных данных в текстовые поля формы.

Блок 2 - проверка введенных данных на допустимость: если данные верны, то выполняются блоки 4-10, иначе - выполняется блок 3 и выход из процедуры.

Блок 4 - проверка введенных данных на допустимость: если данные верны, то выполняются блоки 5-10, иначе - выполняется блок 6 и выход из процедуры.

Блок 3 - присвоение переменной отрицательного результата.

Блок 5 - присвоение переменной значения из текстового поля.

Блок 6 - присвоение переменной отрицательного результата.

Блок 7 - проверка введенных данных на допустимость: если данные верны, то выполняются блоки 8-10, иначе - выполняется блок 9 и выход из процедуры.

Блок 9 - выполнение расчетов угла.

Блок 10 - присвоение переменной положительного результата.

Схема алгоритма функции Diagram представлена на рисунке 2.11.

Рисунок 2.11 - Блок-схема функции Diagram.

Блок 1 - присвоение переменной значения из текстового поля.

Блок 2 - выполнение расчетов.

Блок 3 - вывод изображения в память компьютера.

Схема алгоритма функции Recompare представлена на рисунке 2.12.

Рисунок 2.12 - Блок-схема функции Recompare.

Блок 1 - присвоение переменной значения из текстового поля.

Блок 2 - выполнение расчетов.

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

Рисунок 3 - Пользовательская форма

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

Label1 - надпись, которая предназначена для отображения текста «Длина кривошипа».

Label2 - надпись, которая предназначена для отображения текста «Начальный угол».

TextBox1 - текстовое поле, которое предназначено для ввода длины кривошипа.

TextBox2 - текстовое поле, которое предназначено для ввода начального угла.

TextBox3 - текстовое поле, которое предназначено для вывода длины шатуна .

TextBox4 - текстовое поле, которое предназначено для вывода межосевого расстояния .

TextBox5 - текстовое поле, которое предназначено для вывода длины кулисы X1.

TextBox6 - текстовое поле, которое предназначено для вывода расстояния до точки O2 LO1O2.

TextBox7 - текстовое поле, которое предназначено для вывода кулисы X2.

TextBox8 - текстовое поле, которое предназначено для вывода расстояния LAC.

Compare - кнопка, предназначенная для расчета длин , ,, X1, X2 LO1O2 и вывода их в текстовые поля.

Run - кнопка, которая предназначена для отображения анимации механизма на рабочем листе.

Cancel - кнопка выхода из формы.

Clear - кнопка, которая предназначена для очистки пользовательской формы.

BuildDiagram - кнопка, которая предназначена для рисования графиков скорости, перемещения и ускорения.

Image1 - элемент управления, который предназначен для отображения изображения графика перемещения.

Image2 - элемент управления, который предназначен для отображения изображения графика скорости.

Image3 - элемент управления, который предназначен для отображения изображения графика ускорения.

3. Реализация программного модуля

3.1 Код программы

Const Pi = 3.14159265358979

Dim xo1, yo1, xo2, yo2, xA, yA, xB, yB, xC, yC, xD, yD As Double

Dim x1, x2, O1A, O2B, AB, CD, O1O2, AC, value As Double

Private Sub CommandButton2_Click()

kovalev2.Hide

End Sub

Private Sub UserForm_Initialize()

Image1.PictureAlignment = fmPictureAlignmentTopLeft

Image1.PictureSizeMode = fmPictureSizeModeStretch

Image2.PictureAlignment = fmPictureAlignmentTopLeft

Image2.PictureSizeMode = fmPictureSizeModeStretch

Image3.PictureAlignment = fmPictureAlignmentTopLeft

Image3.PictureSizeMode = fmPictureSizeModeStretch

Frame.Visible = False

End Sub

Private Sub CommandButton3_Click()

If Not IsNumeric(LO1A.Text) Then

MsgBox "Длина кривошипа должна быть числом, vbOKOnly, "Повторите ввод..."

TextBox1 = ""

TextBox1.SetFocus

Exit Sub

End If

If LO1A <= 0 Then

MsgBox "Длина кривошипа должна быть больше 0", vbOKOnly, "Повторите ввод..."

TextBox1 = ""

TextBox1.SetFocus

Exit Sub

End If

If Not IsNumeric(fi1.Text) Then

MsgBox "Значение угла должно быть числом", vbOKOnly, "Повторите ввод..."

TextBox2 = ""

TextBox2.SetFocus

Exit Sub

End If

O1A = CInt(LO1A.Text)

f1 = CInt(fi1.Text) * Pi / 180 + Pi / 2

xo1 = 300: yo1 = 300

AB = O1A: O2B = O1A: x1 = 1.5 * O1A: x2 = O1A: O1O2 = O1A: AC = 1.5 * O1A

For fi = 0 + f1 To f1 + 2 * Pi Step Pi / 60

xA = xo1 - O1A * Cos(fi)

yA = yo1 - O1A * Sin(fi)

xo2 = xo1 + x2

yo2 = y01 + 300

xB = xA + x2

yB = yA

xC = xA - AC

yC = yA

xD = xo1 - 1.5 * O1A - O1A

yD = yA - x1

yd2 = yA + x1

ActiveSheet.Shapes.AddShape(msoShapeIsoscelesTriangle, xo1 - 5, yo1, 10, 10).Line.ForeColor.RGB = RGB(0, 0, 0)

ActiveSheet.Shapes.AddShape(msoShapeIsoscelesTriangle, xo2 - 5, yo2, 10, 10).Line.ForeColor.RGB = RGB(0, 0, 0)

ActiveSheet.Shapes.AddShape(msoShapeRectangle, xC - 10, yC - 5, 20, 10).Line.ForeColor.RGB = RGB(0, 0, 0)

ActiveSheet.Shapes.AddLine(xo1, yo1, xA, yA).Line.ForeColor.RGB = RGB(0, 0, 250)

ActiveSheet.Shapes.AddLine(xA, yA, xB, yB).Line.ForeColor.RGB = RGB(0, 0, 250)

ActiveSheet.Shapes.AddLine(xB, yB, xo2, yo2).Line.ForeColor.RGB = RGB(0, 0, 250)

ActiveSheet.Shapes.AddLine(xA, yA, xC, yC).Line.ForeColor.RGB = RGB(0, 0, 250)

ActiveSheet.Shapes.AddLine(xo1, yo1, xo2, yo2).Line.ForeColor.RGB = RGB(0, 0, 250)

ActiveSheet.Shapes.AddLine(xD, yD, xD, yd2).Line.ForeColor.RGB = RGB(0, 0, 250)

ActiveSheet.Shapes.AddLine(xD, yC, xD + 1.5 * x1, yC).Line.ForeColor.RGB = RGB(0, 0, 250)

ActiveSheet.Shapes.AddShape(msoShapeOval, xA - 3, yA - 3, 6, 6).Line.ForeColor.RGB = RGB(0, 0, 0)

ActiveSheet.Shapes.AddShape(msoShapeOval, xB - 3, yB - 3, 6, 6).Line.ForeColor.RGB = RGB(0, 0, 0)

ActiveSheet.Shapes.AddShape(msoShapeOval, xC - 3, yC - 3, 6, 6).Line.ForeColor.RGB = RGB(0, 0, 0)

ActiveSheet.Shapes.AddShape(msoShapeOval, xo1 - 3, yo1 - 3, 6, 6).Line.ForeColor.RGB = RGB(0, 0, 0)

ActiveSheet.Shapes.AddShape(msoShapeOval, xo2 - 3, yo2 - 3, 6, 6).Line.ForeColor.RGB = RGB(0, 0, 0)

Clock 0.01

ActiveSheet.Shapes.SelectAll

Selection.Delete

Next fi

End Sub

Sub Clock(PauseTime)

Start = Timer

Do While Timer < Start + PauseTime

DoEvents

Loop

End Sub

Private Sub BuildDiagram_Click()

Dim fi As Double, L As Double

Dim input_text As Boolean

Dim iter As Integer

return_value = CheckInputData(LO1A.Text, fi1.Text, L, fi)

If (return_value = False) Then

MsgBox "ошибка исходных данных", vbCritical, "сообщение о ошибке"

Exit Sub

End If

angle = fi

For iter = 1 To 13

Call WriteDataOnList(angle, L, iter)

angle = angle + Pi / 6

Next iter

Call DrawGraphics

ActiveSheet.Shapes.SelectAll

Selection.Delete

End Sub

Function CheckInputData(ByVal L_text As String, ByVal fi1_text As String, _

ByRef L As Double, ByRef fi As Double)

If (IsNumeric(L_text)) Then

If (CDbl(L_text) > 0) Then

L = CDbl(L_text)

Else

CheackInputData = False

Exit Function

End If

Else

CheackInputData = False

Exit Function

End If

If (IsNumeric(f1_text)) Then

fi = CDbl(fi1_text) * Pi / 180

Else

CheackInputData = False

Exit Function

End If

CheckInputData = True

End Function

Sub WriteDataOnList(ByVal angle As Double, ByVal L As Double, ByVal iterator As Integer)

Worksheets(2).range("A" & iterator) = iterator - 1

Worksheets(2).range("B" & iterator) = Recompare(angle, L)

Worksheets(2).range("C" & iterator) = iterator - 1

Worksheets(2).range("D" & iterator) = (Recompare(angle + 0.000001, L) - Recompare(angle - 0.000001, L)) / 0.000001

Worksheets(2).range("E" & iterator) = iterator - 1

Worksheets(2).range("F" & iterator) = (Recompare(angle + 0.001, L) - 2 * Recompare(angle, L) + Recompare(angle - 0.001, L)) / 0.001 ^ 2

End Sub

Function Recompare(ByVal angle As Double, ByVal L_value As Double)

O1A = L_value

xo1 = 0: yo1 = 0

AB = O1A: O2B = O1A: x1 = 2.5 * O1A: x2 = O1A: O1O2 = O1A: AC = 1.5 * O1A

xA = O1A * Cos(angle) + 300

yA = O1A * Sin(angle) + 300

xo2 = xo1 + x2

yo2 = y01 + 300

xB = xA + x2

yB = yA

xC = xA - AC

yC = yA

xD = xo1 - 1.5 * O1A - O1A

yD = yA - x1

yd2 = yA + x1

Recompare = yD

End Function

Sub DrawGraphics()

Const count_cell = 13

Image1.Picture = LoadPicture(Diagram("A1:B" & count_cell, "Перемещение"))

Image2.Picture = LoadPicture(Diagram("C1:D" & count_cell, "Скорость"))

Image3.Picture = LoadPicture(Diagram("E1:F" & count_cell, "Ускорение"))

End Sub

Function Diagram(o, name)

cells_range = o

range(cells_range).Select

Charts.Add

ActiveChart.ChartType = xlXYScatterLinesNoMarkers

ActiveChart.SetSourceData Source:=Sheets("Лист2").range(cells_range)

ActiveChart.Location Where:=xlLocationAsObject, name:="Лист2"

ActiveChart.SeriesCollection(1).Smooth = True

ActiveChart.Legend.Delete

ActiveChart.ChartWizard , , , , , , , Title:=name

ActiveChart.Export ActiveWorkbook.Path & "\ss.gif"

Worksheets(2).ChartObjects.Delete

Worksheets(2).range(cells_range) = ""

Worksheets(2).Cells(1, 1).Select

Diagram = ActiveWorkbook.Path & "\ss.gif"

End Function

Private Sub Compare_Click()

Dim fi As Double, L As Double

Dim input_text As Boolean

return_value = CheckInputData(LO1A.Text, fi1.Text, L, fi)

If (return_value = False) Then

MsgBox "Ошибка исходных данных", vbCritical, "Сообщение о ошибкке

Exit Sub

End If

Call Recompare(fi, L)

Text1 = "AB:" & AB

Text2 = "O2B:" & O2B

Text3 = "x1:" & x1

Text4 = "O1O2:" & O1O2

Text5 = "x2:" & x2

Text6 = "AC:" & AC

Frame.Visible = True

End Sub

Private Sub Clear_Click()

Cells.Clear

ActiveSheet.Shapes.SelectAll

Selection.Delete

Image1.Picture = LoadPicture("")

Image2.Picture = LoadPicture("")

Image3.Picture = LoadPicture("")

Text1.Text = ""

Text2.Text = ""

Text3.Text = ""

Text4.Text = ""

Text5.Text = ""

Text6.Text = ""

End Sub

3.2 Описание используемых операторов и функций

Переменные объявляются следующим образом:

Dim <Имя переменной> [As Тип]

Типы переменных:

Double - число с плавающей запятой двойной точности;

Integer - целое число, размер которого не гарантируется.

Оператор цикла For позволяет повторять группу операторов заданное

число раз. Синтаксис:

For<счётчик цикла>=<начало>TO <конец>[step<шаг>]

<тело цикла>

[Exit For]

Next [<счетчик_цикла>]

Здесь <счетчик_цикла> - это числовая переменная. В начале выполнения цикла она принимает значение, задаваемое числом выражением <начало>. Числовое выражение <конец> - задает заключительное выражение счетчика цикла. Числовое выражение <шаг> не обязательно и по умолчанию равно 1.

<Тело цикла> - это последовательность операторов, которая будет выполнена заданное количество раз. Это условие проверяется перед началом выполнения цикла, а затем после каждого прибавления шага к счетчику цикла в операторе Next. Если оно выполнено, управление передается на оператор следующий за Next, нет - выполняются операторы из тела цикла. Завершить цикл For…Next можно и с помощью оператора Exit For. Такие операторы могут быть расположены в тех местах тела цикла, где требуется из него выйти, не дожидаясь выполнения условия завершения. Параметр типа As тип позволяет явно задать тип данных, который возвращает функция. Если он опущен, то по умолчанию возвращается значение типа Variant. Внутри функции имеется инструкция имя = выражение, которая используется для задания возвращаемого значения.

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

[Private Public] Function <имя функции> ([<список параметров>])

<операторы>

[Exit Function]

< операторы >

End Function

Public - ключевое слово, указывающее на то, что функция доступна

во всех модулях проекта. Эта область действия функции принята по умолчанию, поэтому использовать ключевое слово Public при объявлении функции не обязательно.

<имя функции> - Имя функции, которое удовлетворяет всем правилам создания идентификатора в VBA

([<список параметров>]) - это список параметров, значения которых передаются в функцию или возвращаются из функции.

Разделителем в списке формальных параметров является запятая.

<операторы> - группа инструкций, выполняемых в функции.

[Exit Function] - оператор, приводящий к немедленному выходу из функции.

Оператор ветвления if позволяет выбирать и выполнять действия в зависимости от истинности некоторого условия. Имеется два варианта синтаксиса:

Однострочная форма записи условного оператора:

IF <условие> Then <операторы 1> Else <операторы 2>

Здесь условие обязательно в обоих вариантах. Оно может быть числовым или строковым выражением со значениями TRUE или FALSE.Если условие истинно (TRUE), выполняется последовательность “операторы 1”, если ложно, “операторы 2”.

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

Синтаксис: IsNumeric(условие)

<операторы> - группа инструкций, выполняемых в процедуре.

Математические операции, которые использовались в данной программе:

- математическая операция произведение;

/ - математическая операция деление;

+ - математическая операция сложение;

- - математическая операция вычитание;

^ - математическая операция возведение в степень.

Математические встроенные функции:

Sqr(x) - математическая функция, вычисляющая квадратный корень числового выражения;

Sin(x) - математическая функция, вычисляющая синус угла от значения параметра, заданного в радианах;

Cos(x) - математическая функция, вычисляющая тангенс указанного в радианах угла;

Tan(x) - математическая функция, вычисляющая синус угла от значения параметра, заданного в радианах;

Acos(x) - математическая функция, вычисляющая арккосинус от значения параметра.

Asin(x) - математическая функция, вычисляющая арксинус от значения параметра.

4. Тестирование программного модуля

кинематический программный механизм

При запуске программы нужно ввести: длину кривошипа = 75 в первое текстовое поле и угол ц1= 55 во второе текстовое поле (рисунок 4.1). После этого нажимаем на кнопку «Расчет», чтобы рассчитать длины звеньев. Результаты появятся в следующих текстовых полях (рисунок 4.2). Нажимая на кнопку «Механизм» получим анимацию движения механизма на листе Excel (рисунок 4.3). Нажимая на кнопку «Построение диаграмм» получаем соответствующие графики (рисунок 4.4). Нажимая кнопку «Очистка», получим очистку всех данных на пользовательской форме и механизма на листе Exсel (рисунок 4.5). Нажимая кнопку «Выход», совершим выход из пользовательской формы.

Рисунок 4.1 - Данные для ввода

Рисунок 4.2 -Расчётные данные

Рисунок 4.3 - Механизм во время выполнения программы

Рисунок 4.4 - Построение диаграмм на пользовательской форме

Рисунок 4.5 - Пользовательская форма при нажатии кнопки «Очистка»

Заключение

кинематический программный механизм

В данной курсовой работе был построен механизм, воспроизведено его движение и построены диаграммы перемещения, скорости и ускорения выходного звена. Проект выполнен в программе Microsoft Office Excel, используя язык программирования Visual Basic for Application.

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

1.В Хорев П. Б. Объектно-ориентированное программирование : учеб. пособие / П. Б. Хорев. - 4-е изд., стер. - М. : Академия, 2012. - 448с;

2.Нагина Е.К., Ищенко В.А. Visual Basic for Applications. Практика: Учебно-методическое пособие по информатике для вузов. - Воронеж: Изд-во ВГУ, 2015. - 88 с;

3.Теория механизмов, машин и манипуляторов: учебное пособие / Л.А. Борисенко. Минск: Новое знание; 2011.-285 с. илл;

4.Пономарева О. А., Шебан Т. Л., «Информатика» Методические рекомендации по курсовому проектированию дневной и заочной формы обучения, БРУ, Могилев - 2017г.

Размещено на Allbest.ru

...

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

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