Разработка программного модуля
Особенности разработки программного модуля, позволяющего построение механизма и воспроизведение его движения. Рассмотрение способов определения количества звеньев и кинематических пар. Общая характеристика расчетной схемы для определения координат.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 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
...Подобные документы
Структурная диаграмма программного модуля. Разработка схемы программного модуля и пользовательского интерфейса. Реализация программного модуля: код программы; описание использованных операторов и функций. Вид пользовательской формы с заполненной матрицей.
курсовая работа [215,3 K], добавлен 01.09.2010Структурная диаграмма программного модуля. Нахождение суммы элементов, находящихся над главной диагональю. Реализация программного модуля: код программы; описание использованных операторов и функций. Особенности тестирования программного модуля.
курсовая работа [146,6 K], добавлен 01.09.2010Создание программного модуля, выполненного на языке программирования VBA (Visual Basic for Applications) и позволяющего во введенном массиве символов удалить все повторные вхождения этих символов. Разработка пользовательского интерфейса. Код программы.
курсовая работа [317,4 K], добавлен 11.10.2012Разработка программного модуля "органайзер", позволяющего вести телефонную книгу, книгу записей, а так же работать с фильтрами и отчетами по данным. Характеристика используемой ЭВМ, ОС и языка программирования. Описание переменных, процедур и функций.
курсовая работа [1,5 M], добавлен 25.12.2012Особенности разработки и реализации модулей двухмерной и трехмерной визуализации. Основные задачи трехмерного модуля управления. Анализ функций модуля управления ParamColorDrawer. Характерные особенности схемы функционирования программного средства.
реферат [2,2 M], добавлен 07.03.2012Сравнительный анализ технологий тестирования. Разработка программного модуля "Интеллектуальная обучающая система для широкого перечня курсов". Обоснование необходимости и важности этапа отладки в процессе разработки данного программного обеспечения.
дипломная работа [101,2 K], добавлен 17.06.2011Методика разработки программного модуля для нахождения методом хорд корня уравнения x3-x-0,3=0 с точностью до 0,001 на языке программирования Visual Basic for Application. Схема программного модуля и описание процедуры обработки кнопки "Найти корни".
курсовая работа [394,0 K], добавлен 08.09.2010Разработка программного модуля, позволяющего создать с помощью шаблона класса "бинарное дерево" картотеку абонентов, содержащую сведенья о телефонах и их владельцах. Выбор технологии, языка и среды программирования. Выбор стратегии тестирования программы.
курсовая работа [1,1 M], добавлен 11.12.2010Разработка структурной диаграммы программного модуля. Представление схемы для основных расчетов выбранного приложения для создания прямоугольной матрицы. Особенности создания пользовательского интерфейса. Тестирование и отладка спроектированного модуля.
курсовая работа [648,4 K], добавлен 27.05.2015Реализация программного средства "Действия над матрицами". Разработка кода программного продукта на основе готовой спецификации на уровне модуля. Использование инструментальных средств на этапе отладки программного модуля. Выбор стратегии тестирования.
отчет по практике [296,1 K], добавлен 19.04.2015Основы метода Монте-Карло и его применение. Разработка и тестирование программного модуля для ПК BRAND, позволяющего строить двумерные и трехмерные изображения для сложных геометрических объектов для обеспечения контроля за качеством сборки конструкций.
дипломная работа [5,2 M], добавлен 10.10.2015Математическая модель и методика разработки программного модуля для вычисления приближенного значения бесконечной суммы с точностью до Е=0,05, если x принимает значения на отрезке [a,b] с шагом h. Порядок проверки программного модуля на наличие ошибок.
курсовая работа [228,9 K], добавлен 08.09.2010Основные стадии разработки, принципы тестирования и отладка программного модуля "VFS". Особенности проектирования на языке UML. Методы "грубой силы" и их применение при отладке программы. Вредные факторы, присутствующие на рабочем месте программиста.
дипломная работа [827,0 K], добавлен 07.03.2012Разработка структурной схемы и алгоритма функционирования микропроцессорного модуля программного обеспечения автоматизированной информатизационно-измерительной системы. Характеристика принципиальной схемы модуля, распределения памяти и задание портов.
курсовая работа [1,2 M], добавлен 28.08.2012Создание программного модуля для вычисления интеграла по формулам трапеции и Симпсона, определяя шаг интегрирования по оценке остаточного члена. Для разработки используется табличный процессор Excel и язык программирования Visual Basic for Application.
курсовая работа [159,7 K], добавлен 30.08.2010Проектирование программного модуля: сбор исходных материалов; описание входных и выходных данных; выбор программного обеспечения. Описание типов данных и реализация интерфейса программы. Тестирование программного модуля и разработка справочной системы.
курсовая работа [81,7 K], добавлен 18.08.2014Принципы разработки программы для хранения информации о клиентах, которым предоставляются услуги проката автомобилей, а так же для осуществления оперативного поиска необходимой информации. Структура программного модуля. Описание руководства программиста.
курсовая работа [872,3 K], добавлен 10.06.2014Функционально-модульная структура программного обеспечения контроллера домофона. Электронная схема электронного замка, модуля микрофона и динамика. Выбор комбинированного источника питания. Разработка программного модуля. Программа управления домофоном.
курсовая работа [484,7 K], добавлен 29.03.2017Разработка функциональной и структурной схемы программного средства. Реализация основного модуля программы. Реализация модуля печати и модуля обновлений. Изучение взаимодействия информационных технологий, методов их интеграции и обмена данными.
дипломная работа [3,2 M], добавлен 27.10.2017Порядок работы менеджера турфирмы. Анализ рынка программных приложений для ведения туристического бизнеса. Выбор средств проектирования и разработки системы управления баз данных. Разработка, реализация и анализ работы программного модуля, его запуск.
дипломная работа [3,4 M], добавлен 19.07.2015