- •Содержание
- •Содержание курсовой работы
- •Программное обеспечение
- •Задание 1. Разработка системы логико-командного циклового управления токарным станком-автоматом понятие о логико-командном управлении
- •Разработка системы управления для базового варианта задания
- •Словесное описание работы системы циклового управления
- •Определение состава датчиков контроля работы системы
- •Определение состава сигналов управления исполнительными устройствами и логических функций для сигналов управления
- •Порядок разработки системы управления
- •Доработка базового варианта на соответствие требований дополнительных параметров задания
- •Реализация аварийных параметров
- •Реализация управляющих параметров
- •Задание 2. Разработка программы числового программного управления обработки корпусной детали на станке с чпу
- •Основные подходы при разработке управляющих программ
- •Понятие эквидистанты
- •Обработка наружного контура
- •Обработка кармана
- •Этапы разработки управляющей программы и варианты заданий
- •Ввод геометрии детали Ввод геометрии обрабатываемых контуров с помощью команд cad-подсистемы
- •Ввод геометрии обработки на основе 3d-модели
- •Формирование операций обработки
- •Определение исходных данных для управляющей программы
- •Определение заготовки
- •Определение операций обработки
- •Моделирование обработки
- •Формирование текста управляющей программы (nc-код):
- •Библиографический список
- •Разработка системы управления станком-автоматом и управляющей программы станка с чпу»
- •Методические указания
- •390000, Г. Рязань, ул. Право-Лыбедская, 26/53
Порядок разработки системы управления
Необходимо создать основную форму управления основными датчиками станка DISP1 (рис.1). Использовать элементы «Кнопка с двумя состояниями» в качестве датчиков, элементы «Текстовая строка» для формирования подписей, «Индикатор» или «Графический примитив» , для формирования индикаторов.
Для формирования надписи «Обработка/Возврат в исходное», изменяющейся в зависимости от стадии работы станка, используйте элемент «Вывод текста по условию» . После двойного клика по элементу выполните его настройку, как показано на рисунке 2. Выделите курсором строку «0» или «1» в поле «Входное значение Текст». Текст, выводимый в зависимости от условия «1» или «0» вводите в поле «Текст» кнопкой «Ввод». Для каждого текста выполните настройку цвета с помощью списков «Цвет» и «Цвет фона».
Рисунок 1 – Форма отображения и управления работой станка
Рисунок 2 – Настройка надписи
Создать задачу управления TASK1, установив в поле TASK1 редактора задач блоки «ТЭГ», «DO» и «Basic Script» (рис.3), не соединяя их стрелками. При этом блоки «ТЭГ», «DO» будут автоматически пронумерованы, имена блокам «ТЭГ» присваиваются на шаге 3).
Добавить в таблицу виртуальных тегов (окно TASK, меню «Настройка», команда «Добавить/Удалить виртуальные теги», кнопка «Добавить») основные виртуальные тэги, отвечающие за хранение управляющих сигналов: A1, A2, B1, B2, D, P, R1, R2, S1, S2 и тэг SOSTOY для элемента памяти (использовать только латинские буквы).
Блоки «ТЭГ» необходимо связать с виртуальными тэгами сигналов, для чего двойным кликом по тэгу нужно открыть окно настройки тэга, выбрать в списке «Форма/Виртуальный тэг» - VIRTASK, а в списке «Имя тэга» - соответствующее имя управляющего сигнала, нажать ОК. После этого тэгам будут присвоены имена управляющих сигналов.
Соединить тэги стрелками, как показано на рисунке 3.
Рисунок 3 – Окончательный вид окна задачи TASK по управлению станком
Настроить блоки DO: двойным кликом открыть окно настройки блока и в списке «Устройство» выбрать «Advantech DEMO I/O=1H».
Каждый индикатор должен загораться в зависимости от состояния соответствующего управляющего сигнала. Поэтому индикаторы на форме отображения нужно связать с соответствующими блоками «DO»: двойным кликом по индикатору открыть окно его настройки, нажать кнопку «Выбор». В открывшемся окне «Связь» (рис.4) в списке «Задача/Форма/Виртуальный тэг» выбрать TASK1, а в списке «Имя тэга» - соответствующий тэг DO (связь сигналов A1, A2, B1, B2, D, P, R1, R2, S1, S2 с соответствующими блоками DO показана на рисунке 3 стрелками). Подтвердить свой выбор кнопками ОК в окнах «Связь» и «Элемент отображения: Индикатор».
По желанию можно выполнить настройку цвета индикатора в состоянии ВКЛ и ВЫКЛ.
Рисунок 4 – Настройка индикатора
Связать элемент «Вывод текста по условию», отображающий стадию работы станка – «Обработка» или «Возврат в исходное», с тэгом SOSTOY.
Ввести в блок «SCR1» текст программы, формирующей значения управляющих сигналов в зависимости от состояния кнопок – датчиков на форме.
Текст программы, помещаемой в блок Basic Script (для базового варианта):
Sub SCR1()
Dim sost as Tag 'Объявление тэговой переменной sost для определения состояния станка
set sost = GetTag("VIRTASK","SOSTOY") 'Инициализация тэговой переменной для определения состояния станка
Dim bsost As Boolean 'Объявление булевой переменной bsost для хранения состояния станка
'Объявление булевых переменных для хранения состояний датчиков и выполнения над ними логических вычислений
Dim a1 As Boolean
Dim a2 As Boolean
Dim b1 As Boolean
Dim b2 As Boolean
Dim s1 As Boolean
Dim s2 As Boolean
Dim p As Boolean
Dim d As Boolean
Dim r1 As Boolean
Dim r2 As Boolean
' Присвоение булевым переменным значений тэговых переменных
a1 = GetTag("DISP1","BBTN1").Value
a2 = GetTag("DISP1","BBTN2").Value
b1 = GetTag("DISP1","BBTN3").Value
b2 = GetTag("DISP1","BBTN4").Value
s1 = GetTag("DISP1","BBTN5").Value
s2 = GetTag("DISP1","BBTN6").Value
r1 = GetTag("DISP1","BBTN9").Value
r2 = GetTag("DISP1","BBTN10").Value
p = GetTag("DISP1","BBTN7").Value
d = GetTag("DISP1","BBTN8").Value
' Определение состояний станка - обработка и возврат в исходное
If s2 Then
sost = 0
End If
If (a1 And b1 And s1 And r1 And Not p) Then
sost = 1
End If
bsost = sost
' Расчет значений логических функций и запись управляющих сигналов в виртуальные тэги
GetTag("VIRTASK", "A1").Value = b1 And Not p And Not d And s1 And r1 And Not a2
GetTag("VIRTASK", "A2").Value = b2 And p And s1 And Not d And r1 And Not a1
GetTag("VIRTASK", "B1").Value = a2 And Not p And Not d And s1 And r1 And Not b2
GetTag("VIRTASK", "B2").Value = s1 And Not d And r1 And Not bsost And Not b1
GetTag("VIRTASK", "S1").Value = d And b2 And r2 And p And bsost
GetTag("VIRTASK", "S2").Value = Not d And r1 And b2 And p And Not s1 And Not bsost
GetTag("VIRTASK", "P").Value = (b2 And bsost) or (Not bsost And Not b1)
GetTag("VIRTASK", "D").Value = (a1 And b2 And p And bsost) or (s2 And b2 And Not r1 And Not bsost)
GetTag("VIRTASK", "R1").Value = d And b2 And s1 And Not r2
GetTag("VIRTASK", "R2").Value = s2 And b2 And Not r1 And Not bsost
End Sub
Проверить и исправить в командах программы номера кнопок BBTN таким образом, чтобы номера кнопок на форме DISP, имитирующие работу датчиков, соответствовали нужным переменным в программе. Для этого необходимо двойным кликом открыть каждую кнопку и просмотреть ее номер (рис.5).
Рисунок 5 – Контроль номера кнопки (BBTN…)
Переключая датчики в нужном порядке, проверить работу базового варианта системы.
Сохраните созданный файл под своим оригинальным именем.
Нажмите кнопку «Старт» в меню «Запуск» (рис.6).
Рисунок 6 – Запуск задачи
Выключите все кнопки – имитаторы датчиков (если какие-то кнопки оказались включенными) и включите кнопки a1, b1, r1, s1 – исходное состояние станка (рис.7).
Рисунок 7 – Исходное состояние системы – горит «Вынос детали» (сигнал A1)
Отключите «a1» и включите «a2» - автооператор выполнил вынос детали. Гаснет индикатор «Вынос детали» и загорается «Подвод бабки» (рис.8).
Рисунок 8 – Подвод задней бабки
Отключите «b1» и включите «b2» - выполнен подвод задней бабки. Гаснет индикатор «Подвод бабки» и загорается «Зажим патрона» (рис.9).
Рисунок 9 – Зажим патрона
Включите «p» - патрон зажат. Продолжает гореть индикатор «Зажим патрона» и загорается «Отвод автооператора» (рис.10).
Рисунок 10 – Отвод автооператора
Отключите «a2» и включите «a1» - автооператор вернулся в исходное состояние. Гаснет индикатор «Отвод автооператора» и загорается «Вкл двигателя» (рис.11).
Рисунок 11 – Включение двигателя
Включите «d» - двигатель включен. Загорается «Подвод резца» (рис.12).
Рисунок 12 – Подвод резца
Отключите «r1» и включите «r2» - резцедержатель перемещается из исходного положения в рабочее. Гаснет индикатор «Подвод резца» и загорается «Суппорт вперед» – осуществляется рабочее перемещение суппорта и обточка заготовки (рис.13).
Рисунок 13 – Рабочее перемещение суппорта
Отключите «s1» и включите «s2» - суппорт переместился из исходного положения в конечное. Обработка закончена. Вместо надписи «Обработка» загорается «Возврат в исходное», гаснут индикаторы «Вкл двигателя», «Суппорт вперед», загорается «Отвод резца» (рис.14).
Рисунок 14 – Обработка закончена, отключение двигателя, перемещения суппорта, включения механизма отвода резца
Отключите «d», отключите «r2» и включите «r1» - резец отведен. Гаснет индикатор «Отвод резца», загорается «Отвод суппорта» (рис.15).
Рисунок 15 – Отвод суппорта
Отключите «s2», и включите «s1» - суппорт отведен. Гаснет индикатор «Отвод суппорта», загорается «Отвод бабки» (рис.16).
Рисунок 16 – Отвод задней бабки
Отключите «b2», и включите «b1» - задняя бабка отведена. Гаснут индикаторы «Отвод бабки» и «Зажим патрона» (рис.17).
Рисунок 17 – Задняя бабка отведена
Отключите «p». Цикл обработки заготовки закончен. Начинается новый цикл. Надпись «Возврат в исходное» меняется на «Обработка», загорается индикатор «Вынос детали» (рис.18).
Рисунок 18 – Новый цикл обработки
Дополнить форму DISP1 дополнительными датчиками (по заданию), для чего в форму необходимо добавить дополнительные кнопки, имитирующие датчики, движковые регуляторы – для датчиков аварийных параметров, индикаторы, показывающие состояние механизмов и срабатывание аварийных датчиков.
Добавить в список виртуальных тегов новые теги, соответствующие дополнительным исполнительным устройствам и аварийным параметрам (по заданию).
Добавить в задачу TASK1 дополнительные блоки «ТЭГ» и «DO» в соответствии с дополнительными параметрами по заданию.
Отредактировать программу в блоке «SCR1», добавив туда:
дополнительные команды Dim … As Boolean для дополнительных датчиков;
дополнительные команды … = GetTag("DISP1","BBTN….").Value для присвоения логическим переменным значений сигналов с дополнительных датчиков;
исправить логические команды, определяющие значение переменной sost с учетом дополнительных параметров;
исправить команды GetTag("VIRTASK", "…").Value = с учетом дополнительных параметров и ввести новые команды для дополнительных параметров.
Проверить работу системы и сделать необходимые скриншоты.