JP7293929B2 - エンジンの試験方法及び試験装置 - Google Patents

エンジンの試験方法及び試験装置 Download PDF

Info

Publication number
JP7293929B2
JP7293929B2 JP2019131167A JP2019131167A JP7293929B2 JP 7293929 B2 JP7293929 B2 JP 7293929B2 JP 2019131167 A JP2019131167 A JP 2019131167A JP 2019131167 A JP2019131167 A JP 2019131167A JP 7293929 B2 JP7293929 B2 JP 7293929B2
Authority
JP
Japan
Prior art keywords
engine
processing unit
test program
test
update
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019131167A
Other languages
English (en)
Other versions
JP2021015088A (ja
Inventor
輝明 谷岡
惠一郎 末繁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mazda Motor Corp
Original Assignee
Mazda Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mazda Motor Corp filed Critical Mazda Motor Corp
Priority to JP2019131167A priority Critical patent/JP7293929B2/ja
Publication of JP2021015088A publication Critical patent/JP2021015088A/ja
Application granted granted Critical
Publication of JP7293929B2 publication Critical patent/JP7293929B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、コンピュータにより実行されるエンジンの試験方法及び試験装置に関する。
この種のエンジンの試験方法及び試験装置が、例えば特許文献1に開示されている。具体的には、この特許文献1に記載のエンジンの試験方法は、複数の計測点におけるエンジンの運転可否に基づき、エンジンを運転可能な計測点と運転不可能な計測点との境界を設定するステップと、設定した境界の外側を含む範囲に複数の計測点を追加設定するステップと、追加設定した計測点を、設定した境界に基づき、エンジンを運転可能と推定されるOK推定点、エンジンを運転不可能と推定されるNG推定点、及び、エンジンを運転不可能と推定されるが計測を実行する強制計測点に分類するステップと、OK推定点及び強制計測点におけるエンジンの運転可否に基づき境界を再設定するステップと、を有し、複数の計測点を追加設定するステップと、追加設定した計測点を分類するステップと、境界を再設定するステップとを繰り返すものである。このエンジンの試験方法では、エンジンを運転可能な計測点と運転不可能な計測点との境界を高い精度で効率よく設定することを図っている。
特開2016-142610号公報
ところで、ディーゼル燃焼に代表される圧縮自着火燃焼は、気温などの外部因子により混合気の燃焼開始時期(混合気が自着火する時期)が大きく変動するなどの問題があり、また、負荷が急変するような過渡運転時の制御が難しいという問題もある。他方で、エンジンの燃焼制御には、多数の制御対象(例えばインジェクタ、吸気弁の可変動弁機構、排気弁の可変動弁機構、スロットル弁、点火プラグ、EGR弁、過給機など)が存在し、これらの制御対象の各々を的確に制御する必要がある。また、排出ガス規制等の強化に伴って、燃費性能や排出ガス性能を高次元で達成することが求められることから、これら制御対象の制御値の最適な組み合わせを見出すことが難しくなっている。そのため、エンジンの試験において、多数の制御対象の制御量における膨大な組み合わせに関して、適切な燃焼を実現するためのエンジンのキャリブレーション(適合)に要する時間が莫大になる傾向にある。なお、特許文献1に記載されたエンジンの試験方法では、エンジンを運転可能な計測点と運転不可能な計測点との境界を精度良く求めることは可能であるが、試験の精度を確保しつつ、試験に要する時間を適切に短縮することは困難である。
本発明は、上述した従来技術の問題点を解決するためになされたものであり、エンジンの試験方法及び試験装置において、例えば制御対象が非常に多く且つ適切な燃焼を実現可能な範囲が非常に狭いエンジンであっても、試験の精度を確保しつつ、試験に要する時間を適切に短縮することを目的とする。
上記の目的を達成するために、本発明は、少なくともコンピュータにより実行されるエンジンの試験方法であって、コンピュータにおいて第1プログラミング言語にて動作する第1処理部において設定された、エンジンを種々の条件にて試験するための試験用プログラムを実行して、エンジンを運転させて、このときに得られた試験結果を取得するステップと、試験用プログラムを第1処理部により繰り返し実行して、エンジンを運転させたときに取得された試験結果に基づき、試験用プログラムを更新するステップと、試験用プログラムの更新が不要となった更新不要部分を抽出するステップと、試験用プログラムの更新不要部分を、コンピュータにおいて第1プログラミング言語よりも処理速度が速い第2プログラミング言語にて動作する第2処理部により実行させるべく、当該更新不要部分を第2処理部に移行させるステップと、を有することを特徴とする。
このように構成された本発明では、試験用プログラム全体を処理速度が比較的遅い第1プログラミング言語のみにより記述して、第1処理部においてのみ実行させるのではなく、第1処理部による試験用プログラムの実行によって更新が不要となった更新不要部分(例えば、試験用プログラムのモデルなどの内容が固まった部分、換言すると精度が高まった試験用プログラムの部分)については、処理速度が比較的速い第2プログラミング言語により記述して、第2処理部に移行させて実行させる。これにより、試験用プログラムの処理速度を効果的に向上させることができる。具体的には、エンジンの技術者が比較的扱い易い第1プログラミング言語を用いて試験用プログラムを最初に作成するという現場の状況を変えることなく、試験用プログラムの処理速度を効果的に向上させることができる。
したがって、本発明によれば、数燃焼サイクル(例えば1~3サイクル)ごとにエンジンの各種制御パラメータを変更して試験を行うことができ、エンジンを種々の条件にて試験するための時間を効果的に短縮することができる。その結果、本発明によれば、制御対象が非常に多く且つ適切な燃焼を実現可能な範囲が非常に狭くても、試験の精度を確保しつつ、試験に要する時間を適切に短縮することができる。
本発明において、好ましくは、試験用プログラムの更新不要部分に対する第1処理部による処理速度が所定条件を満たす場合には、当該更新不要部分を第2処理部に移行させずに第1処理部に残すステップを更に有する。
このように構成された本発明によれば、第2処理部に移行させても効果が小さい試験用プログラムの移行を抑制して、試験用プログラムの移行に伴う不具合やこの不具合を解消するための処理(手間)などの発生を適切に抑制することができる。
本発明において、好ましくは、コンピュータは、当該コンピュータとは別体であり、エンジンのデータを取得するデータ取得装置から、このエンジンのデータに対応する試験結果を取得し、データ取得装置は、エンジンのデータをコンピュータが処理可能なデータに変換する処理を行い、第2処理部に移行された試験用プログラムの更新不要部分を、データ取得装置により実行させるべく、当該更新不要部分をデータ取得装置に移行させるステップを更に有する。
データ取得装置は、エンジンから直接データを取得するので、つまりエンジンに物理的に近いので、通信に要する時間がコンピュータよりも短くなる。したがって、上記の本発明によれば、試験用プログラムの一部(少なくとも上記更新不要部分の一部を含む)をデータ取得装置に移行させて実行させることで、試験用プログラムの処理速度を更に効果的に向上させることができる。
本発明において、好ましくは、コンピュータは、複数のプロセッサを備え、試験用プログラムの更新不要部分を第2処理部に移行させた後に、当該更新不要部分を第2処理部により実行させるときに、コンピュータの複数のプロセッサにおいて並列処理させるステップを更に有する。
このように構成された本発明では、試験用プログラムの更新不要部分を第2処理部により複数のプロセッサにおいて並列処理させるので、試験用プログラムの処理速度を更に効果的に向上させることができる。
本発明において、好ましくは、試験用プログラムの更新不要部分を第2処理部に移行させるときに、当該更新不要部分のプログラミング言語を、第1プログラミング言語から第2プログラミング言語に変換するステップを更に有する。
このように構成された本発明では、更新不要部分のプログラミング言語を、第1プログラミング言語から第2プログラミング言語に変換するので、この試験用プログラムの更新不要部分を第2処理部において適切に実行させることができる。
本発明において、好ましくは、第1プログラミング言語は、スクリプト言語であり、第2プログラミング言語は、C言語をコンパイルしたマシン語である。
他の観点では、上記の目的を達成するために、本発明は、エンジンの試験装置であって、プログラムを記憶するメモリと、このメモリに記憶されたプログラムを実行する少なくとも1以上のプロセッサとを含むコンピュータを有し、コンピュータの少なくとも1以上のプロセッサは、第1プログラミング言語にて動作する第1処理部において設定された、エンジンを種々の条件にて試験するための試験用プログラムを実行して、エンジンを運転させて、このときに得られた試験結果を取得し、試験用プログラムを第1処理部により繰り返し実行して、エンジンを運転させたときに取得された試験結果に基づき、試験用プログラムを更新し、試験用プログラムの更新が不要となった更新不要部分を抽出し、試験用プログラムの更新不要部分を、第1プログラミング言語よりも処理速度が速い第2プログラミング言語にて動作する第2処理部により実行させるべく、当該更新不要部分を第2処理部に移行させる、ように構成されていることを特徴とする。
このように構成された本発明によっても、試験用プログラムの処理速度を効果的に向上させることができ、例えば制御対象が非常に多く且つ適切な燃焼を実現可能な範囲が非常に狭いエンジンであっても、試験の精度を確保しつつ、試験に要する時間を適切に短縮することができる。
本発明によるエンジンの試験方法及び試験装置によれば、例えば制御対象が非常に多く且つ適切な燃焼を実現可能な範囲が非常に狭いエンジンであっても、試験の精度を確保しつつ、試験に要する時間を適切に短縮することができる。
本発明の実施形態によるエンジンの概略構成図である。 本発明の実施形態によるエンジンの制御系統を示すブロック図である。 本発明の実施形態によるエンジンの試験において用いるモデル構造の説明図である。 本発明の実施形態によるエンジンの試験装置の概略構成を概念的に示すブロック図である。 本発明の実施形態によるエンジンの試験装置のハード構成を概略的に示すブロック図である。 本発明の実施形態によるエンジンの試験方法を示すフローチャートである。
以下、添付図面を参照して、本発明の実施形態によるエンジンの試験方法及び試験装置について説明する。
<エンジンの構成>
まず、図1及び図2を参照して、本発明の実施形態によるエンジンの試験方法及び試験装置が適用されるエンジンの具体例について説明する。なお、図1及び図2に示すエンジンは、あくまで本発明が適用されるエンジンの一例であり、図1及び図2に示すエンジンに本発明を適用することに限定はされない。
図1は、本発明の実施形態によるエンジンの構成を例示する図である。図2は、本発明の実施形態によるエンジンの制御系統を示すブロック図である。
図1に示すエンジン1は、走行用の動力源として車両に搭載され、ディーゼル燃焼(圧縮自着火)を行うディーゼルエンジンである。具体的には、このエンジン1は、複数の気筒2を有し、軽油を主成分とする燃料の供給を受けて駆動されるエンジン本体11と、エンジン本体11に燃焼用の空気を導入するための吸気通路30と、エンジン本体11で生成された排気ガスを排出するための排気通路40と、排気通路40を通過する排気ガスの一部を吸気通路30に還流するためのEGR装置50と、排気通路40を通過する排気ガスにより駆動されるターボ過給機60と、を有する。
吸気通路30には、上流側から順に、エアクリーナ31と、ターボ過給機60のコンプレッサ61a、62aと、スロットル弁36と、インタークーラ35と、サージタンク37とが設けられている。サージタンク37よりも下流側には、各気筒2とそれぞれ個別に連通する独立通路が設けられており、サージタンク37内のガスはこれら独立通路を通ってそれぞれ気筒2に分配される。
排気通路40には、上流側から順に、ターボ過給機60のタービン62b、61b、排気浄化装置41が設けられている。
ターボ過給機60は、排気エネルギーが低い低回転域から高回転域まで全域で効率よく高過給を得られる2段過給システムとして構成されている。即ち、ターボ過給機60は、高回転域において多量の空気を過給するための大型ターボチャージャー61と、低い排気エネルギーでも効率よく過給を行える小型ターボチャージャー62とを備えており、エンジン1の運転状態(エンジン回転数及び負荷)に応じて大型ターボチャージャー61と小型ターボチャージャー62による過給を切り替える。このターボ過給機60のタービン61b、62bが、排気通路40を流れる排気ガスのエネルギーを受けて回転し、これに連動してコンプレッサ61a、62aが回転することにより、吸気通路30を流通する空気を圧縮(過給)する。
インタークーラ35は、コンプレッサ61a、62aにより圧縮された空気を冷却するためのものである。
スロットル弁36は、吸気通路30を開閉するものである。ただし、本実施形態では、エンジン1の運転中は基本的には全開若しくはこれに近い高開度に維持されており、エンジン1の停止時等の必要時にのみ閉弁されて吸気通路30を遮断する。
排気浄化装置41は、排気ガス中の有害成分を浄化するためのものである。本実施形態では、この排気浄化装置41には、排気ガス中のCO及びHCを酸化する酸化触媒41aと、排気ガス中のスート(煤)を捕集するDPF41bとが含まれる。
EGR装置50は、排気ガスを吸気側に還流するためのものである。EGR装置50は、排気通路40におけるタービン62bよりも上流側の部分と、吸気通路30のうちインタークーラ35よりも下流側の部分とを接続するEGR通路50aと、このEGR通路50aを開閉するEGR弁50bとを備えており、排気通路40に排出された比較的高圧の排気ガス(高圧EGRガス)を吸気側に還流させる。
エンジン本体11は、上下方向に延びるシリンダ(気筒)2が内部に形成されたシリンダブロック3と、シリンダに往復運動(上下動)可能に収容されたピストン4と、ピストン4の冠面と対向する側からシリンダの端面(上面)を覆うように設けられたシリンダヘッド5と、潤滑油を貯留するためにシリンダブロック3の下側に配設されたオイルパン6と、を有している。
ピストン4は、エンジン本体11の出力軸であるクランクシャフト7とコンロッド(コネクティングロッド)8を介して連結されている。また、ピストン4の上方には燃焼室9が形成されており、この燃焼室9では、燃料供給装置としてのインジェクタ20から噴射された燃料が空気と混合されつつ拡散燃焼する。そして、当該燃焼に伴う膨張エネルギーにより、ピストン4が往復運動して、クランクシャフト7が中心軸回りに回転するようになっている。また、ピストン4には、コンロッド8の伸縮共振を抑制する動吸振器が設けられている。この動吸振器については後述する。
ここで、エンジン本体11の幾何学的圧縮比、つまり、ピストン4が下死点にあるときの燃焼室容積とピストン4が上死点にあるときの燃焼室容積との比は、12以上15以下(例えば14)に設定されている。この12以上15以下という幾何学的圧縮比は、ディーゼルエンジンとしてはかなり低い値である。これは、燃焼温度の抑制によるエミッション性能や熱効率の向上を狙ってのことである。
シリンダヘッド5には、吸気通路30から供給される空気を燃焼室9に導入するための吸気ポート16と、燃焼室9で生成された排気ガスを排気通路40に導入するための排気ポート17と、吸気ポート16の燃焼室9側の開口を開閉する吸気弁18と、排気ポート17の燃焼室9側の開口を開閉する排気弁19とが設けられている。吸気弁18は、可変動弁機構である吸気S-VT(Sequential Valve Timing)23(図2)によって、所定のタイミングで開閉し、排気弁19は、可変動弁機構である排気S-VT24(図2)によって、所定のタイミングで開閉する。吸気S-VT23及び排気S-VT24は、それぞれ、吸気弁18及び排気弁19の開弁時期及び閉弁時期を連続的に変化させることができる。
また、シリンダヘッド5には、燃焼室9に燃料を噴射するインジェクタ20が取り付けられている。このインジェクタ20は、そのピストン4側の先端部が、ピストン4の冠面に設けられた凹部としてのキャビティ(不図示)の中心部を臨むような姿勢で取り付けられている。インジェクタ20は、燃料流路を介してコモンレール側の蓄圧室(不図示)と接続されている。蓄圧室内には、燃料ポンプ(不図示)により加圧された高圧の燃料が貯蔵されており、インジェクタ20は、この蓄圧室から燃料の供給を受けて、燃焼室9内に燃焼を噴射する。燃料ポンプと蓄圧室との間には、蓄圧室内の圧力すなわちインジェクタ20から噴射される燃料の圧力である噴射圧を調整するための燃圧レギュレータ(不図示)が設けられている。
次に、図2に示すように、本実施形態によるエンジン1は、PCM(Power-train Control Module)10によって総括的に制御される。PCM10は、周知のマイクロコンピュータをベースとするコントローラであって、プログラムを実行する中央演算処理装置(Central Processing Unit:CPU)としてのマイクロプロセッサと、例えばRAM(Random Access Memory)やROM(Read Only Memory)により構成されてプログラム及びデータを格納するメモリと、電気信号の入出力をする入出力バス等を備えている。
PCM10には、図1及び図2に示すような各種センサSN1~SN10が電気的に接続されている。センサSN1~SN10は、検知信号をPCM10に出力する。センサSN1~SN10は以下の通りです。
シリンダブロック3には、クランクシャフト7の回転角度(クランク角)及び回転速度を検出するクランク角センサSN1が設けられている。このクランク角センサSN1は、クランクシャフト7と一体に回転するクランクプレート(不図示)の回転に応じてパルス信号を出力するものであり、このパルス信号に基づいて、クランクシャフト7の回転角度及び回転速度(つまりエンジン回転数)が特定されるようになっている。
吸気通路30のうちエアクリーナ31付近(エアクリーナ31とコンプレッサ61aとの間の部分)には、エアクリーナ31を通過して各気筒2に吸入される空気量(新気量)を検出するエアフロセンサSN2が設けられている。
サージタンク37には、当該サージタンク37内のガス、つまり各気筒2に吸入されるガスの温度を検出するインマニ温度センサSN3が設けられている。
吸気通路30のうちインタークーラ35よりも下流側の部分には、この部分を通過する空気ひいては気筒2に吸入される吸気の圧力を検出するインマニ圧力センサSN4が設けられている。
エンジン本体11には、当該エンジン本体11を冷却する冷却水の温度を検出する水温センサSN5が設けられている。また、大気圧を検出する大気圧センサSN6が設けられている。
排気系においては、ターボ過給機60のタービン61b、62bの上流側の排気通路40上には、排気温度を検出する排気温度センサSN7が設けられ、排気浄化装置41の直下流側の排気通路40上には、酸素濃度を検出するリニアO2センサSN8が設けられている。
更に、アクセルペダル(不図示)の操作量に対応したアクセル開度を検知するアクセル開度センサSN9、及び車両の速度(車速)を検知する車速センサSN10が設けられている。
PCM10は、上記した各種センサからの入力信号に基づいて種々の判定や演算等を実行しつつ、エンジン1の各部を制御する。具体的には、PCM10は、主に、インジェクタ20、吸気S-VT23、排気S-VT24、EGR弁50bを制御する。例えば、PCM10は、ディーゼル燃焼(圧縮自着火)を実現すべく、圧縮行程中に多段噴射(複数回に分割して燃料を噴射すること)を実行するようにインジェクタ20を制御する。また、例えば、PCM10は、吸気弁18及び排気弁19のバルブタイミングが内部EGRを行うためのタイミングになるように、つまり吸気弁18及び排気弁19の双方が排気上死点を跨いで開弁されるバルブオーバーラップ期間が十分に形成されるようなタイミングになるように、吸気S-VT23及び排気S-VT24を制御する。また、例えば、PCM10は、燃焼室9内の全体の空燃比が目標空燃比となるように、EGR弁50bの開度を制御する。
<エンジンの試験方法及び試験装置>
次に、本発明の実施形態によるエンジンの試験方法及び試験装置について具体的に説明する。エンジン1の試験においては、多数の制御対象の制御量における膨大な組み合わせを用いて、適切な燃焼を実現するためのエンジン1のキャリブレーション(適合)を行う必要があり、エンジン1の試験に要する時間が莫大になる傾向にある。したがって、本発明の実施形態によるエンジンの試験方法及び試験装置では、このような制御対象が非常に多く且つ適切な燃焼を実現可能な範囲が非常に狭いエンジン1であっても、試験の精度を確保しつつ、試験に要する時間を適切に短縮することを図っている。
特に、本実施形態によるエンジン1の試験方法では、試験用プログラムをコンピュータ(詳細は後述する)において実行して、エンジン1を種々の条件にて運転させて、このときに各種センサから取得されたデータ(例えば筒内圧や筒内温度など)を入力として用いる。そして、この入力データを信号処理して、エンジン1の所定量以上のNOx発生に関する境界判定などを行って、所望のEGR量や、吸気弁18の所望の開閉タイミングや、排気弁19の所望の開閉タイミングなどを決定する。そして、本実施形態によるエンジン1の試験方法では、こうして決定されたEGR量や吸排気弁18、19の開閉タイミングなどに基づき、ディーゼル(圧縮自着火)燃焼を実現する上で最適なパラメータ、例えば燃料噴射時期や燃料噴射間隔などを出力する。このような出力は、コンピュータからPCM10に提供されて、エンジン1にディーゼル燃焼を行わせるときのキャリブレーションデータ(言い換えるとマップデータ)としてPCM10に記憶される。
ここで、キャリブレーション(適合)とは、制約を満足しながら、目標を最適にする自由度の組み合わせを求めること、つまり最適設計に相当する。特に、エンジン1のキャリブレーションとは、制御対象と制御の構造(アルゴリズム)が決まった状態で、最適な制御パラメータを決定することである。上述したように、エンジン1においてディーゼル(圧縮自着火)燃焼を行うに当たっては、適切な燃焼を実現可能なエンジン1の運転領域が非常に狭く、また、制御対象が非常に多い、つまり制御パラメータの次元数が大きい。制御パラメータの次元数が大きいと、制御パラメータが所定の境界内となる確率が非常に低くなる。例えば、1辺4のn次元超立方体と半径1の超球との体積比は、n=2の場合(平面)には約「0.2:1」となり、n=3の場合(立体)には約「0.065:1」となり、n=10の場合には約「0.0000024:1」となる。この場合、100個のデータを超球内から取得するために必要な全体測定点数は、n=2の場合には500個で済むが、n=10の場合には4000万個となる。つまり、制御パラメータの次元数が大きいと多くのデータが必要となるのである。
このように制御パラメータの次元数が大きいと多くのデータが必要となるので、限られた時間内でできるだけ多くの試験をすることが望ましい。したがって、本実施形態では、数燃焼サイクルごと(例えば1~3サイクルごと)に試験を行うことを考えた。従来では、数百燃焼サイクルごと(例えば300サイクルごと)に各種制御パラメータを変更して試験が行われるが、本実施形態では、数燃焼サイクルごとに各種制御パラメータを変更して試験を行うようにするので、約1000倍程度の効率化を図ることができる、つまり同じ時間で約1000倍のポイントの計測を行うことができる。従来の試験では、数百燃焼サイクルにおいて各種制御パラメータを変更せずに、安定状態になるまで待機して、この数百の燃焼サイクルにおいて得られたデータを平均化処理していた。これに対して、本実施形態では、安定状態になるまで待たずして、数燃焼サイクルごとに各種制御パラメータを変更して、データの平均化処理を行わずに、全ての燃焼サイクルにおいて得られたデータを個別に処理するようにする。
なお、従来では、数百燃焼サイクル(例えば300サイクル)において得られたデータを平均化処理していたが、これはデータのばらつきを考慮するためである。一方で、本実施形態では、数燃焼サイクルごと(例えば1~3サイクルごと)のデータを用い、平均化処理を行わないため、ばらついたデータを用いることとなるが、エンジン1の燃焼の傾向については適切に把握することができる。本実施形態によれば、数燃焼サイクルごとにデータを収集するので、データを細かい計測点にて収集でき、広範囲を細かい計測点にて把握することができる。そのため、各計測点でばらつきがあったとしても、全体で見ると傾向を適切に把握できるのである。本実施形態では、このようにして把握された全体的な傾向に基づき、より詳細にデータを計測すべき範囲を特定して、その範囲をピンポイントで長いサイクルにてデータを得ることができる。その結果、より正確なデータを得ることができる。
次に、本実施形態では、上述したような数燃焼サイクルごとの計測を実現するために、図3に示すようなモデル構造を採用する。図3は、本発明の実施形態によるエンジン1の試験において用いるモデル構造の説明図である。
図3に示すように、本実施形態では、第1パラメータ群及び当該第1のパラメータ群よりもエンジン1における応答が速い第2パラメータ群を、それぞれ第1モデル及び第2モデルにおいて分けて処理するようになった2段のモデル構造を採用する。第1パラメータ群は、エンジン1の充填効率や、外部EGRガスのEGR率や、吸気弁18の開閉タイミングや、排気弁19の開閉タイミングや、燃料の圧力(燃圧)や、エンジン回転数であり、これらは応答が比較的遅いパラメータ(つまりエンジン1においてパラメータの値の変更指示を出してから実際の値が変化するまでの時間が長いパラメータ)である。一方、第2パラメータ群は、燃料噴射量や燃料噴射時期などであり、これらは応答が比較的速いパラメータ(つまりエンジン1においてパラメータの値の変更指示を出してから実際の値が変化するまでの時間が短いパラメータ)である。なお、燃料噴射を2分割して行う場合、つまり2分割噴射を行う場合には、2分割噴射のそれぞれについて燃料噴射量及び燃料噴射時期が規定され、また、燃料噴射を3分割して行う場合、つまり3分割噴射を行う場合には、3分割噴射のそれぞれについて燃料噴射量及び燃料噴射時期が規定される。
第1モデルは、広い範囲を表すグローバルモデルであり、第2モデルは、第1モデルよりも狭い範囲を表すローカルモデルである。具体的には、まず、第1モデルでは、燃料噴射量や燃料噴射時期などを固定した状態で、充填効率、EGR率、吸排気弁18、19の開閉タイミング、燃圧、エンジン回転数などをコンピュータにより制御して、エンジン1を運転したときの結果に基づき、エンジン1の運転条件(ガス空燃比G/Fや空気量など)が決められる。そして、第2モデルでは、そのように決められた運転条件の下で、燃料噴射量、燃料噴射時期などをコンピュータにより制御して、エンジン1を運転したときの結果を得る。これにより、エンジン1の排気ガスに含まれるNOx量や、エンジン1の燃費率などが得られる。このような2段のモデル構造を用いることで、数燃焼サイクルごとの計測を適切に実現できるようになる。
次に、図4及び図5を参照して、本発明の実施形態によるエンジンの試験方法を実行する具体的な試験装置について説明する。図4は、本発明の実施形態によるエンジンの試験装置の概略構成を概念的に示すブロック図であり、図5は、本発明の実施形態によるエンジンの試験装置のハード構成を概略的に示すブロック図である。
図4に示すように、エンジンの試験装置300は、主に、高速処理が可能なHPC(High Performance Computer)100と、PCM10からのデータ(センサSN1~SN10からのデータも含む)や、センサSN1~SN10以外のエンジン1に設けられた各種センサ80からのデータ(つまりPCM10を介さないセンサからのアナログ信号やパルス信号であり、例えば燃焼圧など)を取得し、取得したデータをHPC100が処理可能なデータに変換するDAQ(Data AcQuistion unit)200と、を有する。DAQ200は、入力された信号をAD変換してHPC100に出力したり、HPC100及び当該DAQ200で処理されたデータをPCM10に出力したりする。なお、HPC100は、本発明における「コンピュータ」の一例に相当し、DAQ200は、本発明における「データ取得装置」の一例に相当する。
図5に示すように、HPC100は、ハード構成的には、主に、互いに相互接続された複数のCPU(Central Processing Unit)100a(1つの例では10コアのCPU4つと61コアのコプロセッサ2つを含む)、及び、これら複数のCPU100aに接続され、DAQ200と通信するための通信モジュール100cを有する。また、DAQ200は、ハード構成的には、主に、少なくとも1つのCPU200aと、このCPU200aに接続されたアクセラレータFPGA(Field Programmable Gate Array)200bと、HPC100と通信するための通信モジュール200cと、PCM10及び各種センサ80との間でデータの入出力を行う入出力モジュール200dと、を有する。
図4に戻ると、HPC100は、スクリプト形式により規定され、スクリプト言語(換言するとインタープリンタで、第1プログラミング言語に相当する)を用いて処理を行う第1処理部110と、DLL(Dynamic Link Library)実行形式により規定され、C言語をコンパイルしたマシン語(第1プログラミング言語よりも処理速度が速い第2プログラミング言語に相当する)を用いて処理を行う第2処理部120と、これら第1処理部110及び第2処理部120がデータを共有するための共有メモリ130と、を有する。
具体的には、第1処理部110は、スクリプト言語により記述された試験用プログラム、典型的にはMATLAB(登録商標)などの数値解析ソフトウェアにより作成された試験用プログラムを実行するためのモデル111と、モデル111の実行のために確保されたメモリであるワークスペース112と、第1処理部110と共有メモリ130との間において、及び第1処理部110内において、データの読み書きを管理するR/Wスケジューラ113と、を有する。
また、第2処理部120は、C言語により記述された試験用プログラム、典型的にはLabVIEW(登録商標)などにより作成された試験用プログラムを実行するためのモデル121と、第2処理部120とDAQ200との間において、及び第2処理部120内において、データの入出力を管理するI/Oスケジューラ122と、I/Oスケジューラ122及び共有メモリ130からのデータを一時的に記憶するデータバッファ123と、データバッファ123のデータを記憶するハードディスク124と、を有する。
一方、DAQ200は、HDL(hardware description language)形式により規定され、上記したアクセラレータFPGA200bにより実行されるモデル201と、DLL実行形式により規定され、上記したCPU200aにより実行されるモデル202と、PCM10及び各種センサ80とDAQ200との間において、及びDAQ200内において、データの入出力を行うI/O203と、モデル201、202、I/O203及びHPC100(具体的には第2処理部120のI/Oスケジューラ122)からのデータを一時的に記憶するI/Oバッファ204と、を有する。DAQ200のモデル201は、アクセラレータFPGA200bにより、例えばPCM10及び各種センサ80からのデータに対してフィルタリング処理(ローパスフィルタ、ハイパスフィルタ、バンドパスフィルタの少なくともいずれか)を行う。一方、DAQ200のモデル202は、HPC100の第2処理部120のモデル121と同様に、C言語により記述された試験用プログラム、典型的にはLabVIEW(登録商標)などにより作成された試験用プログラムを実行する。
次に、図4に示すエンジンの試験装置300によるエンジンの試験方法について具体的に説明する。まず、本実施形態では、HPC100の第1処理部110が、当該第1処理部110において設定された、エンジン1を種々の条件にて試験するための試験用プログラムを実行して、エンジン1を運転させて、このときに得られた試験結果を取得する。こうして取得された試験結果は、HPC100のハードディスク124に記憶される。ここで、試験用プログラムは、図3に示したように、エンジン1の各種制御パラメータを制御して、エンジン1を運転させることで、所望の結果を得るためのプログラムである。また、第1処理部110で実行される試験用プログラムは、第1プログラミング言語としてのスクリプト言語(換言するとインタープリンタ)により記述されたプログラムであり、例えばMATLAB(登録商標)などのソフトウェアにより作成される。特に、この試験用プログラムは、エンジン1の燃焼制御に関する技術者によって作成されるものである。エンジン1の技術者は、基本的には、特殊なプログラミング技術を有しないので、C言語を用いた試験用プログラムではなく、特殊なプログラミング技術を有しなくても容易に利用できるMATLAB(登録商標)などのソフトウェアを用いて、試験用プログラムを作成する。例えば、エンジン1の技術者は、MATLAB(登録商標)を用いて、エンジン1の各種制御パラメータの動かし方(各種制御パラメータを変化させる量や方向など)を規定した試験用プログラムを作成する。こうしてエンジン1の技術者により作成された試験用プログラムは、HPC100の第1処理部110において実行される。
そして、本実施形態では、HPC100の第1処理部110が、試験用プログラムを繰り返し実行して、エンジン1を運転させたときに取得されたデータに基づき、試験用プログラムを更新する。例えば、第1処理部110は、エンジン1の制御パラメータを変化させながら、エンジン1のデータを取得することで、取得されたデータの内容に基づき、試験用プログラムにおいて或る制御パラメータの動かし方を規定した部分(数式など)を更新する。1つの例では、第1処理部110は、取得されたエンジン1のデータに応じて、或る制御パラメータの動かし方を規定した数式中の係数を変更したり、1次式で表された数式を2次式に変更したりする。
そして、本実施形態では、第1処理部110は、このように試験用プログラムを更新していったときに、試験用プログラムにおいて更新が不要となった更新不要部分を抽出する。例えば、第1処理部110は、エンジン1の或る制御パラメータを変化させていったときに、エンジン1において所定量以上のNOxが発生した場合に当該制御パラメータの変化を停止して、当該制御パラメータに関する試験用プログラムの更新が不要であると判断する。1つの例では、当該制御パラメータの動かし方を規定した数式の更新が不要であると判断する。このときに、第1処理部110は、所定量以上のNOxが発生したときに用いていた制御パラメータにより、当該制御パラメータの変化を止める条件(適用可能な限界値)を決め、つまり当該制御パラメータの適用可能な範囲を決め、そのような制御パラメータの適用可能な範囲や当該制御パラメータの動かし方を規定した数式などを、試験用プログラムの更新不要部分として用いる。このような処理により、第1処理部110において、試験用プログラムの内容が固まる、換言すると精度が高まった試験用プログラムが完成する。なお、本実施形態では、上述したように数燃焼サイクルごとにエンジン1の計測を行うため、エンジン1の所定量以上のNOxが発生してから数燃焼サイクル経過時に制御パラメータの異常側への変化を速やかに止めることができるので、エンジン1から排出されるガス中に含まれるNOxが所定量以上となってしまう期間を最小限にとどめながら、NOx低減に必要な制御パラメータを正確に取得することができる。
そして、本実施形態では、上記のようにして得られた試験用プログラムの更新不要部分を、HPC100の第2処理部120により実行させるべく、この試験用プログラムの更新不要部分を第1処理部110から第2処理部120に移行させる。この場合、第1処理部110が、試験用プログラムの更新不要部分のプログラミング言語を、第1プログラミング言語としてのスクリプト言語(換言するとインタープリンタ)から、第2プログラミング言語としてのC言語(マシン語)に変換する。例えば、第1処理部110は、MATLAB(登録商標)などのソフトウェアが有する機能を利用して、スクリプト形式にて規定された試験用プログラムの更新不要部分をDLL形式に変換し、つまりDLLファイルを作成し、このDLLファイルを第2処理部120に移行させる。そして、上記の第1処理部110と同様に、第2処理部120は、DLLファイルの試験用プログラムを実行して、エンジン1を運転させて、このときに得られた試験結果を取得する。
上述したように、試験用プログラムを作成するエンジン1の技術者は、特殊なプログラミング技術を有しないので、最初にMATLAB(登録商標)などの比較的処理が遅いスクリプト言語を用いて試験用プログラムを作成することとなる、つまり基本的には比較的処理が速いC言語を用いて試験用プログラムを作成しない。しかしながら、本実施形態では、このようにスクリプト言語を用いて作成された当初の試験用プログラムが更新により固まると、その固まった部分(更新不要部分)をC言語(マシン語)により規定された第2処理部120へと適宜移行させる。これにより、本実施形態によれば、試験用プログラム全体をスクリプト言語のみにより記述して第1処理部110においてのみ実行させる場合よりも、試験用プログラムの更新不要部分についてはマシン語により記述して第2処理部120において適宜実行させることで、試験用プログラムの処理速度を効果的に向上させることができる。具体的には、エンジン1の技術者がMATLAB(登録商標)などのスクリプト言語を用いて試験用プログラムを最初に作成するという現場の状況を変えることなく、試験用プログラムの処理速度を効果的に向上させることができる。
また、本実施形態では、第2処理部120は、試験用プログラムを実行する場合に、この試験用プログラムを複数のCPU100a(図5参照)において並列処理(並列計算)させるようにする。具体的には、第1処理部110から第2処理部120への試験用プログラムの更新不要部分の移行に当たって、第1処理部110(第2処理部120でもよい)は、複数のCPU100aにおいて並列処理が実行されるように当該更新不要部分のプログラムを作成し直し(C言語によるプログラム言語では、複数のCPU100aにおいて並列処理が実行されるようにプログラムを構築することができる)、第2処理部120は、そのように作成されたプログラムを実行することで、複数のCPU100aにおいて並列処理を実行させる。具体的には、第2処理部120は、エンジン1の各気筒ごとにおける演算を、複数のCPU100aに含まれる複数のコアそれぞれに分配して、これらの演算を並列計算させる。これにより、試験用プログラムの処理速度を更に向上させることができる。
なお、上記した試験用プログラムの更新不要部分に対する第1処理部110による処理速度が所定条件を満たす場合には、例えば第1処理部110による処理が数燃焼サイクル(1~3サイクル)以内に終わる場合には、当該更新不要部分を第2処理部120に移行させずに第1処理部110に残しておくのがよい。これにより、第2処理部120に移行させても効果が小さいプログラムの移行を抑制して、プログラムの移行時におけるプログラム言語の変換に伴う不具合やこの不具合を解消するための処理(手間)などの発生を適切に抑制することができる。また、応答が遅い制御パラメータ(例えば図3に示した第1パラメータ群のいずれか)に関する試験用プログラムの部分も、当該部分が更新不要部分になったとしても、第2処理部120に移行させずに第1処理部110に残しておくのがよい。応答が遅い制御パラメータに関する試験用プログラムについては第2処理部120で処理を行ったとしても、処理速度をほとんど改善できないからである、つまり第2処理部120に移行させても効果が小さいからである。
また、本実施形態では、上記のように試験用プログラムの一部をHPC100の第2処理部120に移行させた後も、試験用プログラムの更なる高速化が必要な場合には、試験用プログラムの一部をHPC100の第2処理部120からDAQ200に移行させてもよい、特にDLL実行形式により規定されたDAQ200のCPU200aに移行させてもよい。この場合、HPC100の第1処理部110が、例えばMATLAB(登録商標)などのソフトウェアが有する機能を利用して、試験用プログラムの一部をDLL形式に変換し、つまりDLLファイルを作成し、このDLLファイルをDAQ200のCPU200aに移行させる。そして、DAQ200のCPU200aは、DLLファイルの試験用プログラムを実行して、エンジン1を運転させて、このときに得られた試験結果を取得する。DAQ200は、エンジン1(具体的にはPCM10や各種センサ80)から直接データを取得するので、つまりエンジン1に物理的に近いので、通信に要する時間がHPC100よりも短くなる。したがって、試験用プログラムの一部をDAQ200に移行させて実行させることで、試験用プログラムの処理速度を更に効果的に向上させることができる。
また、本実施形態では、上記のように試験用プログラムの一部をDAQ200のCPU200aに移行させた後も、試験用プログラムの更なる高速化が必要な場合には、試験用プログラムの一部を、DAQ200のCPU200aから、HDL形式により規定されたDAQ200のアクセラレータFPGA200bに移行させてもよい。この場合、DAQ200のアクセラレータFPGA200bが、試験用プログラムの一部をHDL形式に変換する、つまりHDLファイルを作成する。そして、アクセラレータFPGA200bは、HDLファイルの試験用プログラムを実行して、エンジン1を運転させて、このときに得られた試験結果を取得する。このように試験用プログラムの一部をDAQ200においてCPU200aからアクセラレータFPGA200bに移行させて実行させることで、試験用プログラムの処理速度を更に効果的に向上させることができる。
なお、試験用プログラムの一部をHPC100の第2処理部120からDAQ200のCPU200aに移行させる必要がない場合、及び試験用プログラムの一部をDAQ200のCPU200aからDAQ200のアクセラレータFPGA200bに移行させる必要がない場合には、つまり試験用プログラムの一部を移行させてもほとんど効果がない場合には、このような試験用プログラムの一部の移行を行わないようにすることが望ましい。特に、試験用プログラムをHPC100からDAQ200に移行させるに当たっては、演算速度よりも応答性が求められるプログラムをDAQ200に移行させるのが良く、応答性よりも演算速度が求められるプログラムについてはDAQ200に移行させずにHPC100に残しておくのが良い。これは、DAQ200は、HPC100よりもエンジン1側との通信に要する時間が短くなるので、応答性を改善できる一方で、HPC100は、複数のCPU100aなどを有しているので、DAQ200よりも演算能力が高いからである。1つの例では、複雑な異常判断を行うプログラムなどについては、DAQ200に移行させずにHPC100に残しておき、データをフィルタリングしてピークを求めるプログラムなどについては、DAQ200に移行させるのがよい。
次に、図6を参照して、本発明の実施形態によるエンジンの試験方法に関する具体的な処理について説明する。図6は、本発明の実施形態によるエンジンの試験方法を示すフローチャートである。このフローチャートは、エンジンの試験装置300(図4参照)により所定の周期で繰り返し実行される。
まず、ステップS1では、HPC100の第1処理部110が、試験用プログラムを実行する。具体的には、第1処理部110は、エンジン1の技術者により作成された、MATLAB(登録商標)などのスクリプト言語により規定された試験用プログラムを実行する。
次いで、ステップS2では、HPC100の第1処理部110は、試験用プログラムを実行してエンジン1を運転させたときのデータを取得する。具体的には、第1処理部110は、DAQ200を介して、PCM10からのデータ(センサSN1~SN10からのデータも含む)や、センサSN1~SN10以外のエンジン1に設けられた各種センサ80からのデータ(例えば燃焼圧など)を取得する。
次いで、ステップS3では、HPC100の第1処理部110は、ステップS2で取得されたデータに基づき、試験用プログラムを更新する。例えば、第1処理部110は、取得されたデータの内容に基づき、試験用プログラムにおいて或る制御パラメータの動かし方を規定した部分(数式など)を更新する。
次いで、ステップS4では、HPC100の第1処理部110は、試験用プログラムの更新が不要であるか否かを判定する。具体的には、第1処理部110は、エンジン1の制御パラメータを変化させていったときに、例えばエンジン1において所定量以上のNOxが発生した場合に、試験用プログラムの更新が不要であると判定し(ステップS4:Yes)、ステップS5に進む。この場合、第1処理部110は、所定量以上のNOxが発生したときに用いていた制御パラメータにより、制御パラメータの適用可能な範囲を決定し、そのような制御パラメータの適用可能な範囲や当該制御パラメータの動かし方を規定した数式などを、試験用プログラムの更新不要部分として用いる。一方で、第1処理部110は、ステップS4において、試験用プログラムの更新が必要と判定した場合(ステップS4:No)、ステップS3に戻る。
次いで、ステップS5では、HPC100の第1処理部110は、試験用プログラムの高速化が必要か否かを判定する。具体的には、第1処理部110は、上記した試験用プログラムの更新不要部分に対する当該第1処理部110による処理速度が所定条件を満たさない場合、例えば第1処理部110による処理が数燃焼サイクル(1~3サイクル)以内に終わらない場合には、試験用プログラムの高速化が必要であると判定し(ステップS5:Yes)、ステップS6に進む。これに対して、第1処理部110は、試験用プログラムの更新不要部分に対する当該第1処理部110による処理速度が所定条件を満たす場合、例えば第1処理部110による処理が数燃焼サイクル以内に終わる場合には、試験用プログラムの高速化が不要であると判定し(ステップS5:No)、本フローチャートに示す一連のルーチンを抜ける。
次いで、ステップS6では、HPC100の第1処理部110は、試験用プログラムの更新不要部分のプログラミング言語を、第1プログラミング言語としてのスクリプト言語(換言するとインタープリンタ)から、第2プログラミング言語としてのC言語(マシン語)に変換する。例えば、第1処理部110は、MATLAB(登録商標)などのソフトウェアが有する機能を利用して、スクリプト形式にて規定された試験用プログラムの更新不要部分をDLL形式に変換し、つまりDLLファイルを作成し、このDLLファイルを第2処理部120に移行させる。
次いで、ステップS7では、HPC100の第2処理部120は、ステップS6で作成及び移行されたDLLファイルの試験用プログラムを実行する。そして、ステップS8では、第2処理部120は、試験用プログラムを実行してエンジン1を運転させたときのデータを取得する。具体的には、第2処理部120は、DAQ200を介して、PCM10からのデータや各種センサ80からのデータを取得する。
次いで、ステップS9では、HPC100の第2処理部120は、上記のステップS5と同様の手順にて、試験用プログラムの更なる高速化が必要か否かを判定する。その結果、第2処理部120は、試験用プログラムの高速化が必要であると判定した場合(ステップS9:Yes)、ステップS10に進む。これに対して、第2処理部120は、試験用プログラムの高速化が必要でないと判定した場合(ステップS9:No)、本フローチャートに示す一連のルーチンを抜ける。
次いで、ステップS10では、HPC100の第2処理部120は、試験用プログラムを高速化させることによる効果があるか否か、具体的には試験用プログラムを高速化するためにDAQ200に移行させると効果があるか否かを判定する。例えば、第2処理部120は、演算速度よりも応答性が求められる試験用プログラムの部分については、DAQ200に移行させると効果があると判定し、応答性よりも演算速度が求められる試験用プログラムの部分については、DAQ200に移行させても効果がほとんどないと判定する。第2処理部120は、試験用プログラムを高速化させることによる効果があると判定した場合(ステップS10:Yes)、ステップS11に進み、試験用プログラムを高速化させることによる効果がないと判定した場合(ステップS10:No)、本フローチャートに示す一連のルーチンを抜ける。
次いで、ステップS11では、HPC100の第1処理部110は、例えばMATLAB(登録商標)などのソフトウェアが有する機能を利用して、試験用プログラムの一部をDLL形式に変換し、つまりDLLファイルを作成し、このDLLファイルをDAQ200のCPU200aに移行させる。
次いで、ステップS12では、DAQ200のCPU200aは、ステップS11で作成及び移行されたDLLファイルの試験用プログラムを実行する。そして、ステップS13では、DAQ200のCPU200aは、試験用プログラムを実行してエンジン1を運転させたときのデータを取得する。具体的には、CPU200aは、PCM10からのデータや各種センサ80からのデータを取得する。
次いで、ステップS14では、DAQ200のCPU200aは、上記のステップS5、S9と同様の手順にて、試験用プログラムの更なる高速化が必要か否かを判定する。その結果、CPU200aは、試験用プログラムの高速化が必要であると判定した場合(ステップS14:Yes)、ステップS15に進み、試験用プログラムの高速化が必要でないと判定した場合(ステップS14:No)、本フローチャートに示す一連のルーチンを抜ける。
次いで、ステップS15では、DAQ200のCPU200aは、試験用プログラムを高速化させることによる効果があるか否か、具体的には試験用プログラムを高速化するためにアクセラレータFPGA200bに移行させる効果があるか否かを判定する。例えば、CPU200aは、演算速度よりも応答性が求められる試験用プログラムの部分については、アクセラレータFPGA200bに移行させると効果があると判定し、応答性よりも演算速度が求められる試験用プログラムの部分については、アクセラレータFPGA200bに移行させても効果がほとんどないと判定する。CPU200aは、試験用プログラムを高速化させることによる効果があると判定した場合(ステップS15:Yes)、ステップS16に進み、試験用プログラムを高速化させることによる効果がないと判定した場合(ステップS15:No)、本フローチャートに示す一連のルーチンを抜ける。
次いで、ステップS16では、DAQ200のアクセラレータFPGA200bは、試験用プログラムの一部をCPU200aからアクセラレータFPGA200bに移行させるべく、当該試験用プログラムの一部をHDL形式に変換する、つまりHDLファイルを作成する。
次いで、ステップS17では、DAQ200のアクセラレータFPGA200bは、ステップS16で作成及び移行されたHDLファイルの試験用プログラムを実行する。そして、ステップS18では、DAQ200のアクセラレータFPGA200bは、試験用プログラムを実行してエンジン1を運転させたときのデータを取得する。具体的には、アクセラレータFPGA200bは、PCM10からのデータや各種センサ80からのデータを取得する。
<作用及び効果>
次に、本発明の実施形態によるエンジンの試験方法及び試験装置による作用及び効果について説明する。
本実施形態によるエンジンの試験方法は、第1プログラミング言語にて動作する第1処理部110において設定された、エンジン1を種々の条件にて試験するための試験用プログラムを実行して、エンジン1を運転させて、このときに得られた試験結果を取得するステップと、試験用プログラムを第1処理部110により繰り返し実行して、エンジン1を運転させたときに取得された試験結果に基づき、試験用プログラムを更新するステップと、試験用プログラムの更新が不要となった更新不要部分を抽出するステップと、試験用プログラムの更新不要部分を、第1プログラミング言語よりも処理速度が速い第2プログラミング言語にて動作する第2処理部120により実行させるべく、当該更新不要部分を第2処理部120に移行させるステップと、を有する。
このような本実施形態によれば、試験用プログラム全体を処理速度が比較的遅い第1プログラミング言語のみにより記述して第1処理部110においてのみ実行させる場合よりも、試験用プログラムの更新不要部分については処理速度が比較的速い第2プログラミング言語により記述して第2処理部120において実行させることで、試験用プログラムの処理速度を効果的に向上させることができる。具体的には、エンジン1の技術者が比較的扱い易い第1プログラミング言語を用いて試験用プログラムを最初に作成するという現場の状況を変えることなく、試験用プログラムの処理速度を効果的に向上させることができる。
したがって、本実施形態によれば、数燃焼サイクル(例えば1~3サイクル)ごとに各種制御パラメータを変更して試験を行うことができ、エンジン1を種々の条件にて試験するための時間を効果的に短縮することができる。その結果、本実施形態によれば、SPCCI燃焼を行うエンジン1のように、制御対象が非常に多く且つ適切な燃焼を実現可能な範囲が非常に狭いエンジン1であっても、試験の精度を確保しつつ、試験に要する時間を適切に短縮することができる。
また、本実施形態によれば、試験用プログラムの更新不要部分に対する第1処理部110による処理速度が所定条件を満たす場合には、当該更新不要部分を第2処理部120に移行させずに第1処理部110に残す。これにより、第2処理部120に移行させても効果が小さいプログラムの移行を抑制して、プログラムの移行に伴う不具合やこの不具合を解消するための処理(手間)などの発生を適切に抑制することができる。
また、本実施形態によれば、第2処理部120に移行された試験用プログラムの更新不要部分を、DAQ200により実行させるべく、当該更新不要部分をDAQ200に更に移行させる。DAQ200は、エンジン1(具体的にはPCM10や各種センサ80)から直接データを取得するので、つまりエンジン1に物理的に近いので、通信に要する時間がHPC100よりも短くなる。したがって、試験用プログラムの一部をDAQ200に移行させて実行させることで、試験用プログラムの処理速度を更に効果的に向上させることができる。
また、本実施形態によれば、試験用プログラムの更新不要部分を第2処理部120に移行させた後に、当該更新不要部分を第2処理部120により実行させるときに、複数のCPU100aにおいて並列処理させる。これにより、試験用プログラムの処理速度を更に効果的に向上させることができる。
また、本実施形態によれば、試験用プログラムの更新不要部分を第2処理部120に移行させるときに、当該更新不要部分のプログラミング言語を、第1プログラミング言語から第2プログラミング言語に変換するので、この試験用プログラムの更新不要部分を第2処理部120において適切に実行させることができる。
1 エンジン
10 PCM
100 HPC
100a CPU
110 第1処理部
111 モデル
120 第2処理部
121 モデル
200 DAQ
200a CPU
200b アクセラレータFPGA
201、202 モデル
300 エンジンの試験装置

Claims (7)

  1. 少なくともコンピュータにより実行されるエンジンの試験方法であって、
    前記コンピュータにおいて第1プログラミング言語にて動作する第1処理部において設定された、エンジンを種々の条件にて試験するための試験用プログラムを実行して、前記エンジンを運転させて、このときに得られた試験結果を取得するステップと、
    前記試験用プログラムを前記第1処理部により繰り返し実行して、前記エンジンを運転させたときに取得された前記試験結果に基づき、前記試験用プログラムを更新するステップと、
    前記試験用プログラムの更新が不要となった更新不要部分を抽出するステップと、
    前記試験用プログラムの更新不要部分を、前記コンピュータにおいて前記第1プログラミング言語よりも処理速度が速い第2プログラミング言語にて動作する第2処理部により実行させるべく、当該更新不要部分を前記第2処理部に移行させるステップと、
    を有することを特徴とするエンジンの試験方法。
  2. 前記試験用プログラムの更新不要部分に対する前記第1処理部による処理速度が所定条件を満たす場合には、当該更新不要部分を前記第2処理部に移行させずに前記第1処理部に残すステップを更に有する、請求項1に記載のエンジンの試験方法。
  3. 前記コンピュータは、当該コンピュータとは別体であり、前記エンジンのデータを取得するデータ取得装置から、このエンジンのデータに対応する前記試験結果を取得し、前記データ取得装置は、前記エンジンのデータを前記コンピュータが処理可能なデータに変換する処理を行い、
    前記第2処理部に移行された前記試験用プログラムの更新不要部分を、前記データ取得装置により実行させるべく、当該更新不要部分を前記データ取得装置に移行させるステップを更に有する、請求項1又は2に記載のエンジンの試験方法。
  4. 前記コンピュータは、複数のプロセッサを備え、
    前記試験用プログラムの更新不要部分を前記第2処理部に移行させた後に、当該更新不要部分を前記第2処理部により実行させる場合に、前記コンピュータの前記複数のプロセッサにおいて並列処理させるステップを更に有する、請求項1乃至3のいずれか一項に記載のエンジンの試験方法。
  5. 前記試験用プログラムの更新不要部分を前記第2処理部に移行させる場合に、当該更新不要部分のプログラミング言語を、前記第1プログラミング言語から前記第2プログラミング言語に変換するステップを更に有する、請求項1乃至4のいずれか一項に記載のエンジンの試験方法。
  6. 前記第1プログラミング言語は、スクリプト言語であり、前記第2プログラミング言語は、C言語をコンパイルしたマシン語である、請求項1乃至5のいずれか一項に記載のエンジンの試験方法。
  7. エンジンの試験装置であって、
    プログラムを記憶するメモリと、このメモリに記憶されたプログラムを実行する少なくとも1以上のプロセッサとを含むコンピュータを有し、
    前記コンピュータの前記少なくとも1以上のプロセッサは、
    第1プログラミング言語にて動作する第1処理部において設定された、エンジンを種々の条件にて試験するための試験用プログラムを実行して、前記エンジンを運転させて、このときに得られた試験結果を取得し、
    前記試験用プログラムを前記第1処理部により繰り返し実行して、前記エンジンを運転させたときに取得された前記試験結果に基づき、前記試験用プログラムを更新し、
    前記試験用プログラムの更新が不要となった更新不要部分を抽出し、
    前記試験用プログラムの更新不要部分を、前記第1プログラミング言語よりも処理速度が速い第2プログラミング言語にて動作する第2処理部により実行させるべく、当該更新不要部分を前記第2処理部に移行させる、
    ように構成されていることを特徴とするエンジンの試験方法。
JP2019131167A 2019-07-16 2019-07-16 エンジンの試験方法及び試験装置 Active JP7293929B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019131167A JP7293929B2 (ja) 2019-07-16 2019-07-16 エンジンの試験方法及び試験装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019131167A JP7293929B2 (ja) 2019-07-16 2019-07-16 エンジンの試験方法及び試験装置

Publications (2)

Publication Number Publication Date
JP2021015088A JP2021015088A (ja) 2021-02-12
JP7293929B2 true JP7293929B2 (ja) 2023-06-20

Family

ID=74530565

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019131167A Active JP7293929B2 (ja) 2019-07-16 2019-07-16 エンジンの試験方法及び試験装置

Country Status (1)

Country Link
JP (1) JP7293929B2 (ja)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000330792A (ja) 1999-05-18 2000-11-30 Matsushita Electric Ind Co Ltd バイトコードプログラム実行制御システム
JP2002163238A (ja) 2000-11-28 2002-06-07 Fujitsu Ltd 情報処理方法および記録媒体
JP2004116351A (ja) 2002-09-25 2004-04-15 Fuji Heavy Ind Ltd 制御パラメータの最適化システム
WO2005041028A1 (ja) 2003-10-23 2005-05-06 Fujitsu Limited ソフトウェア開発ツールプログラム
JP2010078568A (ja) 2008-09-29 2010-04-08 A & D Co Ltd モデル駆動型計測制御データ管理システム
US20110214650A1 (en) 2010-03-02 2011-09-08 Gm Global Tecnology Operations, Inc. Engine-out nox virtual sensor for an internal combustion engine
JP2016142610A (ja) 2015-02-02 2016-08-08 マツダ株式会社 エンジンの試験方法及びエンジンの試験装置
JP2016224558A (ja) 2015-05-27 2016-12-28 株式会社キーエンス プログラム作成支援装置、制御方法およびプログラム
JP2017223229A (ja) 2016-06-17 2017-12-21 トヨタ モーター エンジニアリング アンド マニュファクチャリング ノース アメリカ,インコーポレイティド ディーゼルエンジンの空気経路フローのモデル予測制御のためのハイブリッド型パーシャル及びフルステップ二次ソルバ及び使用方法
JP2019053059A (ja) 2017-09-13 2019-04-04 エーブイエル・テスト・システムズ・インコーポレイテッド エンジンによって生じる排ガスの圧力に基づいてエンジンがオンであるかオフであるかを決定するためのシステム及び方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000330792A (ja) 1999-05-18 2000-11-30 Matsushita Electric Ind Co Ltd バイトコードプログラム実行制御システム
JP2002163238A (ja) 2000-11-28 2002-06-07 Fujitsu Ltd 情報処理方法および記録媒体
JP2004116351A (ja) 2002-09-25 2004-04-15 Fuji Heavy Ind Ltd 制御パラメータの最適化システム
WO2005041028A1 (ja) 2003-10-23 2005-05-06 Fujitsu Limited ソフトウェア開発ツールプログラム
JP2010078568A (ja) 2008-09-29 2010-04-08 A & D Co Ltd モデル駆動型計測制御データ管理システム
US20110214650A1 (en) 2010-03-02 2011-09-08 Gm Global Tecnology Operations, Inc. Engine-out nox virtual sensor for an internal combustion engine
JP2016142610A (ja) 2015-02-02 2016-08-08 マツダ株式会社 エンジンの試験方法及びエンジンの試験装置
JP2016224558A (ja) 2015-05-27 2016-12-28 株式会社キーエンス プログラム作成支援装置、制御方法およびプログラム
JP2017223229A (ja) 2016-06-17 2017-12-21 トヨタ モーター エンジニアリング アンド マニュファクチャリング ノース アメリカ,インコーポレイティド ディーゼルエンジンの空気経路フローのモデル予測制御のためのハイブリッド型パーシャル及びフルステップ二次ソルバ及び使用方法
JP2019053059A (ja) 2017-09-13 2019-04-04 エーブイエル・テスト・システムズ・インコーポレイテッド エンジンによって生じる排ガスの圧力に基づいてエンジンがオンであるかオフであるかを決定するためのシステム及び方法

Also Published As

Publication number Publication date
JP2021015088A (ja) 2021-02-12

Similar Documents

Publication Publication Date Title
US8256217B2 (en) System and method for determining acceleration of an internal combustion engine
US8251049B2 (en) Adaptive intake oxygen estimation in a diesel engine
JP6669637B2 (ja) 内燃機関の診断装置および診断方法、並びに、内燃機関の制御装置および制御方法
US10054069B2 (en) Method and apparatus for model based control of electrical boosting system
EP2963263B1 (en) Control device for internal combustion engine
WO2016145569A1 (en) Method and apparatus for controlling an internal combustion engine
US9885297B2 (en) Energy balance based boost control using feedback linearization
CN111742130B (zh) 内燃发动机系统、用于调节发动机的操作的方法和设备
JP5273183B2 (ja) 内燃機関の制御装置
CN102889124B (zh) 估计内燃机进气充量温度的系统和方法
US11655791B2 (en) Internal combustion engine control device
JP7293929B2 (ja) エンジンの試験方法及び試験装置
JP5949675B2 (ja) 内燃機関の熱発生率波形作成装置及び燃焼状態診断装置
Khan et al. Zero-dimensional modelling of a four-cylinder turbocharged diesel engine with variable compression ratio and its effects on emissions
US20130268178A1 (en) System and method for monitoring an engine and limiting cylinder air charge
Chung et al. Reduction of transient NOx emissions based on set-point adaptation of real-time combustion control for light-duty diesel engines
US10982600B2 (en) Method and device for controlling the residual gas mass remaining in the cylinder of an internal combustion engine after a gas exchange process and/or the purge air mass introduced during a gas exchange process
US7404394B2 (en) Method and device for operating an internal combustion engine
US20120303240A1 (en) Method for operating an internal combustion engine
JP6020499B2 (ja) 内燃機関の制御装置
Pinheiro et al. Simulating a complete performance map of an ethanol-fueled boosted HCCI engine
Galindo et al. Relevance of valve overlap for meeting Euro 5 soot emissions requirements during load transient process in heavy duty diesel engines
SE1951425A1 (en) Method and control arrangement for controlling egr
JP2018131950A (ja) 内燃機関の制御装置
Wu et al. Integrated simulation of engine performance and AFR control of a stoichiometric compression ignition (SCI) engine

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220621

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230428

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230509

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230522

R150 Certificate of patent or registration of utility model

Ref document number: 7293929

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150