JP2004220326A - 制御ソフトウエア構造およびこの構造を用いた制御装置 - Google Patents
制御ソフトウエア構造およびこの構造を用いた制御装置 Download PDFInfo
- Publication number
- JP2004220326A JP2004220326A JP2003006976A JP2003006976A JP2004220326A JP 2004220326 A JP2004220326 A JP 2004220326A JP 2003006976 A JP2003006976 A JP 2003006976A JP 2003006976 A JP2003006976 A JP 2003006976A JP 2004220326 A JP2004220326 A JP 2004220326A
- Authority
- JP
- Japan
- Prior art keywords
- control
- application software
- data
- software
- control application
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Security & Cryptography (AREA)
- Control By Computers (AREA)
- Multi Processors (AREA)
- Programmable Controllers (AREA)
Abstract
【解決手段】複数の電子制御装置をネットワークを介して分散協調制御する制御ソフトウエア構造で、各システム制御を実現するための各制御アプリケーションソフトにはデータ管理機能および時間同期機能を無くし分散制御アプリケーションフレームワーク中に、電子制御装置に同一の当該データ管理機能および時間同期機能を配置した。
【選択図】 図3
Description
【発明の属する技術分野】
本発明は、制御アプリケーションソフトの再利用性を向上した制御ソフトウエア構造およびこの制御ソフトウエア構造を用いた制御装置に関する。
【0002】
【従来の技術】
従来、ネットワークを介した分散協調制御では、ネットワークを介した各システム間、制御アプリケーションソフトと通信ソフトとの間の、時間的な同期処理、各制御アプリケーションソフトの位置情報処理、制御アプリケーションソフトの実行順序管理等が、明示的に制御アプリケーションソフト内にて実行されている。(たとえば、特許文献1参照)
このような場合、たとえば車両における車載協調分散制御では、制御要求指示データと、車両・車外状態共通データなどが通信仕様定義、およびECUソフトウエア実装形態に対して明示的に分離されていない状況にある。そのため、通信仕様定義において同じ意味を持つデータが複数定義され、非常に冗長になっており、通信負荷の肥大化を招いている。あるいは、ECUソフトウエア実装形態においても、制御要求指示データと、車両・車外状態に関する共通データが分離されていない。このため、車両制御の各機能を車種等毎に他のECUに別途再配置しなければならない場合、他のECUからの要求タイミングや通信バスの状況によって処理順序が変わってしまう可能性が変化し、その結果がその機能の制御あるいは/およびシステム全体の制御に影響を及ぼす可能性がある。
【0003】
【特許文献1】
特表平8−500922号公報
【0004】
【発明が解決しようとする課題】
このような自体を回避するために、車両制御の機能を再配置した際も制御アプリケーションの各々に対してあらためて制御実行等の順序の管理情報を再設計し、制御アプリケーションにおいて順序管理を実行できるようにしなければならない。すなわち、制御アプリケーションにおいて順序の管理を行うようにすると、車種毎等に機能を他のECUに再配置した場合には、その都度全制御アプリケーションに対して順序管理等を再設計する必要があり、ソフトウエアの再利用性が低下している現状にある。
【0005】
以上の点を鑑み、本願発明では、ECU間において機能の再配置等を行った際においても制御アプリケーションソフトウエアの再利用性を向上させた制御ソフトウエア構造およびこの構造を用いた制御装置を提供することを目的とする。
【0006】
【上記課題を解決するための手段】
上記課題を達成するために本願発明では、複数の電子制御装置をネットワークを介して分散協調制御する制御ソフトウエア構造において、各電子制御装置に備えられた各システムを実現するための各制御アプリケーションソフトよりデータ管理機能および時間同期機能を分離し、前記各制御アプリケーションソフトの下位の分散制御プラットフォーム中に、前記複数の電子制御装置に対して同一の当該データ管理機能および時間同期機能を配置したことを特徴とする。
【0007】
従来では、各制御システムを実現するための制御アプリケーションソフト自体にシステム実行の際に用いられるデータの管理機能およびデータ等の送受信、演算タイミング等の時間同期機能を備えるようにしていたため複数のシステムをネットワークを介して関連させて実行させる制御構造ではある部分の制御アプリケーションソフトを変更すると、全てのアプリケーションソフトを再設計する必要があったが、本願発明では、制御アプリケーションソフトからデータ管理機能と時間同期機能を無くして、ネットワーク側である下位の分散制御プラットフォームに配置したため、ある制御アプリケーションソフトを変更したとしても、この分散制御プラットフォームのみを再設計すれば良く、他の制御アプリケーションソフトの再利用性が高まる。
【0008】
また、請求項2に記載の如く、第1の電子制御装置と第2の電子制御装置とをネットワークを介して分散協調制御する制御ソフトウエア構造において、前記第1の電子制御装置は、少なくとも1つのシステムを実現するための少なくとも1つの制御アプリケーションソフトと、前記制御アプリケーションソフトから分離されたデータ管理機能を備えた分散制御プラットフォームと、前記制御アプリケーションソフトから前記分散制御プラットフォームを介して指示されるアクチュエータ駆動指令を受けたり、あるいは/および、前記分散制御プラットフォームにデータを送信するドライバソフトと、を備え、前記第2の電子制御装置は、少なくとも1つのシステムを実現するための少なくとも1つの制御アプリケーションソフトと、前記制御アプリケーションソフトから分離されたデータ管理機能を備えた分散制御プラットフォームと、前記制御アプリケーションソフトから前記分散制御プラットフォームを介して指示されるアクチュエータ駆動指令を受けたり、あるいは/および、前記分散制御プラットフォームにデータを送信するドライバソフトと、を備え、前記第1の電子制御装置における分散制御プラットフォームと前記第2の電子制御装置における分散制御プラットフォームとが共通化されていることを特徴とする制御ソフトウエア構造およびこの構造を用いた制御装置を採用するようにしてもよい。
【0009】
この場合には、請求項1に対して述べた他の制御アプリケーションソフトの再利用性の向上に加えて、第1及び第2の電子制御装置の双方に同一の分散制御プラットフォームを備えているため、たとえば第1の電子制御装置の方のみに分散制御プラットフォームを備えた場合と比較して、ネットワークを介して各電子制御装置がデータを取得する場合等の処理負荷を軽減することができ、応答遅れを抑制することが可能となる。
【0010】
また、請求項3に記載の発明では、複数の電子制御装置をネットワークを介して分散協調制御する制御ソフトウエア構造において、各電子制御装置は、各システムを実現するための各制御アプリケーションソフトと、当該各制御アプリケーションソフトに備えられていないデータ管理機能を備える分散制御プラットフォームと、ドライバソフトと、を備え、前記分散制御プラットフォームには各電子制御装置共通に、前記システムを実現するための要求指示データを一時記憶するデータキューと、前記システムを実行する際の状態データを一時記憶する状態共通データ部と、を備えることを特徴とする。
【0011】
このように、分散制御プラットフォームにおいて制御アプリケーションソフトで使用するデータである要求指示データと状態データとを管理するようにしたので、制御アプリケーションソフトからデータ管理機能を分離でき、制御アプリケーションソフトの再利用性を高めることが可能となる。
【0012】
また、請求項4に記載の発明では、複数の電子制御装置をネットワークを介して分散協調制御する制御ソフトウエア構造において、各電子制御装置は、各システムを実現するための時間同期機能を有さない各制御アプリケーションソフトと、当該各電子制御装置に共通に、前記システム間、前記各制御アプリケーションソフト間および各電子制御装置間の通信を行う各通信ソフト間の時間同期を行う機能を有する分散制御プラットフォームと、前記制御アプリケーションソフトから前記分散制御プラットフォームを介して指示されるアクチュエータ駆動指令を受けたり、あるいは/および、前記分散制御プラットフォームにデータを送信するドライバソフトと、を備えたことを特徴とする。
【0013】
ネットワークにより複数の電子制御装置を関連させてシステムが構築された場合、各システムにおける制御アプリケーションソフトにおける演算処理タイミングあるいは演算に用いるデータ自体の時間同期性を確保しなければ、制御に支障をきたす可能性があるが、本発明の如く制御アプリケーションソフトではなく分散制御プラットフォームに時間同期機能を持たせることにより、制御アプリケーションソフトを交換した場合においても他の制御アプリケーションソフトは再設計することなく利用することが可能である。
【0014】
請求項5に記載の発明では、状態データが各前記電子制御装置において一括して更新される。たとえばドライバソフトから各制御アプリケーションソフトに送付される状態データが時間的にずれて送受信されると、制御アプリケーションソフトにおける演算が取得された時間がずれた一貫性のない状態データに基づいた演算となることがありえる。しかし、状態データの更新を各電子制御装置に対して一括して同時期に行うようにすれば、各電子制御装置の制御アプリケーションソフト等における演算結果の精度あるいは/および一貫性を保証することが可能となる。
【0015】
請求項6に記載の発明では、要求指示データには予め優先度が設定されていることを特徴とする。たとえば、複数の電子制御装置の制御アプリケーションソフトから随時要求指示データがデータキューに送信されてくる場合、どの順番でデータキューからその要求指示データを必要とする制御アプリケーションソフトに送信するかの調停が必要となることが予想できる。しかし、あらかじめ要求指示データ自体に優先順位付けが成されていれば、あらためて調停をするための機能を必要としない。なお請求項7に記載の如く、各電子制御装置ひいては各制御アプリケーションソフトから送信される要求指示データあるいは/および各制御アプリケーションソフトが受信する要求指示データの全てを分散制御プラットフォームのデータキューを介して送受信されることで、車種等毎に制御アプリケーションソフトが変更されたとしても、その変更された要求指示データの優先順位のみを変更されていない制御アプリケーションソフトにおける要求指示データとの相関で決定すればよく、設計工数の低減を実現できる。
【0016】
請求項8に記載の発明では、分散制御プラットフォームには前記制御アプリケーションソフトがどのECUに配置されているかの位置情報が設定されていることを特徴とする。たとえば、各電子制御装置の制御アプリケーションソフトからの要求の送受信をする場合、どの電子制御装置にどの制御アプリケーションソフトが存在するかという情報は各電子制御装置に持たせることもできる。しかしながらこの場合、車種毎等でネットワークにつながる電子制御装置の一部を交換した場合あるいは/および制御アプリケーションソフトの一部を交換した場合、ネットワークにつながる交換していない電子制御装置あるいは/および制御アプリケーションソフトの全ての位置情報を書きかえる必要がでてくる。ところが本発明の如くすれば、各電子制御装置ひいては各制御アプリケーションソフトに共通の分散制御アプリケーションソフトのみを書きかえれば良く、再設計作業は一括して実施できる。
【0017】
請求項9に記載の発明では、時間同期機能は、前記制御アプリケーションソフトにおける処理のデッドライン時間に応じて定められた送信タイミングに基づきデータを送信することにより各電子制御装置における時間同期を図ることを特徴とする。通常電子制御装置にはスケジューリング機能すなわち制御アプリケーションソフトの起動あるいは/および演算タイミングの順番を管理する機能が含まれている。ただし、これのみではたとえばある制御アプリケーションソフトにおける演算が終了しないうちに他の制御アプリケーションソフトでの演算が開始されてしまう等の不具合が生じる。すなわち前に終了されているべき演算の終了前で他の演算が始まると、演算に用いるデータ等が既に終了されているさらに前のデータに基づいて実行されることとなり、データの一貫性が無くなる恐れがある。しかしながら、本発明では、送信タイミングをデッドライン時間に基づいて規定したため、データの一貫性も保証することができるようになる。言い換えれば本発明では各制御アプリケーションソフト間ひいては各電子制御装置間におけるデータの一貫性を確保するための機能を各制御アプリケーションソフトに設けず、分散制御プラットフォームに設けているものであって、本発明でいう時間同期機能は前述のデータの一貫性を確保するための機能と言い換えることもできる。
【0018】
請求項10に記載の発明では、状態共通データ部とデータキューは制御アプリケーションソフトの各々に対応して設けられており、データキューとして、他の前記制御アプリケーションソフトからの要求指示データを受ける要求受付データキューと、他の前記制御アプリケーションソフトへの前記要求指示データの発行を行うための要求発行データキューとを備えていることを特徴とする。このように各制御アプリケーションソフトにおいて生成される要求指示のデータを自身の制御アプリケーションソフトが発行する要求指示データか自身が受ける要求指示データかを分離して管理することによって、分散制御プラットフォームの設計を容易にすることができる。
【0019】
なお、分散制御プラットフォームは、前記制御アプリケーションソフトの各々に対して備えられているようにしてもよい。
【0020】
【発明の実施の形態】
図1は、本発明の全体構成の概要を表すイメージ図である。
【0021】
ECU(以下電子制御装置という)1とECU2とはネットワーク500で接続されている。ECU1には、制御アプリケーションソフト10、分散制御プラットフォーム20およびドライバソフト30が存在する。同様にECU2においても制御アプリケーションソフト40、分散制御プラットフォーム50およびドライバソフト60が存在する。
【0022】
制御アプリケーションソフト10,40は各々、1つあるいは複数のシステムを実現するためのものである。システムの例としては、たとえば、車両制御におけるアンチスキッド制御システム、トラクションコントロールシステム、車体挙動安定化システム、ブレーキアシストシステム、エンジンコントロールシステム等を挙げることができる。なお、1つのECUに複数のシステムを存在させる場合には、1つのECUに複数の制御アプリケーションソフトが存在することになる。
【0023】
分散制御プラットフォーム20,50は、図2、図3において後述するように各ECU共通の同一構造を有するものであり、内部構成として、車両・車外状態共通データベース、データキュー等を有し、各ECU間あるいは/および各制御アプリケーションソフト間における起動あるいは演算順位を規定・管理するスケジューリングや制御アプリケーションソフトがどのECUに配置されているかの配置情報を踏まえた位置透過性を確保するための機能が設けられている。また、スケジューリングによる順番管理とともに各制御アプリケーションソフトあるいは/および電子制御装置間の時間同期性を図るための機能も備えられている。
【0024】
ドライバソフト30,60は、分散制御アプリケーションフレームワークを介して各制御アプリケーションソフトからの指令を受け、各制御アプリケーションソフトに従属する図示しないアクチュエータ(ACT)を駆動するものである。また、各アクチュエータが取得した検出情報を受け、前述の分散制御アプリケーションフレームワーク中の車両・車外状態共通データベースに送信する役割も果たす。
【0025】
図2は、図1における分散制御プラットフォーム20,50を主眼として見たイメージ図である。すなわち、各ECUにおける分散制御プラットフォームは同様の構造を備えており、単にECU共通で1つの分散制御プラットフォームを備えているように捉えることができる。なお、図1と同等の構成には同様の符号を付し、説明を省略する。
【0026】
図1で説明したように、各ECU1,2における分散制御プラットフォーム20,50は全く同様の構造であるため、単に1つのソフトとして見なすことができる。そして、この分散制御プラットフォーム20(50)には、各ECU共通すなわち各制御アプリケーションソフト10,40に同様の車両・車外状態共通データベースが設けられ、たとえば制御アプリケーションソフト10、40は、実線矢印200で示すように車両・車外状態共通データベースから状態データを受ける。また、たとえば制御アプリケーションソフト10において加工されたシステムの実行の要求指示データは、点線矢印300で示すように制御アプリケーションソフト10からソフトウエアバス501を介して分散制御プラットフォーム20(50)におけるデータキューに一旦入れられた後、ソフトウエアバス501を介して制御アプリケーションソフト40に送信される。また、ドライバソフト30、60において各アクチュエータから取得された状態データは、実線矢印200’に示す如く車両・車外状態データベースに送信され、更新される。この更新は、全ECUにおける分散制御アプリケーションフレームワーク中の車両・車外状態共通データベースの各々に共通して一括に実行される。
【0027】
なお、分散制御プラットフォーム20(50)は、システム構成情報すなわちシステムスケジューリングや制御アプリケーション配置情報を備えている。このシステムスケジューリングとは、各ECU間あるいは/および各制御アプリケーション間における演算タイミングや起動タイミング等の順序のことである。また、制御アプリケーション配置情報とは、どのECUにどの制御アプリケーションが配置されているかの位置情報のことである。そして、各ECUにおける分散制御プラットフォーム20(50)の構造は各々、前述の時間同期を図る機能、位置透過性に関する機能およびスケジューリング機能、車両・車外状態共通データベースおよびデータキューを備える点で共通の構造を採用している。すなわち、制御アプリケーションソフトの各々に対して車両・車外状態データベースおよびデータキューを備える場合等は、単一のECUに備えられる制御アプリケーションソフトの数によりそれぞれのECUの分散制御プラットフォームにおいて備えられる車両・車外状態共通データベースおよびデータキューの数も変わってくるが、構造としては同一なものと解釈する。
【0028】
なお、車両・車外状態共通データベースおよびデータキューは、各制御アプリケーションソフトの各々に対してそれぞれ設けられるようにしてもよいし、各ECUに対して1つづつ設けられるようにしてもよい。あるいは、車両・車外状態共通データベースを介される状態データの特性およびデータキューを介される要求指示データの特性に応じて車両・車外状態共通データベースおよびデータキューを配置するようにしてもよい。たとえば時間管理を一括して行った方が良い特性を有する状態データあるいは/および要求指示データを1つの群としてこの群に対応するように車両・車外状態共通データベースおよび/あるいはデータキューを各ECU内に備えるようにしてもよい。この場合には各制御アプリケーションソフトの各々に対応して車両・車外状態共通データベースおよび/あるいはデータキューが備えられていない場合もありえる。
【0029】
図3は、図1、図2を具現化した制御ソフトウエア構造およびこのソフトウエアを用いた制御装置を示す図である。なお、図1、図2と同等の構成には同様の符号を付し、説明を省略する。また、図3では図1、図2とは異なり、ECUを3つ備える例を示している。
【0030】
ECU1の分散制御プラットフォーム20に車両・車外状態共通データベース22とデータキュー23が存在する。ECU2においても分散制御プラットフォーム50に車両・車外状態共通データベース52、54とデータキュー53、55が存在する。なお、車両・車外共通データベース52とデータキュー53は制御アプリケーションソフト40に対応して設けられ、車両・車外状態共通データベース54とデータキュー55は制御アプリケーションソフト41に対応して設けられている。このように、車両・車外状態共通データベース、およびデータキューは各々の制御アプリケーションソフトに対して各々1つづつ設けられている。ECU3においても制御アプリケーションソフト70に対応して分散制御プラットフォーム80に車両・車外状態共通データベース82とデータキュー83が存在する。
【0031】
ECU1ないし3の各々の分散プラットフォーム20,50,80に設けられる車両・車外状態共通データベース22、52、54、82には、各アクチュエータ等から全く同じ状態データがドライバソフトを介して送信され、共通の状態データとして蓄積・更新される。
【0032】
なお、この状態データ101〜104は、制御アプリケーションソフト10,40,41,70で実現されるシステムにおいて必要とされる状態データであり、たとえば車両制御の場合、車体速度値、車輪速度値、エンジン回転数値、燃料噴射量値、車体加速度値等を挙げることができる。なおこのような状態データは、いずれかのシステムで必要なものであって、且つ複数のシステムで必要とされる場合においても、一義的な値として持てるものが好ましい。たとえば、車体挙動安定化システムとエンジンコントロールシステムとアンチスキッド制御システムとを備える場合、車体速度値は各システム共通の状態データ値であるべきであり、また車輪速度値、エンジン回転数値、燃料噴射量値、車体加速度値等も各システム共通の状態データ値であるべきである。
【0033】
データキュー23、53,55、83は、制御アプリケーションソフト間の受け渡し時に、システムを実行するための要求指示データを一時記憶するためのものである。すなわち、制御アプリケーションソフト間で直接要求指示データの授受を行うと、制御アプリケーションソフト自体はデータの順位付けをする機能がないため、要求指示データを受ける側の制御アプリケーションソフトにおいて受けた要求指示データの順位付けをすることもできない。そこで、要求指示データの順位付け機能を分散プラットフォームに設け、一旦データを記憶するデータキューにおいて優先順位付けが行われる。すなわち、ネットワークで連結される全アプリケーションソフトにおける要求指示データ自体に予め優先度を持たせておき、この優先度に応じてデータキューで順位付けが成されるようにする。なお、車両制御における要求指示データの例としては、トルク要求指示値等を上げることができる。たとえば、エンジンコントロールシステムにおけるトルク要求指示値とはエンジン駆動トルク(あるいは車軸駆動トルク)であり、アンチスキッド制御システムにおけるトルク要求指示値とは、車輪の制動トルクとなる。このように、各システムに共通のディメンジョンの制御実行のための要求指示値を要求指示データとしてもよい。なお、これにかかわらず要求指示データとしては、各システム毎の独立した要求指示値を採用することにしてもよいし、前述の各システムに共通の要求指示値と各システム独特の要求指示値とを混在させるようにしてもよい。
【0034】
また、データキュー23,53,55,83は、各々において要求指示データを各制御アプリケーションソフトから受ける受付用データキューと、各制御アプリケーションソフトへの要求指示データの発行を行う発行用データキューとをそれぞれ備えており、前述の如く要求指示データに予め定められた優先度に応じて、各受付用データキューにおいて受付、各発行用データキューにおいて制御要求指示の発信が行われている。
【0035】
次に、分散制御プラットフォームおよびドライバソフトを介して各制御アプリケーションソフト間において送受信される状態データ101〜104およびシステム実行のための要求指示データ105の流れの一例を図3および図4に基づいて説明する。
【0036】
図4の表に示すように本例においては、各制御アプリケーションソフト10、40、70からの制御の要求指示に優先順位付けがなされている。すなわち制御アプリケーションソフト10からの制御要求指示(点線矢印300で示す)が最優先であり、次に制御アプリケーションソフト40からの制御要求指示(点線矢印301で示す)が優先度2であり、最後に制御アプリケーションソフト70からの制御要求指示(点線矢印302で示す)が優先度3である。なお、本例では制御アプリケーションソフト41は他の制御アプリケーションソフトから制御要求指示を受けるのみで、制御アプリケーションソフト41からの制御要求指示は出さないものとする。
【0037】
まず、状態データ101〜104の流れについて説明する。なお、各状態データの流れのうち各ECU内での流れは実線200で示し、各ECU間のネットワーク500における流れは一点破線201で示す。
【0038】
状態データ101〜104のうち状態データ101、103、104はネットワーク500、ドライバソフト30、60、90を介して各アクチュエータ等が定期的に検知した値であって、各車両・車外状態共通データベース22,52,54、82には共通の値として更新・記憶されている。また、状態データ102は制御アプリケーションソフト10において演算等により加工された値が車両・車外状態共通データベース22に記憶されている状態である。
【0039】
まず、これらの状態データ101〜104のうち、状態データ102と103とがドライバソフト30のメッセージフレーム31に送られる。そしてこのメッセージフレーム31はネットワーク500を介してECU2のドライバソフト60と、ECU3のドライバソフト90に同時に送信される。そして、ドライバソフト60とドライバソフト90は、同時にメッセージフレーム31の中の必要な状態データを各々、車両・車外状態共通データベース52と車両・車外状態共通データベース82とに格納する。すなわちECU2においてはメッセージフレーム31から状態データ102と状態データ103の双方を車両・車外状態共通データベース52に記憶させ、ECU3においてはメッセージフレーム31の状態データ中、状態データ102のみを車両・車外状態共通データベース82に記憶させる。このように、どの状態データを必要とするかおよび状態データを送信するタイミングは、各ECU毎に管理する。その際、そのECU内に実装されている各制御アプリケーションソフトが必要とする状態データのみを各ECU単位あるいは制御アプリケーションソフト単位で管理する。よって状態データ103は、車両・車外状態共通データベース22における値と車両・車外状態共通データベース52,54,82とで同じ値が記憶されているため、メッセージフレーム31に載せられても良いし、載せられなくてもよいが、制御アプリケーションソフト10から制御アプリケーションソフト40、70に対して、次の演算タイミングでは、複数の状態データのうち、この状態データ102と状態データ103を使うように指示する場合には、メッセージフレームに載せる必要がある。しかしながら、この場合各ECU単位、各制御アプリケーションソフト単位で車両・車外状態共通データベースを設置・管理すると、各車両・車外状態共通データベース間の状態データ授受の時間的な同期の一貫性が問題となる。この点については、全ECU同等である分散プラットフォーム中に時間同期を図る機能を図5に示すように備えるようにして解決する。なお時間同期方法については図5に基づいて後述する。また、この時間同期の問題は後述する制御要求指示についても同等である。
【0040】
次に、制御アプリケーションソフト40において前もって演算等加工された状態データ104に相当する状態データ値が制御アプリケーションソフト40より車両・車外状態共通データベース52に送信される。そして、この状態データ104は車両・車外状態共通データベース52より制御アプリケーションソフト41に対応する車両・車外状態共通データベース54に送信され、その後制御アプリケーションソフト41に送信される。
【0041】
次に、車両・車外状態共通データベース82から制御アプリケーションソフト70に向けて状態データ102が送信される。そして、制御アプリケーションソフト70から車両・車外状態共通データベース82に対してあらかじめ制御アプリケーションソフト70内で演算等加工された状態データ101に相当する値が車両・車外状態共通データベース82に送信される。
【0042】
次に制御要求指示の流れについて説明する。なお、各ECU内における制御要求指示の流れは点線300、301等の点線で示し、各ECU間のネットワーク状での流れはニ点破線310で示す。制御要求指示300は、まず制御アプリケーションソフト10から要求指示データ105をデータキュー23に送信される。この制御要求指示はドライバソフト30におけるメッセージフレーム32にECU2のドライバソフト60にネットワーク500を介して送信される。そしてこのドライバソフト60から制御アプリケーションソフト41に対応するデータキュー55に送信される。
【0043】
次に制御アプリケーションソフト40からデータキュー53への制御要求指示301により要求指示データ106が送信され、この要求指示データ106は制御アプリケーションソフト41において使用されるためにデータキュー55に送信される。そしてデータキュー55から制御アプリケーションソフト41に要求指示データ106が送信される。
【0044】
次にECU3においてデータキュー83に記憶されている要求指示データ105が制御アプリケーションソフト70に送信される。
【0045】
図5に基づいて、各ECU間および/あるいは各制御アプリケーションソフト間における時間の同期性の保証について説明する。なお、図5では説明の簡略化のため、制御アプリケーションソフト10と制御アプリケーションソフト40の2つについて説明するが、制御アプリケーションソフトが3つ以上ある場合でも同様の考え方を採用することができる。
【0046】
図5に示すように、各制御アプリケーションソフトには制御アプリケーションソフト内での処理を確実に終了させなければならないデッドライン時間T1、T2が定義されている。なお、このデッドライン時間T1、T2は各々の制御アプリケーションソフトの処理演算内容等により統計的に確立されるものである。そしてこのデッドライン時間内に処理された演算結果が送信タスクに応じてメッセージ送信される。各制御アプリケーションソフトは定期的に(例えば6ms周期)に起動される言いかえれば演算開始されるため、デッドライン時間を各制御アプリケーションソフトに定義しておくと、送信タスクによる定期送信も可能となる。
【0047】
また、制御アプリケーションソフトにおける処理演算中に他のノード等で計算された結果を受信して車両・車外状態共通データベースが更新され、これにより各制御アプリケーションソフトの処理に悪影響を与えないために、各アプリケーションソフトの起動時あるいは終了時等タイミングを限定して、且つ各車両・車外状態共通データベース22,52,54,82を一括して状態データの更新を行う。このようにシステム間の時間同期を、各制御アプリケーションソフトがもつデッドライン時間をベースに行えば、システムスケジューリングによる時間同期性の保証を確実に行うことができる。また、このような時間同期性を図る機能を分散制御プラットフォームに備えるようにすることで、各制御アプリケーションソフトにおける処理負荷の変化、あるいは割り込み処理や高優先度タスク処理等の外部要因による時間的な変動に影響されず、システム間での協調制御が可能となる。なお、時間同期の機能とは、データの一貫性を必要とする各制御アプリケーションソフト間あるいは/および各電子制御装置間におけるデータの一貫性を確保する機能を意味する。すなわち、時間同期を図ることができることで、データの一貫性も確保できることになる。なお、データの一貫性、時間同期機能の意味合いについても図5に詳述するが、簡単に言えば、各制御アプリケーションソフトにおける各々のアプリケーションソフトの演算タイミングが異なる場合、あるいは各センサ類の検出結果の各電子制御装置への受信タイミングあるいは演算タイミングが異なる場合、あるいは各電子制御装置における内部タイマのずれ、等により、たとえば(n−*)回目の演算タイミング(あるいは受信タイミング)により演算された結果のデータとn回目の演算タイミング(あるいは受信タイミング)により演算されたデータ例えば現在の演算タイミングで演算されたデータとを混在させて使用して別の演算等を行うことを防止する機能を言う。
以下に図5に基づく制御アプリケーションソフト10,70における処理タイミングについての具体例を説明する。
【0048】
時刻t1において制御アプリケーションソフト70における処理が実行開始されはじめ、まずは自身が車両・車外状態共通データベース82の状態データ102、データキュー83の要求指示データ106の更新を行う。すなわちECU3からECU1に対して、新しい状態データ102および要求指示データ106を送信してもらう。制御アプリケーションソフト70における処理の実行中の時刻t2において制御アプリケーションソフト70に比べて優先順位が高い制御アプリケーションソフト10の処理が開始される。そして、自身の制御アプリケーションソフト10の処理のデッドライン時間はT1で規定されている。この制御アプリケーションソフト10における処理の初期時にも自身の車両・車外状態共通データベース22およびデータキュー23内の状態データおよび要求指示データの更新を行う。そして、制御アプリケーションソフト10における処理は確実にデッドラインT1時点である時刻t4までの間の時刻t3に終了し、時刻t4において送信タスクを受けてECU3に対して送信がなされる。なお処理の最後には、自身の制御アプリケーションソフト10から加工された状態データおよび要求指示データを車両・車外状態共通データベース22およびデータキュー23に送信する。
【0049】
また、下位の制御アプリケーションソフト70における処理も処理開始からデッドライン時間T2までの間である時刻t5までに処理を終了する。なお処理の最後には、自身の制御アプリケーションソフト70から加工された状態データを車両・車外状態共通データベース82に送信する。
【0050】
本発明は上述までの実施例に限定されることなく種々変形可能である。
【0051】
たとえば、上述までの実施例では、車両・車外状態共通データベース22、52,54,82への各ドライバソフトを介して行われる状態データの送信および更新は時間同期性を確保するため一括して行われていたが、たとえば、現時点ある制御アプリケーションソフトにおける処理中であってこの処理中にデータ更新が行われるとシステムに支障をきたす可能性がある場合には、その状態データに対してのみ更新を待ち状態とし、制御アプリケーションソフト起動時、あるいは/および終了時に状態データを送信・更新するようにしてもよい。なお、制御アプリケーションソフトの処理中にデータ更新が行われるとシステムに支障をきたす可能性がある場合とは、たとえば制御アプリケーションソフト内における処理に状態データが用いられており、この状態データが演算処理中に更新されると、演算処理の元データの時間的な同期が取れなくなる場合等が考えられる。このような自体は、制御ソフトウエア構造の設計時に予め予測することが可能であるため、状態データの更新・送信の優先度を設定する際に、予め設定しておくようにするのが望ましい。
【0052】
また、たとえば図3に示すECU2には、同一のECUに複数の制御アプリケーションソフトが存在する。このような制御アプリケーションソフトの配置情報を分散制御アプリケーションフレームワーク中の分散制御プラットフォーム等に備えるようにし、この配置情報をもとに同一のECU内に要求指示データあるいは状態データを送信する相手である制御アプリケーションソフトが存在する場合には、ネットワークを介さずに直接相手の車両・車外状態共通データベースを更新し、あるいは要求指示データを直接相手のデータキューに登録するようにしてもよい。あるいは、直接相手に更新あるいは登録するのではなくネットワークを介するようにしてもよい。
【図面の簡単な説明】
【図1】本発明の全体構成の概要を表すイメージ図である。
【図2】図1における分散制御アプリケーションフレームワーク20,50を主眼として見たイメージ図である。
【図3】図1、図2を具現化した制御ソフトウエア構造およびこのソフトウエアを用いた制御装置を示す図である。
【図4】図3における各ECU内外のデータの送受信の状態および優先度を示す表である。
【図5】各ECU間の時間機能を図るために分散制御プラットフォームが備える機能を説明するタイミングチャートである。
【符号の説明】
1、2,3…電子制御装置(ECU)
10,40,41,70…制御アプリケーションソフト
20、50、80…分散制御プラットフォーム
30、60、90…ドライバソフト
22、52、54、82…車両・車外状態共通データベース
23、53、55、83…データキュー
101、102、103、104…状態データ
105、106…要求指示データ
500…ネットワーク
Claims (11)
- 複数の電子制御装置をネットワークを介して分散協調制御する制御ソフトウエア構造において、
各電子制御装置に備えられた各システムを実現するための各制御アプリケーションソフトよりデータ管理機能および時間同期機能を分離し、前記各制御アプリケーションソフトの下位の分散制御プラットフォーム中に、前記複数の電子制御装置に対して同一の当該データ管理機能および時間同期機能を配置したことを特徴とする制御ソフトウエア構造およびこの構造を用いた制御装置。 - 第1の電子制御装置と第2の電子制御装置とをネットワークを介して分散協調制御する制御ソフトウエア構造において、
前記第1の電子制御装置は、
少なくとも1つのシステムを実現するための少なくとも1つの制御アプリケーションソフトと、
前記制御アプリケーションソフトから分離されたデータ管理機能を備えた分散制御プラットフォームと、
前記制御アプリケーションソフトから前記分散制御プラットフォームを介して指示されるアクチュエータ駆動指令を受けたり、あるいは/および、前記分散制御プラットフォームにデータを送信するドライバソフトと、
を備え、
前記第2の電子制御装置は、
少なくとも1つのシステムを実現するための少なくとも1つの制御アプリケーションソフトと、
前記制御アプリケーションソフトから分離されたデータ管理機能を備えた分散制御プラットフォームと、
前記制御アプリケーションソフトから前記分散制御プラットフォームを介して指示されるアクチュエータ駆動指令を受けたり、あるいは/および、前記分散制御プラットフォームにデータを送信するドライバソフトと、
を備え、
前記第1の電子制御装置における分散制御プラットフォームと前記第2の電子制御装置における分散制御プラットフォームとが共通化されていることを特徴とする制御ソフトウエア構造およびこの構造を用いた制御装置。 - 複数の電子制御装置をネットワークを介して分散協調制御する制御ソフトウエア構造において、
各電子制御装置は、各システムを実現するための各制御アプリケーションソフトと、当該各制御アプリケーションソフトに備えられていないデータ管理機能を備える分散制御プラットフォームと、ドライバソフトと、を備え、
前記分散制御プラットフォームには、前記システムを実現するための要求指示データを一時記憶するデータキューと、前記システムを実行する際の状態データを一時記憶する状態共通データ部と、を前記各電子制御装置共通に備えることを特徴とする制御ソフトウエア構造およびこの構造を用いた制御装置。 - 複数の電子制御装置をネットワークを介して分散協調制御する制御ソフトウエア構造において、
各電子制御装置は、
各システムを実現するための時間同期機能を有さない各制御アプリケーションソフトと、
当該各電子制御装置に共通に、前記システム間、前記各制御アプリケーションソフト間および各電子制御装置間の通信を行う各通信ソフト間の時間同期を行う機能を有する分散制御プラットフォームと、
前記制御アプリケーションソフトから前記分散制御プラットフォームを介して指示されるアクチュエータ駆動指令を受けたり、あるいは/および、前記分散制御プラットフォームにデータを送信するドライバソフトと、
を備えたことを特徴とする制御ソフトウエア構造およびこの構造を用いた制御装置。 - 前記状態データは、各前記電子制御装置において一括して更新されることを特徴とする請求項3に記載の制御ソフトウエア構造およびこの構造を用いた制御装置。
- 前記要求指示データには予め優先度が設定されていることを特徴とする請求項3および請求項5に記載の制御ソフトウエア構造およびこの構造を用いた制御装置。
- 前記各電子制御装置ひいては前記各制御アプリケーションソフトから送信される前記要求指示データあるいは/および前記各制御アプリケーションソフトが受信する前記要求指示データの全てが前記分散制御プラットフォームのデータキューを介して送受信されることを特徴とする請求項3または請求項5または請求項6のいずれかに記載の制御ソフトウエア構造およびこの構造を用いた制御装置。
- 前記分散制御プラットフォームには前記制御アプリケーションソフトがどのECUに配置されているかの位置情報が設定されていることを特徴とする請求項1ないし請求項7のいずれかに記載の制御ソフトウエア構造およびこの構造を用いた制御装置。
- 前記時間同期機能は、前記制御アプリケーションソフトにおける処理のデッドライン時間に応じて定められた送信タイミングに基づきデータを送信することにより各電子制御装置における時間同期を図ることを特徴とする請求項1または請求項4に記載の制御ソフトウエア構造およびこの構造を用いた制御装置。
- 前記状態共通データ部と前記データキューは前記制御アプリケーションソフトの各々に対応して設けられており、前記データキューとして、他の前記制御アプリケーションソフトからの前記要求指示データを受ける要求受付データキューと、他の前記制御アプリケーションソフトへの前記要求指示データの発行を行うための要求発行データキューとを備えていることを特徴とする請求項3または請求項5ないし請求項7のいずれかに記載の制御ソフトウエア構造およびこの構造を用いた制御装置。
- 前記分散制御プラットフォームは、前記制御アプリケーションソフトの各々に対して備えられていることを特徴とする請求項1ないし請求項10のいずれかに記載の制御ソフトウエア構造およびこの構造を用いた制御装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003006976A JP2004220326A (ja) | 2003-01-15 | 2003-01-15 | 制御ソフトウエア構造およびこの構造を用いた制御装置 |
US10/752,554 US20040143656A1 (en) | 2003-01-15 | 2004-01-08 | Control software architecture for realizing a decentralized cooperative control of a plurality of electronic control apparatuses connected via a network |
DE102004002020A DE102004002020A1 (de) | 2003-01-15 | 2004-01-14 | Steuerungssoftwarearchitektur zur Realisierung einer dezentralisierten kooperativen Steuerung mehrerer elektronischer Steuerungsvorrichtungen, die über ein Netzwerk verbunden sind |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003006976A JP2004220326A (ja) | 2003-01-15 | 2003-01-15 | 制御ソフトウエア構造およびこの構造を用いた制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004220326A true JP2004220326A (ja) | 2004-08-05 |
Family
ID=32652787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003006976A Pending JP2004220326A (ja) | 2003-01-15 | 2003-01-15 | 制御ソフトウエア構造およびこの構造を用いた制御装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20040143656A1 (ja) |
JP (1) | JP2004220326A (ja) |
DE (1) | DE102004002020A1 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005031482A1 (ja) * | 2003-09-26 | 2005-04-07 | Mitsubishi Heavy Industries, Ltd. | 大型産業車両用コントローラ |
JP2007126044A (ja) * | 2005-11-04 | 2007-05-24 | Toyota Motor Corp | 車載分散処理システム |
JP2008201386A (ja) * | 2007-02-22 | 2008-09-04 | Auto Network Gijutsu Kenkyusho:Kk | 車載通信システム及び車載通信方法 |
US8010257B2 (en) | 2006-03-13 | 2011-08-30 | Denso Corporation | Electronic control units for controlling in-vehicle devices using time-dependent data and vehicle control system integrating such units for real-time distributed control |
JP2014066165A (ja) * | 2012-09-25 | 2014-04-17 | Toyota Motor Corp | エンジン制御装置 |
DE112021002979T5 (de) | 2020-05-28 | 2023-03-30 | Fanuc Corporation | Steuereinrichtung |
WO2023084739A1 (ja) * | 2021-11-12 | 2023-05-19 | 日本電信電話株式会社 | 電子計算機 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006041394A1 (de) | 2006-09-04 | 2008-03-13 | Robert Bosch Gmbh | Verfahren zum Synchronisieren von vernetzten Steuereinrichtungen |
US9131013B2 (en) * | 2011-07-29 | 2015-09-08 | International Business Machines Corporation | Tailoring content to be delivered to mobile device based upon features of mobile device |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19500957A1 (de) * | 1994-07-19 | 1996-01-25 | Bosch Gmbh Robert | Verfahren zur Steuerung von technischen Vorgängen oder Prozessen |
DE4445651A1 (de) * | 1994-12-21 | 1996-06-27 | Bosch Gmbh Robert | Verfahren zur Steuerung von technischen Vorgängen |
-
2003
- 2003-01-15 JP JP2003006976A patent/JP2004220326A/ja active Pending
-
2004
- 2004-01-08 US US10/752,554 patent/US20040143656A1/en not_active Abandoned
- 2004-01-14 DE DE102004002020A patent/DE102004002020A1/de not_active Withdrawn
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005031482A1 (ja) * | 2003-09-26 | 2005-04-07 | Mitsubishi Heavy Industries, Ltd. | 大型産業車両用コントローラ |
US7885744B2 (en) | 2003-09-26 | 2011-02-08 | Mitsubishi Heavy Industries, Ltd. | Controllers for heavy duty industrial vehicle |
JP2007126044A (ja) * | 2005-11-04 | 2007-05-24 | Toyota Motor Corp | 車載分散処理システム |
US8010257B2 (en) | 2006-03-13 | 2011-08-30 | Denso Corporation | Electronic control units for controlling in-vehicle devices using time-dependent data and vehicle control system integrating such units for real-time distributed control |
JP2008201386A (ja) * | 2007-02-22 | 2008-09-04 | Auto Network Gijutsu Kenkyusho:Kk | 車載通信システム及び車載通信方法 |
JP2014066165A (ja) * | 2012-09-25 | 2014-04-17 | Toyota Motor Corp | エンジン制御装置 |
DE112021002979T5 (de) | 2020-05-28 | 2023-03-30 | Fanuc Corporation | Steuereinrichtung |
WO2023084739A1 (ja) * | 2021-11-12 | 2023-05-19 | 日本電信電話株式会社 | 電子計算機 |
Also Published As
Publication number | Publication date |
---|---|
US20040143656A1 (en) | 2004-07-22 |
DE102004002020A1 (de) | 2004-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220391273A1 (en) | System, method and computer program product for sharing information in a distributed framework | |
JP4410661B2 (ja) | 分散制御システム | |
JP4728020B2 (ja) | 車両制御用ソフトウェア及び車両制御装置 | |
EP2608040A1 (en) | Simulation method, system and program | |
JP2010285001A (ja) | 電子制御システム、機能代行方法 | |
EP1739890A2 (en) | Processing of data frames exchanged over a communication controller in a time-triggered system | |
JP2004220326A (ja) | 制御ソフトウエア構造およびこの構造を用いた制御装置 | |
CN111791886B (zh) | 用于车辆的实时控制系统以及经由实时控制系统执行车辆控制的方法 | |
US11377056B2 (en) | In-vehicle system | |
EP1452968A1 (en) | Microcomputer logic developing apparatus | |
US20240004640A1 (en) | Computer-Implemented Method And Device For The Automated Update Of A Communication Unit Of A Control Unit Of A Vehicle | |
WO2023004801A1 (zh) | 一种任务处理方法及装置 | |
US20220342702A1 (en) | Real-time scheduling for a heterogeneous multi-core system | |
JP2009017154A (ja) | 車載ゲートウェイ装置 | |
CN114633705A (zh) | 带有同步驱动程序的车辆控制装置 | |
JP4361540B2 (ja) | ゲートウェイ装置、データ転送方法及びプログラム | |
JP7057328B2 (ja) | 車両制御装置、及び車両制御方法 | |
US20090187605A1 (en) | Vehicle Control Apparatus | |
WO2022137665A1 (ja) | 電子制御装置 | |
US20220269546A1 (en) | Control device, method, program, and vehicle | |
JP2002204238A (ja) | 通信制御装置 | |
JP6865707B2 (ja) | 車両用制御装置 | |
CN115224685B (zh) | 配电管理方法、装置、车辆及存储介质 | |
WO2023210128A1 (ja) | 電子制御装置 | |
JP2001050100A (ja) | マイクロプロセッサー・ベースのエンジン制御用待機ポート・データ制御器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050214 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070817 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070904 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071031 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080507 |