JP4293224B2 - Control unit and distributed control system - Google Patents
Control unit and distributed control system Download PDFInfo
- Publication number
- JP4293224B2 JP4293224B2 JP2006293466A JP2006293466A JP4293224B2 JP 4293224 B2 JP4293224 B2 JP 4293224B2 JP 2006293466 A JP2006293466 A JP 2006293466A JP 2006293466 A JP2006293466 A JP 2006293466A JP 4293224 B2 JP4293224 B2 JP 4293224B2
- Authority
- JP
- Japan
- Prior art keywords
- module
- task
- unit
- communication
- configuration information
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Combined Controls Of Internal Combustion Engines (AREA)
Description
本発明は組み込みシステムに係り、特に、複数の組み込みシステムがCAN
(Controller Area Nerwork)やFoundation Fieldbus等のフィールドネットワークにより相互接続された分散制御システム、例えば自動車内のパワートレイン制御システム,ファクトリーオートメーションやプロセスオートメーションのフィールド機器制御システム、医療機器やロボット制御システムに関する。
The present invention relates to an embedded system, and in particular, a plurality of embedded systems are CAN.
The present invention relates to a distributed control system interconnected by a field network such as (Controller Area Nerwork) or Foundation Fieldbus, for example, a powertrain control system in an automobile, a field device control system for factory automation or process automation, a medical device, or a robot control system.
従来技術1として、フィールドネットワークの一つであるLON(Local Operating
Network )や、自動車制御向け標準通信プロトコルであるOSEK−COMのような、通信処理はアプリケーション・プログラム(AP)が呼び出すライブラリ方式があげられる。
As
Network) and OSEK-COM, which is a standard communication protocol for vehicle control, include a library method that is called by an application program (AP) for communication processing.
この方式は文献「OSEK/VDX Communication Version2.0a(ftp://www−iit.
etec.uni−karlsruhe.de/pub/osek/より入手可能)」に詳しい。
This method is described in the document “OSEK / VDX Communication Version 2.0a (ftp: // www-iit.
etec.uni-karlsruhe.de/pub/osek/) ”.
また、従来技術2として、多くの産業システムで採用されているメモリ転写方式
(=Reflective Memory方式)があげられる。これは文献「REFLECTIVE MEMORYNETWORK
WHITE PAPER(http://www.vmic.com/より入手可能))に詳しい。
Further, as the
Details on WHITE PAPER (available from http://www.vmic.com/).
従来技術1では、通信処理を使用するためには、AP開発者がAP内に通信処理やAPの起動タイミングを記述する必要がある。
In
しかし、今後、各ユニットがフィールドネットワークで相互接続される分散制御システム構成に移行するにつれて、特に、ネットワークを跨った通信処理を含むセンサ入力〜アクチュエータ出力を行う処理の最悪実行時間の保証、即ち、End−to−Endのリアルタイム(Real−Time。以下RT)性の保証の際、不都合が生じる。 However, as the unit moves to a distributed control system configuration in which each unit is interconnected by a field network in the future, in particular, the guarantee of the worst execution time of the process of performing sensor input to actuator output including communication processing across the network, that is, Inconvenience occurs when guaranteeing end-to-end real-time (real-time).
理由は、基本的に、このRT性保証を通信処理やAPの起動タイミングを考慮して各
AP毎に独立して実現する場合、少なくともRT性保証に関しては、APに汎用性が無いので、システム構成が変更する毎に、APを全面的に書き直さなければならなくなるからである。また、今後フィールドネットワークのプロトコルの標準化が進むにつれ、異なるベンダユニットを相互に接続したいという顧客側からの要望が強くなるが、これらのユニットを相互接続した場合、ユニット内のAPを書き換えられない場合、上記理由により、RT性保証は非常に困難である。
The reason is basically that, when this RT guarantee is realized independently for each AP in consideration of communication processing and AP activation timing, the AP is not versatile at least for the RT guarantee. This is because every time the configuration changes, the AP must be completely rewritten. As field network protocol standardization progresses in the future, there is a strong demand from customers to connect different vendor units to each other. However, when these units are connected to each other, the AP in the unit cannot be rewritten. For the above reasons, it is very difficult to guarantee RT performance.
一方、従来技術2では、APと通信処理が共有メモリを介して分離され、互いに非同期に動作する。一般的に通信処理は、各ユニット上のシステム上での共有メモリの値を周期的に転送,更新する処理を行う。そのため、各AP単体の最悪実行時間及び通信処理の最悪実行時間は容易に保証出来る。
On the other hand, in the
しかし、APと通信処理が非同期であるため、データの伝搬遅延が発生するので、ネットワークを跨った通信処理を含むセンサ入力〜アクチュエータ出力を行う処理の最悪実行時間は大きい。このため、最悪実行時間が厳しい処理に対しては、従来技術2の適用が困難になる。また、従来技術2では、データの更新が行われていなくても、該共有メモリ上の値は周期的に転送,更新されるため、ネットワーク上のトラフィックを無駄に使うことになる。
However, since the AP and the communication process are asynchronous, a data propagation delay occurs, so that the worst execution time of the process of performing the sensor input to the actuator output including the communication process across the network is long. For this reason, it is difficult to apply the
本発明は、RT性の保証を容易化することが可能であり、かつネットワークを跨った通信処理を含むセンサ入力〜アクチュエータ出力を行う処理の最悪実行時間を短くすることが出来、かつシステム構成が変更してもソフト変更量を小さく抑えることによりソフト生産性の向上をはかることを目的としている。 The present invention can facilitate the guarantee of RT characteristics, can shorten the worst execution time of the process of performing the sensor input to the actuator output including the communication process across the network, and has a system configuration. The purpose is to improve software productivity by keeping the amount of software change small even if it is changed.
APの実行を制御,管理する、ミドルウェア,OS,割り込み処理,ドライバソフト等より構成されるソフトウェアプラットフォーム内に、以下の手段を設けることにより、上記目的を達成する:
(1)APモジュールまたは通信処理の実行順番、あるいは各通信処理のRT通信サービス情報が格納されているAP構成情報記憶手段。
The above object is achieved by providing the following means in a software platform configured by middleware, OS, interrupt processing, driver software, and the like that controls and manages the execution of the AP:
(1) AP configuration information storage means for storing the execution order of AP modules or communication processes, or RT communication service information of each communication process.
(2)該AP構成情報記憶手段を参照し、該AP構成情報記憶手段に格納されている実行順番に従ってAPモジュールを実行したり、通信処理を実行するモジュール起動制御手段。 (2) Module activation control means that refers to the AP configuration information storage means and executes AP modules according to the execution order stored in the AP configuration information storage means or executes communication processing.
モジュール起動制御手段が該AP構成情報記憶手段を参照し、該AP構成情報記憶手段に格納されているAPモジュールまたは通信処理の実行順番に従って APモジュールを実行したり、あるいは通信処理を実行する。 The module activation control unit refers to the AP configuration information storage unit and executes the AP module or the communication process according to the AP module stored in the AP configuration information storage unit or the execution order of the communication process.
モジュール起動制御手段がAPモジュールを実行したり、あるいは通信処理を実行することにより、APと通信処理は完全に分離する。 When the module activation control unit executes the AP module or executes the communication process, the AP and the communication process are completely separated.
また、APモジュールの実行順序や通信処理の実行順序や通信処理のRT通信サービス内容の変更は、該AP構成情報記憶手段の変更により実現可能になる。 Also, the change of the AP module execution order, the communication process execution order, and the communication process RT communication service contents can be realized by changing the AP configuration information storage means.
本発明によれば、
AP構成情報記憶手段を変更することにより、APモジュールの実行順序や通信処理の実行順序やメッセージ・オブジェクトの通信処理優先度を変更でき、さらには、APと通信処理を非同期にあるいは、同期して動作させることができるので、ネットワークを跨った通信処理を含むセンサ入力〜アクチュエータ出力を行う処理の最悪実行時間を短くすることが容易になり、RT性の保証を容易にすることが可能になる。
According to the present invention,
By changing the AP configuration information storage means, the execution order of the AP modules, the execution order of the communication processes, and the communication processing priority of the message object can be changed. Furthermore, the communication process with the AP can be performed asynchronously or synchronously. Since it can be operated, it becomes easy to shorten the worst execution time of the process of performing the sensor input to the actuator output including the communication process across the network, and it is possible to easily guarantee the RT property.
AP内に通信処理が混在することは無く、両者は完全に分離されており、かつ、APモジュール及び通信処理の実行順番と各通信処理のRT通信サービス情報を変更できるので、システム構成が変更してもソフト変更量を小さく抑えることによりソフト生産性の向上をはかることが可能になる。 There is no communication processing in the AP, both are completely separated, and the execution order of the AP module and communication processing and the RT communication service information of each communication processing can be changed. However, it is possible to improve software productivity by keeping the amount of software change small.
以下、図面に従って説明する。 Hereinafter, it demonstrates according to drawing.
図1に本発明の分散制御システムを示す。 FIG. 1 shows a distributed control system of the present invention.
分散制御システムは、複数のユニット1a,1b,…,1nがネットワーク2に接続されて構成されている。各ユニットは、アプリケーション・プログラム(AP)11と分散制御ミドルウェア12,リアルタイムオペレーティングシステム(RTOS)13とネットワーク通信処理ドライバ14からなる。AP11は、複数のAPモジュール21a,
21b,…,21nからなる。分散制御ミドルウェア12は複数のモジュール起動制御タスク22a,…,22kとAP構成情報23と複数のメッセージ・オブジェクト24a,…,24mとRT通信処理制御25からなる。さらにAP構成情報23はAPモジュール構成情報23a,メッセージ・オブジェクト構成情報23bよりなる。また図中の矢印
31a〜31n,32a〜32k,33a〜33k,34a〜34m,35a〜35k,36,25a,25bらは制御フローである。
The distributed control system is configured by connecting a plurality of
21b, ..., 21n. The
図2はAPモジュール構成情報23aを示したものである。
FIG. 2 shows the AP
図に示す表の左列はシステム内で実行されるAPモジュール、右列は左列の該APモジュールの実行終了後、次に実行されるモジュールを示すモジュール起動制御タスク(APモジュールあるいはメッセージ・オブジェクトの送受信処理)が登録されている。 The left column of the table shown in the figure is an AP module to be executed in the system, and the right column is a module activation control task (AP module or message object) indicating the module to be executed next after the execution of the AP module in the left column. Transmission / reception processing) is registered.
図の例では、モジュール起動制御タスクがAPモジュール:M1実行後、次に実行するのはメッセージ・オブジェクト:MsgObj1送信であり、また、APモジュール:M2実行後、次に実行するのはAPモジュール:M3であることを示している。APモジュール:M3実行後、次に実行されるモジュールがNULLになっているが、このNULLは、次に実行されるモジュールが存在しない、即ち、モジュール起動制御タスクの終了を示す。また、APモジュール:M4実行後、次に実行するのはメッセージ・オブジェクト:
MsgObj3送信である。
In the example shown in the figure, the module activation control task executes the transmission of the message object MsgObj1 after execution of the AP module M1, and the AP module: M2 is executed next after the execution of the AP module M2. It shows that it is M3. AP module: After executing M3, the module to be executed next is NULL, but this NULL indicates that the module to be executed next does not exist, that is, the end of the module activation control task. Also, after executing the AP module: M4, the next object to be executed is the message object:
MsgObj3 transmission.
図3はメッセージ・オブジェクト構成情報23bを示したものである。 FIG. 3 shows the message object configuration information 23b.
図に示す表の第一列(最左列)は、システム内のメッセージ・オブジェクト名、第二列は通信処理優先度、第三列は通信処理がユニット内通信かユニット間通信かを示すフラグである内部/外部通信、第四列は通信サービス種類、第五列はメッセージ・オブジェクトの送信処理実行後、次に実行されるモジュール、第六列(最右列)はメッセージ・オブジェクトの受信処理実行後、次に実行されるモジュールが登録されている。なお通信処理優先度は、ユニット間通信の時のみ設定され、ユニット内通信では未設定(NULL)となる。 The first column (leftmost column) of the table shown in the figure is the name of the message object in the system, the second column is the communication processing priority, and the third column is a flag indicating whether the communication processing is intra-unit communication or inter-unit communication. Internal / external communication, the fourth column is the communication service type, the fifth column is the next module to be executed after executing the message object transmission process, and the sixth column (rightmost column) is the message object reception process. After execution, the module to be executed next is registered. The communication processing priority is set only during inter-unit communication, and is not set (NULL) in intra-unit communication.
通信サービス種類は、同期通信と非同期通信の2種類がある。 There are two types of communication services, synchronous communication and asynchronous communication.
(1)同期通信は、メッセージ送信処理の場合、該処理後、即メッセージを受信側に送信する処理が実行され、また、メッセージ受信処理の場合、メッセージ受信イベントが発生後、即、該処理が実行される通信サービスである。 (1) In synchronous communication, in the case of message transmission processing, processing for transmitting an immediate message to the receiving side is executed after the processing. In the case of message reception processing, the processing is immediately performed after a message reception event occurs. A communication service to be executed.
(2)非同期通信は、メッセージ送信処理の場合、該送信処理後、メッセージを受信側に送信する処理が即実行される保証は無い。基本的には、送信処理を実行するモジュール起動制御タスクAとは異なる別の実行制御タスクBにて、モジュール起動制御タスクAとは無関係に、メッセージを受信側に送信する処理が実行される。また、メッセージ受信処理の場合、該メッセージ受信イベントとは無関係の他のイベント(周期タイマ,センサ入力他)で該メッセージ受信処理が実行される通信サービスである。 (2) In asynchronous communication, in the case of message transmission processing, there is no guarantee that processing for transmitting a message to the receiving side will be immediately executed after the transmission processing. Basically, a process for transmitting a message to the receiving side is executed in an execution control task B different from the module activation control task A that executes the transmission process, regardless of the module activation control task A. In the case of message reception processing, the message reception processing is a communication service that is executed at other events (periodic timer, sensor input, etc.) that are not related to the message reception event.
図の例では、MsgObj1は、その通信優先度はNULL,ユニット内部通信,同期通信サービスである。モジュール起動制御タスクがMsgObj1送信処理実行後、次に実行するのは、MsgObj1受信処理であり、また、モジュール起動制御タスクがMsgObj1受信処理実行後、次に実行するのは、APモジュール:M2であることを示している。 In the example shown in the figure, MsgObj1 has a communication priority of NULL, unit internal communication, and synchronous communication service. The module activation control task executes the MsgObj1 reception process after the MsgObj1 transmission process is executed, and the module activation control task executes the MsgObj1 reception process and then executes the AP module: M2. It is shown that.
MsgObj2は、その通信優先度は中,ユニット外部通信,同期通信サービスである。モジュール起動制御タスクがMsgObj2送信処理実行後、次に実行するのは、NULL、即ち、モジュール起動制御タスクの終了を示しており、また、モジュール起動制御タスクが
MsgObj2受信処理実行後、次に実行するのは、APモジュール:M4であることを示している。
MsgObj2 is a unit external communication and synchronous communication service with medium communication priority. After the module activation control task executes the MsgObj2 transmission process, the next execution is NULL, that is, indicates the end of the module activation control task.
After the MsgObj2 reception process is executed, it is indicated that the AP module: M4 is executed next.
一方、MsgObj3は、その通信優先度は低,ユニット外部通信,非同期通信サービスである。モジュール起動制御タスクがMsgObj3送信処理実行後、次に実行するのは、APモジュール:M5であり、また、モジュール起動制御タスクがMsgObj3受信処理実行後、次に実行するのは、NULL、即ち、モジュール起動制御タスクの終了を示している。 On the other hand, MsgObj3 has a low communication priority and is a unit external communication and asynchronous communication service. After the MsgObj3 transmission process is executed by the module activation control task, the next execution is AP module: M5, and after the MsgObj3 reception process is executed, the module activation control task executes NULL, that is, a module. Indicates the end of the start control task.
AP構成情報23内のAPモジュール構成情報23a,メッセージ・オブジェクト構成情報23bは、各モジュール起動制御タスク22a,…,22kが参照可能な共有データとしてユニット1a内のメモリ上に格納される。
The AP
なお本実施例では、AP構成情報23を図2,図3に示すAPモジュール構成情報23a,メッセージ・オブジェクト構成情報23bの2表より構成されることにしたが、これらが1つの表に統合されても構わない。APモジュール、メッセージ・オブジェクトを併せて各モジュールの次実行モジュールが登録されている表と、図3のメッセージ・オブジェクトの次実行モジュールを除いた情報をまとめた表にわけることも可能である。また、これらの情報は、表の形である必要はなく、例えば、各モジュールの構成情報単位の構造体を定義し、これらをポインタで管理してもよい。
In this embodiment, the
次に、本発明の基本的な動作例を以下説明する。図1において、動作の主体となるのは、モジュール起動制御タスク22a〜22kであり、ここでは、モジュール起動制御タスクの動作を表すフローチャート図26を用いて図1の動作例を説明することにする。
Next, a basic operation example of the present invention will be described below. In FIG. 1, the main components of the operation are module
501にてRTOS13によりモジュール起動制御タスクが起動される。起動されたタスクは502にて最初に実行するモジュールを実行する(注:501と502の詳細は、図4にて後述する)。
At 501, the module activation control task is activated by
モジュール実行後、503にてAP構成情報23を参照し、次実行モジュールを求める。
After executing the module, the
次実行モジュールがメッセージ・オブジェクトであるかどうか504にて確認し、メッセージでないならば、APモジュールであるか505にて確認、APモジュールでもないのならば、該タスクは実行すべき全てのモジュールを終了したので、該タスクの処理を終了する。 Whether the next execution module is a message object is checked in 504. If it is not a message, it is checked whether it is an AP module in 505. If it is not an AP module, the task selects all modules to be executed. Since the processing has ended, the processing of the task ends.
505にて、次実行モジュールがAPモジュールならば、507にて該APモジュールを実行し、実行が終了したら503に戻ってAP構成情報23の参照より処理を繰り返す。
If the next execution module is an AP module at 505, the AP module is executed at 507, and when the execution is completed, the process returns to 503 and the process is repeated by referring to the
504にて、次実行モジュールがメッセージ・オブジェクトならば、送信処理なのか受信処理なのかを508にて確認する。受信処理ならば、509にてRT通信制御を呼び出して受信処理を実行する。送信処理ならば、510にてRT通信制御を呼び出して送信処理を実行する。 If the next execution module is a message object at 504, it is confirmed at 508 whether it is a transmission process or a reception process. If it is a reception process, RT communication control is called in 509 to execute the reception process. If it is a transmission process, RT communication control is called in 510 to execute the transmission process.
通信処理508あるいは510が終了したら503に戻ってAP構成情報23の参照より処理を繰り返す。
When the
AP構成情報23に登録されている該メッセージ・オブジェクトの通信サービスがRT通信処理制御25に記述されており、該モジュール起動制御タスクは25を呼び出し、
25に記述されている処理に従い、RTOS(13)〜ネットワーク通信ドライバ14を経由してユニット間通信を実行する。
The communication service of the message object registered in the
25, the inter-unit communication is executed via the RTOS (13) to the
なお、RT通信処理制御25は、通信対象のメッセージ・オブジェクトの通信処理優先度、ユニット内通信かユニット間通信か、通信サービスを、AP構成情報23(より正確にはメッセージ・オブジェクト構成情報23b)を参照することにより、通信処理を実行する。本RT通信処理制御25は、例えば、文献「OSEK/VDX Communication Version
2.0a 」に記載されている、OSEK−COM通信ライブラリによって実現可能である。
The RT
It can be realized by the OSEK-COM communication library described in “2.0a”.
モジュール起動制御タスクは、図4に示すようにしてRTOS13によって起動される。
The module activation control task is activated by the
図4は割り込み処理の動作フローを示した図である。 FIG. 4 is a diagram showing an operation flow of interrupt processing.
図において、101aから101mは割り込み処理である。割り込み処理101mは
111〜115の処理より構成される。他の割り込み処理も同様である。102は割り込みベクタ表である。103aから103nはRTOS内タスク制御ブロック(TCB)である。TCBには、タスク実行優先度、起動後に最初に実行するモジュール情報,タスク状態他が保存されている。104は割り込み原因−起動タスク対応表である。
In the figure, reference numerals 101a to 101m denote interrupt processing. The interrupt
割り込み処理の動作は、以下のようになる。割り込み信号の入力により、マイクロプロセッサは、それまで実行していた処理を中断、途中結果を保存し、割り込みベクタ表102を参照して割り込み要因(=ベクタ番号)に対応する割り込み処理を起動する。一例として、割り込み要因がベクタ番号Mで起動される割り込み処理が101mの割り込み処理Mの場合、まず111にて割り込みの原因を特定する。具体的には、通信LSIからの割り込みの場合、該通信LSIの制御レジスタを参照することにより、割り込みの原因が、送信完了なのか、外部よりメッセージを受信したのか、あるいはエラーが発生したのかを特定する。ここで、割り込みの原因が原因2であったとすると、112にて104の割り込み原因−起動タスク対応表を参照して、起動タスクを見つける。104には、原因2の起動タスクはモジュール起動制御タスク2であり、113にてモジュール起動制御タスク2のTCB2(103b)を参照し、該タスク状態を実行可能にする。そして114にて
RTOS13に処理を渡して、割り込み処理を終了する(115)。
The operation of the interrupt process is as follows. In response to the input of the interrupt signal, the microprocessor interrupts the processing that has been executed so far, stores the intermediate result, and refers to the interrupt vector table 102 to start the interrupt processing corresponding to the interrupt factor (= vector number). As an example, when the interrupt process activated by the vector number M is the interrupt process M of 101 m, first, the cause of the interrupt is identified at 111. Specifically, in the case of an interrupt from a communication LSI, by referring to the control register of the communication LSI, it is possible to determine whether the cause of the interrupt is transmission completion, a message has been received from the outside, or an error has occurred. Identify. Here, if the cause of the interruption is
The process is passed to the
一方、RTOS13は、実行可能状態のタスクの中で、最高優先度のタスクを起動し、最初に実行するモジュールを実行する。実行可能状態の複数個のタスクの中から最高優先度のタスクを起動する手段は、RTOSでは標準的な、優先度毎に設けられた複数のスケジューリング・キューより構成されるタスク・スケジューラにより実現される。
On the other hand, the
一例として、図4で、モジュール起動制御タスク2が起動された場合、最初に実行するモジュールはTCB2(103b)参照により、「MsgObj2受信」となる。その後の該タスクの動作は、図2,図3の先程の説明より、以下となる:
(1)図3を参照することにより、メッセージ・オブジェクト名:MsgObj2受信処理実行後、次に実行するのは、APモジュール:M4である。
As an example, when the module
(1) Referring to FIG. 3, after executing the reception process of the message object name: MsgObj2, the AP module: M4 is executed next.
(2)図2を参照することにより、APモジュール:M4実行後、次に実行するのはメッセージ・オブジェクト:MsgObj3送信である。 (2) Referring to FIG. 2, after executing the AP module: M4, the next execution is message object: MsgObj3 transmission.
(3)図3を参照することにより、メッセージ・オブジェクト名:MsgObj3送信処理実行後、次に実行するのは、APモジュール:M5である。 (3) Referring to FIG. 3, after executing the message object name: MsgObj3 transmission process, the AP module: M5 is executed next.
(4)図2を参照することにより、APモジュール:M5実行後、次に実行するのは
NULL、即ち、該タスクの動作終了を示す。
(4) Referring to FIG. 2, after executing the AP module: M5, what is executed next is NULL, that is, the end of the operation of the task.
以上より、該タスクの動作をまとめると、以下となる:
MsgObj2受信→M4→MsgObj3送信→M5→終了
AP構成情報の参照による、モジュール起動制御タスクの動作例を以下に記す。まず最初に、あるユニット内のモジュール起動制御タスクAが最初にAPモジュール:M1を実行するとすれば、図2,図3の次実行モジュールを辿ることにより、モジュールの実行順序は、以下の通りとなる:
M1→MsgObj1受信→MsgObj1送信→M2→M3→終了
また、別のユニット内のモジュール起動制御タスクBが最初にMsgObj2受信を実行するとすれば、図2,図3の次実行モジュールを辿ることにより、モジュールの実行順序は、以下の通りとなる:
MsgObj2受信→M4→MsgObj3送信→M5→終了
以上の様に、モジュール起動制御タスクの動作は、関数呼び出しのみからなるc言語のメイン関数のような、関数(=モジュール)起動のみを行い、モジュール実行順序制御を行うといったAP処理実行の枠組み(フレームワーク)となる。
From the above, the operation of the task is summarized as follows:
MsgObj2 reception → M4 → MsgObj3 transmission → M5 → end An example of the operation of the module activation control task by referring to the AP configuration information is described below. First, if the module activation control task A in a certain unit first executes the AP module: M1, the execution order of the modules is as follows by tracing the next execution module of FIGS. Become:
M1 → MsgObj1 reception → MsgObj1 transmission → M2 → M3 → end Also, if the module activation control task B in another unit executes MsgObj2 reception first, by tracing the next execution module in FIGS. The order of module execution is as follows:
MsgObj2 reception->M4-> MsgObj3 transmission->M5-> end As described above, the module activation control task only performs function (= module) activation, such as the c language main function consisting only of function calls, and executes the module. This is a framework (framework) for executing AP processing such as order control.
なお、モジュール起動制御タスクがAPモジュールを呼び出して実行する反面、APモジュールがモジュール起動制御タスク、OSサービス(システムコール)を呼び出して実行することはしないので、またAPとモジュール起動制御タスクの間のAPIは、APモジュールとなる。これは、従来技術のAPIがOSサービスやライブラリであるのとは、正反対である。 Although the module activation control task calls and executes the AP module, the AP module does not call and execute the module activation control task and OS service (system call). The API is an AP module. This is the opposite of the prior art API being OS services and libraries.
本実施例では、図1の各ユニット内のAP構成情報23は、図2,図3にて示した表の全ての情報を保持する、即ち該情報はユニット間で同一情報を共有することになる。あるいは、各ユニット毎に、該ユニットが使用する情報、即ち該ユニット内モジュール(APモジュールあるいはメッセージ・オブジェクト)に関する情報のみを保有させることは、容易に実現可能である。
In this embodiment, the
本実施例では、モジュール起動制御タスク22a〜22kが実行するモジュールAP以外のモジュールとして、メッセージ・オブジェクトを扱った。しかし、メッセージ以外の他の入出力オブジェクト、例えば、具体的なセンサオブジェクト,アクチュエータ・オブジェクトに関しても、メッセージ・オブジェクト34a〜34mに相当する入出力オブジェクトと、RT通信処理制御25に相当する入出力オブジェクト制御モジュールと、AP構成情報23内に入出力オブジェクト構成情報を格納することにより、各種入出力オブジェクトに関してもメッセージ・オブジェクトと同様の実行制御が可能になる。
In this embodiment, the message object is handled as a module other than the module AP executed by the module
本実施例では、モジュール起動制御タスク22a〜22kはタスクとしているが、
RTOS13の内部の機能でもよい。この場合、タスク切り換えオーバーヘッドが減少するが、RTOSのサイズが大きくなり、ポータビリティが悪くなる。
In this embodiment, the module
It may be an internal function of RTOS13. In this case, task switching overhead is reduced, but the RTOS size is increased and portability is deteriorated.
本実施例では、RT通信処理制御25はメッセージ・オブジェクト24a〜24mより呼び出されるソフトウェアモジュールであり、モジュール起動制御タスク22a〜22kにて実行されるが、25がモジュール起動制御タスク22a〜22kとは別の独立したタスクでよいし、また25がRTOS13の内部の機能であってもよい。25をタスクにした場合、22a〜22kとの並行処理がより柔軟に行える一方、タスク切り換えオーバーヘッドが増える。25をRTOS内部の機能にすると、タスク切り換えオーバーヘッドが減少するが、RTOSのサイズが大きくなり、ポータビリティが悪くなる。
In this embodiment, the RT
本実施例では、RT通信処理制御25はネットワーク通信処理ドライバ14を直接制御していないが、直接25が14を制御する構成であってもかまわない。この場合、RTOSを経由しない分だけ、オーバーヘッドが小さくなる一方、25が14を実行する際、共有資源の排他制御処理を行う必要があり、25内のプログラムの記述が複雑になる。
In this embodiment, the RT
ここでは、AP構成情報変更によるシステム変更例を、具体例にて説明する。 Here, a system change example due to AP configuration information change will be described with a specific example.
(1)基本構成
図5は、自動車のオートクルーズ制御を実現するために使われるスロットル制御ユニット内のモジュール起動制御タスクの動作を示したものである。
(1) Basic Configuration FIG. 5 shows the operation of a module activation control task in a throttle control unit used for realizing auto cruise control of an automobile.
図5において、ユニット1は、ネットワーク2に接続される。ユニット1はAPモジュールである目標駆動力計算21yおよびスロットル開度計算21zとメッセージ・オブジェクトである目標車速24yおよび目標駆動力24zからなる。ユニット1はネットワーク2を介して目標車速の情報43を受信する。ユニット1はユニット出力42からスロットル開度を出力する。22はモジュール起動制御タスクAである。
In FIG. 5, the
図5のモジュール起動制御タスクA(22)の動作は、図6〜図9に示すパラメータにて設定される。 The operation of the module activation control task A (22) in FIG. 5 is set by the parameters shown in FIGS.
図6はスロットル制御ユニット1内の割り込み原因−起動タスク対応表を示す。この対応表はモジュール起動制御タスクA(22)は30msタイマにより周期起動されることを表している。
FIG. 6 shows an interrupt cause-start task correspondence table in the
図7はモジュール起動制御タスクAのTCB(タスク制御ブロック)を示す。タスク実行優先度は高、起動後に最初に実行するモジュールは目標車速24yの受信であることを示している。
FIG. 7 shows a TCB (task control block) of the module activation control task A. The task execution priority is high, indicating that the first module to be executed after activation is reception of the
図8はAPモジュール構成情報を示す。APモジュール:目標駆動力計算21y実行後、次にメッセージ・オブジェクト:目標駆動力24zの送信処理を実行、また、APモジュール:スロットル開度計算21z実行後はタスク終了であることを示している。
FIG. 8 shows AP module configuration information. After the execution of the AP module: target driving
図9はメッセージ・オブジェクト構成情報を示す。メッセージ・オブジェクト:目標車速24yの通信は、その通信優先度は中,ユニット間通信,非同期通信サービスである。モジュール起動制御タスクが目標車速24yの送信処理実行後、タスク終了、また、モジュール起動制御タスクが目標車速24yの受信処理実行後、次に実行するのは、APモジュール:目標駆動力計算21yであることを示している。一方、メッセージ・オブジェクト:目標駆動力24zの通信は、その通信優先度はNULL,ユニット内通信,同期通信サービスである。モジュール起動制御タスクが目標駆動力24zの送信処理実行後、目標駆動力24zの受信、また、モジュール起動制御タスクが目標駆動力24zの受信処理実行後、次に実行するのは、APモジュール:スロットル開度計算21zであることを示している。
FIG. 9 shows message object configuration information. Message object: Communication of the
以上の図6〜図9のパラメータ値により、モジュール起動制御タスクA(22)の動作は、30msタイマにより周期起動され、また、モジュール実行順序は以下となる:
目標車速24y受信→目標駆動力計算21y→目標駆動力24z送信→目標駆動力24z受信→スロットル開度計算21z実行→タスク終了
The operation of the module activation control task A (22) is periodically activated by the 30 ms timer according to the parameter values in FIGS. 6 to 9 described above, and the module execution order is as follows:
(2)機能分散
図10は、図5のスロットル制御ユニットを2ユニットに機能分散した場合のモジュール起動制御タスクの動作を示したものである。
(2) Function distribution FIG. 10 shows the operation of the module activation control task when the function of the throttle control unit of FIG. 5 is distributed to two units.
図10において、ユニット1yと1zは、ネットワーク2に接続される。ユニット1yはAPモジュールである目標駆動力計算21yとメッセージ・オブジェクトである目標車速24yおよび目標駆動力24z1からなる。ユニット1yはネットワーク2を介して目標車速の情報43を受信する。ユニット1yはネットワーク2に目標駆動力の情報44を送信する。22yはユニット1y内のモジュール起動制御タスクAである。ユニット1zはAPモジュールであるスロットル開度計算21zとメッセージ・オブジェクトである目標駆動力24z2からなる。ユニット1zはネットワーク2を介して目標駆動力の情報
44を受信する。ユニット1zはユニット出力42からスロットル開度を出力する。22zはユニット1z内のモジュール起動制御タスクBである。
In FIG. 10, units 1 y and 1 z are connected to the
図10のモジュール起動制御タスクA(22y)、タスクB(22z)の動作は、図
11〜図14に示すパラメータにて設定される。
The operations of the module activation control task A (22y) and task B (22z) in FIG. 10 are set by the parameters shown in FIGS.
図11は駆動力マネジメントユニット1y、スロットル制御ユニット内1zそれぞれの割り込み原因−起動タスク対応表を示す。図より、モジュール起動制御タスクA(22y),タスクB(22z)は、それぞれ30msタイマによる周期起動、目標駆動力24z2の受信イベント起動となることを示している。 FIG. 11 shows an interrupt cause-startup task correspondence table for each of the driving force management unit 1y and the throttle control unit 1z. From the figure, it is shown that the module activation control task A (22y) and task B (22z) are the periodic activation by the 30 ms timer and the reception event activation of the target driving force 24z2, respectively.
図12はモジュール起動制御タスクA,タスクBのTCB(タスク制御ブロック)を示す。タスクA,タスクB共にタスク実行優先度は高、また起動後に最初に実行するモジュールはタスクAが目標車速24yの受信,タスクBが目標駆動力24z2の受信であることを示している。
FIG. 12 shows TCBs (task control blocks) of module activation control tasks A and B. Both task A and task B have a high task execution priority, and the first module to be executed after activation indicates that task A receives the
図13はAPモジュール構成情報を示す。APモジュール:目標駆動力計算21y実行後、次にメッセージ・オブジェクト:目標駆動力24z1の送信処理を実行、また、APモジュール:スロットル開度計算21z実行後はタスク終了であることを示している。
FIG. 13 shows AP module configuration information. After the AP module: target driving
図14はメッセージ・オブジェクト構成情報を示す。メッセージ・オブジェクト:目標車速24yの通信は、その通信優先度は中,ユニット間通信,非同期通信サービスである。モジュール起動制御タスクが目標車速24yの送信処理実行後、タスク終了、また、モジュール起動制御タスクが目標車速24yの受信処理実行後、次に実行するのは、APモジュール:目標駆動力計算21yであることを示している。一方、メッセージ・オブジェクト:目標駆動力24z1,24z2(両者は同一オブジェクトであり、構成情報はユニット間で共有される)の通信は、その通信優先度は高,ユニット間通信,同期通信サービスである。モジュール起動制御タスクが目標駆動力の送信処理実行後、タスク終了、また、モジュール起動制御タスクが目標駆動力の受信処理実行後、次に実行するのは、APモジュール:スロットル開度計算21zであることを示している。
FIG. 14 shows message object configuration information. Message object: Communication of the
以上の図11〜図14のパラメータ値により、モジュール起動制御タスクA(22y)の動作は、30msタイマにより周期起動され、また、モジュール実行順序は以下となる:
目標車速24y受信→目標駆動力計算21y→目標駆動力送信→タスク終了
また、モジュール起動制御タスクB(22z)の動作は、目標駆動力の受信イベントで起動され、また、モジュール実行順序は以下となる:
目標駆動力受信→スロットル開度計算21z実行→タスク終了
よって、(1)から(2)にシステム構成変更があった場合、以下のパラメータの変更のみで対応できる。
The operation of the module activation control task A (22y) is periodically activated by the 30 ms timer according to the parameter values of FIGS. 11 to 14 described above, and the module execution order is as follows:
Target driving force reception →
・スロットル制御ユニット内1zの割り込み原因−起動タスク対応表のモジュール起動制御タスクB(22z)の新規登録。 -New registration of the module activation control task B (22z) in the cause-of-activation task correspondence table in the throttle control unit 1z.
・モジュール起動制御タスクB(22z)のTCB(タスク制御ブロック)の新規登録。 New registration of TCB (task control block) of module activation control task B (22z).
・AP構成情報の変更は、メッセージ・オブジェクト:目標駆動力の通信処理優先度、内部/外部通信、送信時の次実行モジュールの3箇所。 -AP configuration information is changed in three parts: message object: communication processing priority of target driving force, internal / external communication, and next execution module at the time of transmission.
(3)新機能
図15は、図10のシステム構成に、新たにレーダユニットを追加した場合のモジュール起動制御タスクの動作を示したものである。
(3) New Function FIG. 15 shows the operation of the module activation control task when a radar unit is newly added to the system configuration of FIG.
図15において、ユニット1x,1y,1zは、ネットワーク2に接続される。ユニット1xはAPモジュールである車間距離計算21wおよび目標車速計算21xとメッセージ・オブジェクトである車間距離24xおよび目標車速24y1からなる。ユニット1xはユニット入力41からレータ情報を入力する。ユニット1xはネットワーク2に目標車速の情報45を送信する。22xはユニット1x内のモジュール起動制御タスクCである。ユニット1y1はAPモジュールである目標駆動力計算21yとメッセージ・オブジェクトである目標車速24y2および目標駆動力24z1からなる。ユニット1y1はネットワーク2を介して目標車速の情報43を受信する。ユニット1y1はネットワーク2に目標駆動力の情報44を送信する。22yはユニット1y1内のモジュール起動制御タスクAである。ユニット1zはAPモジュールであるスロットル開度計算21zとメッセージ・オブジェクトである目標駆動力24z2からなる。ユニット1zはネットワーク2を介して目標駆動力の情報44を受信する。ユニット1zはユニット出力42からスロットル開度を出力する。22zはユニット1z内のモジュール起動制御タスクBである。
In FIG. 15,
図15のモジュール起動制御タスクA(22y),タスクB(22z),タスクC
(22x)の動作は、図16〜図19に示すパラメータにて設定される。
Module activation control task A (22y), task B (22z), task C in FIG.
The operation (22x) is set by the parameters shown in FIGS.
図16は駆動力マネジメントユニット1y,スロットル制御ユニット内1z,レーダユニット1zそれぞれの割り込み原因−起動タスク対応表を示す。図より、モジュール起動制御タスクA(22y),タスクB(22z),タスクC(22x)は、それぞれ目標車速24y2の受信イベント起動、目標駆動力24z2の受信イベント起動、30msタイマによる周期起動となることを示している。 FIG. 16 shows an interrupt cause-starting task correspondence table for each of the driving force management unit 1y, the throttle control unit 1z, and the radar unit 1z. From the figure, the module activation control task A (22y), task B (22z), and task C (22x) are activated by the reception event of the target vehicle speed 24y2, activated by the reception event of the target driving force 24z2, and periodically activated by the 30 ms timer. It is shown that.
図17はモジュール起動制御タスクA,タスクB,タスクCのTCB(タスク制御ブロック)を示す。タスクA,タスクB,タスクC共にタスク実行優先度は高、また起動後に最初に実行するモジュールはタスクAが目標車速24y2の受信,タスクBが目標駆動力24z2の受信,タスクCが車間距離計算21wであることを示している。 FIG. 17 shows TCBs (task control blocks) of module activation control tasks A, B, and C. Task A, Task B, and Task C have high task execution priority, and the first module to be executed after startup is that Task A receives the target vehicle speed 24y2, Task B receives the target driving force 24z2, and Task C calculates the inter-vehicle distance. It is 21w.
図18はAPモジュール構成情報を示す。APモジュール:目標駆動力計算21y実行後、次にメッセージ・オブジェクト:目標駆動力24z1の送信処理を実行、また、APモジュール:スロットル開度計算21z実行後はタスク終了であり、車間距離計算21w実行後、次にメッセージ・オブジェクト:車間距離24xの送信処理を実行、目標車速計算21x実行後、次にメッセージ・オブジェクト:目標車速24y1の送信処理を実行することを示している。
FIG. 18 shows AP module configuration information. AP module: After executing the target driving
図19はメッセージ・オブジェクト構成情報を示す。メッセージ・オブジェクト:目標車速24y1,24y2(両者は同一オブジェクトであり、構成情報はユニット間で共有される)の通信は、その通信優先度は中、ユニット間通信,同期通信サービスである。モジュール起動制御タスクが目標車速の送信処理実行後、タスク終了、また、モジュール起動制御タスクが目標車速の受信処理実行後、次に実行するのは、APモジュール:目標駆動力計算21yであることを示している。一方、メッセージ・オブジェクト:目標駆動力24z1,24z2(両者は同一オブジェクトであり、構成情報はユニット間で共有される)の通信は、その通信優先度は高,ユニット間通信,同期通信サービスである。モジュール起動制御タスクが目標駆動力の送信処理実行後、タスク終了、また、モジュール起動制御タスクが目標駆動力の受信処理実行後、次に実行するのは、APモジュール:スロットル開度計算21zであることを示している。さらに、メッセージ・オブジェクト:車間距離24xの通信は、その通信優先度はNULL,ユニット内通信,同期通信サービスである。モジュール起動制御タスクが車間距離の送信処理実行後、メッセージ・オブジェクト:車間距離の受信処理実行、また、モジュール起動制御タスクが車間距離の受信処理実行後、次に実行するのは、APモジュール:目標車速計算21xであることを示している。
FIG. 19 shows message object configuration information. Communication of message objects: target vehicle speeds 24y1 and 24y2 (both are the same object and configuration information is shared between units) is communication between units and synchronous communication service with medium communication priority. After the module activation control task executes the target vehicle speed transmission process, the task ends. After the module activation control task executes the target vehicle speed reception process, the next execution is the AP module: target driving
以上の図16〜図19のパラメータ値により、モジュール起動制御タスクA(22y)の動作は、目標車速の受信イベントで起動され、また、モジュール実行順序は以下となる:
目標車速受信→目標駆動力計算21y→目標駆動力送信→タスク終了
また、モジュール起動制御タスクB(22z)の動作は、目標駆動力の受信イベントで起動され、また、モジュール実行順序は以下となる:
目標駆動力受信→スロットル開度計算21z実行→タスク終了
さらに、モジュール起動制御タスクC(22x)の動作は、30msタイマにより周期起動され、また、モジュール実行順序は以下となる:
車間距離計算21w→車間距離送信→車間距離受信→目標車速計算21x→目標車速送信→タスク終了
よって、(2)から(3)にシステム構成変更があった場合、以下のパラメータの変更のみで対応できる。
The operation of the module activation control task A (22y) is activated by the reception event of the target vehicle speed according to the parameter values of FIGS. 16 to 19 described above, and the module execution order is as follows:
Target vehicle speed reception → target driving
Target driving force reception →
・駆動力マネジメントユニット内1y1の割り込み原因−起動タスク対応表の割り込み原因の変更。 -Change of cause of interrupt in 1y1 interrupt cause-startup task correspondence table in the driving force management unit.
・レーダユニット内1xの割り込み原因−起動タスク対応表のモジュール起動制御タスクC(22x)の新規登録。 -New registration of module activation control task C (22x) in the 1x interrupt cause-activation task correspondence table in the radar unit.
・モジュール起動制御タスクC(22x)のTCB(タスク制御ブロック)の新規登録。 New registration of TCB (task control block) of module activation control task C (22x).
・AP構成情報の変更は、APモジュール:車間距離計算21w、目標車速計算21xの新規登録、メッセージ・オブジェクト:目標車速の通信サービス種類、メッセージ・オブジェクト:車間距離の新規登録。
AP configuration information is changed by AP module:
(4)機能移動
図20は、図15のシステム構成にて、モジュールをあるユニットから別のユニットに移動した場合のモジュール起動制御タスクの動作を示したものである。
(4) Function Movement FIG. 20 shows the operation of the module activation control task when a module is moved from one unit to another unit in the system configuration of FIG.
図20において、ユニット1v,1w,1zは、ネットワーク2に接続される。ユニット1vはAPモジュールである車間距離計算21wとメッセージ・オブジェクトである車間距離24x1からなる。ユニット1vはユニット入力41からレータ情報を入力する。ユニット1vはネットワーク2に車間距離の情報45を送信する。22vはユニット1v内のモジュール起動制御タスクCである。ユニット1wはAPモジュールである目標車速計算21xおよび目標駆動力計算 21yとメッセージ・オブジェクトである車間距離
24x2および目標車速24yおよび目標駆動力24z1からなる。ユニット1wはネットワーク2を介して車間距離の情報45を受信する。ユニット1wはネットワーク2に目標駆動力の情報44を送信する。22wはユニット1w内のモジュール起動制御タスクAである。ユニット1zはAPモジュールであるスロットル開度計算21zとメッセージ・オブジェクトである目標駆動力24z2からなる。ユニット1zはネットワーク2を介して目標駆動力の情報44を受信する。ユニット1zはユニット出力42からスロットル開度を出力する。22zはユニット1z内のモジュール起動制御タスクBである。
In FIG. 20, the units 1v, 1w, 1z are connected to the
図20のモジュール起動制御タスクA(22w),タスクB(22z),タスクC
(22v)の動作は、図21〜図24に示すパラメータにて設定される。
Module activation control task A (22w), task B (22z), task C in FIG.
The operation (22v) is set by the parameters shown in FIGS.
図21は駆動力マネジメントユニット1w、スロットル制御ユニット内1z,レーダユニット1vそれぞれの割り込み原因−起動タスク対応表を示す。図より、モジュール起動制御タスクA(22w),タスクB(22z),タスクC(22v)は、それぞれ車間距離24x2の受信イベント起動、目標駆動力24z2の受信イベント起動、30msタイマによる周期起動となる。 FIG. 21 shows an interrupt cause-startup task correspondence table for each of the driving force management unit 1w, the throttle control unit 1z, and the radar unit 1v. From the figure, the module activation control task A (22w), task B (22z), and task C (22v) are activated by a reception event at an inter-vehicle distance of 24x2, activated by a reception event at a target driving force 24z2, and periodically activated by a 30 ms timer. .
図22はモジュール起動制御タスクA,タスクB,タスクCのTCB(タスク制御ブロック)を示す。タスクA,タスクB,タスクC共にタスク実行優先度は高、また起動後に最初に実行するモジュールはタスクAが車間距離24x2の受信、タスクBが目標駆動力24z2の受信、タスクCが車間距離計算21wであることを示している。 FIG. 22 shows TCBs (task control blocks) of module activation control tasks A, B, and C. Task A, Task B, and Task C all have high task execution priority. The first module to be executed after startup is Task A receives the inter-vehicle distance 24x2, Task B receives the target driving force 24z2, and Task C calculates the inter-vehicle distance. It is 21w.
図23はAPモジュール構成情報を示す。APモジュール:目標駆動力計算21y実行後、次にメッセージ・オブジェクト:目標駆動力24z1の送信処理を実行、また、APモジュール:スロットル開度計算21z実行後はタスク終了であり、車間距離計算21w実行後、次にメッセージ・オブジェクト:車間距離24xの送信処理を実行、目標車速計算21x実行後、次にメッセージ・オブジェクト:目標車速24y1の送信処理を実行することを示している。図23は図18と同一である。
FIG. 23 shows AP module configuration information. AP module: After executing the target driving
図24はメッセージ・オブジェクト構成情報を示す。メッセージ・オブジェクト:目標車速24yの通信は、その通信優先度はNULL,ユニット内通信,同期通信サービスである。モジュール起動制御タスクが目標車速の送信処理実行後、メッセージ・オブジェクト:目標車速の受信処理実行、また、モジュール起動制御タスクが目標車速の受信処理実行後、次に実行するのは、APモジュール:目標駆動力計算21yであることを示している。一方、メッセージ・オブジェクト:目標駆動力24z1,24z2(両者は同一オブジェクトであり、構成情報はユニット間で共有される)の通信は、その通信優先度は高,ユニット間通信,同期通信サービスである。モジュール起動制御タスクが目標駆動力の送信処理実行後、タスク終了、また、モジュール起動制御タスクが目標駆動力の受信処理実行後、次に実行するのは、APモジュール:スロットル開度計算21zであることを示している。さらに、メッセージ・オブジェクト:車間距離24x1,24x2(両者は同一オブジェクトであり、構成情報はユニット間で共有される)の通信は、その通信優先度は低,ユニット間通信,同期通信サービスである。モジュール起動制御タスクが車間距離の送信処理実行後、メッセージ・オブジェクト:車間距離の受信処理実行、また、モジュール起動制御タスクが車間距離の受信処理実行後、次に実行するのは、APモジュール:目標車速計算21xであることを示している。
FIG. 24 shows message object configuration information. Message object: The communication of the
以上の図21〜図24のパラメータ値により、モジュール起動制御タスクA(22w)の動作は、車間距離の受信イベントで起動され、また、モジュール実行順序は以下となる:
車間距離受信→目標車速計算21x→目標車速送信→目標車速受信→目標駆動力計算21y→目標駆動力送信→タスク終了
また、モジュール起動制御タスクB(22z)の動作は、目標駆動力の受信イベントで起動され、また、モジュール実行順序は以下となる:
目標駆動力受信→スロットル開度計算21z実行→タスク終了
さらに、モジュール起動制御タスクC(22v)の動作は、30msタイマにより周期起動され、また、モジュール実行順序は以下となる:
車間距離計算21w→車間距離送信→タスク終了
よって、(3)から(4)にシステム構成変更があった場合、以下のパラメータの変更のみで対応できる。
Based on the parameter values of FIGS. 21 to 24 described above, the operation of the module activation control task A (22w) is activated by the reception event of the inter-vehicle distance, and the module execution order is as follows:
Inter-vehicle distance reception → target
Target driving force reception →
・駆動力マネジメントユニット内1y1の割り込み原因−起動タスク対応表の割り込み原因の変更。 -Change of cause of interrupt in 1y1 interrupt cause-startup task correspondence table in the driving force management unit.
・モジュール起動制御タスクA(22w)のTCB(タスク制御ブロック)の起動後に最初に実行するモジュール変更。 Module change to be executed first after TCB (task control block) of module activation control task A (22w) is activated.
・AP構成情報の変更は、APモジュール構成情報は無し、メッセージ・オブジェクト:目標車速,車間距離の通信処理優先度,内部/外部通信,送信時の次実行モジュールの変更。 -AP configuration information is changed with no AP module configuration information, message object: target vehicle speed, communication processing priority of inter-vehicle distance, internal / external communication, change of next execution module at transmission.
以上のように、モジュール起動制御タスクは、AP構成情報(APモジュール構成情報,メッセージ・オブジェクト構成情報)、さらには、割り込み原因−起動タスク対応表内の起動タスク情報,タスク制御ブロック内のタスク実行優先度情報と起動後に最初に実行するモジュール情報の変更により、任意のシステム構成に対応できる。このように、システム構成が変更してもソフト変更量を小さく抑えることができるので、ソフト生産性の向上をはかることが可能になる。 As described above, the module activation control task includes AP configuration information (AP module configuration information, message / object configuration information), further, activation task information in the interrupt cause-activation task correspondence table, and task execution in the task control block. Any system configuration can be supported by changing the priority information and the module information to be executed first after startup. Thus, even if the system configuration is changed, the amount of software change can be kept small, so that it is possible to improve software productivity.
さらに、これらの情報を変更することで、APモジュールの実行順序や通信処理の実行順序やメッセージ・オブジェクトの通信処理優先度を変更でき、APと通信処理を非同期にあるいは、同期して動作させることができるので、ネットワークを跨った通信処理を含むセンサ入力〜アクチュエータ出力を行う処理の最悪実行時間を短くすることが可能になる。 Furthermore, by changing these information, the execution order of AP modules, the execution order of communication processing, and the communication processing priority of message objects can be changed, and the AP and communication processing can be operated asynchronously or synchronously. Therefore, it becomes possible to shorten the worst execution time of the process of performing sensor input to actuator output including communication processing across the network.
図25にAP構成情報設定システムの構成図を記す。 FIG. 25 shows a configuration diagram of the AP configuration information setting system.
図において、複数のユニット1a1,…,1n1とパソコン51はネットワーク2に接続される。各ユニット内は、アプリケーション・プログラム(AP)11と分散制御ミドルウェア12,リアルタイムオペレーティングシステム(RTOS)13,ネットワーク通信処理ドライバ14と初期化処理15からなる。AP11は、複数のAPモジュール21a,21b,…,21nからなる。分散制御処理ミドルウェアは複数のモジュール起動制御タスク22a,…,22kとAP構成情報23と複数のメッセージ・オブジェクト24a,…,24mとリアルタイム通信処理制御25からなる。さらに23はAPモジュール構成情報23a,メッセージ・オブジェクト構成情報23bよりなる。また図中の矢印31a〜31n,32a〜32k,33a〜33k,34a〜34m,35a〜35k,36,25a,25b,37,37aらは制御フローである。51はセンターコントロールユニットやパソコン等の汎用計算機であり、それがAP構成情報格納ディスク52と接続される。
In the figure, a plurality of units 1a1,..., 1n1 and a
AP構成情報設定システムの動作は、以下のようになる。AP構成情報格納ディスク
52には全癒ニットのAP構成情報が格納されており、システム立ち上げ時に、計算機
51がAP構成情報格納ディスク52よりAP構成情報の書き換えが必要なユニット宛に該ユニットのAP構成情報(図4に記した割り込み原因−起動タスク対応表104、タスク制御ブロック103a〜103n)をネットワーク経由で複数のパケットに分割して送信する。該受信側のユニットでは、初期化処理15がネットワーク通信ドライバ14経由で、送られてきたパケットを受信、AP構成情報23に格納して行く。
The operation of the AP configuration information setting system is as follows. The AP configuration
上記では、ディスク52にはAP構成情報が格納され、計算機51により該情報をユニット内AP構成情報23に格納する場合のみ記したが、AP構成情報の他に、図4の割り込み原因−起動タスク対応表104やタスク制御ブロック103a〜103nの情報も
AP構成情報格納ディスク52に格納され、計算機51により該情報をユニットに送信し、格納してもよい。
In the above description, the AP configuration information is stored in the
本システムがあれば、ユニットが既にシステム実装された後でも、ユニット内のモジュール起動制御タスクの動作を変更することができるので、新ユニット追加等のシステム構成変更があっても、ユニットをシステムから取り外さなくてよくなる。 With this system, the operation of the module activation control task in the unit can be changed even after the unit is already installed in the unit, so the unit can be removed from the system even if there is a system configuration change such as adding a new unit. You do n’t have to remove it.
なお、ここでは、AP構成情報の設定をネットワーク経由で行う実施例を記したが、ネットワーク以外にもRS232等のシリアルケーブル経由でユニットのAP構成情報の設定を行うことも可能である。この場合ユニット1a1内には、シリアルケーブル・ドライバソフトが必要になり、初期化処理38はネットワーク通信処理ドライバ14の代わりにシリアルケーブル・ドライバソフトを使うことになる。
Here, the embodiment in which the AP configuration information is set via the network has been described, but it is also possible to set the AP configuration information of the unit via a serial cable such as RS232 other than the network. In this case, serial cable driver software is required in the unit 1a1, and the
さらに、AP構成情報の設定は、ROMライタを使用して、AP構成情報23のメモリ領域に直接書き込もことも可能である。
Furthermore, the AP configuration information can be set directly in the memory area of the
図27にAP構成情報生成ツールの構成図を記す。 FIG. 27 shows a configuration diagram of the AP configuration information generation tool.
図において、システム構成情報601が該ツールの入力情報、AP構成情報生成ツールは602、AP構成情報23が出力情報である。ツール602は構文解析ツール6021,データ生成ツール6022の2つのツールより構成される。
In the figure,
システム構成情報601は、以下に記す、タスク情報,AP情報,メッセージ・オブジェクト情報より構成される。
The
(1)システム情報
・分散制御処理(入力から出力までの複数タスクの実行)のタスク実行順序、実行するタスク名及びデータフロー。
(1) System information-Task execution order of distributed control processing (execution of multiple tasks from input to output), task names to be executed, and data flow.
・分散制御処理の最悪実行時間。 -Worst execution time of distributed control processing.
・他タスクとの共有リソースアクセス競合により、処理が遅延する時間。 -Processing delay due to shared resource access contention with other tasks.
・前タスクから継承される実行遅れ時間。 -Execution delay time inherited from the previous task.
・分散制御処理完了までのEnd-to-Endのデッドライン。 -End-to-end deadline until the completion of distributed control processing.
(2)タスク情報
・モジュール実行順序、実行するモジュール名及びデータフロー
・タスク実行優先度
・タスクの起動タイプ(周期タイマ起動 or イベント起動)。
(2) Task information-Module execution order, module name to execute and data flow-Task execution priority-Task activation type (cyclic timer activation or event activation).
・タスク起動周期時間
- 周期時間(周期起動タイプの分散制御処理)。
・ Task start cycle time
-Cycle time (cyclic start type distributed control processing).
- イベント発生最小時間(イベント駆動タイプの分散制御処理)。 -Minimum event occurrence time (event-driven type distributed control processing).
・自タスクの最悪応答行時間。 ・ The worst response time of the invoking task.
(3)AP情報
・内包する全APモジュールへのポインタ。
(3) AP information-Pointer to all included AP modules.
・各APモジュールの入力情報の個数、データタイプ。 -Number of input information and data type of each AP module.
・各APモジュールの出力情報の個数、データタイプ。 -Number of output information and data type of each AP module.
(4)メッセージ・オブジェクト情報
・内包する全メッセージ・オブジェクトへのポインタ。
(4) Message object information-Pointers to all message objects to be included.
・各メッセージ・オブジェクトのデータタイプ。 The data type of each message object.
・メッセージ種類(同期通信 or 非同期通信)。 -Message type (synchronous communication or asynchronous communication).
・送信処理,受信処理完了までのタイムアウト時間。 -Timeout period until transmission processing and reception processing are completed.
・送信処理リトライ上限回数。 -Maximum number of transmission processing retries.
・採用する通信エラー処理。 ・ Communication error handling adopted.
構文解析ツール6021は、システム構成情報601よりAP構成情報を抽出するツールであり、一般の構文解析ツールにて実現可能である。またデータ生成ツール6022は、ツール6021からの出力をAP構成情報23のフォーマットに変換するものである。
The syntax analysis tool 6021 is a tool for extracting AP configuration information from the
本ツールがあれば、人手でAP構成情報23を作成しなくて済み、ソフトウェアの生産性が向上する。
With this tool, it is not necessary to manually create the
図28に分散制御処理ミドルウェア・コード生成ツールの構成図を記す。 FIG. 28 shows a configuration diagram of the distributed control processing middleware code generation tool.
図において、システム構成情報601が該ツールの入力情報,分散制御処理ミドルウェア・コード生成ツールは605,分散制御処理ミドルウェア・コードが604である。ツール605はAP構成情報生成ツール602,中間データであるAP構成情報23,コード生成ツール603より構成される。
In the figure,
コード生成ツール603は、図26にてその動作を記したモジュール起動制御タスク
(図1の22a〜22k)と該タスクの参照データであるAP構成情報23よりモジュール起動制御タスクのコードを生成する。生成されるコードは、高級言語のソースファイルでも、アセンブラコードでも、オブジェクト・ファイルでもよい。
The
本ツールによって生成されたコードは、上記で説明してきた、モジュール起動制御タスクがAP構成情報を参照する処理のコードよりもサイズを小さくできるので、メモリの節約及び実行時間のオーバーヘッドの低減がはかれる。 The code generated by this tool can be made smaller in size than the code of the process that the module activation control task described above refers to the AP configuration information, so that memory saving and execution time overhead can be reduced.
1…ユニット、11…アプリケーション・プログラム、12…分散制御ミドルウェア、13…リアルタイムオペレーティングシステム、14…ネットワーク通信処理ドライバ、20…ネットワーク、21…アプリケーション・プログラムモジュール、22…モジュール起動タスク、23…アプリケーション・プログラム構成情報、24…メッセージ・オブジェクト、25…リアルタイム通信処理制御、31〜38…制御フロー、41…ユニットへの入力、42…ユニットからの出力、43〜45…ネットワークを経由する情報、51…計算機、52…AP構成情報格納ディスク、101…割り込み処理、102…割り込みベクタ表、103…リアルタイムオペレーティングシステム内タスク制御ブロック、104…割込み原因−起動タスク対応表、111〜115…割り込み処理の内容。
DESCRIPTION OF
Claims (5)
制御を行う分散制御システムであって、
複数のユニットとして、自動車の状態を検知するセンサユニットと、
自動車の状態を計算する演算ユニットとを備え、
前記センサユニットと前記演算ユニットとに関係するメッセージ・オブジェクトの通信
処理優先度を前記分散制御システム内で実行されるAPモジュールのタスク実行優先度よりも高くすることを特徴とする分散制御システム。 A distributed control system comprising a plurality of units having communication means for connecting to a network and performing distributed control of an automobile,
As a plurality of units, a sensor unit for detecting the state of the automobile,
An arithmetic unit for calculating the state of the car,
A distributed control system, wherein a communication processing priority of a message object related to the sensor unit and the arithmetic unit is made higher than a task execution priority of an AP module executed in the distributed control system.
複数のユニットとして、アクチュエータを有するアクチュエータユニットを備え、
前記センサユニットと前記演算ユニットとアクチュエータユニットとに関係するメッセージ・オブジェクトの通信処理優先度を前記分散制御システム内で実行されるAPモジュールのタスク実行優先度よりも高くすることを特徴とする分散制御システム。 In claim 1,
As a plurality of units, provided with an actuator unit having an actuator,
Distributed control , wherein a communication processing priority of a message object related to the sensor unit , the arithmetic unit, and the actuator unit is made higher than a task execution priority of an AP module executed in the distributed control system system.
前記センサユニットは、車間距離を測定するレーダーを備えたことを特徴とする分散制
御システム。 In claim 1 or claim 2,
The sensor unit includes a radar that measures an inter-vehicle distance.
前記演算ユニットは、自動車の駆動力を制御することを特徴とする分散制御システム。 In one of claims 1 to 3,
The distributed control system, wherein the arithmetic unit controls a driving force of an automobile.
前記ユニットは、通信処理を実行するメッセージ・オブジェクトの複数の前記ユニット
を用いる処理での優先度を示す通信処理優先度を格納するメッセージ・オブジェクト構成
情報格納手段を備えることを特徴とする分散制御システム。 In one of claims 1 to 4,
The unit includes message / object configuration information storage means for storing communication processing priority indicating priority in processing using a plurality of units of a message object for executing communication processing. .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006293466A JP4293224B2 (en) | 2006-10-30 | 2006-10-30 | Control unit and distributed control system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006293466A JP4293224B2 (en) | 2006-10-30 | 2006-10-30 | Control unit and distributed control system |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10224027A Division JP2000056987A (en) | 1998-08-07 | 1998-08-07 | Control unit and distributed control system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2007052813A JP2007052813A (en) | 2007-03-01 |
| JP4293224B2 true JP4293224B2 (en) | 2009-07-08 |
Family
ID=37917160
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006293466A Expired - Fee Related JP4293224B2 (en) | 2006-10-30 | 2006-10-30 | Control unit and distributed control system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4293224B2 (en) |
-
2006
- 2006-10-30 JP JP2006293466A patent/JP4293224B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2007052813A (en) | 2007-03-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Zheng et al. | Definition of task allocation and priority assignment in hard real-time distributed systems | |
| RU2487388C2 (en) | Actuator for hvac systems and method for operation thereof | |
| EP2116913B1 (en) | Mobile function block for a plc based distributed control system | |
| CN110430110B (en) | On-site bus gateway and protocol conversion method thereof | |
| WO2005109299A1 (en) | Robot control software framework in open distributed process architecture | |
| JP2012133789A (en) | System and method executing decentralized software | |
| JP2009528644A (en) | Method for generating an optimized flow diagram for a time-controlled distributed computer system | |
| Kim et al. | Real-time middleware for networked control systems and application to an unstable system | |
| KR20100048857A (en) | Method and devices for developing robot software components in intelligence robot system | |
| Gemlau et al. | A platform programming paradigm for heterogeneous systems integration | |
| Pöhnl et al. | A middleware journey from microcontrollers to microprocessors | |
| Klüner et al. | Modern middlewares for automated vehicles: A tutorial | |
| Atmojo et al. | Dynamic reconfiguration and adaptation of manufacturing systems using SOSJ framework | |
| US20230089528A1 (en) | Method to execute a mode-transition in a multi-mode computer system | |
| CN116760872A (en) | Equipment control systems, methods, devices, computer equipment and storage media | |
| JP4293224B2 (en) | Control unit and distributed control system | |
| Mubeen et al. | Extracting timing models from component-based multi-criticality vehicular embedded systems | |
| US20110144803A1 (en) | Real-time distributed control system, real-time distributed control method, and robot | |
| Fischmeister et al. | A verifiable language for programming real-time communication schedules | |
| US8689217B2 (en) | System and method for thread processing robot software components responsive to periodic, dedicated, and passive modes | |
| Hace et al. | Control system for the waterjet cutting machine | |
| JP2000056987A (en) | Control unit and distributed control system | |
| Kaiser et al. | A real-time event channel model for the CAN-Bus | |
| Guo et al. | A survey of real-time automotive systems | |
| Lin et al. | Platform-based design for automotive and transportation cyber-physical systems |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061129 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061129 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081209 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090204 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090317 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090330 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120417 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120417 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120417 Year of fee payment: 3 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120417 Year of fee payment: 3 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120417 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130417 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140417 Year of fee payment: 5 |
|
| LAPS | Cancellation because of no payment of annual fees |