Автор работы: Пользователь скрыл имя, 07 Декабря 2010 в 13:56, Не определен
Курсовой проект
Таблица 2.3. Выходные сигналы
№ | Наименование входного сигнала | Условное обозначение | Выход сигнала на | Адрес для ПЛК-256 |
1 | ПР вправо | ПРп | КМ 1 | 00100 |
2 | ПР влево | ПРл | КМ 2 | 00101 |
3 | Руку задвинуть | Рз | YA 1 | 00102 |
4 | Руку выдвинуть | Рв | YA 2 | 00103 |
5 | Схват зажать | СхЗ | YA 3 | 00104 |
6 | Схват разжать | СхР | YA 4 | 00105 |
7 | Начать гальванообработку ванны 2 | Гобр2 | КМ 3 | 00106 |
8 | Начать гальванообработку ванны 1 | Гобр1 | КМ 4 | 00107 |
2.4. Разработка программы управления для ПЛК
2.4.1.
Разработка релейно-
Разработка
релейно-контактного
Таблица 2.4. Комментарии для релейно-контактного эквивалента программы
Блок | Такт | Цепь | Комментарий |
01 | 1 | 1 | Проверяем следующие
начальные условия:
|
2 | Проверяем положение ПР над накопителем 2, если его нет отправляем ПР вправо до срабатывания датчика SQ-1 | ||
3 | Блокируем ПР над накопителем 2, после этого переходим к блоку 02 | ||
4 | Контролируя положение ПР над накопителем 2 выдвигаем руку, пока не сработает датчик SQ-6 | ||
5 | Блокируем руку ПР в выдвинутом положении и переходим к блоку 03 | ||
02 | 2 | 6 | Сжимаем схват, пока не сработает датчик SQ-7 |
7 | Блокируем схват и переходим к блоку 04 | ||
03 | 3 | 8 | Задвигаем руку ПР, пока не сработает датчик SQ-5 |
9 | Блокируем руку ПР в задвинутом положении, переходим к блоку 05 | ||
04 | 4 | 10 | Контролируя положение руки ПР начинаем перемещение ПР влево до ванны 2(SQ-2) |
11 | Блокируем ПР над ванной 2, переходим к блоку 06 | ||
05 | 5 | 12 | Контролируя положение ПР над ванной 2 выдвигаем руку, пока не сработает датчик SQ-6 |
13 | Блокируем руку ПР в выдвинутом положении и переходим к блоку 07 | ||
06 | 6 | 14 | Разжимаем схват ПР, пока не сработает датчик SQ-8 |
15 | Блокируем схват, запускаем гальванообработку в ванне 2 и таймер на 60сек.переходим к блоку 08 | ||
07 | 7 | 16 | Задвигаем руку ПР, пока не сработает датчик SQ-5 |
17 | Блокируем руку ПР в задвинутом положении, переходим к блоку 09 | ||
08 | 8 | 18 | Контролируя положение руки ПР начинаем перемещение ПР влево до накопителя 1(SQ-3) |
19 | Блокируем ПР над накопителем 1, переходим к блоку 10 | ||
09 | 9 | 20 | Контролируя положение ПР над накопителем 1выдвигаем руку, пока не сработает датчик SQ-6 |
21 | Блокируем руку ПР в выдвинутом положении | ||
10 | 10 | 22 | Когда таймер
сработает, выполняем следующие
действия:
|
23 | Сжимаем схват, пока не сработает датчик SQ-7 | ||
24 | Блокируем схват и переходим к блоку12 | ||
11 | 11 | 25 | Задвигаем руку ПР, пока не сработает датчик SQ-5 |
26 | Блокируем руку ПР в задвинутом положении, переходим к блоку 13 | ||
12 | 12 | 27 | Контролируя положение руки ПР начинаем перемещение ПР влево до ванны 1(SQ-4) |
28 | Блокируем ПР над ванной 1, переходим к блоку 14 | ||
13 | 13 | 29 | Контролируя положение ПР над ванной 1 выдвигаем руку, пока не сработает датчик SQ-6 |
30 | Блокируем руку ПР в выдвинутом положении и переходим к блоку 15 | ||
14 | 14 | 31 | Разжимаем схват ПР, пока не сработает датчик SQ-8 |
32 | Блокируем схват, запускаем гальванообработку в ванне 1 и таймер на 20сек, переходим к блоку 16 | ||
15 | 15 | 33 | Задвигаем руку ПР, пока не сработает датчик SQ-5 |
34 | Блокируем руку ПР в задвинутом положении, переходим к блоку17 | ||
16 | 16 | 35 | Контролируя положение руки ПР начинаем перемещение ПР вправо до ванны 2 (SQ-2) |
36 | Блокируем ПР над ванной 2, переходим к блоку18 | ||
17 | 17 | 37 | Контролируя положение ПР над ванной 2 выдвигаем руку, пока не сработает датчик SQ-6 |
38 | Блокируем руку ПР в выдвинутом положении | ||
18 | 18 | 39 | Когда таймер
сработает, выполняем следующие действия:
|
40 | Сжимаем схват, пока не сработает датчик SQ-7 | ||
41 | Блокируем схват и переходим к блоку 20 | ||
19 | 19 | 42 | Задвигаем руку ПР, пока не сработает датчик SQ-5 |
43 | Блокируем руку ПР в задвинутом положении, переходим к блоку 21 | ||
20 | 20 | 44 | Контролируя положение руки ПР начинаем перемещение ПР вправо до накопителя 2(SQ-1) |
45 | Блокируем ПР над накопителем 2, после этого переходим к блоку 22 | ||
21 | 21 | 46 | Контролируя положение ПР над накопителем 2 выдвигаем руку, пока не сработает датчик SQ-6 |
47 | Блокируем руку ПР в выдвинутом положении и переходим к блоку 23 | ||
22 | 22 | 48 | Разжимаем схват ПР, пока не сработает датчик SQ-8 |
49 | Блокируем схват и переходим к блоку 24 | ||
23 | 23 | 50 | Задвигаем руку ПР, пока не сработает датчик SQ-5 |
51 | Блокируем руку ПР в задвинутом положении, переходим к блоку 25 | ||
24 | 24 | 52 | Контролируя положение руки ПР начинаем перемещение ПР влево до ванны 1 (SQ-4) |
53 | Блокируем ПР над ванной 1, переходим к блоку 26 | ||
25 | 25 | 54 | Контролируя положение ПР над ванной 1 выдвигаем руку, пока не сработает датчик SQ-6 |
55 | Блокируем руку ПР в выдвинутом положении и переходим к блоку 27 | ||
26 | 26 | 56 | Сжимаем схват, пока не сработает датчик SQ-7 |
57 | Блокируем схват и переходим к блоку 28 | ||
27 | 27 | 58 | Задвигаем руку ПР, пока не сработает датчик SQ-5 |
59 | Блокируем руку ПР в задвинутом положении, переходим к блоку 29 | ||
28 | 28 | 60 | Контролируя положение руки ПР начинаем перемещение ПР влево до накопителя 1(SQ-3) |
61 | Блокируем ПР над накопителем 1, переходим к блоку 30 | ||
29 | 29 | 62 | Контролируя положение ПР над накопителем 1 выдвигаем руку, пока не сработает датчик SQ-6 |
63 | Блокируем руку ПР в выдвинутом положении и переходим к блоку 31 | ||
30 | 30 | 64 | Разжимаем схват ПР, пока не сработает датчик SQ-8 |
65 | Блокируем схват и переходим к блоку 32 | ||
31 | 31 | 66 | Задвигаем руку ПР, пока не сработает датчик SQ-5 |
67 | Блокируем руку ПР в задвинутом положении, переходим к блоку 1 (в начало цикла) |
Некоторые обозначения операторов языка релейно-контактных схем (языка LD) приведены в таблице 2.5.
Таблица 2.5. Обозначение операторов в языке LD
Оператор | Описание |
Нормально разомкнутый контакт | |
Нормально замкнутый контакт | |
Включение катушки с фиксацией | |
Выключение катушки с фиксацией | |
Прямое включение катушки | |
Инверсное включение катушки |
Цепь РКЭ строится из операторов (см. табл. 2.5). Последовательное включение операторов это, по сути, логическое умножение, а параллельное - логическое сложение. При выполнении последовательности инструкций, кодирующих некую релейно-контактную цепь, процессор присваивает внутренней бинарной переменной R (результат) состояние 0, если комбинация состояния переменных, определяющих контакты цепи, «запрещает» протекание тока в ней и состояние 1, если комбинация состояний этих переменных разрешает протекание тока по цепи [3].
В РКЭ программы управления выполнено структурирование программы путем разбиения ее на отдельные блоки. Блоки отрабатываются ПЛК последовательно, обеспечивая тем самым заданную последовательность выполнения тактов. В каждом блоке задана инструкция ПБЛ, обеспечивающая переход к заданному блоку. Все это необходимо для того, чтобы исключить возможные сбои и конфликты оборудования. Например, мы не можем начать перемещение промышленного робота в продольных направлениях, пока не убедимся, что рука робота находится в задвинутом положении.
Рассмотрим более подробно первую цепь (рис. 2.1). Остальные цепи строятся аналогично.
Рис. 2.1.
РКЭ программы управления. Цепь 1. Мы сможем включить катушку с фиксацией и подать сигнал ПовЛев только в том случае, если в цепи 1 будет «протекать ток». Для этого необходимо выполнить три условия:
1.
Разрешение цикла (замкнуты «
2. Замкнуты контакты кнопки ПУСК
3. ПР находится НЕ в позиции 1 (контакты КПР1 НЕ замкнуты)
Но цепь рисуется в исходном состоянии, т.е. все операторы изображаются в том состоянии, когда катушка с фиксацией НЕ включена, тогда выполнение всех условий приведет к включению катушки. Таким образом, для изображения данной цепи нам нужно инвертировать перечисленные условия (таблица 2.6). В итоге получим цепь, изображенную на рис. 2.1. На этой цепи контакты РЦ и ПУСК – нормально разомкнутые, а КПР1 – нормально замкнутые.
Таблица 2.6. Состояние операторов в цепи 1
Контакт | Условие включения ПовЛев | Инверсия |
РЦ | Замкнут | Разомкнут |
ПУСК | Замкнут | Разомкнут |
КПР1 | Разомкнут | Замкнут |
Еще несколько слов об использовании таймера. Для задания таймера необходимо два слова данных: слово текущего значения и слово уставки таймера-счетчика.
Рис. 2.2. Использование таймера.
В нашем примере мы контролируем гальванообработку в ванне 2 по времени. Гальванообработка должно прекратиться через 60с после начала обработки. Реализуем эту операцию следующим образом:
С помощью инструкции ЗТС мы запускаем таймер на 60 с. Для этого выбираем режим 1 -таймер с задержкой на включение с дискретностью 0,1 с. А уставка будет равна 0600, т.к. нам нужно отсчитать 600 раз по 0,1 с, чтобы получить задержку 60с.
После срабатывания таймера его нужно сбросить, потому что этот таймер может использоваться в других участках программы. Сброс выполняется инструкцией СТС.
Мы выбрали таймер с задержкой на включение, потому что использовали катушку с фиксацией. На катушку с фиксацией мы в должны «подавать ток» как для ее включения, так и для отключения, поэтому выход таймера - это нормально разомкнутые контакты, которые «замыкаются» (включаются) при срабатывании таймера и выключают катушку с фиксацией.
2.4.2. Разработка текста программы управления
Разработка
текста программы управления для
ПЛК-256 также выполняется согласно рекомендациям,
изложенным в [3]. Текст программы приведен
в листинге.
Листинг. Текст программы управления
0001 | НСТ | 00 | Начало сегмента |
0002 | НБЛ | 00 | Начало блока |
0003 | СТС | 020 | Сбросить таймер |
0004 | ПБЛ | 01 | Перейти к блоку 01 |
0005 | НБЛ | 01 | Начало блока 01 |
0006 | 10011 | Разрешение цикла | |
0007 | 10012 | Кнопка «ПУСК» | |
0008 | 10000 | Наличие детали в накопителе 2 | |
0009 | 10001 | Если ПР не над накопителем 2, | |
0010 | 00100 | То начать движение ПР вправо | |
0011 | 10001 | ПР над накопителем 2 | |
0012 | 00100 | Остановить движение вправо | |
0013 | ПБЛ | 02 | Перейти к блоку 02 |
0014 | НБЛ | 02 | Начало блока 02 |
0015 | 10001 | ПР над накопителем 2 | |
0016 | 10006 | Пока не сработает датчик SQ-6 | |
0017 | 00103 | Выдвигаем руку ПР | |
0018 | 10006 | Рука ПР выдвинута | |
0019 | 00103 | Закончить выдвижение руки | |
0020 | ПБЛ | 03 | Перейти к блоку 03 |
0021 | НБЛ | 03 | Начало блока 03 |
0022 | 10007 | Пока не сработает датчик SQ-7 | |
0023 | 00104 | Сжимаем схват | |
0024 | 10007 | Схват сжат | |
0025 | 00104 | Прекратить сжимание | |
0026 | ПБЛ | 04 | Перейти к блоку 04 |
0027 | НБЛ | 04 | Начало блока 04 |
0028 | 10005 | Пока не сработает датчик SQ-5 | |
0029 | 00102 | Задвигаем руку ПР | |
0030 | 10005 | Рука ПР задвинута | |
0031 | 00102 | Закончить задвижение руки | |
0032 | ПБЛ | 05 | Перейти к блоку 05 |
0033 | НБЛ | 05 | Начало блока 05 |
0034 | 10005 | При задвинутой руке | |
0035 | 10002 | До срабатывания датчика SQ-2 | |
0036 | 00101 | Перемещаем ПР влево | |
0037 | 10002 | ПР над ванной 2 | |
0038 | 00101 | Остановить движение ПР | |
0039 | ПБЛ | 06 | Перейти к блоку 06 |
0040 | НБЛ | 06 | Начало блока 06 |
0041 | 10002 | Над ванной 2 | |
0042 | 10006 | До срабатывания датчика SQ-6 | |
0043 | 00103 | Выдвигаем руку ПР | |
0044 | 10006 | Рука ПР выдвинута | |
0045 | 00103 | Закончить выдвижение руки | |
0046 | ПБЛ | 07 | Перейти к блоку 07 |
0047 | НБЛ | 07 | Начало блока 07 |
0048 | 10010 | Пока не сработает датчик SQ-8 | |
0049 | 00105 | Разжимаем схват | |
0050 | 10010 | Схват разжатт | |
0051 | 00105 | Прекратить разжимание | |
0052 | 00106 | Начать гальванообработку детали 2 | |
0053 | ЗТС | 020 1 0600 | Запускаем таймер на 60с |
0054 | ПБЛ | 08 | Перейти к блоку 08 |
0055 | НБЛ | 08 | Начало блока 08 |
0056 | 10005 | Пока не сработает датчик SQ-5 | |
0057 | 00102 | Задвигаем руку ПР | |
0058 | 10005 | Рука ПР задвинута | |
0059 | 00102 | Закончить задвижение руки | |
0060 | ПБЛ | 09 | Перейти к блоку 09 |
0061 | НБЛ | 09 | Начало блока 09 |
0062 | 10005 | При задвинутой руке | |
0063 | 10003 | До срабатывания датчика SQ-3 | |
0064 | 00101 | Перемещаем ПР влево | |
0065 | 10003 | ПР над накопителем 1 | |
0066 | 00101 | Остановить движение ПР | |
0067 | ПБЛ | 10 | Перейти к блоку 10 |
0068 | НБЛ | 10 | Начало блока 10 |
0069 | 10003 | Над накопителем 1 | |
0070 | 10006 | До срабатывания датчика SQ-6 | |
0071 | 00103 | Выдвигаем руку ПР | |
0072 | 10006 | Рука ПР выдвинута | |
0073 | 00103 | Закончить выдвижение руки | |
0074 | При срабатывании таймера | ||
0075 | 00106 | Закончить гальванообработку дет 2 | |
0076 | СТС | 020 | Сбросить таймер |
0077 | ПБЛ | 11 | Перейти к блоку 11 |
0078 | НБЛ | 11 | Начало блока 11 |
0079 | 10007 | Пока не сработает датчик SQ-7 | |
0080 | 00104 | Сжимаем схват | |
0081 | 10007 | Схват сжат | |
0082 | 00104 | Прекратить сжимание | |
0083 | ПБЛ | 12 | Перейти к блоку 12 |
0084 | НБЛ | 12 | Начало блока 12 |
0085 | 10005 | Пока не сработает датчик SQ-5 | |
0086 | 00102 | Задвигаем руку ПР | |
0087 | 10005 | Рука ПР задвинута | |
0088 | 00102 | Закончить задвижение руки | |
0089 | ПБЛ | 13 | Перейти к блоку 13 |
0090 | НБЛ | 13 | Начало блока 13 |
0091 | 10005 | При задвинутой руке | |
0092 | 10004 | До срабатывания датчика SQ-4 | |
0093 | 00100 | Перемещаем ПР враво | |
0094 | 10004 | ПР над ванной 1 | |
0095 | 00100 | Остановить движение ПР | |
0096 | ПБЛ | 14 | Перейти к блоку 14 |
0097 | НБЛ | 14 | Начало блока 14 |
0098 | 10004 | Над ванной 1 | |
0099 | 10006 | До срабатывания датчика SQ-6 | |
0100 | 00103 | Выдвигаем руку ПР | |
0101 | 10006 | Рука ПР выдвинута | |
0102 | 00103 | Закончить выдвижение руки | |
0103 | ПБЛ | 15 | Перейти к блоку 15 |
0104 | НБЛ | 15 | Начало блока 15 |
0105 | 10010 | Пока не сработает датчик SQ-8 | |
0106 | 00105 | Разжимаем схват | |
0107 | 10010 | Схват разжатт | |
0108 | 00105 | Прекратить разжимание | |
0109 | 00107 | Начать гальванообработку детали 1 | |
0110 | ЗТС | 020 1 0200 | Запускаем таймер на 20с |
0111 | ПБЛ | 16 | Перейти к блоку 16 |
0112 | НБЛ | 16 | Начало блока 16 |
0113 | 10005 | Пока не сработает датчик SQ-5 | |
0114 | 00102 | Задвигаем руку ПР | |
0115 | 10005 | Рука ПР задвинута | |
0116 | 00102 | Закончить задвижение руки | |
0117 | ПБЛ | 17 | Перейти к блоку 17 |
0118 | НБЛ | 17 | Начало блока 17 |
0119 | 10005 | При задвинутой руке | |
0120 | 10002 | До срабатывания датчика SQ-2 | |
0121 | 00100 | Перемещаем ПР вправо | |
0122 | 10002 | ПР над ванной 2 | |
0123 | 00100 | Остановить движение ПР | |
0124 | ПБЛ | 18 | Перейти к блоку 18 |
0125 | НБЛ | 18 | Начало блока 18 |
0126 | 10002 | Над ванной 2 | |
0127 | 10006 | До срабатывания датчика SQ-6 | |
0128 | 00103 | Выдвигаем руку ПР | |
0129 | 10006 | Рука ПР выдвинута | |
0130 | 00103 | Закончить выдвижение руки | |
0131 | При срабатывании таймера | ||
0132 | 00106 | Закончить гальванообработку дет 1 | |
0133 | СТС | 020 | Сбросить таймер |
0134 | ПБЛ | 19 | Перейти к блоку 19 |
0135 | НБЛ | 19 | Начало блока 19 |
0136 | 10007 | Пока не сработает датчик SQ-7 | |
0137 | 00104 | Сжимаем схват | |
0138 | 10007 | Схват сжат | |
0139 | 00104 | Прекратить сжимание | |
0140 | ПБЛ | 20 | Перейти к блоку 20 |
0141 | НБЛ | 20 | Начало блока 20 |
0142 | 10005 | Пока не сработает датчик SQ-5 | |
0143 | 00102 | Задвигаем руку ПР | |
0144 | 10005 | Рука ПР задвинута | |
0145 | 00102 | Закончить задвижение руки | |
0146 | ПБЛ | 21 | Перейти к блоку 21 |
0147 | НБЛ | 21 | Начало блока 21 |
0148 | 10005 | При задвинутой руке | |
0149 | 10001 | До срабатывания датчика SQ-1 | |
0150 | 00100 | Перемещаем ПР вправо | |
0151 | 10001 | ПР над накопителем 2 | |
0152 | 00100 | Остановить движение ПР | |
0153 | ПБЛ | 22 | Перейти к блоку 22 |
0154 | НБЛ | 22 | Начало блока 22 |
0155 | 10001 | ПР над накопителем 2 | |
0156 | 10006 | Пока не сработает датчик SQ-6 | |
0157 | 00103 | Выдвигаем руку ПР | |
0158 | 10006 | Рука ПР выдвинута | |
0159 | 00103 | Закончить выдвижение руки | |
0160 | ПБЛ | 23 | Перейти к блоку 23 |
0161 | НБЛ | 23 | Начало блока 23 |
0162 | 10008 | Пока не сработает датчик SQ-8 | |
0163 | 00105 | Разжимаем схват | |
0164 | 10008 | Схват разжат | |
0165 | 00105 | Прекратить разжимание | |
0166 | ПБЛ | 24 | Перейти к блоку 24 |
0167 | НБЛ | 24 | Начало блока 24 |
0168 | 10005 | Пока не сработает датчик SQ-5 | |
0169 | 00102 | Задвигаем руку ПР | |
0170 | 10005 | Рука ПР задвинута | |
0171 | 00102 | Закончить задвижение руки | |
0172 | ПБЛ | 25 | Перейти к блоку 25 |
0173 | НБЛ | 25 | Начало блока 25 |
0174 | 10005 | При задвинутой руке | |
0175 | 10004 | До срабатывания датчика SQ-4 | |
0176 | 00101 | Перемещаем ПР влево | |
0177 | 10004 | ПР над ванной 1 | |
0178 | 00101 | Остановить движение ПР | |
0179 | ПБЛ | 26 | Перейти к блоку 26 |
0180 | НБЛ | 26 | Начало блока 26 |
0181 | 10004 | Над ванной 1 | |
0182 | 10006 | До срабатывания датчика SQ-6 | |
0183 | 00103 | Выдвигаем руку ПР | |
0184 | 10006 | Рука ПР выдвинута | |
0185 | 00103 | Закончить выдвижение руки | |
0186 | ПБЛ | 27 | Перейти к блоку 27 |
0187 | НБЛ | 27 | Начало блока 27 |
0188 | 10007 | Пока не сработает датчик SQ-7 | |
0189 | 00104 | Сжимаем схват | |
0190 | 10007 | Схват сжат | |
0191 | 00104 | Прекратить сжимание | |
0192 | ПБЛ | 28 | Перейти к блоку 28 |
0193 | НБЛ | 28 | Начало блока 28 |
0194 | 10005 | Пока не сработает датчик SQ-5 | |
0195 | 00102 | Задвигаем руку ПР | |
0196 | 10005 | Рука ПР задвинута | |
0197 | 00102 | Закончить задвижение руки | |
0198 | ПБЛ | 29 | Перейти к блоку 29 |
0199 | НБЛ | 29 | Начало блока 29 |
0200 | 10005 | При задвинутой руке | |
0201 | 10003 | До срабатывания датчика SQ-3 | |
0202 | 00101 | Перемещаем ПР влево | |
0203 | 10003 | ПР над накопителем 1 | |
0204 | 00101 | Остановить движение ПР | |
0205 | ПБЛ | 30 | Перейти к блоку 30 |
0206 | НБЛ | 30 | Начало блока 30 |
0207 | 10003 | Над накопителем 1 | |
0208 | 10006 | До срабатывания датчика SQ-6 | |
0209 | 00103 | Выдвигаем руку ПР | |
0210 | 10006 | Рука ПР выдвинута | |
0211 | 00103 | Закончить выдвижение руки | |
0212 | ПБЛ | 31 | Перейти к блоку 31 |
0213 | НБЛ | 31 | Начало блока 31 |
0214 | 10008 | Пока не сработает датчик SQ-8 | |
0215 | 00105 | Разжимаем схват | |
0216 | 10008 | Схват разжат | |
0217 | 00105 | Прекратить разжимание | |
0218 | ПБЛ | 1 | Перейти к блоку 1 |
2.5. Разработка электрической схемы соединений
Электрическая
схема соединений ПЛК-256 с датчиками
и исполнительными устройствами приведена
в приложении Д. При разработке схемы
использована информация из [3].
Заключение
В
результате выполнения курсовой работы
была разработана система управления
РТК гальванообработки. При этом были
изучены основные направления развития
робототехники, способы разработки систем
управления технологическими объектами,
циклограмм, управляющих программ и их
релейно-контактных эквивалентов.
Список используемых источников
Информация о работе Разработка системы автоматического управления