Автор работы: Пользователь скрыл имя, 23 Января 2013 в 19:58, курсовая работа
В результате выполнения курсовой работы была разработана микропроцессорная система управления (МСУ) роботизированным технологическим комплексом на базе токарного станка и промышленного робота.
Составлена программа управления в системе команд промышленного микроконтроллера МКП – 1.
Программа полностью обеспечивает выполнение заданного алгоритма управления внешним технологическим оборудованием. При этом на каждом этапе проектирования соблюдается принцип локальности преобразований.
ВВЕДЕНИЕ 4
1. Описание конструкции станка мод. 16К20Ф3 5
1.1 Основные узлы и движения в станке 5
1.2 Техническая характеристика станка мод. 16К20Ф3 6
2. Определение последовательности операций для изготовления детали 7
3. Компоновка РТК 8
4. Технологическая схема РТК 8
5. Привязка датчиков и исполнительных механизмов к портам микроконтроллера 8
6. Построение временных циклограмм технологических операций 11
7. Первичное описание алгоритма функционирования технологического объекта 11
8. Промежуточное описание алгоритма управления объектом в виде системы конъюнктивных секвенций 13
9. Граф-схема алгоритма, реализующая систему конъюнктивных секвенций 14
10. Управляющая программа в системе команд микроконтроллера МКП-1 19
Заключение 23
Список используемой литературы 24
Таблица 4 - Технологическая карта производственного процесса
Момент времени t |
Операции |
Срабатывание датчиков, X |
Исполнительные механизмы, Y | ||
Начальный момент, tн |
Конечный момент, tк |
Начальный момент, tн |
Конечный момент, tк | ||
t0 |
Система находится в исходном состоянии |
Х1, Х23 |
Х1, Х23 |
Y1, Y23 |
Y1, Y23 |
t1 |
Включение робота на время цикла обработки |
X3 |
X3 |
Y3 |
Y3 |
t2 |
Опускание руки робота к тактовому столу |
X4 |
X5 |
Y4 |
Y5 |
t3 |
Взятие заготовки рукой робота |
X6 |
X6 |
Y6 |
Y6 |
t4 |
Перемещение руки робота в крайнее верхнее положение |
X5 |
X4 |
Y5 |
Y4 |
t5 |
Поворот робота на 90 вправо |
X21 |
X20 |
Y21 |
Y20 |
t6 |
Подвод руки робота к шпинделю |
X7 |
X7 |
Y7 |
Y7 |
t7 |
Установка заготовки на токарном станке |
X6 |
X6 |
Y6 |
Y6 |
t8 |
Отвод руки робота |
X7 |
X7 |
Y7 |
Y7 |
t9 |
Продольное перемещение задней бабки влево |
X9 |
X8 |
Y9 |
Y8 |
t10 |
Запуск привода главного движения, передача вращения шпинделю |
X2 |
X2 |
Y2 |
Y2 |
t11 |
Подвод режущего инструмента 1 к заготовке |
X11 |
X10 |
Y11 |
Y10 |
t12 |
Обработка диаметров заготовки(80мм, 70мм, 60мм) точением |
X12 |
X12 |
Y12 |
Y12 |
t13 |
Продольное перемещение задней бабки вправо |
X8 |
X9 |
Y8 |
Y9 |
t14 |
Отвод режущего инструмента 1 от заготовки |
X10 |
X11 |
Y10 |
Y11 |
t15 |
Поворот револьверной головки на одну позицию (смена инструмента) |
Х13 |
Х13 |
Y13 |
Y13 |
t16 |
Продольное перемещение задней бабки влево |
X9 |
X8 |
Y9 |
Y8 |
t17 |
Подвод режущего инструмента 2 к заготовке |
X15 |
X14 |
Y15 |
Y14 |
t18 |
Прорезание канавки |
X16 |
X16 |
Y16 |
Y16 |
t19 |
Продольное перемещение задней бабки вправо |
X8 |
X9 |
Y8 |
Y9 |
t20 |
Отвод режущего инструмента 2 от заготовки |
X14 |
X15 |
Y14 |
Y15 |
t21 |
Поворот револьверной головки на одну позицию (смена инструмента) |
Х13 |
Х13 |
Y13 |
Y13
|
t22 |
Продольное перемещение задней бабки влево |
X9 |
X8 |
Y9 |
Y8 |
t23 |
Подвод режущего инструмента 3 к заготовке |
X18 |
X17 |
Y18 |
Y17 |
t24 |
Нарезание резьбы |
X19 |
X19 |
Y19 |
Y19 |
t25 |
Продольное перемещение задней бабки вправо |
X8 |
X9 |
Y8 |
Y9 |
t26 |
Отвод режущего инструмента 3 от заготовки, отключение привода станка |
X17 |
X18, X2 |
Y17 |
Y18,Y2 |
t27 |
Подвод руки робота к шпинделю |
X7 |
X7 |
Y7 |
Y7 |
t28 |
Захват рукой обработанной детали |
X6 |
X6 |
Y6 |
Y6 |
t29 |
Отвод руки робота |
X7 |
X7 |
Y7 |
Y7 |
t30 |
Поворот робота на 90 влево |
X20 |
X21 |
Y20 |
Y21 |
t31 |
Опускание руки робота к тактовому столу с заготовками, захват обработанной детали |
X4 |
X5, X6 |
Y4 |
Y5, X6 |
t32 |
Фиксация обработанной детали в кассете, отключение промышленного робота |
X22, Х3 |
X22, Х3 |
Y22, Y3 |
Y22, Y3 |
t33 |
Возврат манипулятора в исходное положение |
X5 |
X4,X23 |
Y5 |
Y4,Y23 |
t34 |
Возврат станка в исходное состояние |
X1 |
X1 |
Y1 |
Y1 |
t35 |
Цикловой пуск системы |
X24 |
X24 |
Y24 |
Y24 |
Рисунок 5 –Временная циклограмма
В качестве первичного описания алгоритма заданного ОУ будем использовать аппарат графов операций, реализуемый с помощью математического аппарата Сети Петри (N-схемы). С помощью данного этапа алгоритмического проектирования решаются задачи декомпозиции алгоритма, устанавливаются причинно-следственные связи между состояниями технологического процесса, проверяется корректность первичного описания алгоритма.
В графе операций используются вершины двух типов, изображаемых кружками (позиции) и прямоугольниками (переходы), в котором стрелками соединяются только вершины разного типа. В позиции графа помещаются метки (маркеры, точки), которые перемещаются из одних позиций в другие по определенным правилам, отображая динамику управляемого процесса. Размещение точек в позициях в каждый момент времени называется маркировкой графа; при задании графа всегда фиксируется его начальная маркировка.
Таблица 5 – Позиции графа
P0 |
Исходное состояние станка и манипулятора |
P1 |
Робот включен |
P2 |
Рука в крайнем нижнем положении |
P3 |
Заготовка в руке робота |
P4 |
Рука в крайнем верхнем |
P5 |
Робот повернут на 900 вправо |
P6 |
Рука робота у шпинделя |
P7 |
Крайнее левое положение задней бабки |
P8 |
Отвод руки робота |
P9 |
Крайнее правое положение задней бабки |
P10 |
Выбран инструмент в револьверной головке |
P11 |
Пиноль с резцом влево |
P12 |
Обработка диаметров (Ø80, Ø70, Ø60) |
P13 |
Нарезание канавки |
P14 |
Нарезание резьбы |
P15 |
Окончание обработки |
P16 |
Рука робота у шпинделя |
P17 |
Заготовка в руке робота |
P18 |
Робот в крайнем левом положении |
P19 |
Робот в крайнем нижнем положении |
P20 |
Деталь зафиксирована в |
F1 |
Диспетчер 1 |
F2 |
Диспетчер 2 |
F3 |
Диспетчер 3 |
Таблица 6 – Переходы графа
t0 |
Включение робота |
t1 |
Опускание руки робота в крайнее нижнее положение |
t2 |
Захват заготовки рукой робота |
t3 |
Переход робота в крайнее верхнее положение |
t4 |
Поворот руки робота на 900 вправо |
t5 |
Подвод руки робота к шпинделю |
t6 |
Переход задней бабки в крайнее левое положение |
t7 |
Отвод от шпинделя руки робота |
t8 |
Переход задней бабки в крайнее правое положение |
t9 |
Смена инструмента |
t10 |
Подвод пиноли с резцом |
t11 |
Начало обработки |
t12 |
Отвод пиноли с резцом 1 вправо |
t13 |
Начало обработки |
t14 |
Отвод пиноли с резцом 2 вправо |
t15 |
Начало обработки |
t16 |
Отвод пиноли с резцом 3 вправо |
t17 |
Подвод руки робота к шпинделю |
t18 |
Захват заготовки рукой робота |
t19 |
Поворот руки робота на 900 влево |
t20 |
Опускание руки робота в крайнее нижнее положение |
t21 |
Фиксация детали в кассете тактового стола |
t22 |
Захват рукой робота следующей заготовки |
Рисунок 6 – Сеть Петри
На этапе логического
Это промежуточное описание можно осуществлять на языке систем секвенций. Для алгоритмов логического управления дискретными технологическими объектами очень подходит аналитическая форма графа операций в виде системы конъюнктивных секвенций, которая упрощает переход от первичного графического описания к управляющей программе. При этом в левой части секвенциальных операторов содержится конъюнкция, состоящая из логических переменных, кодирующих позиции, из которых ведет данный переход графа операций и логических переменных, взвешивающих данный переход. В правой части содержится конъюнкция, состоящая из логических переменных, кодирующая позиции, в которые ведет данный переход и логических переменных, взвешивающих эти позиции. Аналитическое описание алгоритма управления РТК в виде системы конъюнктивных секвенций будет выглядеть следующим образом:
M0: ;
;
Рисунок 7 - Граф-схема алгоритма
Программное управление РТК в соответствии с алгоритмом осуществляется в автоматическом режиме. Управляющая программа хранится в энергонезависимом запоминающем устройстве (ЭНЗУ) микроконтроллера. Команды управляющей программы записываются в модулях ЭНЗУ. Адресное пространство каждого модуля образует одну зону памяти, каждая из которых в свою очередь делится на 2 страницы памяти, таким образом, объем каждой страницы памяти составляет 256 байт, что позволяет записать в неё 128 команд (одна команда занимает в памяти ЭНЗУ 2 байта). Объём памяти модуля ЭНЗУ составляет 512 байт и позволяет осуществить запись 256 команд. Таким образом, диапазон адресов памяти ЭНЗУ: 000…015F
Таблица 7 - Системе команд микроконтроллера МКП-1
Адрес |
Команда |
Описание команды |
000 |
2601 |
Активизация счётчика А |
001 |
2801 |
Запись числа 00 в счётчик А |
002 |
0500 |
Включить нагрузку Y1 по адресу Z00 |
003 |
0601 |
Выключить нагрузку Y2 по адресу Z01 |
004 |
0602 |
Выключить нагрузку Y3 по адресу Z02 |
005 |
0603 |
Выключить нагрузку Y4 по адресу Z03 |
006 |
0604 |
Выключить нагрузку Y5 по адресу Z04 |
007 |
0605 |
Выключить нагрузку Y6 по адресу Z05 |
008 |
0606 |
Выключить нагрузку Y7 по адресу Z06 |
009 |
0607 |
Выключить нагрузку Y8 по адресу Z07 |
00А |
0608 |
Выключить нагрузку Y9 по адресу Z08 |
00В |
0609 |
Выключить нагрузку Y10 по адресу Z09 |
00С |
060A |
Выключить нагрузку Y11 по адресу Z0А |
00Е |
060B |
Включить нагрузку Y12 по адресу Z0B |
00D |
060C |
Включить нагрузку Y13 по адресу Z0C |
00F |
060D |
Выключить нагрузку Y14 по адресу Z0D |
010 |
060E |
Выключить нагрузку Y15 по адресу Z0E |
011 |
060F |
Выключить нагрузку Y16 по адресу Z0F |
012 |
0610 |
Выключить нагрузку Y17 по адресу Z10 |
013 |
0611 |
Включить нагрузку Y18 по адресу Z0C |
014 |
0612 |
Выключить нагрузку Y19 по адресу Z0D |
015 |
0613 |
Выключить нагрузку Y20 по адресу Z0E |
016 |
0614 |
Выключить нагрузку Y21 по адресу Z0F |
017 |
0615 |
Выключить нагрузку Y22 по адресу Z10 |
018 |
0516 |
Включить нагрузку Y23 по адресу Z0C |
019 |
0400 |
Проверка датчика X1 на наличие сигнала по адресу E00 |
01A |
0416 |
Проверка датчика X23 на наличие сигнала по адресу E16 |
01B |
1200 |
Прямой вывод бита условия по адресу Z00 |
01C |
1216 |
Прямой вывод бита условия по адресу Z16 |
01D |
OA1F |
Переход на адрес 01F если БУ = 0 |
01E |
2700 |
Инкремент счетчика А |
01F |
0502 |
Включить нагрузку Y3 по адресу Z02 |
020 |
0402 |
Проверка датчика X3 на наличие сигнала по адресу E02 |
021 |
1202 |
Прямой вывод бита условия по адресу Z02 |
022 |
OA24 |
Переход на адрес 024 если БУ = 0 |
023 |
2700 |
Инкремент счетчика А |
024 |
0504 |
Включить нагрузку Y5 по адресу Z04 |
025 |
0303 |
Проверка датчика X4 на отсутствие сигнала по адресу E03 |
026 |
0404 |
Проверка датчика X5 на наличие сигнала по адресу E04 |
027 |
1204 |
Прямой вывод бита условия по адресу Z04 |
028 |
OA2A |
Переход на адрес 02A если БУ = 0 |
029 |
2700 |
Инкремент счетчика А |
02А |
0505 |
Включить нагрузку Y6 по адресу Z05 |
02В |
0405 |
Проверка датчика X6 на наличие сигнала по адресу E05 |
02С |
1205 |
Прямой вывод бита условия по адресу Z05 |
02D |
0A2F |
Переход на адрес 02F если БУ=0 |
02E |
2700 |
Инкремент счетчика А |
02F |
0503 |
Включить нагрузку Y4 по адресу Z03 |
030 |
0403 |
Проверка датчика X4 на наличие сигнала по адресу E03 |
031 |
0304 |
Проверка датчика X5 на отсутствие сигнала по адресу E04 |
032 |
1304 |
Инверсный вывод бита условия по адресу Z04 |
033 |
0B35 |
Переход на адрес 035 если БУ=1 |
034 |
2700 |
Инкремент счетчика А |
035 |
0516 |
Включить нагрузку Y20 по адресу Z13 |
036 |
0413 |
Проверка датчика X20 на наличие сигнала по адресу E13 |
037 |
0314 |
Проверка датчика X21 на отсутствие сигнала по адресу E14 |
038 |
1314 |
Инверсный вывод бита условия по адресу Z14 |
039 |
0B3B |
Переход на адрес 03B если БУ=1 |
03A |
2700 |
Инкремент счетчика А |
03B |
0506 |
Включить нагрузку Y7 по адресу Z06 |
03C |
0406 |
Проверка датчика X7 на наличие сигнала по адресу E06 |
03D |
1206 |
Прямой вывод бита условия по адресу Z06 |
03E |
0A40 |
Переход на адрес 040 если БУ=0 |
03F |
2700 |
Инкремент счетчика А |
040 |
0507 |
Включить нагрузку Y8 по адресу Z07 |
041 |
0407 |
Проверка датчика X8 на наличие сигнала по адресу E07 |
042 |
0308 |
Проверка датчика X9 на отсутствие сигнала по адресу E08 |
043 |
130С |
Инверсный вывод бита условия по адресу Z08 |
044 |
0B46 |
Переход на адрес 046 если БУ=1 |
045 |
2700 |
Инкремент счетчика А |
046 |
0506 |
Включить нагрузку Y7 по адресу Z06 |
047 |
0406 |
Проверка датчика X7 на наличие сигнала по адресу E06 |
048 |
1206 |
Прямой вывод бита условия по адресу Z06 |
049 |
0A4B |
Переход на адрес 04B если БУ=0 |
04А |
2700 |
Инкремент счетчика А |
04В |
0508 |
Включить нагрузку Y9 по адресу Z08 |
04C |
0307 |
Проверка датчика X8 на отсутствие сигнала по адресу E07 |
04D |
0408 |
Проверка датчика X9 на наличие сигнала по адресу E08 |
04E |
1208 |
Прямой вывод бита условия по адресу Z08 |
04F |
0A51 |
Переход на адрес 051 если БУ=0 |
050 |
2700 |
Инкремент счетчика А |
051 |
050C |
Включить нагрузку Y13 по адресу Z0C |
052 |
040C |
Проверка датчика X13 на наличие сигнала по адресу E0C |
053 |
120C |
Прямой вывод бита условия по адресу Z0C |
054 |
0A56 |
Переход на адрес 056 если БУ=0 |
055 |
2700 |
Инкремент счетчика А |
056 |
0509 |
Включить нагрузку Y10 по адресу Z09 |
057 |
0409 |
Проверка датчика X10 на наличие сигнала по адресу E09 |
058 |
030A |
Проверка датчика X11 на отсутствие сигнала по адресу E0A |
059 |
130A |
Инверсный вывод бита условия по адресу Z0A |
05A |
0B5C |
Переход на адрес 05C если БУ=1 |
05B |
2700 |
Инкремент счетчика А |
05C |
050B |
Включить нагрузку Y12 по адресу Z0B |
05D |
040B |
Проверка датчика X12 на наличие сигнала по адресу E0B |
05E |
120B |
Прямой вывод бита условия по адресу Z0B |
05F |
0A61 |
Переход на адрес 061 если БУ=0 |
060 |
2700 |
Инкремент счетчика А |
061 |
050C |
Включить нагрузку Y13 по адресу Z0C |
062 |
050D |
Включить нагрузку Y14 по адресу Z0D |
063 |
040D |
Проверка датчика X14 на наличие сигнала по адресу E0D |
064 |
030E |
Проверка датчика X15 на отсутствие сигнала по адресу E0E |
065 |
130E |
Инверсный вывод бита условия по адресу Z0E |
066 |
0B68 |
Переход на адрес 068 если БУ=1 |
067 |
2700 |
Инкремент счетчика А |
068 |
050F |
Включить нагрузку Y16 по адресу Z0F |
069 |
040F |
Проверка датчика X16 на наличие сигнала по адресу E0F |
06A |
120F |
Прямой вывод бита условия по адресу Z0F |
06B |
0A6D |
Переход на адрес 06D если БУ=0 |
06C |
2700 |
Инкремент счетчика А |
06D |
050C |
Включить нагрузку Y13 по адресу Z0C |
06E |
0517 |
Включить нагрузку Y17 по адресу Z10 |
06F |
0410 |
Проверка датчика X17 на наличие сигнала по адресу E10 |
070 |
0311 |
Проверка датчика X18 на отсутствие сигнала по адресу E11 |
071 |
1311 |
Инверсный вывод бита условия по адресу Z11 |
072 |
0B74 |
Переход на адрес 074 если БУ=1 |
073 |
2700 |
Инкремент счетчика А |
074 |
0512 |
Включить нагрузку Y19 по адресу Z12 |
075 |
0412 |
Проверка датчика X19 на наличие сигнала по адресу E12 |
076 |
1212 |
Прямой вывод бита условия по адресу Z12 |
077 |
0A79 |
Переход на адрес 079 если БУ=0 |
078 |
2700 |
Инкремент счетчика А |
079 |
0509 |
Включить нагрузку Y10 по адресу Z09 |
07А |
0612 |
Выключить нагрузку Y19 по адресу Z12 |
07B |
0312 |
Проверка датчика X19 на отсутствие сигнала по адресу E12 |
07C |
1312 |
Инверсный вывод бита условия по адресу Z12 |
07D |
0B7F |
Переход на адрес 07F если БУ=1 |
07E |
2700 |
Инкремент счетчика А |
07F |
0510 |
Включить нагрузку Y17 по адресу Z10 |
080 |
0406 |
Проверка датчика X7 на наличие сигнала по адресу E06 |
081 |
1206 |
Прямой вывод бита условия по адресу Z06 |
082 |
0A84 |
Переход на адрес 084 если БУ=0 |
083 |
2700 |
Инкремент счетчика А |
084 |
0505 |
Включить нагрузку Y6 по адресу Z05 |
085 |
0405 |
Проверка датчика X6 на наличие сигнала по адресу E05 |
086 |
1205 |
Прямой вывод бита условия по адресу Z05 |
087 |
0A89 |
Переход на адрес 089 если БУ=0 |
088 |
2700 |
Инкремент счетчика А |
089 |
0613 |
Выключить нагрузку Y20 по адресу Z13 |
08A |
0514 |
Включить нагрузку Y21 по адресу Z14 |
08B |
0313 |
Проверка датчика X20 на отсутствие сигнала по адресу E13 |
08C |
0414 |
Проверка датчика X21 на наличие сигнала по адресу E14 |
08D |
1214 |
Прямой вывод бита условия по адресу Z14 |
08E |
0A90 |
Переход на адрес 090 если БУ=0 |
08F |
2700 |
Инкремент счетчика А |
090 |
0603 |
Выключить нагрузку Y4 по адресу Z03 |
091 |
0504 |
Включить нагрузку Y5 по адресу Z04 |
092 |
0303 |
Проверка датчика X4 на отсутствие сигнала по адресу E03 |
093 |
0404 |
Проверка датчика X5 на наличие сигнала по адресу E04 |
094 |
1204 |
Прямой вывод бита условия по адресу Z04 |
095 |
0A97 |
Переход на адрес 097 если БУ=0 |
096 |
2700 |
Инкремент счетчика А |
097 |
0515 |
Включить нагрузку Y22 по адресу Z15 |
098 |
1E15 |
Установка БУ как значение датчика X22 по адресу E15 |
099 |
0A89 |
Переход на адрес 09A если БУ=0 |
09A |
092A |
Безусловный переход на адрес 02A |