Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЗ УСИП.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
3 Мб
Скачать
☆

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 – Новый цикл обработки