(57)【要約】【課題】制御ソフトウェアモジュールの再利用性を高めた分散制御システムを提供する。【解決手段】外部指定又はモジュール内の外部から読書き可能なデータ領域を入力端子１４、出力端子１５とする制御ソフトウェアモジュール１１と、モジュール１１および制御対象機器３の出力端子のデータをこれらの入力端子に伝送するソフトウェア配線１２とを備え、さらに制御対象機器を有する制御装置１と制御対象機器３の入出力の方法を有する制御対象機器入出力情報と、モジュール１１の配置される制御装置の情報を持つ制御ソフトウェアモジュール配置情報と、制御対象機器又はモジュールのインスタンス１１の出力とそれを使う制御対象機器又はモジュールのインスタンスの入力の配置情報を持つソフトウェア配線情報とを備え、上記各情報に基づきモジュールをソフトウェア配線で接続して分散制御を行う。【選択図】図２
2005038251.tif 000002
【特許請求の範囲】
【請求項１】
複数の制御装置とそれらを結ぶネットワークで上記制御装置に接続された制御対象機器を制御する分散制御システムであって、
外部から指定された参照先を参照するか又はモジュール内にデータ格納領域を持ち外部から読み書きできるようにした入力端子と出力端子を有する制御ソフトウェアモジュールと、
上記制御ソフトウェアモジュールおよび制御対象機器の出力端子のデータをこれらの入力端子に伝送するソフトウェア配線と、
を備え、さらに
上記制御対象機器の配置される上記制御装置と上記制御対象機器の入出力の方法を有する制御対象機器入出力情報と、
上記制御ソフトウェアモジュールの配置される上記制御装置の情報を持つ制御ソフトウェアモジュール配置情報と、
上記制御対象機器又は制御ソフトウェアモジュールのインスタンスの出力とその出力を使う上記制御対象機器又は上記制御ソフトウェアモジュールのインスタンスの入力の配置情報を持つソフトウェア配線情報と、
を備え、
上記制御対象機器入出力情報、制御ソフトウェアモジュール配置情報およびソフトウェア配線情報に基づき上記制御ソフトウェアモジュールを上記ソフトウェア配線で接続して分散制御を行うことを特徴とする分散制御システム。
【請求項２】
複数の制御装置とそれらを結ぶネットワークで上記制御装置に接続された制御対象機器を制御する分散制御システムであって、外部から指定された参照先を参照するか又はモジュール内にデータ格納領域を持ち外部から読み書きできるようにした入力端子と出力端子を有する制御ソフトウェアモジュールと、上記制御ソフトウェアモジュールおよび制御対象機器の出力端子のデータをこれらの入力端子に伝送するソフトウェア配線と、を備え、上記制御対象機器の配置される上記制御装置と上記制御対象機器の入出力の方法を有する制御対象機器入出力情報と、上記制御ソフトウェアモジュールの配置される上記制御装置の情報を持つ制御ソフトウェアモジュール配置情報と、上記制御対象機器又は制御ソフトウェアモジュールのインスタンスの出力とその出力を使う上記制御対象機器又は上記制御ソフトウェアモジュールのインスタンスの入力の配置情報を持つソフトウェア配線情報とに基づき上記制御ソフトウェアモジュールを上記ソフトウェア配線で接続して分散制御を行う分散制御システムのために、制御ソフトウェアモジュールライブラリを備え、上記制御ソフトウェアモジュールライブラリ、上記制御対象機器入出力情報、制御ソフトウェアモジュール配置情報およびソフトウェア配線情報を用いてこれらの情報の一部の無指定部分の生成又は最適化を行うソフトウェア設計支援機能を備えたことを特徴とする分散制御システム用ソフトウェア設計支援システム。
【請求項３】
複数の制御装置とそれらを結ぶネットワークで上記制御装置に接続された制御対象機器を制御する分散制御システムであって、外部から指定された参照先を参照するか又はモジュール内にデータ格納領域を持ち外部から読み書きできるようにした入力端子と出力端子を有する制御ソフトウェアモジュールと、上記制御ソフトウェアモジュールおよび制御対象機器の出力端子のデータをこれらの入力端子に伝送するソフトウェア配線と、を備え、上記制御対象機器の配置される上記制御装置と上記制御対象機器の入出力の方法を有する制御対象機器入出力情報と、上記制御ソフトウェアモジュールの配置される上記制御装置の情報を持つ制御ソフトウェアモジュール配置情報と、上記制御対象機器又は制御ソフトウェアモジュールのインスタンスの出力とその出力を使う上記制御対象機器又は上記制御ソフトウェアモジュールのインスタンスの入力の配置情報を持つソフトウェア配線情報とに基づき上記制御ソフトウェアモジュールを上記ソフトウェア配線で接続して分散制御を行う分散制御システムのために、分散制御システム内のある端子の値が変化してから他の端子の値が変化するまでの最長時間、平均時間、最短時間、通過装置の集合、通過データフレームの集合、データ損失率を含む端子間の特性を求めるソフトウェア設計支援機能を備えたことを特徴とする分散制御システム用ソフトウェア設計支援システム。
【請求項４】
分散制御システムでのデータ伝送が伝送データフレームで行われ、上記ソフトウェア配線情報が上記伝送データフレームの種類の識別番号を含み、上記識別番号に従って伝送データフレームの有効、無効を決めることを特徴とする請求項１に記載の分散制御システム。
【請求項５】
上記ソフトウェア配線が、同一制御装置内の上記ソフトウェア配線は、制御装置のメモリ内にデータの保存領域を用意し、出力端子と入力端子が保存領域の同じデータを参照するようにすることで実現され、異なる制御装置間でのソフトウェア配線は、各制御装置に装置内の制御ソフトウェアモジュールの出力をまとめ一つの伝送データフレームにし、全制御装置に定期的にブロードキャストすることで実現され、
上記ソフトウェア配線情報は、ソフトウェア配線が異なる制御装置を結ぶ場合、そのデータを伝送するための伝送データフレームと伝送データフレーム中のオフセットとデータのビット幅の情報を有することを特徴とする請求項１に記載の分散制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はネットワークで接続された複数の制御装置で分散制御を行う分散制御システムおよび分散制御システム用ソフトウェア設計支援システムに関する。
【背景技術】
【０００２】
分散制御システムは、分散配置され、物理的に近接した制御対象機器の入出力を制御する複数の制御装置とそれら制御装置間で分散制御するための通信データを伝送するネットワークを備えている。制御対象機器の入出力や制御装置内で加工されたデータを決められたフォーマットに従って格納し、データフレームとして他の制御装置に伝送するのが典型的な通信方法の一つである。従来の分散制御システムでは、他の制御装置のデータが必要な場合、制御プログラムが直接的または間接的にデータフレーム中の通信データを指定して入出力を行なっていた。ある分散制御システムでは通信データに論理名をつけ、制御プログラムは通信データを論理名で参照していた(例えば特許文献１参照)。
【０００３】
【特許文献１】特開２００２−２７８６０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のこの種の分散制御システムでは、制御ソフトウェアモジュールが論理名など参照先の情報を扱うため、入出力先が異なると同じ内容の制御を行なう制御ソフトウェアモジュールでも、別に記述する必要があり、制御ソフトウェアモジュールの再利用性を高める上での障害になっていた。
【０００５】
この発明はこのような課題を解消するためになされたもので、汎用性の高い制御ソフトウェアモジュールを作ることにより、制御ソフトウェアモジュールの再利用性を高めた分散制御システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明は、複数の制御装置とそれらを結ぶネットワークで上記制御装置に接続された制御対象機器を制御する分散制御システムであって、外部から指定された参照先を参照するか又はモジュール内にデータ格納領域を持ち外部から読み書きできるようにした入力端子と出力端子を有する制御ソフトウェアモジュールと、上記制御ソフトウェアモジュールおよび制御対象機器の出力端子のデータをこれらの入力端子に伝送するソフトウェア配線と、を備え、さらに上記制御対象機器の配置される上記制御装置と上記制御対象機器の入出力の方法を有する制御対象機器入出力情報と、上記制御ソフトウェアモジュールの配置される上記制御装置の情報を持つ制御ソフトウェアモジュール配置情報と、上記制御対象機器又は制御ソフトウェアモジュールのインスタンスの出力とその出力を使う上記制御対象機器又は上記制御ソフトウェアモジュールのインスタンスの入力の配置情報を持つソフトウェア配線情報と、を備え、上記制御対象機器入出力情報、制御ソフトウェアモジュール配置情報およびソフトウェア配線情報に基づき上記制御ソフトウェアモジュールを上記ソフトウェア配線で接続して分散制御を行うことを特徴とする分散制御システムにある。
【発明の効果】
【０００７】
制御ソフトウェアモジュールのプログラムに入出力先の情報を持たないため、入出力と制御ソフトウェアモジュールの配置が変更されても、制御ソフトウェアモジュールのプログラムは影響を受けない。そのため、汎用性の高い制御ソフトウェアモジュールを作ることができ、ソフトウェアの再利用性が高まる。
【発明を実施するための最良の形態】
【０００８】
この発明による分散制御システムにおいては、制御ソフトウェアモジュールは、入出力端子を持ち、その入出力端子の入出力先の設定は制御ソフトウェアモジュールの外部でする。これにより制御ソフトウェアモジュールは、その入出力が、通信データ、制御対象装置からの入出力、装置内の中間データのいずれであるかということを認識する必要がなく、また、その物理的配置、データのフォーマット、論理名などの変更の影響も受けない。そのためプログラムの再利用性が高まる。制御ソフトウェアモジュールは、制御ソフトウェアモジュール配置情報により制御装置に配置される。
【０００９】
ソフトウェア配線は、ソフトウェア配線情報に従い、制御ソフトウェアモジュールの出力端子、または、制御対象機器の出力端子のデータを制御ソフトウェアモジュールまたは制御対象機器の入力端子まで運ぶ機構である。なお、ソフトウェア配線は、一般的な用語でなく、本発明において定義した用語である。
【００１０】
この構成により、制御対象機器の入出力の配置、制御ソフトウェアモジュールの配置と制御内容が変更になっても、該当する情報を変更するだけでよく、プログラムを修正する必要がない。
【００１１】
また、制御データの流れがデータ化されているために、ソフトウェア配線のデータ伝送遅延、制御ソフトウェアモジュールの実行周期から、ある入力が変化してから、その影響を受ける出力が変化するまでの時間を見積もることができる。以下、各実施の形態について説明する。
【００１２】
実施の形態１．
図１に典型的な分散制御システムの構成の一部を示す。制御装置1-1〜1-NはそれぞれＣＰＵ1-1b、メモリ1-1c、入出力デバイス1-1a(他は特に図示せず)などから構成される。図１では制御装置がＮ個ある。制御装置には制御対象機器３が接続されている。各制御装置は他の制御装置に伝達すべきデータを１つ(必要なら複数でもよい)の(伝送)データフレーム13-1〜13-Nにまとめて、ネットワーク２経由で他の制御装置にブロードキャスト(一斉伝達)する。各制御装置は，他の装置から送られて来たデータフレームを装置内のメモリに保持する。
【００１３】
図２はこの発明による分散制御システムを説明するための図である。分散制御システムのハードウェアは複数の制御装置１とそれらを結ぶネットワーク(通信路)２で構成され、制御対象機器３を制御する。制御ソフトウェアモジュールのインスタンス１１が制御装置に配置される。制御ソフトウェアモジュール(１１に対応)の入出力、制御対象機器３の入出力はハードウェアの物理的配線に類似したソフトウェア上の概念であるソフトウェア配線１２で結び付けられる。制御ソフトウェアモジュールが出力端子１５にデータを出力すると、ソフトウェア配線１２の実現機構がそのデータを必要とする入力端子１４までデータを運ぶ。
【００１４】
(ソフトウェア配線の実現方法)
ソフトウェア配線１２は、分散制御システムの同一もしくは別の制御装置でデータを出力端子から入力端子まで伝達する機構である。同一制御装置内のソフトウェア配線１２は、制御装置のメモリ内にデータの保存領域を用意し、出力端子と入力端子が保存領域の同じデータを参照するようにすることで実現できる。異なる制御装置間でのソフトウェア配線１２は、各制御装置に装置内の制御ソフトウェアモジュールの出力をまとめ一つの伝送データフレーム１３にし、全制御装置に定期的にブロードキャストすることで実現する。受信側は、各制御装置からの伝送データフレーム１３のコピーを制御装置のメモリ内のデータフレーム格納領域に保持し、入力端子が保持したデータを参照するように設定する。なお、ブロードキャストすべき伝送データフレームも制御装置のメモリ内のデータフレーム格納領域に確保される。
【００１５】
伝送データフレーム１３は、IP(Internet Protocol)通信網上ではUDP(User Datagram Protocol)パケットで実現できる。また、RS-232C、RS-485などのシリアル通信では、適切なヘッダを付けた連続するバイト列としても実現できる。伝送データフレームは、データのビット列を順序を保ったまま他の制御装置に伝達することができればよい。
【００１６】
各制御装置１から出力する伝送データフレーム１３は一種類でなくてもよい。データの更新周期、データ量、ネットワーク容量などのトレードオフを解決するために、データ更新周期、データ量、信頼性などの特徴が異なる複数の伝送データフレームを利用することができる。また、ネットワークで許される伝送データフレーム長が制限されており、必要なデータが一つの伝送データフレームに入らない場合は、上記特徴が全く同じ伝送データフレームを複数用いる。
【００１７】
ソフトウェア配線１２では、ソフトウェア配線情報に基づいて入力端子と出力端子が結び付けられる。ソフトウェア配線情報は、制御対象機器３または制御ソフトウェアモジュールのインスタンス１１の出力端子を特定するための情報と、制御対象機器３または制御ソフトウェアモジュールのインスタンス１１の入出力端子を特定するための情報を持つ。また、ソフトウェア配線情報は、ソフトウェア配線が異なる制御装置を結ぶ場合、そのデータを伝送するための伝送データフレームと伝送データフレーム中のオフセットとデータのビット幅の情報を持つことができる。
【００１８】
(制御ソフトウェアモジュールの実現方法)
制御ソフトウェアモジュール(１１に相当)は、プログラム、入力端子、出力端子、そして必要であれば内部メモリを有し、プログラフは制御装置のメモリのプログラム用領域に保持され、入出力端子と内部メモリは制御装置のメモリのデータ用領域に確保される。制御ソフトウェアモジュールは、一定期間ごとにプログラムが実行され、入力端子からデータを読み出し、出力端子にデータを書き出す。入力端子と出力端子の間は、初期化時など制御が必要になる前に配線される。端子は、モジュール内のローカルな識別番号またはシンボル名を持つことができる。
【００１９】
端子は、最も簡単な場合は、データ格納領域へのポインタを保持するのが一つの方法である。ソフトウェア配線１２が、同一制御装置１内に閉じている場合、制御装置内でデータを格納する領域を用意し、そこへのポインタを端子に与える。一方、ソフトウェア配線１２が制御装置１間にまたがって配線される場合、送受信伝送データフレーム格納領域の該当するデータへのポインタを端子に与える。図３はその一例を図示したものである。制御ソフトウェアモジュール内の端子テーブル２３に配置された各端子２２は、それぞれ、伝送データフレーム格納領域２４の入出力端子に対応するデータ２５へのポインタを保持する。各端子の内容は、後述する初期化処理によりモジュール外から設定される。これが端子を実現する一つの方法である。
【００２０】
以下の表１に記載した例で、C＋＋言語のクラスとして記述されたControlModule1は、２つの論理入力の積を出力する制御ソフトウェアモジュールである。上記の例では、制御ソフトウェアモジュールに端子テーブルを持たせたが、テーブルを用いなくても以下のように入出力端子を実現することができる。
【００２１】
表１
1:  class ControlModule1
2:  {
3:   DD* in0;
4:    DD* in1;
5:    DD* out0;
6:  public:
7:    void set(DD* in0_, DD* in1_, DD* out0_)
8:    {
9:      in0 = int0_; in1 = in1_; out0 = out0_;
10:  }
11:    void execute()
12:    {
13:      bool out = (in0->getValue() && in1->getValue());
14:      *out0->setValue(out);
15:    }
16:  };
【００２２】
クラスDDはソフトウェア配線１２の入出力端子を実現するものである。３から５行目はこのモジュールの持つ入出力端子であり、内部的にはそれぞれin0, in1, out0と命名されているが、外部からのこの名前で参照することはできず、また、制御ソフトウェアモジュール１１のソースコード内には外部の変数の情報はない。
【００２３】
この制御ソフトウェアモジュールが必要な場合、制御装置１の制御プログラムの初期化シーケンスにおいて、まず、クラスControlModule1のインスタンスオブジェクトを生成する。次いで、メンバ関数set(  )を用いて入出力端子を設定する。
【００２４】
初期化終了後の通常実行中は、メンバ関数execute(  )が周期的に呼び出される。このメンバ関数は、２つの入力端子から値を読み出し、論理積をとり出力端に出力している。
【００２５】
端子の別の実現方法として、制御ソフトウェアモジュール(１１)内にデータの格納領域を確保し、モジュール外からデータを格納領域に書いてもらう方法がある。上記の例のメンバ関数setは、モジュール外部で確保したオブジェクトへのポインタを渡していたが、逆にモジュール内の格納領域へのポインタを外部から得るためのメンバ関数を用意すればよい。
【００２６】
このような制御ソフトウェアモジュールのインスタンス１１をシステムが必要な数だけ作成する。制御ソフトウェアモジュールは、上記のControlModule1の例では論理積をとるという機能のみを持っており、入力先、出力先、実行頻度の情報は持っていない。そのため、これらの情報が変更されても、制御ソフトウェアモジュールはそのまま使える。また、同一制御ソフトウェアモジュールから作られた出力先の異なる複数のインスタンスが共存できる。
【００２７】
制御ソフトウェアモジュール配置情報は、制御ソフトウェアモジュール、配置される制御装置、付属情報を項目とした表からなる。付属情報は、実行周期、実行優先度、実行順などの情報を含むことができる。付属情報はなくてもよい。その場合には指定のない場合の標準値を用意しておき、その値を利用する。
【００２８】
(制御対象機器入出力)
制御対象機器３の入出力は、制御対象機器入出力情報に基づき一旦制御装置の記憶領域にデータをコピーして管理することができる。
【００２９】
制御対象機器入出力情報は、制御対象機器を直接制御する制御装置と制御対象機器の入出力の方法を持つ。制御対象機器の入出力の方法とは、入出力の種類と配置情報を含む。たとえば、制御対象機器３がデジタル入出力で制御される場合は、デジタル入出力であること、および、それが結線されている物理的入出力ポートの番号を情報とすることができる。アナログ入出力の場合も同様である。制御装置１と制御対象機器３がシリアル伝送をする場合、シリアル伝送であること、シリアルポート番号、シリアル伝送のデータフレームの種類、データフレーム中のオフセットとビット幅を情報とすることができる。
【００３０】
(各制御装置での処理内容)
各制御装置では、図４に示す処理を順に行うことで分散処理が行われ、分散制御システムとして動作する。
まず、制御装置は、ソフトウェア配線情報に基づき、自制御装置からブロードキャストすべき出力伝送データフレームのサイズと個々のデータの伝送データフレーム内オフセットを決定する。また、出力伝送データフレーム格納領域を確保する(ステップＳ１)。次に、ソフトウェア配線情報に基づき、他の制御装置から送られてくる伝送データフレームのサイズと個々のデータの伝送データフレーム内オフセットを決定する。また、入力伝送データフレーム格納領域を確保する(ステップＳ２)。
【００３１】
次に、自制御装置内に閉じたソフトウェア配線のためのデータ格納領域を確保する(ステップＳ３)。次に、制御対象機器入出力情報に基づき入出力格納領域を確保する(ステップＳ４)。次に、制御ソフトウェアモジュール配置情報に基づいて、自制御装置上で動作させるべき制御ソフトウェアモジュールのインスタンスを作る(ステップＳ５)。
【００３２】
次に、ソフトウェア配線情報、制御ソフトウェアモジュール配置情報、制御対象機器入出力情報に基づき、制御ソフトウェアモジュールのインスタンスの入出力端子、制御対象機器に対して、入出力端子を設定する(ステップＳ６)。
【００３３】
そして、「他の制御装置から届いた伝送データフレームを伝送データフレーム格納領域に反映させる伝送受信処理タスク」、「出力伝送データフレーム格納領域のデータを出力伝送データフレームとしてブロードキャストする伝送送信処理タスク」、「制御対象機器からの出力を制御対象機器出力格納領域に反映させ、また、制御対象機器への入力を制御対象機器入力格納領域から制御対象機器へ送り出す制御対象機器入出力タスク」「全ての制御ソフトウェアモジュールのインスタンスを定期的に実行させる制御実行タスク」を開始する(ステップＳ７)。
【００３４】
この実施の形態によれば、制御ソフトウェアモジュールが、入出力先の情報を持たないため入出力が変更になっても、制御ソフトウェアモジュールを修正する必要がない。そのため、制御ソフトウェアモジュールの再利用性を高めることができる。
【００３５】
すなわち、制御ソフトウェアモジュールのプログラムに入出力先の情報を持たないため、入出力とソフトウェア制御モジュールの配置が変更されても、制御ソフトウェアモジュールのプログラムは影響を受けない。そのため、汎用性の高い制御ソフトウェアモジュールを作ることができ、ソフトウェアの再利用性が高まる。また、制御対象機器の情報、制御ソフトウェアモジュールの配置と内容という仕様変更されやすい個所をデータとした。これらの仕様変更に対して、プログラムでなくデータの変更だけで対応できる。
【００３６】
図５にはこの発明による分散制御システムを列車全体を制御するTIMSというシステムに適用した場合のイメージ図を示す。複数の制御装置１に相当する各車両のTIMSユニット１０１ａ〜１０１ｃが車両間ネットワーク１０３により接続されており、TIMSユニット１０１ａ、１０１ｃには制御ソフトウェアモジュールに相当する速度計算アルゴリズム１０５、TIMSユニット１０１ｂには制御ソフトウェアモジュールのインスタンス１１に相当する距離計算アルゴリズム１０７が作成され、速度計算アルゴリズム１０５には制御対象機器３に相当する速度計１０９(ここでは検出値をもらうことになるが)の出力が入力される。そしてソフトウェア配線１１１により速度計算アルゴリズム１０５と距離計算アルゴリズム１０７との接続制御が行われる。
【００３７】
速度計１０９の速度情報は速度計算アルゴリズム１０５(アルゴリズムは制御ソフトウェアモジュールと等価)に入力され、結果がデータフレーム上に出力される。先頭車両および最後尾車両の速度計算アルゴリズム１０５の出力は、中間車両の距離計算アルゴリズム１０７の入力になる。距離計算アルゴリズム１０７は２つの速度の値を見て、例えば、加速中は空転を考え、速度の小さいほうの値を現実の速度として採用し、減速中は滑走を考え、速度の大きいほうの値を採用する。そしてその速度に基づき積分し、積算距離を計算するが、この制御が制御ソフトウェアモジュール(１１)とソフトウェア配線機構(１１１)を使用して行われる。
【００３８】
実施の形態２．
実施の形態１における分散制御システムのプログラムで用いた各情報の一部は適切な設計支援システムの支援により、自動的に計算できる。本実施の形態では、そのような設計支援システムについて説明する。なおこのような設計支援システムは各制御ソフトウェアモジュールをまとめた制御ソフトウェアモジュールライブラリを備える。
【００３９】
ソフトウェア配線情報では、ソフトウェア配線１２が異なる制御装置を結ぶ場合、データを伝送するための伝送データフレーム、伝送データフレーム中のオフセットとデータのビット幅の情報を持たせることができた。しかし、伝送データフレーム１３は、各制御装置１が一つの出力伝送データフレームしか持たない場合は、出力端子のある制御装置の伝送データフレームしかありえない。また、データのビット幅は、出力端子のビット幅と同じでよい。伝送データフレーム中のオフセットは、各ソフトウェア配線のビット幅を順に加算していくことで機械的に計算することができる。よって、このような場合、データを伝送するための伝送データフレーム、伝送データフレーム中のオフセットとデータのビット幅の情報は、設計支援システムが自動生成することができる。
【００４０】
このように制御ソフトウェアモジュールライブラリを備え、この制御ソフトウェアモジュールライブラリ、上記制御対象機器入出力情報、制御ソフトウェアモジュール配置情報およびソフトウェア配線情報を用いてこれらの情報の一部の無指定部分の生成又は最適化を行うソフトウェア設計支援システムを設け、分散システムのプログラムの設計をすることができる。
【００４１】
本実施の形態によれば、一部のデータを自動的に計算することでデータ入力の手間を削減でき、設計を省力化できる。設計支援システムが、各種情報の一部を生成又は最適化することで、設計の省力化、信頼性の向上、性能の向上が期待できる。
【００４２】
実施の形態３．
制御に関するデータの流れがプログラム外に情報としてデータ化されると、データの流れを解析することが容易になる。本実施の形態では、データの流れを解析する設計支援システムについて説明する。
【００４３】
制御システムは、ある出力が変化してから一定時間内に制御を行なう必要があるのが一般的である。実施の形態１の分散制御システムでは、ある出力端子(以下、始端子と呼ぶ)が変化してから、他の出力端子(以下、終端子と呼ぶ)が変化するまでの時間を設計支援システムで自動的に見積もることができる。
【００４４】
まず、始端子と終端子の間には、０個以上の制御ソフトウェアモジュールのインスタンス１１、０個以上の伝送データフレーム１３が介在する。まず、それらの制御ソフトウェアモジュールのインスタンス１１と伝送データフレーム１３を特定する。始端子から順にデータの経路を、ソフトウェア配線情報、制御ソフトウェアモジュール配置情報に基づき追っていくことで特定できる。これは一般的な経路探索問題のアルゴリズムを利用すればよい。経路にループのある場合、経路の数が無限になるので、ループを２回たどらないなどの制限を設ける。このような方法により、始端子から終端子までのデータフロー上の経路にある制御ソフトウェアモジュールのインスタンス１１と伝送データフレーム１３を得ることができる。この経路は複数ある場合もある。
【００４５】
経路上の各制御ソフトウェアモジュールのインスタンス１１の実行周期の合計と各伝送データフレーム１３の最大伝送遅延時間の合計が、その経路における始端子から終端子までの最大遅延時間となる。また、各伝送データフレーム１３の最小伝送遅延時間の合計が、始端子から終端子までの最短遅延時間になる。経路が複数ある場合は各経路について計算した値の最小値をとる等とする。
【００４６】
各伝送データフレーム１３のデータが正常に伝送できる確率であるデータ伝送率の積が、始端子から終端子までのデータ伝送率となる。１からこの値を引いたものが、始端子から終端子までのデータ損失率となる。
【００４７】
同様に、平均時間、通過装置の集合、通過データフレームの集合などを計算することができる。
【００４８】
これにより制御システム内のある端子の値が変化してから他の端子が変化するまでの最長時間、平均時間、最短時間、通過装置の集合、通過データフレームの集合、データ損失率を含む端子間の特性が求まり、ソフトウェア設計の支援を行う。
【００４９】
本実施の形態によれば、従来人手による把握が必要だったデータの流れの解析を設計支援システムが行なってくれるため、設計の省力化と信頼性向上が可能になる。制御データの流れと特性がデータ化されたために、それらを設計支援システムで容易に解析できるようになった。これら分散制御システム設計上の重要な特性が設計支援システムの支援で簡単にわかり、設計の工数削減、システム設計の信頼性の向上が可能になる。
【００５０】
実施の形態４．
本実施の形態は、実施の形態１をベースにしており、ソフトウェア配線の利用する伝送データフレームのサイズの制約が強い場合に、伝送データフレーム中のソフトウェア配線のフォーマットを条件に応じて切り替えるものである。以下にこの方法の一例を示す。
【００５１】
各制御装置１が出力する伝送データフレーム１３の最初の１バイトを伝送データフレームの種類を示す識別番号に使う。送受信伝送データフレーム格納領域は、伝送データフレームの種類の数だけ用意する。各伝送データフレームの格納領域が有効かどうかを示すフラグも用意する。
【００５２】
各制御装置１が送信すべき伝送データフレームの種類の選択方法は、種々のものが考えられるが、中央集権的装置が存在する場合、その装置の選んだ伝送データフレームの種類に他の制御装置が従うのが一つの方法である。中央集権的装置は、例えば、通常モード、保守モード、試験モードなどで伝送データフレームの種類を切り替えることができる。また、その他の伝送データフレーム選択基準を用いてもよい。
【００５３】
ソフトウェア配線機構は、送信すべき伝送データフレームの種類に相当する送信伝送データフレームを選択し、先頭に伝送データフレームの種類を示す認識番号を加え、各制御装置１に周期的にブロードキャストする。
【００５４】
受信された伝送データフレーム１３は、送信した制御装置、および、伝送データフレームの種類を示す識別番号に該当する受信データフレーム格納領域にコピーし、その有効フラグを有効状態にする。同時に、送信した制御装置に対応する他の種類の伝送データフレーム格納領域の有効フラグを全て無効状態にする。
【００５５】
実施の形態１では、異なる制御装置１間をソフトウェア配線１２が結ぶ場合、ソフトウェア配線情報は「データを伝送するための伝送データフレームと伝送データフレーム中のオフセットとデータのビット幅の情報を持つことができる」と述べたが、本実施の形態では、これらに加えて、伝送データフレームの種類の識別番号を情報として加える。このことにより、実施の形態１と同様に本実施の形態でもソフトウェア配線を実現できる。
【００５６】
ただし、実施の形態１では、ネットワーク関連機能が故障していない場合、通常、データが有効であることが期待できたが、本実施の形態では、選択されていない種類の伝送データフレーム上のデータは、故障でなくても無効となる。よって、実施の形態１で説明した端子クラスDDに有効かどうかを判定できるメンバ関数を加える。DDは有効かどうかを問われた場合、自データのある伝送データフレームの有効ビットを参照すればよい。
【００５７】
制御ソフトウェアモジュールは、入力端子の一部または全部が無効の場合の動作も規定することができる。例えば、実施の形態１のControlModule1では、入力の一部が無効の場合、出力も無効にするとすることができる。
【００５８】
上記説明では、選択されていない種類の伝送データフレーム上のデータは直ちに無効としたが、最後にその種類のデータフレームが届いた時間を管理しておき、決められたタイムアウト時間が経過するまでは有効にし、タイムアウト時間経過後に無効にする等の方法をとってもよい。
【００５９】
本実施の形態に従えば、実施の形態１に加えて、データフレームのサイズの制限が厳しい場合でも、必要なデータを選択して通信することができる。
【産業上の利用可能性】
【００６０】
この発明は多くの種類の分散制御システムに利用可能であり、汎用性の高い制御ソフトウェアモジュールを作ることで、ソフトウェアの再利用性を高めることができる。
【図面の簡単な説明】
【００６１】
【図１】この発明と同様の典型的な分散制御システムの構成の一部を示す図である。
【図２】この発明による分散制御システムを説明するための図である。
【図３】この発明におけるソフトウェア配線が制御装置間にまたがって配線される場合の動作を説明するための図である。
【図４】この発明による分散制御システムの各制御装置での動作を説明するためのフローチャートである。
【図５】この発明による分散制御システムを列車全体を制御するTIMSシステムに適用した場合のイメージ図である。
【符号の説明】
【００６２】
１，1-1〜1-N  制御装置、1-1a  入出力デバイス、1-1b  ＣＰＵ、1-1c  メモリ、２    ネットワーク、３  制御対象機器、１１  制御ソフトウェアモジュールのインスタンス、１２  ソフトウェア配線、１３，13-1〜13-N  伝送データフレーム、１４  入力端子、１５  出力端子、２２  端子、２３  端子テーブル、２４  伝送データフレーム格納領域、２５  データ、１０１ａ〜１０１ｃ  TIMSユニット、１０３  車両間ネットワーク、１０５  速度計算アルゴリズム、１０７  距離計算アルゴリズム、１０９  速度計、１１１  ソフトウェア配線。
【図１】
2005038251.tif 000003
【図２】
2005038251.tif 000004
【図３】
2005038251.tif 000005
【図４】
2005038251.tif 000006
【図５】
2005038251.tif 000007