Автомат с контролем последовательности ситуаций
Ниже рассматривается дискретный автомат с контролем последовательности ситуаций. В таблице 26 номера алгоблоков, в которых осуществляется набор ситуаций и контроль их очередности реализации. В таблице 26 представлено 8 ситуаций. Состояния и количество переменных соответствуют таблице 23. На рис.46 представлена программа, реализующая защиту по каналам и осуществляющая контроль последовательности ситуаций. Для надёжной работы автомата необходима защита от сбоев в дискретных каналах (см. рис.10). Защита по каждому каналу реализуется с помощью двух таймеров (ТМР) и одного триггера (ТРИ). В программе защита реализована в алгоблоках с 7 по 15. В 15-м алгоблоке находится пять триггеров.
Рис. 46 Одновременная синхронизация состояний по каналам
Допустим, что произошла первая ситуация, то следующей может быть разрешена только вторая ситуация (состояние 1001). Появление состояния переменных любой другой ситуации блокируется. Первая ситуация (1010) реализуется алгоритмом И в алгоблоке 26. Контроль первой ситуации осуществляется в алгоблоке 30. В алгоблок 30 помещён алгоритм МНИ (многовходовое И). Сигналы со всех остальных алгоблоков, в которых формируются следующие ситуации, приходят инверсно. На первый вход подключают сигнал с алгоблока 26 без инверсии. Таким образом, вначале работы автомата будет разрешена только первая ситуация.
Иногда в программах допускаются небольшие «ошибки», позволяющие выявить слепое копирование программ. Так, в этой программе в 15-ом алгоблоке помещён алгоритм многовходовое ИЛИ(73) вместо многовходового алгоритма И(71). Это очевидная ошибка, которая исправляется практически автоматически.
Таблица 12
N ситуации или такта | N алгоблока очередной ситуации | N алгоблока контроля ситуации | X1 | X2 | X3 | X4 | U1 | U2 | U3 |
1 | 0 | 1 | |||||||
3 | 1 | 0 | 1 | ||||||
1 | 0 | ||||||||
5 | |||||||||
7 | 1 | 1 | 0 | ||||||
На выходе алгоблока 23 появляется команда U1, соответствующая первой ситуации. Так как команда U1 должна появляться в шести ситуациях (1, 2, 5, 6, 7, 8), поэтому в алгоблок 23 помещён алгоритм ИЛИ на 6 входов. На рис.45 та же программа, только упрощённая, всего для трёх ситуаций: 1, 2 и 8 (алгоблоки: 26, 17, 18). Счётчик (алгоблок 52) предназначен для запоминания и подсчёта количества прошедших ситуаций. Упрощённый вариант программы приведён на рис.46.
Для исключения вероятности появления ложных команд требуется учитывать последовательность обработки алгоблоков в контроллере. Кроме того, для повышения надёжности работы цифрового автомата следует обеспечивать синхронизацию состояний появления очередной ситуации.
Отображение информации на ЛП:
Номер входа | Цифровой индикатор | Шифр входа | Шкала | Наименование |
НЦИ | Z | Номер текущей комбинации (ситуации) |
По-хорошему, следует сигнализировать о нарушении последовательности следования ситуаций и указывать, какая должна быть следующая ситуация.
В реальных условиях, например, для наладки, следует предусмотреть ручной режим работы, при котором можно произвольно формировать любую ситуацию.
Кроме того, иногда требуется контролировать время нахождения автомата в каждой ситуации, но это уже более сложные программы, которые требуют больших возможностей, чем они есть в контроллере Р-130.
Рис. 47 Программа автомата с контролем последовательности ситуаций
Конфигурационная таблица.
Имя схемы: AVT-P-N3.rem
Дата создания отчета: 25/08/2009(СМ )
С И С Т Е М Н Ы Е П А Р А М Е Т Р Ы:
Системный номер контроллера: 2
Модель контроллера: Регулирующая
Комплектность УСО группы А: 8 ан.вх. и 2 ан.вых.(1)
Комплектность УСО группы Б: 8 д.вх. и 8 д.вых.(5)
Временной диапазон контроллера: Младший(Сек/Мин)
Время цикла: 0.4 сек.
А Л Г О Р И Т М Ы И К О Н Ф И Г У Р А Ц И Я :
Таблица 13
Ал.б. | Алгоритм | Мод | Вход | Значение | Источник |
N Имя | Ал.б. Выход | ||||
ОКО(01) | |||||
1 Xздн | |||||
2 Xвх | |||||
3 W0 | |||||
4 W100 | |||||
5 Xerr | |||||
6 Xруч | |||||
7 Xвр | |||||
8 Z | 52 1(N) | ||||
9 Nz | |||||
10 Nок | |||||
ВДБ(10) | |||||
ИЛИ(72) | |||||
1 C11 | 5 1(D1) | ||||
2 С21 | |||||
3 C12 | 5 2(D2) | ||||
4 С22 | |||||
5 C13 | 5 3(D3) | ||||
6 С23 | |||||
7 C14 | 5 4(D4) | ||||
8 С24 | |||||
9 C15 | 5 5(D5) | ||||
10 С25 | |||||
ТМР(81) | |||||
1 Сст | |||||
2 Ссбр | инверсия | 6 1(D1) | |||
3 T1=2 | |||||
ТМР(81) | |||||
1 Сст | |||||
2 Ссбр | 6 1(D1) | ||||
3 T1=2 | |||||
ТМР(81) | |||||
1 Сст | |||||
2 Ссбр | инверсия | 6 2(D2) | |||
3 T1=2 | |||||
ТМР(81) | |||||
1 Сст | |||||
2 Ссбр | 6 2(D2) | ||||
3 T1=2 | |||||
ТМР(81) | |||||
1 Сст | |||||
2 Ссбр | инверсия | 6 3(D3) | |||
3 T1=2 | |||||
ТМР(81) | |||||
1 Сст | |||||
2 Ссбр | 6 3(D3) | ||||
3 T1=2 | |||||
ТМР(81) | |||||
1 Сст | |||||
2 Ссбр | инверсия | 6 4(D4) | |||
3 T1=2 | |||||
ТМР(81) | |||||
1 Сст | |||||
2 Ссбр | 6 4(D4) | ||||
3 T1=2 | |||||
ТРИ(76) | |||||
1 Cs1 | 7 2(D1) | ||||
2 Cr1 | 8 2(D1) | ||||
3 Cs2 | 9 2(D1) | ||||
4 Cr2 | 10 2(D1) | ||||
5 Cs3 | 11 2(D1) | ||||
6 Cr3 | 12 2(D1) | ||||
7 Cs4 | 13 2(D1) | ||||
8 Cr4 | 14 2(D1) | ||||
9 Cs5 | |||||
10 Cr5 | |||||
МНИ(71) | |||||
1 C1 | 15 1(D1) | ||||
2 C2 | инверсия | 15 2(D2) | |||
3 C3 | 15 3(D3) | ||||
МНИ(71) | |||||
1 C1 | 15 1(D1) | ||||
2 C2 | инверсия | 15 2(D2) | |||
3 C3 | инверсия | 15 3(D3) | |||
4 C4 | 15 4(D4) | ||||
МНИ(71) | |||||
1 C1 | инверсия | 15 1(D1) | |||
2 C2 | 15 2(D2) | ||||
3 C3 | 15 3(D3) | ||||
4 C4 | инверсия | 15 4(D4) | |||
МНИ(71) | |||||
1 C1 | инверсия | 15 1(D1) | |||
2 C2 | 15 2(D2) | ||||
3 C3 | 15 3(D3) | ||||
4 C4 | 15 4(D4) | ||||
СЧТ(82) | |||||
1 Cб | 37 2(D2) | ||||
2 См | |||||
3 Сст | |||||
4 Cсбр | 22 2(D2) | ||||
5 No=0 | |||||
6 N1=2 | |||||
ЛОИ(70) | |||||
1 C11 | 37 2(D2) | ||||
2 C21 | 21 2(D1) | ||||
3 C12 | 21 2(D1) | ||||
4 C22 | инверсия | 37 2(D2) | |||
МИЛ(73) | |||||
1 C1 | 30 1(D1) | ||||
2 C2 | 36 1(D2) | ||||
3 C3 | 35 1(D5) | ||||
4 C4 | 40 1(D6) | ||||
5 C5 | 42 1(D8) | ||||
6 C6 | 22 1(P11) | ||||
МНИ(71) | |||||
1 C1 | 15 1(D1) | ||||
2 C2 | 15 2(D2) | ||||
3 C3 | инверсия | 15 3(D3) | |||
4 C4 | 15 4(D4) | ||||
МНИ(71) | |||||
1 C1 | 15 1(D1) | ||||
2 C2 | инверсия | 15 2(D2) | |||
3 C3 | 15 3(D3) | ||||
4 C4 | 15 4(D4) | ||||
МНИ(71) | |||||
1 C1 | 15 1(D1) | ||||
2 C2 | инверсия | 15 2(D2) | |||
3 C3 | 15 3(D3) | ||||
4 C4 | инверсия | 15 4(D4) | |||
СЧТ(82) | |||||
1 Cб | 37 1(D1) | ||||
2 См | |||||
3 Сст | |||||
4 Cсбр | 28 2(D2) | ||||
5 No=0 | |||||
6 N1=2 | |||||
ЛОИ(70) | |||||
1 C11 | 37 1(D1) | ||||
2 C21 | 27 2(D1) | ||||
3 C12 | 27 2(D1) | ||||
4 C22 | инверсия | 37 1(D1) | |||
МИЛ(73) | |||||
1 C1 | 38 1(D4) | ||||
2 C2 | 40 1(D6) | ||||
3 C3 | 42 1(D8) | ||||
4 C4 | 28 1(P21) | ||||
5 C5 | 22 1(P11) | ||||
МНИ(71) | |||||
1 C1 | 26 1(D) | ||||
2 C2 | инверсия | 52 3(D2) | |||
3 C3 | инверсия | 52 4(D3) | |||
4 C4 | инверсия | 52 5(D4) | |||
5 C5 | инверсия | 52 6(D5) | |||
6 C6 | инверсия | 52 7(D6) | |||
7 C7 | инверсия | 52 8(D7) | |||
8 C8 | инверсия | 52 9(D8) | |||
МНИ(71) | |||||
1 C1 | 20 1(D) | ||||
2 C2 | 52 2(D1) | ||||
3 C3 | 52 3(D2) | ||||
4 C4 | инверсия | 52 5(D4) | |||
5 C5 | инверсия | 52 6(D5) | |||
6 C6 | инверсия | 52 7(D6) | |||
7 C7 | инверсия | 52 8(D7) | |||
8 C8 | инверсия | 52 9(D8) | |||
МНИ(71) | |||||
1 C1 | 20 1(D) | ||||
2 C2 | 52 2(D1) | ||||
3 C3 | 52 3(D2) | ||||
4 C4 | 52 4(D3) | ||||
5 C5 | 52 5(D4) | ||||
6 C6 | 52 6(D5) | ||||
7 C7 | 52 7(D6) | ||||
8 C8 | инверсия | 52 9(D8) | |||
ДИК(04) | |||||
1 С1 | 15 1(D1) | ||||
2 С2 | 15 2(D2) | ||||
3 С3 | 15 3(D3) | ||||
4 С4 | 15 4(D4) | ||||
5 С5 | |||||
6 С6 | 23 1(U1) | ||||
7 С7 | 29 1(U2) | ||||
8 С8 | 57 1(U3) | ||||
9 С9 | 5 1(D1) | ||||
10 С10 | 5 2(D2) | ||||
11 С11 | 5 3(D3) | ||||
12 С12 | 5 4(D4) | ||||
ДВБ(14) | |||||
1 C1 | 23 1(U1) | ||||
2 C2 | 29 1(U2) | ||||
3 C3 | 57 1(U3) | ||||
4 C4 | |||||
МНИ(71) | |||||
1 C1 | 26 1(D) | ||||
2 C2 | 52 2(D1) | ||||
3 C3 | 52 3(D2) | ||||
4 C4 | 52 4(D3) | ||||
5 C5 | 52 5(D4) | ||||
6 C6 | инверсия | 52 7(D6) | |||
7 C7 | инверсия | 52 8(D7) | |||
8 C8 | инверсия | 52 9(D8) | |||
МНИ(71) | |||||
1 C1 | 17 1(U12) | ||||
2 C2 | 52 2(D1) | ||||
3 C3 | инверсия | 52 4(D3) | |||
4 C4 | инверсия | 52 5(D4) | |||
5 C5 | инверсия | 52 6(D5) | |||
6 C6 | инверсия | 52 7(D6) | |||
7 C7 | инверсия | 52 8(D7) | |||
8 C8 | инверсия | 52 9(D8) | |||
ИЛИ(72) | |||||
1 C11 | 30 1(D1) | ||||
2 С21 | 35 1(D5) | ||||
3 C12 | 31 1(D3) | ||||
4 С22 | 32 1(D7) | ||||
МНИ(71) | |||||
1 C1 | 24 1(U21) | ||||
2 C2 | 52 2(D1) | ||||
3 C3 | 52 3(D2) | ||||
4 C4 | 52 4(D3) | ||||
5 C5 | инверсия | 52 6(D5) | |||
6 C6 | инверсия | 52 7(D6) | |||
7 C7 | инверсия | 52 8(D7) | |||
8 C8 | инверсия | 52 9(D8) | |||
СЧТ(82) | |||||
1 Cб | 37 2(D2) | ||||
2 См | |||||
3 Сст | |||||
4 Cсбр | 41 2(D2) | ||||
5 No=0 | |||||
6 N1=2 | |||||
МНИ(71) | |||||
1 C1 | 25 1(U22) | ||||
2 C2 | 52 2(D1) | ||||
3 C3 | 52 3(D2) | ||||
4 C4 | 52 4(D3) | ||||
5 C5 | 52 5(D4) | ||||
6 C6 | 52 6(D5) | ||||
7 C7 | инверсия | 52 8(D7) | |||
8 C8 | инверсия | 52 9(D8) | |||
ЛОИ(70) | |||||
1 C11 | 37 2(D2) | ||||
2 C21 | инверсия | 39 2(D1) | |||
3 C12 | 39 2(D1) | ||||
4 C22 | инверсия | 37 2(D2) | |||
МНИ(71) | |||||
1 C1 | 18 1(U13) | ||||
2 C2 | 52 2(D1) | ||||
3 C3 | 52 3(D2) | ||||
4 C4 | 52 4(D3) | ||||
5 C5 | 52 5(D4) | ||||
6 C6 | 52 6(D5) | ||||
7 C7 | 52 7(D6) | ||||
8 C8 | 52 8(D7) | ||||
ОДВ(83) | - | ||||
1 Cп | 30 1(D1) | ||||
2 Ссбр | |||||
3 T=1 | |||||
ОДВ(83) | - | ||||
1 Cп | 36 1(D2) | ||||
2 Ссбр | |||||
3 T=1 | |||||
ОДВ(83) | - | ||||
1 Cп | 31 1(D3) | ||||
2 Ссбр | |||||
3 T=1 | |||||
ОДВ(83) | - | ||||
1 Cп | 38 1(D4) | ||||
2 Ссбр | |||||
3 T=1 | |||||
ОДВ(83) | - | ||||
1 Cп | 35 1(D5) | ||||
2 Ссбр | |||||
3 T=1 | |||||
ОДВ(83) | - | ||||
1 Cп | 40 1(D6) | ||||
2 Ссбр | |||||
3 T=1 | |||||
ОДВ(83) | - | ||||
1 Cп | 32 1(D7) | ||||
2 Ссбр | |||||
3 T=1 | |||||
ОДВ(83) | - | ||||
1 Cп | 42 1(D8) | ||||
2 Ссбр | |||||
3 T=1 | |||||
МИЛ(73) | |||||
1 C1 | 43 1(D) | ||||
2 C2 | 44 1(D) | ||||
3 C3 | 45 1(D) | ||||
4 C4 | 46 1(D) | ||||
5 C5 | 47 1(D) | ||||
6 C6 | 48 1(D) | ||||
7 C7 | 49 1(D) | ||||
8 C8 | 50 1(D) | ||||
9 C9 | |||||
СЧТ(82) | |||||
1 Cб | 51 1(D) | ||||
2 См | |||||
3 Сст | |||||
4 Cсбр | 55 1(D1) | ||||
5 No | |||||
6 N1 | |||||
7 N2 | |||||
8 N3 | |||||
9 N4 | |||||
10 N5 | |||||
11 N6 | |||||
12 N7 | |||||
13 N8 | |||||
14 N9 | |||||
МНИ(71) | |||||
1 C1 | 52 2(D1) | ||||
2 C2 | 52 3(D2) | ||||
3 C3 | 52 4(D3) | ||||
4 C4 | 52 5(D4) | ||||
5 C5 | 52 6(D5) | ||||
6 C6 | 52 7(D6) | ||||
7 C7 | 52 8(D7) | ||||
8 C8 | 52 9(D8) | ||||
ЛОИ(70) | |||||
1 C11 | 53 1(D) | ||||
2 C21 | инверсия | 18 1(U13) | |||
3 C12 | |||||
4 C22 | |||||
ИЛИ(72) | |||||
1 C11 | 6 5(D5) | ||||
2 С21 | 54 1(D1) | ||||
ИИЛ(74) | |||||
1 C11 | 37 1(D1) | ||||
2 C21 | 28 1(P21) | ||||
МИЛ(73) | |||||
1 C1 | 36 1(D2) | ||||
2 C2 | 40 1(D6) | ||||
3 C3 | 42 1(D8) | ||||
4 C4 | 41 1(P31) | ||||
5 C5 | 56 1(P32) |
Если синтезируется дискретный автомат с контролем последовательности состояний, то синхронизация состояний для каждой ситуации (такта) не нужна, т.к. очередность ситуаций заранее строго задана и другие, случайно установленные состояния, будут программой управления игнорироваться.
Для реализации дискретного автомата с контролем последовательности следования ситуаций используют следующие алгоритмы: ТРИ, СЧТ, ОДВ, СЧИ или ВЧИ. ТРИ – триггер, СЧТ – счётчик, ОДВ – одновибратор, СЧИ – сравнение чисел, ВЧИ – выделение чисел.
Одновибратор ОДВ (83) представлен на рисунке 48.
Расшифровка сокращений и обозначений. Напоминаю, Сп – команда ПУСК, Ссбр – команда СБРОС, Т – время, определяющее длительность импульса. При появлении переднего фронта команды Сп на основном выходе D появляется импульс длительностью Т.
Рис. 48 Одновибратор
На рис.49 нарисованы фрагменты программы, приведённой на рис.47. В этом фрагменте рассмотрены только три ситуации, даны некоторые пояснения.
Рис. 49
Структура алгоритма сравнение чисел СЧИ (86) представлена на рисунке 50.
Рис. 50 Алгоритм сравнение чисел
Алгоритм применяется в том случае, когда требуется зафиксировать достижение числовой переменной заданного значения. Алгоритм содержит несколько (до 20) независимых каналов сравнения. Алгоритм содержит m независимых каналов сравнения, причем 0≤m≤20 и задается модификатором. При m = 0 алгоритм является "пустым".Каждый канал сравнивает между собой два числа, поступающих на входы Ni и N0,i, и вырабатывает дискретный сигнал на выходе Di. Если Ni < N0,i, то Di=0. При Ni ≥ N0,i значение Di=1.
Входы-выходы | Назначение | ||
№ | Обозначение | Вид | |
. 2m-1 2m | N1 N0,1 N2 N0,2 . Nm N0,m | Входы | Вход 1-го канала Уставка 1-го канала Вход 2-го канала Уставка 2-го канала . Вход канала m Уставка канала m |
. m | D1 D2 . Dm | Выход | Признак сравнения 1-го канала Признак сравнения 2-го канала . Признак сравнения канала m |
Алгоритм выделения чисел ВЧИ (87) представлен на рисунке 51.
Рис. 51 Алгоритм выделение чисел
Алгоритм выделяет из натурального ряда чисел (номеров) заданную группу следующих подряд чисел. Алгоритм содержит m независимых каналов выделения чисел, причем 0≤m≤20 и задается модификатором. При m = 0 алгоритм является "пустым". Каждый канал сравнивает числовую переменную, поступающую на вход Ni, с двумя пороговыми значениями: нижним Nн,i и верхним Nв,i.
Если Nн,i ≤ Ni ≤ Nв,i, то выходной сигнал Di=1, в противном случае Di=0.
Входы-выходы | Назначение | ||
№ | Обозначение | Вид | |
. . 3m-2 3m-1 3m | N1 Nв,1 Nн,1 N2 Nв,2 Nн,2 . . Nm Nв,m Nн,m | Входы | Вход 1-го канала Верхняя уставка 1-го канала Нижняя уставка 1-го канала Вход 2-го канала Верхняя уставка 2-го канала Нижняя уставка 2-го канала . . Вход m-го канала Верхняя уставка m-го канала Нижняя уставка m-го канала |
. . m | D1 D2 . . Dm | Выход | Признак выделения 1-го канала Признак выделения 2-го канала . . Признак выделения m-го канала |