図1は本実施例に係る回路シミュレーション方法を実行するコンピュータ装置の概略的構成を説明するための装置構成図である。図1において、中央処理装置(CPU)10は、装置全体を制御する。主記憶装置11は読み出し専用記憶装置(ROM)やCPU10が計算処理時に一時的な読み書きを行う記憶装置(RAM)を含む。外部記憶装置12はハードディスク、フロッピー(登録商標)ディスク、CD、DVD、MD等の記憶媒体へのデータの読み書きに利用される。出力装置(プリンタ)13は計算結果等を印刷する。表示装置14はブラウン管や液晶ディスプレイに代表される。入力装置15はマウスやキーボード等に代表される装置である。バス16はアドレスバス、データバス、制御バス等の情報を伝達する。処理プログラム12aはコンピュータ装置内にインストールされた回路シミュレーションを行うためのプログラムである。結線情報12bは電気回路の結線情報である。ここで結線情報とは、回路を構成する部品に関する情報、部品の端子に関する情報、部品の端子間の結線に関する情報のことである。中央処理装置(CPU)10、主記憶装置11、外部記憶装置12、出力装置13、表示装置14及び入力装置15は、それぞれバス16を介して互いに接続されている。
図2は、本発明にかかる回路シミュレーションプログラムの機能の構成を説明するための機能構成図である。図2において、入力部20は入力装置15を構成に含み、ユーザが入力装置15を用いて入力した、結線情報12bの読み込み指示や、処理プログラム12aなどの実行に使用される条件(以下、解析条件)に関する情報をコンピュータ装置内に入力する機能部分である。
外部記憶情報抽出部21は、外部記憶装置12を構成に含む。入力部20から処理プログラム12aの実行が入力されると、その入力に従ってCPU10からの制御命令により外部記憶装置12中に記憶された処理プログラム12aを抽出する。抽出された処理プログラム12aは、主記憶装置11内に記憶される。また、外部記憶情報抽出部21は、入力部20から結線情報12bを読み込む指示が出されると、その指示に従ってCPU10からの制御命令により外部記憶装置12内に記憶された結線情報12bを抽出する。抽出された結線情報12bは主記憶装置11内に記憶される。
ハーフショート抵抗計算部22は、CPU10および処理プログラム12aを構成に含む。入力部20から処理プログラム12aが実行されると、CPU10が主記憶装置11の一部の領域を利用しながら、回路解析やハーフショートした部品の抵抗値を計算するなどの処理を行う。なお、ハーフショートとは、ある抵抗を保持して部品が故障することである。該ハーフショート抵抗計算部22の処理は、主記憶装置11に記憶されている解析条件、処理プログラム12aおよび結線情報12bに基づいて行われる。結線情報作成部22aは、外部記憶情報抽出部21により抽出した結線情報12bから構成部品を特定し、ハーフショートの対象となる部品を出力部23により表示装置14に表示する。ユーザは表示された部品の中から、ハーフショートさせる部品を選択し、入力装置15から入力する。結線情報作成部22aは、CPU10の制御により、入力部20から入力された部品情報をもとに、ユーザが選択した部品を異なる抵抗値に置換した結線情報を作成する。作成した結線情報は主記憶装置11内に記憶される。さらに、ユーザが入力部20により入力した解析条件を用いて解析情報を作成する。解析情報は、外部記憶装置12内に記憶される。回路解析部22bはCPU10の制御により、外部記憶装置12内に記憶された解析情報を用いて解析を行う。各解析結果は外部記憶装置12内に記憶される。解析結果取得部22cは、外部記憶装置12内に記憶された解析結果を外部記憶情報抽出部21により抽出する。抽出した解析結果はそれぞれ、主記憶装置11内に記憶される。さらに解析結果取得部22cは、CPU10の制御により、主記憶装置11内に記憶された解析結果から、置換した抵抗の端子間電圧と抵抗を流れる電流の値を抽出する。抽出した端子間電圧と電流の値を組みにして、主記憶装置11内に記憶する。等価電源パラメータ計算部22dは、CPU10の制御により、主記憶装置11に記憶された、端子間電圧と端子電流の組みから、等価電源の電源の値と内部抵抗の値を計算する。計算した電源の値と内部抵抗の値は主記憶装置11内に記憶される。抵抗計算部22eは、CPU10の制御により、主記憶装置11内に記憶された等価電源の値と内部抵抗の値から、選択した部品の抵抗値を計算する。該抵抗値を用いて、消費電力を計算し、抵抗値と消費電力を主記憶装置11内に記憶する。
出力部23は、処理プログラム12aの実行結果などを表示装置14に表示する。すなわち、主記憶装置11内に記憶した抵抗値と消費電力を表示装置14に表示する。
図3は、本実施例にかかる回路シミュレーションにおける処理手順の好適な一例を説明するためのフローチャートである。以下、本実施例にかかる回路シミュレーションプログラムの動作を、図3のフローチャートと、図4から図10までの図を用いて詳細に説明する。尚、図を見易くするために異なる図で同じものに対しては、同じ符号を用いている。
まず、図3のフローチャートについて説明する。入力部20からCPU10が処理プログラム12aの実行指示を受け付けると、外部記憶情報抽出部21により主記憶装置11に転送された処理プログラム12aをCPU10が読み出し、処理プログラム12aが開始される(ステップS300)。
そして外部記憶情報抽出部21が、結線情報12bを主記憶装置11に転送する。処理プログラム12aは、主記憶装置11に記憶された結線情報を読み込み、電気回路を構成する部品情報を抽出する(ステップS301)。
さらに入力部20がハーフショート部品情報を受け付ける(ステップS302)。ここで、ハーフショート部品情報とは、本実施例に係るプログラムにおいて、消費電力が最大となるときの抵抗値を計算する部品の部品番号のことである。この設定方法として、例えば、ユーザが表示装置14により表示された設定画面にて直接入力し、CPU10が入力された部品番号を読み出す方法が考えられる。この場合、表示装置14に図4(a)のような設定画面を表示して、電気回路を構成する部品を設定画面に表示し、その中からユーザが対象部品を選択すればよい。また、別の方法として、例えば、ユーザが予め設定ファイルなどに部品番号を記述し、この設定ファイルを外部記憶装置12に記憶しておき、CPU10が外部記憶情報抽出部21を通して設定ファイルを読み込むなどの方法も考えられる。処理プログラム12aは、受け付けた部品番号を主記憶装置11に記憶する。
ステップS302においてハーフショートさせる部品が特定されると、抵抗計算に使用する抵抗値を設定する(ステップS303)。設定された抵抗値は主記憶装置11に記憶される。この設定方法として、例えば、ユーザが表示装置14により表示された設定画面にて直接入力し、CPU10が入力された抵抗値を読み出す方法が考えられる。この場合、表示装置14に図4(b)のような設定画面を表示して、ユーザが抵抗値を入力すればよい。また、別の方法として、例えば、ユーザが予め設定ファイルなどに抵抗値を2つ記述し、この設定ファイルを読み込むなどの方法も考えられる。尚、置換する抵抗値は、任意の異なる値であればよく、予め設定しておいた、異なる2つの抵抗値を用いても計算に影響を与えない。
さらに、回路解析を行う際に使用する、解析条件を設定する(ステップS304)。ここで、本実施例では過渡解析を行うので、解析条件とは解析時間と解析ステップ幅を指す。この設定方法として、例えば、ユーザが表示装置14により表示された設定画面にて直接入力し、CPU10が入力された解析条件を読み出す方法が考えられる。この場合、表示装置14に図4(c)のような設定画面を表示して、ユーザが解析条件を設定すればよい。また、別の方法として、例えば、ユーザが予め設定ファイルなどに解析条件を記述し、この設定ファイルを読み込むなどの方法も考えられる。処理プログラム12aは、設定された解析条件を主記憶装置11に記憶する。
次に、結線情報に基づいて、ステップS302で選択した部品の1つを、ステップS303で設定した抵抗値の抵抗に置換した、結線情報を作成する(ステップS305)。処理プログラム12aは、主記憶装置11に記憶された結線情報とハーフショートさせる部品の部品番号を読み込み、CPU10の制御により、結線情報の中から該当する部品番号を検索する。CPU10の制御により、検索した部品に関する記述を、ステップS303で設定した抵抗に書き換えて、主記憶装置11に記憶する。また、作成した結線情報の個数を主記憶装置11に記憶する。ここで、ステップS303では、一例として、設定した2つの抵抗に置換するので、少なくとも2つの結線情報が作成される。この2つの結線情報を1組みとする。この結線情報の個数は、ステップS302で選択した部品の端子から、2端子を取る組み合わせの数の2倍となる。例えば、2端子部品であれば、2端子から2端子を取る組み合わせは1通り、この端子間にステップS303で設定した異なる抵抗を挿入するので、結線情報は2つ作成される。また、作成した結線情報とステップS304で設定した解析条件から解析情報を作成し、外部記憶装置12に記憶する。ステップS311から処理が戻ってきた際には、主記憶装置11に記憶されていて、まだ処理をしていない部品番号に対して、同様の処理を行う。
ステップS305で作成した解析情報に基づいて各結線情報の解析を実施する(ステップS306)。ここで、回路の挙動を解析する方法の一例として、例えば、SPICE(Simulation Program with Integrated Circuit Emphasis)のような回路シミュレータを用いる方法が考えられる。解析結果は外部記憶装置12に記憶される。また、解析した結線情報の個数を主記憶装置11に記憶する。
ここで、ステップS305で作成した2つの結線情報が解析されたか否かを判断する(ステップS307)。処理プログラム12aは主記憶装置11に記憶した結線情報の個数と、解析した結線情報の個数を読み出し、CPU10の制御により比較する。その結果、作成した結線情報の個数が解析した結線情報の個数と等しい場合、ステップS308に進む。作成した結線情報の個数が解析した結線情報の個数より大きい場合、ステップS306に処理を戻す。
ステップS305で作成したすべての結線情報に対する解析が実施されると、結線情報1組みを解析した2つの結果から、それぞれステップS305で置換した抵抗の端子間電圧と、抵抗を流れる電流を組みにして取得する(ステップS308)。処理プログラム12aは、外部記憶装置12に記憶した2つの解析結果を主記憶装置11に転送し、CPU10の制御により、それぞれの解析結果から端子間電圧と電流の組みを取得する。取得した端子間電圧と電流を組みにして主記憶装置11に記憶する。
そして、テブナンの定理に基づいて、等価電源の電圧源の値と内部抵抗の抵抗値とを計算する(ステップS309)。ここで、テブナンの定理とは、2つの端子間の回路を、図5(a)に示すような、電圧源に内部抵抗が接続した電源に置換できるという定理である。
図5(a)において、E81はテブナンの定理に基づいた等価電源、V81は等価電源E81の電圧源、R81は内部抵抗、P81およびP82はテブナンの定理を適用した2つの端子、を示す。この2端子はハーフショートさせる部品が接続していた端子であり、この2端子にテブナンの定理を適用することにより、2端子に接続する回路全体、すなわち、選択した部品を除く回路全体を等価電源に置換することができる。そして、この2端子にステップS305で置換した異なる抵抗値を持つ抵抗を接続すると、図5(b)に示すような等価回路が作成できる。
図5(b)において、RNは置換した抵抗、VNは置換した抵抗の端子間電圧、INは置換した抵抗に流れる電流を示す。この等価回路において、ステップS308で取得した2つの端子間電圧と電流の組みを適用すると、等価電源E81に接続する抵抗RNの抵抗値、抵抗RNの端子間電圧VNおよび電流INが既知の値となる。そこで、2つの端子間電圧VNと電流INの組みを既知の値、等価電源E81の電圧源V81の電圧値と内部抵抗R81の抵抗値を未知の値として、2つの方程式を立てる。これにより、2つの未知数に対して2つの方程式が作成できるので、未知の値である等価電源E81の電圧源V81の電圧値と内部抵抗R81の抵抗値を計算することができる。
処理プログラム12aは、主記憶装置11に記憶された端子間電圧と電流の組みを読み出し、CPU10の制御により、等価電源E81の電圧源V81の電圧値と内部抵抗R81の抵抗値を計算する。計算した電圧源V81の電圧値と内部抵抗R81の抵抗値を、ハーフショートさせる部品の部品番号と組みにして、主記憶装置11に記憶する。
さらに、主記憶装置11に記憶した等価電源E81の電圧源V81の電圧値と内部抵抗R81の抵抗値とを用いて、等価電源E81に抵抗が接続した回路において、抵抗に供給される電力が最大となるときの抵抗値RPMAXを計算する(ステップS310)。処理プログラム12aは、主記憶装置11に記憶した、等価電源E81の電圧源V81の電圧値と内部抵抗R81の抵抗値を読み出し、CPU10の制御により、供給電力が最大となるときの抵抗値を計算する。ここで、計算した抵抗値を主記憶装置11に記憶する。さらに主記憶装置11に記憶した抵抗値を読み出し、図5(b)のRN=RPMAXのときの消費電力を計算する。この計算結果が最大消費電力となる。部品番号、抵抗値RPMAX、最大消費電力を組みにして、主記憶装置11に記憶する。
ステップS302で選択したすべての部品について計算が終了しているか否かを判断する(ステップS311)。処理プログラム12aは、主記憶装置11に記憶したハーフショートさせる部品のうち、まだ処理されていない部品がある場合、ステップS305に処理を戻す。主記憶装置11に記憶したハーフショートさせる部品のすべてが処理された場合、ステップS312に処理を進める。
ステップS310で主記憶装置11に記憶した解析結果を出力する(ステップS312)。ここで、結果出力方法として、例えば、主記憶装置11に記憶した、部品番号、抵抗値、最大消費電力の組みを読み出し、CPU10の制御により、表示装置14に結果出力画面を表示する方法が考えられる。この場合、表示装置14に図6のような表示画面を表示すればよい。
出力が終了すると、処理プログラム12aを終了する(ステップS313)。
以上が、本実施例にかかる回路シミュレーションのフローチャートの一例の詳細な説明である。
次に、回路シミュレーションプログラムの動作を図7から図10を用いて詳細に説明する。まず、図7および図8に示す電気回路図と結線情報を示す模式図について説明する。図7は電気回路図を示す。図7において、R111、R112、R113、R114は抵抗、C111はコンデンサ、N111、N112、N113、N114はネットのノード番号、V111は電圧源を示す。ここではすべての抵抗の抵抗値を100[Ω]、コンデンサC111の容量を100[μF]、電源V111の電圧値は100[V]とする。図8は図7に示した電気回路図の結線情報の一例を示す。以下、図7の電気回路図および図8の結線情報に対して、本実施例のプログラムを適用した時のプログラムの動作を詳細に説明する。
ステップS300で処理プログラム12aを開始すると、まずステップS301で、結線情報12bに記載された構成部品情報、結線情報を取得する。構成部品情報は、結線情報12bに記載された部品の部品番号である。この例においては、抵抗R111、R112、R113、R114、コンデンサC111となる。次にステップS302でハーフショートさせる部品が設定される(ここでは、抵抗R114をハーフショートさせる部品とする)。次に、ステップS303で、抵抗R114を置換する、抵抗の抵抗値が設定される(ここでは、1Ωと100kΩとする)。ステップS304において、解析条件が設定される(ここでは、解析時間1秒、解析ステップ幅1μ秒とする)。ステップS305では、抵抗R114を1Ωと100kΩに置換した結線情報を作成する。この結線情報を図9に示す。
図9(a)は1Ωに置換した結線情報、図9(b)は100kΩに置換した結線情報を示す。図9(a)のR131および図9(b)のR132は、置換した抵抗の部品番号を示す。抵抗R131に関する記述は、抵抗R131がネットN113とN114に接続し、抵抗値1Ωを持つことを示す。抵抗R132に関する記述は、抵抗R132がネットN113とN114に接続し、抵抗値100kΩを持つことを示す。本実施例では2つの結線情報が作成され、これを1組みの結線情報とする。またステップS304で設定した解析条件と、ステップS305で作成した結線情報を用いて解析情報を作成する。このとき作成される解析情報の一例としては、過渡解析を実行するためのコマンドや、結線情報などがある。過渡解析を実行するためのコマンドに対するパラメータとしては、解析時間や解析ステップ幅などがあり、それぞれ解析時間1秒、解析ステップ幅1μ秒などに設定される。尚、本実施例では、結線情報を2つ作成したので、解析情報も2つ作成される。
ステップS306において、作成した解析情報を用いて、回路解析を実行する。ステップS307において、2つの結線情報の解析が終わっているか否かを判断する。1つ目の結線情報を解析した後であれば、再度ステップS306に処理を戻す。2つ目の結線情報を解析した後であれば、ステップS308に進む。ステップS308では、各結線情報の解析結果から、抵抗R131およびR132の端子間電圧と電流を取得する。図9(a)および図9(b)に記載した結線情報を解析すると、抵抗R131および抵抗R132の端子間電圧および電流は、図10に示すような結果が得られる。
図10は解析結果を模式的に示した図である。図10(a)は時間に対する電流の結果、図10(b)は時間に対する電圧の結果を模式的に示した図である。図10(a)において、151は電流軸、152は時間軸、153は抵抗R131を流れる電流を示す。図10(b)において、154は電圧軸、155は時間軸、156は抵抗R131の端子間電圧を示す。尚、交流などの時間に対して電流および電圧が変化する場合は、式(1)および式(2)に示すような実効値を計算する。ここで、式(1)は電流の実効値、式(2)は電圧の実効値を計算する式であり、Iは電流の実効値、Vは電圧の実効値、Tは解析時間、iは電流、vは電圧を示す。
本実施例において、抵抗R131の端子間電圧V1は498[mV]、抵抗R131を流れる電流I1は498[mA]、抵抗R132の端子間電圧V2は99.8[V]、抵抗R132を流れる電流I2は0.998[mA]となる。
この解析結果を用いて、ステップS309では、テブナンの定理に基づいて等価電源E81の電圧源V81の電圧値および内部抵抗R81の抵抗値を計算する。ここで、キルヒホッフの法則を図5(b)の電気回路図に適用すると、電圧源V81の電圧値VV81は、
で表される。また、内部抵抗R81の抵抗値R81は、
で表される。
2組の端子間電圧VNおよび電流INを式(3)および式(4)の式に代入して計算すると、電圧源V81の電圧値VV81は100V、内部抵抗R81の抵抗値R81は200Ωとなる。
そしてステップS310で、ステップS302で選択した抵抗R114の消費電力が最大となる抵抗値を計算する。等価電源E81の2端子P81およびP82に抵抗値Rxを持つ抵抗Rxを接続する。ここで、抵抗Rxの値は未知である。この等価回路において、抵抗Rxの消費電力PRxが最大となる抵抗値Rxを計算する。この結果が、抵抗R114がハーフショートしたときに最大電力を消費する抵抗値RPMAXとなる。そこで、まず抵抗Rxに流れる電流値IRxは、
で表される。また、抵抗Rxの端子間電圧VRxは、
で表される。抵抗Rxの消費電力PRxは、式(5)と式(6)の積であるから、
で表される。式(7)から抵抗Rxの消費電力PRxは、抵抗Rxの抵抗値Rxの関数であることがわかる。そこで、式(7)を抵抗Rxの抵抗値Rxで微分すると、
が得られる。式(8)において、電圧および抵抗の値は正であるため、R81>Rxのとき微分係数は正、R81=Rxのとき微分係数は0、R81<Rxのとき微分係数は負になる。よって、抵抗Rxが等価電源E81の内部抵抗R81の抵抗値R81と等しいとき、消費電力PRxが最大となることがわかる。計算の結果、抵抗R114がハーフショートしたときに、抵抗R114自身に供給される電力が最大となる抵抗値RPMAXは200Ω、そのときの消費電力PMAXは12.5Wとなる。
ステップS311で、選択された部品について計算が終わっていれば、ステップS312に進む。終わっていなければステップS305に処理を戻す。本実施例では、選択された部品は抵抗R114だけであったので、ステップS312に進む。ステップS312で、図6に示した画面で結果を出力する。本実施例において図6の画面で出力する値は、部品欄がR114、ハーフショート抵抗欄が200Ω、最大消費電力が12.5Wとなる。ステップS312が終了すると、ステップS313に進む。ステップS313でCPU10の制御により、処理プログラム12aを終了する。
以上が、本実施例における回路シミュレーションプログラムの動作である。ユーザは図6に示した画面で表示した結果をもとに、抵抗R114がハーフショート時の最大消費電力に耐えられる部品であるか否かを判断する。判断の結果、抵抗R114がハーフショートに耐えられない部品である場合は、例えば、抵抗R114の部品を定格電力の大きい部品に変更するなどの対策をとる。または抵抗R114がハーフショート時においても消費電力が大きくならないように電気回路を修正するなどの対策も考えられる。
尚、本実施例では、計算結果の出力方法として、表示装置14を用いた画面上での表形式の表示のみを記載したが、その他の出力方法も本実施例に含まれることを記載しておく。例えば、部品番号、ハーフショート時の最大消費電力およびそのときの抵抗値をテキスト形式で記述したファイルを出力する方法がある。この場合、ステップS312において、例えば、テキスト形式で記述したファイルを外部記憶装置12に出力することで、ユーザは処理プログラム12aの終了後にも計算結果を確認することができる。
また、本実施例では、式(1)から式(8)までに示した式を用いて計算を行っているが、上記以外の式を用いてもよい。
(変形例)
また、本実施例では、図8に示すような正常な結線情報から、ハーフショートしたときの最大消費電力とそのときの抵抗値を計算する例について説明した。一方で、他部品を故障させた結線情報からハーフショート時の最大消費電力とそのときの抵抗値を計算することも本実施例に含まれる。
例えば、図11および図12に示すように、抵抗R112が短絡故障した状態から、抵抗R114がハーフショートした場合の抵抗R114の最大消費電力とそのときの抵抗値を計算する方法を示す。ここで、図11は図7において抵抗R112が短絡したときの電気回路図、図12は図8において抵抗R112が短絡したときの結線情報を示す。抵抗R112が短絡し、抵抗R114がハーフショートした状態において、抵抗R114の消費電力が最大となるときの抵抗値、およびそのときの消費電力を計算する。この場合、ステップS301で図12に示す結線情報を読み込み、ステップS302においてハーフショートさせる部品を選択する(ここでは、抵抗R114を選択する)。またステップS303において異なる抵抗値を設定する(ここでは、1Ωと100kΩとする)。ステップS304において解析条件を設定する(ここでは、解析時間1秒、解析ステップ幅1μ秒とする)。ステップS305において、抵抗R114を異なる抵抗値に置換した2つの結線情報を作成する。
作成した結線情報を図13に示す。ここでR191およびR192は抵抗R114と置換した抵抗の部品番号を表す。図13(a)は抵抗R114を1Ωの抵抗R191に置換した結線情報、図13(b)は抵抗R114を100kΩの抵抗R192に置換した結線情報を示す。
ステップS306およびステップS307の処理は本実施例で示したものと同様であるため説明を省略する。ステップS308において、置換した抵抗の端子間電圧と抵抗を流れる電流を取得する。抵抗R191の端子間電圧V1は0.990[V]、流れる電流I1は0.990[A]、抵抗R192の端子間電圧V2は99.9[V]、流れる電流I2は0.999[mA]となる。この解析結果を用いて、ステップS309では、テブナンの定理に基づいて等価電源E81の電圧源V81の電圧値および内部抵抗R81の抵抗値を計算する。式(3)および式(4)を使用して計算すると、電圧源V81の電圧値は100[V]、内部抵抗R81の抵抗値は100[Ω]となる。ステップS310において、消費電力が最大となるときの抵抗値、およびそのときの消費電力を計算する。その結果、抵抗R114がハーフショートしたときに、抵抗R114自身の消費電力が最大となる抵抗値は100[Ω]、そのときの消費電力は25[W]となる。
以上が、本実施例において部品が短絡した状態の結線情報を用いた例である。これと同様に部品が開放した状態の結線情報を用いても解析することができる。また上記の例では単一部品が短絡した状態の結線情報を用いたが、複数部品が短絡または開放した状態の結線情報を用いても、同様の解析が可能である。
また、本実施例では、ハーフショートさせる部品を、異なる2つの抵抗で置換した結線情報を作成して解析を行った例を示したが、部品を短絡および開放させた結線情報を作成して解析することも本実施例に含まれる。例えば、図3に示したステップS303を省略、ステップS305を部品を短絡および開放させた1組の結線情報を作成するステップに、ステップS308を1組の解析結果から開放端電圧と短絡電流を取得するステップに、変更することにより可能となる。
実施例1では、テブナンの定理に基づいた等価電源を作成することにより、部品がハーフショートしたときの最大消費電力とそのときの抵抗値を計算する場合の好適な一例について説明した。これにより、部品がハーフショートしたときに消費し得る最大電力を、ユーザに明示することが可能となった。一方で、等価電源を作成する方法は、テブナンの定理だけとは限らない。ノートンの定理でも等価電源の作成は可能である。そこで本実施例では、ノートンの定理に基づいて等価電源を作成し、これにより部品がハーフショートしたときの最大消費電力とそのときの抵抗値を計算する回路シミュレーションに関する好適な一例を説明する。
以下、本実施例にかかる回路シミュレーションプログラムの動作を、図14(a)および図14(b)の図を用いて詳細に説明する。実施例1で説明した図3と同一の処理を行うものは、説明を省略する。実施例1の処理と異なる処理、すわなち、ここではステップS309、S310に対応する、本実施例の処理について詳細に説明する。
ステップS309に対応するステップでは、ステップS308で取得した端子間電圧と流れる電流を用いて、ノートンの定理に基づいて、等価電源の電流源の値と内部抵抗の抵抗値とを計算する。ここで、ノートンの定理とは、2つの端子間の回路を、図14(a)に示すような、電流源に内部抵抗が並列に接続した電源に置換できるという定理である。
図14(a)において、E221はノートンの定理に基づいた等価電源、I221は等価電源E221の電流源、R221は内部抵抗、P221およびP222はノートンの定理を適用した2つの端子、を示す。この2端子はハーフショートさせる部品が接続していた端子であり、この2端子にノートンの定理を適用することにより、2端子に接続する回路全体、すなわち、選択した部品を除く回路全体を等価電源に置換することができる。そして、この2端子にステップS305で置換した異なる抵抗値を接続すると、図14(b)のような等価回路が作成できる。
図14(b)において、RNは置換した抵抗、VNは置換した抵抗の端子間電圧、INは置換した抵抗に流れる電流を示す。この等価回路において、ステップS308で取得した2つの端子間電圧と電流の組みを適用すると、等価電源E221に接続する抵抗RNの抵抗値、抵抗RNの端子間電圧VNおよび電流INが既知の値となる。そこで、2つの端子間電圧VNと電流INの組みを既知の値、等価電源E221の電流源I221の電流値と内部抵抗R221の抵抗値を未知の値として2つの方程式を立てる。これにより、2つの未知数に対して2つの方程式が作成できるので、未知の値である等価電源E221の電流源I221の電流値と内部抵抗R221の抵抗値を計算することができる。
処理プログラム12aは、主記憶装置11に記憶された端子間電圧と電流の値を読み出し、CPU10の制御により、等価電源E221の電流源I221の電流値と内部抵抗R221の抵抗値を計算する。計算した電流源I221の電流値と内部抵抗R221の抵抗値を組みにして主記憶装置11に記憶する。
S310に対応するステップでは、上記で計算して求めた等価電源E221の電流源I221の電流値と内部抵抗R221の抵抗値とを用いて、ステップS302で選択した部品に供給される電力が最大となる抵抗値RPMAXを計算する。ここで、等価電源E221の電流源I221の電流値と内部抵抗R221の抵抗値が既知であるため、等価電源E221に抵抗が接続した回路において、抵抗に供給される電力が最大となるときの抵抗値を計算することができる。処理プログラム12aは、主記憶装置11に記憶された電流源I221の電流値と内部抵抗R221の抵抗値を読み出し、CPU10の制御により、抵抗の消費電力が最大となる抵抗値を計算する。計算した抵抗値を主記憶装置11に記憶する。主記憶装置11に記憶した抵抗値を読み出し、CPU10の制御により、そのときの消費電力を計算する。部品番号、抵抗値RPMAX、最大消費電力PMAXを組みにして、主記憶装置11に記憶する。
以上が、本実施例にかかる回路シミュレーションプログラムのフローチャートの一例の詳細な説明である。
次に、図7の電気回路図および図8の結線情報に対して、本実施例のプログラムを適用した時のプログラムの動作を詳細に説明する。尚、説明に仕様する電気回路図および結線情報、ハーフショートさせる部品、置換する抵抗の抵抗値、解析条件に設定する値は、すべて実施例1と同様とする。ステップS308で取得した値はそれぞれ、抵抗R131の端子間電圧V1が498[mV]、抵抗R131を流れる電流I1が498[mA]、抵抗R132の端子間電圧V2が99.8[V]、抵抗R132を流れる電流I2が0.998[mA]である。ステップS309に対応するステップでは、ノートンの定理に基づいた、等価電源E221の電流源I221の電流値と内部抵抗R221の抵抗値を計算する。ここで、抵抗R221の抵抗値R221は、キルヒホッフの法則を図14(b)の電気回路図に適用すると、
で表される。また、電流源I221の電流値II221は、
で表される。
計算の結果、電流源I221の電流値II221は0.500[A]、内部抵抗R221の抵抗値R221は200[Ω]となる。
さらにステップS310に対応するステップにおいて、等価電源E221のパラメータから、ステップS302で選択した部品の消費電力が最大となるときの抵抗値を計算する。そこで、実施例1と同様に、等価電源E221に抵抗値が未知の抵抗Rxを接続し、その抵抗Rxの消費電力が最大となる抵抗値Rxを計算する。まず抵抗Rxに流れる電流値IRxは、
で表される。また、抵抗Rxの端子間電圧VRxは、
で表される。抵抗Rxの消費電力PRxは、式(11)と式(12)の積であるから、
で表される。抵抗Rxの消費電力PRxを、抵抗Rxの抵抗値Rxで微分すると、
で表される。式(11)から式(14)の詳細については実施例1に記載した式(5)から式(8)の説明と同様であるため、省略する。式(14)から抵抗Rxの抵抗値がRx=R221のとき、抵抗Rxの消費電力が最大となる。計算の結果、抵抗R114がハーフショートしたときに、抵抗R114自身に供給される電力が最大となる抵抗値は200Ω、そのときの供給電力は12.5Wとなる。ステップS311で、選択された部品について計算が終わっていれば、ステップS312に進む。終わっていなければステップS305に処理を戻す。本実施例では、選択された部品は抵抗R114だけであったので、ステップS312に進む。ステップS312で、図6に示した画面で結果を出力する。ステップS312が終了すると、ステップS313に進む。ステップS313でCPU10の制御により、処理プログラム12aを終了する。
以上が、本実施例における回路シミュレーションプログラムの動作である。ユーザは図6に示した画面で表示した結果をもとに、抵抗R114がハーフショート時の最大消費電力に耐えられる部品であるか否かを判断する。判断の結果、抵抗R114がハーフショートに耐えられない部品である場合は、例えば、抵抗R114の部品を定格電力の大きい部品に変更するなどの対策をとる。または抵抗R114がハーフショート時においても消費電力が大きくならないように電気回路を修正するなどの対策も考えられる。
本実施例においても、実施例1と同様に、表示装置14を用いた画面上での表示以外の出力方法も含まれる。また、本実施例で用いた式(9)から式(14)までの式以外の式を用いてもよい。また、実施例1と同様に、本実施例においても単一部品または複数部品が短絡または開放した状態の結線情報を用いても、同様の解析が可能である。さらに、部品を短絡および開放させた結線情報を作成して解析できることも本実施例に含まれる。例えば、図3に示したステップS303を省略、ステップS305を部品を短絡および開放させた1組の結線情報を作成するステップ、に変更することにより可能となる。
また、実施例1、2ともに異なる2つの抵抗に置換した2つの結線情報を作成した。一方で、プログラム実行前に外部記憶装置12に記憶されていた結線情報12bを1つの結線情報とし、ステップS305で新たに1つの結線情報を作成することにより計算することも可能である。この場合、結線情報12bを読み出し、ハーフショートさせる部品の抵抗値を取得する。さらにこの抵抗値を変更した結線情報を1つ作成し、主記憶装置11に記憶すればよい。
実施例1および実施例2では、2端子の部品をハーフショートさせる部品に選択した場合の好適な一例について説明したが、3端子以上の端子を持つ部品についても、同様の計算をすることができる。そこで本実施例では、3端子以上の端子を持つ部品がハーフショートしたときの最大消費電力とそのときの抵抗値を計算する回路シミュレーションに関する好適な一例を説明する。
図15および図16は、本実施例にかかる回路シミュレーションにおける処理手順の好適な一例を説明するためのフローチャートである。以下、本実施例にかかる回路シミュレーションプログラムの動作を、図15および図16のフローチャートと、図17から図19までの図を用いて詳細に説明する。尚、本実施例の説明では、図を見易くするために異なる図で同じものに対しては、同じ符号を用いている。
まず、図15および図16のフローチャートについて説明する。図15および図16の処理において、図3と同じ符号のステップはすべて実施例1で説明した同じ符号の処理と同一の処理を行うものであり、説明を省略する。すなわち、ここではステップS2400、S2401、S2402、S2403、S2404、S2405、S2406における処理について詳細に説明する。
ステップS302で選択した、3端子以上の端子を持つ部品に対して、その部品のハーフショート時の最大消費電力とそのときの抵抗値を計算する場合、部品が持つすべての端子から2端子を選ぶ組み合わせを作成する(ステップS2400)。処理プログラム12aは、主記憶装置11に記憶された結線情報とハーフショートさせる部品の部品番号1つを読み出し、主記憶装置11から端子情報を取得する。さらに取得した端子情報から、2端子を選ぶ組み合わせを作成し、主記憶装置11に記憶する。端子情報とは、例えば、図8の結線情報において、R114の部品は2つの端子を持ち、それぞれの端子がN113、N114のネットに接続することを示す情報である。
ここで、部品の最大消費電力PMAXと抵抗値RPMAXを記憶する領域を主記憶装置11に用意する(ステップS2401)。それぞれの領域に初期値として0を記憶する。
次に、組み合わせの中の1組みから、2つの端子を取得し、2端子間を異なる2つの抵抗に置換した結線情報を作成する(ステップS2402)。処理プログラム12aは、主記憶装置11から2端子の組み合わせのうち1つを読み出し、2端子間を異なる2つの抵抗に置換した結線情報を作成する。作成した2つの結線情報を主記憶装置11に記憶する。さらに、作成した結線情報とステップS304で設定した解析条件から解析情報を作成し、外部記憶装置に記憶する。ステップS2406から処理が戻ってきた場合も同様の処理を行う。
そして、2端子間に対してテブナンの定理を適用し、等価電源の電圧源の電圧値と内部抵抗の抵抗値を計算する(ステップS2403)。処理プログラム12aは、ステップS308で主記憶装置11に記憶した端子間電圧と電流の値を読み出し、電圧源の電圧値と内部抵抗の抵抗値を計算する。この電圧源の電圧値と内部抵抗の抵抗値を、主記憶装置11に記憶する。次に、部品の消費電力が最大となるときの抵抗値とそのときの消費電力を計算する(ステップS2404)。処理プログラム12aは、ステップS2403で主記憶装置11に記憶した等価電源の電圧源の電圧値と内部抵抗の抵抗値を読み出し、2端子間の最大消費電力PTEMPと抵抗値RTEMPを計算する。
ここで、2端子間の最大消費電力PTEMPと部品の最大消費電力PMAXを比較する(ステップS2405)。処理プログラム12aは、主記憶装置11から2端子間の最大消費電力PTEMPと部品の最大消費電力PMAXを読み出し、CPU10の制御により比較する。PTEMP > PMAXの場合、主記憶装置11に記憶されたPMAXとRPMAXの値をPTEMPとRTEMPで書き換える。
ここで、ステップS2402からステップS2405までのステップを、ステップS2400で作成したすべての組み合わせについて実行する(ステップS2406)。処理プログラム12aは、主記憶装置11にまだ処理していない2端子の組み合わせが存在すれば、処理をステップS2402に戻す。すべての組み合わせについて処理が終了したら、処理をステップS311に進める。
以上が、本実施例にかかる回路シミュレーションプログラムのフローチャートの一例の詳細な説明である。次に、回路シミュレーションプログラムの動作を詳細に説明する。以下、本実施例にかかる回路シミュレーションプログラムの動作を図17から図19までを用いて詳細に説明する。まず、図17および図18に示す電気回路図とその結線情報を示す模式図について説明する。
図17は電気回路図を示す。図17において、R261、R262、R263、R264は抵抗、TR261はトランジスタ、V261は電圧源、N261、N262、N263、N264、N265はネットのノード番号を示す。ここでは、すべての抵抗を100[Ω]、電圧源の電圧値を100[V]とする。図18は図17に示した電気回路図の結線情報の一例を示す。結線情報には、電気回路の構成部品とそのパラメータ情報、部品間の結線情報が記述される。
以下、本実施例にかかる回路シミュレーションプログラムの動作を詳細に説明する。ここで、ステップS302において選択する部品をトランジスタTR261とする。また、ステップS303で設定する抵抗値は実施例1と同様とする。また、本実施例では、図5(a)に示す等価回路を作成し、式(3)から式(8)までを使用して計算する。
ステップS2400で、部品が持つ端子から2端子を選択する組み合わせを作成する。トランジスタTR261が持つ端子は3端子であり、それぞれN262、N263、N264に接続する端子である。説明の便宜上、各端子をB、C、Eとして説明する。ステップS2400では、BとCの組み、BとEの組み、CとEの組み、の3組みの組み合わせが作成される。
ステップS2401で、端子の組み合わせごとに計算した最大消費電力の値と抵抗値の値を一時的に保存する領域を主記憶装置11に用意する。
ステップS2402で、2端子間を異なる2つの抵抗値に置換した結線情報を作成する。作成した結線情報の一例を図19に示す。図19(a)はトランジスタTR261のBとCの間を、抵抗値1Ωの抵抗R281に置換した例である。図19(b)はトランジスタTR261のBとCの間を、抵抗値100kΩの抵抗R282に置換した例である。このときEに接続していたノードN264は一方の端点が未接続のノードとなる。本ステップにおいて、ステップS2406から処理が戻ってきたときに、BとEの組み、CとEの組みについても同様に結線情報を作成する。これにより6つの結線情報が作成される。
ステップS2403で、図5(a)に示した等価電源E81の電圧源V81の電圧値と内部抵抗R81の抵抗値を計算する。BとCの間を異なる抵抗に置換して解析した結果、電圧源V81の電圧値は50.0[V]、内部抵抗R81の抵抗値は150[Ω]となる。
ステップS2404で、等価電源E81に接続する抵抗RXの最大消費電力とそのときの抵抗値を計算すると、最大消費電力は4.16[W]、抵抗値は150[Ω]となる。
ステップS2405で、BとCの間を異なる抵抗値に置換して計算した値PTEMPとPMAXの値とを比較する。今PMAX=0であるから、PTEMP>PMAXが成立する。よって、PMAXとRPMAXの値をPTEMPとRTEMPの値に置き換えて保存する。ステップS2406において、BとEの組み、CとEの組みの計算がまだ終わっていないので、処理をステップS2402に戻す。ステップS2402において、次の端子の組み(BとEの組みとする)に対して結線情報を作成する。ステップS306においてステップS2402で作成した結線情報について解析を行う。ステップS2403で、等価電源E81の電圧源V81の電圧値と内部抵抗R81の抵抗値を計算すると、電圧源V81の電圧値は50.0[V]、内部抵抗R81の抵抗値は150[Ω]となる。ステップS2404で、等価電源E81に接続する抵抗RXの最大消費電力とそのときの抵抗値を計算すると、最大消費電力は4.16[W]、抵抗値は150[Ω]となる。ステップS2405で、PMAXの値と計算した値PTEMPとを比較する。今、PMAX=4.16であるから、PTEMP=PMAXが成立するため、PMAXとRPMAXの値はそのままにする。
ステップS2406において、CとEの組みの計算がまだ終わっていないので、処理をステップS2402に戻す。ステップS2402において、次の端子の組み(CとEの組み)に対して結線情報を作成する。ステップS306においてステップS2402で作成した結線情報について解析を行う。ステップS2403で、等価電源E81の電圧源V81の電圧値と内部抵抗R81の抵抗値を計算すると、電圧源V81の電圧値は100[V]、内部抵抗R81の抵抗値は200[Ω]となる。ステップS2404で、等価電源E81に接続する抵抗RXの最大消費電力とそのときの抵抗値を計算すると、最大消費電力は12.5[W]、抵抗値は200[Ω]となる。ステップS2405で、PMAXの値と計算した値PTEMPとを比較する。今PMAX=4.16、PTEMP=12.5であるから、PTEMP>PMAXが成立するため、PMAXの値を書き換える。よって、PMAX=12.5、RTEMP=200となる。ステップS2406において、残っている端子の組み合わせが無いので、ステップS311に処理を進める。本実施例ではハーフショートさせる部品はTR261だけであるから、ステップS312に処理を進める。ステップS312で出力する結果は、トランジスタTR261における2端子間の最大消費電力が12.5[W]、そのときの抵抗値が200[Ω]となる。
結果出力が終わるとステップS313により、プログラムが終了する。
以上が、本実施例における回路シミュレーションプログラムの動作である。ユーザは図6に示した画面で表示した結果をもとに、トランジスタTR261がハーフショート時の最大消費電力に耐えられる部品であるか否かを判断する。判断の結果、TR261がハーフショートに耐えられない部品である場合は、例えば、トランジスタTR261の部品を定格電力の大きい部品に変更するなどの対策をとる。またはトランジスタTR261がハーフショート時においても消費電力が大きくならないように電気回路を修正するなどの対策も考えられる。
本実施例においても、実施例1と同様に、表示装置14を用いた画面上での表示以外の出力方法も含まれる。また、本実施例で用いた式以外の式を用いてもよい。また、本実施例においても、単一部品または複数部品が短絡または開放した状態の結線情報を用いても、同様の解析が可能である。
また、部品を短絡および開放させた結線情報を作成して解析できることも本実施例に含まれる。例えば、図15に示したステップS303を省略、ステップS2402を、選択した2端子を短絡および開放させた1組の結線情報を作成するステップに変更することにより可能となる。
また、本実施例においても、ノートンの定理を適用して計算することができる。例えば、図15および図16に示したフローチャートを以下のように変更する。ステップS2403を、ノートンの定理に基づいて、等価電源の電流源の電流値と内部抵抗の抵抗値を計算するステップに、ステップS2404を、等価電源の電流源の電流値と内部抵抗の抵抗値を用いて、選択した部品の消費電力が最大となる抵抗値RTEMPと最大消費電力PTEMPを計算するステップに、置換する。これによりノートンの定理を適用した計算が可能となる。
以上より、上記実施形態により、部品がハーフショートしたときに、該部品の消費電力が最大となるときの抵抗と、そのときの消費電力を明示することができる。また、短絡状態および開放状態に置換した結線情報を作成して、ハーフショートしたときの最大消費電力を計算することができる。また、短絡状態または開放状態の結線情報に基づいて計算する。これにより、連鎖的に部品が故障したときにも、ハーフショートした部品の最大消費電力を計算することができる。これにより、部品が連鎖的に故障したときにも、ハーフショートした部品の消費電力が最大となるときの抵抗と、そのときの消費電力を明示することができる。