Файл: Варжапетян, А. Г. Готовность судовых систем управления.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 17.10.2024

Просмотров: 68

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ПРИЛОЖЕНИЯ

в том, что в случае неполного проведения профилактики из суммарного коэффи­ циента значимости, равного единице, вычитается коэффициент значимости невос­ становленного блока (при аддитивных k E) либо решается одно из известных пра­

вил [1 0 ] (при

неаддитивных

k E) (оператор 11), а затем проверяется условие

k E доп

(оператор 14).

В случае выполнения этого условия ведется дальней-

І

шая проверка восстановления, в случае его невыполнения фиксируется срыв профи­ лактики и отказ системы по крайней мере на следующий сеанс работы.

При восстановлении по третьему варианту моделирование проводится так же, только вместо числа отказавших блоков берется общее число блоков.

Вся последующая обработка ведется на основе полученной статистики за N реа­

лизаций.

 

 

Приложение

ПРОЦЕДУРА ПОЛУЧЕНИЯ ВРЕМЕНИ

XI

РАБОТЫ И ВРЕМЕНИ ВОССТАНОВЛЕНИЯ

 

ПРИ ПОСЛЕДОВАТЕЛЬНОМ СОЕДИНЕНИИ

 

ВОССТАНАВЛИВАЕМЫХ ЭЛЕМЕНТОВ

 

НАЗНАЧЕНИЕ

Процедура служит для получения случайного времени работы и восстановления при последовательном соединении. Блок-схема приведена на рис. П. 8 .

ОБРАЩЕНИЕ К ПРОЦЕДУРЕ

Процедура

!Р„.

с. в (л, сЗ, с4, с5,

tp,

/в, d) включает

в себя: я — переменную

Типа integer;

d,

tp,

ів — переменные

типа

real; сЗ, с4,

с5 — массивы.

Обращение к процедуре может быть записано и без формальных параметров,

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

 

 

tp

— время работы;

 

 

 

 

 

 

ів

— время восстановления;

 

 

 

я — число последовательно соединенных элементов;

 

 

сЗ — массив для записи

параметров законов распределения вре­

с4

 

 

мени работы;

 

номеров законов распределения времени

[1 : я] — массив для записи

с5 [л +

 

 

работы;

 

 

 

 

1 : 2л 1 — массив для записи номеров законов времени восстановления;

 

 

d

— постоянная, которая

в начале каждой реализации равна 1,

 

 

 

а внутри реализаций

равна 0 .

 

ОПИСАНИЕ ПРОЦЕДУРЫ*

При значении входного параметра d — 1 присваиваем величинам k и Т нуле­ вые значения и полагаем г І : — г З : = 1. Далее выполняем одно обращение к процедурефункции !РХ. Затем получаем случайные интервалы времени t [і] всех элементов

*

При использовании этой и последующих (см. приложения X II— XVIII) про­

цедур

в одной программе целесообразно присваивать счетчикам и массивам времен

индексы, соответствующие назначению процедуры. В настоящей работе эти индексы опущены,

226


ПРИЛОЖЕНИЕ XII

и отыскиваем минимальный. При d 1 сразу переходим к поиску min | I [І]|. Находим

 

/1

[t'] := (abs (I

[I] — I min)

x sign (I [t])

и прибавляем

1 min к T

(время от одного состояния системы до другого). Элемент,

у которого И

[t ] = 0 (т. е. время его

пребывания

в исследуемом состоянии было

минимальным), на у-м шаге изменил свое состояние. Если он работал, то находим время его восстановления и наоборот, причем для удобства программирования время восстановления записываем со знаком минус. Остальные элементы своего состояния

не меняют, и после /-го шага 1 [I] := И [і]. Если среди

элементов

есть такие,

у которых І[і] < 0, то система восстанавливается.

 

 

Если система на у-м шаге не изменила своего состояния, то переходим к отыска­

нию минимального из полученных на у'-м шаге I [I]. Если

состояние

изменилось,

то полученное к этому моменту значение Т заносим в массивы Ів либо Ір (в зависи­ мости от того, работала система до этого или восстанавливалась). Затем Т пола­ гаем равным нулю и обращаемся к началу процедуры, причем все необходимые вели­ чины оказываются подготовленными к (у + 1)-му шагу.

Таким образом, при каждом выходе из процедуры получаем или Ір, или Ів (первый раз Ір, затем эти величины чередуются). В зависимости же от d либо реали­ зация будет продолжаться (при d =/= 1), либо будет начинаться новая реализация

(при

d = 1).

 

 

 

В программе, использующей

с. в. необходимо описать г 1, гЪ — переменные

типа

real; I [1 : п ] — массив, так же, как в приложении

IX.

 

 

 

Приложение

ПРОЦЕДУРА ПОЛУЧЕНИЯ ВРЕМЕНИ

ХИ

РАБОТЫ И ВРЕМЕНИ ВОССТАНОВЛЕНИЯ

 

ПРИ НАГРУЖЕННОМ

 

 

ОБЩЕМ ДУБЛИРОВАНИИ

 

 

НАЗНАЧЕНИЕ

Процедура служит для получения случайного времени работы и восстановления при нагруженном дублировании.

Блок-схема процедуры приведена на рис. П.9.

ОБРАЩЕНИЕ К ПРОЦЕДУРЕ

Процедура

0. д (п, сЗ, с4, с5, !р, Ів, d) включает

в себя: п — переменную

типа integer; d,

Ір, Ів — переменные типа real; сЗ, с4,

с5 — массивы.

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

Ір — время работы; Ів — время восстановления;

п — число элементов основной цепочки (резервной цепочки); сЗ — массив для записи параметров законов распределения вре­

мени работы и времени восстановления;

15’

227


NO

NO

Oo

to

 

 

to

Рис. П.8. Блок-схема процедуры ^ пх>в.

Рис. П.9. Блок-схема процедуры ^ц.о.д-

CO

ПРИЛОЖЕНИЯ

I

XII ПРИЛОЖЕНИЕ

ПРИЛОЖЕНИЯ

с4 [1 : /г] — массив для записи номеров законов распределения времени работы основной цепочки;

с4 [я -)- 1 : 2я] — массив для записи номеров законов распределения времени работы резервной цепочки;

с5 [2п -j- 1 : Зя] — массив для записи номеров законов распределения времени восстановления основной цепочки;

с5 [Зя -j- 1 : 4я ] — массив для записи номеров законов распределения времени

восстановления резервной цепочки;

 

d — постоянная, которая в начале каждой реализации равна 1

а внутри реализации равна 0 .

 

Обращение к процедуре может быть многократным.

 

В программе, использующей обращение к процедуре

0. д, необходимо так же,

как и в приложении IX, описать: гі, г З — переменные

типа real; t [1 :2 я ] —

массив.

 

ОПИСАНИЕ ПРОЦЕДУРЫ

При d = 1 полагаем к, Т , г, I равным нулю, а г \ и гЗ — равными 1. Далее осуществляем одно обращение к процедуре-функции !?х . Получаем случайные интер­ валы времени t [і] и определяем минимальный. При d =j= 1 сразу находим / min (минимальное среди времен 2я элементов) и прибавляем его к времени Т (от одного состояния системы до другого). Элемент, у которого время его пребывания в иссле­

дуемом состоянии оказалось

минимальным,

изменил это

состояние.

Так

же как

и в процедуре £РП. с. в, для него

отыскиваем

время

работы

или время

восстановле­

ния (со знаком

минус). Для

остальных элементов

после

/-го шага имеем

 

 

 

t

[і] ;=

(abs (t 1) —

 

('m in)xsign (t

[/]).

 

 

 

Если

среди

времен

работы

элементов

хотя

бы

одной

цепочки (или

в цепочке

1...........я,

или в

цепочке я -}-

1,

. . ., 2 я)

есть

t [і] со знаком минус,

то

проис­

ходит отказ системы.

Далее операции в процедуре проводятся аналогично операциям процедуры â^n.c.u.

 

Приложение

ПРОЦЕДУРА ПОЛУЧЕНИЯ ВРЕМЕНИ

Ш

РАБОТЫ И ВОССТАНОВЛЕНИЯ

 

ПРИ НЕНАГРУЖ ЕННОМ

 

ОБЩЕМ ДУБЛИРОВАНИИ

 

НАЗНАЧЕНИЕ

Процедура служит для получения случайного времени работы и времени восста­ новления при ненагруженном общем дублировании.

Блок-схема процедуры приведена на рис. П.10.

230


ПРИЛОЖЕНИЕ XIII

ОБРАЩЕНИЕ К ПРОЦЕДУРЕ

Процедура ^„ен. о. д (л, сЗ, с4, с5, /р, /в, d) включает в себя: л — переменную типа integer; d, tp, /в — переменные типа real; сЗ, с4, с5 — массивы.

Обращение к процедуре может быть записано без формальных параметров, если принять обозначения, аналогичные принятым при описании процедуры 5Ѵо.д-

Возможно многократное обращение к процедуре.

В программе, использующей процедуру ^нен.о.д. необходимо также описать fe12, іТ, і 2 — переменные типа integer; / [1 : 2 n ] — массив.

ОПИСАНИЕ ПРОЦЕДУРЫ

При первом обращении к процедуре полагаем /рв = 2 (/рв — постоянная, значение которой попеременно равно 1 и 2 ), поэтому проверяем, выполняется ли

условие d =

1. Если да, то

задаем начальные значения соответствующим вели­

чинам: £ : = Т

:= 0; £12 : = 1

и т. д., выполняем первое обращение к

процедуре !РХ

и переходим

к нахождению 2п случайных интервалов времени / [і].

Если условие

d — 1 не выполняется, то сразу осуществляем переход на переключатель R 1 І£ 1 2 ],

который направляет на поиск элемента, имеющего min / [/] либо в основной цепочке

блоков

(/ := 1, . . ., я),

либо в резервной (£ := л -J- I,

.

. ., 2я). Номер этого

эле­

мента запоминаем £з :=

/, а вместо t

[£з] находим время

восстановления. К значе­

нию Т

(котороепервоначально равно

нулю) добавляем

Im in. Для остальных

эле­

ментов

рассматриваемой

цепочки после этого

получаем

 

 

 

 

/ [і] := (abs ( t

[i]) — t

m in)Xsign (/ [t]).

 

Далее, пока данная цепочка восстанавливается, подключаем резервную (или основную) цепочку и для нее выполняем те же операции. К значению Т добавляем / min этой цепочки. Выясняем, превышает ли / min этой цепочки найденное время восстановления первой цепочки / [р]. Если да, то за время работы второй цепочки успела восстановиться первая (исправные элементы ее не работали, а отказавшие восстановились). Для нее определяем время работы и снова среди ее элементов оты­ скиваем элемент, имеющий / min. Если указанное условие не выполняется, то это значит, что обе цепочки восстанавливаются и система отказала. Тогда / [р] опреде­ ляется с помощью выражения

/ [р] := (abs (/ [р]) — / min) X sign (/ [p]).

Выясняем, модуль какой из величин, определяющих случайные времена восста­ новления отказавших элементов в двух цепочках, меньше. Эта величина и будет временем восстановления системы / min. Вместо нее определяем время работы цепочки, а вместо второй величины будет теперь стоять их разность. Для постоян­

ной £ 1 2 должно быть задано

такое значение,

чтобы при следующем обращении

к процедуре переключатель Д 1

1 2 ] направил

на поиск элемента с минимальным

временем восстановления в нужной цепочке (в той, время восстановления которой явилось временем восстановления системы). Таким образом, будут найдены значе­

ния tp :=

Т

и Ів

:=

t

min. Первое из них выдается при первом выходе из процедуры

(при этом

Т

:=

/в :=

0, а /рв задаем равным 2), а второе (так как /рв = 2 ) — при

следующем

выходе из

процедуры.

При

/рв =

2 мы

сразу выходим из процедуры со следующими значениями:

/в := / min;

tp

:=

0 ;

/рв := 1.

Таким образом,

/рв будет обеспечивать чередование на выходе величин /р и /в.

Продолжать же реализацию системы будем лишь при следующем обращении к про­ цедуре (при d Ф 1). Для этого все величины подготовлены заранее.

231


232

ПРИЛОЖЕНИЯ

СО

О

ьо

 

со

Рис. П.10. Блок-схема процедуры ^ нен. 0. д-

Со

I

XIII ПРИЛОЖЕНИЕ