Вариант 3

Задание.

Установив деталь в приемник, тестирующий модуль определяет материал и цвет детали.

Если деталь из металла или черная, то после нажатия кнопки START подъемник 1А поднимает деталь на верх.

Если деталь красная, то после установки детали в приемник и нажатии кнопки START цилиндр 2A сразу же выталкивает деталь в брак.

В верхней позиции подъемника выдвигается измерительный цилиндр 3A и осуществляется измерение высоты детали с помощью потенциометра А6 с задержкой времени (TON1).

Цилиндр 2A выталкивает деталь на короб, если высота детали 25±1 mm (черная деталь). Цилиндр 2A задвигается.

Если высота детали не соответствует требованиям (высота металлической детали 27,5mm), то подъемник 1A переносит деталь вниз и выталкивающий цилиндр 2A выталкивает деталь в брак.

Стоппер 4А задвигается на определенное время (TOF2, 2s.), пропуская деталь на следующую станцию.

Индикатор кнопки START (H1) горит, если достигнута исходная позиция приводов.

Индикатор кнопки RESET (H2) горит, если не достигнута исходная позиция приводов.

Нажав кнопку Em_STOP можно остановить работу устройства. В этом режиме горит лампа H3. После нажатия аварийной кнопки необходимо привести все привода в исходную позицию, нажав кнопку RESET.

Пояснение.

1. Схема управления содержит конфликты сигналов.

Для устранения конфликтов используют способ маркировки действий (или групп) с помощью меркеров (флагов). Для этого по специальному алгоритму разбивают весь процесс на группы и присваивают каждой группе свой меркер. Все действия внутри группы связаны логикой AND с соответствующим меркером.

В самом простом случае меркер присваивают каждому шагу устройства. Количество битовых меркеров определяется количеством шагов работы устройства. Например, для 8 шагов можно использовать переменную память: от M10.0 до M10.7.

2. Аналоговый вход.

Контроллер CPU 1214C имеет 2 встроенных (12 битовых) аналоговых входа.

Рис. 9. Схема подключения аналогового потенциометра, где R1- потенциометр; Rj – добавочное сопротивление (рисунок автора).

В установках контроллера указаны по умолчанию адреса встроенных аналоговых входов (каналов). IW64 - адрес первого канала, куда записываются данные АЦП (аналогово – цифровой преобразователь). Аналоговая величина изменяется в диапазоне 0 … 32767.

Рис. 10. Адрес первого канала аналогового входа по умолчанию (рисунок автора).

Адреса и символы переменных.

Таблица 7. Добавить адреса и форматы переменных.

Символ

Адрес

Комментарий

Входы

1

S1


START, н.о. Включает одиночный или автоматический режимы, в зависимости от положения кнопки S3

2

S2


STOP, н.о. Устройство завершает выполнение рабочего цикла до достижения исходной позиции

3

S3


AUTO/ MAN кнопка выбора с фиксатором

4

S4


RESET, н.о. Приводит устройство в исходную позицию

5

Em_Stop


EM_STOP, аварийная кнопка, с фиксатором. Прерывает работу устройства. При этом мигает лампа Н3

6

1B2


Подъемник 1A нижнее положение

7

1B1


Подъемник 1A верхнее положение

8

2B2


Выталкивающий цилиндр 2A, исходная задвинутая позиция

9

2B1


Выталкивающий цилиндр 2A, выдвинутая позиция

10

3B1


Измерительный цилиндр 3A, выдвинутая позиция

11

B5


Индуктивный датчик, дискретный

12

B6


Емкостной датчик, дискретный

13

B7


Световой датчик, дискретный

Выходы

1

1Y1


Транспортирует деталь наверх

2

1Y2


Транспортирует деталь вниз

3

2Y1


Выталкивает деталь

4

3Y1


Опускает измерительное устройство на деталь

5

4Y1


Пропускает деталь на следующую станцию

6

H1


Индикатор кнопки START, устройство находится в исходной позиции

7

H2


Индикатор кнопки RESET, устройство не находится в исходной позиции

8

H3


Горит в аварийном режиме

Переменные

1

Init_Pos

M0.0

Активен, если приводы в исходной позиции



М0.1

Рабочий сброс переменных в конце цикла работы

2

Металл

M0.2

Деталь из металла

3

Красная

M0.3

Деталь красная из пластмассы

4

Черная

M0.4

Деталь черная из пластмассы

5

H_Vale

M0.5

Высота детали не соответствует

6


MB10

Исключение конфликтов сигналов

5.1 Структура программы управления.

Таблица 8. Структура программы управления.

Адрес

Пояснение

1

OB100

Стартовый блок B100 выполняется однократно при включении режима RUN.

В этом блоке все выходы и переменные устанавливаются в исходную позицию.

2

OB1

Организационный блок.

Вызов рабочего блока FC1

Вызов блока сброса FC2, если RESET

3

FC1

Рабочий блок. Управление устройством.

4

FC2

Сбрасывает все переменные Q и M

5.2 Стартовый блок B100 (то же, что и п.3.3).

5.3 Блок сброса FC2.

Подобно стартовому блоку устанавливает все переменные (выходы Q и переменные М) в исходную позицию путем сброса состояния всех электромагнитов и переменных на «0» с помощью операции RESET, RESET_BF или MOVE при нажатии кнопки S4 (RESET).

При этом подъемник необходимо отдельно направить в исходную позицию, т.к. пневматическая схема пневмораспределителя (5/3): set 1Y2. Reset 1Y2.

5.4 Организационный блок OB1.

Рис. 11. Вызов блоков из основной программы.

5.5 Последовательность движений.

Таблица 9.

Переменная

Действие

Условия

1


Определение материала и цвета детали

Если достигнута исходная позиция Init_Pos=1 и нажата кнопка START

2


Горит лампа H2

Если не достигнута исходная позиция Init_Pos=0

3


Горит лампа H3

Если EM_STOP

4


Стоппер 4A задвигается

Если цилиндр 2A не в исходной поз.

5

M10.0

Подъемник 1A вверх

START and (Металл or Черная) and Init_Pos and EM_STOP

6

M10.1

Цилиндр 3A выдвигается

Подъемник наверху 1B1 and M10.0 and EM_STOP

7

M10.2

Измерение высоты детали, включение TON1

Подъемник наверху 3B1 and M10.1 and EM_STOP

8

M10.3

Цилиндр 2A выталкивает деталь

Если высота детали no H_Vale and TON1 and M10.2 and EM_STOP

Если высота детали не соответствует H_Vale, то идти в п. 10

9

M10.4

Цилиндр 2A задвигается

Цилиндр 2A выдвинут 2B1 and M10.3 and EM_STOP

10

M10.5

Подъемник 1A вниз

(Цилиндр 2A задвинут 2B2 and M10.4) or (H_Vale and TON1 and M10.2).

Если Детальu kõrgus on vale, то верхняя k sammule 12

11


Reset M10.5; Металл; Черная

Если (noH_Vale and Init_Pos→P и M10.5) or M10.6

//Если высота детали была ОК, то при достижении исходной поз. выключить M10.5 импульсом →Р. Программа остановленна.

12

M10.6

Цилиндр 2A выталкивает деталь

Если H_Vale and 2B1 and M10.5 and EM_STOP //Если высота детали была не ОК, то при достижении исходной поз. вытолкнуть деталь в брак

13

M10.7

Цилиндр 2A задвигается

Цилиндр 2A выдвинут 2B1 and M10.6

14


Reset M10.7; H_Vale; Металл; Черная; Красная

Если M10.7 and Init_Pos→P

5.6 Рабочий блок FC1. Аналитическое описание.

Init_Pos

Init_Pos=1, если 1B2 and 2B2

H1

H1=1, если Init_Pos

H2

H2=1, если no Init_Pos

H3

H3=1, если no EM_STOP

Металл

Set M0.2 , если S1 and B5 and B6 and B7

reset M0.2, если M0.1

Красная

M0.3=1, если S1 and noB5 and B6 and B7

Черная

Set M0.4, если S1 and noB5 and B6 and noB7

reset M0.4, если M0.1

H_Vale // min, max – допустимые уровни детали определяются экспериментальным путем. Уровни просматривать в WATCH TBL. Для S7-1200 адрес первого встроенного аналогового канала IW64. Для S7-200 адрес первого аналогового канала AIW0.

set H_Vale, если IW64>”max” and IW64<”min”

reset H_Vale, если M0.1

M10.0

set M10.0 , если (Металл or Черная) and S1 and Init_Pos and EM_STOP

reset M10.0, если M10.1

M10.1

set M10.1 , если 1B1 and M10.0 and EM_STOP

reset M10.1, если M10.2

M10.2

set M10.2 , если 3B1 and M10.1 and EM_STOP

reset M10.2, если M10.3

M10.3

set M10.3 , если no H_Vale and TON1 and M10.2

reset M10.3, если M10.4

M10.4

set M10.4 , если 2B1 and M10.3 and EM_STOP

reset M10.4, если M10.5

M10.5

set M10.5, если ((2B2 and M10.4) or (H_Vale и taimer1 and M10.2)) and EM_STOP

reset M10.5, если M0.1or M10.6

M10.6

set M10.6 , если H_Vale and 2B1 and M10.5 and EM_STOP

reset M10.3, если M10.7

M10.7

set M10.3 , если 2B1 and M10.6 and EM_STOP

reset M10.7; H_Vale; Металл; Черная; Красная, если M0.1

M0.1//Выключение всех переменных

M0.1=1, если ((noH_Vale and M10.5) or M10.7) and Init_Pos→P

Таймер: M10.2 and EM_STOP →TON1(1s)

Подъемник 1A

Цилиндр 1A вверх (set 1Y1, reset 1Y2), если M10.0 и EM_STOP

Цилиндр 1A вниз (set 1Y2, reset 1Y1), если M10.5 и EM_STOP

Выталкивающий цилиндр 2A

Цилиндр 2A выдвигается (set 2Y1), если M10.3 or M10.6

Цилиндр 2A задвигается (reset 2Y1), если M10.2 or M10.7

Измерительный цилиндр 3A

Цилиндр 3A выдвигается (set 2Y1), если M10.1

Цилиндр 3A задвигается (reset 2Y1), если M10.3

Стоппер - цилиндр 4A //моностабильный цилиндр выдвигается под действием пружины.

Цилиндр 4A задвигается (4Y1=1), если no 2B2 →TOF1(2s)

5.7 Написать программу, загрузить и проверить в работе. Ошибки исправить.