JP2000267868A - Electronic controller - Google Patents

Electronic controller

Info

Publication number
JP2000267868A
JP2000267868A JP2000004481A JP2000004481A JP2000267868A JP 2000267868 A JP2000267868 A JP 2000267868A JP 2000004481 A JP2000004481 A JP 2000004481A JP 2000004481 A JP2000004481 A JP 2000004481A JP 2000267868 A JP2000267868 A JP 2000267868A
Authority
JP
Japan
Prior art keywords
message
unit
stored
processing
storage area
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
Application number
JP2000004481A
Other languages
Japanese (ja)
Inventor
Takeshi Kurono
猛 黒野
Kenji Shibata
健志 柴田
Shigeru Kajioka
繁 梶岡
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP2000004481A priority Critical patent/JP2000267868A/en
Publication of JP2000267868A publication Critical patent/JP2000267868A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To obtain an electronic controller capable of processing, without consuming many memory resources, each object obtained by subdividing a program for controlling a control object in each unit function. SOLUTION: When a message is outputted by executing the method of an object, the message is stored (queued) in an object message storing part, and message distribution processing is carried out when the execution of the method of any object is finished. When the message is stored in the object message storing part (S210: YES), one of first stored messages is read (S230) after counting the number of queuing messages (S220), and the processing is shifted to the execution of the method of an object being the output destination of the message (S250 and S260). Consequently, only the message has to be stored and only a small quantity of storage information is needed.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、オブジェクト指向
のプログラムに従って制御対象を制御する電子制御装置
に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an electronic control device for controlling a control target according to an object-oriented program.

【0002】[0002]

【従来の技術】従来より、例えば車両のエンジンを制御
する電子制御装置においては、マイクロコンピュータ
(詳しくは、マイクロコンピュータのCPU)によって
実行されるエンジン制御用のプログラムを、制御の種類
毎に作成するようにしていた。例えば燃料噴射制御に関
しては、エンジンの回転に同期した通常の噴射制御,エ
ンジンの回転とは非同期の噴射制御,及び高回転時の燃
料カット制御といった具合に、制御の種類毎(以下、制
御毎という)にプログラムを夫々作成していた。
2. Description of the Related Art Conventionally, for example, in an electronic control device for controlling a vehicle engine, an engine control program executed by a microcomputer (specifically, a CPU of the microcomputer) is created for each type of control. Was like that. For example, regarding the fuel injection control, each type of control (hereinafter referred to as control) includes normal injection control synchronized with engine rotation, injection control asynchronous with engine rotation, and fuel cut control at high rotation. ) Had each created a program.

【0003】しかしながら、制御毎にプログラムを作成
したのでは、各プログラムに共通部分が多く含まれるこ
ととなるため、プログラムを格納するメモリ資源やプロ
グラムの開発時間に無駄が生じてしまう。例えば、上記
燃料噴射制御の例では、各制御毎のプログラム中に、イ
ンジェクタ(燃料噴射弁)を駆動するための処理部分が
重複して設けられることとなる。また、各プログラムに
共通部分が多いため、その共通部分に関わる制御仕様を
変更しなければならない場合には、各プログラムの中か
ら仕様変更部分に関係するプログラムを捜し出して修正
する必要があり、プログラム開発に多大な時間を要して
しまうこととなっていた。
However, if a program is created for each control, many common parts are included in each program, so that memory resources for storing the program and development time of the program are wasted. For example, in the example of the fuel injection control described above, a processing portion for driving an injector (fuel injection valve) is provided in a redundant manner in a program for each control. Also, since there are many common parts in each program, if it is necessary to change the control specifications related to the common parts, it is necessary to find out the program related to the specification change part from each program and correct it. It would take a lot of time for development.

【0004】そこで、本発明者は、この種の電子制御装
置においても、パーソナルコンピュータなどの場合と同
様に、制御プログラムをオブジェクト指向によって作成
する(プログラミングする)ことを試みている。
Accordingly, the present inventor has attempted to create (program) a control program in an object-oriented manner in this type of electronic control device as in the case of a personal computer or the like.

【0005】オブジェクト指向とは、人間が行動すると
きの如く操作対象に注目して仕事を進めるという考え方
を、コンピュータシステムにモデル化したものであり、
このオブジェクト指向のプログラミングでは、プログラ
ムの処理を、オブジェクトという単位で考える。
[0005] The object orientation is a model in which a computer system is modeled on the concept of proceeding with work focusing on the operation target as when a human is acting.
In this object-oriented programming, the processing of a program is considered in units of objects.

【0006】即ち、オブジェクトは、データとそのデー
タを処理する手続きであるプログラム(以下、メソッド
という)とを、一まとめにしたソフトウェアモジュール
であり、オブジェクト指向のプログラミングでは、制御
プログラムの全機能を部品毎などの単位機能毎に細分化
して、その単位機能毎にオブジェクトを用意する。そし
て、オブジェクト指向のプログラミングでは、オブジェ
クト間でメッセージのやり取りを行う、所謂オブジェク
ト間メッセージ通信の考え方を利用して、各オブジェク
トが結合される。
That is, an object is a software module in which data and a program (hereinafter, referred to as a method) which is a procedure for processing the data are grouped together. In object-oriented programming, all functions of the control program are implemented as components. An object is prepared for each unit function such as each unit. Then, in the object-oriented programming, each object is connected using a concept of so-called inter-object message communication in which messages are exchanged between objects.

【0007】ここで、エンジンのアイドル回転数を制御
するためのプログラムを、オブジェクト指向に基づき作
成した場合の一例について、図28を用いて説明する。
Here, an example in which a program for controlling the engine idle speed is created based on object orientation will be described with reference to FIG.

【0008】尚、図28は、エンジンのアイドル回転数
制御に関する機能を細分してオブジェクト化し、これに
各オブジェクト間でのメッセージのやり取りを加えて示
したメッセージシーケンスチャートである。そして、こ
のメッセージシーケンスチャートでは、オブジェクトを
上下方向の線で示し、そのオブジェクト間でのメッセー
ジのやり取りを左右の矢印で示している。また、オブジ
ェクトを示す線の上にある長方形の枠は、そのオブジェ
クトの処理を表している。
FIG. 28 is a message sequence chart showing the functions related to idle speed control of the engine by subdividing them into objects and adding messages to and from each object. In the message sequence chart, objects are indicated by vertical lines, and exchange of messages between the objects is indicated by left and right arrows. A rectangular frame above a line indicating an object indicates processing of the object.

【0009】一方、本明細書中の説明において、「オブ
ジェクトが…する。」や「オブジェクトは…する。」と
いったオブジェクトを主語とした動作表現は、実際に
は、マイクロコンピュータのCPUがオブジェクトに従
って動作する(換言すれば、CPUがオブジェクトのメ
ソッドを実行する)ことで実現される機能手段(即ち、
本発明における単位処理手段)が、上記「…」の動作を
行うことを示している。また、「オブジェクトが動作す
る」とは、マイクロコンピュータのCPUが、そのオブ
ジェクトのメソッドを実行することを示している。
[0009] On the other hand, in the description in this specification, an operation expression having an object as a subject such as "the object does ..." or "the object does ..." actually means that the CPU of the microcomputer operates according to the object. (That is, the CPU executes the method of the object)
(The unit processing means in the present invention) performs the above-mentioned operation (...). Further, “the object operates” indicates that the CPU of the microcomputer executes the method of the object.

【0010】まず最初に、図28に示した各オブジェク
トの機能について説明する。
First, the function of each object shown in FIG. 28 will be described.

【0011】ISCオブジェクトは、エンジンの水温値
などに基づき、エンジン回転数を最適なアイドル回転数
にするための目標スロットル開度を算出するオブジェク
トであり、水温センサオブジェクトは、エンジンの水温
を検出する水温センサからのアナログ信号をAD変換し
たデジタル値を、水温値に変換するオブジェクトであ
る。そして、AD変換器オブジェクトは、水温センサか
らのアナログ信号をデジタル値に変換(AD変換)する
ためのAD変換器を制御するオブジェクトであり、スロ
ットルコントローラオブジェクトは、エンジンのスロッ
トル弁を、ISCオブジェクトによって算出された目標
スロットル開度となるように制御するオブジェクトであ
る。
[0011] The ISC object is an object for calculating a target throttle opening for setting the engine speed to an optimum idle speed based on the engine water temperature value and the like. The water temperature sensor object detects the engine water temperature. This is an object that converts a digital value obtained by AD-converting an analog signal from a water temperature sensor into a water temperature value. The AD converter object is an object that controls an AD converter for converting an analog signal from the water temperature sensor into a digital value (AD conversion). The throttle controller object controls an engine throttle valve by an ISC object. This is an object that controls to be the calculated target throttle opening.

【0012】次に、図28の各オブジェクトによって実
現される処理の内容について説明する。
Next, the contents of the processing realized by each object in FIG. 28 will be described.

【0013】まず、アイドル回転数制御タイミングにな
るとISCオブジェクトが動作を開始する(つまり、C
PUがISCオブジェクトのメソッドの実行を開始す
る)。そして、図28のに示すように、ISCオブジ
ェクトが、水温センサオブジェクトに水温取得要求のメ
ッセージを送る。
First, when the idle speed control timing comes, the ISC object starts operating (that is, CSC).
The PU starts executing the method of the ISC object). Then, as shown in FIG. 28, the ISC object sends a water temperature acquisition request message to the water temperature sensor object.

【0014】すると、水温センサオブジェクトが動作し
て、図28のに示すように、AD変換器オブジェクト
に水温AD値取得要求のメッセージを送る。そして、そ
の水温AD値取得要求のメッセージに伴い、AD変換器
オブジェクトが動作して、水温センサからのアナログ信
号をデジタル信号に変換する演算を行う。
Then, the water temperature sensor object operates and sends a water temperature AD value acquisition request message to the AD converter object as shown in FIG. Then, the A / D converter object operates in accordance with the water temperature AD value acquisition request message, and performs an operation of converting an analog signal from the water temperature sensor into a digital signal.

【0015】AD変換器オブジェクトは、上記演算を終
了した後、図28のに示すように、水温センサオブジ
ェクトに水温AD値取得応答のメッセージ(即ち、水温
センサのデジタル変換が終了したというメッセージ)を
送る。
After ending the above operation, the AD converter object sends a water temperature AD value acquisition response message (that is, a message indicating that the digital conversion of the water temperature sensor has been completed) to the water temperature sensor object as shown in FIG. send.

【0016】すると、水温センサオブジェクトが、AD
変換器オブジェクトの演算結果に基づいて水温値を算出
し、その算出後、図28のに示すように、ISCオブ
ジェクトに水温取得応答のメッセージ(即ち、水温値の
算出が終了したというメッセージ)を送る。
Then, the water temperature sensor object becomes AD
The water temperature value is calculated based on the calculation result of the converter object, and after the calculation, a message of a water temperature acquisition response (that is, a message that the calculation of the water temperature value has been completed) is sent to the ISC object as shown in FIG. .

【0017】そして、上記水温取得応答のメッセージに
伴い、ISCオブジェクトが、上記算出された水温値に
基づいて目標スロットル開度を算出し、その算出後、I
SCオブジェクトは、図28のに示すように、スロッ
トルコントローラオブジェクトにスロットル設定要求の
メッセージ(即ち、目標スロットル開度を算出したこと
を示すメッセージ)を送る。
The ISC object calculates a target throttle opening based on the calculated water temperature value in response to the water temperature acquisition response message.
The SC object sends a throttle setting request message (that is, a message indicating that the target throttle opening has been calculated) to the throttle controller object as shown in FIG.

【0018】すると、スロットルコントローラオブジェ
クトが動作して、エンジンのスロットル弁を、上記算出
された目標スロットル開度となるように制御し、これに
より、エンジン回転数が最適なアイドル回転数に制御さ
れる。
Then, the throttle controller object operates to control the throttle valve of the engine so as to have the calculated target throttle opening, whereby the engine speed is controlled to the optimum idle speed. .

【0019】このように、オブジェクト指向のプログラ
ムでは、各オブジェクトが他のオブジェクトに対し処理
依頼としてのメッセージを出すことにより、そのメッセ
ージの出力先であるオブジェクトが動作する、といった
仮想的なオブジェクト間メッセージ通信により、各オブ
ジェクトの処理順序が決定される。
As described above, in an object-oriented program, each object issues a message as a processing request to another object, and the virtual object-to-object message such that the object to which the message is output operates. The communication determines the processing order of each object.

【0020】そして、オブジェクト指向によってプログ
ラムを作成すれば、プログラムの共通部分をまとめ易く
なり、制御毎にプログラムを作成する場合と比較して、
制御仕様の変更時にもプログラムの修正が非常に容易と
なる。
When a program is created in an object-oriented manner, common parts of the program can be easily collected, and compared with a case where a program is created for each control,
Even when the control specification is changed, it is very easy to modify the program.

【0021】このようなオブジェクト指向によりプログ
ラムを作成する場合、先にも述べたとおり、オブジェク
ト間の処理要求のやりとり(オブジェクト間メッセージ
通信)方法を考慮する必要がある。このため、従来より
知られている関数コールの手法をオブジェクト間メッセ
ージ通信に適用することも考えられる。
When a program is created in such an object-oriented manner, as described above, it is necessary to consider a method of exchanging processing requests between objects (message communication between objects). Therefore, it is conceivable to apply a conventionally known function call method to message communication between objects.

【0022】関数コールを用いた手法では、図29に示
すように、オブジェクトのメソッド内に、次に処理した
いオブジェクトのメソッドをコールする命令を、書き込
んでおくようにする。そして、オブジェクト間のメッセ
ージ通信を次々に行いたい場合には、コールされるオブ
ジェクトのメソッド内に、他のオブジェクトのメソッド
をコールする命令を予め書き込んでおく。
In the method using a function call, as shown in FIG. 29, an instruction for calling the method of the object to be processed next is written in the method of the object. Then, when it is desired to perform message communication between objects one after another, an instruction for calling a method of another object is previously written in a method of the called object.

【0023】具体的には、図29に例示するように、オ
ブジェクトAのメソッドの実行中に、オブジェクトBの
メソッドをコールし、更に、オブジェクトBのメソッド
の実行中に、オブジェクトCのメソッドをコールする。
つまり、この手法では、関数コールにより、他のオブ
ジェクトに対する処理依頼としてのメッセージが出され
ることとなる。
More specifically, as shown in FIG. 29, the method of the object A is called during the execution of the method of the object A, and the method of the object C is called during the execution of the method of the object B. I do.
That is, in this method, a message as a processing request to another object is issued by the function call.

【0024】[0024]

【発明が解決しようとする課題】このようなプログラム
を実行する際に使用するメモリ領域の利用方法として、
動的(特定のデータを記憶するために記憶領域を確保せ
ず、必要な時に記憶する領域を確保し、不要となった時
点で記憶領域を開放する利用の仕方)と静的(マイコン
が動作中の間中、記憶内容に応じて専用にメモリ領域を
確保する利用の仕方)がある。動的に利用する場合は、
メモリ領域確保をデータの内容(サイズ・個数)によら
ず汎用的に確保することができ、限られたメモリの資源
を有効に利用できる。
As a method of utilizing a memory area used for executing such a program,
Dynamic (how to reserve a storage area when needed without securing a storage area to store specific data and use it to release the storage area when it is no longer needed) and static (when the microcomputer operates During the middle, there is a method of using a memory area that is exclusively reserved according to the stored contents. For dynamic use,
The memory area can be secured for general use regardless of the content (size and number) of data, and limited memory resources can be used effectively.

【0025】動的に利用するには、通常、システム上の
オペレーティングシステム(OS)でメモリ領域を管理
する。OSで管理する場合、メモリ領域確保をデータの
内容(サイズ・個数)によらず汎用的に確保するため、
OSに対しメモリ領域取得命令、メモリ領域解放命令と
いったシステムコールを実行することになるが、システ
ムコールを呼び出すのにかかるオーバーヘッドが大きい
(プログラムの処理負荷が大きい)。従って動作速度を
向上させるためメモリ領域を静的に管理し、その中で動
的に管理できるよう構成することが望まれる。
For dynamic use, the memory area is usually managed by an operating system (OS) on the system. When managing with the OS, in order to secure the memory area for general purpose regardless of the data content (size / number),
A system call such as a memory area acquisition instruction and a memory area release instruction is executed for the OS, but the overhead required to call the system call is large (the processing load of the program is large). Therefore, it is desired that the memory area is statically managed in order to improve the operation speed, and that the memory area can be dynamically managed.

【0026】しかしながら、関数コールを用いる上記の
手法では、コールする側のメソッドの実行を一時中断
し、コールされる側のメソッドを実行した後で、中断し
ていたメソッドの実行を再開することとなる。よって、
中断していたメソッドの実行を再開するためには、中断
直前のマイクロコンピュータの内部状態(即ち、プログ
ラムカウンタや各種レジスタの値)を、RAMのスタッ
ク領域に記憶しておかなければならず、RAMの記憶領
域を多く消費してしまう。
However, in the above method using a function call, execution of the calling method is temporarily suspended, and after execution of the called method, execution of the interrupted method is resumed. Become. Therefore,
In order to resume the execution of the interrupted method, the internal state of the microcomputer immediately before the interruption (that is, the values of the program counter and various registers) must be stored in a stack area of the RAM. Consumes a lot of storage space.

【0027】特に、ネスティング(即ち、多重の層に形
成されるコールの組み合わせ)の数が多くなればなるほ
ど、消費されるRAMの記憶領域が顕著に多くなってし
まい、電子制御装置のようにメモり資源が限られた装置
では限界がある。
In particular, the larger the number of nestings (ie, the combination of calls formed in multiple layers), the more the storage area of the consumed RAM is significantly increased. There is a limit in equipment with limited resources.

【0028】しかも、コール時でのRAMの記憶領域の
消費量は、記憶すべきプログラム実行位置、実行再開後
に利用される変数の値が、センサ入力やその他プログラ
ムの実行状態により変わるので、予め確保する必要があ
る記憶領域を予測することが難しく、静的に利用するこ
とが困難である。
Moreover, the amount of consumption of the storage area of the RAM at the time of the call is secured in advance because the program execution position to be stored and the value of a variable used after resuming execution change depending on sensor inputs and other program execution states. It is difficult to predict the storage area that needs to be used, and it is difficult to use it statically.

【0029】本発明は、こうした問題に鑑みなされたも
のであり、制御対象を制御するためのプログラムを単位
機能毎に細分化した各オブジェクトの処理を、高い動作
速度で且つ多くのメモリ資源を消費することなく行うこ
とのできる電子制御装置を提供することを目的としてい
る。
The present invention has been made in view of such a problem, and performs processing of each object obtained by dividing a program for controlling a control target into unit functions at a high operation speed and consuming a large amount of memory resources. It is an object of the present invention to provide an electronic control device that can be performed without performing the operation.

【0030】[0030]

【課題を解決するための手段、及び発明の効果】請求項
1に記載の本発明の電子制御装置は、制御対象を制御す
るためのプログラムを単位機能毎に細分化したオブジェ
クトに従って、前記各単位機能を実現するための処理を
夫々行う複数の単位処理手段を備えている。
The electronic control unit according to the present invention according to the first aspect of the present invention provides a program for controlling an object to be controlled in accordance with an object obtained by subdividing a program for each unit function. It has a plurality of unit processing means for respectively performing processing for realizing functions.

【0031】ここで、単位処理手段とは、例えば前述し
たように、マイクロコンピュータのCPUがオブジェク
トに従って動作する(換言すれば、CPUがオブジェク
トのメソッドを実行する)ことで実現される機能手段で
ある。つまり、マイクロコンピュータのCPUがオブジ
ェクトのメソッドを実行することにより、そのオブジェ
クトに割り振られた機能を実現するための処理が行われ
る。
Here, the unit processing means is, for example, a function means realized by the CPU of the microcomputer operating according to the object (in other words, the CPU executing the method of the object), as described above. . That is, when the CPU of the microcomputer executes the method of the object, processing for realizing the function allocated to the object is performed.

【0032】そして、本発明の電子制御装置では、その
前提として、複数の単位処理手段の何れかが択一的に処
理動作を行うと共に、各単位処理手段が、その処理動作
中に他の単位処理手段に対して処理依頼としてのメッセ
ージを出すことにより、そのメッセージの出力先である
単位処理手段が処理を行う。
In the electronic control device according to the present invention, it is premised that any one of the plurality of unit processing means performs the processing operation alternatively, and that each of the unit processing means performs another processing during the processing operation. By issuing a message as a processing request to the processing means, the unit processing means which is the output destination of the message performs the processing.

【0033】ここで特に、本発明の電子制御装置は、メ
ッセージ記憶手段と起動制御手段とを備えており、メッ
セージ記憶手段が、メモリ内に予め記憶領域を専用に確
保しておき、ここに単位処理手段の出したメッセージを
記憶する。そして、起動制御手段が、メッセージ記憶手
段に記憶されているメッセージを読み出し、その読み出
したメッセージの出力先である単位処理手段の何れかに
処理を開始させる。
Here, in particular, the electronic control device of the present invention includes a message storage means and a start control means, and the message storage means previously reserves a dedicated storage area in a memory, and stores a unit of the storage area in advance. The message issued by the processing means is stored. Then, the activation control means reads out the message stored in the message storage means, and causes any one of the unit processing means which is the output destination of the read out message to start processing.

【0034】従って、本発明の電子制御装置によれば、
オペレーティングシステムに依存せずにメモリを利用す
ることができ、制御対象を制御するためのプログラムを
単位機能毎に細分化した各オブジェクトの処理を高い動
作速度で行うことができる。しかも、起動制御手段が単
位処理手段の処理を開始させるためのメッセージのみを
専用に確保した記憶領域に記憶させるため、確保すべき
容量が予測しやすくメモリ資源の消費量を減らすことが
可能となる。
Therefore, according to the electronic control device of the present invention,
The memory can be used without depending on the operating system, and the processing of each object obtained by subdividing the program for controlling the control target for each unit function can be performed at a high operation speed. In addition, since the activation control means stores only the message for starting the processing of the unit processing means in the storage area exclusively reserved, it is possible to easily predict the capacity to be reserved and reduce the consumption of memory resources. .

【0035】ところで、起動制御手段は、請求項2に記
載のように、メッセージ記憶手段に記憶されているメッ
セージを読み出して、その読み出したメッセージの出力
先である単位処理手段に処理を開始させると共に、その
読み出したメッセージをメッセージ記憶手段から消去す
るように構成すれば、メッセージ記憶手段に不用となっ
たメッセージが残ることを防止でき、メモリ資源を有効
に活用することができる。
The activation control means reads the message stored in the message storage means and causes the unit processing means, which is the output destination of the read message, to start the processing. If the read message is deleted from the message storage unit, it is possible to prevent the unnecessary message from remaining in the message storage unit, and to effectively use the memory resources.

【0036】次に、請求項3に記載の本発明の電子制御
装置では、前述した請求項1,2に記載の電子制御装置
において、起動制御手段は、単位処理手段の何れかが処
理動作を終了した時点で、メッセージ記憶手段に記憶さ
れているメッセージの内容に応じて、複数の単位処理手
段の何れかの処理を開始させる。
Next, in the electronic control device according to the third aspect of the present invention, in the electronic control device according to the first and second aspects, the activation control means is configured so that any one of the unit processing means performs a processing operation. At the time of termination, one of the plurality of unit processing means is started according to the content of the message stored in the message storage means.

【0037】従って、制御対象を制御するためのプログ
ラムを単位機能毎に細分化した各オブジェクトの処理を
リアルタイムに行うことができる。つまり各オブジェク
トの処理を、イベントドリブンで実行することができ
る。
Accordingly, it is possible to process each object obtained by subdividing the program for controlling the control target for each unit function in real time. That is, the processing of each object can be executed in an event-driven manner.

【0038】次に、請求項4に記載の電子制御装置で
は、前述した請求項1ないし請求項2の何れかに記載の
電子制御装置において、メッセージ記憶手段はメッセー
ジのデータサイズに応じて決定した記憶容量を単位とし
て単位記憶領域を決められた個数確保し、1つの前記単
位記憶領域に1つの前記メッセージの内容を記憶する。
Next, in the electronic control unit according to a fourth aspect, in the electronic control unit according to any one of the first and second aspects, the message storage means is determined according to the data size of the message. A predetermined number of unit storage areas are secured in units of storage capacity, and the contents of one message are stored in one unit storage area.

【0039】これにより、一度にメッセージを記憶する
最大数を予想して設定することができるため、確保すべ
きメッセージ専用の記憶領域を簡単に設定できる。ま
た、従来の関数コールによる手法では、ネスティングが
発生する場合、ネスティングの数が増えるほどメモリ領
域が必要になり、実現するためにメモリ容量を多く確保
する必要があるが、本発明では単位記憶領域のメモリの
みで実現することが可能である。
Thus, the maximum number of messages to be stored at one time can be predicted and set, so that a storage area dedicated to messages to be secured can be easily set. Further, in the conventional method using a function call, when nesting occurs, a memory area is required as the number of nesting increases, and it is necessary to secure a large memory capacity to realize the nesting. It is possible to realize only with the memory of FIG.

【0040】次に、請求項5に記載の電子制御装置で
は、前述した請求項4に記載の電子制御装置において、
各単位処理手段が出すメッセージには、そのメッセージ
の出力先である単位処理手段に対応したオブジェクトを
示す識別コードが含まれている。
Next, in the electronic control device according to the fifth aspect, in the electronic control device according to the fourth aspect,
The message issued by each unit processing means includes an identification code indicating an object corresponding to the unit processing means to which the message is output.

【0041】そして更に、メッセージ記憶手段は、単位
記憶領域に識別コードを記憶する。起動制御手段は識別
コードを読み出し、読み出した識別コードの示す単位処
理手段に処理を開始させる。
Further, the message storage means stores the identification code in the unit storage area. The activation control means reads the identification code and causes the unit processing means indicated by the read identification code to start processing.

【0042】このような請求項5に記載の電子制御装置
によれば、単位記憶領域に記憶するメッセージが定型と
なるため、確保すべきメッセージ専用の記憶領域の記憶
容量を減らすことができる。さらにオペレーティングシ
ステムが提供するような汎用的なメモリ領域の確保・解
放のシステムコール実行に頼らず、独自にメモリ管理す
るよう構成することが容易にできる。
According to the electronic control apparatus of the fifth aspect, since the messages stored in the unit storage area are of a fixed format, the storage capacity of the message-only storage area to be secured can be reduced. Furthermore, it is possible to easily configure the system to independently manage the memory without relying on system calls for securing and releasing a general-purpose memory area provided by the operating system.

【0043】次に、請求項6に記載の電子制御装置によ
れば、前述した請求項1ないし請求項5の何れかに記載
の電子制御装置において、起動制御手段は、所定の処理
を行っている間、メッセージ記憶手段に記憶しているメ
ッセージの数をカウントする。そして、この所定の処理
を行っている間のカウント値で最も大きい値に応じて確
保する記憶領域の容量を決定する。また、請求項7に記
載の電子制御装置によれば、請求項4又は請求項5の何
れかに記載の電子制御装置において、起動制御手段は、
所定の処理を行っている間、メッセージ記憶手段の有す
る単位記憶領域のうちメッセージが記憶されていない単
位記憶領域の数をカウントする。そして、所定の処理を
行っている間のカウント値で最も小さい値に応じて確保
する記憶領域の容量を決定する。
Next, according to the electronic control device of the sixth aspect, in the electronic control device of any one of the first to fifth aspects, the activation control means performs a predetermined process. During this time, the number of messages stored in the message storage means is counted. Then, the capacity of the storage area to be secured is determined according to the largest value among the count values during the execution of the predetermined processing. According to the electronic control device described in claim 7, in the electronic control device according to any one of claims 4 and 5, the activation control means includes:
While the predetermined process is being performed, the number of unit storage areas in which no message is stored among the unit storage areas of the message storage unit is counted. Then, the capacity of the storage area to be secured is determined according to the smallest count value during the execution of the predetermined processing.

【0044】この請求項6および請求項7に記載の電子
制御装置により、所定の処理にて最大のメッセージ記憶
数を求めることができるので、確保すべき記憶領域を求
めることが容易となる。特に請求項4及び請求項5に記
載の単位記憶領域にメッセージを記憶することにすれ
ば、最大のメッセージ記憶数と単位記憶領域の個数が一
致するため、容易に確保すべき記憶領域を求めることが
できる。
With the electronic control device according to the sixth and seventh aspects, the maximum number of stored messages can be obtained by a predetermined process, so that the storage area to be secured can be easily obtained. In particular, if the messages are stored in the unit storage areas according to the fourth and fifth aspects, the maximum number of message storages and the number of the unit storage areas coincide with each other. Can be.

【0045】また、請求項8記載の電子制御装置によれ
ば、請求項4記載の電子制御装置に加え更に、複数の単
位記憶領域にそれぞれメッセージのデータを記憶する部
分とメッセージ記憶手段のアドレス情報を記憶するポイ
ンタ部分とを設け、このポインタ部分により前記メッセ
ージの前記単位記憶領域への記憶順序を決定する。そし
て、起動制御手段により前記単位記憶領域に最初に記憶
されたメッセージのデータを読み出し、その読み出した
メッセージの出力先である、前記複数の単位処理手段の
何れかに処理を開始させる。
According to the electronic control unit of the eighth aspect, in addition to the electronic control unit of the fourth aspect, a portion for storing message data in a plurality of unit storage areas and address information of the message storage means are further provided. Is provided, and the storage order of the message in the unit storage area is determined by the pointer portion. Then, the activation control unit reads out the data of the message stored first in the unit storage area, and causes any one of the plurality of unit processing units, which is the output destination of the read out message, to start processing.

【0046】そして、請求項9に記載の電子制御装置に
よれば、請求項8記載の電子制御装置に加え更に、メッ
セージのデータをN番目に記憶した単位記憶領域のポイ
ンタ部分に、メッセージのデータをN+1番目に記憶し
た単位記憶領域のアドレス情報を記憶する。
According to the electronic control unit of the ninth aspect, in addition to the electronic control unit of the eighth aspect, the data of the message is further stored in the pointer portion of the unit storage area in which the data of the message is stored at the Nth position. Is stored in the (N + 1) -th unit storage area.

【0047】また請求項10の電子制御装置によれば、
請求項8ないし9の何れかに記載の電子制御装置に加え
更に、メッセージ記憶手段に、メッセージのうち最初に
記憶したメッセージのデータが記憶された単位記憶領域
のアドレスと、最後に記憶したメッセージのデータが記
憶された単位記憶領域のアドレスとを記憶するメッセー
ジ記憶管理手段を設け、このメッセージ記憶管理手段の
記憶する情報を基に、起動制御手段が単位処理手段の何
れかに処理を開始させる。
According to the electronic control unit of the tenth aspect,
10. The electronic control unit according to claim 8, further comprising: an address of a unit storage area where data of a message stored first among the messages is stored in the message storage means; Message storage management means for storing the address of the unit storage area in which the data is stored is provided, and the activation control means causes any of the unit processing means to start processing based on the information stored in the message storage management means.

【0048】この請求項8、9、10記載の電子制御装
置により、メモリ資源の消費量を減らしながら、アドレ
スを記憶するだけで簡易にメッセージの管理(オブジェ
クトの処理)を管理することができる。
With the electronic control device according to the eighth, ninth, and tenth aspects, message management (object processing) can be easily managed only by storing addresses while reducing the amount of memory resources consumed.

【0049】また請求項11記載の電子制御装置によれ
ば、請求項8ないし10の何れかに記載の電子制御装置
に加え更に、メッセージ記憶手段に、複数の単位記憶領
域のうち、メッセージのデータが記憶されていない未記
憶単位記憶領域を管理する単位記憶領域管理手段を設
け、未記憶単位記憶領域が複数ある場合に各未記憶単位
記憶領域のアドレス情報を、1つを除いて別の未記憶単
位記憶領域のうちどれか1つの単位記憶領域のポインタ
部分に記憶する。
According to an eleventh aspect of the present invention, in addition to the electronic control unit according to any one of the eighth to tenth aspects, the message storage means further stores a message data of a plurality of unit storage areas. A unit storage area management means for managing an unstored unit storage area in which no unstored unit storage area is stored. It is stored in a pointer portion of any one of the storage unit storage areas.

【0050】そして単位記憶領域管理手段が、未記憶単
位記憶領域のうち、他の未記憶単位記憶領域のポインタ
部分にアドレス情報が記載されていない未記憶単位記憶
領域のアドレス情報と、他の未記憶単位記憶領域のアド
レス情報を記憶していない未記憶単位記憶領域のアドレ
ス情報とを記憶することにより未記憶単位記憶領域を管
理する。
Then, the unit storage area management means stores the address information of the unstored unit storage area in which the address information is not described in the pointer portion of the other unstored unit storage area, and The non-storage unit storage area is managed by storing the address information of the non-storage unit storage area in which the storage unit storage area address information is not stored.

【0051】これにより簡易にメッセージの管理(オブ
ジェクトの処理)とともに、メッセージを記憶していな
い単位記憶領域の管理もアドレスを記憶するだけで簡易
に行うことができる。
Thus, the management of the message (object processing) and the management of the unit storage area in which the message is not stored can be easily performed only by storing the address.

【0052】[0052]

【発明の実施の形態】以下、本発明が適用された実施形
態の電子制御装置について図面を用いて説明する。尚、
本発明は、下記の実施形態に限定されることなく、本発
明の技術的範囲に属する限り、種々の形態を採り得るこ
とは言うまでもない。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An electronic control unit according to an embodiment of the present invention will be described below with reference to the drawings. still,
It is needless to say that the present invention is not limited to the embodiments described below, and can take various forms within the technical scope of the present invention.

【0053】まず図1は、自動車に搭載されて内燃機関
型エンジンの制御を行う実施形態の電子制御装置(以
下、ECUという)1のハードウェア構成を表すブロッ
ク図である。
FIG. 1 is a block diagram showing a hardware configuration of an electronic control unit (hereinafter, referred to as an ECU) 1 mounted on an automobile and controlling an internal combustion engine.

【0054】図1に示すように、ECU1は、エンジン
の水温を検出する水温センサやエンジンの回転数を検出
するクランクセンサなどの各種センサからの入力信号に
基づきエンジンに対する最適制御量を演算し、その演算
結果に基づき制御信号を出力するCPU3と、各種セン
サからの信号を入力してCPU3に送ると共に、CPU
3からの制御信号を受けて、エンジンのスロットル弁や
インジェクタ(燃料噴射弁)等のアクチュエータを駆動
する入出力回路2と、CPU3がエンジンを制御するた
めに実行するプログラム及びそのプログラムの実行時に
参照されるデータを格納する不揮発性のROM5と、C
PU3の演算結果等を一時格納する揮発性のRAM6と
を備えている。
As shown in FIG. 1, the ECU 1 calculates an optimal control amount for the engine based on input signals from various sensors such as a water temperature sensor for detecting the temperature of the engine and a crank sensor for detecting the number of revolutions of the engine. The CPU 3 outputs a control signal based on the calculation result, and receives signals from various sensors and sends them to the CPU 3.
3, an input / output circuit 2 for driving an actuator such as an engine throttle valve or an injector (fuel injection valve) in response to a control signal from the engine 3, a program executed by the CPU 3 for controlling the engine, and a reference when the program is executed. A non-volatile ROM 5 for storing data to be stored;
A volatile RAM 6 for temporarily storing the operation results of the PU 3 and the like.

【0055】そして、このECU1においては、上記C
PU3,ROM5,及びRAM6によりマイクロコンピ
ュータの主要部が構成されており、図示はされていない
が、そのマイクロコンピュータには、CPU3が入出力
回路2との間で信号の入出力を行うためのI/Oポート
も備えられている。また、RAM6の一部の記憶領域
は、ECU1への電源供給が遮断された状態においても
記憶内容を保持可能なバックアップRAMとして設定さ
れている。
In the ECU 1, the above C
PU3, ROM5, and RAM6 constitute a main part of the microcomputer, and although not shown, the microcomputer has an I / O for the CPU 3 to input and output signals to and from the input / output circuit 2. An / O port is also provided. Further, a part of the storage area of the RAM 6 is set as a backup RAM that can retain the stored contents even when the power supply to the ECU 1 is cut off.

【0056】またCPU3が実行するプログラムが決め
られたとおりに動作しているかどうかを確かめる際に
は、デバッグツール7をECU1の外部より入出力回路
2に接続する。デバッグツール7を入出力回路2に接続
した後、RAM6内にフラグDEBUGがたったとき、
CPU3はプログラム動作確認のため所定の処理を行
う。
To check whether the program executed by the CPU 3 is operating as determined, the debug tool 7 is connected to the input / output circuit 2 from outside the ECU 1. When the flag DEBUG is set in the RAM 6 after the debug tool 7 is connected to the input / output circuit 2,
The CPU 3 performs a predetermined process for confirming the program operation.

【0057】ところで、本実施形態のECU1におい
て、ROM5に格納されてCPU3により実行されるエ
ンジン制御用のプログラム及びデータは、オブジェクト
指向によってプログラミングされている。そのため、本
実施形態のECU1では、前述したオブジェクト間メッ
セージ通信を実現するための手段として、図2に示すメ
ッセージ配送制御部10を備えている。
In the ECU 1 of the present embodiment, the engine control programs and data stored in the ROM 5 and executed by the CPU 3 are programmed in an object-oriented manner. Therefore, the ECU 1 of the present embodiment includes the message delivery control unit 10 shown in FIG. 2 as a means for realizing the above-described message communication between objects.

【0058】尚、図2は、ハードウェア構成を示すもの
ではなく、ROM5に格納されたエンジン制御用のオブ
ジェクトと、メッセージ配送制御部10との関係を示す
概念図である。そして、メッセージ配送制御部10は、
ハードウェアによって構成されているのではなく、CP
U3がROM5に格納されたメッセージ配送制御用のオ
ブジェクトに従い動作することで実現される機能手段で
ある。
FIG. 2 is a conceptual diagram showing the relationship between the engine control object stored in the ROM 5 and the message delivery control unit 10, not showing the hardware configuration. Then, the message delivery control unit 10
Instead of being configured by hardware, CP
U3 is a functional means realized by operating in accordance with the message delivery control object stored in the ROM 5.

【0059】そこで、以下では、メッセージ配送制御部
10について、エンジンのアイドル回転数を制御するた
めのプログラム部分を例に挙げて説明する。
Therefore, the message delivery control unit 10 will be described below with reference to an example of a program portion for controlling the idle speed of the engine.

【0060】まず、図2に示すように、ROM5には、
エンジンのアイドル回転数を制御するためのオブジェク
トとして、エンジンの水温値や実際の回転数などに基づ
き、エンジン回転数を最適なアイドル回転数にするため
の目標スロットル開度を算出するISCオブジェクトO
B1と、水温センサからのアナログ信号をAD変換した
デジタル値を、水温値に変換する水温センサオブジェク
トOB2と、水温センサからのアナログ信号をデジタル
値に変換(AD変換)するためのAD変換器(図示省
略)を制御するAD変換器オブジェクトOB3と、クラ
ンクセンサからの信号に基づきエンジン回転数を算出す
るクランクセンサオブジェクトOB5と、エンジンのス
ロットル弁を、ISCオブジェクトによって算出された
目標スロットル開度となるように制御するスロットルコ
ントローラオブジェクトOB4と、が格納されている。
First, as shown in FIG.
As an object for controlling the idle speed of the engine, an ISC object O for calculating a target throttle opening for setting the engine speed to the optimum idle speed based on the water temperature value of the engine and the actual speed.
B1, a water temperature sensor object OB2 for converting a digital value obtained by AD-converting an analog signal from the water temperature sensor into a water temperature value, and an AD converter (AD conversion) for converting an analog signal from the water temperature sensor into a digital value (AD conversion) ( (Not shown), a crank sensor object OB5 for calculating an engine speed based on a signal from the crank sensor, and a throttle opening of the engine at the target throttle opening calculated by the ISC object. And a throttle controller object OB4 that performs control as described above.

【0061】また、ROM5には、上記オブジェクトO
B1〜OB5以外のオブジェクトも格納されており、そ
の中には、メッセージ配送制御部10の機能を実現する
ためのオブジェクト(メッセージ配送制御用のオブジェ
クト)が含まれている。
In the ROM 5, the object O
Objects other than B1 to OB5 are also stored, and include objects for implementing the functions of the message delivery control unit 10 (objects for message delivery control).

【0062】次に、上記各オブジェクトOB1〜OB5
によって実現される処理の概要について、図3のメッセ
ージシーケンスチャートに沿って説明する。
Next, each of the objects OB1 to OB5
An outline of the processing realized by the above will be described with reference to the message sequence chart of FIG.

【0063】まず、アイドル回転数制御のタイミングを
決定するために定期的(例えば4ms毎)に実行される
上記オブジェクトOB1〜OB5以外の他のオブジェク
トから、図3のに示すように、ISCオブジェクトO
B1へスロットル設定開始要求のメッセージが出される
と、ISCオブジェクトOB1が動作を開始する(つま
り、CPU3がISCオブジェクトOB1のメソッドの
実行を開始する)。
First, an object other than the objects OB1 to OB5, which are executed periodically (for example, every 4 ms) to determine the timing of the idle speed control, is used to determine the ISC object O as shown in FIG.
When the throttle setting start request message is issued to B1, the ISC object OB1 starts operating (that is, the CPU 3 starts executing the method of the ISC object OB1).

【0064】そして、ISCオブジェクトOB1は、図
3のに示すように、水温センサオブジェクトOB2へ
水温取得要求のメッセージを出し、次いで、図3のに
示すように、クランクセンサオブジェクトOB5へエン
ジン回転数取得要求のメッセージを出す。
Then, as shown in FIG. 3, the ISC object OB1 sends a water temperature acquisition request message to the water temperature sensor object OB2, and then, as shown in FIG. 3, acquires the engine speed from the crank sensor object OB5. Issues a request message.

【0065】すると、上記水温取得要求のメッセージに
伴い、水温センサオブジェクトOB2が動作して、図3
のに示すように、AD変換器オブジェクトOB3へ水
温AD値取得要求のメッセージを出す。
Then, the water temperature sensor object OB2 operates according to the above-mentioned water temperature acquisition request message, and FIG.
As shown in (5), a message of a water temperature AD value acquisition request is issued to the AD converter object OB3.

【0066】一方、上記エンジン回転数取得要求のメッ
セージに伴い、クランクセンサオブジェクトOB5が動
作して、クランクセンサからの信号に基づきエンジン回
転数を算出する。そして、クランクセンサオブジェクト
OB5は、エンジン回転数の算出を終了した後、図3の
に示すように、ISCオブジェクトOB1へエンジン
回転数取得応答のメッセージ(即ち、エンジン回転数の
算出が終了したというメッセージ)を出す。
On the other hand, the crank sensor object OB5 operates in accordance with the engine speed acquisition request message, and calculates the engine speed based on a signal from the crank sensor. Then, after completing the calculation of the engine speed, the crank sensor object OB5 sends a message of an engine speed acquisition response to the ISC object OB1 (that is, a message indicating that the calculation of the engine speed has been completed) as shown in FIG. ).

【0067】また、水温センサオブジェクトOB2が出
した水温AD値取得要求のメッセージに伴い、AD変換
器オブジェクトOB3が動作して、水温センサからのア
ナログ信号をデジタル値に変換する演算を行う。そし
て、AD変換器オブジェクトOB3は、上記演算を終了
した後、図3のに示すように、水温センサオブジェク
トOB2へ水温AD値取得応答のメッセージ(即ち、水
温センサのデジタル変換が終了したというメッセージ)
を出す。
The AD converter object OB3 operates according to the water temperature AD value acquisition request message issued by the water temperature sensor object OB2, and performs an operation of converting an analog signal from the water temperature sensor into a digital value. After completing the above calculation, the AD converter object OB3 sends a water temperature AD value acquisition response message to the water temperature sensor object OB2 as shown in FIG. 3 (that is, a message indicating that digital conversion of the water temperature sensor has been completed).
Put out.

【0068】すると、水温センサオブジェクトOB2
は、AD変換器オブジェクトOB3の演算結果に基づい
て水温値を算出し、その算出後、図3のに示すよう
に、ISCオブジェクトOB1へ水温取得応答のメッセ
ージ(即ち、水温値の算出が終了したというメッセー
ジ)を出す。
Then, the water temperature sensor object OB2
Calculates the water temperature value based on the calculation result of the AD converter object OB3, and after the calculation, as shown in FIG. 3, a message of the water temperature acquisition response to the ISC object OB1 (that is, the calculation of the water temperature value is completed). Message).

【0069】そして、上記水温取得応答のメッセージ或
いは上記エンジン回転数取得応答のメッセージに伴い、
ISCオブジェクトOB1が動作して、水温センサオブ
ジェクトOB2により算出された水温値とクランクセン
サオブジェクトOB5により算出されたエンジン回転数
とに基づき目標スロットル開度を算出し、その算出後、
ISCオブジェクトOB1は、図3のに示すように、
スロットルコントローラオブジェクトOB4へスロット
ル設定要求のメッセージ(即ち、目標スロットル開度を
算出したことを示すメッセージ)を出す。
Then, with the water temperature acquisition response message or the engine speed acquisition response message,
The ISC object OB1 operates to calculate a target throttle opening based on the water temperature value calculated by the water temperature sensor object OB2 and the engine speed calculated by the crank sensor object OB5.
The ISC object OB1 is, as shown in FIG.
A throttle setting request message (that is, a message indicating that the target throttle opening has been calculated) is issued to the throttle controller object OB4.

【0070】すると、スロットルコントローラオブジェ
クトOB4が動作して、エンジンのスロットル弁を、上
記算出された目標スロットル開度となるように制御し、
これにより、エンジン回転数が最適なアイドル回転数に
制御される。
Then, the throttle controller object OB4 operates to control the throttle valve of the engine so that the calculated target throttle opening is obtained.
Thus, the engine speed is controlled to the optimum idle speed.

【0071】このように、本実施形態のECU1では、
各オブジェクトOB1〜OB5が他のオブジェクトに対
し処理依頼としてのメッセージを出すことにより、その
メッセージの出力先であるオブジェクトが動作する、と
いった仮想的なオブジェクト間メッセージ通信により、
各オブジェクトOB1〜OB5の処理順序が決定されて
いる。
As described above, in the ECU 1 of the present embodiment,
Each of the objects OB1 to OB5 issues a message as a processing request to another object, and the object that is the output destination of the message operates, thereby performing virtual inter-object message communication.
The processing order of the objects OB1 to OB5 is determined.

【0072】次に、上記のようなオブジェクト間メッセ
ージ通信を実現するためのメッセージ配送制御部10
は、各オブジェクトが出したメッセージをキューイング
すると共に、所定の配送条件が成立する毎に、上記キュ
ーイングしたメッセージのうち最初にキューイングした
メッセージを読み出して、その読み出したメッセージを
当該メッセージの出力先であるオブジェクトに配送する
ものである。
Next, the message delivery control unit 10 for realizing the above-described inter-object message communication.
Queues the messages issued by each object, reads the first queued message among the queued messages each time a predetermined delivery condition is satisfied, and outputs the read message to the message. Deliver to the destination object.

【0073】尚、「キューイング」とは、キューに対し
てデータの挿入記憶を行う操作のことであり、「キュ
ー」とは、待ち行列であって、データ構造体のうち、一
方の端でデータの挿入が行われ、他方の端でデータの削
除が行われるものである。また、「配送」とは、メッセ
ージの出力先であるオブジェクトの処理(詳しくは、メ
ッセージにより指定されるオブジェクトのメソッドの実
行)を開始させることを意味している。
Note that "queuing" is an operation of inserting and storing data in a queue, and a "queue" is a queue, and one end of a data structure at one end. Data is inserted, and data is deleted at the other end. “Delivery” means to start processing of an object that is a message output destination (specifically, execution of a method of an object specified by the message).

【0074】そして、メッセージ配送制御部10は、図
2に示すように、各オブジェクトからのメッセージをキ
ューイングするためのオブジェクトメッセージ格納部1
2と、このオブジェクトメッセージ格納部12に対し
て、メッセージを記憶(キューイング)するための記憶
領域を確保する空きメモリブロック格納部14とを備え
ている。
Then, as shown in FIG. 2, the message delivery control section 10 stores the object message storage section 1 for queuing a message from each object.
2 and an empty memory block storage unit 14 for securing a storage area for storing (queuing) messages in the object message storage unit 12.

【0075】ここで、オブジェクトメッセージ格納部1
2と空きメモリブロック格納部14は、RAM6上に確
保されたメッセージ専用の記憶領域を確保するものであ
り、確保した記憶領域の容量はダイナミックに変動す
る。なお詳細は後述する。
Here, the object message storage unit 1
2 and the empty memory block storage unit 14 are for securing a message-only storage area secured on the RAM 6, and the capacity of the secured storage area dynamically fluctuates. The details will be described later.

【0076】一方、本実施形態において、各オブジェク
トから出されるメッセージには、そのメッセージ内容と
して、当該メッセージの出力先のオブジェクトを示すオ
ブジェクト識別番号(以下、OIDという)と、その出
力先のオブジェクトを構成するメソッドのうちで実行さ
れるべきメソッドを示すメソッド識別番号(以下、MI
Dという)とが含まれており、更に引数を含んでいる場
合もある。なお、引数の代わりにメッセージ送信先の演
算に必要なデータを記憶するアドレスでもよい。
On the other hand, in the present embodiment, the message issued from each object includes, as its message contents, an object identification number (hereinafter, referred to as OID) indicating the output destination object of the message, and the object of the output destination. A method identification number (hereinafter, MI) indicating the method to be executed among the constituent methods
D), and may further include an argument. Instead of the argument, an address for storing data necessary for the operation of the message transmission destination may be used.

【0077】そして、メッセージ配送制御部10は、図
2に示すように、オブジェクトメッセージ格納部12か
ら読み出したメッセージの配送先を特定するために、換
言すれば、読み出したメッセージに含まれているOID
とMIDが示すオブジェクトのメソッドが、ROM5の
何れのアドレスに格納されているかを特定するために、
接続情報データベース16を備えている。
Then, as shown in FIG. 2, the message delivery control section 10 specifies the delivery destination of the message read from the object message storage section 12, in other words, the OID included in the read message.
In order to identify at which address of the ROM 5 the method of the object indicated by MID is stored,
A connection information database 16 is provided.

【0078】この接続情報データベース16は、図4に
示す如く、OIDとMIDの各組み合せと、それら各組
み合せが示すオブジェクトのメソッドが格納されている
ROM5の先頭アドレス(即ち、実行開始アドレス)と
を、対応付けて記憶したデータテーブルからなる。例え
ば、図4のデータテーブルでは、OIDがnでMIDが
mであるオブジェクトのメソッドが、ROM5において
「Anm」というアドレスを先頭にして格納されている
ことを示す。そして、このようなデータテーブルからな
る接続情報データベース16は、各オブジェクトと共に
ROM5に予め格納されている。
As shown in FIG. 4, the connection information database 16 stores each combination of OID and MID and the start address (ie, execution start address) of the ROM 5 in which the method of the object indicated by each combination is stored. , And a data table stored in association therewith. For example, the data table of FIG. 4 indicates that the method of the object whose OID is n and whose MID is m is stored in the ROM 5 starting from the address “Anm”. The connection information database 16 including such a data table is stored in the ROM 5 together with each object.

【0079】次に前述のオブジェクトメッセージ格納部
12と空きメモリブロック格納部14の詳細について説
明する。前述のメッセージの記憶領域はこのオブジェク
トメッセージ格納部12と空きメモリブロック格納部1
4が指定して確保しており、またメッセージのデータの
サイズに合わせた所定の容量を単位として確保される
(その単位容量の記憶領域をメモリブロックと呼ぶ)。
つまりRAM6内にはプログラムにて指定されている
所定数(例えば5個)分のメモリブロックがメッセージ
専用の記憶領域として確保されている。
Next, the details of the object message storage unit 12 and the empty memory block storage unit 14 will be described. The storage area of the above-mentioned message is stored in the object message storage unit 12 and the free memory block storage unit 1.
4 is specified and secured, and is secured in units of a predetermined capacity corresponding to the size of the message data (the storage area of the unit capacity is called a memory block).
In other words, a predetermined number (for example, 5) of memory blocks designated by the program are secured in the RAM 6 as message-only storage areas.

【0080】このメモリブロックは図5(a)に示すよ
うにメッセージの出力先のOIDを記憶するOID部
と、メッセージの出力先のMIDを記憶するMID部
と、引数を記憶する引数部とを有する。また、メモリブ
ロックはオブジェクトメッセージ格納部12と空きメモ
リブロック格納部14に確保されている時、所定のルー
ルで確保から解放する順序が決められているため、この
順序に従って次の順のメモリブロックのメモリアドレス
を指定するポインタも有する。
As shown in FIG. 5A, this memory block includes an OID section for storing an OID of a message output destination, an MID section for storing an MID of a message output destination, and an argument section for storing an argument. Have. When the memory blocks are secured in the object message storage unit 12 and the free memory block storage unit 14, the order in which the memory blocks are released from being secured by a predetermined rule is determined. It also has a pointer to specify a memory address.

【0081】例えばメモリアドレス0000〜0004
の順に5つのメモリブロックが確保されているとする
と、ポインタは図5(b)に示すようにメモリアドレス
0000のメモリブロックのポインタには0001、メ
モリアドレス0001のメモリブロックのポインタには
0002、という具合で書き込まれており、最終となる
メモリアドレス0004のメモリブロックのポインタに
は何も存在していないという意味を持つNULLが書き
込まれる。
For example, memory addresses 0000 to 0004
Assuming that five memory blocks are secured in this order, the pointer is 0001 for the pointer of the memory block at the memory address 0000 and 0002 for the pointer of the memory block at the memory address 0001, as shown in FIG. 5B. NULL, which means that nothing exists, is written in the pointer of the memory block at the final memory address 0004.

【0082】なお以下説明を簡略化するため、メモリブ
ロックの確保する数を5個、解放する順序を0000→
0001→0002→0003→0004で統一する
が、これに限るものではない。
For the sake of simplicity, the number of memory blocks to be reserved is 5, and the order of release is 0000 →
0001->0002->0003-> 0004 are unified, but the invention is not limited to this.

【0083】この予め確保されているメモリブロックの
うちメッセージが書き込まれている(OID、MIDが
書き込まれている)メモリブロック(以下、メッセージ
ブロックと呼ぶ)がオブジェクトメッセージ格納部12
に、メッセージが書き込まれていないメモリブロック
(以下、空きメモリブロックと呼ぶ)が空きメモリブロ
ック格納部12に確保される。
The memory block (hereinafter, referred to as a message block) in which a message is written (in which the OID and MID are written) among the memory blocks reserved in advance is stored in the object message storage unit 12.
Then, a memory block in which no message is written (hereinafter referred to as a free memory block) is secured in the free memory block storage unit 12.

【0084】そして、オブジェクトからメッセージが出
されると、空きメモリブロック格納部14に確保されて
いるメモリブロックが1つ減り、その代わりに、オブジ
ェクトメッセージ格納部12が確保するメモリブロック
が1つ増えて、その増加されたメモリブロックにメッセ
ージが記憶される。また、オブジェクトメッセージ格納
部12からメッセージが読み出されてオブジェクトに配
送されると、そのメッセージが記憶されていたメモリブ
ロックがオブジェクトメッセージ格納部12から、空き
メモリブロック格納部14に戻るようになっている。
When a message is issued from the object, the number of memory blocks reserved in the empty memory block storage unit 14 decreases by one, and instead, the number of memory blocks reserved by the object message storage unit 12 increases by one. , The message is stored in the increased memory block. When the message is read from the object message storage unit 12 and delivered to the object, the memory block storing the message returns from the object message storage unit 12 to the free memory block storage unit 14. I have.

【0085】次にオブジェクトメッセージ格納部12と
空きメモリブロック格納部14はどのようにメモリブロ
ックを確保しているか図6を用いて説明する。
Next, how the object message storage unit 12 and the free memory block storage unit 14 secure memory blocks will be described with reference to FIG.

【0086】オブジェクトメッセージ格納部12と空き
メモリブロック格納部14はそれぞれ確保しているメモ
リブロックのうち、最初に解放するメモリブロックのメ
モリアドレスとを先頭アドレスとして、最後に解放する
メモリブロックのメモリアドレスを末尾アドレスとして
記憶している。
The object message storage unit 12 and the free memory block storage unit 14 use the memory address of the memory block to be released first among the secured memory blocks as the head address, and the memory address of the memory block to be released last. Is stored as the end address.

【0087】最初は、メモリブロックは全て空きメモリ
ブロックで、メッセージをキューイングしていないた
め、図6(a)に示すように、空きメモリブロック格納
部14は先頭アドレスとして0000を、末尾アドレス
として0004を記憶している。そしてオブジェクトメ
ッセージ格納部14は先頭アドレスおよび末尾アドレス
としてNULLを記憶している。
Initially, all the memory blocks are empty memory blocks and no messages are queued. Therefore, as shown in FIG. 6A, the empty memory block storage unit 14 sets 0000 as the start address and 0000 as the end address. 0004 is stored. The object message storage unit 14 stores NULL as the start address and the end address.

【0088】また、決められた順序に従って、メモリア
ドレス0000〜0004の各メモリブロック(空きメ
モリブロック)のポインタにはそれぞれ0001、00
02、0003、0004、NULLが書き込まれてい
る。
Further, according to the determined order, the pointers of the memory blocks (empty memory blocks) at the memory addresses 0000 to 0004 are 0001 and 00, respectively.
02, 0003, 0004, and NULL are written.

【0089】ここからメッセージのやりとりがなされ、
メッセージを2個キューイングしたとすると、図6
(b)に示すとおり、オブジェクトメッセージ格納部1
4は先頭アドレスとして0000、末尾アドレスとして
0001を記憶しており、空きメモリブロック格納部1
4は先頭アドレスとして0002、末尾アドレスとして
0004を記憶している。
The message is exchanged from here.
Assuming that two messages are queued, FIG.
As shown in (b), the object message storage unit 1
4 stores 0000 as the start address and 0001 as the end address.
4 stores 0002 as a start address and 0004 as an end address.

【0090】そして、メモリアドレス0000、000
1のメモリブロック(メッセージブロック)のポインタ
には、それぞれ0001、NULLが書き込まれ、メモ
リアドレス0002、0003、0004のメモリブロ
ック(空きメモリブロック)のポインタには、それぞれ
0003、0004、NULLが書き込まれている。な
お、OIDa、OIDb、MIDa、MIDbはキュー
イングしたメッセージの出力先のOIDとMIDであ
る。
Then, the memory address 0000, 000
0001 and NULL are respectively written in the pointers of one memory block (message block), and 0003, 0004 and NULL are respectively written in the pointers of the memory blocks (empty memory blocks) of the memory addresses 0002, 0003 and 0004. ing. Note that OIDa, OIDb, MIDa, and MIDb are the OID and MID of the output destination of the queued message.

【0091】また、図6(a)の状態からメッセージの
やりとりがなされ、メッセージを5個キューイングした
とすると、空きメモリブロックがない状態なので、図6
(c)に示すとおり、オブジェクトメッセージ格納部1
4は先頭アドレスとして0000、末尾アドレスとして
0004を記憶しており、空きメモリブロック格納部1
4は先頭アドレス、および末尾アドレスとしてNULL
を記憶している。
If messages are exchanged from the state of FIG. 6A and five messages are queued, there is no empty memory block.
As shown in (c), the object message storage unit 1
4 stores 0000 as the start address and 0004 as the end address.
4 is NULL as a start address and an end address
I remember.

【0092】そしてメモリアドレス0000〜0004
の各メモリブロック(メッセージブロック)のポインタ
には、図示のように0001、0002、0003、0
004、NULLが書き込まれている。なお、 OID
c〜g、MIDc〜gはキューイングしたメッセージの
出力先のOIDとMIDである。
Then, the memory addresses 0000 to 0004
0001, 0002, 0003, 0 as shown in the pointer of each memory block (message block) of FIG.
004, NULL is written. OID
c to g and MIDs c to g are the OID and MID of the output destination of the queued message.

【0093】オブジェクトからメッセージをキューイン
グする場合は、まず、空きメモリブロック格納部14
が、先頭アドレスとして記憶しているメモリアドレスの
メモリブロックの次に解放するメモリブロックのメモリ
アドレスを先頭アドレスに書き込むことでメモリブロッ
クを解放する。その後、受け取ったメッセージのOI
D、MID、引数を、解放したメモリブロックの該当場
所に書き込む。そして、この書き込んだメモリブロック
をオブジェクトメッセージ格納部12が確保するため
に、これまでオブジェクトメッセージ格納部12の末尾
アドレスとして記憶していたメモリアドレスのメモリブ
ロックのポインタを、NULLから新しく確保するメモ
リブロックのメモリアドレスに書き換え、新しく確保す
るメモリブロックのポインタをNULLにする。最後
に、オブジェクトメッセージ格納部12に末尾アドレス
として新しく確保するメモリブロックのメモリアドレス
を記憶する。
When queuing a message from an object, first, the free memory block storage unit 14
Releases the memory block by writing the memory address of the memory block to be released next to the memory block of the memory address stored as the head address in the head address. Then, the OI of the received message
D, MID, and arguments are written to the corresponding locations of the released memory block. Then, in order for the object message storage unit 12 to secure the written memory block, a memory block for newly securing a memory block pointer of a memory address previously stored as the end address of the object message storage unit 12 from NULL. And the pointer of the newly secured memory block is set to NULL. Finally, the memory address of the newly secured memory block is stored in the object message storage unit 12 as the end address.

【0094】また、オブジェクトにメッセージを配送す
る場合は、オブジェクトメッセージ格納部12に先頭ア
ドレスとして記憶されていたメモリアドレスのメモリブ
ロックの次に解放するメモリブロックのメモリアドレス
を先頭アドレスとして記憶し直し、メモリブロックを解
放する。そして解放したメモリブロックに記憶されてい
るOIDとMIDと読み込み、該当するオブジェクトに
メッセージを配送する。その後、オブジェクトメッセー
ジ格納部12から解放したメモリブロックを空きメモリ
ブロック格納部14にて確保するため、これまで空きメ
モリブロック格納部12に末尾アドレスとして記憶され
ていたメモリアドレスのメモリブロックのポインタをN
ULLから解放したメモリブロックのメモリアドレスに
書き換えるとともに、新しく確保するメモリブロックの
ポインタにNULLを書き込む。最後に、空きメモリブ
ロック格納部14に末尾アドレスとして新しく確保する
メモリブロックのメモリアドレスを記憶する。
When the message is delivered to the object, the memory address of the memory block to be released next to the memory block of the memory address stored as the head address in the object message storage unit 12 is stored again as the head address. Release a memory block. Then, the OID and the MID stored in the released memory block are read, and the message is delivered to the corresponding object. Thereafter, in order to secure the memory block released from the object message storage unit 12 in the free memory block storage unit 14, the pointer of the memory block of the memory address previously stored as the end address in the free memory block storage unit 12 is set to N.
In addition to rewriting the memory address of the memory block released from the UL, NULL is written to the pointer of the newly secured memory block. Finally, the memory address of the newly secured memory block is stored in the free memory block storage unit 14 as the end address.

【0095】よって、概念的には、RAM6内に確保さ
れた全てのメモリブロックは、最初は空きメモリブロッ
ク格納部14に入っており、オブジェクトからメッセー
ジが出されると、空きメモリブロック格納部14からオ
ブジェクトメッセージ格納部12へメモリブロックが1
つ引き渡されて(移管されて)、その引き渡されたメモ
リブロックにメッセージが記憶される。また、オブジェ
クトメッセージ格納部12にキューイングされたメッセ
ージが読み出されてオブジェクトに配送されると、その
メッセージが記憶されていたメモリブロックは、オブジ
ェクトメッセージ格納部12から空きメモリブロック格
納部14へ戻されて再利用される。
Therefore, conceptually, all the memory blocks secured in the RAM 6 are initially stored in the free memory block storage unit 14, and when a message is issued from the object, the free memory block storage unit 14 1 memory block in object message storage 12
Is transferred (transferred), and the message is stored in the transferred memory block. When the message queued in the object message storage unit 12 is read and delivered to the object, the memory block storing the message is returned from the object message storage unit 12 to the free memory block storage unit 14. Being reused.

【0096】次に、メッセージ配送制御部10の状態遷
移と機能について、図7を参照しつつ説明する。尚、図
7は、メッセージ配送制御部10の状態遷移図である。
また、以下に説明するメッセージ配送制御部10の処理
は、実際には、CPU3がROM5に格納されたメッセ
ージ配送制御用のオブジェクト(メソッド及びデータ)
に従って動作することにより実現されている。
Next, the state transition and function of the message delivery control unit 10 will be described with reference to FIG. FIG. 7 is a state transition diagram of the message delivery control unit 10.
In addition, the processing of the message delivery control unit 10 described below is actually performed by the CPU 3 using the message delivery control objects (methods and data) stored in the ROM 5.
In accordance with the following.

【0097】メッセージ配送制御部10は、車両のイグ
ニッションスイッチがオフされて、ECU1のマイクロ
コンピュータが動作を停止している際に、図7(a)に
示す如くオフ状態となる。そして、例えばイグニッショ
ンスイッチがオフ状態からオンされたり、マイクロコン
ピュータにリセットがかけられる等の初期化要求が生じ
ると、図7(b)に示す如く初期化処理を行い、その
後、図7(c)に示す如くメッセージ受信待ち状態とな
る。
The message delivery control unit 10 is turned off as shown in FIG. 7A when the ignition switch of the vehicle is turned off and the microcomputer of the ECU 1 stops operating. When an initialization request is made, for example, when the ignition switch is turned on from the off state or when the microcomputer is reset, initialization processing is performed as shown in FIG. 7B, and thereafter, FIG. As shown in FIG.

【0098】ここで、図7(b)で行われる初期化処理
では、図8に示すように、まずS50にて、オブジェク
トメッセージ格納部12を初期化する。具体的には、図
6(a)に示すように、オブジェクトメッセージ格納部
12に記憶している先頭アドレスおよび末尾アドレスを
NULLにする。
Here, in the initialization processing performed in FIG. 7B, as shown in FIG. 8, first, in S50, the object message storage unit 12 is initialized. Specifically, as shown in FIG. 6A, the head address and the tail address stored in the object message storage unit 12 are set to NULL.

【0099】次にS60にて、空きメモリブロック格納
部14を初期化する。具体的には、図6(a)に示すよ
うに、まずプログラム上に規定された個数(例では5
個)の空きメモリブロックを確保する。次に決められた
解放の順序(この例では0000、0001、000
2、0003、0004)に従って各メモリブロックの
ポインタに、その次に解放するメモリブロックのメモリ
アドレスを書き込む(メモリアドレス0004のメモリ
ブロックのポインタにはNULL)。そして空きメモリ
ブロック格納部14に先頭アドレスおよび末尾アドレス
として予め定められたアドレスを書き込む(この例では
先頭アドレスが0000、末尾アドレスが0004)。
これにより、オブジェクトの何れかからメッセージが出
されたときに、空きメモリブロック格納部14が保有し
ている空きメモリブロックをオブジェクトメッセージ格
納部12へ引き渡すことのできる状態となる。
Next, in S60, the free memory block storage section 14 is initialized. Specifically, as shown in FIG. 6A, first, the number specified in the program (5 in the example)
) Free memory blocks. Next, the determined order of release (0000, 0001, 000 in this example)
2, 0003, 0004), the memory address of the memory block to be released next is written in the pointer of each memory block (the pointer of the memory block at the memory address 0004 is NULL). Then, predetermined addresses are written as the start address and the end address in the empty memory block storage unit 14 (in this example, the start address is 0000 and the end address is 0004).
As a result, when a message is issued from any of the objects, the free memory block held by the free memory block storage unit 14 can be delivered to the object message storage unit 12.

【0100】そして、メッセージ配送制御部10は、こ
のような初期化処理を終了した後、メッセージ受信待ち
状態となる。メッセージ受信待ち状態とは、オブジェク
トから出されたメッセージをオブジェクトメッセージ格
納部12にキューイングすることのできる状態であり、
この状態において、イグニッションスイッチがオフされ
る等の終了要求が生じると、メッセージ配送制御部10
は、図7(d)に示す如くシリアライズ処理を行い、そ
の後、前述したオフ状態に戻る。
After finishing such initialization processing, the message delivery control section 10 enters a message reception waiting state. The message reception waiting state is a state in which a message issued from an object can be queued in the object message storage unit 12.
In this state, when a termination request such as an ignition switch being turned off is generated, the message delivery control unit 10
Performs the serialization process as shown in FIG. 7D, and then returns to the above-described off state.

【0101】ここで、図7(d)で行われるシリアライ
ズ処理では、図9に示すように、まずS70にて、オブ
ジェクトメッセージ格納部12を初期化する。次にS8
0にて、空きメモリブロック格納部14を初期化する。
具体的には、図8の初期化処理のS50、S60と同じ
である。
Here, in the serialization processing performed in FIG. 7D, as shown in FIG. 9, first, in S70, the object message storage unit 12 is initialized. Next, S8
At 0, the free memory block storage unit 14 is initialized.
Specifically, it is the same as S50 and S60 of the initialization processing in FIG.

【0102】一方、メッセージ配送制御部10は、メッ
セージ受信待ち状態において、オブジェクトからメッセ
ージが出されると、図7(e)に示す如くメッセージキ
ューイング処理を行って、上記オブジェクトからのメッ
セージをオブジェクトメッセージ格納部12にキューイ
ングし、その後、メッセージ受信待ち状態に戻る。
On the other hand, when a message is output from the object in the message reception waiting state, the message delivery control unit 10 performs a message queuing process as shown in FIG. The message is queued in the storage unit 12, and then returns to the message reception waiting state.

【0103】尚、本実施形態では、オブジェクトがメッ
セージ送信要求を出すことにより、メッセージの出力が
行われる。そして、以下の説明において、メッセージ内
容としてのOIDがn(=1,2,…)であり且つMI
Dがm(=1,2,…)であるメッセージを、特に「メ
ッセージ(n,m)」と記し、そのメッセージ(n,
m)を出力するためのメッセージ送信要求を、「メッセ
ージ送信要求(n,m)」と記す。
In this embodiment, a message is output when an object issues a message transmission request. In the following description, the OID as the message content is n (= 1, 2,...)
A message in which D is m (= 1, 2,...) Is particularly described as “message (n, m)”, and the message (n, m)
The message transmission request for outputting m) is referred to as “message transmission request (n, m)”.

【0104】ここで、オブジェクトがメッセージ(メッ
セージ送信要求)を出した時に行われるメッセージキュ
ーイング処理では、図10に示すように、まずS100
にて、空きメモリブロック格納部14から空きメモリブ
ロックを取得できるか否か(つまり、空きメモリブロッ
ク格納部14に空きメモリブロックが確保されているか
否か)を判断する。そして、空きメモリブロックが取得
可能であれば、続くS110にて、空きメモリブロック
格納部14から、空きメモリブロックのうちで先頭にあ
る空きメモリブロック、即ち、空きメモリブロック格納
部14に先頭アドレスとして記憶されているメモリアド
レスの空きメモリブロックを取得する。
Here, in the message queuing process performed when an object issues a message (message transmission request), first, as shown in FIG.
It is determined whether a free memory block can be acquired from the free memory block storage unit 14 (that is, whether a free memory block is secured in the free memory block storage unit 14). Then, if a free memory block can be obtained, in the following S110, the free memory block storage unit 14 reads the free memory block at the top of the free memory blocks, that is, the free memory block storage unit 14 as the start address. Obtain a free memory block at the stored memory address.

【0105】次にS120にて、上記取得した空きメモ
リブロックに、オブジェクトから今回出されたメッセー
ジを書き込む。尚、具体的には、空きメモリブロック
に、メッセージの内容であるOID及びMID或いは更
に引数が書き込まれる。
Next, in S120, the message issued this time from the object is written in the obtained free memory block. Note that, specifically, the OID and MID, which are the contents of the message, or an argument is written in the empty memory block.

【0106】そして、続くS130にて、上記S120
でメッセージを書き込んだメモリブロックを、オブジェ
クトメッセージ格納部12にキューイングする。つま
り、まず、今まで最後尾に確保されていたメッセージブ
ロックのポインタにメッセージを書き込んだメモリブロ
ックのメモリアドレスを書き込むとともに、メッセージ
を書き込んだメモリブロックのポインタにNULLを書
き込む。そして、メッセージを書き込んだメモリブロッ
クのメモリアドレスをオブジェクトメッセージ格納部1
2に末尾アドレスとして記憶する。
Then, in the subsequent S130, the above S120
The memory block in which the message has been written is queued in the object message storage unit 12. That is, first, the memory address of the memory block in which the message has been written is written to the pointer of the message block that has been secured at the end, and NULL is written to the pointer of the memory block in which the message has been written. Then, the memory address of the memory block in which the message is written is stored in the object message storage unit 1.
2 is stored as the end address.

【0107】そして、S140にてデバッグ状態を示す
フラグDEBUGがOFFかどうか判断する。S140
にてフラグDEBUGがONと判断した場合は、デバッ
グ中にキューイングしているメッセージの最大値を数え
るため、S150にてカウンタCを1つインクリメント
する。このカウンタCはメッセージのキューイング処理
の時に1つインクリメントされ、後に述べるメッセージ
配送処理にて1つディクリメントされるカウンタであ
る。
Then, in S140, it is determined whether or not the flag DEBUG indicating the debug state is OFF. S140
When it is determined that the flag DEBUG is ON, the counter C is incremented by one in S150 in order to count the maximum value of messages queued during debugging. This counter C is a counter that is incremented by one during the message queuing process and decremented by one in the message delivery process described later.

【0108】次にS160にてこれまでのキューイング
メッセージ数の最大値Cmaxの値をRAMより読み込
み、S170にてカウンタCと最大値Cmaxの値の大
小を比較する。カウンタCの値の方が大きいとき、現在
のキューイング数がこれまでのデバッグ処理中で最大値
となるため、S180にて最大値CmaxをカウンタC
の値に置き換え、メッセージキューイング処理を終了す
る。またS180にてカウンタ値の方が最大値Cmax
の値より小さいと判断された場合はRAMに記憶されて
いた最大値Cmaxの値が、今回のキューイング処理が
終了しても最大値のままであるとして、そのままメッセ
ージキューイング処理を終了する。
Next, in step S160, the value of the maximum value Cmax of the number of queuing messages so far is read from the RAM, and in step S170, the value of the counter C is compared with the value of the maximum value Cmax. When the value of the counter C is larger, the current queuing number becomes the maximum value during the debugging process so far.
And the message queuing process ends. In S180, the counter value is larger than the maximum value Cmax.
Is determined to be smaller than the maximum value Cmax, the value of the maximum value Cmax stored in the RAM is determined to be the maximum value even after the current queuing process is completed, and the message queuing process is terminated.

【0109】なお、上記S140にてフラグDEBUG
がOFFと判断された場合は、デバッグ中ではないた
め、前述のデバッグ処理を行わずにメッセージキューイ
ング処理を終了する。
Note that the flag DEBUG is set in S140.
Is determined to be OFF, the message queuing processing is terminated without performing the above-described debugging processing because the debugging is not being performed.

【0110】また、上記S100にて、空きメモリブロ
ックを取得することができない(つまり、空きメモリブ
ロック格納部14に空きメモリブロックがない)と判断
した場合には、メッセージ送信要求を出したオブジェク
トのメソッドへエラーメッセージを出す。これにより確
保した空きメモリブロックの個数が少ないことが判断で
きる。
If it is determined in S100 that a free memory block cannot be acquired (that is, there is no free memory block in the free memory block storage unit 14), the Give an error message to the method. Thus, it can be determined that the number of secured free memory blocks is small.

【0111】次に、このメッセージキューイング処理に
よりどのようにメッセージのキューイング、メモリブロ
ックの解放・確保が行われるか図11、図12を用いて
説明する。なお、図11は、最初、図11(a)に示す
ように、メモリアドレス0000、0001のメモリブ
ロックがメッセージブロックで、メモリアドレス000
2、0003、0004のメモリブロックが空きメモリ
ブロックの例である。また、図12は、最初、図12
(a)に示すように、メモリアドレス0003、000
4のメモリブロックがメッセージブロックで、メモリア
ドレス0000、0001、0002のメモリブロック
が空きメモリブロックの例である。ここでOIDk、
m、n、p、q、rとMIDk、m、n、p、q、rは
各メッセージのOIDとMIDである。
Next, how the message queuing process performs message queuing and release / secure of a memory block will be described with reference to FIGS. 11 and 12. FIG. In FIG. 11, as shown in FIG. 11A, first, the memory block of the memory addresses 0000 and 0001 is a message block,
2,0003,0004 memory blocks are examples of empty memory blocks. FIG. 12 first shows FIG.
As shown in FIG.
4 is an example of a message block, and memory blocks of memory addresses 0000, 0001, and 0002 are examples of empty memory blocks. Where OIDk,
m, n, p, q, r and MID k, m, n, p, q, r are the OID and MID of each message.

【0112】最初に、空きメモリブロック格納部14に
先頭アドレスとして記憶されているメモリアドレスのメ
モリブロックが選択される(メモリアドレスが、図11
の例で0002、図12の例で0000のメモリブロッ
ク)。
First, the memory block of the memory address stored as the head address in the empty memory block storage unit 14 is selected (the memory address is changed to the memory address shown in FIG. 11).
In the example of FIG. 12, and 0000 in the example of FIG. 12).

【0113】次に、図11(b)、図12(b)に示す
ように、空きメモリブロック格納部14に先頭アドレス
として、次のメモリブロックのメモリアドレス(図11
の例で0003、図12の例で0001)に記憶し直す
と共に、取得したメモリブロックのポインタを消去する
(S100:YES,S110)。
Next, as shown in FIGS. 11 (b) and 12 (b), the free memory block storage unit 14 sets the memory address of the next memory block (FIG.
12 and 0001 in the example of FIG. 12, and the obtained pointer of the memory block is deleted (S100: YES, S110).

【0114】そして、図11(c)、図12(c)に示
すように、上記取得した空きメモリブロックに、オブジ
ェクトから今回出されたメッセージの内容(図11の例
でOIDn、MIDn、図12の例でOIDr、MID
r)が書き込まれ(S120)、これまで末尾アドレス
であったメモリブロック(メモリアドレスが、図11の
例で0001、図12の例で0004のメモリブロッ
ク)のポインタに新しく確保したメモリブロックのメモ
リアドレス(図11の例で0002、図12の例で00
00)が書き込まれ、新しく確保したメモリブロックの
ポインタにNULLが書き込まれる。加えて、メッセー
ジの内容が書き込まれたメモリブロック(メモリアドレ
スが、図11の例で0002、図12の例で0000の
メモリブロック)が、オブジェクトメッセージ格納部1
2におけるメッセージブロックの最後尾になるよう、オ
ブジェクトメッセージ格納部12に末尾アドレスとして
メモリアドレスが記憶される(S130)。
Then, as shown in FIGS. 11 (c) and 12 (c), the contents of the message issued from the object this time (OIDn, MIDn, FIG. OIDr, MID
r) is written (S120), and the memory of the memory block newly secured as a pointer of the memory block (memory address is 0001 in the example of FIG. 11 and 0004 in the example of FIG. 12) which was the end address so far. The address (0002 in the example of FIG. 11 and 00 in the example of FIG. 12)
00) is written, and NULL is written to the pointer of the newly secured memory block. In addition, the memory block in which the content of the message is written (memory block whose memory address is 0002 in the example of FIG. 11 and 0000 in the example of FIG. 12) is stored in the object message storage unit 1.
The memory address is stored as the end address in the object message storage unit 12 so as to be at the end of the message block in S2 (S130).

【0115】このあとフラグDEBUGがONであれ
ば、カウンタCの値が1つインクリメントされ、メッセ
ージのキューイング数と同じ値(図11の例、図12の
例ともにC=3)となる(S140:YES,S15
0)。そして、これまでのキューイング数の最大値Cm
axがカウンタCの値より大きければCmaxにCの値
を書き込む(S170:YES,S180)。
Thereafter, if the flag DEBUG is ON, the value of the counter C is incremented by one, and becomes the same value as the message queuing number (C = 3 in both the examples of FIGS. 11 and 12) (S140). : YES, S15
0). And the maximum value Cm of the queuing number so far
If ax is larger than the value of the counter C, the value of C is written to Cmax (S170: YES, S180).

【0116】これにより、メッセージのキューイング処
理が終了する。
Thus, the message queuing process ends.

【0117】以上のように、この状態では、図11およ
び図12に示すように、オブジェクトメッセージ格納部
12で確保しているメッセージブロックが1つ増え、そ
の代わりに、空きメモリブロック格納部14で確保して
いる空きメモリブロックが1つ減ることとなる。そし
て、空きメモリブロック格納部14にて解放の順序が当
初2番目にあった空きメモリブロック(メモリアドレス
が、図11の例で0003、図12の例で0001のメ
モリブロック)が、先頭の空きメモリブロックとなり、
当初3番目にあった空きメモリブロック(メモリアドレ
スが、図11の例で0004、図12の例で0002の
メモリブロック)が、2番目の空きメモリブロックとな
る。
As described above, in this state, as shown in FIGS. 11 and 12, the number of message blocks secured in the object message storage unit 12 is increased by one, and The secured free memory block is reduced by one. Then, in the free memory block storage unit 14, the free memory block (the memory block whose memory address is 0003 in the example of FIG. 11 and 0001 in the example of FIG. 12) whose release order is the second at the beginning is replaced by the first free memory block. It becomes a memory block,
The third free memory block (the memory address is 0004 in the example of FIG. 11 and 0002 in the example of FIG. 12) which was the third free memory block becomes the second free memory block.

【0118】一方、次に、メッセージ配送制御部10
は、メッセージ受信待ち状態において、オブジェクトか
ら図7(f)の如くメッセージ配送要求が出されると、
図7(g)に示す如くメッセージ配送状態になる。
Next, the message delivery control unit 10
In the message reception waiting state, when a message delivery request is issued from the object as shown in FIG.
The message is delivered as shown in FIG.

【0119】メッセージ配送状態では、図7(h)に示
すように、オブジェクトメッセージ格納部12にキュー
イングされているメッセージがあれば、後述するメッセ
ージ配送処理を行って、そのキューイングされているメ
ッセージの配送(即ち、メッセージにより指定されるオ
ブジェクトのメソッドの実行)を行い、また、図7
(i)に示すように、オブジェクトメッセージ格納部1
2にキューイングされているメッセージがなければ、メ
ッセージ受信状態へ戻る。
In the message delivery state, as shown in FIG. 7 (h), if there is a message queued in the object message storage unit 12, a message delivery process described later is performed to execute the queued message. (That is, execution of the method of the object specified by the message).
As shown in (i), the object message storage unit 1
If there are no messages queued in 2, the process returns to the message receiving state.

【0120】また、メッセージ配送状態では、実行中の
オブジェクトからメッセージ送信要求が出されると、メ
ッセージ受信待ち状態の場合と同様に、図7(j)に示
す如く前述した図10のメッセージキューイング処理を
行う。
In the message delivery state, when a message transmission request is issued from the object being executed, the message queuing process of FIG. 10 is performed as shown in FIG. I do.

【0121】ここで、図13に示すように、メッセージ
配送処理は、オブジェクトからメッセージ配送要求が出
された時、或いは、何れかのオブジェクトのメソッドの
実行が終了した時に行われ、まずS210にて、オブジ
ェクトメッセージ格納部12にキューイングされている
メッセージがあるか否か(つまり、オブジェクトメッセ
ージ格納部12からメッセージブロックを取得できるか
否か)を判断する。そして、キューイングされているメ
ッセージがあれば、続くS220にて、メッセージを1
つ配送するため、前述のメッセージのキューイング数を
カウントするカウンタCを1つディクリメントする。そ
の後、S230にてオブジェクトメッセージ格納部12
から、メッセージブロックのうちで先頭にあるメッセー
ジブロック、即ち、オブジェクトメッセージ格納部12
にキューイングされているメッセージブロックのうちで
最初にキューイングされたメッセージが記憶されている
メッセージブロックを取得し、そのメッセージブロック
に書き込まれているメッセージの内容(OID及びMI
D)を読み取る。
Here, as shown in FIG. 13, the message delivery process is performed when a message delivery request is issued from an object or when execution of a method of any object is completed. It is determined whether there is a message queued in the object message storage unit 12 (that is, whether a message block can be obtained from the object message storage unit 12). Then, if there is a queued message, in the following S220, the message is set to 1
In order to deliver one message, the counter C for counting the number of queuing of the above-mentioned message is decremented by one. Then, in S230, the object message storage unit 12
From the message block at the beginning of the message blocks, that is, the object message storage unit 12
Of the message queue in which the first queued message is stored, and obtains the contents (OID and MI) of the message written in the message block.
Read D).

【0122】次にS240にて、上記S230で取得し
たメッセージブロックを、空きメモリブロックとして、
空きメモリブロック格納部14における空きメモリブロ
ックの最後尾に登録する。
Next, in S240, the message block obtained in S230 is set as a free memory block.
It is registered at the end of the free memory block in the free memory block storage unit 14.

【0123】そして、続くS250にて、上記S230
で読み取ったメッセージ内容であるOIDとMIDに対
応するオブジェクトのメソッドが格納されているROM
5の先頭アドレス(実行開始アドレス)を、前述した接
続情報データベース16から検索により算出し、続くS
260にて、上記S250で算出した実行開始アドレス
をコールする。
Then, in the following S250, the above-mentioned S230
ROM that stores the methods of the objects corresponding to the message contents OID and MID read in
The head address (execution start address) of No. 5 is calculated by searching the connection information database 16 described above, and the subsequent S
At 260, the execution start address calculated at S250 is called.

【0124】すると、CPU3によるプログラムの実行
先が、S230で読み取ったメッセージ内容に対応した
オブジェクトのメソッドの先頭へ移り、これにより、メ
ッセージの配送が行われる。そして、そのメソッドの処
理実行が終了すると、再び、当該メッセージ配送処理が
前述したS210から行われる。
Then, the execution destination of the program by the CPU 3 moves to the head of the method of the object corresponding to the message content read in S230, and the message is delivered. Then, when the process execution of the method ends, the message delivery process is performed again from S210 described above.

【0125】一方、上記S210にて、オブジェクトメ
ッセージ格納部12にキューイングされているメッセー
ジがない(つまり、オブジェクトメッセージ格納部12
からメッセージブロックを取得できない)と判断した場
合には、そのままメッセージ受信待ち状態へ戻る。
On the other hand, in S210, there is no message queued in object message storage unit 12 (that is, object message storage unit 12
If it is determined that the message block cannot be obtained from the message), the process directly returns to the message reception waiting state.

【0126】次に、このメッセージ配送グ処理によりど
のようにメッセージの配送、メモリブロックの解放・確
保が行われるか図14、図15を用いて説明する。
Next, how the message delivery and the release / secure of the memory block are performed by the message delivery process will be described with reference to FIGS. 14 and 15. FIG.

【0127】なお、図14は、最初、図14(a)に示
すように、メモリアドレス0000、0001、000
2のメモリブロックがメッセージブロックで、メモリア
ドレス0003、0004のメモリブロックが空きメモ
リブロックの例である。また、図15は、最初、図15
(a)に示すように、メモリアドレス0001、000
2のメモリブロックがメッセージブロックで、メモリア
ドレス0003、0004、0000のメモリブロック
が空きメモリブロックの例である。ここでOIDh、
i、jとMIDh、i、jは各メッセージのOIDとM
IDである。
Note that FIG. 14 initially shows memory addresses 0000, 0001, 000 as shown in FIG.
2 is an example of a message block, and memory blocks of memory addresses 0003 and 0004 are examples of empty memory blocks. FIG. 15 first shows FIG.
As shown in FIG.
2 is an example of a message block, and memory blocks of memory addresses 0003, 0004, and 0000 are examples of empty memory blocks. Where OIDh,
i, j and MIDh, i, j are OID and M of each message
ID.

【0128】最初に、オブジェクトメッセージ格納部1
2にメッセージがキューイングされていれば、キューイ
ングされているメッセージの数を示すカウンタCの値を
1つディクリメントされ、メッセージ配送処理後のメッ
セージのキューイング数と同じ値(図14の例ではC=
2、図15の例ではC=1)となる(S210:YE
S,S220)。
First, the object message storage unit 1
If the message is queued at 2, the value of the counter C indicating the number of queued messages is decremented by one and the same value as the number of queued messages after the message delivery processing (the example in FIG. 14). Then C =
2, C = 1 in the example of FIG. 15 (S210: YE)
S, S220).

【0129】次に、図14(b)、図15(b)に示す
ように、オブジェクトメッセージ格納部12に先頭アド
レスとして記憶されているメモリアドレスのメモリブロ
ックが選択され(メモリアドレスが、図14の例で00
00、図15の例で0001のメモリブロック)、オブ
ジェクトメッセージ格納部12に先頭アドレスとして、
次のメモリブロックのメモリアドレス(図14の例で0
001、図15の例で0002)に記憶し直すと共に、
取得したメモリブロックのポインタを消去する(S23
0)。
Next, as shown in FIGS. 14 (b) and 15 (b), a memory block of the memory address stored as the head address in the object message storage unit 12 is selected (the memory address is changed to the memory address shown in FIG. 14). 00 in the example
00, the memory block of 0001 in the example of FIG. 15)
The memory address of the next memory block (0 in the example of FIG. 14)
001, 0002) in the example of FIG.
The obtained pointer of the memory block is deleted (S23).
0).

【0130】そして、上記取得したメモリブロック に
記憶しているOIDとMID(図14の例でOIDh、
MIDh、図15の例でOIDi、MIDi)を読み取
り、メッセージの内容を消去して、これまで末尾アドレ
スであったメモリブロック(メモリアドレスが、図14
の例で0004、図15の例で0000のメモリブロッ
ク)のポインタに新しく確保したメモリブロックのメモ
リアドレス(図14の例で0000、図15の例で00
01)が書き込まれ、新しく確保したメモリブロックの
ポインタにNULLが書き込まれる。加えて、空きメモ
リブロックとなったメモリブロック(メモリアドレス
が、図14の例で0000、図15の例で0001のメ
モリブロック) が、空きメモリブロック格納部14に
おけるメッセージブロックの最後尾になるよう、空きメ
モリブロック格納部14に末尾アドレスとしてメモリア
ドレスが記憶される(S240)。
Then, the OID and MID stored in the obtained memory block (OIDh, OIDh,
MIDh, OIDi and MIDi in the example of FIG. 15 are read, and the contents of the message are erased.
In the example of FIG. 14, the memory address of the newly secured memory block (0000 in the example of FIG. 14, and 00 in the example of FIG. 15) is set to the pointer of the memory block of 0000 in the example of FIG.
01) is written, and NULL is written to the pointer of the newly secured memory block. In addition, the memory block which has become a free memory block (the memory address is 0000 in the example of FIG. 14 and 0001 in the example of FIG. 15) is the last of the message blocks in the free memory block storage unit 14. Then, the memory address is stored in the free memory block storage unit 14 as the end address (S240).

【0131】そして最後に、メッセージブロック から
読み取ったメッセージ内容に対応するオブジェクトのメ
ソッドのアドレスが読み出され、メソッドがコールさ
れ、実行が開始される(S250、S260)。
Finally, the address of the method of the object corresponding to the message content read from the message block is read, the method is called, and the execution is started (S250, S260).

【0132】以上のように、この状態では、図14およ
び図15に示すように、空きメモリブロック格納部14
で確保している空きメモリブロックが1つ増え、その代
わりに、オブジェクトメッセージ格納部12で確保して
いるメッセージブロックが1つ減ることとなる。そし
て、オブジェクトメッセージ格納部12にて解放の順序
が当初2番目にあったメッセージブロック(メモリアド
レスが、図14の例で0001、図15の例で0002
のメモリブロック) が、先頭の空きメモリブロックと
なる。
As described above, in this state, as shown in FIG. 14 and FIG.
Is increased by one, and instead, the number of message blocks secured by the object message storage unit 12 is reduced by one. Then, in the object message storage unit 12, the message block whose release order was initially the second (memory address is 0001 in the example of FIG. 14 and 0002 in the example of FIG. 15).
Is the first free memory block.

【0133】なお、キューイングされているメッセージ
のキューイング・配送の例として図11、図12、図1
4、図15を示した。しかし、このメッセージブロック
の数、メモリアドレスはこれに限定されず、プログラム
で決められているメモリブロックの数や、解放順序はも
とより、これまでのメッセージキューイング処理、メッ
セージ配送処理でどのようにメッセージのやりとりが行
われたかにより変化する。つまり上記例ではオブジェク
トメッセージ格納部12(または空きメモリブロック格
納部14)に先頭アドレスとして記憶されているメモリ
アドレスのメモリブロック(つまり各格納部に確保され
ているメモリブロックの中で最初に解放されるメモリブ
ロック)が取得され、メッセージの読み取り/消去(ま
たはメッセージの書きこみ)が行われたあと、空きメモ
リブロック格納部14(またはオブジェクトメッセージ
格納部12)に末尾アドレスとして登録する本発明のポ
イントを説明するための具体例としてあげたものであ
る。
FIGS. 11, 12, and 13 show examples of queuing and delivery of queued messages.
4 and FIG. However, the number of message blocks and memory addresses are not limited to these, and the number of memory blocks determined by the program, the order of release, as well as the message queuing process and message delivery It changes depending on whether the exchange was performed. That is, in the above example, the memory block of the memory address stored as the head address in the object message storage unit 12 (or the empty memory block storage unit 14) (that is, the memory block which is released first among the memory blocks secured in each storage unit). Of the present invention, after the message is read / erased (or the message is written), and registered in the free memory block storage unit 14 (or the object message storage unit 12) as the end address. Are given as specific examples for explaining the above.

【0134】そして、図1のデバッグツール7によりデ
バッグ処理が行われる場合であれば、フラグDEBUG
がONされるため、メッセージのキューイング数のカウ
ント処理が行われ、キューイング数の最大値Cmaxが
求められる。
If the debugging process is performed by the debugging tool 7 of FIG. 1, the flag DEBUG is used.
Is turned ON, the message queuing number is counted, and the maximum value Cmax of the queuing number is obtained.

【0135】所定のデバッグ処理が終了したとき、デバ
ッグツール7がRAM6よりCmax値を読み取り、読
み取った値をプログラムの中メモリブロック数指定箇所
に反映する。
When the predetermined debug processing is completed, the debug tool 7 reads the Cmax value from the RAM 6 and reflects the read value in the specified location of the memory block number in the program.

【0136】次に、図2に示したアイドル回転数制御用
の各オブジェクトOB1〜OB5が、メッセージ配送制
御部10の作用により如何にしてオブジェクト間メッセ
ージ通信を行い、図3のメッセージシーケンスチャート
に示した処理が行われるかについて、図16〜図25を
用いて具体的に説明する。
Next, the objects OB1 to OB5 for controlling the idle speed shown in FIG. 2 perform message communication between the objects by the operation of the message delivery control unit 10, and are shown in the message sequence chart of FIG. Whether the above processing is performed will be specifically described with reference to FIGS. 16 to 25.

【0137】まず、図16に示すように、ISCオブジ
ェクトOB1は、図3のに示したスロットル設定開始
要求のメッセージとしてのメッセージ(1,2)、つま
りOIDが1でMIDが2であるメッセージに伴い実行
されるアイドル時スロットル設定開始要求メソッド(図
18)と、図3のに示した水温取得応答のメッセージ
としてのメッセージ(1,3)に伴い実行される水温取
得応答メソッド(図19)と、図3のに示したエンジ
ン回転数取得応答のメッセージとしてのメッセージ
(1,4)に伴い実行されるエンジン回転数取得応答メ
ソッド(図20)とを有している。
First, as shown in FIG. 16, the ISC object OB1 is converted into a message (1, 2) as a throttle setting start request message shown in FIG. 3, that is, a message whose OID is 1 and whose MID is 2 The idle-time throttle setting start request method (FIG. 18) executed accordingly, and the water temperature acquisition response method (FIG. 19) executed with the message (1, 3) as the water temperature acquisition response message shown in FIG. And an engine speed acquisition response method (FIG. 20) executed in response to the message (1, 4) as the engine speed acquisition response message shown in FIG.

【0138】また、水温センサオブジェクトOB2は、
図3のに示した水温取得要求のメッセージとしてのメ
ッセージ(2,1)に伴い実行される水温取得要求メソ
ッド(図21)と、図3のに示した水温AD値取得応
答のメッセージとしてのメッセージ(2,2)に伴い実
行される水温AD値取得応答メソッド(図26)とを有
している。
The water temperature sensor object OB2 is
A water temperature acquisition request method (FIG. 21) executed in accordance with the message (2, 1) as a water temperature acquisition request message shown in FIG. 3, and a message as a water temperature AD value acquisition response message shown in FIG. It has a water temperature AD value acquisition response method (FIG. 26) executed in association with (2, 2).

【0139】また更に、AD変換器オブジェクトOB3
は、図3のに示した水温AD値取得要求のメッセージ
としてのメッセージ(3,0)に伴い実行される水温A
D値取得要求メソッド(図23)を有し、スロットルコ
ントローラオブジェクトOB4は、図3のに示したス
ロットル設定要求のメッセージとしてのメッセージ
(4,4)に伴い実行されるスロットル設定要求メソッ
ド(図24)を有し、クランクセンサオブジェクトOB
5は、図3のに示したエンジン回転数取得要求のメッ
セージとしてのメッセージ(5,0)に伴い実行される
エンジン回転数取得要求メソッド(図25)を有してい
る。
Furthermore, the AD converter object OB3
Is the water temperature A executed in response to the message (3, 0) as the water temperature AD value acquisition request message shown in FIG.
The throttle controller object OB4 has a D value acquisition request method (FIG. 23), and the throttle controller object OB4 executes the throttle setting request method (FIG. 24) executed in response to the message (4, 4) as the throttle setting request message shown in FIG. ) And the crank sensor object OB
5 has an engine speed acquisition request method (FIG. 25) executed in accordance with the message (5, 0) as the engine speed acquisition request message shown in FIG.

【0140】そして、上記オブジェクトOB1〜OB5
の各メソッドの実行開始アドレスは、図16に示す如
く、各メソッドを示すOID及びMIDに夫々対応し
て、接続情報データベース16内に予め登録されてい
る。
The objects OB1 to OB5
As shown in FIG. 16, the execution start address of each method is registered in advance in the connection information database 16 in correspondence with the OID and MID indicating each method.

【0141】次に、CPU3により実行される処理の詳
細について説明する。
Next, the processing executed by the CPU 3 will be described in detail.

【0142】まず、上記オブジェクトOB1〜OB5以
外のオブジェクトであって、アイドル回転数制御のタイ
ミングを決定するためのオブジェクトの処理である、図
17のスケジュール処理が4ms毎に実行される。尚、
以下の説明においては、デバッグ処理とし、フラグDE
BUGがON状態であるものとする。従って、図10に
示したメッセージキューイング処理のS140では、常
に肯定判定されるものとする。そして、このスケジュー
ル処理は図8の初期化処理が行われた後、実行されたも
のとする。また、空きメモリブロック格納部14には充
分な数の空きメモリブロックを設定しており、図10に
示したメッセージキューイング処理のS100では、常
に肯定判定されるものとする。
First, the schedule process shown in FIG. 17, which is an object other than the above objects OB1 to OB5, for determining the timing of idle speed control, is executed every 4 ms. still,
In the following description, the debugging process is performed, and the flag DE
It is assumed that BUG is in the ON state. Therefore, in S140 of the message queuing process shown in FIG. 10, a positive determination is always made. It is assumed that this schedule process has been executed after the initialization process of FIG. 8 has been performed. In addition, a sufficient number of free memory blocks are set in the free memory block storage unit 14, and a positive determination is always made in S100 of the message queuing process shown in FIG.

【0143】図17に示すように、スケジュール処理の
実行が開始されると、まずS300にて、メッセージ送
信要求(1,2)が出される。
As shown in FIG. 17, when the execution of the schedule process is started, first, in S300, a message transmission request (1, 2) is issued.

【0144】すると、前述した図10のメッセージキュ
ーイング処理が実行されて、オブジェクトメッセージ格
納部12にメッセージ(1,2)がキューイングされ
る。
Then, the message queuing process of FIG. 10 described above is executed, and the messages (1, 2) are queued in the object message storage unit 12.

【0145】即ち、図10のS110にて、空きメモリ
ブロック格納部14から先頭の空きメモリブロックが取
得され、S120にて、その取得した空きメモリブロッ
クにメッセージ(1,2)が書き込まれ、更に、S13
0にて、メッセージ(1,2)が書き込まれたメモリブ
ロックが、オブジェクトメッセージ格納部12にメッセ
ージブロックとして登録される。そして、この場合に
は、オブジェクトメッセージ格納部12に、メッセージ
(1,2)が書き込まれたメッセージブロックが、1つ
だけ登録されることとなる。換言すれば、オブジェクト
メッセージ格納部12に、メッセージ(1,2)が1つ
だけ記憶されることとなる。そのため、S150にてカ
ウンタCが1つインクリメントされ、このときのカウン
タCのカウント値C=1が最大値となるため、S180
にて最大値Cmax=1となる。
That is, in S110 of FIG. 10, the first free memory block is obtained from the free memory block storage unit 14, and in S120, the message (1, 2) is written in the obtained free memory block. , S13
At 0, the memory block in which the message (1, 2) is written is registered in the object message storage unit 12 as a message block. Then, in this case, only one message block in which the message (1, 2) is written is registered in the object message storage unit 12. In other words, only one message (1, 2) is stored in the object message storage unit 12. Therefore, the counter C is incremented by one in S150, and the count value C = 1 of the counter C at this time becomes the maximum value.
, The maximum value Cmax = 1.

【0146】このようにしてメッセージ(1,2)のキ
ューイングが終わると、処理の実行が図17のスケジュ
ール処理に戻り、図17のS310にて、メッセージ配
送要求が出される。
When the queuing of the message (1, 2) is completed as described above, the process returns to the schedule process of FIG. 17, and a message delivery request is issued in S310 of FIG.

【0147】すると、前述した図13のメッセージ配送
処理が実行されて、オブジェクトメッセージ格納部12
にキューイングされているメッセージ(1,2)が配送
される。
Then, the above-described message delivery process shown in FIG.
The message (1, 2) queued to the server is delivered.

【0148】即ち、まず図13のS210にて、オブジ
ェクトメッセージ格納部12にメッセージがキューイン
グされているか否かがチェックされるが、この場合に
は、メッセージ(1,2)のみがキューイングされてい
るため、S220にてカウンタCが1つディクリメント
されたのち、S230にて、オブジェクトメッセージ格
納部12の先頭にあるメッセージブロックからメッセー
ジ(1,2)の内容が読み取られる。また、S240に
て、メッセージ(1,2)が書き込まれていたメッセー
ジブロックが、空きメモリブロック格納部14へ空きメ
モリブロックとして返却される。
That is, first, in S210 of FIG. 13, it is checked whether or not a message is queued in the object message storage unit 12. In this case, only the message (1, 2) is queued. Therefore, after the counter C is decremented by one in S220, the content of the message (1, 2) is read from the message block at the head of the object message storage unit 12 in S230. In S240, the message block in which the message (1, 2) has been written is returned to the free memory block storage unit 14 as a free memory block.

【0149】そして、図13のS250にて、上記読み
取ったメッセージ(1,2)の内容に対応するISCオ
ブジェクトOB1のアイドル時スロットル設定開始要求
メソッドの実行開始アドレスA12(図16参照)が、
接続情報データベース16から算出され、S260に
て、その算出した実行開始アドレスがコールされる。
In S250 of FIG. 13, the execution start address A12 (see FIG. 16) of the idle throttle setting start request method of the ISC object OB1 corresponding to the contents of the read message (1, 2) is set.
It is calculated from the connection information database 16, and in S260, the calculated execution start address is called.

【0150】これにより、メッセージ(1,2)の配送
が行われて、図18に示すアイドル時スロットル設定開
始要求メソッドの実行が開始される。
As a result, the message (1, 2) is delivered, and the execution of the idle time throttle setting start request method shown in FIG. 18 is started.

【0151】図18に示すように、アイドル時スロット
ル設定開始要求メソッドの実行が開始されると、まずS
400にて、アイドル時か否か、つまりエンジンがアイ
ドル運転状態であるか否かが判断される。
As shown in FIG. 18, when execution of the idle time throttle setting start request method is started, first, S
At 400, it is determined whether or not the engine is idling, that is, whether or not the engine is in an idling operation state.

【0152】そして、アイドル時でなければ、そのまま
当該メソッドの実行が終了されて、処理の実行が図17
のスケジュール処理に戻り、これに伴い全ての処理が終
了するが、アイドル時であれば、続くS405にて、メ
ッセージ送信要求(2,1)が出される。
If the method is not idle, the execution of the method is terminated and the execution of the processing is terminated.
The processing returns to the schedule processing described above, and all the processing ends accordingly. If it is idle, a message transmission request (2, 1) is issued in subsequent S405.

【0153】すると、図10のメッセージキューイング
処理が実行されて、オブジェクトメッセージ格納部12
にメッセージ(2,1)がキューイングされる。
Then, the message queuing process shown in FIG.
Message (2, 1) is queued.

【0154】即ち、図10のS110にて、空きメモリ
ブロック格納部14から先頭の空きメモリブロックが取
得され、S120にて、その取得した空きメモリブロッ
クにメッセージ(2,1)が書き込まれ、更に、S13
0にて、メッセージ(2,1)が書き込まれたメモリブ
ロックが、オブジェクトメッセージ格納部12にメッセ
ージブロックとして登録される。そして、この場合に
は、オブジェクトメッセージ格納部12に、メッセージ
(2,1)が書き込まれたメッセージブロックが、1つ
だけ登録されることとなる。換言すれば、オブジェクト
メッセージ格納部12に、メッセージ(2,1)が1つ
だけ記憶されることとなる。そのため、S150にてカ
ウンタCが1つインクリメントされ、このときのカウン
タCのカウント値C=1が最大値となるため、S180
にて最大値Cmax=1となる。
That is, in S110 of FIG. 10, the first free memory block is obtained from the free memory block storage unit 14, and in S120, the message (2, 1) is written in the obtained free memory block. , S13
At 0, the memory block in which the message (2, 1) is written is registered in the object message storage unit 12 as a message block. Then, in this case, only one message block in which the message (2, 1) is written is registered in the object message storage unit 12. In other words, only one message (2, 1) is stored in the object message storage unit 12. Therefore, the counter C is incremented by one in S150, and the count value C = 1 of the counter C at this time becomes the maximum value.
, The maximum value Cmax = 1.

【0155】このようにしてメッセージ(2,1)のキ
ューイングが終わると、処理の実行が図18のアイドル
時スロットル設定開始要求メソッドに戻り、図18のS
410にて、メッセージ送信要求(5,0)が出され
る。
When the queuing of the message (2, 1) is completed in this way, the process returns to the idle throttle setting start request method in FIG.
At 410, a message transmission request (5,0) is issued.

【0156】すると、再び、図10のメッセージキュー
イング処理が実行されて、オブジェクトメッセージ格納
部12にメッセージ(5,0)がキューイングされる。
Then, the message queuing process of FIG. 10 is executed again, and the message (5, 0) is queued in the object message storage unit 12.

【0157】即ち、図10のS110にて、空きメモリ
ブロック格納部14から先頭の空きメモリブロックが取
得され、S120にて、その取得した空きメモリブロッ
クにメッセージ(5,0)が書き込まれ、更に、S13
0にて、メッセージ(5,0)が書き込まれたメモリブ
ロックが、オブジェクトメッセージ格納部12における
メッセージブロックの最後尾に(この場合には先頭から
2番目)に、メッセージブロックとして登録される。
That is, in S110 of FIG. 10, the first free memory block is obtained from the free memory block storage unit 14, and in S120, the message (5, 0) is written in the obtained free memory block. , S13
At 0, the memory block in which the message (5, 0) is written is registered as the message block at the end (in this case, the second from the top) of the message block in the object message storage unit 12.

【0158】そして、この場合には、オブジェクトメッ
セージ格納部12に、メッセージ(2,1)が書き込ま
れたメッセージブロックと、メッセージ(5,0)が書
き込まれたメッセージブロックとが、その順に2つ登録
されることとなる。換言すれば、オブジェクトメッセー
ジ格納部12に、2つのメッセージが、メッセージ
(2,1)→メッセージ(5,0)の順に記憶されるこ
ととなる。そのため、S150にてカウンタCが1つイ
ンクリメントされ、このときのカウンタCのカウント値
C=2が最大値となるため、S180にて最大値Cma
x=2となる。
In this case, two message blocks in which the message (2, 1) is written and two message blocks in which the message (5, 0) is written are stored in the object message storage unit 12 in this order. It will be registered. In other words, two messages are stored in the object message storage unit 12 in the order of message (2, 1) → message (5, 0). Therefore, the counter C is incremented by one in S150, and the count value C = 2 of the counter C at this time becomes the maximum value.
x = 2.

【0159】このようにしてメッセージ(5,0)のキ
ューイングが終わると、処理の実行が図18のアイドル
時スロットル設定開始要求メソッドに戻る。そして、こ
のアイドル時スロットル設定開始要求メソッドの処理が
終了すると、図13のメッセージ配送処理が実行され
て、オブジェクトメッセージ格納部12にキューイング
されている2つのメッセージのうち、最初に記憶された
方のメッセージ(2,1)が配送される。
When the queuing of the message (5, 0) is completed in this way, the process returns to the idle throttle setting start request method in FIG. When the process of the idle time throttle setting start request method is completed, the message delivery process of FIG. 13 is executed, and the message stored first among the two messages queued in the object message storage unit 12 is stored. (2, 1) is delivered.

【0160】即ち、図13のS220にてカウンタCが
1つディクリメントされたのち、S230にて、オブジ
ェクトメッセージ格納部12の先頭にあるメッセージブ
ロックからメッセージ(2,1)の内容が読み取られ、
また、S240にて、メッセージ(2,1)が書き込ま
れていたメッセージブロックが、空きメモリブロック格
納部14へ空きメモリブロックとして返却される。そし
て、S250にて、上記読み取ったメッセージ(2,
1)の内容に対応する水温センサオブジェクトOB2の
水温取得要求メソッドの実行開始アドレスA21(図1
6参照)が、接続情報データベース16から算出され、
S260にて、その算出した実行開始アドレスがコール
される。
That is, after the counter C is decremented by one in S220 of FIG. 13, the content of the message (2, 1) is read from the message block at the head of the object message storage unit 12 in S230.
In S240, the message block in which the message (2, 1) has been written is returned to the free memory block storage unit 14 as a free memory block. Then, in S250, the read message (2,
The execution start address A21 of the water temperature acquisition request method of the water temperature sensor object OB2 corresponding to the content of 1) (FIG. 1)
6) is calculated from the connection information database 16,
In S260, the calculated execution start address is called.

【0161】これにより、メッセージ(2,1)の配送
が行われて、図21に示す水温取得要求メソッドの実行
が開始される。
As a result, the message (2, 1) is delivered, and the execution of the water temperature acquisition request method shown in FIG. 21 is started.

【0162】図21に示すように、水温取得要求メソッ
ドの実行が開始されると、S500にて、メッセージ送
信要求(3,0)が出される。
As shown in FIG. 21, when the execution of the water temperature acquisition request method is started, a message transmission request (3, 0) is issued in S500.

【0163】すると、図10のメッセージキューイング
処理が実行されて、前述した手順と全く同様に、オブジ
ェクトメッセージ格納部12にメッセージ(3,0)が
キューイングされる。そして、この場合には、オブジェ
クトメッセージ格納部12に、メッセージ(5,0)が
書き込まれたメッセージブロックと、メッセージ(3,
0)が書き込まれたメッセージブロックとが、その順に
2つ登録されることとなる。換言すれば、オブジェクト
メッセージ格納部12に、2つのメッセージが、メッセ
ージ(5,0)→メッセージ(3,0)の順に記憶され
ることとなる。そのため、S150にてカウンタCが1
つインクリメントされ、このときのカウンタCのカウン
ト値Cが2であるため、最大値Cmaxは2のままであ
る。
Then, the message queuing process of FIG. 10 is executed, and the message (3, 0) is queued in the object message storage unit 12, just like the procedure described above. Then, in this case, the message block in which the message (5, 0) is written and the message (3,
Two message blocks in which 0) is written are registered in that order. In other words, two messages are stored in the object message storage unit 12 in the order of message (5, 0) → message (3, 0). Therefore, the counter C becomes 1 in S150.
Since the count value C of the counter C at this time is 2, the maximum value Cmax remains 2.

【0164】このようにしてメッセージ(3,0)のキ
ューイングが終わると、処理の実行が図21の水温取得
要求メソッドに戻る。そして、この水温取得要求メソッ
ドの処理が終了すると、図13のメッセージ配送処理が
実行されて、オブジェクトメッセージ格納部12にキュ
ーイングされている2つのメッセージのうち、最初に記
憶された方のメッセージ(5,0)が配送される。
When the queuing of the message (3, 0) is completed as described above, the process returns to the water temperature acquisition request method in FIG. When the process of the water temperature acquisition request method ends, the message delivery process of FIG. 13 is executed, and the message (the first one of the two messages queued in the object message storage unit 12) that is stored first is executed. 5,0) is delivered.

【0165】即ち、図13のS220にてカウンタCが
1つディクリメントされたのち、S230にて、オブジ
ェクトメッセージ格納部12の先頭にあるメッセージブ
ロックからメッセージ(5,0)の内容が読み取られ、
また、S240にて、メッセージ(5,0)が書き込ま
れていたメッセージブロックが、空きメモリブロック格
納部14へ空きメモリブロックとして返却される。そし
て、S250にて、上記読み取ったメッセージ(5,
0)の内容に対応するクランクセンサオブジェクトOB
5のエンジン回転数取得要求メソッドの実行開始アドレ
スA50(図16参照)が、接続情報データベース16
から算出され、S260にて、その算出した実行開始ア
ドレスがコールされる。
That is, after the counter C is decremented by one in S220 of FIG. 13, the contents of the message (5, 0) are read from the message block at the head of the object message storage unit 12 in S230.
In S240, the message block in which the message (5, 0) has been written is returned to the free memory block storage unit 14 as a free memory block. Then, in S250, the read message (5,
Crank sensor object OB corresponding to the contents of 0)
5, the execution start address A50 (see FIG. 16) of the engine speed acquisition request method is stored in the connection information database 16
In S260, the calculated execution start address is called.

【0166】これにより、メッセージ(5,0)の配送
が行われて、図25に示すエンジン回転数取得要求メソ
ッドの実行が開始される。
As a result, the message (5, 0) is delivered, and the execution of the engine speed acquisition request method shown in FIG. 25 is started.

【0167】図25に示すように、エンジン回転数取得
要求メソッドの実行が開始されると、S800にて、ク
ランクセンサからの信号に基づきエンジン回転数が算出
される。そして、続くS805にて、上記S800で算
出されたエンジン回転数がRAM6に保存され、次のS
810にて、メッセージ送信要求(1,4)が出され
る。
As shown in FIG. 25, when the execution of the engine speed acquisition request method is started, in S800, the engine speed is calculated based on the signal from the crank sensor. Then, in S805, the engine speed calculated in S800 is stored in the RAM 6, and the next S
At 810, a message transmission request (1, 4) is issued.

【0168】すると、図10のメッセージキューイング
処理が実行されて、前述した手順と全く同様に、オブジ
ェクトメッセージ格納部12にメッセージ(1,4)が
キューイングされる。そして、この場合には、オブジェ
クトメッセージ格納部12に、メッセージ(3,0)が
書き込まれたメッセージブロックと、メッセージ(1,
4)が書き込まれたメッセージブロックとが、その順に
2つ登録されることとなる。換言すれば、オブジェクト
メッセージ格納部12に、2つのメッセージが、メッセ
ージ(3,0)→メッセージ(1,4)の順に記憶され
ることとなる。そのため、S150にてカウンタCが1
つインクリメントされ、このときのカウンタCのカウン
ト値Cが2であるため、最大値Cmaxは2のままであ
る。
Then, the message queuing process of FIG. 10 is executed, and the message (1, 4) is queued in the object message storage unit 12, just like the procedure described above. Then, in this case, the message block in which the message (3, 0) is written and the message (1,
Two message blocks in which 4) is written are registered in that order. In other words, two messages are stored in the object message storage unit 12 in the order of message (3, 0) → message (1, 4). Therefore, the counter C is set to 1 at S150.
Since the count value C of the counter C at this time is 2, the maximum value Cmax remains 2.

【0169】このようにしてメッセージ(1,4)のキ
ューイングが終わると、処理の実行が図25のエンジン
回転数取得要求メソッドに戻る。そして、このエンジン
回転数取得要求メソッドの処理が終了すると、図13の
メッセージ配送処理が実行されて、オブジェクトメッセ
ージ格納部12にキューイングされている2つのメッセ
ージのうち、最初に記憶された方のメッセージ(3,
0)が配送される。
When the queuing of the message (1, 4) is completed as described above, the process returns to the engine speed acquisition request method of FIG. When the process of the engine speed acquisition request method is completed, the message delivery process of FIG. 13 is executed, and the two messages queued in the object message storage unit 12 are stored first. Message (3,
0) is delivered.

【0170】即ち、図13のS220にてカウンタCが
1つディクリメントされたのち、S230にて、オブジ
ェクトメッセージ格納部12の先頭にあるメッセージブ
ロックからメッセージ(3,0)の内容が読み取られ、
また、S240にて、メッセージ(3,0)が書き込ま
れていたメッセージブロックが、空きメモリブロック格
納部14へ空きメモリブロックとして返却される。そし
て、S250にて、上記読み取ったメッセージ(3,
0)の内容に対応するAD変換器オブジェクトOB3の
水温AD値取得要求メソッドの実行開始アドレスA30
(図16参照)が、接続情報データベース16から算出
され、S260にて、その算出した実行開始アドレスが
コールされる。
That is, after the counter C is decremented by one in S220 of FIG. 13, the content of the message (3, 0) is read from the message block at the head of the object message storage unit 12 in S230.
In S240, the message block in which the message (3, 0) has been written is returned to the free memory block storage unit 14 as a free memory block. Then, in S250, the read message (3,
Execution start address A30 of the water temperature AD value acquisition request method of the AD converter object OB3 corresponding to the content of 0)
(See FIG. 16) is calculated from the connection information database 16, and in S260, the calculated execution start address is called.

【0171】これにより、メッセージ(3,0)の配送
が行われて、図23に示す水温AD値取得要求メソッド
の実行が開始される。
As a result, the message (3, 0) is delivered, and the execution of the water temperature AD value acquisition request method shown in FIG. 23 is started.

【0172】図23に示すように、水温AD値取得要求
メソッドの実行が開始されると、S600にて、水温セ
ンサからのアナログ信号をデジタル値に変換する演算が
行われ、続くS605にて、上記S600で演算された
デジタル値がRAM6に保存される。そして、次のS6
10にて、メッセージ送信要求(2,2)が出される。
As shown in FIG. 23, when the execution of the water temperature AD value acquisition request method is started, in S600, an operation of converting an analog signal from the water temperature sensor into a digital value is performed, and in S605, The digital value calculated in S600 is stored in the RAM 6. And the next S6
At 10, a message transmission request (2, 2) is issued.

【0173】すると、図10のメッセージキューイング
処理が実行されて、前述した手順と全く同様に、オブジ
ェクトメッセージ格納部12にメッセージ(2,2)が
キューイングされる。そして、この場合には、オブジェ
クトメッセージ格納部12に、メッセージ(1,4)が
書き込まれたメッセージブロックと、メッセージ(2,
2)が書き込まれたメッセージブロックとが、その順に
2つ登録されることとなる。換言すれば、オブジェクト
メッセージ格納部12に、2つのメッセージが、メッセ
ージ(1,4)→メッセージ(2,2)の順に記憶され
ることとなる。そのため、S150にてカウンタCが1
つインクリメントされ、このときのカウンタCのカウン
ト値Cが2であるため、最大値Cmaxは2のままであ
る。
Then, the message queuing process of FIG. 10 is executed, and the message (2, 2) is queued in the object message storage unit 12, just like the procedure described above. In this case, the message block in which the message (1, 4) is written and the message (2,
Two message blocks in which 2) has been written are registered in that order. In other words, two messages are stored in the object message storage unit 12 in the order of message (1, 4) → message (2, 2). Therefore, the counter C is set to 1 at S150.
Since the count value C of the counter C at this time is 2, the maximum value Cmax remains 2.

【0174】このようにしてメッセージ(2,2)のキ
ューイングが終わると、処理の実行が図23の水温AD
値取得要求メソッドに戻る。そして、この水温AD値取
得要求メソッドの処理が終了すると、図13のメッセー
ジ配送処理が実行されて、オブジェクトメッセージ格納
部12にキューイングされている2つのメッセージのう
ち、最初に記憶された方のメッセージ(1,4)が配送
される。
When the queuing of the message (2, 2) is completed in this way, the execution of the processing is stopped at the water temperature AD shown in FIG.
Return to the value acquisition request method. Then, when the process of the water temperature AD value acquisition request method is completed, the message delivery process of FIG. 13 is executed, and of the two messages queued in the object message storage unit 12, the one stored first is stored. The message (1,4) is delivered.

【0175】即ち、図13のS220にてカウンタCが
1つディクリメントされたのち、S230にて、オブジ
ェクトメッセージ格納部12の先頭にあるメッセージブ
ロックからメッセージ(1,4)の内容が読み取られ、
また、S240にて、メッセージ(1,4)が書き込ま
れていたメッセージブロックが、空きメモリブロック格
納部14へ空きメモリブロックとして返却される。そし
て、S250にて、上記読み取ったメッセージ(1,
4)の内容に対応するISCオブジェクトOB1のエン
ジン回転数取得応答メソッドの実行開始アドレスA14
(図16参照)が、接続情報データベース16から算出
され、S260にて、その算出した実行開始アドレスが
コールされる。
That is, after the counter C is decremented by one in S220 in FIG. 13, the contents of the message (1, 4) are read from the message block at the head of the object message storage unit 12 in S230.
In S240, the message block in which the message (1, 4) has been written is returned to the free memory block storage unit 14 as a free memory block. Then, in S250, the read message (1,
Execution start address A14 of the engine speed acquisition response method of the ISC object OB1 corresponding to the content of 4)
(See FIG. 16) is calculated from the connection information database 16, and in S260, the calculated execution start address is called.

【0176】これにより、メッセージ(1,4)の配送
が行われて、図20に示すエンジン回転数取得応答メソ
ッドの実行が開始される。
Thus, the message (1, 4) is delivered, and the execution of the engine speed acquisition response method shown in FIG. 20 is started.

【0177】図20に示すように、エンジン回転数取得
応答メソッドの実行が開始されると、S450にて、水
温取得済みか否か、つまりRAM6に最新の水温値が保
存されているか否かが判断される。
As shown in FIG. 20, when the execution of the engine speed acquisition response method is started, in S450, it is determined whether or not the water temperature has been acquired, that is, whether or not the latest water temperature value is stored in the RAM 6. Is determined.

【0178】ここで、仮に、水温取得済みであれば、S
455にて、RAM6から最新のエンジン回転数と水温
値とが読み出され、続くS460にて、S455で読み
出されたエンジン回転数及び水温値に基づき、エンジン
回転数を最適なアイドル回転数にするための目標スロッ
トル開度が算出される。そして、続くS465にて、上
記S460で算出された目標スロットル開度がRAM6
に保存され、次のS470にて、メッセージ送信要求
(4,4)が出される。
Here, if the water temperature has been obtained, S
At 455, the latest engine speed and water temperature value are read from the RAM 6, and at S460, the engine speed is set to the optimum idle speed based on the engine speed and water temperature value read at S455. The target throttle opening for performing the operation is calculated. At S465, the target throttle opening calculated at S460 is stored in the RAM6.
In step S470, a message transmission request (4, 4) is issued.

【0179】但し、本実施形態の場合には、この時点
で、最新の水温値をRAM6に保存するための、水温セ
ンサオブジェクトOB2の水温AD値取得応答メソッド
が、未だ実行されていないため、上記S450にて、常
に、水温取得済みではないと判断され、上記S455〜
S470の処理を行うことなく、そのまま当該エンジン
回転数取得応答メソッドの実行が終了される。
However, in the case of the present embodiment, the water temperature AD value acquisition response method of the water temperature sensor object OB2 for storing the latest water temperature value in the RAM 6 at this point has not been executed yet. In S450, it is always determined that the water temperature has not been acquired,
The execution of the engine speed acquisition response method is terminated without performing the process of S470.

【0180】そして、エンジン回転数取得応答メソッド
の実行が終了すると、図13のメッセージ配送処理が実
行されて、オブジェクトメッセージ格納部12にキュー
イングされているメッセージ(2,2)が配送される。
When the execution of the engine speed acquisition response method is completed, the message delivery process shown in FIG. 13 is executed, and the message (2, 2) queued in the object message storage unit 12 is delivered.

【0181】即ち、この場合には、メッセージ(2,
2)のみがキューイングされているため、図13のS2
20にてカウンタCが1つディクリメントされたのち、
S230にて、オブジェクトメッセージ格納部12の先
頭にあるメッセージブロックからメッセージ(2,2)
の内容が読み取られる。また、S240にて、メッセー
ジ(2,2)が書き込まれていたメッセージブロック
が、空きメモリブロック格納部14へ空きメモリブロッ
クとして返却される。そして、S250にて、上記読み
取ったメッセージ(2,2)の内容に対応する水温セン
サオブジェクトOB2の水温AD値取得応答メソッドの
実行開始アドレスA22(図16参照)が、接続情報デ
ータベース16から算出され、S260にて、その算出
した実行開始アドレスがコールされる。
That is, in this case, the message (2,
Since only 2) is queued, S2 in FIG.
After the counter C is decremented by one at 20,
In S230, the message (2, 2) is read from the message block at the top of the object message storage
Is read. In S240, the message block in which the message (2, 2) has been written is returned to the free memory block storage unit 14 as a free memory block. Then, in S250, the execution start address A22 (see FIG. 16) of the water temperature AD value acquisition response method of the water temperature sensor object OB2 corresponding to the content of the read message (2, 2) is calculated from the connection information database 16. , S260, the calculated execution start address is called.

【0182】これにより、メッセージ(2,2)の配送
が行われて、図22に示す水温AD値取得応答メソッド
の実行が開始される。
As a result, the message (2, 2) is delivered, and the execution of the water temperature AD value acquisition response method shown in FIG. 22 is started.

【0183】図22に示すように、水温AD値取得応答
メソッドの実行が開始されると、S510にて、水温A
D値取得要求メソッド(図23)のS605でRAM6
に保存されたデジタル値が読み出され、続くS515に
て、上記S510で読み出したデジタル値を水温値
(℃)に変換する演算が行われる。
As shown in FIG. 22, when the execution of the water temperature AD value acquisition response method is started, the water temperature A
RAM 6 in S605 of D value acquisition request method (FIG. 23)
Is read, and in S515, an operation of converting the digital value read in S510 into a water temperature value (° C.) is performed.

【0184】そして、続くS520にて、上記S515
で演算された水温値がRAM6に保存され、次のS52
5にて、メッセージ送信要求(1,3)が出される。
Then, in subsequent S520, the above-mentioned S515
Is stored in the RAM 6, and the next S52
At 5, a message transmission request (1, 3) is issued.

【0185】すると、図10のメッセージキューイング
処理が実行されて、前述した手順と全く同様に、オブジ
ェクトメッセージ格納部12にメッセージ(1,3)が
キューイングされる。そして、この場合には、オブジェ
クトメッセージ格納部12に、メッセージ(1,3)が
書き込まれたメッセージブロックが、1つだけ登録され
ることとなる。換言すれば、オブジェクトメッセージ格
納部12に、メッセージ(1,3)が1つだけ記憶され
ることとなる。そのため、S150にてカウンタCが1
つインクリメントされ、このときのカウンタCのカウン
ト値C=1は最大値とならないため、最大値Cmaxは
2のままである。
Then, the message queuing process of FIG. 10 is executed, and the message (1, 3) is queued in the object message storage unit 12, just like the procedure described above. Then, in this case, only one message block in which the message (1, 3) is written is registered in the object message storage unit 12. In other words, only one message (1, 3) is stored in the object message storage unit 12. Therefore, the counter C is set to 1 at S150.
Since the count value C = 1 of the counter C at this time does not become the maximum value, the maximum value Cmax remains 2.

【0186】このようにしてメッセージ(1,3)のキ
ューイングが終わると、処理の実行が図22の水温AD
値取得応答メソッドに戻る。そして、この水温AD値取
得応答メソッドの処理が終了すると、図13のメッセー
ジ配送処理が実行されて、オブジェクトメッセージ格納
部12にキューイングされているメッセージ(1,3)
が配送される。
When the queuing of the message (1, 3) is completed in this way, the execution of the processing is stopped at the water temperature AD shown in FIG.
Return to the value acquisition response method. When the process of the water temperature AD value acquisition response method ends, the message delivery process of FIG. 13 is executed, and the message (1, 3) queued in the object message storage unit 12 is executed.
Will be delivered.

【0187】即ち、図13のS220にてカウンタCが
1つディクリメントされたのち、S230にて、オブジ
ェクトメッセージ格納部12の先頭にあるメッセージブ
ロックからメッセージ(1,3)の内容が読み取られ、
また、S240にて、メッセージ(1,3)が書き込ま
れていたメッセージブロックが、空きメモリブロック格
納部14へ空きメモリブロックとして返却される。そし
て、S250にて、上記読み取ったメッセージ(1,
3)の内容に対応するISCオブジェクトOB1の水温
取得応答メソッドの実行開始アドレスA13(図16参
照)が、接続情報データベース16から算出され、S2
60にて、その算出した実行開始アドレスがコールされ
る。
That is, after the counter C is decremented by one in S220 in FIG. 13, the contents of the message (1, 3) are read from the message block at the head of the object message storage unit 12 in S230.
In S240, the message block in which the message (1, 3) has been written is returned to the free memory block storage unit 14 as a free memory block. Then, in S250, the read message (1,
The execution start address A13 (see FIG. 16) of the water temperature acquisition response method of the ISC object OB1 corresponding to the content of 3) is calculated from the connection information database 16, and S2
At 60, the calculated execution start address is called.

【0188】これにより、メッセージ(1,3)の配送
が行われて、図19に示す水温取得応答メソッドの実行
が開始される。
Thus, the message (1, 3) is delivered, and the execution of the water temperature acquisition response method shown in FIG. 19 is started.

【0189】図19に示すように、水温取得応答メソッ
ドの実行が開始されると、S420にて、回転数取得済
みか否か、つまりRAM6に最新のエンジン回転数が保
存されているか否かが判断される。
As shown in FIG. 19, when the execution of the water temperature acquisition response method is started, in S420, it is determined whether or not the rotational speed has been acquired, that is, whether or not the latest engine rotational speed is stored in the RAM 6. Is determined.

【0190】ここで、仮に、回転数取得済みでなけれ
ば、そのまま当該水温取得応答メソッドが終了される
が、本実施形態の場合には、この時点で、前述したエン
ジン回転数取得要求メソッド(図25)のS805によ
り、最新のエンジン回転数がRAM6に保存されている
ため、上記S420にて、常に、回転数取得済みである
と判断される。
Here, if the engine speed has not been acquired, the water temperature acquisition response method is immediately terminated. In the case of the present embodiment, however, at this point, the engine speed acquisition request method (see FIG. 25) Since the latest engine speed is stored in the RAM 6 in S805, it is always determined in S420 that the engine speed has already been acquired.

【0191】そして、回転数取得済みであると判断され
ると、続くS425にて、RAM6から最新のエンジン
回転数と水温値とが読み出され、続くS430にて、S
425で読み出されたエンジン回転数及び水温値に基づ
き、エンジン回転数を最適なアイドル回転数にするため
の目標スロットル開度が算出される。そして、続くS4
35にて、上記S430で算出された目標スロットル開
度がRAM6に保存され、次のS440にて、メッセー
ジ送信要求(4,4)が出される。
If it is determined that the rotational speed has been acquired, the latest engine rotational speed and water temperature value are read from the RAM 6 in the subsequent S425, and in the next S430, the S
Based on the engine speed and the water temperature value read at 425, a target throttle opening for setting the engine speed to the optimum idle speed is calculated. And the following S4
At 35, the target throttle opening calculated at S430 is stored in the RAM 6, and at S440, a message transmission request (4, 4) is issued.

【0192】すると、図10のメッセージキューイング
処理が実行されて、前述した手順と全く同様に、オブジ
ェクトメッセージ格納部12にメッセージ(4,4)が
キューイングされる。そして、この場合には、オブジェ
クトメッセージ格納部12に、メッセージ(4,4)が
書き込まれたメッセージブロックが、1つだけ登録され
ることとなる。換言すれば、オブジェクトメッセージ格
納部12に、メッセージ(4,4)が1つだけ記憶され
ることとなる。そのため、S150にてカウンタCが1
つインクリメントされ、このときのカウンタCのカウン
ト値C=1は最大値とならないため、最大値Cmaxは
2のままである。
Then, the message queuing process of FIG. 10 is executed, and the messages (4, 4) are queued in the object message storage unit 12, just like the procedure described above. Then, in this case, only one message block in which the message (4, 4) is written is registered in the object message storage unit 12. In other words, only one message (4, 4) is stored in the object message storage unit 12. Therefore, the counter C becomes 1 in S150.
Since the count value C = 1 of the counter C at this time does not become the maximum value, the maximum value Cmax remains 2.

【0193】このようにしてメッセージ(4,4)のキ
ューイングが終わると、処理の実行が図19の水温取得
応答メソッドに戻る。そして、この水温取得応答メソッ
ドの処理が終了すると、図13のメッセージ配送処理が
実行されて、オブジェクトメッセージ格納部12にキュ
ーイングされているメッセージ(4,4)が配送され
る。
When the queuing of the message (4, 4) is completed in this manner, the process returns to the water temperature acquisition response method in FIG. When the process of the water temperature acquisition response method ends, the message delivery process of FIG. 13 is executed, and the messages (4, 4) queued in the object message storage unit 12 are delivered.

【0194】即ち、図13のS220にてカウンタCが
1つディクリメントされたのち、S230にて、オブジ
ェクトメッセージ格納部12の先頭にあるメッセージブ
ロックからメッセージ(4,4)の内容が読み取られ、
また、S240にて、メッセージ(4,4)が書き込ま
れていたメッセージブロックが、空きメモリブロック格
納部14へ空きメモリブロックとして返却される。そし
て、S250にて、上記読み取ったメッセージ(4,
4)の内容に対応するスロットルコントローラオブジェ
クトOB4のスロットル設定要求メソッドの実行開始ア
ドレスA44(図16参照)が、接続情報データベース
16から算出され、S260にて、その算出した実行開
始アドレスがコールされる。
That is, after the counter C is decremented by one in S220 of FIG. 13, the content of the message (4, 4) is read from the message block at the head of the object message storage unit 12 in S230.
In S240, the message block in which the message (4, 4) has been written is returned to the free memory block storage unit 14 as a free memory block. Then, in S250, the read message (4,
The execution start address A44 (see FIG. 16) of the throttle setting request method of the throttle controller object OB4 corresponding to the content of 4) is calculated from the connection information database 16, and the calculated execution start address is called in S260. .

【0195】これにより、メッセージ(4,4)の配送
が行われて、図24に示すスロットル設定要求メソッド
の実行が開始される。
As a result, the message (4, 4) is delivered, and the execution of the throttle setting request method shown in FIG. 24 is started.

【0196】図24に示すように、スロットル設定要求
メソッドの実行が開始されると、S700にて、水温取
得応答メソッド(図19)のS435でRAM6に保存
された目標スロットル開度が読み出され、続くS705
にて、スロットル弁の開度を上記目標スロットル開度に
調整するスロットル制御が行われる。そして、このS7
05のスロットル制御を行った後、当該スロットル設定
要求メソッドが終了する。
As shown in FIG. 24, when the execution of the throttle setting request method is started, the target throttle opening stored in the RAM 6 in S435 of the water temperature acquisition response method (FIG. 19) is read in S700. Followed by S705
The throttle control for adjusting the opening of the throttle valve to the target throttle opening is performed. And this S7
After performing the throttle control of 05, the throttle setting request method ends.

【0197】すると、図13のメッセージ配送処理が実
行されて、そのS210にて、オブジェクトメッセージ
格納部12にメッセージがキューイングされているか否
かがチェックされるが、この場合には、もはやキューイ
ングされているメッセージが無いため、メッセージ受信
待ち状態に戻る。そして、図17のスケジュール処理に
戻り、そのスケジュール処理の終了に伴い全ての処理が
一旦終わる。
Then, the message delivery process shown in FIG. 13 is executed, and it is checked in step S210 whether or not the message is queued in the object message storage unit 12. In this case, the queue is no longer queued. Since there is no message being sent, the process returns to the message reception waiting state. Then, the process returns to the schedule process of FIG. 17, and all the processes are temporarily ended with the end of the schedule process.

【0198】所定のデバッグ処理が終了したので、図1
のデバッグツール7がRAM6よりCmax値を読み取
り、読み取った値をプログラムの中のメモリブロック数
指定箇所に反映する。
Since a predetermined debugging process has been completed, FIG.
The debug tool 7 reads the Cmax value from the RAM 6 and reflects the read value in the specified location of the number of memory blocks in the program.

【0199】上記の例では、Cmax=2である。従っ
てメモリブロックを2個用意しておけば上記処理をエラ
ーなく行うことができることがわかるので、プログラム
の中のメモリブロック数指定箇所を2またはこれ以上の
近い値に書き換える。これにより有効にメモリブロック
を確保できる。
In the above example, Cmax = 2. Therefore, since it is understood that the above process can be performed without error if two memory blocks are prepared, the specified number of memory blocks in the program is rewritten to a value close to 2 or more. Thereby, a memory block can be effectively secured.

【0200】以上のように、各オブジェクトOB1〜O
B5のメソッドが、ISCオブジェクトOB1のアイ
ドル時スロットル設定開始要求メソッド(図18),
水温センサオブジェクトOB2の水温取得要求メソッド
(図21),クランクセンサオブジェクトOB5のエ
ンジン回転数取得要求メソッド(図25),AD変換
器オブジェクトOB3の水温AD値取得要求メソッド
(図23),ISCオブジェクトOB1のエンジン回
転数取得応答メソッド(図20),水温センサオブジ
ェクトOB2の水温AD値取得応答メソッド(図2
2),ISCオブジェクトOB1の水温取得応答メソ
ッド(図19),スロットルコントローラオブジェク
トOB4のスロットル設定要求メソッド(図24)の順
で実行されて、図3のメッセージシーケンスチャートに
示した順序でアイドル回転数制御のための処理が行われ
る。
As described above, each of the objects OB1 to OB
The method of B5 is an idle throttle setting start request method of the ISC object OB1 (FIG. 18),
A water temperature acquisition request method for the water temperature sensor object OB2 (FIG. 21), an engine speed acquisition request method for the crank sensor object OB5 (FIG. 25), a water temperature AD value acquisition request method for the AD converter object OB3 (FIG. 23), an ISC object OB1 Engine speed acquisition response method of FIG. 20 (FIG. 20), water temperature AD value acquisition response method of water temperature sensor object OB2 (FIG. 2)
2), the water temperature acquisition response method of the ISC object OB1 (FIG. 19) and the throttle setting request method of the throttle controller object OB4 (FIG. 24) are executed in this order, and the idle speed is set in the order shown in the message sequence chart of FIG. Processing for control is performed.

【0201】ここで特に、本実施形態のECU1では、
イグニッションスイッチがオフ状態からオンされたり、
マイクロコンピュータにリセットがかけられる等の初期
化要求が生じると、図8の初期化処理を実行して、空き
メモリブロック格納部14にメッセージの記憶(キュー
イング)専用にメモリに記憶領域(空きメモリブロッ
ク)を確保する。そしてオブジェクトが出したメッセー
ジ(メッセージ送信要求)を記憶し、オブジェクトメッ
セージ格納部12で確保する。そして、オブジェクトメ
ッセージ格納部12に記憶されているメッセージを読み
出し、その読み出したメッセージの出力先であるオブジ
ェクトのメソッドの実行に移行するようにしている。
Here, in particular, in the ECU 1 of the present embodiment,
If the ignition switch is turned on from the off state,
When an initialization request such as a reset is issued to the microcomputer, the initialization processing shown in FIG. 8 is executed, and a storage area (empty memory) dedicated to storage (queuing) of messages in the empty memory block storage unit 14 is used. Block). Then, the message (message transmission request) issued by the object is stored and secured in the object message storage unit 12. Then, the message stored in the object message storage unit 12 is read, and the process shifts to execution of the method of the object that is the output destination of the read message.

【0202】従って、本実施形態のECU1によれば、
各オブジェクトのメソッドを、高い動作速度で実行する
ことができる。しかも、メッセージのみを専用に確保し
た記憶領域(空きメモリブロック)に記憶させるため、
確保すべき容量が予測しやすくメモリ資源の消費量を減
らすことが可能となる。
Therefore, according to the ECU 1 of this embodiment,
The method of each object can be executed at a high operation speed. Moreover, in order to store only the message in a dedicated storage area (free memory block),
It is possible to easily predict the capacity to be secured and reduce the consumption of memory resources.

【0203】また、本実施形態のECU1によれば、メ
モリ領域をシステム存続中に必要となる量だけイニシャ
ル時に確保し、これらをメッセージ配送制御部10上で
管理し、その中で動的に運用している。
Further, according to the ECU 1 of this embodiment, the memory area is secured at the time of initial operation by a necessary amount during the life of the system, and these are managed by the message delivery control unit 10 and dynamically operated therein. are doing.

【0204】このようにOSに依存しない管理方法でメ
モリを利用することで、OSからの独立性が高まり、さ
らにOSへのシステムコールにかかるオーバーヘッドを
なくすことができる。
By using the memory in a management method independent of the OS in this way, the independence from the OS is increased, and the overhead required for a system call to the OS can be eliminated.

【0205】また、本実施形態のECU1では、オブジ
ェクトメッセージ格納部12に記憶されているメッセー
ジを読み出して、その読み出したメッセージの出力先で
あるオブジェクトのメソッドに処理を開始させると共
に、その読み出したメッセージをオブジェクトメッセー
ジ格納部12から消去するようにしている。詳しくは、
読み出したメッセージが書き込まれていたオブジェクト
メッセージ格納部12のメモリブロックを、内容を消去
して空きメモリブロック格納部12に返すようにしてい
る。
Further, the ECU 1 of the present embodiment reads out the message stored in the object message storage section 12 and causes the method of the object which is the output destination of the read out message to start processing, and the read out message is read out. Is deleted from the object message storage unit 12. For more information,
The memory block of the object message storage unit 12 in which the read message has been written is erased and returned to the free memory block storage unit 12.

【0206】このため、メッセージ記憶手段に不用とな
ったメッセージが残ることを防止でき、メモリ資源を有
効に活用することができる。
[0206] Therefore, it is possible to prevent unnecessary messages from remaining in the message storage means, and it is possible to effectively use memory resources.

【0207】また、本実施形態のECU1では、図10
のメッセージキューイング処理を実行して、そのメッセ
ージをオブジェクトメッセージ格納部12に記憶(キュ
ーイング)し、何れかのオブジェクトのメソッドの実行
が終了した時点で、図13のメッセージ配送処理を実行
して、オブジェクトメッセージ格納部12に記憶されて
いるメッセージの内容を読み出し、その読み出したメッ
セージの出力先であるオブジェクトのメソッドの実行へ
移行するようにしている。
Further, in the ECU 1 of the present embodiment, FIG.
Is executed, the message is stored (queued) in the object message storage unit 12, and when the execution of the method of one of the objects is completed, the message delivery process of FIG. 13 is executed. The content of the message stored in the object message storage unit 12 is read, and the process shifts to execution of the method of the object that is the output destination of the read message.

【0208】このため、本実施形態のECU1によれ
ば、各オブジェクトのメソッドを、リアルタイムに実行
することができる。つまり各オブジェクトのメソッドを
イベントドリブンで実行することができる。
Therefore, according to the ECU 1 of this embodiment, the method of each object can be executed in real time. That is, the method of each object can be executed in an event-driven manner.

【0209】また、本実施形態のECU1では、図8の
初期化処理において、空きメモリブロック格納部12に
メッセージのデータサイズに応じて記憶容量を決定した
単位記憶領域(空きメモリブロック)を決められた個数
だけ確保し、図10に示すメッセージキューイング処理
にて、1つのメッセージの配送があったとき、空きメモ
リブロック格納部12から1つの空きメモリブロックを
取得し、メッセージ内容を書き込む。
In the initialization process of FIG. 8, the ECU 1 of this embodiment can determine a unit storage area (empty memory block) in which the storage capacity is determined according to the data size of the message in the empty memory block storage unit 12. In the message queuing process shown in FIG. 10, when one message is delivered, one free memory block is obtained from the free memory block storage unit 12 and the message content is written.

【0210】これにより、一度にメッセージを記憶する
最大数を予想して設定することができるため、確保すべ
きメモリブロックを簡単に設定できる。
Thus, the maximum number of messages that can be stored at one time can be predicted and set, so that the memory blocks to be secured can be easily set.

【0211】そして、従来の関数コールによる手法で
は、ネスティングが発生する場合、ネスティングの数が
増えるほどメモリ領域が必要になり、実現するためにメ
モリ容量を多く確保する必要があるが、本発明では空き
メモリブロック1つで実現することが可能である。
In the conventional method using a function call, when nesting occurs, a memory area is required as the number of nestings increases, and it is necessary to secure a large memory capacity to realize the nesting. This can be realized with one free memory block.

【0212】また、本実施形態のECU1では、オブジ
ェクトのメソッドの実行によって出されるメッセージ
に、出力先のオブジェクト及びメソッドを示す識別コー
ドとしてのOID(オブジェクト識別番号)とMID
(メソッド識別番号)が含まれている。
In the ECU 1 of this embodiment, the message issued by executing the method of the object includes an OID (object identification number) as an identification code indicating the object and the method of the output destination and the MID.
(Method identification number).

【0213】そして更に、オブジェクトメッセージ格納
部12は、メモリブロックにOIDとMIDを記憶す
る。そして図13に示すメッセージ配送処理により、読
み出した識別コードの示すオブジェクトのメソッドの実
行に移行する。
[0213] Further, the object message storage section 12 stores the OID and the MID in the memory block. Then, by the message delivery process shown in FIG. 13, the process shifts to execution of the method of the object indicated by the read identification code.

【0214】これにより、メモリブロックに記憶するメ
ッセージが定型となるため、確保すべきメモリブロック
の数を減らすことができる。
As a result, since the messages stored in the memory blocks are fixed, the number of memory blocks to be secured can be reduced.

【0215】さらにオペレーティングシステムが提供す
るような汎用的なメモリ領域の確保・解放のシステムコ
ール実行に頼らず、オブジェクトメッセージ格納部12
及び空きメモリブロック格納部14にて独自にメモリ管
理するよう構成することが容易にできる。
Further, the object message storage unit 12 does not rely on execution of a system call for securing and releasing a general-purpose memory area as provided by the operating system.
In addition, it is easy to configure the memory management in the free memory block storage unit 14 independently.

【0216】また、本実施形態のECU1では、デバッ
グ中、オブジェクトメッセージ格納部12にキューイン
グしているメッセージブロックの数をカウントする。そ
して、デバッグ中に一度にキューイングした最も大きい
値を求めて、ここから、図8に示す初期化処理にて空き
メモリブロック格納部12に確保する空きメモリブロッ
クの数を決定する。
Further, the ECU 1 of this embodiment counts the number of message blocks queued in the object message storage unit 12 during debugging. Then, the largest value queued at one time during debugging is obtained, and the number of free memory blocks to be reserved in the free memory block storage unit 12 in the initialization processing shown in FIG.

【0217】これにより、デバッグ処理にて最大のメッ
セージブロックキューイング数を求めることができるの
で、予め確保すべきメモリブロック数を求めることが容
易となる。
As a result, the maximum message block queuing number can be obtained in the debugging process, so that the number of memory blocks to be secured in advance can be easily obtained.

【0218】なお、上記実施形態のECU1では、デバ
ッグ中、オブジェクトメッセージ格納部12にキューイ
ングしているメッセージブロックの数をカウントし、デ
バッグ中に一度にキューイングした最も大きい値を求め
て、ここから、図8に示す初期化処理にて空きメモリブ
ロック格納部12に確保する空きメモリブロックの数を
決定していた。しかし、図26、図27に示すように空
きメモリブロックの数をカウントして空きメモリブロッ
ク格納部12に確保する空きメモリブロックの数を決定
してもよい。
Note that the ECU 1 of the above embodiment counts the number of message blocks queued in the object message storage unit 12 during debugging and obtains the largest value queued at one time during debugging. Thus, the number of free memory blocks to be reserved in the free memory block storage unit 12 is determined in the initialization processing shown in FIG. However, as shown in FIGS. 26 and 27, the number of empty memory blocks to be reserved in the empty memory block storage unit 12 may be determined by counting the number of empty memory blocks.

【0219】詳しくは、図26に示すようにメッセージ
キューイング処理(S140)が終了した後、デバッグ
中であれば、空きメモリブロックの数をカウントするカ
ウンタC’を1つディクリメントする(S140;YE
S、S155)。そしてc’min値をRAMより読み
込み(S165)、カウンタC’がC’minより小さ
ければC’minをカウンタC’の値に書き換える(
S175;YES、S185)。
More specifically, as shown in FIG. 26, after the message queuing process (S140) is completed, if debugging is in progress, the counter C 'for counting the number of empty memory blocks is decremented by one (S140; YE
S, S155). Then, the c'min value is read from the RAM (S165), and if the counter C 'is smaller than C'min, C'min is rewritten to the value of the counter C' (S165).
S175; YES, S185).

【0220】そして図27に示すように、メッセージブ
ロック取得(S230)前にカウンタC’を1つインク
リメントする(S225)。
Then, as shown in FIG. 27, before acquiring the message block (S230), the counter C 'is incremented by one (S225).

【0221】従って、デバッグ中、オブジェクトメッセ
ージ格納部12にキューイングしているメッセージブロ
ックの数をカウントするのと同様に、デバッグ処理にて
最大のメッセージブロックキューイング数を求めること
ができるので、予め確保すべきメモリブロック数を求め
ることが容易となる。
Therefore, during debugging, the maximum message block queuing number can be obtained in the debugging process in the same manner as counting the number of message blocks queued in the object message storage unit 12. It is easy to determine the number of memory blocks to be secured.

【0222】なお、図26、図27において、ステップ
番号が図10、図13と同じステップはそれぞれ同様な
処理を行う。
In FIGS. 26 and 27, the same steps as those in FIGS. 10 and 13 perform the same processing.

【0223】尚、上記実施形態では、図10または図2
6のメッセージキューイング処理とオブジェクトメッセ
ージ格納部12、空きメモリブロック格納部14、及び
図8の初期化処理をメッセージ記憶手段に相当し、図1
3又は図27のメッセージ配送処理が起動制御手段に相
当する。
In the above embodiment, FIG. 10 or FIG.
The message queuing process 6 and the object message storage unit 12, the free memory block storage unit 14, and the initialization process in FIG. 8 correspond to a message storage unit.
3 or the message delivery process of FIG. 27 corresponds to the activation control unit.

【0224】一方、上記実施形態では、全てのオブジェ
クトが1つのROM5に格納されていたが、オブジェク
トが複数のROMに格納されている場合には、接続情報
データベース16内の格納位置情報としては、どのRO
Mのどの実行開始アドレスといった情報を記憶させてお
けば良い。
On the other hand, in the above embodiment, all the objects are stored in one ROM 5, but when the objects are stored in a plurality of ROMs, the storage location information in the connection information database 16 is Which RO
Information such as the execution start address of M may be stored.

【0225】一方、上記実施形態では、各オブジェクト
および各メソッドそれぞれに識別番号をつけていたが、
1つの識別番号にて一意的に決めることも可能である。
On the other hand, in the above embodiment, each object and each method are assigned an identification number.
It is also possible to determine uniquely with one identification number.

【0226】一方、上記実施形態では、イグニッション
スイッチがオフ状態からオンされたとき、またはマイク
ロコンピュータにリセットがかけられるときに、初期化
処理が要求が生じ、図8の初期化処理が行われたが、メ
ッセージのキューイング処理が始まる直前までに行って
もよい。つまりメッセージ専用のメモリ領域は、メッセ
ージキューイング処理を開始するまでに確保できれば、
本発明の有する効果を享受することができる。
On the other hand, in the above embodiment, when the ignition switch is turned on from the off state or when the microcomputer is reset, a request for initialization processing occurs, and the initialization processing in FIG. 8 is performed. However, it may be performed immediately before the message queuing process starts. In other words, if a memory area dedicated to messages can be secured before the message queuing process starts,
The effects of the present invention can be enjoyed.

【0227】一方、上記実施形態では、オブジェクトメ
ッセージ格納部12からオブジェクトにメッセージを配
送した後、メモリブロックを空きメモリブロック格納部
14に確保する際、これまで空きメモリブロック格納部
12に末尾アドレスとして記憶されていたメモリアドレ
スのメモリブロックのポインタをNULLから解放した
メモリブロックのメモリアドレスに書き換えるととも
に、新しく確保するメモリブロックのポインタにNUL
Lを書き込み、空きメモリブロック格納部14に末尾ア
ドレスとして新しく確保するメモリブロックのメモリア
ドレスを記憶していた。しかしオブジェクトメッセージ
格納部12が解放したメモリブロックを末尾アドレスと
して確保せずに(例えば先頭アドレスとなるように)確
保してもよい。
On the other hand, in the above embodiment, after a message is delivered from the object message storage unit 12 to an object, when a memory block is reserved in the free memory block storage unit 14, the last address is stored in the free memory block storage unit 12 so far. The pointer of the memory block of the stored memory address is rewritten with the memory address of the memory block released from NULL, and the pointer of the newly secured memory block is replaced with NULL.
L is written, and the memory address of the newly secured memory block is stored in the free memory block storage unit 14 as the end address. However, the memory block released by the object message storage unit 12 may not be secured as the end address (for example, may be secured as the head address).

【0228】また、上記実施形態のECU1は、車両の
エンジンを制御するものであったが、本発明は、例えば
車両の自動変速機やサスペンションなど、その他の制御
対象を制御する電子制御装置に対しても、全く同様に適
用することができる。
Although the ECU 1 of the above embodiment controls the engine of the vehicle, the present invention relates to an electronic control unit for controlling other controlled objects such as an automatic transmission and a suspension of the vehicle. However, the same can be applied.

【図面の簡単な説明】[Brief description of the drawings]

【図1】実施形態の電子制御装置(ECU)のハードウ
ェア構成を表すブロック図である。
FIG. 1 is a block diagram illustrating a hardware configuration of an electronic control unit (ECU) according to an embodiment.

【図2】エンジン制御用のオブジェクトとメッセージ配
送制御部との関係を示す概念図である。
FIG. 2 is a conceptual diagram illustrating a relationship between an engine control object and a message delivery control unit.

【図3】アイドル回転数を制御するための各オブジェク
トの処理概要を説明するメッセージシーケンスチャート
である。
FIG. 3 is a message sequence chart illustrating an outline of processing of each object for controlling an idle rotation speed.

【図4】接続情報データベースを説明する説明図であ
る。
FIG. 4 is an explanatory diagram illustrating a connection information database.

【図5】メモリのメッセージ記憶領域を説明する説明図
である。
FIG. 5 is an explanatory diagram illustrating a message storage area of a memory.

【図6】オブジェクトメッセージ格納部と空きメモリブ
ロック格納部とによるメモリブロックの確保の仕方を説
明する説明図である。
FIG. 6 is an explanatory diagram illustrating a method of securing a memory block by an object message storage unit and a free memory block storage unit.

【図7】メッセージ配送制御部の状態遷移を説明する状
態遷移図である。
FIG. 7 is a state transition diagram illustrating the state transition of the message delivery control unit.

【図8】メッセージ配送制御部の初期化処理を表すフロ
ーチャートである。
FIG. 8 is a flowchart illustrating initialization processing of a message delivery control unit.

【図9】メッセージ配送制御部のシリアライズ処理を表
すフローチャートである。
FIG. 9 is a flowchart illustrating a serialization process of a message delivery control unit.

【図10】メッセージ配送制御部のメッセージキューイ
ング処理を表すフローチャートである。
FIG. 10 is a flowchart illustrating a message queuing process of a message delivery control unit.

【図11】メッセージのキューイング処理の一例を説明
する説明図である。
FIG. 11 is an explanatory diagram illustrating an example of a message queuing process.

【図12】メッセージのキューイング処理の別の例を説
明する説明図である。
FIG. 12 is an explanatory diagram illustrating another example of a message queuing process.

【図13】メッセージ配送制御部のメッセージ配送処理
を表すフローチャートである。
FIG. 13 is a flowchart illustrating a message delivery process of a message delivery control unit.

【図14】メッセージの配送処理の一例を説明する説明
図である。
FIG. 14 is an explanatory diagram illustrating an example of a message delivery process.

【図15】メッセージの配送処理の別の例を説明する説
明図である。
FIG. 15 is an explanatory diagram illustrating another example of a message delivery process.

【図16】エンジンのアイドル回転数を制御するための
オブジェクトと、接続情報データベースの具体例とを説
明する説明図である。
FIG. 16 is an explanatory diagram illustrating an object for controlling the idle speed of the engine and a specific example of a connection information database.

【図17】アイドル回転数制御のタイミングを決定する
ために定期的に実行されるスケジュール処理を表すフロ
ーチャートである。
FIG. 17 is a flowchart showing a schedule process that is periodically executed to determine the timing of idle speed control.

【図18】ISCオブジェクトのアイドル時スロットル
設定開始要求メソッドを表すフローチャートである。
FIG. 18 is a flowchart showing a method of requesting start of throttle setting at the time of idling of an ISC object.

【図19】ISCオブジェクトの水温取得応答メソッド
を表すフローチャートである。
FIG. 19 is a flowchart illustrating a water temperature acquisition response method of the ISC object.

【図20】ISCオブジェクトのエンジン回転数取得応
答メソッドを表すフローチャートである。
FIG. 20 is a flowchart illustrating an engine speed acquisition response method of an ISC object.

【図21】水温センサオブジェクトの水温取得要求メソ
ッドを表すフローチャートである。
FIG. 21 is a flowchart illustrating a water temperature acquisition request method of a water temperature sensor object.

【図22】水温センサオブジェクトの水温AD値取得応
答メソッドを表すフローチャートである。
FIG. 22 is a flowchart illustrating a water temperature AD value acquisition response method of a water temperature sensor object.

【図23】AD変換器オブジェクトの水温AD値取得要
求メソッドを表すフローチャートである。
FIG. 23 is a flowchart illustrating a water temperature AD value acquisition request method of the AD converter object.

【図24】スロットルコントローラオブジェクトのスロ
ットル設定要求メソッドを表すフローチャートである。
FIG. 24 is a flowchart illustrating a throttle setting request method of a throttle controller object.

【図25】クランクセンサオブジェクトのエンジン回転
数取得要求メソッドを表すフローチャートである。
FIG. 25 is a flowchart illustrating an engine speed acquisition request method for a crank sensor object.

【図26】メッセージ配送制御部のメッセージキューイ
ング処理の別の例を表すフローチャートである。
FIG. 26 is a flowchart illustrating another example of the message queuing process of the message delivery control unit.

【図27】メッセージ配送制御部のメッセージ配送処理
の別の例を表すフローチャートである。
FIG. 27 is a flowchart illustrating another example of the message delivery process of the message delivery control unit.

【図28】オブジェクト指向によって作成されたプログ
ラムの一例を説明するメッセージシーケンスチャートで
ある。
FIG. 28 is a message sequence chart illustrating an example of a program created by object orientation.

【図29】オブジェクト間メッセージ通信に関数コール
の手法を適用した場合の問題を説明する説明図である。
FIG. 29 is an explanatory diagram for explaining a problem when a function call method is applied to inter-object message communication.

【符号の説明】[Explanation of symbols]

1…電子制御装置(ECU) 2…入力回路 3…
CPU 4…出力回路 5…ROM 6…RAM 10…
メッセージ配送制御部 12…オブジェクトメッセージ格納部 14…空きメ
モリブロック格納部 16…接続情報データベース OB1…ISCオブジ
ェクト OB2…水温センサオブジェクト OB3…AD変換
器オブジェクト OB4…スロットルコントローラオブジェクト OB5…クランクセンサオブジェクト
1. Electronic control unit (ECU) 2. Input circuit 3.
CPU 4 ... Output circuit 5 ... ROM 6 ... RAM 10 ...
Message delivery control unit 12 ... Object message storage unit 14 ... Free memory block storage unit 16 ... Connection information database OB1 ... ISC object OB2 ... Water temperature sensor object OB3 ... AD converter object OB4 ... Throttle controller object OB5 ... Crank sensor object

───────────────────────────────────────────────────── フロントページの続き (72)発明者 梶岡 繁 愛知県刈谷市昭和町1丁目1番地 株式会 社デンソー内 Fターム(参考) 5B076 AB17 5B098 GA02 GB13 GC16  ────────────────────────────────────────────────── ─── Continued on the front page (72) Inventor Shigeru Kajioka 1-1-1 Showa-cho, Kariya-shi, Aichi F-term in DENSO Corporation (Reference) 5B076 AB17 5B098 GA02 GB13 GC16

Claims (11)

【特許請求の範囲】[Claims] 【請求項1】 制御対象を制御するためのプログラムを
単位機能毎に細分化したオブジェクトに従って、前記各
単位機能を実現するための処理を夫々行う複数の単位処
理手段を備え、 前記複数の単位処理手段の何れかが択一的に処理動作を
行うと共に、前記各単位処理手段が、その処理動作中に
他の単位処理手段に対して処理依頼としてのメッセージ
を出すことにより、そのメッセージの出力先である単位
処理手段が処理を行うように構成された電子制御装置に
おいて、 前記プログラムやその制御結果を一時的に記憶するメモ
リ内に記憶領域を予め専用に確保し、前記単位処理手段
が出したメッセージをこの専用に確保した記憶領域に記
憶するメッセージ記憶手段と、 前記メッセージ記憶手段に記憶されているメッセージを
読み出し、その読み出したメッセージの出力先である、
前記複数の単位処理手段の何れかに処理を開始させる起
動制御手段と、 を備えることを特徴とする電子制御装置。
A plurality of unit processing means for performing processing for realizing each unit function according to an object obtained by subdividing a program for controlling a control target for each unit function; One of the means performs the processing operation alternatively, and each of the unit processing means issues a message as a processing request to the other unit processing means during the processing operation, so that the output destination of the message is output. In the electronic control device configured to perform processing by the unit processing unit, a dedicated storage area is previously reserved in a memory for temporarily storing the program and its control result, and the unit processing unit outputs Message storage means for storing a message in a storage area dedicated to the message; reading a message stored in the message storage means; The output destination of the found message,
An electronic control unit, comprising: an activation control unit that causes any of the plurality of unit processing units to start processing.
【請求項2】 請求項1に記載の電子制御装置におい
て、 前記起動制御手段は、 前記メッセージを読み出す際に、前記メッセージ記憶手
段より前記読み出したメッセージの内容を消去するこ
と、 を特徴とする電子制御装置。
2. The electronic control device according to claim 1, wherein the activation control means erases the content of the read message from the message storage means when reading the message. Control device.
【請求項3】 請求項1又は2に記載の電子制御装置に
おいて、 前記起動制御手段は、 前記複数の単位処理手段の何れかが処理動作を終了した
時点で、前記メッセージ記憶手段に記憶されているメッ
セージの内容に応じ、前記複数の単位処理手段の何れか
の処理を開始させること、 を特徴とする電子制御装置。
3. The electronic control device according to claim 1, wherein the activation control unit stores the message in the message storage unit when any one of the plurality of unit processing units ends the processing operation. An electronic control unit for starting the processing of any one of the plurality of unit processing units in accordance with the content of the message.
【請求項4】 請求項1ないし請求項2の何れかに記載
の電子制御装置において、 前記メッセージ記憶手段は、 前記メッセージのデータサイズに応じて予め決められた
所定の記憶容量を単位とする単位記憶領域を予め決めら
れた個数確保することにより、前記メッセージを記憶す
るための専用の記憶領域を確保するとともに、 1つの前記単位記憶領域に1つの前記メッセージの内容
を記憶すること、 を特徴とする電子制御装置。
4. The electronic control device according to claim 1, wherein the message storage unit is a unit having a predetermined storage capacity predetermined according to a data size of the message as a unit. By securing a predetermined number of storage areas, a dedicated storage area for storing the message is secured, and the content of one message is stored in one unit storage area. Electronic control device.
【請求項5】 請求項4に記載の電子制御装置におい
て、 前記メッセージには、該メッセージの出力先である単位
処理手段に対応したオブジェクトを示す識別コードが含
まれており、 前記メッセージ記憶手段は、前記単位記憶領域に前記識
別コードを記憶するとともに、 前記起動制御手段は前記メッセージ記憶手段から前記識
別コードを読み出すことで、前記読み出した識別コード
の示す単位処理手段に処理を開始させること、を特徴と
する電子制御装置。
5. The electronic control device according to claim 4, wherein the message includes an identification code indicating an object corresponding to a unit processing unit that is an output destination of the message. Storing the identification code in the unit storage area, the activation control unit reads the identification code from the message storage unit, and causes the unit processing unit indicated by the read identification code to start processing. Electronic control device characterized by the following.
【請求項6】 請求項1ないし請求項5の何れかに記載
の電子制御装置において、 前記起動制御手段は、 所定の処理を行っている間、前記メッセージ記憶手段に
記憶しているメッセージの数をカウントし、前記所定の
処理を行っている間のカウント値で最も大きい値を記憶
するとともに、 所定の処理終了後、前記記憶した最も大きいカウント値
を読み出し、読み出した値に応じて確保する記憶領域の
容量を決定すること、 を特徴とする電子制御装置。
6. The electronic control device according to claim 1, wherein the activation control unit is configured to execute a predetermined process, the number of messages stored in the message storage unit. Is stored, and the largest value among the count values during the execution of the predetermined processing is stored, and after the completion of the predetermined processing, the stored largest count value is read and stored according to the read value. Determining the capacity of the area;
【請求項7】 請求項4又は請求項5の何れかに記載の
電子制御装置において、 前記起動制御手段は、 所定の処理を行っている間、前記メッセージ記憶手段の
有する単位記憶領域のうちメッセージが記憶されていな
い単位記憶領域の数をカウントし、前記所定の処理を行
っている間のカウント値で最も小さい値を記憶するとと
もに、 所定の処理終了後、前記記憶した最も小さい値を読み出
し、読み出した値に応じて確保する記憶領域の容量を決
定すること、 を特徴とする電子制御装置。
7. The electronic control device according to claim 4, wherein the activation control unit executes a message in a unit storage area of the message storage unit while performing a predetermined process. Counts the number of unit storage areas where is not stored, stores the smallest value among the count values during the execution of the predetermined process, and reads out the stored smallest value after the end of the predetermined process, Determining a capacity of a storage area to be reserved according to the read value.
【請求項8】 請求項4記載の電子制御装置において、 前記複数の単位記憶領域はそれぞれメッセージのデータ
を記憶する部分と前記メッセージ記憶手段のアドレス情
報を記憶するポインタ部分とを備え、このポインタ部分
は前記メッセージの前記単位記憶領域への記憶順序を示
し、 前記起動制御手段は、前記単位記憶領域に最初に記憶さ
れたメッセージのデータを読み出し、その読み出したメ
ッセージの出力先である、前記複数の単位処理手段の何
れかに処理を開始させることを特徴とする電子制御装
置。
8. The electronic control device according to claim 4, wherein each of the plurality of unit storage areas includes a part for storing message data and a pointer part for storing address information of the message storage means. Indicates the storage order of the message in the unit storage area, the activation control unit reads out the data of the message stored first in the unit storage area, and outputs the read out message to the plurality of messages. An electronic control device for causing any one of the unit processing means to start processing.
【請求項9】 請求項8に記載の電子制御装置におい
て、 メッセージのデータをN番目に記憶した前記単位記憶領
域のポインタ部分に、メッセージのデータをN+1番目
に記憶した単位記憶領域のアドレス情報を記憶すること
を特徴とする電子制御装置。
9. The electronic control device according to claim 8, wherein the address information of the unit storage area storing the message data in the (N + 1) th position is stored in the pointer portion of the unit storage area storing the message data in the Nth position. An electronic control device characterized by storing.
【請求項10】 請求項8ないし9の何れかに記載の電
子制御装置において、 前記メッセージ記憶手段は前記メッセージのうち最初に
記憶したメッセージのデータが記憶された単位記憶領域
のアドレスと、最後に記憶したメッセージのデータが記
憶された単位記憶領域のアドレスとを記憶するメッセー
ジ記憶管理手段を備え、 前記起動制御手段は、前記メッセージ記憶管理手段の記
憶する情報を基に単位処理手段の何れかに処理を開始さ
せることを特徴とする電子制御装置。
10. The electronic control device according to claim 8, wherein the message storage means includes an address of a unit storage area in which data of a message stored first among the messages is stored, and A message storage management unit that stores an address of a unit storage area in which data of the stored message is stored, wherein the activation control unit is configured to execute any one of the unit processing units based on information stored in the message storage management unit. An electronic control device for starting processing.
【請求項11】 請求項8ないし10の何れかに記載の
電子制御装置において、 前記メッセージ記憶手段は、前記複数の単位記憶領域の
うちメッセージのデータが記憶されていない未記憶単位
記憶領域を管理する単位記憶領域管理手段を備え、 前記未記憶単位記憶領域が複数ある場合、該各未記憶単
位記憶領域のアドレス情報は、1つを除いて別の前記未
記憶単位記憶領域のうちどれか1つの単位記憶領域のポ
インタ部分に記憶されており、 前記単位記憶領域管理手段は、前記未記憶単位記憶領域
のうち、他の未記憶単位記憶領域のポインタ部分にアド
レス情報が記憶されていない未記憶単位記憶領域のアド
レス情報と、他の未記憶単位記憶領域のアドレス情報を
記憶していない未記憶単位記憶領域のアドレス情報とを
記憶することにより未記憶単位記憶領域を管理すること
を特徴とする電子制御装置。
11. The electronic control device according to claim 8, wherein the message storage unit manages an unstored unit storage area in which message data is not stored among the plurality of unit storage areas. When there are a plurality of unstored unit storage areas, the address information of each unstored unit storage area is one of the other unstored unit storage areas except one. The unit storage area management means, wherein the address information is not stored in the pointer part of another unstored unit storage area among the unstored unit storage areas. By storing the address information of the unit storage area and the address information of the unstored unit storage area that does not store the address information of the other unstored unit storage area, An electronic control device for managing a storage unit storage area.
JP2000004481A 1999-01-13 2000-01-13 Electronic controller Pending JP2000267868A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000004481A JP2000267868A (en) 1999-01-13 2000-01-13 Electronic controller

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP11-6574 1999-01-13
JP657499 1999-01-13
JP2000004481A JP2000267868A (en) 1999-01-13 2000-01-13 Electronic controller

Publications (1)

Publication Number Publication Date
JP2000267868A true JP2000267868A (en) 2000-09-29

Family

ID=26340757

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000004481A Pending JP2000267868A (en) 1999-01-13 2000-01-13 Electronic controller

Country Status (1)

Country Link
JP (1) JP2000267868A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112114757A (en) * 2020-09-28 2020-12-22 北京百度网讯科技有限公司 Storage method and system in object storage system, computing device and medium
CN114244747A (en) * 2021-11-12 2022-03-25 潍柴动力股份有限公司 Message health monitoring method and device and ECU (electronic control Unit)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112114757A (en) * 2020-09-28 2020-12-22 北京百度网讯科技有限公司 Storage method and system in object storage system, computing device and medium
CN112114757B (en) * 2020-09-28 2024-04-05 北京百度网讯科技有限公司 Storage method and system in object storage system, computing device and medium
CN114244747A (en) * 2021-11-12 2022-03-25 潍柴动力股份有限公司 Message health monitoring method and device and ECU (electronic control Unit)
CN114244747B (en) * 2021-11-12 2023-11-17 潍柴动力股份有限公司 Message health monitoring method and device and ECU

Similar Documents

Publication Publication Date Title
US7269678B2 (en) Interrupt request program and microcomputer
JP3578082B2 (en) Processing execution device and recording medium
JP4728020B2 (en) Vehicle control software and vehicle control apparatus
US7793296B2 (en) System and method for scheduling a multi-threaded processor
WO2003005196A2 (en) Data processing apparatus
JP2002533807A (en) Interrupt / software control thread processing
WO2010026836A1 (en) Control software for distributed control, and electronic control device
JP2011028559A (en) Relay program and electronic control device
JP4151198B2 (en) Interrupt controller and microcomputer
JP3663950B2 (en) Electronic control unit for automobile
JP2004192541A (en) On vehicle control program, on vehicle controller and method for generating on vehicle control program
JP2007200277A (en) Microcomputer
JP2003529819A (en) Automation device and update method
JP3663842B2 (en) Electronic control unit for automobile
JP4419943B2 (en) Data transfer device between CPUs
JP2000267868A (en) Electronic controller
EP2541404B1 (en) Technique for task sequence execution
JP2821345B2 (en) Asynchronous I / O control method
US6502001B1 (en) Electronic control unit having reduced inter-object message memory requirements for object-oriented control program
JP2001256062A (en) Interruption processing method and operation processor using the same
JPH0991154A (en) Stack allocating method and control equipment
JP2004252574A (en) Inter-task communication method, program, recording medium and electronic equipment
EP1020794A2 (en) Electronic control unit having reduced inter-object message memory requirements for object-oriented control program
JP2000311102A (en) Electronic control unit
JP2019212032A (en) Electronic control device with multi-core microcomputer

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040302

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040601