(57)【要約】【課題】ＭＰＵモジュール３と、ＰＬＤモジュール２とを含む制御ユニット１に実行させる実行形式プログラムを作成する際に、効率的にプログラム作成が可能になる制御用プログラムの作成支援プログラム、作成支援方法及び作成支援装置Ａを提供する。【解決手段】ＭＰＵモジュール３及びＰＬＤモジュール２の空き容量がそれぞれ所定値以下にならないように、入力させた制御設計ＣＡＤ図に含まれる複数の処理機能を、ＭＰＵモジュール３に実行させる処理機能と、ＰＬＤモジュール２に実行させる処理機能とに割り振る。【選択図】図１
2004213183.tif 000002
【特許請求の範囲】
【請求項１】
ＭＰＵモジュールと、ＰＬＤモジュールとを含む制御ユニットに実行させる実行形式プログラムの作成支援を行う作成支援装置を制御するための制御用プログラムの作成支援プログラムであって、
上記作成支援装置に、
上記ＭＰＵモジュールの容量とＰＬＤモジュールの容量とのそれぞれをユーザに入力させる容量入力処理と、
上記制御ユニットに実行させる複数の処理機能を、所定のシンボルを用いた制御設計図として上記ユーザに入力させる設計図入力処理と、
上記容量入力処理によってユーザに入力させた容量に基づいて、上記ＭＰＵモジュールの空き容量とＰＬＤモジュールの空き容量とがそれぞれ所定値以下にならないように、上記設計図入力処理によってユーザに入力させた制御設計図に含まれる複数の処理機能を、上記ＭＰＵモジュールに実行させる処理機能と、ＰＬＤモジュールに実行させる処理機能とに割り振る割り振り処理と、
上記割り振り処理によって上記ＭＰＵモジュールに割り振った各処理機能を該ＭＰＵモジュールに実行させるための実行形式プログラムと、上記ＰＬＤモジュールに割り振った各処理機能を該ＰＬＤモジュールに実行させるための実行形式プログラムとをそれぞれ作成するプログラム作成処理と、
を実行させることを特徴とする制御用プログラムの作成支援プログラム。
【請求項２】
請求項１において、
割り振り処理は、制御設計図に含まれる、少なくともフィルタ処理機能、パルス処理機能、Ｉ／Ｏデバイス関連処理機能、フェイルセーフ処理機能、設計上の変更頻度が小さい処理機能、及び実行頻度が大きい処理機能をＰＬＤモジュールに割り振る処理である
ことを特徴とする制御用プログラムの作成支援プログラム。
【請求項３】
請求項１において、
割り振り処理は、制御設計図に含まれる、少なくとも浮動小数点演算処理機能、及びマップ処理機能をＭＰＵモジュールに割り振る処理である
ことを特徴とする制御用プログラムの作成支援プログラム。
【請求項４】
請求項２において、
割り振り処理は、各処理機能をＰＬＤモジュールに割り振ったときの該ＰＬＤモジュールの空き容量を演算すると共に、その空き容量が所定値以下になるときには、上記ＰＬＤモジュールに割り振ったフィルタ処理をＭＰＵモジュールに割り振り直す処理である
ことを特徴とする制御用プログラムの作成支援プログラム。
【請求項５】
請求項２において、
割り振り処理は、各処理機能をＰＬＤモジュールに割り振ったときの該ＰＬＤモジュールの空き容量を演算すると共に、その空き容量が所定値以下になるときには、上記ＰＬＤモジュールに割り振ったいずれかの処理機能をＭＰＵモジュールに割り振り直す一方で、フェイルセーフ処理機能のＭＰＵモジュールへの割り振りを抑制する処理である
ことを特徴とする制御用プログラムの作成支援プログラム。
【請求項６】
請求項３において、
割り振り処理は、各処理機能をＭＰＵモジュールに割り振ったときの該ＭＰＵモジュールの空き容量を演算すると共に、その空き容量が所定値以下になるときには、上記ＭＰＵモジュールに割り振った浮動小数点演算処理機能をＰＬＤモジュールに割り振り直す処理である
ことを特徴とする制御用プログラムの作成支援プログラム。
【請求項７】
請求項３において、
割り振り処理は、各処理機能をＭＰＵモジュールに割り振ったときの該ＭＰＵモジュールの空き容量を演算すると共に、その空き容量が所定値以下になるときには、上記ＭＰＵモジュールに割り振ったいずれかの処理機能をＰＬＤモジュールに割り振り直す一方で、マップ処理機能のＰＬＤモジュールへの割り振りを抑制する処理である
ことを特徴とする制御用プログラムの作成支援プログラム。
【請求項８】
ＭＰＵモジュールと、ＰＬＤモジュールとを含む制御ユニットに実行させる実行形式プログラムの作成支援を行う作成支援方法であって、
上記ＭＰＵモジュールの容量とＰＬＤモジュールの容量とのそれぞれをユーザに入力させる容量入力ステップと、
上記制御ユニットに実行させる複数の処理機能を、所定のシンボルを用いた制御設計図として上記ユーザに入力させる設計図入力ステップと、
上記容量入力ステップでユーザに入力させた容量に基づいて、上記ＭＰＵモジュールの空き容量とＰＬＤモジュールの空き容量とがそれぞれ所定値以下にならないように、上記設計図入力ステップでユーザに入力させた制御設計図に含まれる複数の処理機能を、上記ＭＰＵモジュールに実行させる処理機能と、ＰＬＤモジュールに実行させる処理機能とに割り振る割り振りステップと、
上記割り振りステップで上記ＭＰＵモジュールに割り振った各処理機能を該ＭＰＵモジュールに実行させるための実行形式プログラムと、上記ＰＬＤモジュールに割り振った各処理機能を該ＰＬＤモジュールに実行させるための実行形式プログラムとをそれぞれ作成するプログラム作成ステップと、
を含むことを特徴とする制御用プログラムの作成支援方法。
【請求項９】
ＭＰＵモジュールと、ＰＬＤモジュールとを含む制御ユニットに実行させる実行形式プログラムの作成支援を行う作成支援装置であって、
上記ＭＰＵモジュールの容量とＰＬＤモジュールの容量とのそれぞれをユーザに入力させる容量入力手段と、
上記制御ユニットに実行させる複数の処理機能を、所定のシンボルを用いた制御設計図として上記ユーザに入力させる設計図入力手段と、
上記容量入力手段によってユーザに入力させた容量に基づいて、上記ＭＰＵモジュールの空き容量とＰＬＤモジュールの空き容量とがそれぞれ所定値以下にならないように、上記設計図入力手段によってユーザに入力させた制御設計図に含まれる複数の処理機能を、上記ＭＰＵモジュールに実行させる処理機能と、ＰＬＤモジュールに実行させる処理機能とに割り振る割り振り手段と、
上記割り振り手段によって上記ＭＰＵモジュールに割り振られた各処理機能を該ＭＰＵモジュールに実行させるための実行形式プログラムと、上記ＰＬＤモジュールに割り振られた各処理機能を該ＰＬＤモジュールに実行させるための実行形式プログラムとをそれぞれ作成するプログラム作成手段と、
を備えていることを特徴とする制御用プログラムの作成支援装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＭＰＵモジュールと、ＰＬＤモジュールとを含む制御ユニットに実行させるプログラムの作成を支援するための制御用プログラムの作成支援プログラム、作成支援方法及び作成支援装置に関し、例えば自動車等のエンジンの燃焼制御系の制御用プログラムの作成業務に適用して好適な制御用プログラムの作成支援プログラム、作成支援方法及び作成支援装置に関する。
【０００２】
【従来の技術】
従来より、コンピュータで実行するソフトウエアの開発業務の効率化を図るべく、表示画面上でオペレータによって定義された所定のシンボルや矢線に応じて、予め記憶しているプログラムライブラリの中から必要となるプログラムを自動的に選択すると共に、その選択したプログラムを、当該定義された所定のシンボルや矢線の情報に従って関連付けすることが可能な制御用プログラムの作成支援装置等が使用されている。
【０００３】
また、上記のようなプログラム作成支援装置で作成したプログラムと、そのプログラムが搭載される実機の諸動作がモデル化されたプログラムとをコンピュータ上で実行することにより、その実機による検証及びチューニングに先立ってシミュレーションすることが可能なシミュレーションソフトウエアも使用されている。
【０００４】
また、近年においては、ＥＤＡ(Electronic Design Automation)化が進んでおり、上記の如く所定のシンボル等を用いて表示画面上で作成した制御設計ＣＡＤ図の情報に従って、Ｃ言語等の高級言語プログラムにより、その制御設計ＣＡＤ図の全体動作を制御するＭＰＵ(Micro Processing Unit)のプログラムと、その制御設計ＣＡＤ図において実行させるべき論理回路をプログラム可能なＣＰＬＤ(Complex Programmable Logic Device)やＦＰＧＡ (Field Programmable Gate Array)等のＰＬＤ (Programmable Logic Device)のプログラムとを自動的に作成可能なプログラム作成支援装置が普及しつつある。
【０００５】
例えば特許文献１には、制御用プログラムの作成支援装置であって、作成された制御設計ＣＡＤ図の情報に従って、高級言語プログラムを一般的なコンパイラによって機械語に変換したＭＰＵの実行形式プログラムと、ＨＤＬ(Hardware Description Language)に変換したＰＬＤの実行形式プログラムとを自動的に作成可能な作成支援装置が提案されている。
【０００６】
【特許文献１】
特開２０００−３１１００７号公報
【０００７】
【発明が解決しようとする課題】
ところが、上記特許文献１に記載の制御用プログラムの作成支援装置では、制御設計ＣＡＤ図に含まれる各処理機能をＭＰＵモジュールによって実現するか、ＰＬＤモジュールによって実現するかは、その制御設計ＣＡＤ図を作成する際に作業者が宣言するようにしている。例えばＰＬＤモジュールは、フィルタ処理機能やＩ／Ｏデバイス関連処理機能等の、いわゆる入力信号に対する流れるような処理が得意であり、これらの処理機能はＰＬＤモジュール側に割り振るのが好ましい。一方、ＭＰＵモジュールは、浮動小数点演算処理機能等が得意であり、これらの処理機能はＭＰＵモジュール側に割り振るのが好ましい。また、入力信号に対してマップを参照して出力するマップ処理機能におけるマップは、ソフトウエアの開発途中に修正・変更を行うことが多々あるため、マップ処理機能はＭＰＵモジュールに割り振った方がマップの修正・変更が容易であるため好ましい。このように、制御設計ＣＡＤ図に含まれる各処理機能を割り振るには、これらの事情を考慮して割り振らなければならず、割り振りを行う作業者には専門的知識が必要となる。
【０００８】
しかしながら、制御設計ＣＡＤ図を作成する機械技術者が、こうした専門的知識に乏しい場合もあり、ＥＤＡの手法を導入したものの業務の効率化が十分に高まらないことも予想される。
【０００９】
本発明は、このような事情に鑑みてなされたものであり、その目的とするところは、ＭＰＵモジュールとＰＬＤモジュールとを含む制御ユニットに実行させる実行形式プログラムを作成する際に、効率的にプログラム作成が可能になる制御用プログラムの作成支援プログラム、作成支援方法及び作成支援装置を提供することにある。
【００１０】
【課題を解決するための手段】
本発明による制御用プログラムの作成支援プログラムは、ＭＰＵモジュールと、ＰＬＤモジュールとを含む制御ユニットに実行させる実行形式プログラムの作成支援を行う作成支援装置を制御するための作成支援プログラムである。
【００１１】
そして、上記作成支援プログラムは、上記作成支援装置に、上記ＭＰＵモジュールの容量とＰＬＤモジュールの容量とのそれぞれをユーザに入力させる容量入力処理と、上記制御ユニットに実行させる複数の処理機能を、所定のシンボルを用いた制御設計図として上記ユーザに入力させる設計図入力処理と、上記容量入力処理によってユーザに入力させた容量に基づいて、上記ＭＰＵモジュールの空き容量とＰＬＤモジュールの空き容量とがそれぞれ所定値以下にならないように、上記設計図入力処理によってユーザに入力させた制御設計図に含まれる複数の処理機能を、上記ＭＰＵモジュールに実行させる処理機能と、ＰＬＤモジュールに実行させる処理機能とに割り振る割り振り処理と、上記割り振り処理によって上記ＭＰＵモジュールに割り振った各処理機能を該ＭＰＵモジュールに実行させるための実行形式プログラムと、上記ＰＬＤモジュールに割り振った各処理機能を該ＰＬＤモジュールに実行させるための実行形式プログラムとをそれぞれ作成するプログラム作成処理と、を実行させるものとする。
【００１２】
この構成によると、容量入力処理では、制御ユニットに含まれるＭＰＵモジュールとＰＬＤモジュールとのそれぞれの容量を作業者（ユーザ）に入力させる。また、設計図入力処理では、上記制御ユニットに実行させる複数の処理機能を、所定のシンボルを用いた制御設計（ＣＡＤ）図として作業者（ユーザ）に入力させる。
【００１３】
そして、割り振り処理では、上記設計図入力処理によって入力させた制御設計図に含まれる複数の処理機能を、上記ＭＰＵモジュールに実行させる処理機能と、ＰＬＤモジュールに実行させる処理機能とに割り振る。このように、作業者が処理機能の割り振りを行わなくても、制御設計図に含まれる複数の処理機能が、割り振り処理によってＭＰＵモジュール側とＰＬＤモジュール側とに自動的に割り振られる。このため、ＭＰＵモジュール及びＰＬＤモジュールの特性等の、ソフトウエアに関する専門的知識に乏しい作業者が制御設計図を入力しても、その制御設計図に含まれる各処理機能を適切に割り振ることが可能になる。
【００１４】
また、上記割り振り処理では、上記容量入力処理によって入力させたＭＰＵモジュール及びＰＬＤモジュールの各容量に基づいて、上記ＭＰＵモジュールの空き容量とＰＬＤモジュールの空き容量とがそれぞれ所定値以下にならないように、各処理機能が割り振られる。これにより、例えば作成した制御用プログラムを実機にて検証・調整する工程において処理機能の変更や処理機能の追加の必要が明らかになった場合でも、ＭＰＵモジュール及びＰＬＤモジュールの各容量にはそれぞれ空きがあるため、制御設計図の変更に対応可能となる。このように、ＭＰＵモジュール及びＰＬＤモジュールのそれぞれについて、所定値よりも大きい空き容量を確保することにより、開発業務の効率化が高まる。
【００１５】
そして、各処理機能が割り振られれば、プログラム作成処理によって、ＭＰＵモジュールに割り振られた各処理機能を該ＭＰＵモジュールに実行させる実行形式プログラムと、ＰＬＤモジュールに割り振られた各処理機能を該ＰＬＤモジュールに実行させる実行形式プログラムとがそれぞれ作成される。
【００１６】
こうして作成されたＭＰＵモジュールの実行形式プログラムは、そのＭＰＵモジュールに書き込まれ、ＰＬＤモジュールの実行形式プログラムは、そのＰＬＤモジュールに書き込まれて制御ユニットが完成する。つまり、上記作成支援プログラムは、上記作成支援装置に対して、プログラム作成処理によって作成したＭＰＵモジュールの実行形式プログラムを該ＭＰＵモジュールに書き込むと共に、ＰＬＤモジュールの実行形式プログラムを該ＰＬＤモジュールに書き込む書き込み処理をさらに実行させればよい。
【００１７】
ここで、上記割り振り処理は、制御設計図に含まれる、少なくともフィルタ処理機能、パルス処理機能、Ｉ／Ｏデバイス関連処理機能、フェイルセーフ処理機能、設計上の変更頻度が小さい処理機能、及び実行頻度が大きい処理機能をＰＬＤモジュールに割り振る処理とすればよい。
【００１８】
すなわち、ここで挙げた各処理機能の内、フィルタ処理機能、パルス処理機能及びＩ／Ｏデバイス関連処理機能は、入力信号に対する流れるような処理を行うためＰＬＤモジュールでの実行に適した処理機能に該当する。また、実行頻度が大きい処理機能やフェイルセーフ処理機能は、処理をハード的に行うＰＬＤモジュールで実現することにより、信頼性が向上する。さらに、ＰＬＤモジュールはＭＰＵモジュールに比べて、一旦作成したプログラムの変更が困難であるため、設計上（開発上）の変更頻度が大きい処理機能はＰＬＤモジュールで実現するのは不適切である。逆に、設計上の変更頻度が小さい処理機能はＰＬＤモジュールで実現するのが好ましい。尚、実行頻度が大きい処理機能や、設計上の変更頻度が小さい処理機能は、予めその候補を設定しておけばよい。そして、その設定した処理機能が制御設計図に含まれるときに、その処理機能をＰＬＤモジュール側に割り振ればよい。
【００１９】
こうして割り振り処理では、これらＰＬＤモジュールにより実現するのに適した処理機能をＰＬＤモジュールに割り振る。その結果、制御用プログラムの最適化が図られる。
【００２０】
また、上記割り振り処理は、制御設計図に含まれる、少なくとも浮動小数点演算処理機能、及びマップ処理機能をＭＰＵモジュールに割り振る処理とすればよい。
【００２１】
上記とは逆に、ここで挙げた各処理機能の内、浮動小数点演算処理機能は、ＭＰＵモジュールでの実行に適した処理機能である。また、マップ処理機能は設計上の変更頻度が大きい処理機能に該当し、上述したように、設計上の変更頻度が大きい処理機能をＰＬＤモジュールで実現することは開発業務の効率が悪くなる。そこで、マップ処理機能はＭＰＵモジュールで実現することが好ましい。
【００２２】
こうして割り振り処理では、これらＭＰＵモジュールにより実現するのに適した処理機能をＭＰＵモジュールに割り振る。その結果、制御用プログラムの最適化が図られる。
【００２３】
上記割り振り処理は、各処理機能をＰＬＤモジュールに割り振ったときの該ＰＬＤモジュールの空き容量を演算すると共に、その空き容量が所定値以下になるときには、上記ＰＬＤモジュールに割り振ったフィルタ処理をＭＰＵモジュールに割り振り直す処理とするのがよい。
【００２４】
上述したように、開発業務の効率化の観点からは、ＰＬＤモジュールの空き容量を所定値よりも大きくするのが好ましい。一方で、ＰＬＤモジュールでの実現に適した各処理機能（フィルタ処理機能、パルス処理機能、Ｉ／Ｏデバイス関連処理機能、フェイルセーフ処理機能、設計上の変更頻度が小さい処理機能、及び実行頻度が大きい処理機能）を全てＰＬＤモジュールに割り振ると、ＰＬＤモジュールの空き容量が所定値以下となる場合も起こり得る。
【００２５】
そこで、割り振り処理では、上記の各処理機能をＰＬＤモジュールに割り振ったときの該ＰＬＤモジュールの空き容量を演算する。そして、上記ＰＬＤモジュールの空き容量が所定値以下になるときには、上記の各処理機能の内でも比較的ＭＰＵモジュールでの実現に適した処理機能、つまりフィルタ処理機能をＭＰＵモジュールに割り振り直す。こうして、制御設計図に含まれる各処理機能をＭＰＵモジュール側とＰＬＤモジュール側とに適切に割り振りつつも、所定値よりも大きいＰＬＤモジュールの空き容量が確保される。
【００２６】
ここで、ＭＰＵモジュールの特性上、フィルタ処理機能の内でも、高次のフィルタ処理をＭＰＵモジュール側に割り振ることが好ましい。
【００２７】
また、ＰＬＤモジュールの空き容量を所定値よりも大きくするには、複数の処理機能をＭＰＵモジュール側に割り振り直さなければならない場合もある。この場合は、制御設計図に含まれる各フィルタ処理機能に、次数の高い順に優先順位を付し、その優先順位に従って次数の高いフィルタ処理から順にＭＰＵモジュールに順次割り振り、それによって、ＰＬＤモジュールの空き容量を所定値よりも大きくするのが好ましい。
【００２８】
また、上記割り振り処理は、各処理機能をＰＬＤモジュールに割り振ったときの該ＰＬＤモジュールの空き容量を演算すると共に、その空き容量が所定値以下になるときには、上記ＰＬＤモジュールに割り振ったいずれかの処理機能をＭＰＵモジュールに割り振り直す一方で、フェイルセーフ処理機能のＭＰＵモジュールへの割り振りを抑制する処理とするのが好ましい。
【００２９】
上述したように、ＰＬＤモジュールでの実現に適した処理機能の内、フェイルセーフ処理機能はＰＬＤモジュールで実現することがその信頼性の観点から特に好ましい。このため、ＰＬＤモジュールでの実現に適した各処理機能をＰＬＤモジュールに割り振ったときにそのＰＬＤモジュールの空き容量が所定値以下となるときには、いずれかの処理機能をＭＰＵモジュールに割り振ってＰＬＤモジュールの空き容量を所定値よりも大きくする一方で、フェイルセーフ処理機能はＰＵモジュールに割り振ることを抑制する。つまり、フェイルセーフ処理機能は、ＰＬＤモジュール側に割り振る。これにより、制御設計図に含まれる各処理機能をＭＰＵモジュール側とＰＬＤモジュール側とに適切に割り振りつつも、所定値よりも大きいＰＬＤモジュールの空き容量が確保される。
【００３０】
さらに、上記割り振り処理は、各処理機能をＭＰＵモジュールに割り振ったときの該ＭＰＵモジュールの空き容量を演算すると共に、その空き容量が所定値以下になるときには、上記ＭＰＵモジュールに割り振った浮動小数点演算処理機能をＰＬＤモジュールに割り振り直す処理であるとするのが好ましい。
【００３１】
上述したように、開発業務の効率化の観点からは、ＭＰＵモジュールの空き容量も、ＰＬＤモジュールと同様に所定値よりも大きくするのが好ましい。一方で、ＭＰＵモジュールでの実現に適した各処理機能（浮動小数点演算処理機能、及びマップ処理機能）をＭＰＵモジュールに割り振ると、ＭＰＵモジュールの空き容量が所定値以下となる場合も起こり得る。
【００３２】
そこで、割り振り処理では、上記の各処理機能をＭＰＵモジュールに割り振ったときの該ＭＰＵモジュールの空き容量を演算し、その空き容量が所定値以下になるときには、浮動小数点演算処理機能をＭＰＵモジュールに割り振り直す。浮動小数点演算処理機能はプログラムサイズが比較的大きいため、この浮動小数点演算処理機能をＰＬＤモジュール側に割り振り直すことで、ＭＰＵモジュールの空き容量を効果的に大きくすることが可能になる。こうして、制御設計図に含まれる各処理機能をＭＰＵモジュール側とＰＬＤモジュール側とに適切に割り振りつつも、所定値よりも大きいＰＬＤモジュールの空き容量が確保される。
【００３３】
加えて、上記割り振り処理は、各処理機能をＭＰＵモジュールに割り振ったときの該ＭＰＵモジュールの空き容量を演算すると共に、その空き容量が所定値以下になるときには、上記ＭＰＵモジュールに割り振ったいずれかの処理機能をＰＬＤモジュールに割り振り直す一方で、マップ処理機能のＰＬＤモジュールへの割り振りを抑制する処理とするのが好ましい。
【００３４】
上述したように、ＭＰＵモジュールでの実現に適した処理機能の内、マップ処理機能は設計上の変更頻度が大きい処理機能であり、このマップ処理機能はＭＰＵモジュールに割り振ることで開発業務の効率が高まる。このため、ＭＰＵモジュールでの実現に適した各処理機能をＭＰＵモジュールに割り振ったときにそのＭＰＵモジュールの空き容量が所定値以下となるときには、いずれかの処理機能をＰＬＤモジュールに割り振ってＭＰＵモジュールの空き容量を所定値よりも大きくする一方で、マップ処理機能はＰＬＤモジュールに割り振ることを抑制する。こうしてマップ処理機能以外の処理機能をＰＬＤモジュールに割り振ることで、制御設計図に含まれる各処理機能をＭＰＵモジュール側とＰＬＤモジュール側とに適切に割り振りつつも、所定値よりも大きいＭＰＵモジュールの空き容量が確保され、さらに、開発業務の効率を低下させることがなくなる。
【００３５】
本発明による制御用プログラムの作成支援方法は、ＭＰＵモジュールと、ＰＬＤモジュールとを含む制御ユニットに実行させる実行形式プログラムの作成支援を行う作成支援方法である。
【００３６】
そして、上記作成支援方法は、上記ＭＰＵモジュールの容量とＰＬＤモジュールの容量とのそれぞれをユーザに入力させる容量入力ステップと、上記制御ユニットに実行させる複数の処理機能を、所定のシンボルを用いた制御設計図として上記ユーザに入力させる設計図入力ステップと、上記容量入力ステップでユーザに入力させた容量に基づいて、上記ＭＰＵモジュールの空き容量とＰＬＤモジュールの空き容量とがそれぞれ所定値以下にならないように、上記設計図入力ステップでユーザに入力させた制御設計図に含まれる複数の処理機能を、上記ＭＰＵモジュールに実行させる処理機能と、ＰＬＤモジュールに実行させる処理機能とに割り振る割り振りステップと、上記割り振りステップで上記ＭＰＵモジュールに割り振った各処理機能を該ＭＰＵモジュールに実行させるための実行形式プログラムと、上記ＰＬＤモジュールに割り振った各処理機能を該ＰＬＤモジュールに実行させるための実行形式プログラムとをそれぞれ作成するプログラム作成ステップと、を含む。
【００３７】
この構成によると、上記制御用プログラムの作成支援プログラムと同様の作用効果が得られる。
【００３８】
本発明による制御用プログラムの作成支援装置は、ＭＰＵモジュールと、ＰＬＤモジュールとを含む制御ユニットに実行させる実行形式プログラムの作成支援を行う作成支援装置である。
【００３９】
そして、上記作成支援装置は、上記ＭＰＵモジュールの容量とＰＬＤモジュールの容量とのそれぞれをユーザに入力させる容量入力手段と、上記制御ユニットに実行させる複数の処理機能を、所定のシンボルを用いた制御設計図として上記ユーザに入力させる設計図入力手段と、上記容量入力手段によってユーザに入力させた容量に基づいて、上記ＭＰＵモジュールの空き容量とＰＬＤモジュールの空き容量とがそれぞれ所定値以下にならないように、上記設計図入力手段によってユーザに入力させた制御設計図に含まれる複数の処理機能を、上記ＭＰＵモジュールに実行させる処理機能と、ＰＬＤモジュールに実行させる処理機能とに割り振る割り振り手段と、上記割り振り手段によって上記ＭＰＵモジュールに割り振られた各処理機能を該ＭＰＵモジュールに実行させるための実行形式プログラムと、上記ＰＬＤモジュールに割り振られた各処理機能を該ＰＬＤモジュールに実行させるための実行形式プログラムとをそれぞれ作成するプログラム作成手段と、を備える。
【００４０】
この構成によると、上記制御用プログラムの作成支援プログラムと同様の作用効果が得られる。
【００４１】
【発明の効果】
以上説明したように、本発明による制御用プログラムの作成支援プログラム、作成支援方法及び作成支援装置によれば、入力された制御設計図に含まれる複数の処理機能が、ＭＰＵモジュールに実行させる処理機能と、ＰＬＤモジュールに実行させる処理機能とに割り振られかつ、ＭＰＵモジュールに実行させる実行形式プログラムと、ＰＬＤモジュールに実行させる実行形式プログラムとがそれぞれ作成される。このように、制御設計図に含まれる複数の処理機能がＭＰＵモジュール側とＰＬＤモジュール側とに自動的に割り振られるため、各処理機能を適切に割り振ることができる。その結果、プログラム作成の効率化を図ることができる。
【００４２】
また、上記の各処理機能は、ＭＰＵモジュールの空き容量とＰＬＤモジュールの空き容量とがそれぞれ所定値以下にならないように割り振られるため、制御設計図を一旦作成した後でも、その制御設計図を容易に変更することができ、開発業務の効率化を高めることができる。
【００４３】
【発明の実施の形態】
以下、本発明の実施形態を図面に基いて説明する。
【００４４】
図１は、本発明の一実施形態におけるプログラム作成支援装置Ａによるプログラムの作成及び検証作業の流れを説明する図である。
【００４５】
同図に示す破線より上側は、本実施形態に係るプログラム作成支援装置Ａの内部における処理を示しており、当該破線の下側は、チューニング対象の制御ボード（制御ユニット）１、その制御ボード１に搭載されるＰＬＤモジュール２及びＭＰＵモジュール３を示す。ここで、当該プログラム作成支援装置Ａを使用したプログラムの作成及び検証作業の手順について概説する。
【００４６】
（１）まず、作業者は、当該プログラム作成支援装置Ａの表示画面上で、制御ボード１で実現すべき制御動作を、制御設計ＣＡＤ図として入力する。次に、制御ボード１やその制御ボード１によって実際に制御する装置（例えばエンジン等）の特性モデルを予め入力した一般的なシミュレーションモジュールを使用して、当該制御設計ＣＡＤ図が所望する制御動作を実行可能な否かを仮想的に検証する。
【００４７】
（２）この検証作業が完了したときには、当該プログラム作成支援装置Ａにより、当該制御設計ＣＡＤ図を、予め記憶している高級言語（例えば、Ｃ言語）コード生成用のプログラムライブラリを使用して、ＭＰＵ用のプログラムコードと、ＰＬＤ用のプログラムコードとに自動的に変換する。このとき、上記制御設計ＣＡＤ図に含まれる各処理機能は、当該プログラム作成支援装置Ａにより、ＭＰＵモジュールに実行させる処理機能と、ＰＬＤモジュールに実行させる処理機能とに自動的に割り振られる（詳細については後述する）。更に、それら変換されたＣ言語等の高級言語のコードは、当該プログラム作成支援装置Ａにより、ＭＰＵ用のプログラムコードはコンパイラによって機械語に自動的に変換され、ＰＬＤ用のプログラムコードはＨＤＬに自動的に変換される。尚、高級言語コードの機械語へのコンパイル自体は一般的なため、詳細な説明は省略する。また、ここでは、Ｃ言語等の高級言語のコードに変換したＰＬＤ用のプログラムコードをＨＤＬに変換しているが、ＰＬＤ用のプログラムは、制御設計ＣＡＤ図から（Ｃ言語等の高級言語のコードに変換せずに）ＨＤＬに直接変換するようにしてもよい。
【００４８】
（３）次に、作業者は、生成された機械語をＭＰＵモジュール３のＲＯＭ等に書き込むと共に、生成されたＨＤＬをＰＬＤモジュール２に搭載される各ＰＬＤに書き込む。この書き込み作業自体は一般的なため、詳細な説明は省略する。
【００４９】
（４）次に、作業者は、プログラムの書き込みが完了した制御ボード１を使用して、実際に制御する装置（或いは、当該装置のエミュレータであってもよい）を動作させる検証作業を行う。この検証作業において不具合が発見された場合には、工程（１）で入力した制御設計ＣＡＤ図の変更を行うと共に、その変更した制御設計ＣＡＤ図を対象として、工程（２）以降の手順を改めて行えば良い。
【００５０】
図２は、本発明の一実施形態におけるプログラム作成支援装置Ａの表示画面に入力された制御設計ＣＡＤ図の一例を示す図である。作業者は、ブロックや矢線等により所望する制御動作を入力して制御設計ＣＡＤ図を作成する。このとき、作業者は、制御設計ＣＡＤ図に対して、当該制御設計ＣＡＤ図全体で表わす制御機能の基本制御周期、入力した個々のブロックの名称やそれらブロック毎の制御周期、並びに入出力ポートの定義や各種パラメータ等も設定する。
【００５１】
ここで、図２に示す制御設計ＣＡＤ図について簡単に説明する。この制御設計ＣＡＤ図には、ａ１〜ａ５の信号が入力されてｂ１，ｂ２の信号を出力するブロック４１と、ｂ１信号が入力されてａ１〜ａ３信号を出力するブロック４２と、ｂ２信号及びｃ１〜ｃ３信号が入力されてａ５信号を出力するブロック４３と、ａ４信号を出力するブロック４４との、４つのブロックが含まれている。上記ブロック４１には割り込み要求信号が入力され、上記各ブロック４２〜４４には、そのブロックの制御周期の信号が入力される。
【００５２】
例えば図２に示す制御設計ＣＡＤ図が、ディーゼルエンジンの燃焼制御系及び吸気制御系の制御プログラムに係る場合、上記ブロック４１は、コモンレールタイプの燃料噴射及び吸気量制御を行う制御本体ブロック４１に相当し、ブロック４２は、水温や吸気温等の応答の遅いセンサ検出値用のセンサ検出ブロック４２に相当し、ブロック４３は、例えばクランク角（気筒番号ｂ２）、コモンレール圧ｃ１、エアフロー流量ｃ２及びインテークマニホールド圧ｃ３等の応答の早いセンサ検出値用のセンサ検出ブロック４３に相当し、ブロック４４は、制御係数ａ４をまとめて制御本体ブロック４１に入力するキャリブレーション用ブロック４４に相当する。
【００５３】
制御設計ＣＡＤ図は、例えば図３に示すような階層構造に構成することが可能である。例えば図２に示す制御設計ＣＡＤ図が最上位層の制御設計ＣＡＤ図である場合には、その最上位層の制御設計ＣＡＤ図に含まれる各トップブロックを構成する下位層の制御設計ＣＡＤ図が存在する。この下位層の制御設計ＣＡＤ図には複数のサブブロックが含まれる。作業者は、下位層の制御設計ＣＡＤ図に含まれる各サブブロックについても制御動作等を設定する必要がある。また、所望する複数のサブブロックをまとめた１つのブロックを、１階層上位の１つのブロックとしてまとめることができる。
【００５４】
図４は、下位層の制御設計ＣＡＤ図の一例として、図２に示す制御設計ＣＡＤ図に含まれるブロック４３を構成する下位層の制御設計ＣＡＤ図を示している。
【００５５】
この制御設計ＣＡＤ図には、ｂ２信号が入力されてｄ１信号を出力する第１ブロック５１と、ｄ１信号が入力されてｆ１信号を出力する第２ブロック５２と、入力信号（ｃ１〜ｃ３）に対して所定値を乗算する乗算ブロック５６と、入力信号に対してテーブルを参照して信号（ｅ１〜ｅ３）を出力するテーブルブロック５７と、上記ｄ１信号及びｅ１〜ｅ３信号（Sample In）が入力されてそのSample In信号の積分値を出力（Integrated Signal）する第３〜第５ブロック５３〜５５とが含まれる。
【００５６】
図４に示す制御設計ＣＡＤ図が、ディーゼルエンジンの燃焼制御系及び吸気制御系の制御プログラムに係る場合、ｂ２信号は気筒番号に相当し、第１ブロック５１は、クランク角１８０°タイミングを出力（ｄ１）するブロックに相当する。第２ブロックは、クランク角１８０°の時間（ｆ１）を計測するブロックに相当する。
【００５７】
また、各乗算ブロック５６は、コモンレール圧力ｃ１、エアフロー流量ｃ２及びインテークマニホールド圧ｃ３のセンサ信号値が入力されてＡ／Ｄ値の電圧変換を行うブロックに相当し、テーブルブロック５７は、その各電圧値を物理量に変換するブロックに相当する。また、第３〜第５ブロックは、クランク角１８０°間の各センサ信号値（Sample In）の積分を行い、それを出力（Integrated Signal）するブロックに相当する。
【００５８】
図５は、下位層の制御設計ＣＡＤ図の一例として、図３に示す制御設計ＣＡＤ図に含まれる第１ブロック５１を構成する下位層の制御設計ＣＡＤ図を示している。
【００５９】
この制御設計ＣＡＤ図には、ｂ２信号が入力されてそのｂ２信号の前回値を出力するユニットディレイブロック６１と、入力されたｂ２信号とその前回値との比較を行い、その比較に応じてｄ１信号を出力するリレーショナルオペレータブロック６２とが含まれる。
【００６０】
図５に示す制御設計ＣＡＤ図が、ディーゼルエンジンの燃焼制御系及び吸気制御系の制御プログラムに係る場合、ｂ２信号は気筒番号に相当し、リレーショナルオペレータブロック６２は、入力された気筒番号（ｂ２）が前回と同じであればｄ１信号として「１」を出力し、入力された気筒番号（ｂ２）が前回と異なればｄ１信号として「０」を出力する。従って、第１ブロック５１は、気筒番号が異なる毎に「０」を出力するブロックであるため、４気筒エンジンにおいてクランク角１８０°タイミングを出力するブロックに相当する。
【００６１】
また、図６は、下位層の制御設計ＣＡＤ図の別の例として、図３に示す制御設計ＣＡＤ図に含まれる第３〜第５ブロック５３〜５５を構成する下位層の制御設計ＣＡＤ図を示している。
【００６２】
この制御設計ＣＡＤ図には、２つの入力値の内積を演算してそれを出力するドットプロダクトブロック７１と、ユニットディレイブロック７２と、２つの入力値の和を演算してそれを出力するブロック７３とが含まれている。
【００６３】
図６に示す制御設計ＣＡＤ図が、ディーゼルエンジンの燃焼制御系及び吸気制御系の制御プログラムに係る場合、Sample In信号はセンサ信号値に相当し、ｄ１はクランク角１８０°タイミング信号に相当する。ドットプロダクトブロック７１は、ユニットディレイブロック７２から出力された前回の積分値とｄ１信号（「０」又は「１」）との内積を演算し、ブロック７３は、この内積とセンサ信号値とを足し合わせる（前回の積分値＋センサ信号値）。従って、第３〜第５ブロック５３〜５５はそれぞれ、クランク角１８０°間のセンサ信号値の積分を出力するブロックに相当する。
【００６４】
次に、プログラム作成支援装置Ａのハードウエアについて、図７を参照しながら説明する。このプログラム作成支援装置Ａは、例えば一般的なコンピュータを採用可能である。
【００６５】
図中、２２は、ＣＲＴ等のディスプレイ、２３は入力手段であるキーボードである。２４は、ブートプログラム等を記憶しているＲＯＭである。２５は、各種処理結果を一時記憶するＲＡＭである。２６は、一般的なシミュレーション処理や、後述するプログラム作成処理を実現するプログラム等を記憶するハードディスクドライブ（ＨＤＤ）等の記憶装置である。２７は、外部の装置と通信回線３０を介して通信するための通信インタフェースである。そして２８は、作成した機械語をＭＰＵモジュールのＲＯＭ等への書き込みと、ＰＬＤモジュールを構成する個々のＰＬＤへのＨＤＬの書き込みを行う一般的な書き込みユニットである。これらの各構成は、内部バス２９を介して接続されており、ＣＰＵ２１は記憶装置２６に記憶したプログラムに従って当該プログラム作成支援装置Ａの全体を制御する。
【００６６】
次に、図８に示すフローチャートを参照しながら、上記プログラム作成支援装置Ａによるプログラム作成支援の手順について説明する。
【００６７】
先ずステップＳ１では、各種のデータ入力を行い、ステップＳ２では、ＭＰＵ情報及びＰＬＤ情報を入力させる（容量入力手段８１）。これは、具体的には、ＭＰＵモジュール３の容量及びＰＬＤモジュール２の容量を作業者に入力させる。
【００６８】
続くステップＳ３では、作業者に制御設計ＣＡＤ図を作成させる（設計図入力手段８２）。これにより、例えば図２及び図４〜図６に示す制御設計ＣＡＤ図が作成される。
【００６９】
ステップＳ４では、作業者から、上記ステップＳ３で作成した制御設計ＣＡＤ図について実行形式プログラムの作成指示がされたか否かを判定し、指示がされていないのＮＯのときには上記ステップＳ１〜ステップＳ３を繰り返す。一方、指示がされたのＹＥＳのときにはステップＳ５に移行する。
【００７０】
上記ステップＳ５では、作成された制御設計ＣＡＤ図の内容を分析する。これは、制御設計ＣＡＤ図をＣ言語のソースコードプログラムに変換した後に分析を行う。制御設計ＣＡＤ図からソースコードプログラムへの変換処理は、一般的であるため、その詳細な説明は省略する。尚、制御設計ＣＡＤ図の内容分析は、ソースコードプログラムに変換する前に行ってもよい。
【００７１】
そして、ステップＳ６で、その制御設計ＣＡＤ図に含まれる処理機能の内、フィルタ処理機能、パルス処理機能、Ｉ／Ｏデバイス関連処理機能、フェイルセーフ（Ｆ／Ｓ）処理機能、制御実行頻度の大きい処理、及び変更頻度の小さい処理機能を抽出する。ここで抽出した各処理機能の内、フィルタ処理機能、パルス処理機能及びＩ／Ｏデバイス関連処理機能は、ＰＬＤモジュール２の特性上、ＰＬＤモジュール２での実行に適した処理機能である。また、実行頻度が大きい処理機能やＦ／Ｓ処理機能は、処理をハード的に行うＰＬＤモジュール２で実現することにより、信頼性を向上させることができる。さらに、ＰＬＤモジュール２は一旦書き込んだプログラムの変更がＭＰＵモジュール３に比べて困難であるため、設計上（開発上）の変更頻度が大きい処理機能はＰＬＤモジュール２で実現するのは不適切である。このため、設計上の変更頻度が小さい処理機能をＰＬＤモジュール２で実現する。尚、制御実行頻度の大きい処理及び変更頻度の小さい処理機能は予めその候補が設定されており、その情報がプログラム作成支援装置Ａの例えば記憶装置２６に記憶されている。ステップＳ５では、記憶装置２６に記憶されている情報を参照して、作成された制御設計ＣＡＤ図に含まれる各処理機能が、制御実行頻度の大きい処理又は変更頻度の小さい処理機能に該当するか否かを判断する。
【００７２】
そして、ステップＳ５では、抽出した各処理機能をＰＬＤ用の実行形式プログラム（ＨＤＬ）にしたときのサイズを演算する。
【００７３】
続くステップＳ７では、制御設計ＣＡＤ図に含まれる各処理機能であって、上記ステップＳ６で抽出した以外の処理機能（ＭＰＵモジュール３の特性上、ＭＰＵモジュール３での実行に適した処理機能である浮動小数点演算処理機能や、設計上の変更頻度の大きい処理機能の一つであるマップ処理機能が含まれる）を、ＭＰＵ用の実行形式プログラムにしたときのサイズを演算する。
【００７４】
そして、ステップＳ８では、上記ステップＳ６で演算したプログラムサイズとステップＳ２で入力されたＰＬＤモジュール２の容量とに基づいて、ステップＳ６で抽出した各処理機能をＰＬＤモジュール２側に割り振ったときに、そのＰＬＤモジュール２の空き容量が所定値以下となるか否かを判定する。所定値以下となるとき（ＹＥＳのとき）にはステップＳ９に移行し、所定値以下とならないとき（ＮＯのとき）にはステップＳ１０に移行する。
【００７５】
ステップＳ９では、ＰＬＤモジュール２側に割り振った各処理機能の内、Ｆ／Ｓ処理機能以外の処理機能を抽出する。特に、フィルタ処理機能を抽出する。また、フィルタ処理機能の内でも次数の高いフィルタ処理機能を優先して抽出する。そして、その抽出したフィルタ処理をＭＰＵモジュール３側に割り振り直す。割り振り直した結果、ＰＬＤモジュール２の空き容量が未だ所定値以下であるときには、ＰＬＤモジュール２の空き容量が所定値よりも大きくなるまで、次数の高い順にフィルタ処理機能を抽出して、それをＭＰＵモジュール３側に順次割り振り直す。こうして、ＰＬＤモジュール２の空き容量が所定値以上となれば、ステップＳ１２に移行する。尚、ＭＰＵモジュール３側に割り振り直す処理機能はフィルタ処理機能には限る必要はないが、少なくともＦ／Ｓ処理機能をＭＰＵモジュール３側に割り振ることは抑制する。
【００７６】
一方、ステップＳ１０では、上記ステップＳ７で演算したプログラムサイズとステップＳ２で入力されたＭＰＵモジュール３の容量とに基づいて、ステップＳ７で抽出した各処理機能をＭＰＵモジュール３側に割り振ったときに、そのＭＰＵモジュール３の空き容量が所定値以下となるか否かを判定する。所定値以下となるとき（ＹＥＳのとき）にはステップＳ１１に移行し、所定値以下とならないとき（ＮＯのとき）にはステップＳ１２に移行する。
【００７７】
ステップＳ１１では、ＭＰＵモジュール３側に割り振った各処理機能の内、浮動小数点処理機能を抽出して、それをＰＬＤモジュール２側に割り振り直す。割り振り直した結果、ＭＰＵモジュール３の空き容量が所定値以下となるときには、ＭＰＵモジュール３の空き容量が所定値よりも大きくなるまで、このＭＰＵモジュール３に割り振られた他の処理機能を抽出する。但しこのとき、マップ処理機能は抽出しない。そして、抽出した処理機能をＰＬＤモジュール２側に割り振り直し、それによってＭＰＵモジュール３の空き容量が所定値以上となれば、ステップＳ１２に移行する。従って、ステップＳ５〜ステップＳ１１が割り振り手段８３に対応する。
【００７８】
上記ステップＳ１２では、ＰＬＤモジュール２側に割り振られた各処理機能を実行するためのソースコードプログラムをＨＤＬに変換し、ＭＰＵモジュール３側に割り振られた各処理機能を実行するためのソースコードプログラムを機械語に変換する（プログラム作成手段８４）。ソースコードプログラムからＨＤＬへの変換処理は、特許文献１の記載に準じて行えばよく、その詳細は特許文献１を参照するとして、ここではその説明を省略する。
【００７９】
尚、上記ステップＳ８〜ステップＳ１１の割り振り処理において、ＰＬＤモジュール２の空き容量及びＭＰＵモジュール３の空き容量が共に所定値よりも大きくならないときには、ＰＬＤモジュール２及び／又はＭＰＵモジュール３をさらに大容量のものに取り替える。そして、ステップＳ２に戻って新たなＭＰＵモジュール３の容量及びＰＬＤモジュール２の容量を再入力した上で、その後の各ステップを繰り返せばよい。
【００８０】
このように、本実施形態では、制御ボード１に実行させるための制御設計ＣＡＤ図を作成すれば、プログラム作成支援装置Ａによって、上記制御設計ＣＡＤ図に含まれる複数の処理機能が、ＭＰＵモジュール３に実行させる処理機能と、ＰＬＤモジュール２に実行させる処理機能とに割り振られる。具体的には、制御設計ＣＡＤ図に含まれる、少なくともフィルタ処理機能、パルス処理機能、Ｉ／Ｏデバイス関連処理機能、フェイルセーフ処理機能、設計上の変更頻度が小さい処理機能、及び実行頻度が大きい処理機能がＰＬＤモジュールに割り振られ、少なくとも浮動小数点演算処理機能、及びマップ処理機能がＭＰＵモジュールに割り振られる。このように、作業者が制御設計ＣＡＤ図に含まれる処理機能の割り振りを行わなくても、複数の処理機能がＭＰＵモジュール側とＰＬＤモジュール側とに自動的に割り振られるため、ソフトウエアの専門的知識に乏しい作業者が制御設計ＣＡＤ図を作成しても、その制御設計ＣＡＤ図に含まれる各処理機能を適切に割り振ることができる。
【００８１】
また、プログラム作成支援装置Ａは、各処理機能を割り振る際には、ＭＰＵモジュール３の空き容量とＰＬＤモジュール２の空き容量とがそれぞれ所定値以下にならないように、各処理機能を割り振る。具体的には、ＰＬＤモジュール２での実行に適した上記の処理機能をＰＬＤモジュール２に割り振ったときの、そのＰＬＤモジュール２の空き容量を演算し、ＰＬＤモジュール２の空き容量が所定値以下となるときには、ＰＬＤモジュール２側に割り振った処理機能の一部をＭＰＵモジュール３側に割り振り直す。
【００８２】
このとき、ＰＬＤモジュール２での実行に適した処理機能の内でも、ＭＰＵモジュール３での実行に比較的適した、フィルタ処理機能をＭＰＵモジュール３側に割り振る。また、フィルタ処理機能の内でも、次数の高いフィルタ処理機能から順にＭＰＵモジュール３側の割り振る。一方で、信頼性の観点から、Ｆ／Ｓ処理機能のＭＰＵモジュール３への割り振りは抑制する。
【００８３】
逆に、ＭＰＵモジュール３での実行に適した上記の処理機能をＭＰＵモジュール３に割り振ったときの、そのＭＰＵモジュール３の空き容量を演算し、ＭＰＵモジュール３の空き容量が所定値以下となるときには、ＭＰＵモジュール３側に割り振った処理機能の一部をＰＬＤモジュール２側に割り振り直す。
【００８４】
このとき、ＭＰＵモジュール３での実行に適した処理機能の内でも、浮動小数点演算処理機能をＰＬＤモジュール２側に割り振る。これにより、ＭＰＵモジュール３の空き容量を効果的に増やすことができる。また、マップ処理機能のＰＬＤモジュール２への割り振りは抑制する。このようにマップ処理機能はＭＰＵモジュール３に割り振ることで、マップを設計（開発）途中にで容易に変更させることが可能になり、開発業務の効率を向上させることができる。
【００８５】
このようにして制御設計ＣＡＤ図に含まれる各処理機能をＭＰＵモジュール３側とＰＬＤモジュール２側とに適切に割り振りつつも、ＰＬＤモジュール２及びＭＰＵモジュール３の空き容量を所定値よりも大きくすることができ、例えば作成した制御用プログラムを実機にて検証・調整する工程において、各処理機能の変更や処理機能の追加の必要が明らかになり、制御設計ＣＡＤ図を変更する場合、言い換えると、ＰＬＤモジュール２及び／又はＭＰＵモジュール３に書き込まれるプログラムのサイズが変更される場合でも、その変更に対応可能になる。その結果、開発業務の効率化を高めることができる。
【図面の簡単な説明】
【図１】本発明の実施形態におけるプログラム作成支援装置Ａによるプログラムの作成及び検証作業の流れを説明する図である。
【図２】制御設計ＣＡＤ図の一例を示す図である。
【図３】制御設計ＣＡＤ図の階層構造を説明する図である。
【図４】下位層の制御設計ＣＡＤ図の一例を示す図である。
【図５】さらに下位層の制御設計ＣＡＤ図の一例を示す図である。
【図６】図５とは異なる下位層の制御設計ＣＡＤ図の一例を示す図である。
【図７】プログラム作成支援装置Ａのブロック構成図である。
【図８】プログラム作成支援の処理を示すフローチャートである。
【符号の説明】
１            制御ボード（制御ユニット）
２            ＰＬＤモジュール
３            ＭＰＵモジュール
８１          容量入力手段
８２          設計図入力手段
８３          割り振り手段
８４          プログラム作成手段
Ａ            作成支援装置
【図１】
2004213183.tif 000003
【図２】
2004213183.tif 000004
【図３】
2004213183.tif 000005
【図４】
2004213183.tif 000006
【図５】
2004213183.tif 000007
【図６】
2004213183.tif 000008
【図７】
2004213183.tif 000009
【図８】
2004213183.tif 000010