Таблица 2.2. Входные сигналы
| № | Наименование входного сигнала | Условное обозначение | Источник входного сигнала | Адрес для ПЛК-256 |
| 1 | Наличие детали в накопителе 2 | КНД | BQ-1 | 10000 |
| 2 | ПР над накопителем 2 | КН2 | SQ-1 | 10001 |
| 3 | ПР над ванной 2 | КВ2 | SQ-2 | 10002 |
| 4 | ПР над накопителем 1 | КН1 | SQ-3 | 10003 |
| 5 | ПР над ванной 1 | КВ1 | SQ-4 | 10004 |
| 6 | Рука ПР задвинута | КРЗ | SQ-5 | 10005 |
| 7 | Рука ПР выдвинута | КРВ | SQ-6 | 10006 |
| 8 | Схват зажат | КСЗ | SQ-7 | 10007 |
| 9 | Схват разжат | КСР | SQ-8 | 10010 |
| 10 | Разрешение цикла | РЦ | Др. СУ | 10011 |
| 11 | Пуск цикла | ПУСК | SВ 1 | 10012 |
Таблица 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. Разработка релейно-контактного эквивалента программы управления
Разработка релейно-контактного эквивалента (РКЭ) программы управления для ПЛК-256 выполняется согласно рекомендациям, изложенным в [3]. РКЭ программы управления представлен в приложении Г. В таблице 2.4 приведены комментарии.
Таблица 2.4. Комментарии для релейно-контактного эквивалента программы
| Блок | Такт | Цепь | Комментарий |
| 01 | 1 | 1 | Проверяем следующие начальные условия:1. Работа системы разрешена;2. Кнопка «ПУСК» нажата;3. Деталь находится в накопителе 2; |
| 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 | Когда таймер сработает, выполняем следующие действия:1. Завершаем гальванообработку в ванне 2;2. Сбрасываем таймер;3. Переходим к блоку 11. |
| 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 | Когда таймер сработает, выполняем следующие действия:1. Завершаем гальванообработку в ванне 1;2. Сбрасываем таймер;3. Переходим к блоку 19. |
| 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].