Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Министерство образования и науки Российской Федерации
Автоматизация технологической
подготовки производства
Электронный курс
для студентов всех форм обучения
(Лекция № 3)
Разработал:
Галкин Михаил Геннадьевич
Доцент кафедры
«Технология машиностроения»
Екатеринбург, 2017
1
Автоматизация технологической подготовки производства
(Галкин М.Г)
ПРИМЕР АВТОМАТИЗАЦИИ АЛГОРИТМА РЕШЕНИЯ
ТЕХНОЛОГИЧЕСКОЙ ЗАДАЧИ С ИСПОЛЬЗОВАНИЕМ
СРЕДЫ ПРОГРАММИРОВАНИЯ VBA
ЦЕЛЬ ЛЕКЦИИ
Знакомство слушателей с практическим применением среды
программирования VBA для решения типовой технологической
задачи.
ВОПРОСЫ, РАССМАТРИВАЕМЫЕ НА ЗАНЯТИИ
1. Постановка задачи;
2. Разработка заготовки окна диалога;
3. Наполнение окна диалога экранными формами;
4. Запись расчётной процедуры в текстовом редакторе VBA;
4. Запись процедуры для построения графика в редакторе VBA;
5. Прикрепление процедур к кнопкам окна диалога.
2
Автоматизация технологической подготовки производства
(Галкин М.Г)
В качестве технологической задачи рассмотрим разработку
методики расчёта основного времени обработки при точении to и
влияние на него длины обрабатываемой поверхности.
Формула для расчёта будет иметь следующий вид:
to
L
n s
,
(1)
где L – длина обрабатываемой поверхности (мм);
s – подача режущего инструмента (мм/об).
Для решения зависимости (1) нужно определить частоту
вращения шпинделя станка n, используя следующую формулу:
n
1000 v
d
,
(2)
3
Автоматизация технологической подготовки производства
(Галкин М.Г)
где v – скорость резания (м/мин);
d – диаметр обрабатываемой поверхности (мм).
Для того, чтобы решить уравнение (2) нужно определить скорость
резания v. Для её определения воспользуемся следующей формулой:
v
Cv K m K p K v
Tc
m t x s y
,
(3)
где Cv, Km, Kp, Kv - коэффициенты из справочника технолога;
Tc – стойкость режущего инструмента (мин);
t – глубина резания (мм).
Показатели степени m, x, y, также принимаются из справочника.
Для решения задачи необходимо создать объект в виде модели
диалогового окна. Далее написать управляющие процедуры в виде
программ для выполнения инженерного расчёта исследуемого
параметра to и отображения результатов вычислительного процесса в
модели окна диалога, а также в ячейках рабочего листа "Лист1".
На заключительном этапе нужно получить графическую зависимость,
4
Автоматизация технологической подготовки производства
(Галкин М.Г)
показывающую влияние изменяемого технологического параметра в
виде длины обработки поверхности L на исследуемую величину to в
виде основного времени обработки.
На первом шаге создадим заготовку окна диалога, по алгоритму
рассмотренному на предыдущей лекции. Для решения этой задачи
прежде всего нужно определиться с количеством исходных данных,
которые будут присутствовать в окне диалога. Проведя анализ
формул (1), (2) и (3) можно зафиксировать, что таких параметров
будет одиннадцать. Это s, d, Cv, Km, Kp, Kv, Tc, tr, m, x, y. Кроме этого
изменяемый параметр L будет содержать три значения – начальное,
конечное и шаг варьирования. Следовательно, количество текстовых
полей в заготовке окна диалога должно быть равно четырнадцати.
Дополнительно поместим в окно диалога список для отображения
результатов расчётного алгоритма, две кнопки “Пуск” и “График”
для запуска двух вычислительных процедур и 14 надписей для
пояснения к данным, которые находятся в текстовых полях.
5
Автоматизация технологической подготовки производства
(Галкин М.Г)
Исходя из сформулированных требований к вычислительному
алгоритму, заготовка диалогового окна должна иметь следующий вид
Рис.1. Заготовка стандартного диалогового окна
Создайте заготовку такого вида в пакете Ms Excel используя
алгоритм, рассмотренный в предыдущей лекции.
6
которые помещены
в созданную заготовку окна диалога, участвовать
Автоматизация технологической подготовки производства
(Галкин М.Г)
в вычислительных операциях для решения поставленной задачи.
Для реализации этой цели перейдите к созданию процедур в виде
программ, для приведения в действие, помещённых в заготовку окна
диалога данных экранных форм. Вспомните процесс запуска
текстового редактора VBA. Создайте все вычислительные процедуры
в одном и том же модуле Module1.
Первая процедура должна отобразить окно диалога на первом
листе пакета Ms Excel. Алгоритм её создания был рассмотрен на
предыдущей лекции. Используйте его для решения данной задачи.
Вторая процедура осуществляет расчёт и далее отображение его
результатов в ячейках рабочего листа при помощи объекта Cells(i,j) и
в окне диалога при помощи экранной формы ListBoxes(1), которая
носит название списка. Присвоим этой процедуре имя “puck”.
Создайте данную процедуру в том же модуле, расположив её сразу
после первой процедуры.
Внимание! Предложения, написанные в примере процедуры
подчёркнутым шрифтом, в создаваемой вами программе писать
не нужно. Они даны для пояснения работы этой программы.
7
Автоматизация технологической подготовки производства
(Галкин М.Г)
В первой части процедуры “puck” осуществляется передача
исходных данных из текстовых полей окна диалога (рис.1) в
соответствующие переменные программного кода.
Sub puck()
-> начало процедуры
With DialogSheets("Диалог1") -> начало оператора With
S = Val(.EditBoxes(1).Text)
-> передача первого параметра
d = Val(.EditBoxes(2).Text)
cv = Val(.EditBoxes(3).Text)
Km = Val(.EditBoxes(4).Text)
Kp = Val(.EditBoxes(5).Text)
Kv= Val(.EditBoxes(6).Text)
Tc = Val(.EditBoxes(7).Text)
tr = Val(.EditBoxes(8).Text)
m = Val(.EditBoxes(9).Text
x = Val(.EditBoxes(10).Text
y = Val(.EditBoxes(11).Text)
L1 = Val(.EditBoxes(12).Text)
L2 = Val(.EditBoxes(13).Text)
dL = Val(.EditBoxes(14).Text)
-> передача последнего параметра
8
Автоматизация технологической подготовки производства
(Галкин М.Г)
Продолжение процедуры “puck”
После передачи исходных данных в соответствующие переменные,
нужно подготовить программу для осуществления вычислительного
процесса. Для реализации этих действий продолжение процедуры
должно иметь следующий вид.
i = 3 -> присвоение счётчику строк в листе третьего номера
j1 = 3 -> присвоение счётчику столбцов в листе третьего номера
k = 4 -> присвоение счётчику столбцов в листе четвёртого номера
Cells(1, 1) = ("Результат ") -> в ячейку (1,1) производится запись текста
Range("c2:f50").Select -> выделение диапазона ячеек c2:f50
Selection.ClearContents -> очистка выделенного диапазона ячеек
Range("a1"). Select
-> переход курсора в ячейку “a1 “
.ListBoxes(1).RemoveAllItems -> очистка списка от предыдущих записей
9
Автоматизация технологической подготовки производства
(Галкин М.Г)
Продолжение процедуры “puck”
После подготовки программы для осуществления вычислительного
процесса на следующем шаге необходимо начать программирование
вычислительных действий, которые должны осуществляться в цикле
при помощи оператора цикла For … Next. Данная часть программы
должна иметь следующий вид.
For Li = L1 To L2 Step dL -> начало выполнения оператора цикла
vi = (cv * km * kv * kp) / (tr ^ x * Tc ^ m * s ^ y) -> расчёт скорости резания
ni = (1000 * vi) / (3.1415 * d) -> расчёт частоты вращения шпинделя
t0 = Li / (ni * s0)
-> расчёт основного времени обработки
.ListBoxes(1).AddItem t0 -> печать результата расчёта в список
i=i+1
-> увеличение счётчика строк на единицу
Cells(i, j1) = Li
-> печать в ячейки рабочего листа изменяемого параметра
Cells(i, k) = t0
-> печать в ячейки рабочего листа основного времени
Next Li
-> конец оператора цикла по текущей переменной Li
End With
-> конец оператора With
End Sub
-> конец процедуры
После завершения написания процедуры “puck” её необходимо
10
Автоматизация технологической подготовки производства
(Галкин М.Г)
прицепить для последующего запуска в кнопке “Пуск”, находящейся
в заготовке окна диалога (рис.1). Для этого необходимо в заготовке
окна диалога, щёлкнуть по кнопке “Пуск” правой клавишей и
открыть тем самым контекстное меню, где далее выбрать команду
“Назначить макрос”. Из появившегося списка имён процедур
выбрать имя процедуры “puck” и подтвердить выбор кнопкой “ок”.
После того, как процедура оказалась подключённой к этой кнопке
для её запуска достаточно нажать данную кнопку в предварительно
открытом окна диалога на первом листе пакета Ms Excel.
После завершения работы этой
программы в списке окна диалога и в
указанных ячейках рабочего листа
должен появиться результат расчёта,
который представлен на правой
иллюстрации. По этим полученным
данным на следующем шаге нужно
построить графическую зависимость.
11
Автоматизация технологической подготовки производства
(Галкин М.Г)
Для создания графической зависимости автоматизированном
режиме по полученным данным в необходимо создать процедуру в
том же самом модуле, в котором созданы две предыдущие. Данная
процедура должна иметь содержание следующего вида.
Sub graf ()
Charts.Add
ActiveChart.ChartType = xLXYScatterSmoothNoMarkers
ActiveChart.SetSourceData Source:=Sheets("Лист1").Range("A1")
ActiveChart.SeriesCoLLection.NewSeries
ActiveChart.SeriesCollection(1).XValues = "=Лист1!R3C3:R50C3"
ActiveChart.SeriesCollection(1).Values = "=Лист1!R3C4:R50C4"
ActiveChart.Location Where:=xLLocationAsObject, Name:="Лист1"
End Sub
Для запуска этой процедуры на выполнение её необходимо
подцепить у кнопке “График”, которая располагается в заготовке
окна диалога (рис.1) по описанному алгоритму для кнопки “Пуск”.
После выполнения процедуры “graf” на листе “Лист1” должен
появиться график, описывающий зависимость основного времени
обработки to от длины обрабатываемой поверхности L. Итог работы
12
Автоматизация технологической подготовки производства
(Галкин М.Г)
этого алгоритма представлен на рис. 2.
Рис.2. Графическая зависимость to от длины обработки L
После освоения трёх лекций необходимо начать знакомство с
курсом практических занятий, направленных на выполнение
расчётной работы. Варианты для реализации этой работы нужно
получить у преподавателя и представить на проверку полностью
законченный вариант в электронном виде.
13
Автоматизация технологической подготовки производства
(Галкин М.Г)
СПИСОК ЛИТЕРАТУРЫ
1. Гарнаев А. Ю. VBA. – СПб.: БХВ-Петербург, 2005. – 848 с.: ил.
2. Михеев Р. Н. VBA и программирование в MS Office для
пользователей. – СПб.: БХВ-Петербург, 2006. – 384 с.: ил.
3. Комягин В. Б. Программирование в Excel на языке Visual Basic.
– М.: Радио и связь, 1996. – 320 с.: ил.
4. Саймон, Джинжер. Программирование в Excel: наглядный
курс создания интерактивных электронных таблиц.: Пер. с англ. –
М.: Издательский дом “Вильямс”, 2002. – 336 с.: ил.
14
Автоматизация технологической подготовки производства
(Галкин М.Г)
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Сколько параметров присутствует в формуле по определению
скорости резания в данной задаче ?
2. Какую роль выполняет первая процедура ?
3. Какую роль во второй процедуре ”puck” выполняет оператор
For … Next ?
4. Какой командой подключается процедура к кнопке ?
5. На каком листе будет отображаться графическая зависимость в
данной задаче ?
15