投稿

「入門 信頼性工学」第1章~第2章

イメージ
福井泰好「入門 信頼性工学(第2版)」森北出版  の読後メモ。 設例について、Python [Google Colaboratory]による演算処理例を示す。 1章 信頼性工学の概要 p5 図1.4 部品数と部品の信頼度Rがアイテムの信頼度におよぼす影響 (作業手順) 部品数を 1~\(10^6\) 個まで設定(グラフ横軸) 部品の信頼度\(R\)を複数設定 アイテム(直列システム全体)の信頼度を計算(グラフ縦軸) グラフ化 import numpy as np import matplotlib.pyplot as plt start = 0 end = 10**6 X_list = np.arange(start, end, 1) #部品数 R_list = [0.9, 0.99, 0.999, 0.9999, 0.99999] # 部品の信頼度 fig = plt.figure() ax = fig.add_subplot(1, 1, 1) ax.grid(color='gray') for rel in range(len(R_list)): Y_list = R_list[rel]**X_list # システム全体の信頼度 ax.plot(X_list, Y_list, label=fr'R={R_list[rel]}') plt.xscale('log') #横軸を対数目盛り plt.xlabel('Number of parts') plt.ylabel('Overall system reliability') plt.xlim(1,) # 部品点数は1以上 plt.ylim(0,) plt.legend() plt.show() 部品点数が増加するにつれて、直列システムの信頼度は減少する。 同減少度合いは、部品の信頼度が小さいほど、強い。 p11 例題1.1 信頼度R (作業手順) 故障時刻と信頼度を求めたい時刻(運用時刻)のリストを設定 特定の運用時刻における残存数を計算する関数を設定 各残存数から各信頼度を計算 一覧表化 import pandas as pd Num = 3 # アイテム数 f_time = [6,12,2...

「信頼性工学のはなし―信頼度99.9999…%をめざして」8~9章

大村平「信頼性工学のはなし―信頼度99.9999…%をめざして」日科技連  の読後行間補充メモ 同書籍は、印刷数表による信頼性工学の啓蒙書。 本稿では、同書籍の設例について、Python [Google Colaboratory]による演算処理例を示す。 8章 信頼性を評価する p193 Fault tree analysis OR計算を、以下の式により計算した場合の結果 \(P= 1-(1-p_1)(1-p_2)\) (作業工程) 故障木の AND/OR 関係を設定する 末端葉の故障率を設定する AND関数、OR関数で樹木全体の故障率を計算する def f_or(perlist): # OR計算 value = 1 for per in range(len(perlist)): value *= 1-perlist[per]/100 return (1-value)*100 def f_or2(perlist): # OR計算(近似値) value = 0 for per in range(len(perlist)): value += perlist[per]/100 return value*100 def f_and(perlist): # AND計算 value = 1 for per in range(len(perlist)): value *= perlist[per]/100 return value*100 # ツリー情報 a = f_or([0.1, 0.2]) b = f_or([0.1, 0.2]) c = f_and([1.0,1.0]) d = f_or([a,b]) e = f_or([0.5, 1.0]) f = f_or([c,d,e]) # 演算結果の表示 print(round(f,2),'%') 2.09 % p194 近似値計算の場合 OR計算を、以下の近似式により計算した場合の結果 \(P\fallingdotseq p_1+p2\) # コードは上記の続き # ツリー情報 a = f_or2([0.1, 0.2]) b = f_or2([0.1, 0.2]) c = f_and([1.0,1.0]) d = f_...

「信頼性工学のはなし―信頼度99.9999…%をめざして」7章

イメージ
大村平「信頼性工学のはなし―信頼度99.9999…%をめざして」日科技連  の読後行間補充メモ 同書籍は、印刷数表による信頼性工学の啓蒙書。 本稿では、同書籍の設例について、Python [Google Colaboratory]による演算処理例を示す。 7章 データで信頼性を判断する p149 図7.1上図 3種類の分布 故障率kのグラフ ワイブル故障分布(p151) \begin{eqnarray*} f(t)&=&k(t)\times R(t)\\&=&\cfrac{m}{\eta}\left(\cfrac{t-\gamma}{\eta}\right)^{m-1} \times e^{-\left( \cfrac{t-\gamma}{\eta}\right)^m}\end{eqnarray*} を構成する故障率関数 \(k(t)=\cfrac{m}{\eta} \left(\cfrac{t-\gamma}{\eta}\right)^{m-1}\) を使用する。 式中の各パラメータの趣旨は、以下のとおり。 \(m\) …形状パラメータ \(\eta\) …尺度パラメータ \(\gamma\) …位置パラメータ (期間による\(m\) の値) 初期故障期間 \(m<1\) 偶発故障期間 \(m=1\) 摩耗故障期間 \(m>1\) # 故障確率k import numpy as np import math from matplotlib import pyplot as plt # 設定値 m_list = [0.5, 1, 10] # 形状パラメータ(初期、偶発、摩耗) eta_value = 1 # 尺度パラメータ(半減期、時定数) gamma_value = 0 # 位置パラメータ # 各時期(初期、偶発、摩耗)のパラメータ設定 g_wide =1.3 # グラフ横幅 step = 0.0001 # グラフ描画刻み p1 = [0, g_wide, m_list[0], eta_value, gamma_value] # 始点、終点、形状、尺度、位置 p2 = [0, g_wide, m_list[1], eta_value, gamma_value] p3 = [0, g_wide...

「信頼性工学のはなし―信頼度99.9999…%をめざして」5~6章

イメージ
大村平「信頼性工学のはなし―信頼度99.9999…%をめざして」日科技連  の読後行間補充メモ 同書籍は、印刷数表による信頼性工学の啓蒙書。 本稿では、同書籍の設例について、Python [Google Colaboratory]による演算処理例を示す。 5章 保全とアベイラビリティ p106 表5.1 保全性の効きめ \(Availability=\cfrac{MTBF}{MTBF+MTTR}\) (処理工程) MTBFとMTTRの種々の比率を設定 可働率を計算 一覧表化 import pandas as pd RF_line = [0.3, 0.2, 0.1, 0.05, 0.01, 0.005, 0.001] # MTTR/MTBF Ava_line = [] for RF in RF_line: ava = 1/(1+RF) # 可動率 Ava_line.append(round(ava *100,1)) DF = pd.DataFrame([RF_line,Ava_line]).T DF.columns = ['MTTR/MTBF','Availability [%]'] DF MTTR/MTBF Availability [%] 0 0.300 76.9 1 0.200 83.3 2 0.100 90.9 3 0.050 95.2 4 0.010 99.0 5 0.005 99.5 6 0.001 99.9 6章 信頼性を創り込む p145 SN曲線 (処理工程) 設例値の設定 対数関数の係数を求める 対数関数に基づき、N値に対応するS値を計算 SNグラフを描画 曲線の方程式の係数推定:  SciPy の optimize(Curve fitting) 機能を使用 import numpy as np from scipy import optimize import matplotlib.pyplot as plt # 設例値 x_sample = [10,100,1000,10000] y_sample = [4,3,2,1] # 対数関数の係数を求める model = lambda t,a,b :a + b * np.log(t) popt, pcov = o...

「信頼性工学のはなし―信頼度99.9999…%をめざして」4章

イメージ
大村平「信頼性工学のはなし―信頼度99.9999…%をめざして」日科技連  の読後行間補充メモ 同書籍は、印刷数表による信頼性工学の啓蒙書。 本稿では、同書籍の設例について、Python [Google Colaboratory]による演算処理例を示す。 4章 直列と並列の信頼性 p77 直列システムの信頼度 (処理工程) システム機能予定時間\(t\) と各部品の \(MTBF\) とを設定 \(MTBF\) の逆数として故障率\(k\) を求める 故障率\(k\) とシステム機能予定時間\(t\) に基づき部品の信頼度\(r\) を求める 各部品の信頼度\(r\) を乗じて、直列システムの信頼度\(R\) を求める import math # 設例値 MTBF1 = 1000 MTBF2 = 2000 MTBF3 = 2500 time = 100 # 故障率 k1 = 1/MTBF1 k2 = 1/MTBF2 k3 = 1/MTBF3 # 部品の信頼度 r1 = math.exp(-k1* time) r2 = math.exp(-k2* time) r3 = math.exp(-k3* time) Reliability = r1*r2*r3 print(f'直列システム[{time}時間経過後]の信頼度:{round(Reliability,3)}') 直列システム[100時間経過後]の信頼度:0.827 p79 直列システムの信頼度 同じ信頼度 \(r\) を有する部品の部品点数(横軸)と直列システムの信頼度\(R\)(縦軸)との関係グラフ。 from matplotlib import pyplot as plt import numpy as np # 設定値 reliability = [0.98, 0.99, 0.995, 0.997, 0.998, 0.999, 0.9995, 0.9999] numbers = np.arange(0,2001,1) # 直列システムの信頼度 Rel = [] for rel in reliability: Rel.append(rel ** numbers) # グラフ描画 for graph in range(len(reliability)): ...