気筒内へ燃料を供給する第1噴射弁及び第2噴射弁と、前記気筒内の燃焼圧を検出する筒内圧センサと、前記燃焼圧に基づいて前記気筒の総発熱量を算出する総発熱量算出手段と、第1運転条件から、前記第1及び第2噴射弁の吹き分け比率が該第1運転条件とは異なる第2運転条件に変更することができる運転条件変更手段と、前記第1運転条件における前記第1噴射弁への指示噴射量と、前記第2噴射弁への指示噴射量と、前記総発熱量算出手段により算出される総発熱量と、前記第1噴射弁からの実噴射量に相関する変数以下、第1変数という。と、前記第2噴射弁からの実噴射量に相関する変数以下、第2変数という。との関係を定めた第1の関係式を設定する第1関係式設定手段と、前記第2運転条件における前記第1噴射弁への指示噴射量と、前記第2噴射弁への指示噴射量と、前記総発熱量算出手段により算出される総発熱量と、前記第1変数と、前記第2変数との関係を定めた第2の関係式を設定する第2関係式設定手段と、前記第1の関係式と前記第2の関係式とを連立させて解き、前記第1変数の値及び前記第2変数の値を算出する演算手段と、前記第1変数の値が正常気筒における基準値と一致しない場合に、前記第1噴射弁が故障していると判定する第1噴射弁故障判定手段と、前記第2変数の値が前記基準値と一致しない場合に、前記第2噴射弁が故障していると判定する第2噴射弁故障判定手段と、を備えることを特徴とする内燃機関の故障診断装置。前記第1噴射弁は、前記気筒内に燃料を直接噴射する直噴噴射弁であり、前記第2噴射弁は、前記気筒に接続された吸気ポート内に燃料をポート噴射するポート噴射弁であること、を特徴とする請求項1記載の内燃機関の故障診断装置。前記気筒に接続された2つの吸気ポートを更に備え、前記第1噴射弁は、前記2つの吸気ポートのうち一方の吸気ポート内に燃料をポート噴射するポート噴射弁であり、前記第2噴射弁は、前記2つの吸気ポートのうち他方の吸気ポート内に燃料をポート噴射するポート噴射弁であること、を特徴とする請求項1記載の内燃機関の故障診断装置。しかしながら、空燃比センサの出力挙動は応答性が低く、上記故障診断装置では、過渡運転時に故障検出の精度を保てない。さらに、上記故障診断装置では、図7に示すように、2つの燃料噴射弁の噴射比率を変更し、空燃比センサの出力の変化の仕方で、2つの噴射弁のどちらが故障しているか判別しているが、2つの燃料噴射弁が共に故障した場合には、図7の破線に示すように、2つの実線間の傾きになるため、いずれかの故障としか判断することができない。すなわち、上記故障診断装置は、2つの燃料噴射弁のうち一方にしか故障が生じないという前提で燃料噴射弁の故障検出を行っており、2つの燃料噴射弁が共に故障している場合は、正確に特定できないおそれがある。この発明は、上述のような課題を解決するためになされたもので、気筒毎に2つの燃料噴射弁を配置した内燃機関において、運転状態を固定することなく、それぞれの燃料噴射弁について故障検出を行うことのできる内燃機関の故障診断装置を提供することを目的とする。第1の発明は、上記の目的を達成するため、内燃機関の故障診断装置であって、気筒内へ燃料を供給する第1噴射弁及び第2噴射弁と、前記気筒内の燃焼圧を検出する筒内圧センサと、前記燃焼圧に基づいて前記気筒の総発熱量を算出する総発熱量算出手段と、第1運転条件から、前記第1及び第2噴射弁の吹き分け比率が該第1運転条件とは異なる第2運転条件に変更することができる運転条件変更手段と、前記第1運転条件における前記第1噴射弁への指示噴射量と、前記第2噴射弁への指示噴射量と、前記総発熱量算出手段により算出される総発熱量と、前記第1噴射弁からの実噴射量に相関する変数以下、第1変数という。と、前記第2噴射弁からの実噴射量に相関する変数以下、第2変数という。との関係を定めた第1の関係式を設定する第1関係式設定手段と、前記第2運転条件における前記第1噴射弁への指示噴射量と、前記第2噴射弁への指示噴射量と、前記総発熱量算出手段により算出される総発熱量と、前記第1変数と、前記第2変数との関係を定めた第2の関係式を設定する第2関係式設定手段と、前記第1の関係式と前記第2の関係式とを連立させて解き、前記第1変数の値及び前記第2変数の値を算出する演算手段と、前記第1変数の値が正常気筒における基準値と一致しない場合に、前記第1噴射弁が故障していると判定する第1噴射弁故障判定手段と、前記第2変数の値が前記基準値と一致しない場合に、前記第2噴射弁が故障していると判定する第2噴射弁故障判定手段と、を備えることを特徴とする。また、第2の発明は、第1の発明において、前記第1噴射弁は、前記気筒内に燃料を直接噴射する直噴噴射弁であり、前記第2噴射弁は、前記気筒に接続された吸気ポート内に燃料をポート噴射するポート噴射弁であること、を特徴とする。また、第3の発明は、第1の発明において、前記気筒に接続された2つの吸気ポートを更に備え、前記第1噴射弁は、前記2つの吸気ポートのうち一方の吸気ポート内に燃料をポート噴射するポート噴射弁であり、前記第2噴射弁は、前記2つの吸気ポートのうち他方の吸気ポート内に燃料をポート噴射するポート噴射弁であること、を特徴とする。第1乃至第3の発明によれば、第1及び第2噴射弁の故障を個別に判定することができる。そのため、2つの噴射弁の両方が故障している場合であっても、それらの故障を検出することができる。また、吹き分け比率の異なる2つの運転条件に変更すればよいため、運転状態を固定することなく、過渡運転時であっても各燃料噴射弁の故障を検出することができる。以下、図面を参照して本発明の実施の形態について詳細に説明する。尚、各図において共通する要素には、同一の符号を付して重複する説明を省略する。実施の形態.[システム構成]図1は、本発明の実施の形態1のシステム構成を説明するための概略構成図である。図1に示すシステムは、内燃機関以下、単にエンジンという。10を備えている。エンジン10は、1気筒~4気筒の4つの気筒を備えており、図1にはそのうち1つの気筒が描かれている。なお、本発明において、気筒数および気筒配置はこれに限定されるものではない。エンジン10の各気筒には、点火プラグ12と、燃料を筒内に直接噴射する直噴噴射弁14と、筒内圧燃焼圧を検知するための筒内圧センサCPS16とが取り付けられている。また、エンジン10には、クランク軸の回転角以下、クランク角θという。を検出するためのクランク角センサ18や、ノッキングを検知するためのノックセンサ19が取り付けられている。エンジン10の吸気系には、各気筒に接続された吸気通路20が設けられている。吸気通路20の入口には、エアクリーナ22が設けられている。エアクリーナ22の下流には、吸気通路20に吸入される空気の流量以下、吸入空気量GAという。を検出するためのエアフローメータ24が取り付けられている。エアフローメータ24の下流には、電子制御式のスロットルバルブ26が設けられている。スロットルバルブ26の近傍には、スロットルバルブ26の開度以下、スロットル開度TAという。を検出するためのスロットル開度センサ28が取り付けられている。スロットルバルブ26の下流には、吸気圧Pimを検出するための吸気圧センサ30が取り付けられている。吸気圧センサ30の下流には、吸気通路20の下流端に形成された吸気ポート内に燃料を噴射するポート噴射弁32が取り付けられている。エンジン10の排気系には、各気筒に接続された排気通路34が設けられている。排気通路34には、触媒36が設けられている。触媒36には、例えば、三元触媒等が用いられる。また、排気通路34には、吸気通路20に接続されるEGR通路38が設けられている。EGR通路38にはEGRクーラ40が設けられている。EGRクーラ40の近傍には温度センサ42が設けられている。EGRクーラ40の下流には、EGRバルブ44が設けられている。エンジン10の制御系には、ECU50が設けられている。ECU50の入力部には、上述した筒内圧センサ16、クランク角センサ18、ノックセンサ19、エアフローメータ24、スロットル開度センサ28、吸気圧センサ30、温度センサ42等の運転状態を検出するための各種センサが接続されている。ECU50の出力部には、上述した点火プラグ12、直噴噴射弁14、スロットルバルブ26、ポート噴射弁32、EGRバルブ44等の運転状態を制御するための各種アクチュエータが接続されている。ECU50は、上述した各種センサの出力に基づき、所定のプログラムに従って各種アクチュエータを作動させることにより、エンジン10の運転状態を制御する。例えば、ECU50は、各種センサの出力に基づいて、運転条件目標発熱量を設定する。そして、この目標発熱量を満たすように、1ストロークあたりの直噴噴射弁14及びポート噴射弁32への指示噴射量の合計と、吹き分け比率とを設定する。この吹き分け比率に応じて、各燃料噴射弁への指示噴射量が決定される。なお、吹き分け比率は任意に変更することができる。また、ECU50は、クランク角θから、エンジン回転数NEや、ピストンの位置によって決まる筒内容積Vを計算することができる。[故障診断処理処理の概要]上述したシステムにおいて、2つの燃料噴射弁14、32のいずれか一方又は両方に故障が生じた場合に、故障した燃料噴射弁を特定できることが求められる。従来、定常運転時又はアイドル時において、一方の燃料噴射弁の故障を検出する手法が提案されているが、このように運転状態を固定することなく、過渡運転時においても故障を検出できることが望まれる。このような課題を解決する本実施形態の処理の概要について説明する。以下の説明では、直噴噴射弁14を第1噴射弁、ポート噴射弁32を第2噴射弁と呼称する。これは説明の便宜上のものであり、逆の組み合わせであっても良い。上記課題を解決するために、本実施形態のシステムでは、まず、吹き分け比率が異なる第1運転条件と第2運転条件とにおいて、所定の気筒の筒内圧をそれぞれ検出し、これに基づいて、第1及び第2運転条件における当該気筒の1サイクルあたりの総発熱量実発熱量Q1、Q2をそれぞれ算出する。第1運転条件において、第1噴射弁への指示噴射量q1_1[mm3/stroke]、第2噴射弁への指示噴射量q1_2[mm3/stroke]、当該気筒の総発熱量Q1[J]との間には式1の関係が成立する。ここで、変数Xは、第1噴射弁から実際に噴射された実噴射量により生じる実発熱量を第1噴射弁への指示噴射量q1_1で割った値[J/mm3]であり、変数Yは、第2噴射弁から実際に噴射された実噴射量により生じる実発熱量を第2噴射弁への指示噴射量q1_2で割った値[J/mm3]である。q1_1×XQ1_2×Y=Q1...1同様に、第1運転条件とは異なる吹き分け比率である第2運転条件において、第1噴射弁への指示噴射量q2_1、第2噴射弁への指示噴射量q2_2、当該気筒の総発熱量Q2との間には式2の関係が成立する。q2_1×XQ2_2×Y=Q2...2そして、式1、式2を連立方程式として解きX、Yを算出する。Xが正常値X0と乖離する場合には第1噴射弁に故障が生じていると判断でき、解Yが正常値X0と乖離する場合には、第2噴射弁に故障が生じていると判断できる。本実施の形態では、このような手法により、運転状態を固定することなく、過渡運転時においても各気筒の各燃料噴射弁の故障をそれぞれ検出することができる。[故障診断処理具体例]次に、本実施の形態における故障診断処理の具体例について説明する。図2~図4は、故障状態の異なる3つの例を示す図である。なお、図2~図4に記載された数値は、説明のために仮定した値であり、これに限定されるものではない。例1:1気筒の第1噴射弁が故障した場合まず、ある気筒の1つの燃料噴射弁が故障した場合の故障検出の具体例について説明する。図2は、1気筒の第1噴射弁が故障した場合の故障検出について説明するための図である。例1では、まず、第1運転条件として、目標発熱量が100[J]に設定される。これを満たすように、1ストロークあたりの第1及び第2噴射弁への指示噴射量の合計が10[mm3]に、吹き分け比率が第1噴射弁から80[]、第2噴射弁から20[]に設定される。例1では、第1運転条件における1気筒の総発熱量が他気筒の総発熱量と乖離していることから1気筒に異常が生じていることが判断できる。ここで、1気筒に関し、上述した式1に基づいて、8X12Y1=92の関係式が成立する。同様に、第2運転条件では、目標発熱量が80[J]に設定され、これを満たすように第1及び第2燃料噴射弁への指示噴射量の合計が8[mm3]に、吹き分け比率が第1噴射弁から50[]、第2噴射弁から50[]に設定される。そのため、1気筒に関し、上述した式2に基づいて、4X14Y1=76の関係式が成立する。そして、これら2つの関係式を連立させて解き、X1=9[J/mm3]、Y1=10[J/mm3]を算出する。ここで、正常気筒である2気筒~4気筒における総発熱量は100[J]であり、正常気筒では指示噴射量=実噴射量であるため、正常気筒の指示噴射量に対する実発熱量X0は10[J/mm3]である。X1とX0とを比較することで、1気筒の第1噴射弁は、指示噴射量に対して0.9倍しか噴射出来ていないと判断できる。一方、Y1とX0とを比較することで、1気筒の第2噴射弁は指示噴射量通りの燃料を噴射出来ていると判断できる。よって、1気筒の第1噴射弁の故障を検出することができる。このように、本発明によれば、ある気筒の一方の燃料噴射弁が故障したことを検出することができる。例2:4気筒の第1噴射弁及び第2噴射弁が故障した場合次に、ある気筒において両方の燃料噴射弁が故障した場合の故障検出の具体例について説明する。図3は、4気筒の第1及び第2噴射弁の両方が故障した場合の故障検出について説明するための図である。例2における第1運転条件、第2運転条件、X0は、例1と同様であるためその説明は省略する。例2では、第1運転条件における4気筒の総発熱量が、他気筒の総発熱量と乖離していることから4気筒に異常が生じていることが判断できる。ここで、4気筒に関し、第1運転条件では、上述した式1に基づいて、8X42Y4=58の関係式が成立する。同様に、第2運転条件では、上述した式2に基づいて、4X44Y4=44の関係式が成立する。そして、これら2つの関係式を連立させて解き、X4=6[J/mm3]、Y4=5[J/mm3]を算出する。X4とX0とを比較することで、4気筒の第1噴射弁は、指示噴射量に対して0.6倍しか噴射出来ていないと判断できる。また、Y4とX0とを比較することで、4気筒の第2噴射弁は、指示噴射量に対して0.5倍しか噴射出来ていないと判断できる。よって、4気筒の第1及び第2噴射弁の両方の故障を検出することができる。このように、本発明によれば、ある気筒の両方の燃料噴射弁が故障したことを検出することができる。例3:2気筒の第1噴射弁と、3気筒の第2噴射弁が故障した場合次に、2つの気筒において燃料噴射弁が故障した場合の故障検出の具体例について説明する。図4は、2気筒の第1噴射弁と、3気筒の第2噴射弁とが故障した場合の故障検出について説明するための図である。例3における第1運転条件、第2運転条件、X0は、例1と同様であるためその説明は省略する。例3では、第1運転条件における2気筒の総発熱量と3気筒の総発熱量が、その他の気筒の総発熱量と乖離していることから2気筒と3気筒に異常が生じていることが判断できる。ここで、2気筒に関し、第1運転条件では、上述した式1に基づいて、8X22Y2=60の関係式が成立する。同様に、第2運転条件では、上述した式2に基づいて、4X24Y2=60の関係式が成立する。これら2つの関係式を連立させて解き、X2=5[J/mm3]、Y2=10[J/mm3]を算出する。X2とX0とを比較することで、2気筒の第1噴射弁は、指示噴射量に対して0.5倍しか噴射出来ていないと判断できる。一方、Y2とX0とを比較することで、2気筒の第2噴射弁は指示噴射量通りの燃料を噴射出来ていると判断できる。また、3気筒に関し、第1運転条件では、上述した式1に基づいて、8X32Y3=90の関係式が成立する。同様に、第2運転条件では、上述した式2に基づいて、4X34Y3=60の関係式が成立する。これら2つの関係式を連立させて解き、X3=10[J/mm3]、Y3=5[J/mm3]を算出する。X3とX0とを比較することで、3気筒の第1噴射弁は指示噴射量通りの燃料を噴射出来ていると判断できる。一方、Y3とX0とを比較することで、3気筒の第2噴射弁は、指示噴射量に対して0.5倍しか噴射出来ていないと判断できる。よって、2気筒の第1噴射弁の故障と、3気筒の第2噴射弁の故障とを検出することができる。このように、本発明によれば、気筒毎に、式1、式2に基づく連立方程式を解くことで、各気筒の各燃料噴射弁が故障したことを個別に検出することができる。[故障診断処理処理ルーチン]次に、図5~図6を用いて上述の故障検出を実現するための処理ルーチンについて説明する。図5は、上述の故障検出を実現するために、ECU50が実行する処理ルーチンの前半フローチャートである。図6は、上述の故障検出を実現するために、ECU50が実行する処理ルーチンの後半フローチャートである。図5に示すルーチンでは、まず、ステップS100において、各気筒に設けられた筒内圧センサ16の出力値に基づいて、気筒別に1サイクルあたりの総発熱量実発熱量[J]が算出される。総発熱量は、例えば、クランク角θにおける筒内圧Pθと筒内容積Vθ、実験的に求められる定数α、及び比熱比κ等に基づいて算出することができる。総発熱量の算出手法は、本発明における主要部でなく公知の技術であるため、ここでは、その説明は省略する。次に、ステップS110において、気筒別の総発熱量[J]にばらつきがあるか否かが判定される。ステップ100において算出された気筒別の総発熱量が一致している場合には、本ルーチンの処理は終了される。一方、ステップS100において算出された気筒別の総発熱量が一致していない場合には、次に、気筒別の総発熱量のばらつきが、A/Fインバランスのクライテリア以内であるか否かが判定されるステップS120。具体的には、ECU50には、A/Fインバランスに関する発熱量の基準幅が予め記憶されており、ECU50は、気筒間の総発熱量に基準幅よりも大きな差があるか否かを判定する。差が基準幅以下の場合には、本ルーチンの処理は終了される。一方、ステップS120において、基準幅よりも大きな差がある場合には、次に、発熱量に異常が生じている異常気筒を特定する。また、正常気筒の指示噴射量に対する実発熱量X0[J/mm3]を算出するステップS130。具体的には、ECU50には、第1及び第2噴射弁への指示噴射量の合計と、筒内圧センサ16により検出されるべき筒内圧正常筒内圧との関係を定めた関係マップが予め記憶されている。ECU50は、上記関係マップから現運転条件における指示噴射量の合計に対応する正常筒内圧を取得する。この正常筒内圧と、筒内圧センサ16により検出された実筒内圧とが、所定値以上乖離している場合には、当該気筒を異常気筒と判定する。また、実発熱量X0[J/mm3]は、正常気筒に関してステップS100で算出された総発熱量又は、目標発熱量を、指示噴射量の合計で割ることにより算出することができる。次に、ECU50は、運転条件を第1運転条件例えば、現運転条件とし、第1運転条件における第1噴射弁への指示噴射量q1_1と、第2噴射弁への指示噴射量q1_2と、当該異常気筒の総発熱量Q1とを算出するステップS140。上述したとおり、ECU50は、各種センサの出力に基づいて、運転条件目標発熱量を設定し、この目標発熱量を満たすように、1ストロークあたりの第1及び第2噴射弁への指示噴射量の合計と、吹き分け比率とを設定する。この吹き分け比率に応じて、第1運転条件における指示噴射量q1_1、q1_2が決定される。異常気筒の総発熱量Q1は、ステップS100と同様の手法で算出される。その後、ECU50は、運転条件を第1運転条件から第2運転条件に変更する。第2運転条件は、第1運転条件とは吹き分け比率が異なる運転条件である。ECU50は、ステップS140と同様に、第2運転条件における第1噴射弁への指示噴射量q2_1と、第2噴射弁への指示噴射量q2_2と、当該異常気筒の総発熱量Q2とを算出するステップS150。ステップS160において、ECU50は、第1運転条件における式1の関係式と、第2運転条件における式2の関係式とをそれぞれ立て、これらを連立させて解く。具体的には、第1噴射弁から実際に噴射された実噴射量により生じる実発熱量を第1噴射弁への指示噴射量q1_1で割った値[J/mm3]を変数X、第2噴射弁から実際に噴射された実噴射量により生じる実発熱量を第2噴射弁への指示噴射量q1_2で割った値[J/mm3]を変数Yとし、第1運転条件における指示噴射量q1_1、q1_2及び総発熱量Q1との間に成立する関係式1を立てる。同様に、第2運転条件における指示噴射量q2_1、q2_2及び総発熱量Q2との間に成立する関係式2を立てる。これらの関係式を連立方程式として解いて、X、Yを算出する。なお、異常気筒が複数ある場合には、異常気筒毎に連立方程式を立ててX、Yを算出する。その後、ECU50は、ステップS170において、XとX0とが一致しているか否かを判定する。XとX0とが異なる場合、詳細には、所定値以上の差がある場合には、ECU50は、当該気筒の第1噴射弁が故障していると判断するステップS180。加えて、XとX0との差が大きいほど故障レベルが高いと判断する。続けて、ECU50は、ステップS190において、YとX0とが一致しているか否かを判定する。YとX0とが異なる場合、詳細には、所定値以上の差がある場合には、ECU50は、当該気筒の第1噴射弁が故障していると判断するステップS200。加えて、YとX0との差が大きいほど故障レベルが高いと判断する。その後、本ルーチンの処理は終了される。以上説明したように、図5~図6に示すルーチンによれば、吹き分け比率の異なる2つの運転条件の情報に基づく連立方程式を解くことで、各気筒の各燃料噴射弁について個別に故障を検出することができる。そのため、気筒毎に配置された2つの燃料噴射弁14、32の両方が故障している場合であっても、正しく故障診断をすることができる。また、吹き分け比率の異なる2つの運転条件でありさえすれば良いため、運転状態を定常運転やアイドルに固定する必要がなく、過渡運転時においても燃料噴射弁の故障診断をすることができる。ところで、上述した実施の形態1のシステムにおいては、異常気筒を特定した後に、当該異常気筒に関して連立方程式を立てることとしているが、これに限定されるものではない。異常気筒を特定せずに、各気筒について連立方程式を立てることとしてもよい。なお、この場合には、目標発熱量を指示噴射量の合計で割った値をX0とする。また、上述した実施の形態1のシステムにおいては、各気筒に直噴噴射弁14とポート噴射弁32とを備えることとしているが、ポート噴射弁を2つ用いることとしてもよい。例えば、気筒に接続される2つの吸気ポートそれぞれに、ポート噴射弁を1つずつ配置することとしてもよい。また、上述した実施の形態1のシステムにおいては、各気筒に2つの燃料噴射弁を備えることとしているが、これに限定されるものではない。例えば、各気筒に3つの燃料噴射弁を備える場合には、吹き分け比率の異なる3つの運転条件において、3つの変数X、Y、Zを有する連立方程式を立てることとすれば良い。尚、上述した実施の形態1においては、直噴噴射弁14が前記第1の発明における第1噴射弁に、ポート噴射弁32が前記第1の発明における第2噴射弁に、それぞれ相当している。また、ここでは、ECU50が、上記ステップS140~ステップS160の処理を実行することにより前記第1の発明における総発熱量算出手段、運転条件変更手段、第1関係式設定手段、第2関係式設定手段及び演算手段が、上記ステップS170~ステップS180の処理を実行することにより前記第1の発明における第1噴射弁故障判定手段が、上記ステップS190~ステップS200の処理を実行することにより前記第1の発明における第2噴射弁故障判定手段が、それぞれ実現されている。更に、実施の形態1においては、上記ステップ160において算出される変数Xが前記第1の発明における第1変数に、上記ステップ160において算出される変数Yが前記第1の発明における第2変数に、それぞれ対応している。