Методы алгоритмизации ч.3
.pdf
Практикум |
5. Решения заданий |
Системные переходы в состояния ST1 и ST6 не пронумерованы, т. к. предшествующие им состояния не определены. Системный переход в состояние ST1 определяет условие инициализации системы управления, а системный переход в состояние ST6 – условие перехода системы в состояние «Останов» после перевода контроллера в режим RUN.
Шаг 4. Написание логических уравнений для состояний графа.
Для написания логических уравнений, соответствующих состояниям графа, необходимо определить его связанные переходы. Связанным переходам соответствуют логические переменные, определяемые как произведение логической переменной, назначенной данному состоянию, на логическое условие выхода из этого состояния. С учетом сказанного система логических уравнений для связанных переходов графа принимает следующий вид:
TR1 = ST1 · S1;
TR2 = ST1 · S2;
TR3 = ST1 · S3;
TR4 = ST1 · S4;
TR5 = ST2 · (B9 · H1 + B11 + S0);
TR6 = ST3 · (B8 · H2 + B11 + S0);
TR7 = ST4 · (B7 · H3 + B11 + S0);
TR5 = ST5 · (B6 · H4 + B11 + S0); TR9 = ST6 · S5;
TR10 = ST7 · B10;
TR11 = ST7 · S0.
Логическое уравнение для переменной i-го состояния имеет вид
n |
m |
||
STi = (STi + ∑ITRij ) · ∏ |
OTRik |
, где: |
|
j=1 |
k=1 |
||
ITRij – связанный переход, входящий в данное состояние STi;
OTRik – связанный переход, выходящий из данного состояния STi.
Система логических уравнений для рассматриваемого примера имеет следующий вид:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ST1 = (ST1 |
+ TR10) · TR1 · TR2 · TR3 · TR4 + FS · PO ; |
|||||||||||||||||
ST2 = (ST2 |
+ TR1) · |
TR5 |
; |
|
|
|
|
|
|
|
|
|
|
|
||||
ST3 = (ST3 |
+ TR2) · |
TR6 |
|
; |
|
|
|
|
|
|
|
|
|
|
|
|||
ST4 |
= (ST4 |
+ TR3) · |
TR7 |
; |
|
|
|
|
|
|
|
|
|
|
|
|||
ST5 |
= (ST5 |
+ TR4) · |
TR8 |
; |
|
|
|
|
|
|
|
|
|
|
|
|||
ST6 |
= (ST6 |
+ TR5 + TR6 + TR7 + TR8 + TR11) · |
TR9 |
+ PO; |
||||||||||||||
ST7 |
= (ST7 |
+ TR9) · |
TR10 |
· |
TR11 |
. |
||||||||||||
Шаг 5. Написание логических уравнений для выходов системы управления.
Система уравнений имеет следующий вид: H1 = ST2 + ST6 · B9;
H2 = ST3 + ST6 · B8;
H3 = ST4 + ST6 · B7;
H1 = ST5 + ST6 · B6;
Привод
= ST2 + ST3 + ST4 + ST5;
Привод = ST7.
81
Практикум |
5. Решения заданий |
Шаг 6. Назначение адресов переменным.
S0 → I0.0, S1 → I0.1, S2 → I0.2, S3 → I0.3, S4 → I0.4, S3 → I0.5; B6 → I1.0, B7 → I1.1, B8 → I1.2, B9 → I1.3, B10 → I1.4, B11 → I1.5; H1 → Q0.1, H2 → Q0.2, H3 → Q0.3, H4 → Q0.4;
Привод
→ Q0.0, Привод
→ Q0.5;
TR1 – TR11 → M0.1 – M1.3; ST1 – ST7 → M10.1 – M10.7.
Шаг 7. Написание программы для контроллера.
На рис. 5.29 и 5.30 приведена программа управления грузовым лифтом согласно описанию варианта 1.
82
Практикум |
5. Решения заданий |
|
|
|
|
Рис. 5.29. Программа управления грузовым лифтом (вариант 1, начало)
83
Практикум |
5. Решения заданий |
|
|
|
|
Рис. 5.30. Программа управления грузовым лифтом (вариант 1, окончание)
84
Практикум |
5. Решения заданий |
Следует обратить внимание на то, что размыкающим контактам датчиков B6 – B11 в программе соответствуют замыкающие контакты.
Программа построена на основе приведенных выше систем уравнений для переходов и состояний графа. При этом обработка переходов и состояний производится в отдельных блоках, что облегчает изучение программы и ее модификацию. Такой подход позволяет также использовать данную программу в качестве основы для решения второй задачи – управления грузовым лифтом согласно описанию варианта 2.
Вариант 2
Вариант 2 предусматривает возможность перемещения платформы лифта на любую станцию в обоих направлениях. Поэтому в список режимов работы лифта должны быть внесены изменения в соответствии с новым алгоритмом работы:
1.Ожидание (привод выключен, индикаторные лампы не горят, платформа лифта находится в крайнем нижнем положении) – состояние ST1.
2.Движение платформы лифта вверх, к 4-ой станции (включен привод «вверх», непрерывно горит лампа H1) – состояние ST2.
3.Движение платформы лифта вверх, к 3-ей станции (включен привод «вверх», непрерывно горит лампа H2) – ST3.
4.Движение платформы лифта вверх, ко 2-ой станции (включен привод «вверх», непрерывно горит лампа H3) – состояние ST4.
5.Движение платформы лифта вверх, к 1-ой станции (включен привод «вверх», непрерывно горит лампа H4) – состояние ST5.
6.Останов (платформа лифта остановлена на станции вызова, лампа которой мигает) – состояние ST6.
7.Движение платформы лифта вниз (включен привод «вниз», все лампы погашены) – состояние ST7.
8.Движение платформы лифта вниз, к 1-ой станции (включен привод «вниз», непрерывно горит лампа H4) – состояние ST8.
9.Движение платформы лифта вниз, ко 2-ой станции (включен привод «вниз», непрерывно горит лампа H3) – состояние ST9.
10.Движение платформы вниз, к 3-ей станции (включен привод «вниз», непрерывно горит лампа H2) – состояние ST10.
Вид графа переходов, с учетом того что входные и выходные переменные не изменились, показан на рис. 5.31.
Режимы мигания ламп соответствующих станций вызова на графе переходов не представлены. Однако код, реализующий режимы мигания, может быть включен в программу аналогично тому, как это было сделано в задаче «Пешеходный переход со светофорным регулированием» (маска М21, см. раздел 5.3).
Система логических уравнений, описывающих связанные переходы, должна быть дополнена уравнениями для дополнительных переходов (TR12 – TR21):
TR1 = ST1 · S1;
TR2 = ST1 · S2;
TR3 = ST1 · S3;
TR4 = ST1 · S4;
TR5 = ST2 · ((B9 + B11) · H1 + S0 );
TR6 = ST3 · ((B8 + B9 + B11) · H2 + S0 );
TR7 = ST4 · ((B7 + B8 + B9 + B11) · H3 + S0 );
TR8 = ST5 · ((B6 + B7 + B8 + B9 + B11) · H4 + S0 );
TR9 = ST6 · S5;
TR10 = ST7 · B10;
TR11 = ST7 · (B6 + B7 + B8 + S0 );
85
|
Практикум |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5. Решения заданий |
|
||||
|
TR12 = ST6 · S1 · (B6 + B7 + B8); |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
TR13 = ST6 · S2 · (B6 + B7); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
TR14 = ST6 · S3 · B6; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
TR15 = ST6 · S4 · (B7 + B8 + B9); |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
TR16 = ST6 · S3 · (B8 + B9); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
TR17 = ST6 · S2 · B9; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
TR18 = ST8 · (B6 · H4 + |
S0 |
); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TR19 = ST9 · ((B6 + B7) · H3 + |
S0 |
); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
TR20 = ST10 · ((B6 + B7 + B8) · H2 + |
S0 |
); |
|
|
|
|
|
|
|
|
|
|
|||||||||
|
TR21 = ST8 · B10. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
FS · |
PO |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
ST1 |
|
|
|
|
TR10 |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
Ожидание |
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Кнопка S1 |
|
|
|
|
|||
|
Кнопка |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
S4 |
|
|
Кнопка |
|
|
|
|
|
|
|
|
|
|
||||||||
|
TR4 |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
S3 |
|
|
Кнопка S2 |
|
|
|
B10 |
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
ST5 |
|
|
TR3 |
|
|
|
|
TR2 |
|
|
TR1 |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
H4, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
Привод |
|
|
|
|
|
|
|
|
H3, |
|
|
H2, |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
ST4 |
|
|
|
ST3 Привод |
|
|
|
|
||||||||
|
|
|
|
|
|
|
Привод |
|
|
ST2 |
|
|||||||||||
|
(B7 + B8 + |
|
|
|
|
|
|
(B8 + B9 + |
|
(B9 + B11) · |
|
|||||||||||
|
|
|
|
|
|
|
+ B11) · H2 + |
TR13 |
|
|
|
|
||||||||||
|
+ B9 + B11) · |
|
|
+ S0 |
|
· H1 + S0 |
H1, |
|
||||||||||||||
|
· H3 + S0 |
|
|
|
|
|
|
TR14 |
TR6 |
(B6 + B7) · |
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Привод |
|
||||||
|
|
|
|
TR7 |
|
|
|
|
· S2 |
|
|
TR5 |
|
|
|
|
||||||
|
|
|
|
|
B6 · S3 |
|
PO |
|
|
|
|
|
|
|||||||||
|
TR8 |
|
|
|
|
|
(B6 + B7 + |
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
TR12 |
|
||||||||
|
(B6 +B7 + B8 + |
|
|
|
|
|
|
|
|
|
|
|
|
|
+ B8) · S1 |
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
+ B9 + B11) · |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
· H4 + S0 |
|
|
|
|
|
|
|
|
Останов |
ST6 |
Кнопка S5 |
|
|
|
|
||||||
|
B10 |
|
|
|
|
|
|
|
|
|
|
TR9 |
|
|
|
|
||||||
|
(B7 + B8 + B9) · S4 |
|
|
|
|
ST7 |
|
|||||||||||||||
|
|
|
|
|
|
|
||||||||||||||||
|
TR21 |
|
|
|
|
|
|
|
|
|
|
|
|
TR11 |
Привод |
|
||||||
|
|
TR15 |
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
(B6 |
· H4 + |
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
(S0 + B6 + |
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
+ S0) |
|
|
B9 · S2 |
+ B7 + B8) |
|
|
|
|
|||||
|
|
|
|
TR18 |
|
TR16 |
|
|
|
|
|
|
|
|
|
|||||||
|
ST8 |
|
|
|
|
(B6 + B7 + B8) · H2 + S0 |
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
TR17 |
|
|
|||||||||
|
|
|
(B8 + B9) · S3 |
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
TR20 |
|
|
|
|
|||||||||
|
H4, |
|
|
TR19 |
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
(B6 + B7) · |
|
|
|
|
|
|
|
|||||
|
Привод |
|
|
|
|
|
|
|
|
ST9 |
· H3 + S0 |
|
ST10 |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
H3, |
|
|
|
|
H2, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Привод |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
Привод |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
Рис. 5.31. Граф переходов грузового лифта (вариант 2) |
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86
Практикум |
5. Решения заданий |
Аналогичным образом должна быть дополнена система логических уравнений, описывающих состояния графа (состояния ST8 – ST10):
ST1 = (ST1 + TR10 + TR21) · TR1 · TR2 · TR3 · TR4 + FS ·PO ;
ST2 = (ST2 + TR1 + TR12) · TR5 ;
ST3 = (ST3 + TR2 + TR13) · TR6 ;
ST4 = (ST4 + TR3 + TR14) · TR7 ;
ST5 = (ST5 + TR4) · TR8 ;
ST6 = (ST6 + TR5 + TR6 + TR7 + TR8 + TR11 + TR18 + TR19 + TR20) · · TR9 · TR12 · TR13 · TR14 · TR15 · TR16 · TR17 + PO;
ST7 = (ST7 + TR9) · TR10 · TR11 ;
ST8 = (ST8 + TR15) · TR18 · TR21 ;
ST9 = (ST9 + TR16) · TR19 ;
ST10 = (ST10 + TR17) · TR20 .
Логические условия запуска таймеров, формирующих импульсы включения ламп в режиме мигания, имеют следующий вид (таймеры TON T40 и T41):
T40 = ST6 · T41;
T41 = ST6 · T40.
Логические уравнения для управляющих воздействий также должны быть изменены в соответствии с новым алгоритмом работы:
H1 = ST2 + T40 · T41 · B9;
H2 = (ST3 + ST10) + T40 · T41 · B8;
H3 = (ST4 + ST9) + T40 · T41 · B74;
H1 = (ST5 + ST8) + T40 · T41 · B6;
Привод
= ST2 + ST3 + ST4 + ST5;
Привод
= ST7 + ST8 + ST9 + ST10.
Поскольку состав входных и выходных переменных в варианте 2 остался без изменений, то изменять адреса не требуется и следующим шагом является написание управляющей программы.
Полностью программа управления грузовым лифтом для варианта 2 приведена на компакт-дис-
ке.
87
