"内燃機関の吸気が流通する吸気通路と、内燃機関からの排気が流通する排気通路と、前記排気通路から前記吸気通路へ排気を還流させる還流通路と、前記還流通路と吸気通路と排気通路とをそれぞれ等容積で分割した複数の配管領域に1対1で対応付けられた複数の記憶領域を有する記憶部と、前記内燃機関の1サイクルごとに、前記還流通路と吸気通路と排気通路とに流入するガスの体積流量を算出する第1算出手段と、前記内燃機関の1サイクルごとに、前記還流通路と吸気通路と排気通路とに流入するガス中の特定物質の濃度を算出する第2算出手段と、前記内燃機関の1サイクルごとに、前記第1算出手段で算出された体積流量と、前記第2算出手段によって算出された特定物質の濃度と、を用いて、前記記憶部の個々の前記記憶領域に、その記憶領域に1対1で対応する配管領域の特定物質の濃度を記憶する記憶制御手段と、を備えたことを特徴とする内燃機関の制御装置。前記還流通路は、前記排気通路に装備されたタービンよりも上流から前記吸気通路に装備されたコンプレッサよりも下流へ排気を還流する第1還流通路と、前記タービンよりも下流から前記コンプレッサよりも上流へ排気を還流する第2還流通路と、を備え、前記第1算出手段は、前記第1還流通路と第2還流通路とのそれぞれに流入するガスの体積流量を算出し、前記第2算出手段は、前記第1還流通路と第2還流通路とのそれぞれに流入するガス中の特定物質の濃度を算出する請求項1に記載の内燃機関の制御装置。前記内燃機関の1サイクルごとに、前記内燃機関から排出されるガス中の特定物質の濃度を算出する第3算出手段を備え、前記記憶制御手段は、個々の前記記憶領域に記憶された特定物質の濃度を、前記内燃機関の1サイクル後に、前記第1算出手段によって算出された体積流量に応じて、下流側の別の前記記憶領域に移動させる記憶移動手段を備えた請求項1又は2に記載の内燃機関の制御装置。前記内燃機関の1サイクルごとに、前記第1算出手段によって算出された体積流量に応じて、前記還流通路から流出するガス分の前記記憶領域に記憶された特定物質の濃度を用いて、前記内燃機関に流入するガス中の特定物質の量を算出する第4算出手段を備えた請求項1乃至3のいずれか1項に記載の内燃機関の制御装置。前記第1算出手段は、前記内燃機関の1サイクルごとに、前記還流通路と吸気通路と排気通路とに流入するガスの質量流量を算出する第5算出手段と、その第5算出手段によって算出された質量流量を、前記還流通路と吸気通路と排気通路とにおける圧力と温度とで体積流量に換算する換算手段と、を備えた請求項1乃至4のいずれか1項に記載の内燃機関の制御装置。前記特定物質は酸素であり、前記記憶制御手段によって記憶された、個々の前記記憶領域における酸素濃度を用いて、前記還流通路に備えられた弁の開度を制御する弁制御手段を備えた請求項1乃至5のいずれか1項に記載の内燃機関の制御装置。上記特許文献1に記載された技術では、EGRガス流量とEGR経路長とから還流遅れを求めており、単純な配管しか想定していない。しかし実際の配管は一律な太さではないので、特許文献1の手法では酸素濃度算出の精度が低い可能性がある。また特許文献1では1系統のEGRしか考えられていないが、今日では、高圧EGRと低圧EGRの2系統を装備する場合がある。したがって2系統のEGRに対応した計算方法の開発が求められる。さらにこの技術は酸素濃度に限定しなくともよく、配管中の特定物質の濃度の分布を把握できるようにすれば、エンジンの高性能な制御につながる技術が開発できる。そこで本発明が解決しようとする課題は、上記問題点に鑑み、高圧EGRと低圧EGRの2系統のEGRを装備した状態で、高性能な内燃機関の制御が可能となるように、各EGR管を含む配管中の特定物質の濃度の分布を把握する内燃機関の制御装置を提供することにある。上記課題を達成するために、本発明に係る内燃機関の制御装置は、内燃機関の吸気が流通する吸気通路と、内燃機関からの排気が流通する排気通路と、前記排気通路から前記吸気通路へ排気を還流させる還流通路と、前記還流通路と吸気通路と排気通路とをそれぞれ等容積で分割した複数の配管領域に1対1で対応付けられた複数の記憶領域を有する記憶部と、前記内燃機関の1サイクルごとに、前記還流通路と吸気通路と排気通路とに流入するガスの体積流量を算出する第1算出手段と、前記内燃機関の1サイクルごとに、前記還流通路と吸気通路と排気通路とに流入するガス中の特定物質の濃度を算出する第2算出手段と、前記内燃機関の1サイクルごとに、前記第1算出手段で算出された体積流量と、前記第2算出手段によって算出された特定物質の濃度と、を用いて、前記記憶部の個々の記憶領域に、その記憶領域に1対1で対応する配管領域の特定物質の濃度を記憶する記憶制御手段と、を備えたことを特徴とする。これにより本発明に係る内燃機関の制御装置では、排気通路から吸気通路へ排気を還流する還流通路を備えた構成で、各配管を等容積で分割した配管領域と、記憶部内でそれに対応した記憶領域とを設定して、1サイクルごとに各配管に流入するガスの体積流量と特定物質の濃度を算出して、個々の記憶領域に特定物質の濃度を記憶する。したがって一律の太さではない配管にも適切に対応して、等容積に分割された配管領域ごとの特定物質の濃度を各サイクルごとに記憶していくことができる。よって各配管内の特定物質の濃度の分布を精度よく算出して記憶し、高性能に内燃機関を制御する制御装置が実現される。また前記還流通路は、前記排気通路に装備されたタービンよりも上流から前記吸気通路に装備されたコンプレッサよりも下流へ排気を還流する第1還流通路と、前記タービンよりも下流から前記コンプレッサよりも上流へ排気を還流する第2還流通路と、を備え、前記第1算出手段は、前記第1還流通路と第2還流通路とのそれぞれに流入するガスの体積流量を算出し、前記第2算出手段は、前記第1還流通路と第2還流通路とのそれぞれに流入するガス中の特定物質の濃度を算出するとしてもよい。この発明によれば、排気還流通路は、タービンの上流からコンプレッサの下流へ還流する第1還流通路と、タービンの下流からコンプレッサの上流へ還流する第2還流通路との2系統を備えた構成において、それぞれの還流通路の体積流量と特定物質の濃度を算出する。したがって2系統で排気を還流する高性能な排気還流システムにおいて、各配管ごとに体積流量と特定物質の濃度とを精度よく算出して、高性能に内燃機関を制御する制御装置が実現できる。また前記内燃機関の1サイクルごとに、前記内燃機関から排出されるガス中の特定物質の濃度を算出する第3算出手段を備え、前記記憶制御手段は、個々の前記記憶領域に記憶された特定物質の濃度を、前記内燃機関の1サイクル後に、前記第1算出手段によって算出された体積流量に応じて、下流側の別の前記記憶領域に移動させる記憶移動手段を備えたとしてもよい。この発明によれば、各サイクルごとに内燃機関から排出される特定物質の濃度を算出する手段と、記憶部において体積流量に応じて記憶領域に記憶された数値を移動させる手段を備えるので、各配管内の特定物質の濃度の分布を記憶する際に、内燃機関からの排気中の特定物質の濃度を算出することを基本として、各配管内の濃度数値は順に下流側に移動するとの合理的な方法を採用する。よって合理的な方法によって配管内の特定物質の濃度を把握できて、高性能に内燃機関を制御する制御装置が実現できる。また前記内燃機関の1サイクルごとに、前記第1算出手段によって算出された体積流量に応じて、前記還流通路から流出するガス分の前記記憶領域に記憶された特定物質の濃度を用いて、前記内燃機関に流入するガス中の特定物質の量を算出する第4算出手段を備えたとしてもよい。この発明によれば、各サイクルごとに、体積流量に応じて還流通路から流出するガス分に対応する記憶領域に記憶された特定物質の濃度を用いて、内燃機関に流入する特定物質の量を算出する。よって、配管領域に対応する記憶領域を設定して、各記憶領域に記憶された特定物質の濃度値を、各サイクルの体積流量に応じて移動させるモデルを用いて、高精度に内燃機関に流入する特定物質の量を算出でき、高性能に内燃機関を制御する制御装置が実現できる。また前記第1算出手段は、前記内燃機関の1サイクルごとに、前記還流通路と吸気通路と排気通路とに流入するガスの質量流量を算出する第5算出手段と、その第5算出手段によって算出された質量流量を、前記還流通路と吸気通路と排気通路とにおける圧力と温度とで体積流量に換算する換算手段と、を備えたとしてもよい。この発明によれば、まず各配管における質量流量を算出して、それから質量流量を温度値と圧力値によって体積流量に換算するので、各配管の分岐、合流部における流量計算に適した質量流量をまず求めて、その後、各配管における濃度の空間分布の把握に適した体積流量に換算することができる。よって、合理的な順序での算出手順によって、特定物質の濃度を記憶していき、高性能に内燃機関を制御する制御装置が実現できる。また前記特定物質は酸素であり、前記記憶制御手段によって記憶された、個々の前記記憶領域における酸素濃度を用いて、前記還流通路に備えられた弁の開度を制御する弁制御手段を備えたとしてもよい。この発明によれば、排気通路から吸気通路へ排気を還流する還流通路を備えた構成で、各配管を等容積で分割した配管領域と、記憶部内でそれに対応した記憶領域とを設定して、1サイクルごとに各配管に流入するガスの体積流量とガス中の酸素濃度を算出して、個々の記憶領域に酸素濃度を記憶して、その情報をもとにして、還流通路の弁の開度を調節する。したがって一律の太さではない配管にも適切に対応して、等容積に分割された配管領域ごとの酸素濃度を各サイクルごとに記憶していき、それに基づいて還流通路の弁の開度を調節することができる。よって各配管内の酸素濃度の分布を精度よく算出して記憶し、例えば高精度に内燃機関に流入する酸素量を制御して、内燃機関から排出されるNOx量やPM量を高精度で制御する制御装置が実現される。以下、本発明の実施形態を図面を参照しつつ説明する。まず図1は、本発明に係る制御装置1以下、装置1の実施例における装置構成の概略図である。装置1は、自動車車両の内燃機関エンジンに対して構成された制御装置の一実施例である。装置1は、エンジン2、吸気管3、排気管4、高圧EGR管5、低圧EGR管6、電子制御ユニット7ECU:ElectronicControlUnitを備える。吸気管3を通じてエンジン2に空気が供給される。エンジン2からの排気は排気管4を通じて車外に排出される。高圧EGR管5および低圧EGR管6は、排気管から吸気管への排気再循環EGRのための配管である。EGR管5を通じた排気の再循環によって、エンジン内の燃焼温度が低下し、エンジンからのNOxの排出量を減少できる。ECU7は、通常のコンピュータの構造を有して、後述する各種制御などを司る。高圧EGR管5は、ターボチャージャのタービン42の上流側からコンプレッサ34の下流側へ排気を還流する。低圧EGR管6は、タービン42の下流側からコンプレッサ34の上流側へ排気を還流する。このようにEGRを2系統備える理由は以下のとおりである。EGRを2系統備えることにより、高負荷では、ターボチャージャーの過給による吸気圧上昇分により、高圧EGRでは排気通路から還流できるEGR量が確保できないことがあるため、ターボチャージャーの過給による吸気圧上昇の影響を受けないよう、コンプレッサより吸気通路上流側に連通する低圧EGRでEGRを実行する。これにより、高負荷域で吸気圧が過給されている状況下でも、十分なEGR量を確保できる。エンジン2は例えばディーゼルエンジンとし、インジェクタ20から筒内に燃料を噴射する。吸気管3にはエアフロメータ30、吸気スロットル31、圧力センサ32、温度センサ33、ターボチャージャーのコンプレッサ34、インタークーラ35が装備されている。エアフロメータ30は吸気の質量流量を計測する。吸気スロットル31の開度調節によって吸気量が調節される。圧力センサ32、温度センサ33はそれぞれ吸気マニホールド内の圧力、温度を計測する。ターボチャージャーのコンプレッサ34は排気管4側のタービンから駆動力を供給されて吸気を圧縮して、より多くの空気をエンジン2に送る。インタークーラ35は吸気を冷却して、より多くの空気をエンジン2に送ることを可能にする。排気管4には、圧力センサ40、温度センサ41、ターボチャージャーのタービン42、DPF43DieselParticulateFilterが装備されている。圧力センサ40と温度センサ41とによって排気マニホールド内の圧力と温度が検出される。タービン42はエンジン2から排出される排気によって回転されて、それにより発生した駆動力をコンプレッサ34に送る。DPF43は、例えば代表的な構造として、いわゆるハニカム構造において入口側と出口側を交互に目詰めした構造とすればよい。エンジン2の運転中に排出される排気にはPM粒子状物質が含まれ、このPMはDPF43の上記構造のDPF壁を排気が通過するときに、このDPF壁の内部あるいは表面に捕集される。DPF43は酸化触媒が担持された酸化触媒付きDPFであるとすればよい。DPF43に堆積したPM量の推定値が所定値を超えたとみなされた毎に、例えばエンジン筒内でのメイン噴射後のポスト噴射などによってDPF43を昇温して堆積したPMを燃焼してDPF43を再生すればよい。その際、例えばDPF43の入口側と出口側における圧力差前後差圧を計測する差圧センサを装備し、その計測値と、差圧-PM堆積量間の関係を示すマップとから、PM堆積量を推定すればよい。高圧EGR管5、低圧EGR管6はそれぞれ高圧EGR弁50、低圧EGR弁60を備えて、それらの開度によって還流する排気量が調節される。また高圧EGR管5、低圧EGR管6はEGRクーラ51、52を備えて、還流する排気を冷却して、より多くの排気還流を可能にする。また装置1はアクセル開度センサ80、エンジン回転数センサ81を備える。アクセル開度センサ80によって運転者による車両のアクセルの踏み込み度合いが検出される。エンジン回転数センサ81によって、エンジン回転数が検出される。装置1では、エンジン2からのNOxあるいはPMの排出量を適切な値とするために、1サイクルごとにエンジン2に流入する酸素量を高精度に制御する。この目的のために、図1に示された装置構成における各配管内の酸素濃度の分布を、エンジン2の1サイクルごとに算出して記憶していく。酸素濃度の分布は、具体的には各配管を等容積ごとの領域配管領域に分割して、各配管領域ごとに酸素濃度を求める。その際、隣接する配管領域との間のガスの混合で各配管領域における酸素濃度の数値が変化するとはみなさず、各サイクルで上流側の配管領域に新たに入ってくるガスの分、各配管領域における酸素濃度の数値が下流側にずれていくモデルで考える。つまり各配管において現在のサイクルでの体積流速が配管領域N個分の数値の場合、各配管領域内の酸素濃度の数値が単にN個ずつ下流側にずれていき、それにより空いた上流側のN個の配管領域は新たな酸素濃度の領域となる。図1には、配管領域の例が示されている。この例では低圧EGR管6は等容積で20分割されてL1からL20の20個の配管領域が設定されている。同様に高圧EGR管5は等容積でH1からH10の10個の配管領域に分割されている。吸気管3における低圧EGR管6の出口位置から高圧EGR管5の出口位置までの領域は、等容積でI1からI5の5個の配管領域に分割されている。排気管4における高圧EGR管5の入口位置から低圧EGR管6の入口位置までの領域は、等容積でE1からE5の5個の配管領域に分割されている。L1からL20は等容積であり、H1からH10も等容積であり、I1からI5も等容積、E1からE5も等容積である。なおL1、H1、I1、E1は当容積でなくともよい。EGRクーラ51、61、インタークーラ35、DPF43などが配置されていることにより、吸気管3、排気管4、高圧EGR管5、低圧EGR管6の各配管において排気が流通する断面積は一定ではない。したがってL1からL20H1からH10、I1からI5、E1からE5の排気流通方向長は一定ではない。当然、流通断面積が大きい配管領域ほど、流通方向長が短い。こうした各配管領域における酸素濃度の数値を記憶し、1サイクルごとに書き換えるために、図4に示されているように、ECU7内のメモリ70に、各配管領域に1対1で対応した記憶領域が設定されている。上述のとおり、各配管における酸素濃度の分布は、L1からL20、H1からH10、I1からI5、E1からE5の各配管領域ごとの酸素濃度の数値により構成される。図4に示されたa1a20、b1、、b10、c1、、c5、d1、、d5が各配管領域における酸素濃度の数値である。そして各サイクルごとに、各配管の上流側における体積流速に応じた数の配管領域の酸素濃度値が新たな数値図4ではax,bx,cx,dxで示されているとなり、その下流では、新たな数値となった配管領域の数だけ酸素濃度の数値が下流側へずれていく。こうしたメモリ70内の書き換え処理の詳細は後述する。本実施例では、図1の構成のもとで、エンジン2から排出されるNOx量が適切な量となるようにECU6によって高圧EGR弁50、低圧EGR弁60の開度を制御する。その処理手順が図2および図3に示されている。図2および図3の処理は例えばECU7内のメモリ70に記憶しておき、エンジン2の始動から停止までの期間に、エンジン2の1サイクルごとにつまり4ストローク/1サイクルのエンジンにおいては4ストロークごとに、2ストローク/1サイクルのエンジンにおいては2ストロークごとに、ECU7が自動的に処理すればよい。図2の処理では、まず手順S10で、ECU7は各センサの検出値などを取得する。具体的には、アクセル開度センサ80が検出したアクセル開度、エンジン回転数センサ81が検出したエンジン回転数、エアフロメータ30が検出した吸気量新気量、圧力センサ32が検出した吸気マニホールド内の圧力値、温度センサ33が検出した吸気マニホールド内の温度値、圧力センサ40が検出した排気マニホールド内の圧力値、温度センサ41が検出した排気マニホールド内の温度値、圧力センサ62が検出した低圧EGR管6内の圧力値、温度センサ41が検出した低圧EGR管6内の温度値などの各数値を取得する。次にS20でECU7は、インジェクタ20からの燃料噴射量Qを算出する。具体的には例えば、アクセル開度とエンジン回転数からなるエンジン2の運転条件に応じて最適な噴射量を示すマップを予め例えばメモリ70に記憶しておき、そのマップとS10で取得した求めたアクセル開度とエンジン回転数の実値とから燃料噴射量Qを算出すればよい。次にS30でECU7は、高圧EGR弁50の基本開度SBShp、低圧EGR弁60の基本開度SBSlpを算出する。この基本開度SBShp、SBSlpは、エンジン回転数と燃料噴射量とに応じて適切な基本開度を示すマップを予めメモリ70に記憶しておき、そのマップとS10で求めたエンジン回転数とS20で求めた燃料噴射量Qの実値とから求めればよい。次にS40でECU7は、1サイクルごとにエンジン2の筒内に吸入される酸素量筒内吸入酸素量の目標値の現在値GTTを算出する。この筒内吸入酸素量の目標値GTTは、エンジン回転数と燃料噴射量とに応じて適切な筒内吸入酸素量の目標値を示すマップを予めメモリ70に記憶しておき、そのマップとS10で求めたエンジン回転数とS20で求めた燃料噴射量Qの実値とから求めればよい。次にS50でECU7は、吸気管3、排気管4、高圧EGR管5、低圧EGR管6の各配管を流通するガスの質量流量を算出する。ここで吸気管3を流通するガスとは、特に吸気スロットル31を通過するガスとする。また排気管4を流通するガスとは、特にタービン42を通過するガスとする。吸気管3吸気スロットル31、排気管4タービン42、高圧EGR管5、低圧EGR管6を流通するガスの質量流量をそれぞれMdth、Mtb、Mhp、Mlpと表記する。S50での算出処理の詳細は図3に示されている。図3の処理ではまずS200でECU7は吸気質量流量Mairを検出する。これはエアフロメータ30で検出すればよい。次にS210でECU7は、エンジン2の筒内に吸入されるガスの質量流量Mcldを算出する。具体的には、このMcldは次の式e1で算出する。なおは乗算、/は除算を示す。Mcld={ηPimVcld}/{RTim}e1式e1は周知の気体の状態方程式であり、Pim、Timはそれぞれ圧力センサ32、温度センサ33で検出された吸気マニホールド内の圧力値、温度値、Vcldはエンジン2のシリンダ容積、Rは気体定数である。ηはエンジン2の筒内に吸入されるガスの充填効率であり、例えば予め適切な値に定めておけばよい。次にS220でECU7は高圧EGR管5における1サイクル分のガスの質量流量の現在値Mhpを算出する。具体的にはMhpは次の式e2で算出する。式e2は公知のベルヌーイの定理であり、Pexは圧力センサ40で検出した排気マニホールド内の圧力値、Pimは圧力センサ32で検出した吸気マニホールド内の圧力値、Mは高圧EGR弁50の開度を上記S30で求めたSBShpとしたときの高圧EGR管5のガス流通経路断面積であり、αは比例係数、^1/2は平方根である。Mhp=αMPex-Pim^1/2e2次にS230でECU7は吸気スロットル31を通過する1サイクル分のガスの質量流量の現在値Mdthを算出する。高圧EGR管5の吸気管3への合流部分における質量保存則より、Mdthは次の式e3で算出される。Mdth=Mcld-Mhpe3次にS240でECU7は、低圧EGR管6における1サイクル分のガスの質量流量の現在値Mlpを算出する。低圧EGR管6の吸気管3への合流部分における質量保存則より、Mlpは次の式e4で算出される。Mlp=Mdth-Maire4次にS250でECU7は、タービン42を通過する1サイクル分のガスの質量流量の現在値Mtbを算出する。吸気管3から排気管4へのガスの質量増加分が筒内で噴射された燃料の質量であることより、Mtbは次の式e5で算出される。以上が図3の処理手順である。以上の処理を図2のS50で実行する。Mtb=QMdthe5図2に戻って、次にS60でECU7は、S50で算出した質量流量を体積流量に換算する。Mdth、Mtb、Mhp、Mlpから換算された体積流量をそれぞれVdth、Vtb、Vhp、Vlpと表記する。具体的にVdth、Vtb、Vhp、Vlpは以下の式e6からe9で算出する。ここでDdth、Dtb、Dhp、Dlpはそれぞれ、吸気スロットル31を通過するガス、タービン42を通過するガス、高圧EGR管5を流通するガス、低圧EGR管6を流通するガスの密度である。Vdth=Mdth/Ddthe6Vtb=Mtb/Dtbe7Vhp=Mhp/Dhpe8Vlp=Mlp/Dlpe9密度Ddth、Dtb、Dhp、Dlpは次の式e10からe13で算出する。Ddth=1.293273T1/273P1/101.3e10Dtb=1.293273T2/273P2/101.3e11Dhp=1.293273T3/273P3/101.3e12Dlp=1.293273T4/273P4/101.3e13式e10からe13は、摂氏0度絶対温度273度、1気圧101.3kPaでの空気の密度1立方メートルあたり1.293kgを温度と圧力で補正する式である。T1、T2、T3、T4はそれぞれ吸気管3、排気管4、高圧EGR管5、低圧EGR管6内の温度であり、P1、P2、P3、P4はそれぞれ吸気管3、排気管4、高圧EGR管5、低圧EGR管6内の圧力である。例えばT1は温度センサ33で検出された吸気マニホールド内の温度としてもよい。T2は温度センサ41で検出された排気マニホールド内の温度としてもよい。T3は温度センサ33の検出温度値と温度センサ41の検出温度値との平均値としてもよい。T4は温度センサ63の検出温度値とすればよい。またP1は圧力センサ32で検出された吸気マニホールド内の圧力としてもよい。P2は圧力センサ40で検出された排気マニホールド内の圧力としてもよい。P3は圧力センサ32の検出圧力値と圧力センサ40の検出圧力値との平均値としてもよい。P4は圧力センサ62の検出圧力値とすればよい。次にS70でECU7は、各配管のメモリ移動量を算出する。上述のとおり本実施例では、1サイクル毎に新たなガスが流入することによって各配管領域の酸素濃度の数値が下流に移動するモデルを採用しているが、メモリ移動量とは、その際の移動する領域数である。低圧EGR管6、高圧EGR管5、吸気管3、排気管4の各配管のメモリ移動量をそれぞれN1、N2、N3、N4とする。N1、N2、N3、N4は次の式e14からe17で算出する。N1=Vlp/V1e14N2=Vhp/V2e15N3=Vdth/V3e16N4=Vtb/V4e17式e14からe17でV1は配管領域L1からL20の容積体積、V2は配管領域H1からH10の容積体積、V3は配管領域I1からI5の容積体積、V4は配管領域E1からE5の容積体積である。N1からN4においては小数点以下は例えば四捨五入あるいは切捨て、切り上げすればよい。次にS80でECU7は、各配管から1サイクルで流出するガス内の酸素濃度の現在値を算出する。低圧EGR管6、高圧EGR管5、吸気管3、排気管4から1サイクルで流出するガス内の酸素濃度をそれぞれClp、Chp、Cdth、Ctbと表記する。現在のサイクルで、各配管からはそれぞれ上記S70で求めたN1、N2、N3、N4個の配管領域分のガスが流出する。したがって流出するガスの酸素濃度は、その配管領域の酸素濃度の平均値とすればよい。したがってClp、Chp、Cdth、Ctbは、以下のe18からe21で算出する。Clp={a20a21-N1}/N1e18Chp={b10b11-N2}/N2e19Cdth={c5c6-N3}/N3e20Ctb={d5d6-N4}/N4e21次にS90でECU7は、エンジン2の筒内に1サイクルで吸入される酸素量筒内吸入酸素量の現在値を算出推定する。筒内吸入酸素量はGTO2と表記する。エンジン2の筒内に流入する酸素は、高圧EGR管5から流入する酸素と吸気管3側から流入する酸素とからなる。高圧EGR管5から流出するガスは体積流量が上述のVhpで酸素濃度がChpであり、VhpとChpとの積が現在のサイクルで高圧EGR管5から流出する酸素量となる。同様に吸気管3からエンジン2に流入するガスは体積流量が上述のVtdhで酸素濃度がCdthであり、VdthとCdthとの積が現在のサイクルで吸気管3側からエンジン2に流入する酸素量となる。したがって結局GTO2は次の式e22で算出する。GTO2=ChpVhpCdthVdthe22次にS100でECU7は、筒内吸入酸素量の推定値と目標値との偏差ΔGTを算出する。ΔGTはS90で算出したGTO2とS40で算出したGTTとの差分であり、次の式e23で算出される。ΔGT=GTO2-GTTe23次にS110でECU7は、高圧EGR弁50、低圧EGR弁60の開度補正量を算出する。高圧EGR弁50、低圧EGR弁60の開度補正量をそれぞれSKhp、SKlpと表記する。SKhp、SKlpの算出方法は例えば、ΔGTに応じて最適なSKhp、SKlpを示すマップを予めメモリ70に記憶しておいて、このマップとS100で求めたΔGTの値から算出してもよい。次にS120でECU7は、低圧EGR弁60、高圧EGR弁50の最終開度現在のサイクルで用いられる開度を算出する。低圧EGR弁60、高圧EGR弁50の最終開度はそれぞれSEDlp、SEDhpと表記する。これらはS30で求めたSBSlp、SBShpとS110で求めたSKlp、SKhpの和であり、以下の式e24およびe25で算出される。SEDlp=SBSlpSKlpe24SEDhp=SBShpSKhpe25次にS130でECU7は、低圧EGR弁60、高圧EGR弁50の開度を制御する。すなわちECU7によって、低圧EGR弁60、高圧EGR弁50の開度をそれぞれ、S120で求めた開度SEDlp、SEDhpに制御する。次にS140でECU7は、現在時点において、エンジン2から1サイクルで排出されるガス中の酸素濃度Cexを算出する。Cexは次の式e26で算出される。Cex={GTO2-1.5Q}/{Mcld0.5Q}e26式e26の意味は以下のとおりである。式e26の分母はエンジン2から1サイクルで排出されるガス量であり、分子はエンジン2から1サイクルで排出される酸素量である。通常エンジン筒内の燃焼反応は、1モルのCH2燃料と3/2モルのO2とが反応して、1モルのCO2と1モルのH2Oとが生成されるとみなされる。したがって燃料1モルの燃焼によってガスが0.5モル増加するので、式e26の分母が得られる。そして燃料1モルの燃焼によって酸素は3/2モル減少するので、式e26の分子が得られる。式e26におけるGTO2、Mcldは質量をモル数に換算した数値とすればよい。次にS150でECU7は、各配管に1サイクルで流入するガス内の酸素濃度の現在値を算出する。低圧EGR管6、高圧EGR管5、排気管4、吸気管3の各配管に1サイクルで流入するガス内の酸素濃度をそれぞれax、bx、cx、dxと表記する。低圧EGR管6に流入するガスは排気管4から流出するガスである。排気管4から流出するガスの酸素濃度は上述のCtbである。高圧EGR管5および排気管4に流入するガスはエンジン2から排出されるガスである。エンジン2から排出されるガスの酸素濃度は上述のCexである。吸気管3低圧EGR管6の出口より下流部分に流入するガスは、車外から流入する空気と低圧EGR管6から流出したガスの混合である。車外から流入する空気における酸素濃度は公知のとおり質量比0.23であり、低圧EGR管6から排出されたガスの酸素濃度は上述のClpである。以上よりax、bx、cx、dxは以下の式e27からe30で算出される。ax=Ctbe27bx=Cexe28cx=Cexe29dx=0.23MairClpMlp/MairMlpe30次にS160でECU7は、S160で求めた酸素濃度を用いてメモリ70内の記憶内容を書き換える。この処理の例が図4に示されている。上述のとおり、低圧EGR管6、高圧EGR管5、吸気管3、排気管4に現サイクルで新たなガスが流入することにより、それぞれN1、N2、N3、N4ずつ各配管領域の酸素濃度が下流側に移動図4では右側に移動する。低圧EGR管6、高圧EGR管5、吸気管3、排気管4に新たに流入するガスの酸素濃度はS150で求めたax、bx、cx、dxである。図4の例では、N1が3、N2が2、N3が2、N4が3の場合が示されている。以上が図2および図3の処理手順である。なお上記実施例では酸素濃度の算出の例を示したが、本発明は酸素濃度に限定されず、エンジン2の制御に関係する特定の物質の濃度の算出に用いればよい。また上記例では低圧EGR管6を20分割、高圧EGR管を10分割、吸気管を5分割、排気管を5分割したが、この分割数は一例に過ぎず、任意の分割数でよい。また上記で質量を用いた部分は、モル数に変更してもよく、その場合も配管の分流、合流部における保存則が成立する。なお上記S70では小数点以下を四捨五入などしてメモリ移動量N1からN4を整数値として求めたが、これを非整数値としてもよい。その場合、1サイクル後の各配管領域の酸素特定物質濃度値の算出は、混在する2つの濃度値をそれぞれの体積比率に応じて加重平均して算出すればよい。またS80での算出においても、メモリ移動量が非整数の場合は、体積比率に応じた濃度値の加重平均とすればよい。このようにメモリ移動量を非整数とすれば、より高精度な算出が可能となる。"