Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы алгоритмизации ч

.3.pdf
Скачиваний:
100
Добавлен:
20.04.2015
Размер:
878.45 Кб
Скачать

Практикум

5. Решения заданий

5.3. Пешеходный переход со светофорным регулированием (маска М21)

Контроллер подключают в соответствии с рис. 5.11 и приступают к разработке программы. Задачу решают в следующем порядке.

Шаг 1. Определение режимов работы светофоров и назначение им соответствующих последовательных состояний системы.

Можно выделить следующие режимы работы светофоров:

1.Ожидание (светофоры погашены) – состояние ST1.

2.Дежурный режим (дорожный светофор мигает желтым светом с периодом 2 с, пешеходный светофор не работает) – состояние ST2.

3.Промежуточный режим (на всех светофорах горит красный свет) – состояние ST3.

4.Промежуточный режим (на дорожном светофоре горит красный и желтый свет, на пешеходном – красный) – состояние ST4.

5.Движение автомобилей (на дорожном светофоре горит зеленый свет, на пешеходном – красный) – состояние ST5.

6.Промежуточный режим (на дорожном светофоре горит мигающий зеленый свет, на пешеходном – красный) – состояние ST6.

7.Промежуточный режим (на дорожном светофоре горит желтый свет, на пешеходном – красный) – состояние ST7.

8.Движение пешеходов (на дорожном светофоре горит красный свет, на пешеходном – зеленый) – состояние ST8.

9.Промежуточный режим (на дорожном светофоре горит красный свет, на пешеходном – мигающий зеленый) – состояние ST9.

+24 В

 

 

 

S0

S1

S2

S3

 

 

 

ПЛК

0 В

Рис. 5.11. Схема внешних соединений контроллера

Шаг 2. Определение входных и выходных переменных.

Входные переменные:

Кнопка включения дежурного режима – S2 (= 1 при нажатии); Кнопка включения автоматического режима – S3 (= 1 при нажатии); Кнопка разрешения перехода дороги – S1 (= 1 при нажатии); Кнопка выключения светофоров – S0 (= 0 при нажатии).

61

Практикум

 

 

 

 

 

 

5. Решения заданий

Выходные переменные:

 

 

 

 

 

 

Красный свет дорожного светофора – КС;

 

 

 

 

Желтый свет дорожного светофора – ЖС;

 

 

 

 

Зеленый свет дорожного светофора – ЗС;

 

 

 

 

Красный свет пешеходного светофора – КС;

 

 

 

 

Зеленый свет пешеходного светофора – ЗС.

 

 

 

 

Шаг 3. Построение графа переходов.

 

 

 

 

Вид графа переходов светофоров показан на рис. 5.12.

 

 

Здесь использованы следующие сокращения: МКС – мигающий красный свет; МЖС – мигаю-

щий желтый свет; МЗС – мигающий зеленый свет.

 

 

 

 

Символами TRi обозначены переходы между состояниями. У переходов, связанных с заданием

временных интервалов, проставлена их длительность. Режим мигания обеспечивается отдельны-

ми фрагментами программы, окончание работы которых представлено на графе переходов сигна-

лами Таймер 1 и Таймер 2.

 

 

 

 

 

 

 

FS

 

Кнопка S0

 

Дорожный светофор

 

 

 

 

 

 

 

TR11

 

 

 

 

 

 

 

 

Пешеходный светофор

 

 

ST1

Кнопка S2

 

ST2

 

 

TR9

 

TR1

 

Кнопка S3

 

 

 

МЖС

 

 

 

Ожидание

 

 

 

 

 

 

 

 

 

 

TR2

 

 

 

 

 

 

 

 

 

 

2 с

 

 

 

 

Кнопка S0

 

 

ST4

 

TR3

2 с

ST3

TR4

 

 

 

 

 

 

 

 

 

 

КС

 

 

 

ЖС + КС

 

 

 

ST5

 

КС

 

 

 

КС

ЗС

Кнопка S1

 

 

 

 

 

КС

 

TR6

2 с

 

 

 

Таймер 1

 

 

TR5

 

 

ST7

 

TR10

 

 

 

 

 

TR7

 

 

ST6

 

 

ЖС

 

 

 

 

 

 

 

 

 

МЗС (1 Гц)

 

КС

 

 

 

 

КС

 

 

 

ST8

 

 

 

 

ST9

 

10 с

КС

 

 

 

 

 

TR8

ЗС

 

 

 

 

 

 

 

 

Таймер 2

КС

 

 

 

 

 

 

 

 

 

 

 

МЗС (0,7 Гц)

 

Рис. 5.12. Граф переходов светофоров

 

 

 

 

Шаг 4. Написание логических уравнений для состояний графа.

Для написания логических уравнений, соответствующих состояниям графа, необходимо определить его связанные переходы. Связанным переходам соответствуют логические переменные, определяемые как произведение логической переменной, назначенной данному состоянию, на логическое условие выхода из этого состояния. С учетом сказанного система логических уравнений для связанных переходов графа принимает следующий вид:

62

Практикум

5. Решения заданий

TR1 = ST1 · S2;

TR2 = ST2 · S3;

TR3 = ST3 · 2 c;

TR4 = ST4 · 2 c;

TR5 = ST5 · S1;

TR6 = ST6 · Таймер 1;

TR7 = ST7 · 2 c;

TR8 = ST8 · 10 c;

TR9 = ST5 · S0;

TR10 = ST9 · Таймер 2;

TR11 = ST2 · S0.

Следует отметить, что переход TR2 из дежурного режима выполняется независимо от состояния лампы желтого света дорожного светофора (включена она или не включена). При необходимости синхронизировать этот переход с окончанием фазы включения лампы желтого света логическое уравнение для TR2 должно содержать переменную таймера, определяющего длительность фазы включения лампы. На рис. 5.13 показан один из вариантов решения этой задачи.

При появлении единичного сигнала на входе I0.3 контроллера устанавливается бит M1.7, позволяющий снять этот сигнал. Бит перехода будет установлен только при нулевом значении бита T37, т. е. когда таймер T37 сбрасывается, тем самым завершая фазу включения.

Рис. 5.13. Синхронизация перехода с окончанием фазы включения лампы желтого света

Логическое уравнение для переменной i-го состояния имеет вид

n

m

STi = (STi + ITRij ) ·

 

, где:

OTRik

j=1

k=1

ITRij – связанный переход, входящий в данное состояние STi;

OTRik – связанный переход, выходящий из данного состояния STi.

Для рассматриваемого примера получим следующую систему логических уравнений:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ST1 = (ST1

+ TR9 + TR11) · TR1 + FS;

ST2 = (ST2

+ TR1) ·

TR2

·

TR11

;

 

 

ST3 = (ST3

+ TR2) ·

TR3

;

 

 

 

 

ST4 = (ST4

+ TR3) ·

TR4

 

 

;

 

 

 

 

 

 

 

ST5 = (ST5

+ TR4 + TR10) ·

TR5

·

TR9

;

ST6

= (ST6

+ TR5) ·

TR6

 

;

 

 

 

 

 

 

 

ST7

= (ST7

+ TR6) ·

TR7

;

 

 

 

 

 

 

 

ST8

= (ST8

+ TR7) ·

TR8

;

 

 

 

 

 

 

 

ST9

= (ST9

+ TR8) ·

TR10

.

63

Практикум

5. Решения заданий

Шаг 5. Написание логических уравнений для выходов системы управления.

Система логических уравнений имеет следующий вид.

Дорожный светофор:

КС = ST3 + ST4 + ST8 + ST9; ЖС = ST4 + ST7;

ЗС = ST5.

Пешеходный светофор:

КС = ST3 + ST4 + ST5 + ST6 + ST7; ЗС = ST8.

Примечание

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

Шаг 6. Назначение адресов переменным.

S0 → I0.0, S1 → I0.1, S2 → I0.2, S3 → I0.3;

Дорожный светофор: КС → Q0.0, ЖС → Q0.1, ЗС → Q0.2; Пешеходный светофор: КС → Q0.3, ЗС → Q0.4;

TR1 – TR11 → M0.0 – M1.2; ST1 – ST4 → M10.0 – M11.0.

Шаг 7. Создание программ формирования временных интервалов.

Реализация режима мигания ламп светофора и задание временных интервалов в его работе осуществляется с помощью таймеров программируемого логического контроллера. Как следует из описания задачи, необходимо обеспечить временные интервалы 2 с и 10 с, а также режимы мигания ламп с частотой 0,5 Гц, 0,7 Гц и 1,0 Гц.

Для формирования временных интервалов 2 с и 10 с необходимо запускать таймеры с задержкой включения (для CPU S7-222 – инструкция TON) с соответствующими уставками в состояниях ST3, ST4, ST7 и ST8. Несмотря на то что в состояниях ST3, ST4 и ST7 формируются одинаковые временные интервалы, использовать один и тот же таймер в состояниях ST3 и ST4 нельзя, т. к. в противном случае не будет реализовано состояние ST4. С учетом сказанного логические уравнения управления таймерами принимают следующий вид:

Таймер (2 с) = ST3;

Таймер (2 c) = ST4 + ST7.

Выбор конкретного таймера производится согласно правилам применения инструкции TON.

Всветофоре реализованы два режима мигания ламп: непрерывный в дежурном режиме работы

ив виде серии конечного числа вспышек при смене света.

Для непрерывного генерирования световых вспышек можно использовать, например, два таймера TON, работающих в режиме управления, с помощью сигналов их состояний: первый формирует интервал включения лампы, второй – интервал паузы.

Временные диаграммы работы таймеров представлена на рис. 5.14 (Т1 и Т2 – биты окончания счета таймеров).

Из приведенной диаграммы следует, что интервал включения лампы t1 формируется таймером Т2, а интервал паузы t2 – таймером Т1. Длительность этих интервалов определяется соответствующими уставками таймеров и отсчитываются от момента запуска таймера до момента установки бита окончания счета.

64

Практикум 5. Решения заданий

T1

 

 

 

 

t2

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

T2

t1

 

 

 

 

 

t1

 

 

 

 

 

 

 

 

 

t

Лампа

t

Рис. 5.14. Временные диаграммы формирования импульсов таймерами TON

Учитывая то, что режим непрерывного мигания реализуется в состоянии ST2, запуск таймеров должен осуществляться при выполнении следующих условий:

Таймер 1 = ST2 · T2 ;

Таймер 2 = ST2 · Т1.

Условие включения лампы в соответствии с диаграммой имеет следующий вид: Лампа = Т1 · T2 .

В качестве таймеров Т1 и Т2 можно использовать любой таймер TON с соответствующей уставкой.

На рис. 5.15, а) приведена программа генератора импульсов с шириной импульса, равной длительности паузы.

Здесь бит M10.1 соответствует состоянию ST2, а в качестве таймеров T1 и T2 взяты таймеры T37 и T38 с дискретой 100 мс. При выбранных значениях уставок периодичность импульсов составляет 2 с (1 с – ширина импульса и 1 с – длительность паузы).

65

Практикум

5. Решения заданий

 

 

 

 

Рис. 5.15. Программы генератора импульсов:

а) непрерывная серия импулсьов; б) конечное число импульсов

Применение общего начала отсчета для всех таймеров позволяет изменять параметры серии вспышек, т. к. таймеры работают независимо друг от друга. Начало серии вспышек определяется условием разрешения счета для всех таймеров, конец серии – единичным значением бита последнего таймера (в данном случае T6).

Иной подход применяется при генерировании конечного числа импульсов. На рис. 5.16 представлены временные диаграммы работы таймеров при формировании трех вспышек. Здесь для формирования серии небольшого числа вспышек применен метод общего начала отсчета таймеров TON. Количество используемых таймеров должно быть равно числу изменений состояния лампы в режиме генерации вспышек. Как следует из рис. 5.16, для формирования трех вспышек необходимо использовать 6 таймеров. При этом логическая функция, реализующая режим мигания лампы, принимает следующий вид:

Лампа = T1 · T2 + T3 · T4 + T5 · T6 , где

T1 – T6 – биты окончания счета таймеров.

66

Практикум 5. Решения заданий

T1

t

 

 

 

 

 

 

t

 

 

 

 

 

 

 

T2

 

2t

 

 

 

 

 

 

t

 

 

 

 

 

 

 

T3

 

 

3t

 

 

 

 

 

 

t

 

 

 

 

 

 

 

T4

 

 

 

4t

 

 

 

 

 

 

t

 

 

 

 

 

 

 

T5

 

 

 

 

5t

 

 

 

 

 

 

t

 

 

 

 

 

 

 

T6

 

 

 

 

 

6t

 

 

 

 

 

 

t

 

 

 

 

 

 

 

Лампа

t

Рис. 5.16. Принцип формирования серии конечного числа импульсов

На рис. 5.15, б) приведена программа формирования серии из трех вспышек лампы зеленого света на дорожном светофоре. Длительность вспышки равна длительности паузы (0,5 с). В качестве таймеров T1 – T6 здесь применены таймеры TON с дискретой ∆t = 100 мс (T47 – T52). Уставки таймеров обеспечивают одинаковую длительность вспышек и пауз между ними (0,5 с).

Шаг 8. Написание программы для контроллера.

Полностью программа управления светофорами приведена на прилагаемом компакт-диске.

67

Практикум

 

 

 

 

 

 

 

 

 

 

5. Решения заданий

5.4. Управление наполнением водонапорной башни (маска М40)

 

Контроллер подключают в соответствии с рис. 5.17 и приступают к разработке программы.

Задачу решают в следующем порядке.

 

 

 

 

 

 

+24 В

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S11

 

S0

S1

S2

S3

S4

S5

B1

B2

B3

B4

B5

10 В

 

 

 

 

 

 

 

ПЛК

 

 

 

 

 

 

 

 

 

 

 

 

0...10 В

 

 

0 В

 

 

 

 

 

 

 

 

 

 

 

Рис. 5.17. Схема внешних соединений контроллера

 

 

 

 

Вариант 1

Шаг 1. Определение режимов работы системы водоснабжения и назначение им соответствующих последовательных состояний системы.

Можно выделить следующие режимы работы системы водоснабжения:

1.Ожидание (насос M1 выключен, клапан Y1 закрыт) – состояние ST1.

2.Наполнение цистерны (включен насос M1, клапан Y1 закрыт) – состояние ST2.

3.Цистерна наполнена водой (насос M1 выключен, клапан Y1 закрыт) – состояние ST3.

4.Слив воды из цистерны при одновременной подаче воды насосом M1 (включен насос M1, клапан Y1 открыт) – состояние ST4.

5.Цистерна пуста (насос M1 выключен, клапан Y1 закрыт) – состояние ST5.

6.Слив воды из цистерны (насос M1 выключен, клапан Y1 открыт) – состояние ST6.

Шаг 2. Определение входных и выходных переменных.

Входные переменные (часть сигналов в варианте 1 не используется): Тумблер включения системы – S11 (= 1 в положении «включено»); Кнопка наполнения цистерны – S5 (= 1 при нажатии);

Кнопка наполнения цистерны до уровня 4 – S4 (= 1 при нажатии); Кнопка наполнения цистерны до уровня 3 – S3 (= 1 при нажатии); Кнопка наполнения цистерны до уровня 2 – S2 (= 1 при нажатии); Кнопка наполнения цистерны до уровня 1 – S1 (= 1 при нажатии); Кнопка слива воды из цистерны – S0 (= 1 при нажатии); Сигнализатор предельного уровня – B5 (= 1 при срабатывании); Сигнализатор уровня 4 – B4 (= 1 при срабатывании); Сигнализатор уровня 3 – B3 (= 1 при срабатывании); Сигнализатор уровня 2 – B2 (= 1 при срабатывании); Сигнализатор уровня 1 – B1 (= 1 при срабатывании).

68

Практикум

5. Решения заданий

Выходные переменные:

Лампа индикации уровня 4 – H4; Лампа индикации уровня 3 – H3; Лампа индикации уровня 2 – H2; Лампа индикации уровня 1 – H1; Включить насос M1 – M1; Открыть клапан Y1 – Y1.

Шаг 3. Построение графа переходов.

Вид графа переходов системы водоснабжения показан на рис. 5.18.

Здесь обозначение FS означает бит первого скана (SM0.1), а Cmp – бит сравнения значений текущего сигнала наполнения цистерны U1 и сигнала, соответствующего пустой цистерне. Символами TRi обозначены переходы между состояниями.

 

 

 

Ожидание

TR12

 

Cmp

 

 

 

 

 

 

 

FS

ST1

S0

 

 

ST6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TR11

Y1

 

TR9

 

 

 

 

 

 

 

 

 

 

 

 

TR6

 

S5 · S11

 

 

 

 

 

 

 

 

 

 

TR1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TR8

 

TR7

 

 

 

 

 

 

 

 

S11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ST2

 

S11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

M1

 

 

 

 

 

 

 

 

 

S11

 

 

 

 

 

 

 

 

 

 

 

 

 

B5

ST5

 

 

 

 

 

 

 

 

 

S11

 

 

 

 

 

 

TR2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TR4

 

 

 

 

S0

ST3

 

 

 

 

 

 

TR3

 

 

 

 

 

 

 

 

 

 

 

TR5

 

 

 

B1

 

 

ST4

 

 

 

 

 

 

 

 

 

 

B5

 

 

 

 

 

 

 

 

 

 

 

 

TR10

 

 

 

 

 

 

 

 

 

 

 

 

 

M1, Y1

S5

Рис. 5.18. Граф переходов системы водоснабжения (вариант 1)

Основная последовательность событий представлена состояниями ST1 – ST5. Состояние ST6 введено специально для возможности обнулить индикатор наполнения цистерны, если он находится между контролируемыми уровнями. В этом состоянии открывается клапан Y1 и слив воды из цистерны производится не до уровня 4, а полностью.

Шаг 4. Написание логических уравнений для состояний графа.

Для написания логических уравнений, соответствующих состояниям графа, необходимо определить его связанные переходы. Связанным переходам соответствуют логические переменные, определяемые как произведение логической переменной, назначенной данному состоянию, на логическое условие выхода из этого состояния. С учетом сказанного система логических уравнений для связанных переходов графа принимает следующий вид:

69

Практикум

5. Решения заданий

TR1 = ST1 · S5 · S11;

TR2 = ST2 · B5;

TR3 = ST3 · S0;

TR4 = ST4 · B1;

TR5 = ST5 · B5;

TR6 = ST2 · S11;

TR7 = ST3 · S11;

TR8 = ST4 · S11;

TR9 = ST5 · S11;

TR10 = ST4 · B5;

TR11 = ST1 · S0;

TR12 = ST6 · Cmp.

Логическое уравнение для переменной i-го состояния имеет вид

n

m

STi = (STi + ITRij ) ·

 

, где:

OTRik

j=1

k=1

ITRij – связанный переход, входящий в данное состояние STi;

OTRik – связанный переход, выходящий из данного состояния STi.

Система логических уравнений для рассматриваемого примера имеет следующий вид:

ST1 = (ST1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+ TR6 + TR7 + TR8 + TR9 + TR12) · TR1 · TR11 + FS;

ST2 = (ST2

+ TR1) ·

TR2

·

 

TR6

;

 

 

ST3

= (ST3

+ TR2 + TR5) ·

TR3

·

TR7

;

ST4

= (ST4

+ TR3) ·

TR4

 

 

·

TR8

;

ST5

= (ST5

+ TR4) ·

TR5

 

·

 

TR9

;

ST6

= (ST6

+ TR11) ·

TR12

.

Шаг 5. Составление логических уравнений для выходов системы управления.

Система логических уравнений имеет следующий вид:

M1 = ST2 + ST4;

Y2 = ST4 + ST6.

Шаг 6. Назначение адресов переменным.

S0 → I0.0, S1 → I0.1, S2 → I0.2, S3 → I0.3, S4 → I0.4, S5 → I0.5, S11 → I1.0; B1 → I1.1, B2 → I1.2, B3 → I1.3, B4 → I1.4, B5 → I1.5;

H1 → Q0.1, H2 → Q0.2, H3 → Q0.3, H4 → Q0.4; Y1 → Q0.0, M1 → Q0.5;

TR1 – TR12 → M0.1 – M1.4; ST1 – ST6 → M10.1 – M10.6; Cmp → M0.0.

Шаг 7. Написание программы для контроллера.

На рис. 5.19 и 5.20 приведена программа управления системой водоснабжения согласно описанию варианта 1.

70