Алгоритм мажоритарного выбора три из пяти

Рассмотрим алгоритм работы такого же блока, но для аналоговых сигналов. Как же здесь реализуется принцип максимального согласия. Возьмём тот же выбор 2 из 3-х. Если все три значения равны, то всё в норме, все три канала исправны. Если значения по двум каналам равны, то берётся их среднее за основной выход. Канал, значение которого отличается от двух других значений, считают отказавшим

алгоритм мажоритарного выбора три из пяти - student2.ru

Х1, Х2, Х3, Х4, Х5 – входные аналоговые сигналы,

Y – основной выход. Dalarm (А) – признак отказа канала или каналов. N – номер отказавшего канала или каналов.

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

Ситуация первая. Все значения параметров e-близки.

1) |X1-X2|≤e1 |X1-X3|≤e2 |X1-X4|≤e3 |X1-X5|≤e4

2) |X2-X3|≤e5 |X2-X4|≤e6 |X2-X5|≤e7

3) |X3-X4|≤e8 |X3-X5|≤e9

4) |X4-X5|≤e10

А=0. N=0. У=(x1+x2)/2.

А – признак отказа. N- номер отказавшего канала. Y- выход блока. Выдаются значения не отказавших каналов или их средние значения.

Допустим, обрыв произошёл по первому каналу. Распознавание происходит как по конечному значению, так и по резкому изменению значения параметра.

X1 < 1.

II. Ситуация вторая. Первый канал отказал: X1 < 1. Остальные значения параметров e-близки.

1) |X1-X2|≥e1 |X1-X3|≥e2 |X1-X4|≥e3 |X1-X5|≥e4

2) |X2-X3|≤e5 |X2-X4|≤e6 |X2-X5|≤e7

3) |X3-X4|≤e8 |X3-X5|≤e9

4) |X4-X5|≤e10

А=1. N=1. У=(x2+x3)/2.

III. Ситуация третья. Второй канал отказал: X2 < 1. Остальные значения параметров e-близки.

1) |X1-X2|≥e1 |X1-X3|≤e2 |X1-X4|≤e3 |X1-X5|≤e4

2) |X2-X3|≥e5 |X2-X4|≥e6 |X2-X5|≥e7

3) |X3-X4|≤e8 |X3-X5|≤e9

4) |X4-X5|≤e10

А=1. N=2. У=(x3+x4)/2 или У=(x4+x5)/2.

IV. Ситуация четвёртая. Третий канал отказал: X3 < 1. Остальные значения параметров e-близки.

1) |X1-X2|≤e1 |X1-X3|≥e2 |X1-X4|≤e3 |X1-X5|≤e4

2) |X2-X3|≥e5 |X2-X4|≤e6 |X2-X5|≤e7

3) |X3-X4|≤e8 |X3-X5|≤e9

4) |X4-X5|≤e10

А=1. N=3. У=(x1+x2)/2 или У=(x4+x5)/2.

V. Ситуация пятая. Четвёртый канал отказал: X4 < 1. Остальные значения параметров e-близки.

1) |X1-X2|≤e1 |X1-X3|≤e2 |X1-X4|≥e3 |X1-X5|≤e4

2) |X2-X3|≤e5 |X2-X4|≥e6 |X2-X5|≤e7

3) |X3-X4|≥e8 |X3-X5|≤e9

4) |X4-X5|≥e10

А=1. N=4. У=(x1+x2)/2 или У=(x3+x5)/2.

VI. Ситуация шестая. Пятый канал отказал: X5 < 1. Остальные значения параметров e-близки.

1) |X1-X2|≤e1 |X1-X3|≤e2 |X1-X4|≥e3 |X1-X5|≥e4

2) |X2-X3|≤e5 |X2-X4|≥e6 |X2-X5|≥e7

3) |X3-X4|≥e8 |X3-X5|≥e9

4) |X4-X5|≥e10

А=1. N=5. У=(x1+x2)/2 или У=(x3+x4)/2.

VII. Ситуация седьмая.

Отказали 1-й и 2-й каналы. Остальные значения параметров e-близки.

1) |X1-X2|≤e1 |X1-X3|≥e2 |X1-X4|≥e3 |X1-X5|≥e4

2) |X2-X3|≥e5 |X2-X4|≥e6 |X2-X5|≥e7

3) |X3-X4|≤e8 |X3-X5|≤e9

4) |X4-X5|≤e10

А=1. N=1 и 2. У=(x3+x4)/2 или У=(x4+x5)/2.

VIII. Ситуация восьмая.

Отказали 1-й и 3-й каналы. Остальные значения параметров e-близки.

1) |X1-X2|≥e1 |X1-X3|£e2 |X1-X4|≥e3 |X1-X5|≥e4

2) |X2-X3|£e5 |X2-X4|£e6 |X2-X5|£e7

3) |X3-X4|≥e8 |X3-X5|≥e9

4) |X4-X5|≤e10

А=1. N=1 и 3. У=(x2+x4)/2 или У=(x4+x5)/2.

IX. Ситуация девятая.

Отказали 1-й и 4-й каналы. Остальные значения параметров e-близки.

1) |X1-X2|≥e1 |X1-X3|≥e2 |X1-X4|£e3 |X1-X5|≥e4

2) |X2-X3|£e5 |X2-X4|£e6 |X2-X5|£e7

3) |X3-X4|≥e8|X3-X5|£e9

4) |X4-X5|≥e10

А=1. N=1 и 4. У=(x2+x5)/2 или У=(x3+x5)/2.

X. Ситуация десятая.

Отказали 1-й и 5-й каналы. Остальные значения параметров e-близки.

1) |X1-X2|≥e1 |X1-X3|≥e2 |X1-X4|≥e3 |X1-X5|£e4

2) |X2-X3|£e5 |X2-X4|£e6 |X2-X5|≥e7

3)|X3-X4|£e8|X3-X5|≥e9

4) |X4-X5|≥e10

А=1. N=1 и 5. У=(x2+x3)/2 или У=(x3+x4)/2.

XI. Ситуация oодиннадцатая.

Отказали 2-й и 3-й каналы. Остальные значения параметров e-близки.

1) |X1-X2|≥e1 |X1-X3|≥e2|X1-X4|£e3|X1-X5|£e4

2) |X2-X3|£e5 |X2-X4|≥e6 |X2-X5|≥e7

3) |X3-X4|≥e8 |X3-X5|≥e9

4) |X4-X5|£e10

А=1. N=2 и 3. У=(x1+x4)/2 или У=(x4+x5)/2.

XII. Ситуация двенадцатая.

Отказали 2-й и 4-й каналы. Остальные значения параметров e-близки.

1) |X1-X2|≥e1 |X1-X3|£e2|X1-X4|≥e3|X1-X5|£e4

2) |X2-X3|≥e5 |X2-X4|£e6 |X2-X5|≥e7

3) |X3-X4|≥e8|X3-X5|£e9

4) |X4-X5|≥e10

А=1. N=2 и 4. У=(x1+x3)/2 или У=(x1+x5)/2.

XIII. Ситуация тринадцатая.

Отказали 2-й и 5-й каналы. Остальные значения параметров e-близки.

1) |X1-X2|≥e1 |X1-X3|£e2|X1-X4|£e3|X1-X5|≥e4

2) |X2-X3|≥e5 |X2-X4|≥e6 |X2-X5|£e7

3)|X3-X4|£e8|X3-X5|≥e9

4) |X4-X5|≥e10

А=1. N=2 и 5. У=(x1+x3)/2 или У=(x1+x4)/2.

XIV. Ситуация четырнадцатая.

Отказали 3-й и 4-й каналы. Остальные значения параметров e-близки.

1) |X1-X2|£e1 |X1-X3|≥e2 |X1-X4|≥e3|X1-X5|£e4

2) |X2-X3|≥e5 |X2-X4|≥e6 |X2-X5|£e7

3) |X3-X4|£e8 |X3-X5|≥e9

4) |X4-X5|≥e10

А=1. N=3 и 4. У=(x1+x2)/2 или У=(x1+x5)/2.

XV. Ситуация пятнадцатая.

Отказали 3-й и 5-й каналы. Остальные значения параметров e-близки.

1) |X1-X2|£e1 |X1-X3|≥e2|X1-X4|£e3|X1-X5|≥e4

2) |X2-X3|≥e5 |X2-X4|£e6 |X2-X5|≥e7

3) |X3-X4|≥e8 |X3-X5|≤e9

4) |X4-X5|≥e10

А=1. N=3 и 5. У=(x1+x2)/2 или У=(x1+x4)/2.

XVI. Ситуация шестнадцатая.

Отказали 4-й и 5-й каналы. Остальные значения параметров e-близки.

1) |X1-X2|£e1 |X1-X3|£e2|X1-X4|≥e3|X1-X5|≥e4

2) |X2-X3|£e5 |X2-X4|£e6 |X2-X5|≥e7

3) |X3-X4|≥e8 |X3-X5|≥e9

4) |X4-X5|£e10

А=1. N=4 и 5. У=(x1+x2)/2 или У=(x1+x3)/2.

Программа

Программа на рис. 21 реализует классический алгоритм мажоритарного выбора три из пяти. В нашем случае пять датчиков измеряют одну и ту же величину, например, температуру. В нормальном (исправном состоянии) режиме все пять каналов работают и показывают примерно одинаковое значение. Имитировать вручную в лаборатории синхронное изменение по пяти каналам практически невозможно. Поэтому в программе использован следующий приём: значение с первого канала распараллелено на все остальные четыре канала. Вначале все шесть потенциометров должны быть в исходном положении (нулевом). Сигнал с первого потенциометра, как было уже отмечено, предназначен для имитирования изменения параметров по всем пяти каналам. Сигнал со второго потенциометра используется в качестве смещения сигнала по первому каналу, сигнал с третьего – для смещения сигнала второго канала и т.д. Т.е. мы можем имитировать (задавать) систематическую погрешность по каждому из пяти каналов. По каждому каналу, со второго по пятый канал, предусмотрена возможность имитации обрыва измерительной линии. Обрыв измерительной линии осуществляют с помощью дискретных сигналов, подаваемых с имитатора. При включённых пяти тумблерах значения пяти сигналов поступают в программу мажоритарного выбора 3 из 5-ти. Например, для имитации обрыва по первому каналу, достаточно отключить первый тумблер (дискретный сигнал равен «0»)(см. алгоблок 11). В этом случае по первому каналу в программу поступит значение ноль. Если отключить второй тумблер, то имитируется обрыв по второму каналу. Следует помнить, что, используя для обрыва измерительной линии тумблер имитатора «Обрыв первого канала», в нашем случае (для нашего алгоритма) обрыв произойдёт по всем пяти каналам.

На рис. 21 программа реализована без защит по аналоговым каналам! Реальный алгоритм должен иметь защиты по всем каналам!

Хочется ещё раз напомнить студентам, что приводимые программы не следует воспринимать, как догму. В учебном пособии приводится один из вариантов программной реализации алгоритма мажоритарного выбора 3 из 5-ти. Например, в качестве сигнала ОУ можно использовать не сигнал с первого потенциометра, а математическую модель ОУ с запаздыванием. В этом случае надо продумать, чтобы сигнал на выходе модели изменялся плавно и мог принимать различные значения в установившемся состоянии. Можно в качестве модели использовать сигнал с генератора треугольных импульсов[69, 70]. При этом должна быть предусмотрена возможность останова генератора, т.е. «замораживания» выходного сигнала, возможность ручного изменения сигнала. Модель можно реализовать в этом же контроллере, или в другом, или на верхнем уровне (на ПЭВМ), где возможности наблюдения за изменением входных параметром и реакцией программы значительно шире. Как видим, вариантов реализации алгоритма много. Каждый новый вариант должен быть не хуже предложенного: иметь дополнительные функции, быть более удобным при исследовании алгоритма и проверке программы.

алгоритм мажоритарного выбора три из пяти - student2.ru

Рис. 21 Программа мажоритарного выбора 3 из 5

5.2. Конфигурационная таблица

Редактор схем контроллера Ремиконт Р-130.

Имя схемы: major352.rem

Дата создания отчета: 28/11/2010

С И С Т Е М Н Ы Е П А Р А М Е Т Р Ы:

Системный номер контроллера: 2

Модель контроллера: Регулирующая

Комплектность УСО группы А: 8 ан.вх. и 2 ан.вых.(1)

Комплектность УСО группы Б: 8 д.вх. и 8 д.вых.(5)

Временной диапазон контроллера: Младший(Сек/Мин)

Время цикла: 0.2 сек.

Режим интерфейса: Командный

Ресурс ОЗУ1: 1905 байт

Ресурс ОЗУ2: 1476 байт

Минимальное время цикла: 0.2 сек

А Л Г О Р И Т М Ы И К О Н Ф И Г У Р А Ц И Я :

Таблица 10

Наши рекомендации

Ал.б. Алгоритм Мод Вход Тип Значение Источник
      N Имя     Ал.б./Выход
ОКО(01)        
      1 Xздн   21/ 1(X1)
      2 Xвх   22/ 1(X2)
      3 W0  
      4 W100  
      5 Xerr   23/ 1(X3)
      6 Xруч  
      7 Xвр   24/ 1(X4)
      8 Z   25/ 1(X5)
      9 Nz  
      10 Nок  
ОКО(01)        
      1 Xздн   50/ 1(Y)
      2 Xвх   21/ 1(X1)
      3 W0  
      4 W100  
      5 Xerr   22/ 1(X2)
      6 Xруч  
      7 Xвр   23/ 1(X3)
      8 Z   24/ 1(X4)
      9 Nz  
      10 Nок  
ОКО(01)        
      1 Xздн   50/ 1(Y)
      2 Xвх   25/ 1(X5)
      3 W0  
      4 W100  
      5 Xerr  
      6 Xруч  
      7 Xвр  
      8 Z   50/ 2(N)
      9 Nz  
      10 Nок  
ВАА(07)        
      1 Xc1  
      2 Km1  
      3 Xc2  
      4 Km2  
      5 Xc3  
      6 Km3  
      7 Xc4  
      8 Km4  
      9 Xc5  
      10 Km5  
ВДБ(10)        
МСШ(55)        
      1 X1   5/ 1(Y1)
      2 Kм1  
      3 X2   5/ 2(Y2)
      4 Kм2  
      5 X3   5/ 3(Y3)
      6 Kм3  
      7 X4   5/ 4(Y4)
      8 Kм4  
      9 X5   5/ 5(Y5)
      10 Kм5  
      11 X6   5/ 6(Y6)
      12 Kм6  
      13 X7   5/ 7(Y7)
      14 Kм7  
      15 X8   5/ 8(Y8)
      16 Kм8  
ИЛИ(72)        
      1 C11   6/ 1(D1)
      2 С21  
      3 C12   6/ 2(D2)
      4 С22  
      5 C13   6/ 3(D3)
      6 С23  
      7 C14   6/ 4(D4)
      8 С24  
      9 C15   6/ 5(D5)
      10 С25  
      11 C16   6/ 6(D6)
      12 С26  
      13 C17   6/ 7(D7)
      14 С27  
      15 C18   6/ 8(D8)
      16 С28  
ПЕР(57)        
      1 X1   7/ 1(X)
      2 C1   8/ 1(D1)
      3 X2  
      4 C2 инверсия 8/ 1(D1)
ПЕР(57)        
      1 X1   7/ 1(X)
      2 C1   8/ 2(D2)
      3 X2  
      4 C2 инверсия 8/ 2(D2)
ПЕР(57)        
      1 X1   7/ 1(X)
      2 C1   8/ 3(D3)
      3 X2  
      4 C2 инверсия 8/ 3(D3)
ПЕР(57)        
      1 X1   7/ 1(X)
      2 C1   8/ 4(D4)
      3 X2  
      4 C2 инверсия 8/ 4(D4)
ПЕР(57)        
      1 X1   7/ 1(X)
      2 C1   8/ 5(D5)
      3 X2  
      4 C2 инверсия 8/ 5(D5)
СМА(43)        
      1 Xo   7/ 2(Y2)
      2 X1   11/ 1(Y)
      3 Kм1  
СМА(43)        
      1 Xo   7/ 3(Y3)
      2 X2   12/ 1(Y)
      3 Kм1  
СМА(43)        
      1 Xo   7/ 4(Y4)
      2 X3   13/ 1(Y)
      3 Kм1  
СМА(43)        
      1 Xo   7/ 5(Y5)
      2 X4   14/ 1(Y)
      3 Kм1  
СМА(43)        
      1 Xo   7/ 6(Y6)
      2 X5   15/ 1(Y)
      3 Kм1  
СМА(43)        
      1 Xo  
      2 X1   21/ 1(X1)
      3 Kм1 0.5  
      4 X2   22/ 1(X2)
      5 Kм2 0.5  
СМА(43)        
      1 Xo  
      2 X1   22/ 1(X2)
      3 Kм1 0.5  
      4 X2   23/ 1(X3)
      5 Kм2 0.5  
СМА(43)        
      1 Xo  
      2 X1   21/ 1(X1)
      3 Kм1 0.5  
      4 X2   23/ 1(X3)
      5 Kм2 0.5  
СМА(43)        
      1 Xo  
      2 X1   24/ 1(X4)
      3 Kм1 0.5  
      4 X2   25/ 1(X5)
      5 Kм2 0.5  
СМА(43)        
      1 Xo  
      2 X1   23/ 1(X3)
      3 Kм1 0.5  
      4 X2   25/ 1(X5)
      5 Kм2 0.5  
НОР(60)        
      1 X11   21/ 1(X1)
      2 X21   22/ 1(X2)
      3 Xб1  
      4 Xм1 -3  
      5 Xd1  
      6 X12   21/ 1(X1)
      7 X22   23/ 1(X3)
      8 Xб2  
      9 Xм2 -3  
      10 Xd2  
      11 X13   21/ 1(X1)
      12 X23   24/ 1(X4)
      13 Xб3  
      14 Xм3 -3  
      15 Xd3  
      16 X14   21/ 1(X1)
      17 X24   25/ 1(X5)
      18 Xб4  
      19 Xм4 -3  
      20 Xd4  
      21 X15   22/ 1(X2)
      22 X25   23/ 1(X3)
      23 Xб5  
      24 Xм5 -3  
      25 Xd5  
      26 X16   22/ 1(X2)
      27 X26   24/ 1(X4)
      28 Xб6  
      29 Xм6 -3  
      30 Xd6  
      31 X17   22/ 1(X2)
      32 X27   25/ 1(X5)
      33 Xб7  
      34 Xм7 -3  
      35 Xd7  
      36 X18   23/ 1(X3)
      37 X28   24/ 1(X4)
      38 Xб8  
      39 Xм8 -3  
      40 Xd8  
      41 X19   23/ 1(X3)
      42 X29   25/ 1(X5)
      43 Xб9  
      44 Xм9 -3  
      45 Xd9  
      46 X110   24/ 1(X4)
      47 X210   25/ 1(X5)
      48 Xб10  
      49 Xм10 -3  
      50 Xd10  
ИЛИ(72)        
      1 C11   31/ 1(D11)
      2 С21   31/ 2(D21)
      3 C12   31/ 3(D12)
      4 С22   31/ 4(D22)
      5 C13   31/ 5(D13)
      6 С23   31/ 6(D23)
      7 C14   31/ 7(D14)
      8 С24   31/ 8(D24)
      9 C15   31/ 9(D15)
      10 С25   31/10(D25)
      11 C16   31/11(D16)
      12 С26   31/12(D26)
      13 C17   31/13(D17)
      14 С27   31/14(D27)
      15 C18   31/15(D18)
      16 С28   31/16(D28)
      17 C19   31/17(D19)
      18 С29   31/18(D29)
      19 C110   31/19(D110)
      20 С210   31/20(D210)
      21 C111  
      22 С211  
МНИ(71)        
      1 C1 инверсия 32/ 1(D1)
      2 C2 инверсия 32/ 2(D2)
      3 C3 инверсия 32/ 3(D3)
      4 C4 инверсия 32/ 4(D4)
      5 C5 инверсия 32/ 5(D5)
      6 C6 инверсия 32/ 6(D6)
      7 C7 инверсия 32/ 7(D7)
      8 C8 инверсия 32/ 8(D8)
      9 C9 инверсия 32/ 9(D9)
      10 C10 инверсия 32/10(D10)
МНИ(71)        
      1 C1   32/ 1(D1)
      2 C2   32/ 2(D2)
      3 C3   32/ 3(D3)
      4 C4   32/ 4(D4)
      5 C5 инверсия 32/ 5(D5)
      6 C6 инверсия 32/ 6(D6)
      7 C7 инверсия 32/ 7(D7)
      8 C8 инверсия 32/ 8(D8)
      9 C9 инверсия 32/ 9(D9)
      10 C10 инверсия 32/10(D10)
МНИ(71)        
      1 C1   32/ 1(D1)
      2 C2 инверсия 32/ 2(D2)
      3 C3 инверсия 32/ 3(D3)
      4 C4 инверсия 32/ 4(D4)
      5 C5   32/ 5(D5)
      6 C6   32/ 6(D6)
      7 C7   32/ 7(D7)
      8 C8 инверсия 32/ 8(D8)
      9 C9 инверсия 32/ 9(D9)
      10 C10 инверсия 32/10(D10)
МНИ(71)        
      1 C1 инверсия 32/ 1(D1)
      2 C2   32/ 2(D2)
      3 C3 инверсия 32/ 3(D3)
      4 C4 инверсия 32/ 4(D4)
      5 C5   32/ 5(D5)
      6 C6 инверсия 32/ 6(D6)
      7 C7 инверсия 32/ 7(D7)
      8 C8   32/ 8(D8)
      9 C9   32/ 9(D9)
      10 C10 инверсия 32/10(D10)
МНИ(71)        
      1 C1 инверсия 32/ 1(D1)
      2 C2 инверсия 32/ 2(D2)
      3 C3   32/ 3(D3)
      4 C4 инверсия 32/ 4(D4)
      5 C5 инверсия 32/ 5(D5)
      6 C6   32/ 6(D6)
      7 C7 инверсия 32/ 7(D7)
      8 C8   32/ 8(D8)
      9 C9 инверсия 32/ 9(D9)
      10 C10   32/10(D10)
МНИ(71)        
      1 C1 инверсия 32/ 1(D1)
      2 C2 инверсия 32/ 2(D2)
      3 C3