- •Программное обеспечение.
- •1. Разработать систему логико-командного циклового управления токарным станком-автоматом
- •1. Словесное описание работы системы циклового управления
- •2. Определение состава датчиков контроля работы системы
- •3. Определение состава сигналов управления исполнительными устройствами и логических функций для сигналов управления
- •4. Порядок решения задачи
- •5. Доработка базового варианта на соответствие требований дополнительных параметров задания
- •3. Разработать программу числового программного управления обработки корпусной детали на станке с чпу
- •1. Ввод геометрии обрабатываемых контуров
- •Формирование операций обработки
- •Определение исходных данных для управляющей программы
- •2. Определение заготовки
- •3. Определение операций обработки
- •Моделирование обработки
- •Библиографический список
- •Разработка системы управления станком-автоматом и управляющей программы станка с чпу»
- •Методические указания
- •390000, Г. Рязань, ул. Право-Лыбедская, 26/53
5. Доработка базового варианта на соответствие требований дополнительных параметров задания
В зависимости от варианта задания предлагается реализовать в системе управления учет четырех дополнительных параметров – двух аварийных и двух управляющих. Номера параметров указаны в таблицах 2 и 3.
Таблица 2 – Дополнительные аварийные параметры, подлежащие контролю
№ варианта |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
№ доп. параметров |
1,3 |
1,4 |
1,5 |
1,6 |
2,3 |
2,4 |
2,5 |
2,6 |
3,4 |
3,5 |
3,6 |
1,2 |
4,5 |
5,6 |
4,6 |
Таблица 3 – Дополнительные управляющие параметры, подлежащие контролю
№ варианта |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
№ доп. параметров |
1,3 |
1,4 |
1,5 |
1,6 |
2,3 |
2,4 |
2,5 |
2,6 |
3,4 |
3,5 |
3,6 |
1,2 |
4,5 |
5,6 |
4,6 |
Примечание. Номер варианта задания определяется по номеру компьютера, за которым студент работает в лаборатории.
Аварийные параметры:
-
температура в зоне резания выше допустимой
-
мощность резания выше допустимой
-
отказ подачи СОЖ в процессе резания
-
открытие заграждения в процессе обработки (заграждение закрывается перед началом обработки вручную)
-
падение давления в гидравлической системе
-
усилие зажима заготовки ниже нормы (отказ устройства зажима)
Управляющие параметры:
-
включение подачи СОЖ и отключение после окончания обработки
-
включение механизма уборки стружки и его отключение после окончания обработки
-
открыть заграждение для загрузки заготовки (перед выносом заготовки автооператором) и закрыть после загрузки заготовки и ее зажима в патроне и отвода автооператора
-
подвести манипулятор для захвата готовой детали после обработки и отвести его после захвата обработанной заготовки и ее разжима в патроне
-
зажим заготовки с контролем усилия зажима
-
перед подводом резца включить механизм смены инструмента и выключить его после срабатывания датчика, контролирующего факт замены инструмента
Реализация аварийных параметров
Любой аварийный параметр должен приводить к прекращению обработки и остановке работы станка. Следовательно, это еще один дополнительный сигнал, по которому переменная sost, отвечающая за стадию работы станка («обработка» или «возврат в исходное»), должна обращаться в «0». Пусть аварийными параметрами будут:
- появление в зоне обработки руки человека (если, допустим, станок оснащен датчиком, фиксирующим появление в зоне обработки руки человека – фотоэлектрическим, или оптическим) – датчик ruka;
- повышение напряжения питания ниже допустимого значения – датчик napr. В качестве аварийного примем повышение напряжения сети выше 260В.
Введем в таблицу виртуальных тэгов новые тэги RUKA и NAPR, в задачу TASK1 – блоки ТЭГ, которые свяжем с виртуальными тэгами из таблицы VIRTASK.
В форму отображения DISP1 добавим имитаторы датчиков – кнопку ruka и движковый регулятор napr , два аварийных индикатора , которые должны загораться при возникновении аварийных ситуаций, выполним с помощью текстовой строки необходимые подписи.
Просмотрим, как новые датчики обозначаются в системе GENIE, для чего двойным кликом по элементу откроем панель его настройки. Датчик ruka будет иметь обозначение BBTN11 (т.к. это одиннадцатый элемент «Кнопка с двумя состояниями»), датчик napr будет иметь обозначение SPIN1 (т.к. это первый элемент «Движковый регулятор» в форме DISP1).
Свяжем аварийные индикаторы каждый со своим блоком ТЭГ из задачи TASK1.
Перейдем к формированию программы в блоке Basic script.
1. Добавим в программу:
две команды объявления булевых переменных для аварийных датчиков
Dim ruka As Boolean
Dim napr As Boolean
две команды присвоения булевым переменным значений сигналов с аварийных датчиков
ruka = GetTag("DISP1","BBTN11").Value
napr = GetTag("DISP1","SPIN1").Value > 260
2. Исправим команду, обнуляющую переменную sost :
If (s2 or ruka or napr) Then
sost = 0
End If
3. Добавим две команды, которые будут управлять зажиганием аварийных индикаторов при срабатывании датчиков:
GetTag("VIRTASK", "RUKA").Value = ruka
GetTag("VIRTASK", "NAPR").Value = napr
Реализация управляющих параметров
Для реализации дополнительных управляющих параметров, прежде всего, необходимо определить, с какого момента он начинает работать и когда должен закончить. Пусть необходимо ввести управление некоторым механизмом, который должен начать работу сразу после отвода автооператора, а закончить работу – после отвода суппорта. Работа механизма управляется одним сигналом M и контролируется одним датчиком m, значит, этот сигнал формируется аналогично сигналам D и Р. Откорректируем таблицу состояний (табл. 4):
Таблица 4 – Таблица состояний системы с учетом дополнительного механизма
|
a1 |
a2 |
b1 |
b2 |
s1 |
s2 |
r1 |
r2 |
p |
d |
m |
1. Исходное состояние |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
2. Вынос детали |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
||||||||||
3. Подвод бабки |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
||||||||||
4. Зажим патрона |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
|||||||||||
5. Отвод автооператора |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
||||||||||
6. Включение механизма |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
|||||||||||
7. Включение двигателя |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
|||||||||||
8. Подвод резца |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
||||||||||
9. Движение суппорта |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
||||||||||
10. Отвод резца |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
||||||||||
11. Выключение двигателя |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
|||||||||||
12. Отвод суппорта |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
||||||||||
13. Отключение механизма |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
|||||||||||
14. Отвод бабки |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
||||||||||
15. Разжим патрона |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
Изменения таблицы свелись к появлению двух дополнительных строк, соответствующих моментам включения и отключения механизма, и одного столбца – состояние датчика m. Появление нового датчика приведет к тому, что во всех логических функциях ранее сформированных управляющих сигналов теперь необходимо учесть новый аргумент – m в прямом (если «1») или инверсном (если «0») состояниях.
Сформируем логическую функцию сигнала M. Работа механизма приходится на стадию «обработка» и стадию «возврат в исходное», значит, ее нужно разбить на две фазы. Первая фаза – строки 6, 7, 8, 9, причем строка 9 – последняя для стадии «обработка», значит, связав через логическое «И» сигналы с датчиков и сигнал bsost, получим логическое выражение для первой фазы. Механизмы, которые не изменяют своего состояния на протяжении первой фазы – автооператор, задняя бабка и патрон. Вторая фаза приходится на строки 10, 11, 12. Механизмы, не изменяющие своего состояния, здесь те же, однако здесь нужен сигнал окончания фазы. Этот сигнал – s1, который переходит из состояния «0» в «1» в последней 12-й строке.
Таким образом, логическая функция сигнала M принимает вид
M= ().
Введем в таблицу виртуальных тэгов новый тэг M, в задачу TASK1 – блок ТЭГ, которые свяжем с виртуальным тэгом из таблицы VIRTASK, и тэг D0.
В форму отображения DISP1 добавим имитатор датчика m – кнопку , индикатор , который будет загораться при подаче сигнала M, выполним с помощью текстовой строки необходимые подписи.
Исправим текст программы в блоке Basic script. Добавим команды
Dim m As Boolean
m = GetTag("DISP1","BBTN12").Value
GetTag("VIRTASK", "M").Value = (a1 And b2 And p And bsost) or (a1 And b2 And p And Not bsost And Not s1)
Исправим логические выражения остальных команд формирования исполнительных сигналов, добавив туда через операцию And переменную m или Not m.
Рассмотрим реализацию дополнительного управляющего параметра, для которого требуется два сигнала – подвод и отвод. Пусть таким механизмом будет механизм открытия и закрытия заграждения для выгрузки обработанной заготовки на конвейер. Для реализации управления механизмом понадобится два управляющих сигнала – Z1 и Z2, два датчика z1 и z2, фиксирующих положение заграждения. Поскольку после разжима патрона деталь не сразу попадает на конвейер, необходим еще один датчик, фиксирующий, что деталь уже на конвейере k (для вариантов заданий, указанных в таблице 3, третий датчик может не понадобиться).
Открыть заграждение нужно сразу после отвода задней бабки перед разжатием патрона, а закрыть – после срабатывания датчика k.
Построим фрагмент таблицы состояний, описывающий работу механизма.
Таблица 5 – Фрагмент таблицы состояний, описывающий работу механизма управления заграждением
|
a1 |
a2 |
b1 |
b2 |
s1 |
s2 |
r1 |
r2 |
p |
d |
m |
Z1 |
Z2 |
k |
14. Отвод бабки |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
|||||||||||||
15. Открытие заграждения |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
|||||||||||||
15. Разжим патрона |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
||||||||||||||
16. Выгрузка детали |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
||||||||||||||
17. Закрытие заграждения |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
При открытии заграждения в начале отключается датчик z1, а в конце включается датчик z2. Затем следует разжим патрона – отключается датчик p. Затем следует выгрузка детали – при этом система никаких управляющих сигналов не выдает, пока не сработает датчик k. При срабатывании датчика следует закрытие заграждения. При этом в начале отключается датчик z2, а в конце – включается датчик z1. После закрытия заграждения конвейер может начать двигаться и тогда датчик k отключится.
Логические функции для сигналов Z1 и Z2 примут вид:
Z1;
Z2.
Кроме того, необходимо во все логические функции базового варианта задания добавить через логическое «И» сигналы дополнительных датчиков m, z1 (z2) и k в прямом или инверсном (операция «НЕ») виде – в зависимости от состояния датчика «1» или «0».
В задачу таблицу виртуальных тэгов, задачу TASK1 и форму DISP1 необходимо добавить дополнительные элементы – тэги и элементы отображения, настроив их соответствующим образом.
В программу, помимо указанных действий по вводу новых команд и корректировке логических выражений, необходимо также откорректировать логическое выражение для установки в «1» переменной sost.
If (a1 And b1 And s1 And r1 And Not p) Then
sost = 1
End If
Если раньше исходное состояние системы определялось исходным состоянием датчиков a1, b1, s1, r1, p, то теперь в логическое выражение нужно добавить сигналы с датчиков дополнительных механизмов.