以下、この発明の制御システムの好適な実施の形態につき図面を用いて説明する。各図において同一、または相当する部分については、同一符号を付して説明する。なお、以下のそれぞれの実施の形態では、この発明に係る制御システムが車両に搭載されている場合について説明する。
実施の形態1.
図1は、この発明の実施の形態1に係る制御システムを示すブロック構成図である。図1において、この制御システムは、車載ネットワーク(以下、単に、ネットワークと称する)100と、ネットワーク100に接続された第1種制御装置であるエンジン制御装置110と、第2種制御装置であるメータ制御装置120と、同じく第2種制御装置であるAT制御装置(AT:Automatic Transmission;自動変速機)130とを含んでいる。
なお、第2種制御装置は、メータ制御装置120、AT制御装置以外の他の制御装置を含んでいてもよい。エンジン制御装置110、メータ制御装置120およびAT制御装置130は、それぞれ制御対象であるエンジンユニット111およびメータユニット121、ATユニット131と接続されている。
次に、エンジン制御装置110の構成および機能について説明する。エンジン制御装置110は、データ送受信手段112と、演算実施通知手段113と、第1記憶手段である記憶手段114と、データ収集手段115と、第1制御量演算手段である制御量演算手段116と、比較手段117と、制御手段としてのエンジン制御手段118と、計時手段119を有している。ここで、制御量演算手段116は、マイコンで構成されている。また、エンジン制御装置110は、上記の各手段以外にも必要な構成物を有しているが、この実施の形態1に直接関係しないので、その説明を省略する。
データ送受信手段112は、ネットワーク100を介して、ネットワーク100に接続されたメータ制御装置120およびAT制御装置130を含む他の制御装置とデータを送受信する。演算実施通知手段113は、メータ制御装置120、AT制御装置130を含む他の制御装置に対して、制御対象であるエンジンの所定の制御としてのエンジン重要制御(以下,単に、エンジン重要制御と称する)の制御量演算を実施するか、停止するかの通知をネットワーク100を経由して送信する。記憶手段114は、後述する様々なデータを記憶する。
データ収集手段115は、エンジン制御のために必要なデータである制御用データを収集する。制御量演算手段116は、後述する処理手順に基づいて、エンジン制御に必要な制御量を演算する。比較手段117は、制御量演算手段116で演算された制御量と、ネットワーク100に接続された第2種制御装置であるメータ制御装置120、AT制御装置130から受信した制御量を比較する。エンジン制御手段118は、比較した結果に基づいて、エンジンユニット111の制御を実行する。計時手段119は、エンジン重要制御の制御量演算を実施する第2種制御装置が処理を実施している時間を計測する。
次に、第1種制御装置であるエンジン制御装置110に設けられた記憶手段114について、詳細に説明する。図2は、この発明の実施の形態1に係る制御システムにおける、エンジン制御装置の記憶手段の詳細を示す説明図である。図2において、記憶手段114は、予め記憶されたデータ以外のデータを記憶することができないROMエリア230と、データの記憶が可能なRAMエリア240とに分類される。
ROMエリア230は、その他のROMデータ231と、第1の制御量演算手順であるエンジン重要制御の制御量演算手順232と、エンジン通常制御の制御量演算手順233と、選択第2種制御装置リスト234から構成されている。以下の説明では、その他のROMデータ231は、この発明の実施の形態1に係る制御システム二は直接関係しないので、その説明を省略する。
エンジン重要制御の制御量演算手順232は、エンジンの重要制御に関する制御量の演算手順を示すものであり、エンジン通常制御の制御量演算手順233は、エンジンの通常制御に関する制御量の演算手順を示すものである。図3は、この発明の実施の形態1に係る制御システムにおける、エンジン制御装置の記憶手段に記録される選択第2種制御装置リストの詳細を示す説明図である。図3に示すように、選択第2種制御装置リスト234は、エンジン重要制御の制御量演算を実施する第2種制御装置を選択する順番を示したものである。なお、ここで、エンジンの重要制御とは、演算結果によって車両、ドライバ、車両周囲等を危険にさらす恐れのある制御であり、高い信頼性が求められる制御を指している。
図2において、RAMエリア240は、その他のRAMデータ241と、空き領域242と、演算に必要なデータ記憶領域243と、空き領域244とから構成されている。ここで、その他のRAMデータ241、空き領域242および空き領域244は、この発明の実施の形態1に係る制御システムに直接関係しないので、その説明を省略する。演算に必要なデータ記憶領域243は、エンジン重要制御の制御量演算に必要なデータを記憶しておく領域である。
次に図1に戻り、メータ制御装置120の構成および機能について説明する。図1に於いて、メータ制御装置120は、データ送受信手段122と、演算実施判断手段123と、第2記憶手段としての記憶手段124と、データ保存手段125と、第2制御量演算手段としての制御量演算手段126と、メータ制御手段127を有している。ここで、制御量演算手段126は、マイコンにより構成されている。また、メータ制御装置120は、上記の各手段以外にも必要な構成物を有しているが、この発明の実施の形態1に係る制御システムには直接関係しないので、その説明を省略する。
データ送受信手段122は、ネットワーク100を介して、ネットワーク100に接続されたエンジン制御装置110およびAT制御装置130を含む他の制御装置とデータを送受信する。演算実施判断手段123は、ネットワーク100を介したエンジン制御装置110からの通知に従って、エンジン重要制御の制御量演算の実施若しくは停止を判定する。記憶手段124は、後述する様々なデータを記憶する。
データ保存手段125は、エンジン制御装置110から受信したエンジン重要制御の制御量演算に必要なデータを記憶手段124に保存する。制御量演算手段126は、後述する処理手順に基づいて、メータ制御およびエンジン制御に必要な制御量を演算する。メータ制御手段127は、演算された制御量に基づいて、メータユニット121の制御を実行する。
次に、第2種制御装置であるメータ制御装置120に設けられた記憶手段124について、詳細に説明する。図4は、この発明の実施の形態1に係る制御システムにおける、メータ制御装置の記憶手段を詳細に示す説明図である。図4において、記憶手段124は、予め記憶されたデータ以外のデータを記憶することができないROMエリア330と、データの記憶が可能なRAMエリア340とに分類される。
ROMエリア330は、その他のROMデータ331と、エンジン重要制御の制御量演算手順232と、メータ制御の制御量演算手順333と、空き領域334とから構成されている。ここで、その他のROMデータ331および空き領域334は、この発明の実施の形態1に係る制御システムには直接関係しないので、その説明を省略する。
エンジン重要制御の制御量演算手順232は、エンジン重要制御の制御量演算手順を示すものであり、エンジン制御装置110の記憶手段114における前述のエンジン重要制御の制御量演算手順232と同一の内容を記憶している。メータ制御の制御量演算手順333は、メータ制御に関する制御量の演算手順を示すものである。
次に、RAMエリア340は、その他のRAMデータ341と、空き領域342と、演算に必要なデータ記憶領域343と、その他のRAMデータ344と、空き領域345から構成されている。ここで、その他のRAMデータ341、空き領域342、その他のRAMデータ344および空き領域345は、この発明の実施の形態1に係る制御システムに直接関係しないので、その説明を省略する。演算に必要なデータ記憶領域343は、エンジン重要制御の制御量演算に必要なデータを記憶しておく領域である。
次に、図1に戻って、AT制御装置130の構成および機能について説明する。AT制御装置130は、データ送受信手段132と、演算実施判断手段133と、第2記憶手段としての記憶手段134と、データ保存手段135と、第2制御量演算手段としての制御量演算手段136と、AT制御手段137を有している。ここで、制御量演算手段136は、マイコンで構成されている。また、AT制御装置130は、上記の各手段以外にも必要な構成物を有しているが、この発明の実施の形態1に係る制御システムには直接関係しないので、その説明を省略する。
データ送受信手段132は、ネットワーク100を介して、ネットワーク100に接続されたエンジン制御装置110およびメータ制御装置120を含む他の制御装置とデータを送受信する。演算実施判断手段133は、ネットワーク100を介したエンジン制御装置110からの通知に従って、エンジン重要制御の制御量演算の実施/停止を判定する。記憶手段134は、後述する様々なデータを記憶する。
データ保存手段135は、エンジン制御装置110から受信したエンジン重要制御の制御量演算に必要なデータを記憶手段134に保存する。制御量演算手段136は、後述する処理手順に基づいて、AT制御およびエンジン制御に必要な制御量を演算する。AT制御手段137は、演算された制御量に基づいて、ATユニット131の制御を実行する。
なお、図1において、データ送受信手段112とデータ送受信手段122とデータ送受信手段132とは、互いに同じものを用いてもよい。また同様に、図1において、演算実施判断手段123と演算実施判断手段133とは、互いに同じものを用いてもよい。
続いて、AT制御装置130の記憶手段134について、詳細に説明する。図5は、この発明の実施の形態1に係る制御システムにおける、AT制御装置の記憶手段を詳細に示す説明図である。図5において、記憶手段134は、予め記憶されたデータ以外のデータを記憶することができないROMエリア430と、データの記憶が可能なRAMエリア440とに分類される。
ROMエリア430は、その他のROMデータ431と、エンジン重要制御の制御量演算手順232と、AT制御の制御量演算手順433と、空き領域434とから構成されている。ここで、その他のROMデータ431および空き領域434は、この発明の実施の形態1に係る制御システムには直接関係しないので、その説明を省略する。
AT制御の制御量演算手順433は、ATの制御に関する制御量の演算手順を示すものである。エンジン重要制御の制御量演算手順232は、エンジン重要制御の制御量の演算手順を示すものであり、エンジン制御装置110の記憶手段114におけるエンジン重要制御の制御量演算手順232、およびメータ制御装置120の記憶手段124におけるエンジン重要制御の制御量演算手順232と同一の内容を記憶している。
また、RAMエリア440は、その他のRAMデータ441と、空き領域442と、演算に必要なデータ記憶領域443と、その他のRAMデータ444と、空き領域445とから構成されている。ここで、その他のRAMデータ441、空き領域442、その他のRAMデータ444および空き領域445は、この発明の実施の形態1に係る制御システムには直接関係しないので、その説明を省略する。演算に必要なデータ記憶領域443は、エンジン重要制御の制御量演算に必要なデータを記憶しておく領域である。
次に、エンジン制御装置110の動作について説明する。エンジン制御装置110は、エンジン重要制御の制御量演算に関わる重要処理と、それ以外となる通常処理を実施する。重要処理は、必要な度に、繰り返し実行される。通常処理は、重要処理に比べて優先度が低く、重要処理を実施していない時間に実施されるものとする。なお、通常処理は、この発明の実施の形態1に係る制御システムには直接関係しないので、その説明を省略する。
以下、エンジン制御装置における重要処理の流れについて説明する。図6は、この発明の実施の形態1に係る制御システムに於ける、エンジン制御装置の動作を示すフローチャートである。図6に示すフローチャートは、エンジン重要制御に関する重要処理ごとに実施される。
図6において、ステップS501では、計時手段119が、その時点で選択しているエンジン重要制御の制御量演算を実施する第2種制御装置、例えばメータ制御装置120若しくはAT制御装置130、の演算実施時間を確認する。この演算実施時間が規定時間以下の場合は、ステップS504へ進み、規定時間より大きい場合は、ステップS502へ進む。
ステップS502では、演算実施通知手段113が、これまでエンジン重要制御の制御量演算を実施していた第2種制御装置に対して、エンジン重要制御の制御量演算の停止を通知し、記憶手段114の中に保存されている選択第2種制御装置リスト234に従って、次に選択される第2種制御装置に対して、エンジン重要制御の制御量演算の実施を通知する。つまり、制御量演算を実施する第2種制御装置の変更を、図3に示す選択第2種制御装置リストの順序に基づいて行なう。
ステップS503では、計時手段119が、ステップS502で選択した第2種制御装置の演算実施時間を初期値にリセットする。
ステップS504では、データ収集手段115が、エンジン重要制御の制御量演算に必要なデータを収集し、収集したデータを記憶手段114の演算に必要なデータ記憶領域243に記憶する。
ステップS505では、データ送受信手段112が、エンジン重要制御の制御量演算に必要なデータを選択しているエンジン重要制御の制御量演算を実施する第2種制御装置に送信する。ここで、計時手段119が、選択している第2種制御装置の演算実施時間測定を始める。演算時間の測定は、これまでの測定していた時間に加算する形で実施する。
ステップS506では、制御量演算手段116が、記憶手段114における演算に必要なデータ記憶領域243に記憶されたエンジン重要制御の制御量演算に必要なデータと、エンジン重要制御の制御量演算手順232とに基づいて、エンジン重要制御の制御量を演算する。
ステップS507では、データ送受信手段112が、選択しているエンジン重要制御の制御量演算を実施する第2種制御装置から送信されたエンジン重要制御の制御量を受信する。ここで、計時手段119が、選択している第2種制御装置の演算実施時間測定を止める。
ステップS508では、比較手段117が、現時点のエンジン制御装置110の動作モードを確認する。動作モードが通常モードなら、ステップS509に進み、動作モードが故障モードであるのであれば、ステップS517に進む。ここで、通常モードとはこれまでに異常を検出していないことを示し、故障モードとはエンジン制御装置110自身の異常を検出していることを示す。
ステップS509では、比較手段117が、ステップS506で演算されたエンジン重要制御の制御量と、ステップS507受信したエンジン重要制御の制御量とを比較し、同じであればステップS516に進み、異なればステップS510へ進む。
ステップS510では、演算実施通知手段113が、これまでエンジン重要制御の制御量演算を実施していた第2種制御装置に対して、エンジン重要制御の制御量演算の停止を通知し、記憶手段114の中に保存されている選択第2種制御装置リスト234に従って、次に選択される第2種制御装置に対して、エンジン重要制御の制御量演算の実施を通知する。つまり、制御量演算を実施する第2種制御装置の変更を、図3に示す選択第2種制御装置リストの順序に基づいて行なう。
ステップS511では、計時手段119が、ステップS510で選択した第2種制御装置の演算実施時間を初期値にリセットする。
ステップS512では、データ送受信手段112が、エンジン重要制御の制御量演算に必要なデータを、選択したエンジン重要制御の制御量演算を実施する第2種制御装置に送信する。ここで、計時手段119が、前述の選択した第2種制御装置の演算実施時間測定を始める。演算時間の測定は、これまでの測定していた時間に加算する形で実施する。
ステップS513では、データ送受信手段112が、選択している重要制御の制御量演算を実施する第2種制御装置から送信されたエンジン重要制御に関する制御量を受信する。 ここで、計時手段119が、選択している第2種制御装置の演算実施時間測定を止める。
ステップS514では、比較手段117が、ステップS506で演算したエンジン重要制御の制御量と、ステップS513で受信したエンジン重要制御の制御量とを比較し、同じであれば、ステップS516に進み、異なれば、ステップS515へ進む。
ステップS515では、比較手段117が、比較結果が再び異なったことにより、エンジン制御装置110自身に異常があること判断し、エンジン制御装置110の動作モードを故障モードに設定する。
ステップS515に続く次のステップS517では、エンジン制御手段118は、エンジンユニット111の制御を実行しない。
一方、ステップS516では、エンジン制御装置110におけるエンジン制御手段118が、受信したエンジン重要制御の制御量と同じとなったエンジン重要制御の制御量に基づいて、エンジンユニット111の制御を実行する。
次に、第2種制御装置であるメータ制御装置120の動作に関して説明する。図1および図4において、メータ制御装置120は、記憶手段124に記憶されているメータ制御の制御量演算手順333に基づいて、メータユニット121を制御する為に必要な通常処理を実施している。しかし、エンジン制御装置110により、エンジン重要制御の制御量演算を実施する第2種制御装置に選択つまり指定されているときに、エンジン制御装置110から、エンジン重要制御の制御量の演算に必要なデータをデータ送受信手段122が受信すれば、その受信したデータを記憶手段124の演算に必要なデータ記憶領域343に記憶する。そして、記憶手段124に記憶されたエンジン重要制御の制御量演算に必要なデータと、エンジン重要制御の制御量演算手順232に基づいて、エンジン重要制御の制御量を演算する。次にデータ送受信手段122により、エンジン制御装置110へ演算したエンジン重要制御の制御量を送信する。これら、エンジン重要制御の制御量に関わる処理は最優先で実施する。
メータ制御装置120の演算実施判断手段123は、エンジン制御装置110の演算実施通知手段113から重要制御の制御量演算の実施通知を受けている場合には、エンジン重要制御の制御量演算を実施する第2種制御装置に指定されていると判断し、停止通知を受けている場合には指定されていないと判断する。
次にAT制御装置130の動作に関して説明する。図1および図5において、AT制御装置130は、記憶手段134に記憶されているAT制御の制御量演算手順433に基づいて、ATユニット131を制御する為に必要な通常処理を実施している。しかし、エンジン制御装置110により、重要制御の制御量演算を実施する第2種制御装置に選択つまり指定されているときは、エンジン制御装置110から、エンジン重要制御の制御量の演算に必要なデータをデータ送受信手段132が受信すれば、受信したデータを記憶手段134の演算に必要なデータ記憶領域443に記憶する。そして、記憶手段134に記憶されたエンジン重要制御の制御量演算に必要なデータと、エンジン重要制御の制御量演算手順232に基づいて、エンジン重要制御に関する制御量を演算する。次にデータ送受信手段132により、エンジン制御装置110へ演算したエンジン重要制御の制御量を送信する。これら、エンジン重要制御の制御量に関わる処理は最優先で実施する。
AT制御装置130の演算実施判断手段133は、エンジン制御装置110の演算実施通知手段113から重要制御の制御量演算の実施通知を受けている場合には、エンジン重要制御の制御量演算を実施する第2種制御装置に指定されていると判断し、停止通知を受けている場合には指定されていないと判断する。
続いて、エンジン制御装置110の制御量演算手段116、メータ制御装置120の制御量演算手段126、AT制御装置130の制御量演算手段136に異常がなく、エンジン重要制御に関する制御量が正確に演算される場合の制御システムの動作を、図6のフローチャートに従って説明する。まずは、メータ制御装置120がエンジン重要制御の制御量演算を実施する第2種制御装置に指定されているとする。また、エンジン制御装置110の動作モードはこれまでに異常を検出していないことを示す通常モードとする。
まず、エンジン重要制御の制御量演算に関わる重要処理を開始すると、ステップS501において、エンジン制御装置110の計時手段119は、選択しているメータ制御装置120の演算実施時間を確認する。ここでは、演算実施時間は規定値以下と判断する。
次に、ステップS504において、エンジン制御装置110のデータ収集手段115は、エンジン重要制御の制御量演算に必要なデータを収集し、収集したデータを記憶手段114の演算に必要なデータ記憶領域243に記憶する。
続いて、ステップS505において、データ送受信手段112は、エンジン重要制御の制御量演算に必要なデータをメータ制御装置120に送信する。ここで、計時手段119は、メータ制御装置120の演算実施時間測定を始める。一方で、メータ制御装置120は、データ送受信手段122がエンジン制御装置110から、エンジン重要制御の制御量演算に必要なデータを受信したので、受信したデータを記憶手段124の演算に必要なデータ記憶領域343に記憶する。
次に、ステップS506において、エンジン制御装置110の制御量演算手段116は、記憶手段114に記憶されたエンジン重要制御の制御量演算に必要なデータと、エンジン重要制御の制御量演算手順232に基づいて、エンジン重要制御の制御量を演算する。一方で、メータ制御装置120は、制御量演算手段126が、記憶手段124に記憶されたエンジン重要制御に関する制御量の演算に必要なデータと、エンジン重要制御の制御量演算手順232に基づいて、エンジン重要制御の制御量を演算する。そして、データ送受信手段122が、エンジン制御装置110へエンジン重要制御の制御量を送信する。
続いて、ステップS507において、データ送受信手段112は、メータ制御装置120から送信されたエンジン重要制御の制御量を受信する。ここで、計時手段119は、メータ制御装置120の演算実施時間測定を止める。
次に、ステップS508において、比較手段117は、エンジン制御装置110の動作モードを確認する。ここでは、動作モードが通常モードである。
続いて、ステップS509において、比較手段117は、自身で演算したエンジン重要制御の制御量と、メータ制御装置120から受信したエンジン重要制御の制御量を比較する。ここでは、比較結果は同じとなる。
次に、ステップS516では、エンジン制御手段118が、同じとなったエンジン重要制御の制御量に基づいて、エンジンユニット111の制御を実行する。
このような制御システムの動作により、エンジン重要制御の制御量演算は、第2種制御装置として選択しているメータ制御装置120でも実施し、その制御量を比較し、比較結果が同じであれば、同じとなった制御量に基づいてエンジンユニット111の制御を継続することができる。
続いて、前述と同様にエンジン制御装置110の制御量演算手段116、メータ制御装置120の制御量演算手段126、AT制御装置130の制御量演算手段136に異常がなく、エンジン重要制御の制御量が正確に演算される場合の制御システムの動作において、エンジン重要制御の制御量演算を実施するメータ制御装置120の演算実施時間が規定時間を超えている場合の動作を図6のフローチャートに従って説明する。
まず、エンジン重要制御の制御量演算に関わる重要処理を開始すると、ステップS501において、エンジン制御装置110の計時手段119は、選択しているメータ制御装置120の演算実施時間を確認する。ここでは、演算実施時間は規定値を超えていると判断する。
次に、ステップS502において、エンジン制御装置110における演算実施通知手段113は、メータ制御装置120に対して、エンジン重要制御の制御量演算の停止を通知し、記憶手段114に保存されている図3に示す選択第2種制御装置リスト234に従って、次に選択するAT制御装置130に対して、エンジン重要制御の制御量演算の実施を通知する。ここで、メータ制御装置120の演算実施判断手段123は、エンジン制御装置110の演算実施通知手段113からエンジン重要制御の制御量演算の停止通知を受けたため、エンジン重要制御の制御量演算を実施する第2種制御装置に指定されていないと判断する。また、AT制御装置130の演算実施判断手段133は、エンジン制御装置110の演算実施通知手段113からエンジン重要制御の制御量演算の実施通知を受けたため、エンジン重要制御の制御量演算を実施する第2種制御装置に指定されていると判断する。
続いて、ステップS503において、計時手段119は、AT制御装置130の演算実施時間を初期値にリセットする。
次に、ステップS504において、データ収集手段115は、エンジン重要制御の制御量演算に必要なデータを収集し、収集したデータを記憶手段114の演算に必要なデータ記憶領域243に記憶する。
続いて、ステップS505に進み、エンジン制御装置におけるデータ送受信手段112は、エンジン重要制御の制御量演算に必要なデータをAT制御装置130に送信する。ここで、計時手段119は、AT制御装置130の演算実施時間測定を始める。一方で、AT制御装置130は、エンジン制御装置110から、エンジン重要制御の制御量の演算に必要なデータをデータ送受信手段132が受信したので、受信したデータを記憶手段134の演算に必要なデータ記憶領域443に記憶する。
次に、ステップS506では、エンジン制御装置110における制御量演算手段116が、記憶手段114に記憶されたエンジン重要制御の制御量演算に必要なデータと、エンジン重要制御の制御量演算手順232に基づいて、エンジン重要制御の制御量を演算する。一方で、AT制御装置130は、記憶手段144に記憶されたエンジン重要制御の制御量演算に必要なデータと、エンジン重要制御の制御量演算手順232に基づいて、エンジン重要制御の制御量を演算する。そして、データ送受信手段132により、エンジン制御装置110へエンジン重要制御の制御量を送信する。
続いて、ステップS507では、エンジン制御装置110におけるデータ送受信手段112が、AT制御装置130から送信されたエンジン重要制御の制御量を受信する。ここで、計時手段119は、AT制御装置130の演算実施時間測定を止める。
なお、これ以降は、ステップS508、ステップS509、ステップS516と処理を進めるが、これらは前述と同じ処理内容の為、説明を省略する。
このような制御システムの動作により、エンジン重要制御の制御量演算は、第2種制御装置として選択しているメータ制御装置120でも実施し、規定の処理時間を越えると別の第2種制御装置であるAT制御装置130に切り替えて演算し、その制御量を比較して比較結果が同じであれば、同じとなった制御量に基づいてエンジンユニット111の制御を継続することができる。
続いて、エンジン制御装置110の制御量演算手段116に異常があり、エンジン重要制御の制御量が正確に演算されない場合の制御システムの動作を、図6のフローチャートに従って説明する。まず、メータ制御装置120がエンジン重要制御の制御量演算を実施する第2種制御装置に指定されているとする。また、エンジン制御装置110の動作モードはこれまでに異常を検出していないことを示す通常モードとする。
エンジン制御装置110の処理は、ステップS501、ステップS504、ステップS505、ステップS506、ステップS507、ステップS508と進む。これらの処理は、前述した異常がない場合と同じ為、説明を省略する。
続いて、ステップS509において、エンジン制御装置110における比較手段117は、自身で演算したエンジン重要制御の制御量と、メータ制御装置120から受信したエンジン重要制御の制御量とを比較する。ここでは、制御量演算手段116に異常があり、エンジン重要制御の制御量が正確に演算されていないため、比較結果は異なることとなる。
次に、ステップS510において、エンジン制御装置110の演算実施通知手段113は、メータ制御装置120に対して、エンジン重要制御の制御量演算の停止を通知し、記憶手段114の中に保存されている選択第2種制御装置リスト234に従って、次に選択するAT制御装置130に対して、エンジン重要制御の制御量演算の実施を通知する。ここで、メータ制御装置120の演算実施判断手段123は、エンジン制御装置110の演算実施通知手段113からエンジン重要制御の制御量演算の停止通知を受けたため、エンジン重要制御の制御量演算を実施する第2種制御装置に指定されていないと判断する。一方で、AT制御装置130の演算実施判断手段133は、エンジン制御装置110の演算実施通知手段113からエンジン重要制御の制御量演算の実施通知を受けたため、エンジン重要制御の制御量演算を実施する第2種制御装置に指定されていると判断する。
続いて、ステップS511に進み、計時手段119は、AT制御装置130の演算実施時間を初期値にリセットする。次に、ステップS512では、データ送受信手段112が、エンジン重要制御の制御量の演算に必要なデータをAT制御装置130に送信する。ここで、計時手段119は、AT制御装置130の演算実施時間測定を始める。一方で、AT制御装置130では、データ送受信手段132がエンジン制御装置110から、エンジン重要制御の制御量の演算に必要なデータを受信したので、受信したデータを記憶手段134の演算に必要なデータ記憶領域443に記憶する。次に記憶手段134に記憶されたエンジン重要制御の制御量演算に必要なデータと、エンジン重要制御の制御量演算手順232に基づいて、エンジン重要制御の制御量を演算する。そして、データ送受信手段132により、エンジン制御装置110へエンジン重要制御の制御量を送信する。
続いて、ステップS513では、エンジン制御装置110におけるデータ送受信手段112が、AT制御装置130から送信されたエンジン重要制御の制御量を受信する。ここで、計時手段119は、AT制御装置130の演算実施時間測定を止める。
次に、ステップS514において、エンジン制御装置110における比較手段117は、自身で演算したエンジン重要制御の制御量と、AT制御装置130から受信したエンジン重要制御の制御量を比較する。ここでは、制御量演算手段116に異常があり、エンジン重要制御の制御量が正確に演算されていないため、再び比較結果は異なることとなる。
続いて、ステップS515において、比較手段117は、比較結果が再び異なったことにより、自身の制御装置に異常があること判断し、エンジン制御装置110の動作モードを故障モードに設定する。
次に、ステップS517において、エンジン制御手段118は、エンジンユニット111の制御を実行しない。
このような制御システムの動作により、エンジン重要制御の制御量演算は、第2種制御装置として選択しているメータ制御装置120でも実施し、その制御量を比較し、比較結果が異なるときは、別の第2種制御装置であるAT制御装置130に制御量演算を実施させて、その制御量を再び比較させることで異常がある制御装置を特定し、それが自身の制御装置であれば、エンジンユニット111の制御を実行しないようにすることができる。
続いて、メータ制御装置120の制御量演算手段126に異常があり、エンジン重要制御の制御量が正確に演算されない場合の制御システムの動作を、図6のフローチャートに従って説明する。まず、メータ制御装置120が重要制御の制御量演算を実施する第2種制御装置に指定されているとする。また、エンジン制御装置110の動作モードはこれまでに異常を検出していないことを示す通常モードとする。
エンジン制御装置110の処理は、ステップS501、ステップS504、ステップS505、ステップS506、ステップS507、ステップS508、ステップS509、ステップS510、ステップS511、ステップS512、ステップS513と進む。このとき、ステップS510においてAT制御装置130が第2種制御装置に選択されている。これらは前述したエンジン制御装置110の制御量演算手段116に異常がある場合と同じ為、説明を省略する。
次に、ステップS514において、比較手段117は、自身で演算したエンジン重要制御の制御量と、AT制御装置130から受信したエンジン重要制御の制御量とを比較する。ここでは、エンジン制御装置110の制御量演算手段116とAT制御装置130の制御量演算手段136には異常がないので、エンジン重要制御の制御量は正確に演算されており、比較結果が同じとなる。
続いて、ステップS516では、エンジン制御手段118が、同じとなったエンジン重要制御の制御量に基づいて、エンジンユニット111の制御を実行する。
このような制御システムの動作により、エンジン重要制御の制御量演算は、第2種制御装置であるメータ制御装置120でも実施し、その制御量を比較し、比較結果が異なるときは、別の第2種制御装置であるAT制御装置130に制御量演算を実施させて、その制御量を再び比較し、比較結果により異常がある制御装置を特定し、それが自身の制御装置で無ければ、同じとなった制御量に基づいてエンジンユニット111の制御を継続することができる。
このように、この発明の実施の形態1に係る制御システムは、エンジン制御装置110の比較手段117で比較したエンジン重要制御の制御量が第2種制御装置であるメータ制御装置120が演算したエンジン重要制御の制御量と同じであると判定された場合に、同じとなった重要制御の制御量に基づいて、エンジンユニット111を制御し、比較手段117で比較したエンジン重要制御の制御量が異なると判定された場合に、別の第2種制御装置であるAT制御装置130が演算したエンジン重要制御の制御量と再び比較し、その結果が同じとなる場合には、先に比較した第2種制御装置に異常があると判断し、同じとなった重要制御の制御量に基づいて、エンジンユニット111を制御し、異なる場合には、自身の制御装置に異常があると判断して、エンジンユニット111を制御しないことで、制御の信頼性を向上させることができる。
また、この発明の実施の形態1に係る制御システムは、それぞれ別の制御対象と制御処理をもつメータ制御装置120やAT制御装置130が実施したエンジン重要制御の制御量を使って、異常がある演算結果を演算した制御装置を特定するといったように、異常検出の為だけのCPUや制御装置を準備することがないので、余分なコストを抑えて、エンジン重要制御の信頼性を確保することができる。
さらにまた、この発明の実施の形態1に係る制御システムは、エンジン制御装置110が計時手段119を持つことで、エンジン重要制御の制御量演算実施に選択された第2種制御装置の演算時間を正確に把握することができ、演算実施時間を発生する負荷として、その負荷に応じて第2種制御装置を切り替えることで、1つの第2種制御装置だけに連続してエンジン重要制御の制御量演算による負荷をかけることなく負荷を分散して、エンジン重要制御の信頼性を確保することができる。
また、この発明の実施の形態1に係る制御システムは、エンジン制御装置110が選択第2種制御装置リスト234を持つことで、第2種制御装置を意図的に選択することができ、予め通常制御の負荷が高いと判明している第2種制御装置を選択肢から外すことや、選択される回数を減らすことで第2種制御装置に発生する負荷を事前調整しながら、エンジン重要制御の信頼性を確保することができる
以上のように、この発明の実施の形態1に係る制御システムによれば、ネットワークに接続された第1種制御装置および複数の第2種制御装置において、第1種制御装置は、ネットワークを介してデータの送受信を行うデータ送受信手段と、自身の制御対象に対する重要制御の制御量の演算に必要な制御用データを収集し、第1記憶手段に記憶するデータ収集手段と、重要制御の制御量を演算するための第1の制御量演算手順、および制御用データを記憶する第1記憶手段と、第1記憶手段に記憶された第1の制御量演算手順および制御用データに基づいて、重要制御の制御量を演算する第1制御量演算手段と、第1制御量演算手段で演算された重要制御の制御量と、第2種制御装置で演算された重要制御の制御量とを比較する比較手段と、比較手段での比較結果に応じて制御対象を制御する制御手段と、ネットワーク経由で所定の第2種制御装置に重要制御の制御量の演算実施と演算停止を通知する演算実施通知手段と、時間の経過を検出する時間検出手段と、重要制御の制御量を演算する第2制御装置の順番を記録する制御装置演算リストを有し、第2種制御装置は、ネットワークを介してデータの送受信を行うデータ送受信手段と、第1種制御装置からネットワークを介して受信した制御用データを第2記憶手段に記憶する制御用データ保存手段と、第1の制御量演算手順、および制御用データを記憶する第2記憶手段と、記憶された第1の制御量演算手順および制御用データに基づいて、重要制御の制御量を演算する第2制御量演算手段と、演算先指示手段の指示に従って、重要制御の制御量の演算実施と演算停止を判断する演算実施判断手段とを有する。
そのため、制御装置内に同機能のマイコンを2個設けたり、別の異常検出用の制御装置を2つ設けたりするといった制御システムの規模を大きくすること無く、第1種制御装置で演算された重要制御に関する制御量と、第2種制御装置で演算された重要制御に関する制御量とを比較検証し、比較結果が同じときはその値で制御を実施し、比較結果が異なるときは別の第2種制御装置に変更して、比較検証を実施し、その結果に基づいて実施の制御対象を制御するか、制御しないかを判断することにより、制御の信頼性を確保することができる制御システムを得ることができる。
また、異常検出の為だけのCPUや制御装置を準備することがないので余分なコストを抑えて、制御の信頼性を確保する制御システムを得ることができる。
実施の形態2.
次に、この発明の実施の形態2に係る制御システムについて説明する。図7は、この発明の実施の形態2に係る制御システムを示すブロック構成図である。図7に示す制御システムにおけるネットワークシステムのノード構成において、前述の図1に示す実施の形態1に係る制御システムにおけるネットワークシステムのノード構成と同一符号で示す部分は、それぞれ同一機能を有するものであり、その説明は省略する。
図7において、この制御システムは、実施の形態1と同様にネットワーク100を介して第1種制御装置であるエンジン制御装置110、第2種制御装置であるメータ制御装置120、および第2種制御装置であるAT制御装置130が接続されており、それぞれの制御装置は、制御対象であるエンジンユニット111およびメータユニット121、ATユニット131と接続されている。
エンジン制御装置110は、実施回数計測手段610を有している。実施回数計測手段610は、選択している第2種制御装置のエンジン重要制御の制御量演算実施回数をカウントする。
次に、エンジン制御装置110の記憶手段114について、詳細に説明する。図8は、この発明の実施の形態2に係る制御システムにおける、エンジン制御装置の記憶手段の詳細を示す説明図であり、前述の実施の形態1における図2と同一符号のものは、同一機能を有するものである為、説明は省略する。RAMエリア240には、第2種制御装置選択回数リスト651を保有している。第2種制御装置選択回数リスト651には、エンジン重要制御の制御量演算を実施する第2種制御装置の選択回数が保存され、第2種制御装置を切り替えるたびに更新される。
次に、エンジン制御装置110の動作に関して説明する。エンジン制御装置110は、エンジン重要制御の制御量演算に関わる重要処理と、それ以外となる通常処理を実施する。重要処理は、必要な度に、繰り返し実行される。通常処理は、重要処理に比べて優先度が低く、重要処理を実施していない時間に実施されるものとする。通常処理は、この発明の実施の形態2に係る制御システムには直接関係しないので、その説明は省略する。
以下、この発明の実施の形態2に係る制御システムにおける重要処理の流れについて説明する。図9は、この発明の実施の形態2に係る制御システムに於ける、エンジン制御装置の動作を示すフローチャートである。図9に示すフローチャートは、重要処理であるエンジン重要制御に関する処理ごとに実施される。なお、実施の形態1における図6と同一符号のものは、同一処理を実施するものである。
ステップS701では、実施回数計測手段610が、その時点で選択しているエンジン重要制御の制御量演算を実施する第2種制御装置の演算実施回数を確認する。この演算実施回数が規定回数以下の場合は、ステップS504へ進み、規定回数より大きい場合は、ステップS702へ進む。
ステップS702では、エンジン制御装置110に於ける演算実施通知手段113が、これまでエンジン重要制御の制御量演算を実施していた第2種制御装置に対して、エンジン重要制御の制御量演算の停止を通知し、記憶手段114の中に保存されている第2種制御装置選択回数リスト651を更新するとともに、第2種制御装置選択回数リスト651に従って、次に選択される第2種制御装置に対して、エンジン重要制御の制御量演算の実施を通知する。
ステップS703では、実施回数計測手段610が、選択している第2種制御装置のエンジン重要制御の制御量演算実施回数を初期値にリセットする。
ステップS704では、データ送受信手段112が、エンジン重要制御の制御量演算に必要なデータを選択しているエンジン重要制御の制御量演算を実施する第2種制御装置に送信する。
ステップS705では、データ送受信手段112が、選択しているエンジン重要制御の制御量演算を実施する第2種制御装置から送信されたエンジン重要制御の制御量を受信する。ここで、実施回数計測手段610が、選択している第2種制御装置の演算実施回数を1つ増加させる。
次に、ステップS508では、比較手段117が、現時点のエンジン制御装置110の動作モードを確認する。動作モードが通常モードなら、ステップS509に進み、動作モードが故障モードであるのであれば、ステップS710に進む。ここで、通常モードとはこれまでに異常を検出していないことを示し、故障モードとはエンジン制御装置110自身の異常を検出していることを示す。
ステップS509では、比較手段117が、ステップS506で演算されたエンジン重要制御の制御量と、ステップS507受信したエンジン重要制御の制御量とを比較し、同じであればステップS516に進み、異なればステップS706へ進む。
ステップS706では、演算実施通知手段113が、これまでエンジン重要制御の制御量演算を実施していた第2種制御装置に対して、エンジン重要制御の制御量演算の停止を通知し、記憶手段114の中に保存されている第2種制御装置選択回数リスト651を更新するとともに、第2種制御装置選択回数リスト651に従って、次に選択される第2種制御装置に対して、エンジン重要制御の制御量演算の実施を通知する。
ステップS707では、実施回数計測手段610が、選択している第2種制御装置のエンジン重要制御の制御量演算実施回数を初期値にリセットする。
ステップS708では、データ送受信手段112が、エンジン重要制御の制御量演算に必要なデータを選択しているエンジン重要制御の制御量演算を実施する第2種制御装置に送信する。
ステップS709では、データ送受信手段112が、選択しているエンジン重要制御の制御量演算を実施する第2種制御装置から送信されたエンジン重要制御の制御量を受信する。ここで、実施回数計測手段610が、選択している第2種制御装置の演算実施回数を1つ増加させる。
一方、ステップS508またはステップS515からステップS710に進んだ場合、ステップS710では、エンジン制御手段118は、選択しているエンジン重要制御の制御量演算を実施する第2種制御装置から送信されたエンジン重要制御の制御量に基づいて、エンジンユニット111の制御を実行する。
なお、メータ制御装置120の動作とAT制御装置130の動作は実施の形態1と同じ為、説明は省略する。
続いて、エンジン制御装置110の制御量演算手段116、メータ制御装置120の制御量演算手段126、AT制御装置130の制御量演算手段136に異常がなく、エンジン重要制御に関する制御量が正確に演算される場合の制御システムの動作を、図9のフローチャートに従って説明する。まず、メータ制御装置120がエンジン重要制御の制御量演算を実施する第2種制御装置に指定されているとする。また、エンジン制御装置110の動作モードはこれまでに異常を検出していないことを示す通常モードとする。
まず、エンジン重要制御の制御量演算に関わる重要処理を開始すると、ステップS701において、エンジン制御装置110の実施回数計測手段610は、選択しているメータ制御装置120の演算実施回数を確認する。ここでは、演算実施回数は規定値以下と判断する。
次に、ステップS504において、データ収集手段115は、エンジン重要制御の制御量演算に必要なデータを収集し、収集したデータを記憶手段114の演算に必要なデータ記憶領域243に記憶する。
続いて、ステップS704において、データ送受信手段112は、エンジン重要制御の制御量演算に必要なデータをメータ制御装置120に送信する。一方で、メータ制御装置120は、データ送受信手段122がエンジン制御装置110から、エンジン重要制御の制御量演算に必要なデータを受信したので、受信したデータを記憶手段124の演算に必要なデータ記憶領域343に記憶する。
次に、ステップS506において、制御量演算手段116は、記憶手段114に記憶されたエンジン重要制御の制御量演算に必要なデータと、エンジン重要制御の制御量演算手順232に基づいて、エンジン重要制御の制御量を演算する。一方で、メータ制御装置120は、制御量演算手段126が、記憶手段124に記憶されたエンジン重要制御に関する制御量の演算に必要なデータと、エンジン重要制御の制御量演算手順232に基づいて、エンジン重要制御の制御量を演算する。そして、データ送受信手段122が、エンジン制御装置110へエンジン重要制御の制御量を送信する。
続いて、ステップS705において、データ送受信手段112は、メータ制御装置120から送信されたエンジン重要制御の制御量を受信する。ここで、実施回数計測手段610は、メータ制御装置120の演算実施時間回数を1つ増やす。
次に、ステップS508において、比較手段117は、エンジン制御装置110の動作モードを確認する。ここでは、動作モードが通常モードである。
続いて、ステップS509において、比較手段117は、自身で演算したエンジン重要制御の制御量と、メータ制御装置120から受信したエンジン重要制御の制御量を比較する。ここでは、比較結果は同じとなる。
次に、ステップS516では、エンジン制御手段118が、同じとなったエンジン重要制御の制御量に基づいて、エンジンユニット111の制御を実行する。
このような制御システムの動作により、エンジン重要制御の制御量演算は、第2種制御装置として選択しているメータ制御装置120でも実施し、その制御量を比較し、比較結果が同じであれば、同じとなった制御量に基づいてエンジンユニット111の制御を継続することができる。
続いて、前述と同様にエンジン制御装置110の制御量演算手段116、メータ制御装置120の制御量演算手段126、AT制御装置130の制御量演算手段136に異常がなく、エンジン重要制御の制御量が正確に演算される場合の制御システムの動作において、エンジン重要制御の制御量演算を実施するメータ制御装置120の演算実施時間が規定回数を超えている場合の動作を図9のフローチャートに従って説明する。ここでは、第2種制御装置選択回数リスト651には、メータ制御装置120の選択回数2、AT制御装置130の選択回数2が記録されている。
まず、エンジン重要制御の制御量演算に関わる重要処理を開始すると、ステップS701において、エンジン制御装置110の実施回数計測手段610は、選択しているメータ制御装置120の演算実施回数を確認する。ここでは、演算実施回数は規定値を超えていると判断する。
続いて、ステップS702において、エンジン制御装置110の演算実施通知手段113は、メータ制御装置120に対して、エンジン重要制御の制御量演算の停止を通知し、記憶手段114に保存されている第2種制御装置選択回数リスト651のメータ制御装置120の選択回数を2から3に更新する。そして、第2種制御装置選択回数リスト651に従って、選択回数が2回と一番少ないAT制御装置130を選択して、エンジン重要制御の制御量演算の実施を通知する。ここで、メータ制御装置120の演算実施判断手段123は、エンジン制御装置110の演算実施通知手段113からエンジン重要制御の制御量演算の停止通知を受けたため、エンジン重要制御の制御量演算を実施する第2種制御装置に指定されていないと判断する。また、AT制御装置130の演算実施判断手段133は、エンジン制御装置110の演算実施通知手段113からエンジン重要制御の制御量演算の実施通知を受けたため、エンジン重要制御の制御量演算を実施する第2種制御装置に指定されていると判断する。
次に、ステップS703において、実施回数計測手段610は、AT制御装置130の演算実施回数を初期値にリセットする。
続いて、ステップS504において、データ収集手段115は、エンジン重要制御の制御量演算に必要なデータを収集し、収集したデータを記憶手段114の演算に必要なデータ記憶領域243に記憶する。
次に、ステップS704において、データ送受信手段112は、エンジン重要制御の制御量演算に必要なデータをAT制御装置130に送信する。一方で、AT制御装置130は、エンジン制御装置110から、エンジン重要制御の制御量の演算に必要なデータをデータ送受信手段132が受信したので、受信したデータを記憶手段134の演算に必要なデータ記憶領域443に記憶する。
続いて、ステップS506では、制御量演算手段116が、記憶手段114に記憶されたエンジン重要制御の制御量演算に必要なデータと、エンジン重要制御の制御量演算手順232に基づいて、エンジン重要制御の制御量を演算する。一方で、AT制御装置130は、記憶手段144に記憶されたエンジン重要制御の制御量演算に必要なデータと、エンジン重要制御の制御量演算手順232に基づいて、エンジン重要制御の制御量を演算する。そして、データ送受信手段142により、エンジン制御装置110へエンジン重要制御の制御量を送信する。
次に、ステップS705では、データ送受信手段112が、AT制御装置130から送信されたエンジン重要制御の制御量を受信する。ここで、実施回数計測手段610は、AT制御装置130の演算実施時間回数を1つ増やす。
なお、これ以降は、ステップS508、ステップS509、ステップS516と処理を進めるが、これらは前述と同じ処理内容の為、説明を省略する。
このような制御システムの動作により、エンジン重要制御の制御量演算は、第2種制御装置として選択しているメータ制御装置120でも実施し、規定の演算回数を越えると、第2種制御装置選択回数リスト651に従って選択回数が一番少ない第2種制御装置であるAT制御装置130に切り替えて演算し、その制御量を比較して比較結果が同じであれば、同じとなった制御量に基づいてエンジンユニット111の制御を継続することができる。
続いて、エンジン制御装置110の制御量演算手段116に異常があり、エンジン重要制御の制御量が正確に演算されない場合の制御システムの動作を、図9のフローチャートに従って説明する。まず、メータ制御装置120がエンジン重要制御の制御量演算を実施する第2種制御装置に指定されているとする。また、エンジン制御装置110の動作モードはこれまでに異常を検出していないことを示す通常モードとする。ここでは、第2種制御装置選択回数リスト651には、メータ制御装置120の選択回数2、AT制御装置130の選択回数2が記録されている。
エンジン制御装置110の処理は、ステップS701、ステップS504、ステップS704、ステップS506、ステップS705、ステップS508と進む。これらの処理は、前述した異常がない場合と同じ為、説明を省略する。
続いて、ステップS509において、比較手段117は、自身で演算したエンジン重要制御の制御量と、メータ制御装置120から受信したエンジン重要制御の制御量を比較する。ここでは、制御量演算手段116に異常があり、エンジン重要制御の制御量が正確に演算されていないため、比較結果は異なることとなる。
次に、ステップS706において、エンジン制御装置110は、演算実施通知手段113により、メータ制御装置120に対して、エンジン重要制御の制御量演算の停止を通知し、記憶手段114に保存されている第2種制御装置選択回数リスト651のメータ制御装置120の選択回数を2から3に更新する。そして、第2種制御装置選択回数リスト651に従って、選択回数が2回と一番少ないAT制御装置130を選択して、エンジン重要制御の制御量演算の実施を通知する。ここで、メータ制御装置120の演算実施判断手段123は、エンジン制御装置110の演算実施通知手段113からエンジン重要制御の制御量演算の停止通知を受けたため、エンジン重要制御の制御量演算を実施する第2種制御装置に指定されていないと判断する。また、AT制御装置130の演算実施判断手段133は、エンジン制御装置110の演算実施通知手段113からエンジン重要制御の制御量演算の実施通知を受けたため、エンジン重要制御の制御量演算を実施する第2種制御装置に指定されていると判断する。
続いて、ステップS707において、実施回数計測手段610は、AT制御装置130の演算実施回数を初期値にリセットする。
次に、ステップS708では、データ送受信手段112が、エンジン重要制御の制御量の演算に必要なデータをAT制御装置130に送信する。一方で、AT制御装置130では、データ送受信手段132がエンジン制御装置110から、エンジン重要制御の制御量の演算に必要なデータを受信したので、受信したデータを記憶手段134の演算に必要なデータ記憶領域443に記憶する。次に、記憶手段134に記憶されたエンジン重要制御の制御量演算に必要なデータと、エンジン重要制御の制御量演算手順232に基づいて、エンジン重要制御の制御量を演算する。そして、データ送受信手段132により、エンジン制御装置110へエンジン重要制御の制御量を送信する。
続いて、ステップS709では、データ送受信手段112が、AT制御装置130から送信されたエンジン重要制御の制御量を受信する。ここで、実施回数計測手段610は、AT制御装置130の演算実施時間回数を1つ増やす。
次に、ステップS514において、比較手段117は、自身で演算したエンジン重要制御の制御量と、AT制御装置130から受信したエンジン重要制御の制御量を比較する。ここでは、制御量演算手段116に異常があり、エンジン重要制御の制御量が正確に演算されていないため、再び比較結果は異なることとなる。
続いて、ステップS515において、比較手段117は、比較結果が再び異なったことにより、自身の制御装置に異常があること判断し、エンジン制御装置110の動作モードを故障モードに設定する。
次に、ステップS710において、エンジン制御手段118は、選択しているエンジン重要制御の制御量演算を実施するAT制御装置130から送信されたエンジン重要制御の制御量に基づいて、エンジンユニット111の制御を実行する。
このような制御システムの動作により、エンジン重要制御の制御量演算は、第2種制御装置として選択しているメータ制御装置120でも実施し、その制御量を比較し、比較結果が異なるときは、別の第2種制御装置であるAT制御装置130に制御量演算を実施させて、その制御量を再び比較させることで異常がある制御装置を特定し、それが自身の制御装置であれば、第2種制御装置から受信する制御量に基づいてエンジンユニット111の制御を実行することができる。
続いて、メータ制御装置120の制御量演算手段126に異常があり、エンジン重要制御の制御量が正確に演算されない場合の制御システムの動作を、図9のフローチャートに従って説明する。まず、メータ制御装置120が重要制御の制御量演算を実施する第2種制御装置に指定されているとする。また、エンジン制御装置110の動作モードはこれまでに異常を検出していないことを示す通常モードとする。ここでは、第2種制御装置選択回数リスト651には、メータ制御装置120の選択回数2、AT制御装置130の選択回数2が記録されている。
エンジン制御装置110の処理は、ステップS701、ステップS504、ステップS704、ステップS506、ステップS705、ステップS508、ステップS509、ステップS706、ステップS707、ステップS708、ステップS709と進む。このときステップS706においてAT制御装置130が第2種制御装置に選択されている。これらは前述したエンジン制御装置110の制御量演算手段116に異常がある場合と同じ為、説明を省略する。
次に、ステップS514において、エンジン制御装置110の比較手段117は、自身で演算したエンジン重要制御の制御量と、AT制御装置130から受信したエンジン重要制御の制御量を比較する。ここでは、エンジン制御装置110の制御量演算手段116とAT制御装置120の制御量演算手段136には異常がないので、エンジン重要制御の制御量は正確に演算されており、比較結果が同じとなる。
続いて、ステップS516では、エンジン制御手段118が、同じとなったエンジン重要制御の制御量に基づいて、エンジンユニット111の制御を実行する。
このような制御システムの動作により、エンジン重要制御の制御量演算は、第2種制御装置であるメータ制御装置120でも実施し、その制御量を比較し、比較結果が異なるときは、別の第2種制御装置であるAT制御装置130に制御量演算を実施させて、その制御量を再び比較し、比較結果により異常がある制御装置を特定し、それが自身の制御装置で無ければ、同じとなった制御量に基づいてエンジンユニット111の制御を継続することができる。
このように、この発明の実施の形態2に係る制御システムは、エンジン制御装置110の比較手段117で比較したエンジン重要制御の制御量が第2種制御装置であるメータ制御装置120が演算したエンジン重要制御の制御量と同じであると判定された場合に、同じとなった重要制御の制御量に基づいて、エンジンユニット111を制御し、比較手段117で比較したエンジン重要制御の制御量が異なると判定された場合に、別の第2種制御装置であるAT制御装置130が演算したエンジン重要制御の制御量と再び比較し、その結果が同じとなる場合には、先に比較した第2種制御装置に異常があると判断し、同じとなった重要制御の制御量に基づいて、エンジンユニット111を制御し、異なる場合には、自身の制御装置に異常があると判断して、第2種制御装置から受信したエンジン重要制御の制御量に基づいて、エンジンユニット111を制御することで、制御の信頼性を向上させることができる。
また、この発明の実施の形態2に係る制御システムは、それぞれ別の制御対象と制御処理をもつメータ制御装置120やAT制御装置130が実施したエンジン重要制御の制御量を使って、異常がある演算結果を演算した制御装置を特定するなどのように、異常検出の為だけのCPUや制御装置を準備することがないので、余分なコストを抑えて、エンジン重要制御の信頼性を確保することができる。
さらにまた、この発明の実施の形態2に係る制御システムは、エンジン制御装置110が実施回数計測手段610を持つことで、エンジン重要制御の制御量演算実施に選択された第2種制御装置の演算回数を把握することができ、簡易的に演算実施回数を発生する負荷とみなして、その負荷に応じて第2種制御装置を切り替えることで、1つの第2種制御装置だけに連続してエンジン重要制御の制御量演算による負荷をかけることなく負荷を分散して、エンジン重要制御の信頼性を確保することができる。
また、この発明の実施の形態2に係る制御システムは、エンジン制御装置110が第2種制御装置選択回数リスト651を持つことで、特定の第2種制御装置だけにエンジン重要制御の制御量演算による負荷をかけるのではなく、選択回数に応じて第2種制御装置を切り替えて負荷を分散することができ、制御システムとして第2種制御装置にかかる負荷を均一になるようにしながら、エンジン重要制御の信頼性を確保することができる。
以上のように、この発明の実施の形態2に係る制御システムによれば、ネットワークに接続された第1種制御装置および複数の第2種制御装置において、第1種制御装置は、ネットワークを介してデータの送受信を行うデータ送受信手段と、自身の制御対象に対する重要制御の制御量の演算に必要な制御用データを収集し、第1記憶手段に記憶するデータ収集手段と、重要制御の制御量を演算するための第1の制御量演算手順、および制御用データを記憶する第1記憶手段と、第1記憶手段に記憶された第1の制御量演算手順および制御用データに基づいて、重要制御の制御量を演算する第1制御量演算手段と、第1制御量演算手段で演算された重要制御の制御量と、第2種制御装置で演算された重要制御の制御量とを比較する比較手段と、比較手段での比較結果に応じて制御対象を制御する制御手段と、ネットワーク経由で所定の第2種制御装置に重要制御の制御量の演算実施と演算停止を通知する演算実施通知手段と、選択している第2種制御装置のエンジン重要制御の制御量演算実施回数をカウントする実施回数計測手段と、重要制御の制御量を演算する第2制御装置の選択回数を保存する第2種制御装置選択回数リストを有し、第2種制御装置は、ネットワークを介してデータの送受信を行うデータ送受信手段と、第1種制御装置からネットワークを介して受信した制御用データを第2記憶手段に記憶する制御用データ保存手段と、第1の制御量演算手順、および制御用データを記憶する第2記憶手段と、記憶された第1の制御量演算手順および制御用データに基づいて、重要制御の制御量を演算する第2制御量演算手段と、演算先指示手段の指示に従って、重要制御の制御量の演算実施と演算停止を判断する演算実施判断手段とを有する。
そのため、制御装置内に同機能のマイコンを2個設けたり、別の異常検出用の制御装置を2つ設けたりするといった制御システムの規模を大きくすること無く、第1種制御装置で演算された重要制御に関する制御量と、第2種制御装置で演算された重要制御に関する制御量とを比較検証し、比較結果が同じときはその値で制御を実施し、比較結果が異なるときは別の第2種制御装置に変更して、比較検証を実施し、その結果に基づいて実施の制御対象を制御するか、制御しないかを判断することにより、制御の信頼性を確保することができる制御システムを得ることができる。
また、異常検出の為だけのCPUや制御装置を準備することがないので余分なコストを抑えて、制御の信頼性を確保する制御システムを得ることができる。
実施の形態3.
次に、この発明の実施の形態3に係る制御システムについて説明する。図10は、この発明の実施の形態3に係る制御システムを示すブロック構成図である。図10に示す制御システムにおけるネットワークシステムのノード構成において、前述の図1に示す実施の形態1に係る制御システムにおけるネットワークシステムのノード構成と同一符号で示す部分は、それぞれ同一機能を有するものであり、その説明は省略する。
図10において、この制御システムは、実施の形態1に係る制御システムと同様に、ネットワーク100を介して第1種制御装置としてのエンジン制御装置110と、第2種制御装置としてのメータ制御装置120およびAT制御装置130が接続されており、更に、第2種制御装置としての電動パワーステアリング(EPS:Electric Power Steering)制御装置140が接続されている。それぞれの制御装置は、制御対象であるエンジンユニット111およびメータユニット121、ATユニット131、EPSユニット141と接続されている。
次に、エンジン制御装置110の記憶手段114について、詳細に説明する。図11は、この発明の実施の形態3に係る制御システムにおける、エンジン制御装置の記憶手段の詳細を示す説明図である。前述の実施の形態1における図2と同じ符号のものは、同じ機能を有するものである為、説明は省略する。ROMエリア230には、エンジン重要制御の予備制御量851を保有している。エンジン重要制御の予備制御量851は、緊急時などに使用するエンジンを本来の制御ではなく安全な範囲で動かすためのエンジンの重要制御の制御量である。RAMエリア240には、演算量不一致第2種制御装置リスト861を保有している。演算量不一致第2種制御装置リスト861には、エンジン重要制御の制御量演算を比較した結果が不一致となった第2種制御装置が保存される。
つぎに、図10に戻って、メータ制御装置120とAT制御装置130とEPS制御装置140の構成および機能について説明する。メータ制御装置120は、変更指示手段820と制御量演算状況検出手段821を有している。変更指示手段820は、制御量演算状況検出手段821が検出する自身にかかる処理負荷から判断して、エンジン制御装置110に対して別の第2種制御装置を選択するように指示を出す。
さらに、AT制御装置130は、変更指示手段830と制御量演算状況検出手段831を有している。変更指示手段830は、制御量演算状況検出手段831が検出する自身にかかる処理負荷から判断して、エンジン制御装置110に対して別の第2種制御装置を選択するように指示を出す。
EPS制御装置140は、データ送受信手段142と、演算実施判断手段143と、第2記憶手段としての記憶手段144と、データ保存手段145と、第2制御量演算手段としての制御量演算手段146と、EPS制御手段147と、変更指示手段840と、制御量演算状況検出手段841を有している。また、制御量演算手段146は、マイコンで構成されている。また、EPS制御装置140は、上記の各手段以外にも必要な構成物を有しているが、この実施の形態3に直接関係しないので、その説明を省略する。
データ送受信手段142は、ネットワーク100を介して、ネットワーク100に接続されたエンジン制御装置110、メータ制御装置120、およびAT制御装置130を含む他の制御装置とデータを送受信する。演算実施判断手段143は、ネットワーク100を介したエンジン制御装置110からの通知に従って、エンジン重要制御の制御量演算の実施/停止を判定する。記憶手段144は、後述する様々なデータを記憶する。
データ保存手段145は、エンジン制御装置110から受信したエンジン重要制御の制御量演算に必要なデータを記憶手段144に保存する。制御量演算手段146は、後述する処理手順に基づいて、EPS制御およびエンジン制御に必要な制御量を演算する。EPS制御手段147は、演算された制御量に基づいて、EPSユニット141の制御を実行する。変更指示手段840は、制御量演算状況検出手段841が検出する自身にかかる処理負荷から判断して、エンジン制御装置110に対して別の第2種制御装置を選択するように指示を出す。
次に、EPS制御装置140の記憶手段144について、詳細に説明する。図12は、この発明の実施の形態3に係る制御システムにおける、EPS制御装置の記憶手段を詳細に示す説明図である。図12において、記憶手段144は、予め記憶されたデータ以外のデータを記憶することができないROMエリア530と、データの記憶が可能なRAMエリア540に分類される。
ROMエリア530は、その他のROMデータ531と、エンジン重要制御の制御量演算手順232と、空き領域533、EPS制御の制御量演算手順534から構成されている。ここで、その他のROMデータ531および空き領域533は、この実施の形態3に直接関係しないので、その説明を省略する。
記憶手段144におけるエンジン重要制御の制御量演算手順232は、エンジン重要制御の制御量演算手順を示すものであり、記憶手段114と記憶手段124と記憶手段134とで同じものを記憶している。EPS制御の制御量演算手順534は、EPSの制御に関する制御量の演算手順を示すものである。
また、RAMエリア540は、その他のRAMデータ541と、空き領域542と、演算に必要なデータ記憶領域543と、その他のRAMデータ544と、空き領域545から構成されている。ここで、その他のRAMデータ541、空き領域542、その他のRAMデータ544および空き領域545は、この実施の形態3に直接関係しないので、その説明を省略する。演算に必要なデータ記憶領域543は、エンジン重要制御の制御量演算に必要なデータを記憶しておく領域である。
なお、図10において、変更指示手段820と変更指示手段830と変更指示手段840とは、互いに同じものを用いてもよい。また、制御量演算状況検出手段821と制御量演算状況検出手段831と制御量演算状況検出手段841とは、互いに同じものを用いてもよい。
次に、エンジン制御装置110の動作に関して説明する。エンジン制御装置110は、エンジン重要制御の制御量演算に関わる重要処理と、それ以外となる通常処理を実施する。重要処理は、必要な度に、繰り返し実行される。通常処理は、重要処理に比べて優先度が低く、重要処理を実施していない時間に実施されるものとする。通常処理は、この実施の形態3に直接関係しないので、その説明は省略する。
以下、この発明の実施の形態3に係る制御システムにおける重要処理の流れについて説明する。図13は、この発明の実施の形態3に係る制御システムに於ける、エンジン制御装置の動作を示すフローチャートである。図13に示すフローチャートは、重要処理であるエンジン重要制御に関する処理ごとに実施される。なお、実施の形態1における図6、実施の形態2における図9と同じ符号のものは、同じ処理を実施するものである為、説明は省略する。
図13において、ステップS901では、演算実施通知手段113が、その時点で選択しているエンジン重要制御の制御量演算を実施する第2種制御装置から変更指示が届いていないかを確認する。届いている場合は、ステップS902へ進み、届いていない場合は、ステップS504へ進む。
ステップS902では、演算実施通知手段113が、これまでエンジン重要制御の制御量演算を実施していた第2種制御装置に対して、エンジン重要制御の制御量演算の停止を通知し、演算量不一致第2種制御装置リスト861に従って、次に選択される第2種制御装置に対して、エンジン重要制御の制御量演算の実施を通知する。
ステップS903では、データ送受信手段112が、選択しているエンジン重要制御の制御量演算を実施する第2種制御装置から送信されたエンジン重要制御の制御量を受信する。
ステップS904では、演算実施通知手段113が、これまでエンジン重要制御の制御量演算を実施していた第2種制御装置に対して、エンジン重要制御の制御量演算の停止を通知し、演算量不一致第2種制御装置リスト861に従って、次に選択される第2種制御装置に対して、エンジン重要制御の制御量演算の実施を通知する。
ステップS905では、データ送受信手段112が、選択しているエンジン重要制御の制御量演算を実施する第2種制御装置から送信されたエンジン重要制御の制御量を受信する。
ステップS906では、比較手段117は、比較結果が異なった1つ前に選択していた第2種制御装置を、演算量不一致第2種制御装置リスト861に追加する。
ステップS907では、エンジン制御手段118は、予め準備しておいたエンジン重要制御の予備制御量851に基づいて、エンジンユニット111の制御を実行する。
次に、メータ制御装置120の動作に関して説明する。メータ制御装置120は、記憶手段124に記憶されている通常メータ制御の制御量演算手順333に基づいて、メータユニット121を制御する為に必要な通常処理を実施している。しかし、エンジン重要制御の制御量演算を実施する第2種制御装置に指定されているときに、エンジン制御装置110から、エンジン重要制御の制御量の演算に必要なデータをデータ送受信手段122が受信すれば、受信したデータを記憶手段124の演算に必要なデータ記憶領域343に記憶する。そして、記憶手段124に記憶されたエンジン重要制御の制御量演算に必要なデータと、エンジン重要制御の制御量演算手順232に基づいて、エンジン重要制御の制御量を演算する。次にデータ送受信手段122により、エンジン制御装置110へエンジン重要制御の制御量を送信する。これら、エンジン重要制御の制御量に関わる処理は最優先で実施する。ただし、制御量演算状況検出手段821がエンジン重要制御の制御量に関わる処理の実施により処理負荷が高くなることを検出すれば、変更指示手段820により、エンジン制御装置110に対して、別の第2種制御装置を選択するように指示を出す。
メータ制御装置120の演算実施判断手段123は、エンジン制御装置110の演算実施通知手段113から重要制御の制御量演算の実施通知を受けている場合には、エンジン重要制御の制御量演算を実施する第2種制御装置に指定されていると判断し、停止通知を受けている場合には指定されていないと判断する。
次に、AT制御装置130の動作に関して説明する。AT制御装置130は、記憶手段134に記憶されている通常AT制御の制御量演算手順433に基づいて、ATユニット131を制御する為に必要な通常処理を実施している。しかし、重要制御の制御量演算を実施する第2種制御装置に指定されているときは、エンジン制御装置110から、エンジン重要制御の制御量の演算に必要なデータをデータ送受信手段132が受信すれば、受信したデータを記憶手段134の演算に必要なデータ記憶領域443に記憶する。そして、記憶手段134に記憶されたエンジン重要制御の制御量演算に必要なデータと、エンジン重要制御の制御量演算手順232に基づいて、エンジン重要制御に関する制御量を演算する。次にデータ送受信手段132により、エンジン制御装置110へエンジン重要制御の制御量を送信する。これら、エンジン重要制御の制御量に関わる処理は最優先で実施する。ただし、制御量演算状況検出手段831がエンジン重要制御の制御量に関わる処理の実施により処理負荷が高くなることを検出すれば、変更指示手段830により、エンジン制御装置110に対して、別の第2種制御装置を選択するように指示を出す。
AT制御装置130の演算実施判断手段133は、エンジン制御装置110の演算実施通知手段113から重要制御の制御量演算の実施通知を受けている場合には、エンジン重要制御の制御量演算を実施する第2種制御装置に指定されていると判断し、停止通知を受けている場合には指定されていないと判断する。
次に、EPS制御装置140の動作に関して説明する。EPS制御装置140は、記憶手段144に記憶されている通常EPS制御の制御量演算手順534に基づいて、EPSユニット141を制御する為に必要な通常処理を実施している。しかし、エンジン重要制御の制御量演算を実施する第2種制御装置に指定されているときに、エンジン制御装置110から、エンジン重要制御の制御量の演算に必要なデータをデータ送受信手段142が受信すれば、受信したデータを記憶手段144の演算に必要なデータ記憶領域543に記憶する。そして、記憶手段144に記憶されたエンジン重要制御の制御量演算に必要なデータと、エンジン重要制御の制御量演算手順232に基づいて、エンジン重要制御の制御量を演算する。次にデータ送受信手段142により、エンジン制御装置110へエンジン重要制御の制御量を送信する。これら、エンジン重要制御の制御量に関わる処理は最優先で実施する。ただし、制御量演算状況検出手段841がエンジン重要制御の制御量に関わる処理の実施により処理負荷が高くなることを検出すれば、変更指示手段840により、エンジン制御装置110に対して、別の第2種制御装置を選択するように指示を出す。
EPS制御装置140の演算実施判断手段143は、エンジン制御装置110の演算実施通知手段113から重要制御の制御量演算の実施通知を受けている場合には、エンジン重要制御の制御量演算を実施する第2種制御装置に指定されていると判断し、停止通知を受けている場合には指定されていないと判断する。
続いて、エンジン制御装置110の制御量演算手段116、メータ制御装置120の制御量演算手段126、AT制御装置130の制御量演算手段136、EPS制御装置140の制御量演算手段146に異常がなく、エンジン重要制御に関する制御量が正確に演算される場合の制御システムの動作を、図13のフローチャートに従って説明する。まず、メータ制御装置120がエンジン重要制御の制御量演算を実施する第2種制御装置に指定されており、制御量演算状況検出手段821は処理負荷が高いと判断しておらず、エンジン制御装置110に対して第2種制御装置の変更を指示していないとする。また、エンジン制御装置110の動作モードはこれまでに異常を検出していないことを示す通常モードとする。
まず、エンジン重要制御の制御量演算に関わる重要処理を開始すると、ステップS901では、エンジン制御装置110の演算実施通知手段113が、選択しているメータ制御装置120から変更指示が届いていいないかを確認する。ここでは、変更指示は届いていないと判断する。
次に、ステップS504において、データ収集手段115は、エンジン重要制御の制御量演算に必要なデータを収集し、収集したデータを記憶手段114の演算に必要なデータ記憶領域243に記憶する。
続いて、ステップS704において、データ送受信手段112は、エンジン重要制御の制御量演算に必要なデータをメータ制御装置120に送信する。一方で、メータ制御装置120は、データ送受信手段122がエンジン制御装置110から、エンジン重要制御の制御量演算に必要なデータを受信したので、受信したデータを記憶手段124の演算に必要なデータ記憶領域343に記憶する。
次に、ステップS506において、制御量演算手段116は、記憶手段114に記憶されたエンジン重要制御の制御量演算に必要なデータと、エンジン重要制御の制御量演算手順232に基づいて、エンジン重要制御の制御量を演算する。一方で、メータ制御装置120は、制御量演算手段126が、記憶手段124に記憶されたエンジン重要制御に関する制御量の演算に必要なデータと、エンジン重要制御の制御量演算手順232に基づいて、エンジン重要制御の制御量を演算する。そして、データ送受信手段122が、エンジン制御装置110へエンジン重要制御の制御量を送信する。
続いて、ステップS903において、データ送受信手段112は、メータ制御装置120から送信されたエンジン重要制御の制御量を受信する。
次に、ステップS508において、比較手段117は、エンジン制御装置110の動作モードを確認する。ここでは、動作モードが通常モードである。
続いて、ステップS509において、比較手段117は、自身で演算したエンジン重要制御の制御量と、メータ制御装置120から受信したエンジン重要制御の制御量を比較する。ここでは、比較結果は同じとなる。
次に、ステップS516では、エンジン制御手段118が、同じとなったエンジン重要制御の制御量に基づいて、エンジンユニット111の制御を実行する。
このような制御システムの動作により、エンジン重要制御の制御量演算は、第2種制御装置として選択しているメータ制御装置120でも実施し、その制御量を比較し、比較結果が同じであれば、同じとなった制御量に基づいてエンジンユニット111の制御を継続することができる。
続いて、前述と同様にエンジン制御装置110の制御量演算手段116、メータ制御装置120の制御量演算手段126、AT制御装置130の制御量演算手段136、EPS制御装置140の制御量演算手段146に異常がなく、エンジン重要制御の制御量が正確に演算される場合の制御システムの動作において、メータ制御装置120から第2種制御装置変更指示を出ている場合の動作を図13のフローチャートに従って説明する。ここでは、演算量不一致第2種制御装置リスト861には、メータ制御装置120の不一致回数0、AT制御装置130の不一致回数1、EPS制御装置140の不一致回数0が記録されている。
まず、エンジン重要制御の制御量演算に関わる重要処理を開始すると、ステップS901では、エンジン制御装置110の演算実施通知手段113が、選択しているメータ制御装置120から変更指示が届いていいないかを確認する。ここでは、メータ制御装置120は自身の処理負荷が大きくなってきていることから、変更指示手段840がエンジン制御装置110に対して変更指示を出しているため、演算実施通知手段113は変更指示が届いていると判断する。
続いて、ステップS902において、エンジン制御装置110は、演算実施通知手段113により、メータ制御装置120に対して、エンジン重要制御の制御量演算の停止を通知する。そして、演算量不一致第2種制御装置リスト861から、不一致回数が1のAT制御装置130ではなく、不一致回数が0のEPS制御装置140を選択して、エンジン重要制御の制御量演算の実施を通知する。ここで、メータ制御装置120の演算実施判断手段123は、エンジン制御装置110の演算実施通知手段113からエンジン重要制御の制御量演算の停止通知を受けたため、エンジン重要制御の制御量演算を実施する第2種制御装置に指定されていないと判断する。また、EPS制御装置140の演算実施判断手段143は、エンジン制御装置110の演算実施通知手段113からエンジン重要制御の制御量演算の実施通知を受けたため、エンジン重要制御の制御量演算を実施する第2種制御装置に指定されていると判断する。
次に、ステップS504において、データ収集手段115は、エンジン重要制御の制御量演算に必要なデータを収集し、収集したデータを記憶手段114の演算に必要なデータ記憶領域243に記憶する。
続いて、ステップS704において、データ送受信手段112は、エンジン重要制御の制御量演算に必要なデータをEPS制御装置140に送信する。一方で、EPS制御装置140は、エンジン制御装置110から、エンジン重要制御の制御量の演算に必要なデータをデータ送受信手段142が受信したので、受信したデータを記憶手段144の演算に必要なデータ記憶領域543に記憶する。
続いて、ステップS506では、制御量演算手段116が、記憶手段114に記憶されたエンジン重要制御の制御量演算に必要なデータと、エンジン重要制御の制御量演算手順232に基づいて、エンジン重要制御の制御量を演算する。一方で、EPS制御装置140は、記憶手段144に記憶されたエンジン重要制御の制御量演算に必要なデータと、エンジン重要制御の制御量演算手順232に基づいて、エンジン重要制御の制御量を演算する。そして、データ送受信手段142により、エンジン制御装置110へエンジン重要制御の制御量を送信する。
次に、ステップS903では、データ送受信手段112が、EPS制御装置140から送信されたエンジン重要制御の制御量を受信する。
なお、これ以降は、ステップS508、ステップS509、ステップS516と処理を進めるが、これらは前述と同じ処理内容の為、説明を省略する。
このような制御システムの動作により、エンジン重要制御の制御量演算は、第2種制御装置であるメータ制御装置120でも実施し、第2種制御装置から変更指示があると、演算量不一致第2種制御装置リスト861に従って不一致を出していないことから信頼性が高い第2種制御装置であるEPS制御装置140に切り替えて演算し、その制御量を比較して比較結果が同じであれば、同じとなった制御量に基づいてエンジンユニット111の制御を継続することができる。
続いて、エンジン制御装置110の制御量演算手段116に異常があり、エンジン重要制御の制御量が正確に演算されない場合の制御システムの動作を、図13のフローチャートに従って説明する。まず、メータ制御装置120がエンジン重要制御の制御量演算を実施する第2種制御装置に指定されており、制御量演算状況検出手段821は処理負荷が高いと判断しておらず、エンジン制御装置110に対して第2種制御装置の変更を指示していないとする。また、エンジン制御装置110の動作モードはこれまでに異常を検出していないことを示す通常モードとする。ここでは、演算量不一致第2種制御装置リスト861には、メータ制御装置120の不一致回数0、AT制御装置130の不一致回数1、EPS制御装置140の不一致回数0が記録されている。
エンジン制御装置110の処理は、ステップS901、ステップS504、ステップS704、ステップS506、ステップS903、ステップS508と進む。これらの処理は、前述した異常がない場合と同じ為、説明を省略する。
次に、ステップS509において、比較手段117は、自身で演算したエンジン重要制御の制御量と、メータ制御装置120から受信したエンジン重要制御の制御量を比較する。ここでは、制御量演算手段116に異常があり、エンジン重要制御の制御量が正確に演算されていないため、比較結果は異なることとなる。
続いて、ステップS904において、エンジン制御装置110は、演算実施通知手段113により、メータ制御装置120に対して、エンジン重要制御の制御量演算の停止を通知する。そして、演算量不一致第2種制御装置リスト861から、不一致回数が1のAT制御装置130ではなく、不一致回数が0のEPS制御装置140を選択して、エンジン重要制御の制御量演算の実施を通知する。ここで、メータ制御装置120の演算実施判断手段123は、エンジン制御装置110の演算実施通知手段113からエンジン重要制御の制御量演算の停止通知を受けたため、エンジン重要制御の制御量演算を実施する第2種制御装置に指定されていないと判断する。また、EPS制御装置140の演算実施判断手段143は、エンジン制御装置110の演算実施通知手段113からエンジン重要制御の制御量演算の実施通知を受けたため、エンジン重要制御の制御量演算を実施する第2種制御装置に指定されていると判断する。
続いて、ステップS708では、データ送受信手段112が、エンジン重要制御の制御量の演算に必要なデータをEPS制御装置140に送信する。一方で、EPS制御装置140は、エンジン制御装置110から、エンジン重要制御の制御量の演算に必要なデータをデータ送受信手段142が受信したので、受信したデータを記憶手段144の演算に必要なデータ記憶領域543に記憶する。次に記憶手段144に記憶されたエンジン重要制御の制御量演算に必要なデータと、エンジン重要制御の制御量演算手順232に基づいて、エンジン重要制御の制御量を演算する。そして、データ送受信手段142により、エンジン制御装置110へエンジン重要制御の制御量を送信する。
次に、ステップS905では、データ送受信手段112が、EPS制御装置140から送信されたエンジン重要制御の制御量を受信する。
続いて、ステップS514において、比較手段117は、自身で演算したエンジン重要制御の制御量と、EPS制御装置140から受信したエンジン重要制御の制御量を比較する。ここでは、制御量演算手段116に異常があり、エンジン重要制御の制御量が正確に演算されていないため、再び比較結果は異なることとなる。
次に、ステップS515において、比較手段117は、比較結果が再び異なったことにより、自身の制御装置に異常があること判断し、エンジン制御装置110の動作モードを故障モードに設定する。
続いて、ステップS907において、エンジン制御手段118は、エンジン制御手段118は、予め準備しておいたエンジン重要制御の予備制御量851に基づいて、エンジンユニット111の制御を実行する。
このような制御システムの動作により、エンジン重要制御の制御量演算は、第2種制御装置であるメータ制御装置120でも実施し、その制御量を比較し、比較結果が異なるときは、別の第2種制御装置であるEPS制御装置140に制御量演算を実施させて、その制御量を再び比較させることで異常がある制御装置を特定し、それが自身の制御装置であれば、予め準備しておいたエンジン重要制御の予備制御量に基づいてエンジンユニット111の制御を実行することができる。
続いて、メータ制御装置120の制御量演算手段126に異常があり、エンジン重要制御の制御量が正確に演算されない場合の制御システムの動作を、図13のフローチャートに従って説明する。まず、メータ制御装置120が重要制御の制御量演算を実施する第2種制御装置に指定されており、制御量演算状況検出手段821は処理負荷が高いと判断しておらず、エンジン制御装置110に対して第2種制御装置の変更を指示していないとする。また、エンジン制御装置110の動作モードはこれまでに異常を検出していないことを示す通常モードとする。ここでは、演算量不一致第2種制御装置リスト861には、メータ制御装置120の不一致回数0、AT制御装置130の不一致回数1、EPS制御装置140の不一致回数0が記録されている。
エンジン制御装置110の処理は、ステップS901、ステップS504、ステップS704、ステップS506、ステップS903、ステップS508、ステップS509、ステップS904、ステップS708、ステップS905と進む。このときステップS904においてEPS制御装置140が第2種制御装置に選択されている。これらは前述したエンジン制御装置110の制御量演算手段116に異常がある場合と同じ為、説明を省略する。
次に、ステップS514において、比較手段117は、自身で演算したエンジン重要制御の制御量と、EPS制御装置140から受信したエンジン重要制御の制御量を比較する。ここでは、エンジン制御装置110の制御量演算手段116とEPS制御装置140の制御量演算手段146には異常がないので、エンジン重要制御の制御量は正確に演算されており、比較結果が同じとなる。
続いて、ステップS906において、比較手段117は、比較結果が異なった1つ前に選択していたメータ制御装置120を、演算量不一致第2種制御装置リスト861に追加する。ここでは、メータ制御装置120の不一致回数0から1に変更する。
次に、ステップS516では、エンジン制御手段118が、同じとなったエンジン重要制御の制御量に基づいて、エンジンユニット111の制御を実行する。
このような制御システムの動作により、エンジン重要制御の制御量演算は、第2種制御装置であるメータ制御装置120でも実施し、その制御量を比較し、比較結果が異なるときは、別の第2種制御装置であるEPS制御装置140に制御量演算を実施させて、その制御量を再び比較し、比較結果により異常がある制御装置を特定し、それが自身の制御装置で無ければ、同じとなった制御量に基づいてエンジンユニット111の制御を継続することができる。
このように、制御システムは、エンジン制御装置110の比較手段117で比較したエンジン重要制御の制御量が第2種制御装置であるメータ制御装置120が演算したエンジン重要制御の制御量と同じであると判定された場合に、同じとなった重要制御の制御量に基づいて、エンジンユニット111を制御し、比較手段117で比較したエンジン重要制御の制御量が異なると判定された場合に、別の第2種制御装置であるAT制御装置130やEPS制御装置140で演算したエンジン重要制御の制御量と再び比較し、その結果が同じとなる場合には、先に比較した第2種制御装置に異常があると判断し、同じとなった重要制御の制御量に基づいて、エンジンユニット111を制御し、異なる場合には、自身の制御装置に異常があると判断して、予め準備しておいたエンジン重要制御の予備制御量851に基づいて、エンジンユニット111を制御することで、制御の信頼性を向上させることができる。
また、制御システムは、それぞれ別の制御対象と制御処理をもつメータ制御装置120、AT制御装置130やEPS制御装置140が実施したエンジン重要制御の制御量との比較結果に基づいて、異常となる制御量を演算した制御装置を特定するといったように、異常検出の為だけのCPUや制御装置を準備することがないので、余分なコストを抑えて、エンジン重要制御の信頼性を確保することができる。
さらにまた、制御システムは、第2種制御装置であるメータ制御装置120、AT制御装置130、EPS制御装置140がそれぞれ、変更指示手段820と制御量演算状況検出手段821、変更指示手段830と制御量演算状況検出手段831、変更指示手段840と制御量演算状況検出手段841を持つことで、第2種制御装置が自身の負荷状況に応じて、エンジン重要制御の制御量演算を別の第2種制御装置に変更するように第1種制御装置に指示することができ、1つの第2種制御装置にエンジン重要制御の制御量演算による負荷をかけすぎることなく負荷を分散して、エンジン重要制御の信頼性を確保することができる。
また、制御システムは、エンジン制御装置110が演算量不一致第2種制御装置リスト861を持つことで、異常があると判断されていない信頼性が高い第2種制御装置だけを選択して重要制御の制御量演算を実施し、その比較結果に基づいてエンジンユニット111を制御することで、エンジン重要制御の信頼性を確保することができる。
以上のように、この発明の実施の形態3に係る制御システムによれば、ネットワークに接続された第1種制御装置および複数の第2種制御装置において、第1種制御装置は、ネットワークを介してデータの送受信を行うデータ送受信手段と、自身の制御対象に対する重要制御の制御量の演算に必要な制御用データを収集し、第1記憶手段に記憶するデータ収集手段と、重要制御の制御量を演算するための第1の制御量演算手順、および制御用データを記憶する第1記憶手段と、第1記憶手段に記憶された第1の制御量演算手順および制御用データに基づいて、重要制御の制御量を演算する第1制御量演算手段と、第1制御量演算手段で演算された重要制御の制御量と、第2種制御装置で演算された重要制御の制御量とを比較する比較手段と、比較手段での比較結果に応じて制御対象を制御する制御手段と、ネットワーク経由で所定の第2種制御装置に重要制御の制御量の演算実施と演算停止を通知する演算実施通知手段と、エンジン重要制御の制御量演算を比較した結果が不一致となった第2種制御装置が保存される演算量不一致第2種制御装置リストを有し、第2種制御装置は、ネットワークを介してデータの送受信を行うデータ送受信手段と、第1種制御装置からネットワークを介して受信した制御用データを第2記憶手段に記憶する制御用データ保存手段と、第1の制御量演算手順、および制御用データを記憶する第2記憶手段と、記憶された第1の制御量演算手順および制御用データに基づいて、重要制御の制御量を演算する第2制御量演算手段と、演算先指示手段の指示に従って、重要制御の制御量の演算実施と演算停止を判断する演算実施判断手段と、重要制御の制御量の演算が困難となる状態を検出する制御量演算状況検出手段と重要制御の制御量を演算する第2種制御装置変更を指示する変更指示通知を第1種制御装置に伝える変更指示手段を有する。
そのため、制御装置内に同機能のマイコンを2個設けたり、別の異常検出用の制御装置を2つ設けたりするといった制御システムの規模を大きくすること無く、第1種制御装置で演算された重要制御に関する制御量と、第2種制御装置で演算された重要制御に関する制御量とを比較検証し、比較結果が同じときはその値で制御を実施し、比較結果が異なるときは別の第2種制御装置に変更して、比較検証を実施し、その結果に基づいて実施の制御対象を制御するか、制御しないかを判断することにより、制御の信頼性を確保することができる制御システムを得ることができる。また、異常検出の為だけのCPUや制御装置を準備することがないので余分なコストを抑えて、制御の信頼性を確保する制御システムを得ることができる。
なお、前述の実施の形態3において、制御量演算状況検出手段は自身の処理負荷に応じて、エンジン重要制御の制御量演算を別の第2種制御装置に変更する指示を出すものとして説明したが、判断方法は、処理負荷に限ることではなく、メモリ使用量などの演算実施に関わる要因をもとに判断しても同様の効果が得られる。
また、前述の実施の形態1乃至3において、ネットワーク100に接続される第2種制御装置は2つ若しくは3つ(実勢の形態1および2では2つ、実施の形態3では3つ)で説明しているが、これに限るものではない。
さらに、前述の実施の形態1乃至3において、エンジン制御装置110を第1種制御装置として説明したが、エンジン制御装置110が第1種制御装置でありながら、別の制御装置に対する第2種制御装置を兼ねていてもよい。この場合、エンジン重要制御の制御量は別の第2種制御装置で演算した制御量と比較し、その結果に基づいてエンジンユニットを制御すると共に、別の制御装置の重要制御の制御量を演算し、その制御装置に送信することで同様の効果が得られることとなる。
また、前述の実施の形態1乃至3において、制御量演算手段116および制御量演算手段126および制御量演算手段136(実施の形態3の場合)を、例えば同じメーカ製の同じ型番のマイコンを用いる等、第2種制御装置で互いに同一の構成としてもよい。この場合には、より正確な制御量比較をすることができ、その制御量を比較した結果に基づいてエンジンユニット111の制御を実行することにより、制御システムの信頼性を向上させることができる。
また、前述の実施の形態1乃至3において、記憶手段114および記憶手段124および記憶手段134(実施の形態3の場合)を、例えば同じメーカ製の同じ型番のメモリを用いる等、第2種制御装置で互いに同一の構成とし、エンジン重要制御の制御量演算手順232を、それぞれのメモリの同一の場所に記憶させてもよい。この場合には、より正確な制御量比較をすることができ、その制御量を比較した結果に基づいてエンジンユニット111の制御を実行することにより、制御システムの信頼性を向上させることができる。
また、前述の実施の形態1乃至3において、記憶手段114および記憶手段124および記憶手段134(実施の形態3の場合)を、例えば同じメーカ製の同じ型番のメモリを用いる等、第2種制御装置で互いに同一の構成とし、エンジン重要制御に関する制御量の演算に必要なデータが記憶される、演算に必要なデータ記憶領域243および演算に必要なデータ記憶領域343および演算に必要なデータ記憶領域343(実施の形態3の場合)を、それぞれのメモリの同一の場所に記憶させてもよい。この場合には、より正確な制御量比較をすることができ、その制御量を比較した結果に基づいてエンジンユニット111の制御を実行することにより、制御システムの信頼性を向上させることができる。