Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Программирование обслуживания станка DMU 80P



Цель работы: изучить принципы программирования обслуживания станка DMU 80P

Общие сведения

Обслуживание станка происходит по программе «MAIN». При подготовке РТК к работе заготовки устанавливаются на паллеты тактового стола, показанного на рис. 4.1. В цикле работы РТК заготовки автоматически поочередно передаются роботом с тактового стола в рабочую зону станка. Робот устанавливает заготовку в гидравлические тиски SCHUNK KSH-LH plus 250-Z, показанные на рисунке 4.2. Обработанные детали передаются роботом из станка на свободные паллеты тактового стола.

Рис. 4.1. Тактовый стол

Рис. 4.2. Гидравлические тиски SCHUNK KSH-LH plus 250-Z

Для зажима заготовки используются тиски SCHUNK KSH-LH plus 250-Z с гидравлическим приводом. Зажим и разжим осуществляется двойным действием гидравлического цилиндра с постоянным давлением.

Преимущества:

· Компактная конструкция позволяет максимально использовать рабочую область;

· 2 встроенных захвата;

· Высокие усилия зажима для фрезерной обработки;

· Возможность изменять давление в процессе обработки;

· Максимальная жесткость благодаря кинематике клина крюка и длинных направляющих;

· Высокие темпы снятия материала с низким износом инструмента;

· Высококачественная обработка поверхности;

· Высокая точность;

· Широкий выбор стандартных изделий от 64 – 250.

I/O (ввод-вывод)

Сигналы ввода-вывода (I/O) - это электрические сигналы, которые позволяют контроллеру взаимодействовать с роботом, рабочим органом, внешним оборудованием и другим периферийным оборудованием системы. Сигналы подразделяются на две группы: универсальный ввод-вывод и специализированный ввод-вывод.

- Универсальный ввод-вывод

Эта группа включает следующие сигналы:

1. Цифровой ввод-вывод: DI[i]/DO[i]

2. Групповой ввод-вывод: GI[i]/GO[i]

3. Аналоговый ввод-вывод: AI[i]/AO[i]

[i] представляет логический номер каждого сигнала ввода-вывода и сигнала группы.

- Специализированный ввод-вывод

Эта группа включает следующие сигналы:

1. Периферийный ввод-вывод (UOP): UI[i]/UO[i]

2. Ввод-вывод панели оператора системы (SOP): SI[i]/SO[i]

3. Ввод-вывод робота: RI[i]/RO[i]

Цифровой ввод-вывод

Цифровой ввод-вывод (DI/DO) - это группа универсальных сигналов, которые передают или принимают данные периферийного оборудования через печатную плату ввода-вывода процесса (или блок ввода-вывода). Кроме того, он может передавать или принимать данные задающего блока (ЧПУ) канала ввода-вывода. Цифровой сигнал переключается в состояние «включен» или «выключен».

Групповой ввод-вывод

Групповой ввод-вывод (GI/GO) - это группа универсальных сигналов, которые передают или принимают данные, при помощи двух или более сигнальных линий в качестве одной и той же группы.

Значение группового ввода-вывода представлено в десятичном или шестнадцатеричном формате.

При передаче данных значение преобразуется в двоичное число.

Аналоговый ввод-вывод

Сигналы аналогового ввода-вывода (AI/AO) передаются и принимаются от сварочного аппарата дуговой сварки и периферийного оборудования по сигнальным линиям ввода-вывода на печатной плате ввода-вывода процесса (или блоке ввода-вывода).

Аналоговое входное/выходное напряжение преобразуется в цифровой вид, когда выполняется их чтение или запись.

Ввод-вывод робота

Ввод-вывод робота - это цифровые сигналы

Другие сигналы используются как ввод-вывод рабочего органа через робота.

Ввод-вывод рабочего органа подключен к разъему на руке робота, что обеспечивает его использование.

Ввод-вывод рабочего органа состоит максимально из восьми входов и восьми выходов универсальных сигналов. Для этих сигналов невозможно переопределить номера сигнала.

- RI [от 1 до 8] входной

- RO [от 1 до 8] выходной

Сигналы рабочего органа, (RI [от 1 до 8] и RO [от 1 до 8]) - это универсальные входные и выходные сигналы.

Регистры

Регистр - это переменная для хранения целого числа или дроби. Имеется двести регистров. Для отображения и задания значений регистров используется экран регистров (рис. 4.3).

Рис. 4.3. Экран значений регистров

Регистры используются в программах, если задано следующее:

• Команда регистра

• Косвенное задание аргументов

 

В таблице 4.1 представлены некоторые сигналы цифрового ввода-вывода (DO/DI), сигналы ввода-вывода робота(RO/RI) и используемые регистры(R[i]).

Таблица 4.1 Сигналы ввода-вывода, регистры и их назначения

Сигналы ввода-вывода Назначение ввода-вывода
DO[1] Стол №1 в исходное положение
DO[2] Стол №2 в исходное положение
DO[3]  
DO[4] Зеленый сигнал семафора
DO[5] Сигнал семафора
DO[6] Робот на парковке
DO[8] Откр/закр двери
DO[15] Обнуление регистра
DO[16] Обнуление регистра
DO[101] Продолжительность
DO[103] Без столкновений
DO[104] Реакция открытой двери
DO[108] Закрытие защитного ограждения
DO[109] Запрос на загрузку
DO[110] Окончание загрузки
DO[111] Останов перемещения по оси
DO[118] Разжатый патрон
DO[123] Зажимной патрон
DI[110] Загрузка/разгрузка
DI[118] Разжимной патрон
DI[123] Зажимной патрон
DI[182] Дверь станка открыта
DI[183] Дверь станка закрыта
RO[1] Сжатие/разжатие схвата
R[1] Стол готов
R[2] Выбрать счетчик
R[3] Деталь в станке
R[4] Отклонить счетчик
R[5] Деталь готова
R[10] Счетчик 1
R[11] Счетчик 2
R[15] Выбор базы

 

 

В таблице 4. 2 представлена часть команд, необходимых для написания программ.

Таблица 4.2.Основные команды и их назначение

Наименование команды Комментарий
R[i] = DI[i], DO[i] = R[i] Загружает состояние цифрового входного, выходного сигнала (включено = 1, выключено = 0) в заданный регистр.
DO[i] = ON/OFF Включает (ON) или выключает (OFF) заданный цифровой выходной сигнал.
DO[i] = PULSE, [WIDTH] (импульс, длительность) Инвертирует текущее состояние указанного цифрового выхода на заданное время.
R[i] = RI[i], RO[i] = R[i] Загружает состояние входного, выходного сигнала робота (включено = 1, выключено = 0) в заданный регистр.
RO[i] = ON/OFF Включает (ON) или выключает (OFF) заданный выходной сигнал робота.
RO[i] = PULSE, [длительность] Инвертирует текущее состояние указанного выхода робота на заданное время
LBL[i] Команда метки (LBL[i]) используется для указания точки в программе, к которой должно перейти управление.
END (конец) Команда конца программы обозначает окончание программы.
JMP LBL[i] Команда JMP LBL[i] передает управление программы на заданную метку.
CALL Команда CALL (программа) передает управление на первую строку другой программы (подпрограммы) для ее выполнения.
IF R[i] Команда условного сравнения регистра сравнивает значение, хранящееся в регистре, с другим значением и, если условие сравнения удовлетворено, выполняет обработку.
SELECT R[1] = (значение) (обработка) = (значение) (обработка) = (значение) (обработка) ELSE (обработка Команда условного выбора состоит из нескольких команд сравнения регистров. Команда условного выбора сравнивает значение регистра с одним или несколькими значениями, а затем выбирает оператор, удовлетворяющий условию сравнения.
WAIT (время) Команда ожидания с ограничением по времени задерживает выполнение программы на заданный период времени (в секундах).
WAIT (условие) (обработка) Условная команда ожидания задерживает выполнение программы, пока не будет удовлетворено заданное условие или не истечет заданный период времени.
UTOOL[i]=(value) Команда настройки системы координат инструмента - Изменяется определение заданной системы координат.
UFRAME[i]=(value) Команда настройки системы координат пользователя
UTOOL_NUM=(value) Команда выбора системы координат инструмента - Изменяется номер текущей выбранной системы координат.
UFRAME_NUM=(value) Команда выбора системы координат пользователя.
PAUSE Команда остановки останавливает выполнение программы, заставляя робота замедлить перемещение и остановиться
MESSAGE[текст сообщения] Команда сообщения выдает заданное сообщение на экран пользователя.
RUN При выполнении программы команда выполнения программы начинает выполнение другой программы.
$(ИМЯ СИСТЕМНОЙ ПЕРЕМЕННОЙ) = (значение) Команда параметра изменяет значение системной переменной.
timer [i] = (состояние) Команда таймера запускает / останавливает программный таймер.

 

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

1. Перед началом работы изучите команды программы MAIN

MAIN

1. UTOOL_NUM=1 – выбор № инструмента

2. UFRAME_NUM=1 - выбор № базы

3.

4. LBL[999] – метка 999

5.

6.! is_it_home - комментарий

7.

8. If DO[15]=OFF, JMP LBL[999] – если не в дом позиции, то переход на метку 999

9.

10.! inizialization ports_I/O - комментарий

11.

12. CALL HOME_IO – вызов подпрограммы HOME_IO

13. J P[1] 100% CNT15 – движение в точку 1

14. J P[2] 100% CNT15 – движение в точку 2

15. J P[3] 100% CNT15 - движение в точку 3

16.

17. CALL OPEN_GATE_IO - вызов подпрограммы OPEN_GATE_IO

18.

19. CALL UNLOAD_MACHINE - вызов подпрограммы UNLOAD_MACHINE

20. CALL RETURN_DESK1 - вызов подпрограммы RETURN_DESK1

21. Call RETURN_DESK2 - вызов подпрограммы RETURN_DESK2

22. WAIT R[2]=1 – ожидание пока R[2] (выбор стойки) не станет 1

23. R[1]=0 – стол 1 готов

24. R[2]=0 – стойка 1 выбрана

25. CALL DET2_OUT_MACHINE – вызов подпрограммы DET2_OUT_MACHINE

26.

27. LBL[1000] – метка 1000

28.

29.! is_it_home – комментарий

30.

31. IF DO[15]=OFF, JMP LBL[1000] - если не в дом позиции, то переход на метку 1000

32.

33. DO[6]=ON – робот на парковке

34.

35. LBL[1] – метка 1

36.

37. IF DO[15]=OFF, JMP LBL[1000] - если не в дом позиции, то переход на метку 1000

38.

39.! DET_! _MOVE_TO_MACHINE – комментарий

40. IF R[1]=0, JMP LBL[10] – если стол не готов, то переход на метку 10

41. DO[6]=OFF – робот не на парковке

42.

43. CALL DET1_IN_MACHINE – вызов подпрограммы DET1_IN_MACHINE

44. CALL OPEN_GATE_IO - вызов подпрограммы OPEN_GATE_IO

45. CALL LOAD_MACHINE - вызов подпрограммы LOAD_MACHINE

46. CALL WAITTING_MACHINE - вызов подпрограммы WAITTING_MACHINE

47. CALL UNLOAD_MACHINE - вызов подпрограммы UNLOAD_MACHINE

48. CALL DET1_OUT_MACHINE- вызов подпрограммы DET1_OUT_MACHINE

49.

50. DO[6]=ON – робот на парковке

51.

52. LBL[10] – метка 10

53.

54. WAIT 0.30(sec) – ожидание 30 секунд

55.

56.! DET_2_MOVE_TO_MACHINE - комментарий

57. IF R[2]=0, JMP LBL[1000] – если стойка не отправлена, то переход на метку 1000

58. DO[6]=OFF – робот не на парковке

59.

60. CALL DET2_IN_MACHINE – вызов подпрограммы DET2_IN_MACHINE

61.

62. CALL OPEN_GATE_IO - вызов подпрограммы OPEN_GATE_IO

63. CALL LOAD_MACHINE - вызов подпрограммы LOAD_MACHINE

64. CALL WAITTING_MACHINE - вызов подпрограммы WAITTING_MACHINE

65. CALL UNLOAD_MACHINE - вызов подпрограммы UNLOAD_MACHINE

66. CALL DET2_OUT_MACHINE - вызов подпрограммы DET2_OUT_MACHINE

67.

68. DO[6]=ON – робот на парковке

69.

70.

71.

72.

73.

74.

75.

76.

77.

78.

79.

80. JMP LBL[1] – метка 1

81.

[End] - конец

 

2. Изучите подпрограммы, используемые в программе MAIN

Подпрограмма HOME_IO

1: DO[1]=OFF

2: DO[2]=OFF

3: DO[3]=OFF

4: DO[4]=OFF

5: DO[5]=OFF

6: DO[6]=OFF

7: DO[8]=OFF

8: DO[101]=ON

9: DO[103]=ON

10: DO[104]=OFF

11: DO[108]=OFF

12: DO[109]=OFF

13: DO[110]=OFF

14: DO[111]=OFF

15: DO[118]=OFF

16: DO[123]=OFF

17: RO[1]=ON

Подпрограмма OPEN_GATE_IO

1: DO[101]=ON

2: DO[104]=ON

3: DO[109]=ON

4: DO[110]=OFF

5: DO[111]=OFF

Подпрограмма RETURN_DESK1

1: DO[1]=ON

2: WAIT.30(sec)

3: DO[1]=OFF

4: R[1]=0

END

Подпрограмма RETURN_DESK2

1: DO[2]=ON

2: WAIT.30(sec)

3: DO[2]=OFF

4: R[2]=0

END

Подпрограмма DET1_IN_MACHINE

1: LBL [1]

2: IF DO[15]=ON, JMP LBL[2]

3: JMP LBL[1]

4: LBL[2]

5:

6: J P[1: HOME] 100% FINE

7: RO[1]=ON

8: J P[2] 100% CNT50

9: L P[3: SHORT_DISTANCE] 200mm/sec FINE

10: L P[4: PICK] 50mm/sec FINE

11: RO[1]=OFF

12:

13: R[3]=1

14: R[1]=0

15:

16: WAIT.30(sec)

17: L P[3: SHORT_DISTANCE] 200mm/sec FINE

18: J P[2] 100% CNT100

19: J P[5] 100% CNT100

20: J P[6] 100% CNT100

21:

22: CALL IN_FRONT_OF_MACHINE

END

Подпрограмма DET1_OUT_MACHINE

1: LBL [1]

2: IF DO[16]=ON, JMP LBL[2]

3: JMP LBL[1]

4: LBL[2]

5:

6: J P[1] 100% CNT35

7: J P[2] 100% CNT100

8:

9: J P[3] 100% CNT100

10: J P[4: SHORT_DISTANCE] 100% FINE

11: L P[5: DROP] 50mm/sec FINE

12:

13: RO[1]=ON

14: WAIT.30(sec)

15: L P[4: SHORT_DISTANCE] 200mm/sec CNT100

16: J P[3] 100% CNT40

17: CALL RETURN_DESK1

18: J P[6: HOME] 100% CNT100

END

Подпрограмма DET2_IN_MACHINE

1: LBL [1]

2: IF DO[15]=ON, JMP LBL[2]

3: JMP LBL[1]

4: LBL[2]

5:

6: J P[1: HOME] 100% FINE

7: RO[1]=ON

8: J P[2] 100% CNT50

9: L P[3: SHORT_DISTANCE] 200mm/sec FINE

10: L P[4: PICK] 50mm/sec FINE

11: RO[1]=OFF

12:

13: R[3]=2

14: R[2]=0

15:

16: WAIT.30(sec)

17: L P[3: SHORT_DISTANCE] 200mm/sec FINE

18: J P[2] 100% CNT100

19: J P[5] 100% CNT100

20: J P[6] 100% CNT100

21:

22: CALL IN_FRONT_OF_MACHINE

END

Подпрограмма DET2_OUT_MACHINE

1: LBL [1]

2: IF DO[16]=ON, JMP LBL[2]

3: JMP LBL[1]

4: LBL[2]

5:

6: J P[1] 100% CNT35

7: J P[2] 100% CNT100

8:

9: J P[3] 100% CNT100

10: J P[4: SHORT_DISTANCE] 100% FINE

11: L P[5: DROP] 50mm/sec FINE

12:

13: RO[1]=ON

14: WAIT.30(sec)

15: L P[4: SHORT_DISTANCE] 200mm/sec CNT100

16: J P[3] 100% CNT40

17: CALL RETURN_DESK2

18: J P[6: HOME] 100% CNT100

END

Подпрограмма LOAD_MACHINE

1: LBL [1]

2: IF DO[16]=ON, JMP LBL[2]

3: JMP LBL[1]

4: LBL[2]

5:

6: WAIT DI[182]=ON

7: WAIT DI[183]=OFF

8: WAIT DI[101]=ON

9: WAIT DI[110]=ON

10:

11:

12: J P[1: LARGE_DIST] 100% CNT15

13: L P[2: SHORT_DIST] 150mm/sec FINE

14: L P[3: DROP] 50mm/sec FINE

15: DO[118]=OFF

16: DO[123]=ON

17: WAIT.30(sec)

18: WAIT DI[123]=ON

19: WAIT DI[118]=OFF

20:

21: RO[1]=ON

22: WAIT.30(sec)

23: L P[2: SHORT_DIST] 200mm/sec FINE

24: J P[4] 100% FINE

END

Подпрограмма UNLOAD_MACHINE

1: WAIT DI[182]=ON

2: WAIT DI[183]=OFF

3: WAIT DI[110]=ON

4:

5: LBL [1]

6: IF DO[16]=ON, JMP LBL[2]

7: JMP LBL[1]

8: LBL[2]

9: RO[1]=ON

10:

11: J P[1: LARGE_DIST] 100% CNT20

12: L P[2: SHORT_DIST] 150mm/sec FINE

13: L P[3: DROP] 50mm/sec FINE

14: RO[1]=OFF

15: WAIT.30(sec)

16: DO[123]=OFF

17: DO[118]=ON

18: WAIT.30(sec)

19:

20: WAIT DI[118]=ON

21: WAIT DI[123]=OFF

22: L P[2: SHORT_DIST] 200mm/sec FINE

23: J P[4] 100% FINE

END

Подпрограмма WAITING MACHINE

1: DO[110]=ON

2: WAIT DI[182]=OFF

3: WAIT DI[183]=ON

4: DO[110]=OFF

5: DO[111]=OFF

6: WAIT DI[110]=ON

7: WAIT DI[182]=ON

8: WAIT DI[183]=OFF

END

 

3. Возьмите пульт, в режиме T1 создайте программу по аналогии с программой MAIN, но под другим именем. Вызов подпрограмм осуществляется так же и под теми же именами, что и в программе MAIN.

4. Убедитесь, что робот устанавливает заготовку в гидравлические тиски.

5. Запустите свою созданную программу в режиме T1, проверьте, чтобы не было ошибок.

6. Под руководством преподавателя перейдите в режим AUTO, выключите пульт, запустите свою программу на малой скорости 15%, нажав кнопку START на контроллере. Программа запустится в автоматическом режиме.

7. Посмотрите, как работает эта программа вместе со станком. В случае каких-то ошибок или нежелательных ситуаций нажимайте кнопку АВАРИЙНОЙ ОСТАНОВКИ.

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

9. Составьте отчет.

Содержание отчета

Отчет должен содержать цель работы, текст программы MAIN, ответы на контрольные вопросы.

Контрольные вопросы:

1. Перечислите сигналы ввода-вывода

2. Для чего служат цифровые сигналы ввода-вывода робота?

3. Какие команды используются для: условного сравнения регистра, ожидания, указания точки в программе, к которой должно перейти управление, настройки системы координат?

 

Лабораторная работа № 5


Поделиться:



Последнее изменение этой страницы: 2017-05-05; Просмотров: 236; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.128 с.)
Главная | Случайная страница | Обратная связь