В статье проведена оценка показателей надежности безотказной работы системы. На примере показан расчет основных показателей средствами Excel.
Ключевые слова: безотказная работа, доверительный интервал, испытания, нормальный закон распределения, число отказов.
Определение показателей надёжности необходимо для формулирования требования по надежности к проектируемым устройствам или системам. Показатель надежности — это количественная характеристика одного или нескольких свойств, составляющих надежность объекта [1].
Поскольку отказы и сбои элементов являются случайными событиями, то теория вероятностей и математическая статистика являются основным аппаратом, используемым при исследовании надежности, а сами характеристики надежности должны выбираться из числа показателей, принятых в теории вероятностей [2, с. 13].
Количественные характеристики надежности при нормальном законе распределения отказов могут быть определены из следующих выражений:
(1)
P(t)= (2)
λ( )= (3),
где нормированная и центрированная функция Лапласа.
Произведем расчет параметров надежности испытаний, проведенных в течение 100 часов на 100 деталях, 34 из которых вышли из строя.
Для построения статистического ряда время испытаний разбивают на интервалы (разряды) и подсчитывают частоту, интенсивность и вероятность отказов, используя выражения (1), (2) и (3). Определяют доверительные интервалы математического ожидания и среднеквадратичного отклонения при нормальном законе распределения отказов и заданном коэффициенте доверия [3, с. 60].
Результаты вычислений представлены в таблице Excel (Таблица 1).
Таблица 1
Результаты расчета основных показателей испытаний
Параметр |
Разряды |
|||||||||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
|
t |
10 |
20 |
30 |
40 |
50 |
60 |
70 |
80 |
90 |
100 |
n* |
5 |
3 |
5 |
2 |
2 |
3 |
3 |
3 |
5 |
3 |
Pн(t) |
0,935 |
0,917 |
0,896 |
0,870 |
0,841 |
0,805 |
0,767 |
0,725 |
0,680 |
0,633 |
fн(t) |
0,983 |
0,986 |
0,988 |
0,990 |
0,991 |
0,992 |
0,993 |
0,993 |
0,994 |
0,994 |
λн(t) |
1,050 |
1,074 |
1,102 |
1,137 |
1,178 |
1,232 |
1,294 |
1,369 |
1,460 |
1,570 |
Qн(t) |
0,064 |
0,082 |
0,103 |
0,129 |
0,158 |
0,194 |
0,232 |
0,274 |
0,319 |
0,366 |
Dн |
0,014 |
0,002 |
0,026 |
0,020 |
0,011 |
0,005 |
0,002 |
0,014 |
0,009 |
0,026 |
λн |
0,085065269 |
|||||||||
Листинг фрагмента программы расчета показателей при нормальном законе распределения:
'Вычислим 43 строку таблицы(45)=============================Рн(t)
СтрокаТаблицы = 45
'a=(t-Tср)/Сигма
СтолбецТаблицы = 4
For n = СтолбецТаблицы To (КоличествоСтолбцовТаблицы + СтолбецТаблицы - 1)
a = Abs(Sheets("ОсновнаяТаблица").Cells(3, n).Value - Tcp) / Сигма
'b=Фо
СтрокаТаблФункцЛапласа = 2
While Sheets("Таблица функции Лапласа").Cells(СтрокаТаблФункцЛапласа, 1).Value <> ""
СтрокаТаблФункцЛапласа = СтрокаТаблФункцЛапласа + 1
Wend
If a <= Sheets("Таблица функции Лапласа").Cells(2, 1).Value Then
ф0 = Sheets("Таблица функции Лапласа").Cells(2, 2).Value
GoTo далее
End If
If a >= Sheets("Таблица функции Лапласа").Cells(СтрокаТаблФункцЛапласа - 1, 1).Value Then
ф0 = Sheets("Таблица функции Лапласа").Cells(СтрокаТаблФункцЛапласа - 1, 2).Value
GoTo далее
End If
СтрокаТаблФункцЛапласа = 2
While Sheets("Таблица функции Лапласа").Cells(СтрокаТаблФункцЛапласа, 1).Value <> ""
If Sheets("Таблица функции Лапласа").Cells(СтрокаТаблФункцЛапласа, 1).Value = a Then
ф0 = Sheets("Таблица функции Лапласа").Cells(СтрокаТаблФункцЛапласа, 2).Value
GoTo далее3
End If
If a < Sheets("Таблица функции Лапласа").Cells(СтрокаТаблФункцЛапласа, 1).Value And a > Sheets("Таблица функции Лапласа").Cells(СтрокаТаблФункцЛапласа - 1, 1).Value Then
If Sheets("Таблица функции Лапласа").Cells(СтрокаТаблФункцЛапласа, 1).Value - a < a - Sheets("Таблица функции Лапласа").Cells(СтрокаТаблФункцЛапласа - 1, 1).Value Then
ф0 = Sheets("Таблица функции Лапласа").Cells(СтрокаТаблФункцЛапласа, 2).Value
Else
ф0 = Sheets("Таблица функции Лапласа").Cells(СтрокаТаблФункцЛапласа - 1, 2).Value
End If
GoTo далее3
End If
СтрокаТаблФункцЛапласа = СтрокаТаблФункцЛапласа + 1
Wend
далее3:
Sheets("ОсновнаяТаблица").Cells(СтрокаТаблицы, n).Value = 0.5 + ф0
Next
'Вычислим 44 строку таблицы(46)=============================fн(t)
СтрокаТаблицы = 46
СтолбецТаблицы = 4
Pi = Application.WorksheetFunction.Pi
For n = СтолбецТаблицы To (КоличествоСтолбцовТаблицы + СтолбецТаблицы - 1)
Sheets("ОсновнаяТаблица").Cells(СтрокаТаблицы, n).Value = 1 - 1 / (Сигма * Sqr(2 * Pi)) * Exp((Sheets("ОсновнаяТаблица").Cells(3, n).Value - Tcp) ^ 2 / (2 * (Сигма ^ 2)))
Next
'Заполним 45 строку таблицы(47)=============================Лямбда н(t)
СтрокаТаблицы = 47
СтолбецТаблицы = 4
For n = СтолбецТаблицы To (КоличествоСтолбцовТаблицы + СтолбецТаблицы - 1)
Sheets("ОсновнаяТаблица").Cells(СтрокаТаблицы, n).Value = Sheets("ОсновнаяТаблица").Cells(46, n).Value / Sheets("ОсновнаяТаблица").Cells(45, n).Value
Next
Для определения доверительного интервала для математического ожидания по таблице квантилей распределения Стьюдента находят квантиль вероятности. Используя выражения (4) и (5) проводят расчеты
(4)
(5)
'Заполним 30 строку таблицы(32)=============================Tср min
СтрокаТаблицы = 32
СтолбецТаблицы = 4
For n = СтолбецТаблицы To (КоличествоСтолбцовТаблицы + СтолбецТаблицы - 1)
Next
СтепеньСвободыПриНормРаспред = КоличествоСтолбцовТаблицы + 1 - 2
Sheets("ОсновнаяТаблица").Cells(СтрокаТаблицы, 4).Value = Tcp - Sheets("ОсновнаяТаблица").Cells(31, 4).Value * Сигма / Sqr(СтепеньСвободыПриНормРаспред)
Sheets("ОсновнаяТаблица").Range(Cells(СтрокаТаблицы, 4), Cells(СтрокаТаблицы, n - 1)).MergeCells = True
Sheets("ОсновнаяТаблица").Range(Cells(СтрокаТаблицы, 4), Cells(СтрокаТаблицы, n - 1)).HorizontalAlignment = xlCenter
'Заполним 31 строку таблицы(33)=============================Tср max
СтрокаТаблицы = 33
СтолбецТаблицы = 4
For n = СтолбецТаблицы To (КоличествоСтолбцовТаблицы + СтолбецТаблицы - 1)
Next
Sheets("ОсновнаяТаблица").Cells(СтрокаТаблицы, 4).Value = Tcp + Sheets("ОсновнаяТаблица").Cells(31, 4).Value * Сигма / Sqr(СтепеньСвободыПриНормРаспред)
Sheets("ОсновнаяТаблица").Range(Cells(СтрокаТаблицы, 4), Cells(СтрокаТаблицы, n - 1)).MergeCells = True
Sheets("ОсновнаяТаблица").Range(Cells(СтрокаТаблицы, 4), Cells(СтрокаТаблицы, n - 1)).HorizontalAlignment = xlCenter
Тср, min = |
79,29380755 ч. |
Тср, max = |
172,43129 ч. |
Для определения доверительного интервала для среднеквадратичного отклонения по таблице квантилей χ 2 – квадрат распределения определяют квантили для заданных вероятностей P 1 и P 2 .
(0,05) = |
3,32511 |
(0,95) = |
16,919 |
'Заполним 32 строку таблицы(34)=============================X1(0,05)
СтрокаОсновнойТаблицы = 34
СтрокаТаблКвантили = 4
ВходнаяСтрочнаяВеличина = СтепеньСвободыПриНормРаспред
While Sheets("Квантили распределения хи").Cells(СтрокаТаблКвантили, 1).Value <> ""
СтрокаТаблКвантили = СтрокаТаблКвантили + 1
Wend
If ВходнаяСтрочнаяВеличина <= Sheets("Квантили распределения хи").Cells(4, 1).Value Then
СтрокаТабл = 4
GoTo СледующийПоиск10
End If
If ВходнаяСтрочнаяВеличина >= Sheets("Квантили распределения хи").Cells(СтрокаТаблКвантили - 1, 1).Value Then
СтрокаТабл = СтрокаТаблКвантили - 1
GoTo СледующийПоиск10
End If
СтрокаТаблКвантили = 4
While Sheets("Квантили распределения хи").Cells(СтрокаТаблКвантили, 1).Value <> ""
If Sheets("Квантили распределения хи").Cells(СтрокаТаблКвантили, 1).Value = ВходнаяСтрочнаяВеличина Then
СтрокаТабл = СтрокаТаблКвантили
GoTo СледующийПоиск10
End If
If ВходнаяСтрочнаяВеличина < Sheets("Квантили распределения хи").Cells(СтрокаТаблКвантили, 1).Value And ВходнаяСтрочнаяВеличина > Sheets("Квантили распределения хи").Cells(СтрокаТаблКвантили - 1, 1).Value Then
If Sheets("Квантили распределения хи").Cells(СтрокаТаблКвантили, 1).Value - ВходнаяСтрочнаяВеличина < ВходнаяСтрочнаяВеличина - Sheets("Квантили распределения хи").Cells(СтрокаТаблКвантили - 1, 1).Value Then
СтрокаТабл = СтрокаТаблКвантили
Else
СтрокаТабл = СтрокаТаблКвантили - 1
End If
GoTo СледующийПоиск10
End If
СтрокаТаблКвантили = СтрокаТаблКвантили + 1
Wend
СледующийПоиск10:
СтолбецТаблКвантили = 2
ВходнаяВертикальнаяВеличина = 0.05
While Sheets("Квантили распределения хи").Cells(3, СтолбецТаблКвантили).Value <> ""
СтолбецТаблКвантили = СтолбецТаблКвантили + 1
Wend
If ВходнаяВертикальнаяВеличина <= Sheets("Квантили распределения хи").Cells(3, 2).Value Then
СтолбецТабл = 2
GoTo СледующийПоиск11
End If
If ВходнаяВертикальнаяВеличина >= Sheets("Квантили распределения хи").Cells(3, СтолбецТаблКвантили - 1).Value Then
СтолбецТабл = СтолбецТаблКвантили - 1
GoTo СледующийПоиск11
End If
СледующийПоиск11:
СтолбецТаблКвантили = 11
While Sheets("Квантили распределения хи").Cells(3, СтолбецТаблКвантили).Value <> ""
If Sheets("Квантили распределения хи").Cells(3, СтолбецТаблКвантили).Value = ВходнаяВертикальнаяВеличина Then
СтолбецТабл = СтолбецТаблКвантили
GoTo СледующийПоиск12
End If
If ВходнаяСтрочнаяВеличина < Sheets("Квантили распределения хи").Cells(3, СтолбецТаблКвантили).Value And ВходнаяВертикальнаяВеличина > Sheets("Квантили распределения хи").Cells(3, СтолбецТаблКвантили - 1).Value Then
If Sheets("Квантили распределения хи").Cells(3, СтолбецТаблКвантили).Value - ВходнаяВертикальнаяВеличина < ВходнаяВертикальнаяВеличина - Sheets("Квантили распределения хи").Cells(3, СтолбецТаблКвантили - 1).Value Then
СтолбецТабл = СтолбецТаблКвантили
Else
СтолбецТабл = СтолбецТаблКвантили - 1
End If
GoTo СледующийПоиск12
End If
СтолбецТаблКвантили = СтолбецТаблКвантили + 1
Wend
СледующийПоиск12:
x1 = Sheets("Квантили распределения хи").Cells(СтрокаТабл, СтолбецТабл).Value
Sheets("ОсновнаяТаблица").Cells(СтрокаОсновнойТаблицы, 4).Value = x1
Sheets("ОсновнаяТаблица").Range(Cells(СтрокаОсновнойТаблицы, 4), Cells(СтрокаОсновнойТаблицы, n - 1)).MergeCells = True
Sheets("ОсновнаяТаблица").Range(Cells(СтрокаОсновнойТаблицы, 4), Cells(СтрокаОсновнойТаблицы, n - 1)).HorizontalAlignment = xlCenter
'Заполним 33 строку таблицы(35)=============================X2(0,95)
СтрокаОсновнойТаблицы = 35
СтрокаТаблКвантили = 4
ВходнаяСтрочнаяВеличина = СтепеньСвободыПриНормРаспред
While Sheets("Квантили распределения хи").Cells(СтрокаТаблКвантили, 1).Value <> ""
СтрокаТаблКвантили = СтрокаТаблКвантили + 1
Wend
If ВходнаяСтрочнаяВеличина <= Sheets("Квантили распределения хи").Cells(4, 1).Value Then
СтрокаТабл = 4
GoTo СледующийПоиск13
End If
If ВходнаяСтрочнаяВеличина >= Sheets("Квантили распределения хи").Cells(СтрокаТаблКвантили - 1, 1).Value Then
СтрокаТабл = СтрокаТаблКвантили - 1
GoTo СледующийПоиск13
End If
СтрокаТаблКвантили = 4
While Sheets("Квантили распределения хи").Cells(СтрокаТаблКвантили, 1).Value <> ""
If Sheets("Квантили распределения хи").Cells(СтрокаТаблКвантили, 1).Value = ВходнаяСтрочнаяВеличина Then
СтрокаТабл = СтрокаТаблКвантили
GoTo СледующийПоиск13
End If
If ВходнаяСтрочнаяВеличина < Sheets("Квантили распределения хи").Cells(СтрокаТаблКвантили, 1).Value And ВходнаяСтрочнаяВеличина > Sheets("Квантили распределения хи").Cells(СтрокаТаблКвантили - 1, 1).Value Then
If Sheets("Квантили распределения хи").Cells(СтрокаТаблКвантили, 1).Value - ВходнаяСтрочнаяВеличина < ВходнаяСтрочнаяВеличина - Sheets("Квантили распределения хи").Cells(СтрокаТаблКвантили - 1, 1).Value Then
СтрокаТабл = СтрокаТаблКвантили
Else
СтрокаТабл = СтрокаТаблКвантили - 1
End If
GoTo СледующийПоиск13
End If
СтрокаТаблКвантили = СтрокаТаблКвантили + 1
Wend
СледующийПоиск13:
СтолбецТаблКвантили = 2
ВходнаяВертикальнаяВеличина = 0.95
While Sheets("Квантили распределения хи").Cells(3, СтолбецТаблКвантили).Value <> ""
СтолбецТаблКвантили = СтолбецТаблКвантили + 1
Wend
If ВходнаяВертикальнаяВеличина <= Sheets("Квантили распределения хи").Cells(3, 2).Value Then
СтолбецТабл = 2
GoTo СледующийПоиск14
End If
If ВходнаяВертикальнаяВеличина >= Sheets("Квантили распределения хи").Cells(3, СтолбецТаблКвантили - 1).Value Then
СтолбецТабл = СтолбецТаблКвантили - 1
GoTo СледующийПоиск14
End If
СледующийПоиск14:
СтолбецТаблКвантили = 2
While Sheets("Квантили распределения хи").Cells(3, СтолбецТаблКвантили).Value <> ""
If Sheets("Квантили распределения хи").Cells(3, СтолбецТаблКвантили).Value = ВходнаяВертикальнаяВеличина Then
СтолбецТабл = СтолбецТаблКвантили
GoTo СледующийПоиск15
End If
If ВходнаяСтрочнаяВеличина < Sheets("Квантили распределения хи").Cells(3, СтолбецТаблКвантили).Value And ВходнаяВертикальнаяВеличина > Sheets("Квантили распределения хи").Cells(3, СтолбецТаблКвантили - 1).Value Then
If Sheets("Квантили распределения хи").Cells(3, СтолбецТаблКвантили).Value - ВходнаяВертикальнаяВеличина < ВходнаяВертикальнаяВеличина - Sheets("Квантили распределения хи").Cells(3, СтолбецТаблКвантили - 1).Value Then
СтолбецТабл = СтолбецТаблКвантили
Else
СтолбецТабл = СтолбецТаблКвантили - 1
End If
GoTo СледующийПоиск15
End If
СтолбецТаблКвантили = СтолбецТаблКвантили + 1
Wend
СледующийПоиск15:
x1 = Sheets("Квантили распределения хи").Cells(СтрокаТабл, СтолбецТабл).Value
Sheets("ОсновнаяТаблица").Cells(СтрокаОсновнойТаблицы, 4).Value = x1
Sheets("ОсновнаяТаблица").Range(Cells(СтрокаОсновнойТаблицы, 4), Cells(СтрокаОсновнойТаблицы, n - 1)).MergeCells = True
Sheets("ОсновнаяТаблица").Range(Cells(СтрокаОсновнойТаблицы, 4), Cells(СтрокаОсновнойТаблицы, n - 1)).HorizontalAlignment = xlCenter
Получим минимальное σ min и максимальное σ max значения среднеквадратического отклонения:
(6)
(7)
'Заполним 34 строку таблицы(36)=============================Сигма min
СтрокаТаблицы = 36
СтолбецТаблицы = 4
For n = СтолбецТаблицы To (КоличествоСтолбцовТаблицы + СтолбецТаблицы - 1)
Next
Sheets("ОсновнаяТаблица").Cells(СтрокаТаблицы, 4).Value = Сигма * Sqr((СтепеньСвободыПриНормРаспред - 1) / Sheets("ОсновнаяТаблица").Cells(35, 4).Value)
Sheets("ОсновнаяТаблица").Range(Cells(СтрокаТаблицы, 4), Cells(СтрокаТаблицы, n - 1)).MergeCells = True
Sheets("ОсновнаяТаблица").Range(Cells(СтрокаТаблицы, 4), Cells(СтрокаТаблицы, n - 1)).HorizontalAlignment = xlCenter
'Заполним 35 строку таблицы(37)=============================Сигма max
СтрокаТаблицы = 37
СтолбецТаблицы = 4
For n = СтолбецТаблицы To (КоличествоСтолбцовТаблицы + СтолбецТаблицы - 1)
Next
СтепеньСвободыПриНормРаспред = КоличествоСтолбцовТаблицы + 1 - 2
Sheets("ОсновнаяТаблица").Cells(СтрокаТаблицы, 4).Value = Сигма * Sqr((СтепеньСвободыПриНормРаспред - 1) / Sheets("ОсновнаяТаблица").Cells(34, 4).Value)
Sheets("ОсновнаяТаблица").Range(Cells(СтрокаТаблицы, 4), Cells(СтрокаТаблицы, n - 1)).MergeCells = True
Sheets("ОсновнаяТаблица").Range(Cells(СтрокаТаблицы, 4), Cells(СтрокаТаблицы, n - 1)).HorizontalAlignment = xlCenter
|
52,40646615 |
|
118,2140815 |
Число разрядов, на которые следует группировать статистический ряд, не должно быть слишком большим (тогда ряд распределения становится невыразительным, и часто в нем обнаруживают незакономерные колебания), с другой стороны, оно не должен быть слишком малым (свойства распределения при этом описываются статистическим рядом слишком грубо).
Литература:
- ГОСТ 27.002-89 Надежность в технике (ССНТ). Основные понятия. Термины и определения.
- Федотов, А. В. Основы теории надежности и технической диагностики: конспект лекций / А. В. Федотов, Н. Г. Скабкин. – Омск : Изд-во ОмГТУ, 2010 – 64 с.
- Коваленко, В. Н. Надежность устройств железнодорожной автоматики, телемеханики : учеб. пособие / В. Н. Коваленко. – Екатеринбург : Изд-во УрГУПС, 2013. – 87 с.