- •Содержание
- •1. Разработка системы логико-командного циклового управления токарным станком-автоматом
- •1.1 Описание работы токарного станка-автомата
- •1.2 Программа управления работой станка-автомата
- •2. Разработка программы числового программного управления обработки корпусной детали на станке с чпу
- •2.1 Текст управляющей программы (nc-код)
- •Список используемой литературы
1.2 Программа управления работой станка-автомата
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
Dim M1 As Boolean
Dim M2 As Boolean
Dim Z1 As Boolean
Dim Z2 As Boolean
Dim ADAV 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","BBTN9").Value
s2 = GetTag("DISP1","BBTN10").Value
r1 = GetTag("DISP1","BBTN7").Value
r2 = GetTag("DISP1","BBTN8").Value
p = GetTag("DISP1","SPIN1").Value > 2.5
d = GetTag("DISP1","BBTN6").Value
M1 = GetTag("DISP1","BBTN11").Value
M2 = GetTag("DISP1","BBTN12").Value
Z1 = GetTag("DISP1","BBTN13").Value
Z2 = GetTag("DISP1","BBTN14").Value
ADAV = GetTag("DISP1","SPIN2").Value < 2
' Определение состояний станка - обработка и возврат в исходное
If s2 or adav or (d And Not Z1) Then
sost = 0
End If
If (a1 And b1 And s1 And r1 And Not p And Z1 And M1) 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 And Z2 And M1
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 And Z2 And M1
GetTag("VIRTASK", "B2").Value = s1 And Not d And r1 And Not bsost And Not b1 And Z1 And M2
GetTag("VIRTASK", "S1").Value = d And b2 And r2 And p And bsost And Z1 And M1
GetTag("VIRTASK", "S2").Value = Not d And r1 And b2 And p And Not s1 And Not bsost And Z1 And M2
GetTag("VIRTASK", "P").Value = (b2 And bsost) or (Not bsost And Not b1)
GetTag("VIRTASK", "D").Value = (a1 And b2 And p And bsost And Z1 And M1) or (s2 And b2 And Not r1 And Not bsost And Z1 And M1)
GetTag("VIRTASK", "R1").Value = d And b2 And s1 And Not r2 And Z1 And M1
GetTag("VIRTASK", "R2").Value = s2 And b2 And Not r1 And Not bsost And Z1 And M1
GetTag("VIRTASK", "M1").Value = s2 And b2 And r1 And Not bsost And Z1 And Not M2 And p
GetTag("VIRTASK", "M2").Value=s1 And Not d And r1 And Not bsost And b1 And Z1 And Not M1 And Not p
GetTag("VIRTASK", "Z1").Value =b1 And Not p And Not d And s1 And r1 And a1 And M1 And Not Z2
GetTag("VIRTASK", "Z2").Value =b2 And p And Not d And s1 And r1 And a1 And M1 And Not Z1
GetTag("VIRTASK", "ADAV").Value = adav
GetTag("VIRTASK", "AZAG").Value = Not Z1 And d
End Sub
На рисунках 2-17 показан процесс работы системы управления станком-автоматом:
Рисунок 2 – Исходное состояние системы – горит «Открытие заграждения»
Рисунок 3 – Вынос детали
Рисунок 4 – Подвод задней бабки
Рисунок 5 – Зажим патрона
Рисунок 6 – Отвод автооператора
Рисунок 7 – Закрытие заграждения
Рисунок 8 – Включение двигателя
Рисунок 9 – Подвод резца
Рисунок 10 – Рабочее перемещение суппорта
Рисунок 11 – Обработка закончена, отключение двигателя, включение механизма отвода резца
Рисунок 12 – Отвод суппорта
Рисунок 13 – Отвод задней бабки
Рисунок 14 – Разжим патрона
Рисунок 15 – Отвод манипулятора
Рисунок 16 – Новый цикл обработки
