内燃機関の気筒に設けられた筒内圧センサと、前記気筒内に異常燃焼が発生したか否かを判定する異常燃焼判定手段と、最大筒内圧が検出されたクランク角以下、最大筒内圧検出クランク角という。を取得する最大筒内圧検出位置取得手段と、前記異常燃焼が発生したサイクルの前記最大筒内圧検出クランク角以降において、前記筒内圧センサの出力値に誤差が生じる直前のクランク角を取得するクランク角取得手段と、前記異常燃焼が発生したサイクルについて、前記誤差が生じる直前のクランク角以降の筒内圧波形を、同一運転条件における正常燃焼時の筒内圧波形に置き換える筒内圧波形補正手段と、を備えることを特徴とする内燃機関の制御装置。前記クランク角取得手段は、前記異常燃焼が発生したサイクルの前記最大筒内圧検出クランク角以降において、所定のクランク角間隔ごとに筒内圧の変化量を順次算出する変化量算出手段と、前記変化量が閾値よりも小さいか否かを判定する閾値判定手段と、前記変化量が閾値よりも小さいと判定される直前のクランク角を、前記誤差が生じる直前のクランク角として取得する取得手段と、を備えること、を特徴とする請求項1記載の内燃機関の制御装置。前記最大筒内圧を、排気行程の筒内圧と吸気行程の筒内圧との筒内圧差で除算した算出値が所定値以下であるか否かを判定する判定手段と、前記算出値が前記所定値よりも大きい場合には、前記異常燃焼が発生したサイクルの前記最大筒内圧発生クランク角以降の筒内圧を前記筒内圧差で一律に補正する筒内圧波形一律補正手段と、を更に備え、前記筒内圧波形補正手段は、前記算出値が前記所定値以下である場合に実行されること、を特徴とする請求項1又は2記載の内燃機関の制御装置。前記正常燃焼時の筒内圧波形は、Wiebe関数に基づいて算出されること、を特徴とする請求項1乃至3のいずれか1項記載の内燃機関の制御装置。ところで、上述の内燃機関において、プレイグニッションや過大ノッキングが生じた場合、非常に高い燃焼圧になるため、筒内圧センサの電荷出力が急変し、最大筒内圧以降の出力電圧が適正に下降しない状況が生じる図2の実線60。そのため、異常燃焼が発生したサイクルの膨張排気行程において、実際の筒内圧と出力電圧とにずれが生じる。上記従来の制御装置によれば、電圧-圧力係数を補正することにより、全行程において出力電圧が一律に補正される。次サイクル以降においては、このような補正を用いてもよいが、異常燃焼が発生したサイクルについては、吸気行程の筒内圧が負の値になってしまうおそれがあり適切ではない図2の破線62。異常燃焼が発生したサイクルにおいても筒内圧波形を精度高く求めることができれば、筒内圧を用いる様々の制御にとって望ましい。この発明は、上述のような課題を解決するためになされたもので、異常燃焼が発生したサイクルにおいて、精度の高い筒内圧波形を得ることができる内燃機関の制御装置を提供することを目的とする。第1の発明は、上記の目的を達成するため、内燃機関の制御装置であって、内燃機関の気筒に設けられた筒内圧センサと、前記気筒内に異常燃焼が発生したか否かを判定する異常燃焼判定手段と、最大筒内圧が検出されたクランク角以下、最大筒内圧検出クランク角という。を取得する最大筒内圧検出位置取得手段と、前記異常燃焼が発生したサイクルの前記最大筒内圧検出クランク角以降において、前記筒内圧センサの出力値に誤差が生じる直前のクランク角を取得するクランク角取得手段と、前記異常燃焼が発生したサイクルについて、前記誤差が生じる直前のクランク角以降の筒内圧波形を、同一運転条件における正常燃焼時の筒内圧波形に置き換える筒内圧波形補正手段を備えることを特徴とする。また、第2の発明は、第1の発明において、前記クランク角取得手段は、前記異常燃焼が発生したサイクルの前記最大筒内圧検出クランク角以降において、所定のクランク角間隔ごとに筒内圧の変化量を順次算出する変化量算出手段と、前記変化量が閾値よりも小さいか否かを判定する閾値判定手段と、前記変化量が閾値よりも小さいと判定される直前のクランク角を、前記誤差が生じる直前のクランク角として取得する取得手段を備えることを特徴とする。また、第3の発明は、第1又は第2の発明において、前記最大筒内圧を、排気行程の筒内圧と吸気行程の筒内圧との筒内圧差で除算した算出値が所定値以下であるか否かを判定する判定手段と、前記算出値が前記所定値よりも大きい場合には、前記異常燃焼が発生したサイクルの前記最大筒内圧発生クランク角以降の筒内圧を前記筒内圧差で一律に補正する筒内圧波形一律補正手段と、を更に備え、前記筒内圧波形補正手段は、前記算出値が前記所定値以下である場合に実行されることを特徴とする。また、第4の発明は、第1乃至第3の発明のいずれかにおいて、前記正常燃焼時の筒内圧波形は、Wiebe関数に基づいて算出されることを特徴とする。第1又は第2の発明によれば、異常燃焼が発生したサイクルについて、筒内圧センサの出力値に誤差が生じる直前のクランク角以降の筒内圧波形を、同一運転条件における正常燃焼時の筒内圧波形に置き換えることができる。このため、本発明によれば、異常燃焼が発生し、筒内圧センサの出力値にずれが生じる場合であっても、精度の高い筒内圧波形を得ることができる。第3の発明によれば、異常燃焼が発生したサイクルにおける最大筒内圧を、排気行程の筒内圧と吸気行程の筒内圧との筒内圧差で除算した算出値が所定値以下である場合に、第1の発明における筒内圧波形の補正を実行し、精度の高い筒内圧波形を得ることができる。また、上記算出値が所定値よりも大きい場合には、最大筒内圧発生クランク角以降の筒内圧を上記筒内圧差で一律に補正することにより、計算処理量を低減しつつ、十分に精度の高い筒内圧波形を得ることができる。以下、図面を参照して本発明の実施の形態について詳細に説明する。尚、各図において共通する要素には、同一の符号を付して重複する説明を省略する。実施の形態1.[実施の形態1のシステム構成]図1は、本発明の実施の形態1のシステム構成を説明するための概略構成図である。図1に示すシステムは、4ストローク機関である内燃機関以下、単にエンジンという。10を備えている。エンジン10は、複数例えば4つの気筒11を備えており、図1にはそのうち1つの気筒11が描かれている。なお、本発明において、気筒数はこれに限定されるものではない。エンジン10の各気筒11には、点火時期SAに応じて筒内の混合気に点火する点火プラグ12と、燃料を筒内に直接噴射する燃料噴射弁14と、筒内圧燃焼圧Pを検出するための筒内圧センサCPS16とが取り付けられている。さらに、エンジン10には、クランク軸の回転角以下、クランク角CAという。を検出するためのクランク角センサ18や、ノッキングを検出するためのノックセンサ19が取り付けられている。エンジン10の吸気系には、各気筒11に接続された吸気通路20が設けられている。吸気通路20の上流には、エアクリーナ22が設けられている。エアクリーナ22の下流には、吸気通路20に吸入される空気の流量以下、吸入空気量GAという。を検出するためのエアフローメータ24が取り付けられている。エアフローメータ24の下流には、電子制御式のスロットルバルブ26が設けられている。スロットルバルブ26の近傍には、スロットルバルブ26の開度以下、スロットル開度TAという。を検出するためのスロットル開度センサ28が取り付けられている。スロットルバルブ26の下流には、吸気圧Pimを検出するための吸気圧センサ30が取り付けられている。吸気通路20の下流端には、吸気通路20と気筒11の燃焼室との間を開閉する吸気バルブ32が設けられている。エンジン10の排気系には、各気筒に接続された排気通路34が設けられている。排気通路34の上流端には、排気通路34と気筒11の燃焼室との間を開閉する排気バルブ35が設けられている。排気バルブ35の下流には、触媒36が設けられている。触媒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は、実験等により定めた筒内圧センサ16の出力電圧と筒内圧との関係を予め記憶しており、この関係から出力電圧に応じた筒内圧を算出する。なお、出力電圧と筒内圧とは比例関係を有し、筒内圧が高いほど出力電圧は高くなる。また、ECU50の出力部には、上述した点火プラグ12、燃料噴射弁14、スロットルバルブ26、EGRバルブ44の他、吸気バルブ32及び排気バルブ35の開閉時期等を可変制御するための可変動弁機構VVT52等の運転状態を制御するための各種アクチュエータが接続されている。ECU50は、上述した各種センサの出力に基づき、所定のプログラムに従って各種アクチュエータを作動させることにより、エンジン10の運転状態を制御する。[実施の形態1における特徴的制御]上述したシステムにおいて、プレイグニッションや過大ノッキングといった異常燃焼が発生する場合がある。図2は、異常燃焼が発生したサイクルにおける筒内圧センサ16の出力電圧を示した図である。プレイグニッションや過大ノッキングといった異常燃焼が発生した場合、非常に高い燃焼圧となるため、電荷出力が急変し、筒内圧センサ16のチャージアンプ内に電荷が残る、もしくは不足するため、現実の筒内圧と筒内圧センサ16の出力電圧との関係に一定時間ずれが生じる。具体的には、図2の排気行程に示すように、正常燃焼時の出力電圧は、吸気行程と排気行程においてほぼ等しいところ、異常燃焼時には、排気行程の出力電圧は上方向にドリフトし、ずれが生じてしまう実線60。これに対し、吸気行程の筒内圧と排気行程の筒内圧との偏差を使用して筒内圧全域を補正するという方法も考えられるが、それでは、異常燃焼が発生したサイクルにおいて、破線62で示すように、正常な部分の筒内圧も低くなり、特に吸気行程における筒内圧波形が負の値となるおそれがある。そのため、熱発生量をはじめ、多くの燃焼状態量が正しく算出できないことが懸念される。図3は、異常燃焼が発生したサイクルにおける筒内圧Pとクランク角CAとの関係を示す図である。図3は、ECU50が、上述した筒内圧センサ16の出力電圧と筒内圧との関係に基づいて、図2の実線60の出力電圧を筒内圧に変換したグラフである。図3に示すΔPは、吸気行程と排気行程とにおいて出力電圧から算出した筒内圧の偏差筒内圧差である。吸気行程と排気行程とにおける実筒内圧は略一致するところ、異常燃焼が発生した場合には、出力電圧にずれが生じうることから、出力電圧から算出される筒内圧にはΔPのずれが生じている。図4は、図3の筒内圧に対応したPVκ値を示す図である。図3に示すように筒内圧が上方向にドリフトしているため、発熱量の指標であるPVκ値は右上がりになり、PVκの最大値を正しく算出することができない。そのため、PVκの最大値を用いる各種制御が正しく実行できないこととなる。異常燃焼が発生したサイクルにおいても、精度高く筒内圧波形を求めることができれば、早期に各種制御が可能となる。第1の特徴的制御そこで、本実施形態のシステムでは、第1の特徴的制御として、異常燃焼が発生したサイクルにおいて、筒内圧の挙動にずれが生じる原因である最大筒内圧以降の筒内圧にのみΔPのオフセット補正をすることとした。また、次サイクル以降は、所定時間が経過するまで全行程においてΔPのオフセット補正を継続することとした。図5及び図6は、図3及び図4において最大筒内圧以降にΔPのオフセット補正を加えた場合の筒内圧及びPVκ値を示す図である。最大筒内圧以降の筒内圧にのみΔPの一律補正を加えることで、吸気行程と排気行程における筒内圧が略一致するように筒内圧波形が補正される図5。その結果、図6に示すようなPVκ波形が得られ、PVκの最大値を算出することができる。そのため、PVκの最大値が必要な各種制御を好適に実行することができる。ところで、上述の制御において、筒内圧のドリフト量ΔPが所定値以上となる場合には、最大筒内圧以降の筒内圧波形が低く補正され過ぎる可能性がある。これは、異常燃焼が発生した後しばらくの間は、正常に電荷が抜けて筒内圧センサ16は正常に動作していると考えられるからである図7。筒内圧センサ16の出力電圧に異常が生じるのは、電荷が抜けなくなった後であり、点火時期近傍においては、必ずしもΔPのオフセット補正量が適切とは言えない。この点を考慮することにより、より精度高く筒内圧波形を求めることができ、筒内圧を用いた各種制御をより精度高く実行することが可能となる。第2の特徴的制御そこで、本実施形態のシステムでは、第2の特徴的制御として、ΔPのオフセット補正の影響が全体の筒内圧、図示仕事、PVκ等に対して割合として小さい場合にのみ、上述の第1の特徴的制御を実行することし、ΔPのオフセット補正の影響が大きい場合には、次のように補正することとした。図8は図7に示す筒内圧波形の拡大図である。破線70は正常燃焼時の筒内圧波形を、実線72は異常燃焼時の筒内圧波形を表している。領域Aは、異常燃焼が発生した後、ドリフトが発生し始める前までのクランク角区間を表している。第2の特徴的制御では、領域Aの筒内圧波形から算出される近似式を用いて、領域A以降の筒内圧波形を置換する。領域Aの判定方法は、最大筒内圧以降に所定クランク角間隔ごとに筒内圧の変化量を算出し、この変化量が閾値より大きいか否かで判定する。閾値よりも大きい場合には、電荷が正常に抜けており、センサの出力電圧は未だ正常であると判断する。一方、閾値よりも小さい場合には、電荷が抜けなくなり、センサの出力電圧にずれが生じうると判断する。そのため、領域A以降の筒内圧波形を、同一運転状態における正常燃焼時の筒内圧波形に置き換えることとする。この正常燃焼時の筒内圧波形は、近似式を用いて運転条件毎に算出又は予め記憶されている。正常燃焼時の筒内圧波形は、例えばWiebe関数を用いて推定することができ、概要は次の通りである。式1は、Wiebe関数を用いた燃焼割合MFBの算出式である。式1中の着火時期θiと燃焼速度θbは、それぞれ式2と式3で表される。各式において、CAはクランク角、SAは点火時期、KLは負荷率、VVTはバルブタイミングであり、a、b、c、d、eはエンジン10毎に適合された適合値である。図9に示すように、Wiebe関数を用いた式1に、入力パラメータとして負荷率KL、点火時期SA、バルブタイミングVVTを与えることにより、燃焼割合MFBが算出される。式1を用いて、運転条件KL、SA、VVT等毎にクランク角と燃焼割合MFBの関係を算出することができる図10A。図10Aに示す関係に、各運転条件における燃焼割合0、100のPVκ値を当てはめることにより、図10Bに示すクランク角とPVκ値の関係が得られる。さらに、図10BのPVκをVκで除算することにより、図10Cに示す運転条件毎の筒内圧波形が得られる。ECU50は、各運転条件における正常燃焼時の筒内圧波形を適宜算出、又は予め記憶するものとする。制御ルーチン図11は、上述の第1及び第2の特徴的動作を実現するために、ECU50が実行する制御ルーチンのフローチャートである。ECU50は、所定クランク角毎例えば、5度毎に筒内圧を検出記憶し、各サイクルの排気行程で本ルーチンを実行する。なお、本ルーチンのステップS100の処理に先立って、吸気行程の二点の筒内圧よりPVκ=一定の関係より絶対圧補正がなされる。図11に示すルーチンでは、まず、ステップS100において、プレイグニッション又は過大ノックによる異常燃焼が発生しているかが判定される。プレイグニッションの発生は、筒内圧センサ16の出力電圧が所定値を超えていることにより検知される。過大ノックの発生は、ノックセンサ19の出力値が所定値を越えていることにより検知される。異常燃焼が発生していると判定された場合には、次にΔPが所定値αよりも大きいか否かが判定されるステップS110。ΔPは、吸気行程における出力電圧と排気行程における出力電圧との偏差と、ECU50に予め記憶されている出力電圧と筒内圧との関係とに基づいて算出される筒内圧差である。また、所定値αは、筒内圧センサ16に生じる出力電圧のずれの許容値でありECU50に予め記憶されている。本ステップにおいてΔPとαを比較するのは、異常燃焼が発生したからといって必ずしも筒内圧センサ16の出力値にずれが生じるとは限らないためである。ΔPがα以下である場合には、本ルーチンの処理は終了される。一方、ΔPが所定値αより大きい場合には、筒内圧センサ16の出力値にずれが生じていると判断できる。そのため、次にECU50は、異常燃焼が発生した本サイクルにおいて最大筒内圧Pmaxが検出されたクランク角を取得するステップS120。具体的には、ECU50は、本サイクルにおいて所定クランク角毎に検出記憶した筒内圧から、最大筒内圧Pmaxが検出されたクランク角を取得する。次に、最大筒内圧Pmax>ΔP×βが成立するか否かが判定されるステップS130。βは、ΔPの補正の影響が全体の筒内圧図示仕事PVκなどに対して割合として小さく、許容範囲内であることを示す所定値である。βは、エンジン10毎に適合により定められECU50に予め記憶されている。ステップS130において判定条件が成立する場合には、上述した第1の特徴的制御が実行される。すなわち、ECU50は、異常燃焼が発生した本サイクルにおいて、最大筒内圧Pmax以降の筒内圧波形についてのみ一律にΔP補正するステップS140。このΔPのオフセット補正は、ΔP<αとなるサイクルまで継続され、その間のサイクルの全行程吸気行程~排気行程において加えられる。一方、ステップS130において判定条件が成立しない場合には、上述した第2の特徴的制御が実行される。まず、ECU50は、最大筒内圧Pmax以降において、所定クランク角間隔毎に二点間の筒内圧の変化量を順に算出するステップS150。具体的には、最初に最大筒内圧Pmaxが検出されたクランク角クランク角aと、この最大筒内圧検出クランク角から所定クランク角後のクランク角クランク角bとの二点の筒内圧の変化量が算出される。続いて、この変化量が閾値γよりも小さいか否かが判定されるステップS160。γは、電荷が正常に抜けていることを示す閾値であり、筒内圧センサ16毎に適合により定められECU50に予め記憶されている。ステップS160の判定条件が成立しない場合には、ECU50は、クランク角bを新たなクランク角aとし、この新たなクランク角aから所定クランク角間隔後のクランク角を新たなクランク角bとし、これらの筒内圧の変化量を順次算出して、ステップS160の判定処理を継続する。ECU50は、ステップS160の判定条件が最初に成立した時のクランク角aを記憶するステップS170。このクランク角aは、センサ誤差発生直前のクランク角である。なお、最大筒内圧Pmaxが検出されたクランク角からクランク角aまでの領域が、図8の領域Aに相当する。続いて、クランク角a以降の筒内圧波形を、異常燃焼が発生した本サイクルと同一運転状態における正常燃焼時の筒内圧波形に置換するステップS180。各運転条件における正常燃焼時の筒内圧波形は、上述した式1~式3に基づいて逐次算出され、又は予め記憶されている。その後、本ルーチンの処理は終了される。なお、次ルーチン以降については、ΔPのオフセット補正がΔP<αとなるサイクルまで実施される。以上説明したように、図11に示すルーチンによれば、ステップS130の判定条件Pmax>ΔP×βが成立する場合に、ΔPによるオフセット補正量が適切であると判断し、第1の特徴的制御を実行する。そのため、計算処理量を抑制しつつ、異常燃焼発生サイクルにおいて十分に精度高く筒内圧波形を補正することができる。また、本ルーチンによれば、ステップS130の判定処理が成立しない場合には、第2の特徴的制御を実行する。筒内圧センサ16の出力値に誤差が生じる直前のクランク角a以降の筒内圧波形を、上述の近似式により算出された正常燃焼時の筒内圧波形で置き換えることにより、精度高く筒内圧波形を補正することができる。ところで、上述した実施の形態1のシステムにおいては、ステップS130の判定条件が成立しない場合には、第2の特徴的制御ステップS150~ステップS180を実行することとしている。ところで、精度よりも計算処理量を軽減する場合には、第2の特徴的制御を省略することも可能である。すなわち、ステップS130の処理を省略し、ステップS120の処理後、ステップS140の処理を実行することとしてもよい。また、本発明が適用されるエンジンは、上述の実施の形態のような筒内直噴エンジンには限定されない。ポート噴射式のエンジンにも本発明の適用は可能である。尚、上述した実施の形態1においては、筒内圧センサ16が前記第1の発明における筒内圧センサに相当している。また、ここでは、ECU50が、上記ステップS100の処理を実行することにより前記第1の発明における異常燃焼判定手段が、上記ステップS120の処理を実行することにより前記第1の発明における最大筒内圧検出位置取得手段が、上記ステップS130~ステップS170の処理を実行することにより前記第1の発明におけるクランク角取得手段が、上記ステップS180の処理を実行することにより前記第1の発明における筒内圧波形補正手段が、上記ステップS150の処理を実行することにより前記第2の発明における変化量算出手段が、上記ステップS160の処理を実行することにより前記第2の発明における閾値判定手段が、上記ステップS170の処理を実行することにより前記第2の発明における取得手段が、上記ステップS130の処理を実行することにより前記第3の発明における判定手段が、上記ステップS140の処理を実行することにより前記第3の発明における筒内圧波形一律補正手段が、それぞれ実現されている。実施の形態2.次に、図12~図13を参照して本発明の実施の形態2について説明する。本実施形態のシステムは図1に示す構成において、ECU50に後述する図13のルーチンを実施させることで実現することができる。本実施形態では、排気膨張行程の下死点直前の2点における筒内圧センサ16の出力値を用いて、PVκ=一定の関係式より絶対圧補正をすることとする図12。図13は、本実施形態において、ECU50が実行する制御ルーチンのフローチャートである。このルーチンは、図11のステップS130~ステップS180がステップS230~ステップS240の処理に置き換えられている点を除き、図11に示すルーチンと同様である。図13に示すルーチンでは、ステップS120の処理後、排気行程下死点直前の2点におけるクランク角及び筒内圧センサ16の出力値を用いて、PVκ=一定の関係式より絶対圧補正をするステップS230。このオフセット補正は最大筒内圧検出クランク角以降の筒内圧について実行される。排気行程下死点直前の2点は、排気バルブ35が開弁する前のクランク角とする。絶対圧補正は、ΔP<αとなるサイクルまで継続されるステップS240。実施の形態3.次に、図14~図15を参照して本発明の実施の形態3について説明する。本実施形態のシステムは図1に示す構成において、ECU50に後述する図15のルーチンを実施させることで実現することができる。本実施形態では、異常燃焼が発生したサイクルの筒内圧を他気筒の平均値で置換することとする図14。図15は、本実施形態において、ECU50が実行する制御ルーチンのフローチャートである。このルーチンは、図11のステップS120~ステップS180がステップS320~ステップS340の処理に置き換えられている点を除き、図11に示すルーチンと同様である。図15に示すルーチンでは、ステップS110の処理後、異常燃焼が発生した気筒以外の他気筒の平均筒内圧波形Paveを算出するステップS320。次に、異常燃焼が発生した気筒の筒内圧波形を、他気筒の平均筒内圧波形Paveで置換するステップS330。この置換は、ΔP<αとなるサイクルまで継続されるステップS340。そのため、異常燃焼が発生したサイクルにおいても、精度の高い筒内圧波形を得ることができる。