- •Программное обеспечение.
- •1. Разработать систему логико-командного циклового управления токарным станком-автоматом
- •1. Словесное описание работы системы циклового управления
- •2. Определение состава датчиков контроля работы системы
- •3. Определение состава сигналов управления исполнительными устройствами и логических функций для сигналов управления
- •4. Порядок решения задачи
- •5. Доработка базового варианта на соответствие требований дополнительных параметров задания
- •3. Разработать программу числового программного управления обработки корпусной детали на станке с чпу
- •1. Ввод геометрии обрабатываемых контуров
- •Формирование операций обработки
- •Определение исходных данных для управляющей программы
- •2. Определение заготовки
- •3. Определение операций обработки
- •Моделирование обработки
- •Библиографический список
- •Разработка системы управления станком-автоматом и управляющей программы станка с чпу»
- •Методические указания
- •390000, Г. Рязань, ул. Право-Лыбедская, 26/53
4. Порядок решения задачи
-
Необходимо создать основную форму управления основными датчиками станка DISP1 (рисунок 1). Использовать элементы «Кнопка с двумя состояниями» в качестве датчиков, элементы «Текстовая строка» для формирования подписей, «Индикатор» или «Графический примитив» , для формирования индикаторов.
Для формирования надписи «Обработка/Возврат в исходное», изменяющейся в зависимости от стадии работы станка, используйте элемент «Вывод текста по условию» . После двойного клика по элементу выполните его настройку, как показано на рисунке 2. Выделите курсором строку «0» или «1» в поле «Входное значение Текст». Текст, выводимый в зависимости от условия «1» или «0» вводите в поле «Текст» кнопкой «Ввод». Для каждого текста выполните настройку цвета с помощью списков «Цвет» и «Цвет фона».
Рисунок 1 – Форма отображения и управления работой станка
Рисунок 2 – Настройка надписи
-
Создать задачу управления TASK1, установив в поле TASK1 редактора задач блоки «ТЭГ», «DO» и «Basic Script» (рис.3), не соединяя их стрелками. При этом тэги будут автоматически пронумерованы от 1 до 11.
-
Добавить в таблицу виртуальных тегов (окно TASK, меню «Настройка», команда «Добавить/Удалить виртуальные теги», кнопка «Добавить») основные виртуальные тэги, отвечающие за хранение управляющих сигналов: A1, A2, B1, B2, D, P, R1, R2, S1, S2 и тэг SOSTOY для элемента памяти (использовать только латинские буквы).
-
Блоки «ТЭГ» необходимо связать с виртуальными тэгами сигналов, для чего двойным кликом по тэгу нужно открыть окно настройки тэга, выбрать в списке «Форма/Виртуальный тэг» - VIRTASK, а в списке «Имя тэга» - соответствующее имя управляющего сигнала, нажать ОК. После этого тэгам будут присвоены имена управляющих сигналов.
-
Соединить тэги стрелками, как показано на рисунке 2.
Рисунок 4 – Окончательный вид окна задачи TASK по управлению станком
-
Настроить блоки DO: двойным кликом открыть окно настройки блока и в списке «Устройство» выбрать «Advantech DEMO I/O=1H».
-
Индикаторы на форме отображения связать с соответствующими блоками «DO» или «ТЭГ»: двойным кликом по индикатору открыть окно его настройки, нажать кнопку «Выбор». В открывшемся окне «Связь» (рис.5) в списке «Задача/Форма/Виртуальный тэг» выбрать TASK1, а в списке «Имя тэга» - соответствующий тэг DO. По желанию можно выполнить настройку цвета индикатора в состоянии ВКЛ и ВЫКЛ.
Рисунок 5 – Настройка индикатора
-
Связать элемент «Вывод текста по условию», отображающий стадию работы станка – «Обработка» или «Возврат в исходное», с тэгом SOSTOY.
-
Ввести в блок «SCR1» сценарий программы, формирующей управляющие сигналы от состояния кнопок – датчиков на форме.
-
Проверить и исправить в командах программы номера кнопок BBTN таким образом, чтобы номера кнопок на форме DISP, имитирующие работу датчиков, соответствовали нужным переменным в программе. Для этого необходимо двойным кликом открыть каждую кнопку и просмотреть ее номер (рисунок 6).
Рисунок 6 – Контроль номера кнопки (BBTN…)
-
Переключая датчики в нужном порядке, проверить работу базового варианта системы.
-
Сохраните созданный файл под своим оригинальным именем
-
Нажмите кнопку «Старт» в меню «Запуск» (рис.7)
Рисунок 7 – Запуск задачи
-
Выключите все кнопки – имитаторы датчиков (если какие-то кнопки оказались включенными) и включите кнопки a1, b1, r1, s1 – исходное состояние станка
Рисунок 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 = с учетом дополнительных параметров и ввести новые команды для дополнительных параметров
-
Проверить работу системы и сделать необходимые скриншоты.
Текст программы, помещаемой в блок 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