Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ_КР_УСИП2012.doc
Скачиваний:
6
Добавлен:
23.11.2019
Размер:
4.71 Mб
Скачать

Порядок разработки системы управления

  1. Необходимо создать основную форму управления основными датчиками станка DISP1 (рис.1). Использовать элементы «Кнопка с двумя состояниями» в качестве датчиков, элементы «Текстовая строка» для формирования подписей, «Индикатор» или «Графический примитив» , для формирования индикаторов.

Для формирования надписи «Обработка/Возврат в исходное», изменяющейся в зависимости от стадии работы станка, используйте элемент «Вывод текста по условию» . После двойного клика по элементу выполните его настройку, как показано на рисунке 2. Выделите курсором строку «0» или «1» в поле «Входное значение Текст». Текст, выводимый в зависимости от условия «1» или «0» вводите в поле «Текст» кнопкой «Ввод». Для каждого текста выполните настройку цвета с помощью списков «Цвет» и «Цвет фона».

Рисунок 1 – Форма отображения и управления работой станка

Рисунок 2 – Настройка надписи

  1. Создать задачу управления TASK1, установив в поле TASK1 редактора задач блоки «ТЭГ», «DO» и «Basic Script» (рис.3), не соединяя их стрелками. При этом блоки «ТЭГ», «DO» будут автоматически пронумерованы, имена блокам «ТЭГ» присваиваются на шаге 3).

  2. Добавить в таблицу виртуальных тегов (окно TASK, меню «Настройка», команда «Добавить/Удалить виртуальные теги», кнопка «Добавить») основные виртуальные тэги, отвечающие за хранение управляющих сигналов: A1, A2, B1, B2, D, P, R1, R2, S1, S2 и тэг SOSTOY для элемента памяти (использовать только латинские буквы).

  3. Блоки «ТЭГ» необходимо связать с виртуальными тэгами сигналов, для чего двойным кликом по тэгу нужно открыть окно настройки тэга, выбрать в списке «Форма/Виртуальный тэг» - VIRTASK, а в списке «Имя тэга» - соответствующее имя управляющего сигнала, нажать ОК. После этого тэгам будут присвоены имена управляющих сигналов.

  4. Соединить тэги стрелками, как показано на рисунке 3.

Рисунок 3 – Окончательный вид окна задачи TASK по управлению станком

  1. Настроить блоки DO: двойным кликом открыть окно настройки блока и в списке «Устройство» выбрать «Advantech DEMO I/O=1H».

  2. Каждый индикатор должен загораться в зависимости от состояния соответствующего управляющего сигнала. Поэтому индикаторы на форме отображения нужно связать с соответствующими блоками «DO»: двойным кликом по индикатору открыть окно его настройки, нажать кнопку «Выбор». В открывшемся окне «Связь» (рис.4) в списке «Задача/Форма/Виртуальный тэг» выбрать TASK1, а в списке «Имя тэга» - соответствующий тэг DO (связь сигналов A1, A2, B1, B2, D, P, R1, R2, S1, S2 с соответствующими блоками DO показана на рисунке 3 стрелками). Подтвердить свой выбор кнопками ОК в окнах «Связь» и «Элемент отображения: Индикатор».

По желанию можно выполнить настройку цвета индикатора в состоянии ВКЛ и ВЫКЛ.

Рисунок 4 – Настройка индикатора

  1. Связать элемент «Вывод текста по условию», отображающий стадию работы станка – «Обработка» или «Возврат в исходное», с тэгом SOSTOY.

  2. Ввести в блок «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

  1. Проверить и исправить в командах программы номера кнопок BBTN таким образом, чтобы номера кнопок на форме DISP, имитирующие работу датчиков, соответствовали нужным переменным в программе. Для этого необходимо двойным кликом открыть каждую кнопку и просмотреть ее номер (рис.5).

Рисунок 5 – Контроль номера кнопки (BBTN…)

  1. Переключая датчики в нужном порядке, проверить работу базового варианта системы.

  • Сохраните созданный файл под своим оригинальным именем.

  • Нажмите кнопку «Старт» в меню «Запуск» (рис.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 – Новый цикл обработки

  1. Дополнить форму DISP1 дополнительными датчиками (по заданию), для чего в форму необходимо добавить дополнительные кнопки, имитирующие датчики, движковые регуляторы – для датчиков аварийных параметров, индикаторы, показывающие состояние механизмов и срабатывание аварийных датчиков.

  2. Добавить в список виртуальных тегов новые теги, соответствующие дополнительным исполнительным устройствам и аварийным параметрам (по заданию).

  3. Добавить в задачу TASK1 дополнительные блоки «ТЭГ» и «DO» в соответствии с дополнительными параметрами по заданию.

  4. Отредактировать программу в блоке «SCR1», добавив туда:

  • дополнительные команды DimAs Boolean для дополнительных датчиков;

  • дополнительные команды = GetTag("DISP1","BBTN….").Value для присвоения логическим переменным значений сигналов с дополнительных датчиков;

  • исправить логические команды, определяющие значение переменной sost с учетом дополнительных параметров;

  • исправить команды GetTag("VIRTASK", "…").Value = с учетом дополнительных параметров и ввести новые команды для дополнительных параметров.

  1. Проверить работу системы и сделать необходимые скриншоты.